Compare commits

...

6610 Commits

Author SHA1 Message Date
Carson Woods
ddc413ead0 Update commands auto completion 2020-04-30 00:58:38 -04:00
Carson Woods
66cb1dd94c Add shared package installs feature 2020-04-30 00:55:03 -04: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
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
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
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
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
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
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
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
Seth R. Johnson
629c69d383 Automatically run LLDB codesign script on mac (#15169)
Newer versions of LLVM provide a one-line command to set up LLDB code
signing. Now the build will abort only if this command fails.

https://lldb.llvm.org/resources/build.html#code-signing-on-macos
2020-02-22 13:09:22 -06:00
darmac
0ea6bab984 add new package : brltty (#15161) 2020-02-22 09:02:34 -06:00
darmac
50b5e6b94b add new package : audit-userspace (#15163) 2020-02-22 09:01:27 -06:00
darmac
1a479b5e9e add new package : apachetop (#15164) 2020-02-22 09:00:55 -06:00
darmac
3104bfe93e add new package : advancecomp (#15166) 2020-02-22 08:59:26 -06:00
darmac
f961f64215 add new package : acpid (#15167) 2020-02-22 08:58:54 -06:00
darmac
9f2cee43cf lighttpd : fix pcre depends (#15168) 2020-02-22 08:58:25 -06:00
Massimiliano Culpo
82be8965f2 Emit a sensible error message if compiler's target is overly specific (#14888)
* Emit a sensible error message if compiler's target is overly specific

fixes #14798
fixes #13733

Compiler specifications require a generic architecture family as
their target. This commit improves the error message that is
displayed to users if they edit compilers.yaml and use an overly
specific name.
2020-02-21 14:50:54 -08:00
Cody Balos
16a9464b5c sundials: add version 5.1.0 and trilinos variant (#15155)
* sundials: add version 5.1.0 and trilinos variant

* sundials: add version 5.1.0 and trilinos variant
2020-02-21 14:54:27 -06:00
Robert Blake
6764a9464d Changes necessary to build lbann@develop (#15153)
* Necessary changes to get lbann develop to compile.

* Reformatting for flake8

* More flake8 changes.

* Removing redundant clara dependency.
2020-02-21 14:42:37 -06:00
Erik Schnetter
6d8e0699f4 shtools: New package (#15133)
* shtools: New package

* shtools: Convert to MakefilePackage, use Spack's generic compiler flags

* shtools: Make function location explicit
2020-02-21 14:30:25 -06:00
iarspider
0bc4a778bd Add extra version of py-jsonschema (#14993)
* Add extra version of py-jsonschema

* Update dependencies

* Update dependencies + flake8

* Add py-pyrsistent package

* Update package.py

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

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

* Update package.py

* Update package.py

* Apply suggestions from code review

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

* Apply suggestions from code review

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-21 14:29:42 -06:00
Erik Schnetter
4a5c64ab6e amrex: New version 20.02 (#15132) 2020-02-21 12:52:19 -06:00
Robert Blake
abfdabd34e Updating raja versions. (#15148) 2020-02-21 12:41:39 -06:00
Tim Haines
b399761106 Add clang compiler (#15152) 2020-02-21 12:32:55 -06:00
Nichols A. Romero
065cbf1bbe QE+QMCPACK Converter Update February 2020 (#15135)
* Add a variant to QE that suppresses upstream patching. Need in order to do ddependency patching.

* QE variant fails to build often. Set default variant to False as a user friendly change.

* QMCPACK converter patch collides with internal QE patches. Deactivate internal patches when performing dependency patching.

* Clearer description of QE patch variant that is also flake8 compliant.
2020-02-21 12:11:35 -06:00
Seth R. Johnson
08b5264607 Disable qt3d when opengl is disabled (#15149)
* Disable qt3d when opengl is disabled

* Remove `-skip qtquick3d` unless QT 5.14

Found while checking build of qt 5.14.
2020-02-21 12:11:12 -06:00
iarspider
fabd8693b9 Add extra version of py-sqlalchemy (#15109)
* Add extra version of py-sqlalchemy

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Apply suggestions from code review

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

* Update package.py

* Update package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-21 12:10:27 -06:00
Tamara Dahlgren
38fc441a36 Updated installer module copyright (#15138)
Update the copyright for `installer.py`.
2020-02-20 16:55:42 -08:00
Andrew Kamal
48375adf17 Add decentralized-internet package (#15129)
* Create package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

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

Commit suggestion

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

* Update package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-20 18:21:29 -06:00
Tamara Dahlgren
a03b252522 Restore package-related unsigned binary changes from PR 11107 (#15134)
Restore package-related unsigned binary changes from PR 11107
2020-02-20 14:03:47 -08:00
Peter Scheibel
2e387ef585 Package hashing: fix detection of directives (#14763)
The hashing logic looks for function calls that are Spack directives.
It expects that when a Spack directive is used that it is referenced
directly by name, and that the directive function is not itself
retrieved by calling another function. When the hashing logic
encountered a function call where the function was determined
dynamically, it would fail (attempting to access a name attribute
that does not happen to exist in this case).

This updates the hashing logic to filter out function calls where the
function is determined dynamically when looking for uses of Spack
directives.
2020-02-20 13:45:58 -08:00
Anthony Scemama
01bda12692 libf77zmq (#15125)
* libf77zmq

* Cleaning mkdirp

* Removed install function

* Renamed to f77-zmq

* Fixed Flake8

* Fixed Flake8
2020-02-20 15:34:25 -06:00
iarspider
c5134ff4f2 Add extra version of py-terminado (#15111)
* Add extra version of py-terminado

* Update package.py

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-20 15:30:43 -06:00
iarspider
19af86592b Add extra version of py-tornado; update dependencies (#15112)
* Add extra version of py-tornado

* Update package.py

* Update package.py

* Update package.py
2020-02-20 15:29:54 -06:00
iarspider
ea9aa2c7cb Add extra version of py-typing (#15113)
* Add extra version of py-typing

* Update package.py

* Fix typo

* Update package.py
2020-02-20 15:29:12 -06:00
iarspider
0d84ee6c68 Add extra version of py-sympy (#15110)
* Add extra version of py-sympy

* Update package.py
2020-02-20 15:28:45 -06:00
iarspider
e4968a495d Add extra version of py-widgetsnbextension (#15105)
* Add extra version of py-widgetsnbextension

* Update dependency version

* Update package.py

* Update package.py

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-20 15:28:09 -06:00
iarspider
c784799895 Add extra version of py-urllib3 (#15114)
* Add extra version of py-urllib3

* Update package.py

* Update package.py

* Update package.py

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-20 15:27:39 -06:00
iarspider
b5b19084de Add extra version of py-wheel (#15116)
* Add extra version of py-wheel

* Update package.py

* Update package.py
2020-02-20 15:26:59 -06:00
iarspider
8b72cb64dd Add extra version of vc (#15119)
* Add extra version of vc

* Update package.py

* Update package.py

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

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

* Update package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-20 15:26:07 -06:00
Patrick Gartung
dd0e18d7b8 Use get_spec in relocated _try_install_from_binary_cache (#15131)
* Use get_spec in relocated _try_install_from_binary_cache
2020-02-20 13:07:32 -08:00
Massimiliano Culpo
d1929b2ea7 Compilers require an exact match on version during concretization (#14752)
Spack now requires an exact match of the compiler version
requested by the user. A loose constraint can be given to
Spack by using a version range instead of a concrete version
(e.g. 4.5: instead of 4.5).
2020-02-20 12:20:12 -08:00
Seth R. Johnson
a1e3a1653a Mark binutils-related conflicts (#15075)
* Mark conflicts with binutils on darwin

* Explicitly require binutils bootstrapping and mark conflict with nvptx

* Disable gold variant by default on darwin
2020-02-20 12:00:48 -06:00
snehring
f5b5036ad5 adding package igv (#15096)
* igv: adding package igv

* removing some remaining initial boilerplate

* changing path construction to be more correct

* adding in type for java dep, also forgot about prefix.bin etc
2020-02-20 11:45:57 -06:00
iarspider
40410102d2 Add extra version of py-werkzeug (#15115) 2020-02-20 11:35:28 -06:00
iarspider
b538885b08 Add extra version of py-wrapt (#15117) 2020-02-20 11:31:53 -06:00
iarspider
d9b8a9a8b3 Add extra version of py-zipp (#15118)
* Add extra version of py-zipp

* Update package.py
2020-02-20 11:31:01 -06:00
iarspider
545c436d33 Add extra version of xrootd (#15124) 2020-02-20 10:55:37 -06:00
iarspider
0ea7b83e71 Add extra version of py-setuptools (#15106) 2020-02-20 09:58:19 -06:00
iarspider
186ca13cf0 Add extra version of vecgeom (#15121) 2020-02-20 09:57:33 -06:00
iarspider
674c4379ee Add extra version of xapian-core (#15122) 2020-02-20 09:57:07 -06:00
iarspider
308a6bc601 Add extra version of xerces-c (#15123) 2020-02-20 09:56:47 -06:00
iarspider
43f8e9a260 Add extra version of prometheus-client (#15067)
* Add extra version of py-prometheus-client

* Update package.py

* Update package.py
2020-02-20 09:55:39 -06:00
iarspider
98895297b5 Add extra version of py-py4j (#15065)
* Add extra version of py-py4j

* Add test dependencies

* Update package.py
2020-02-20 09:55:15 -06:00
iarspider
64887e4821 Add extra version of py-sip (#15108) 2020-02-20 09:53:38 -06:00
iarspider
4e2a5388ac Add extra version of py-qtconsole (#15083)
* Add extra version of py-qtconsole

* Update package.py

* Update package.py
2020-02-20 09:53:04 -06:00
iarspider
9a5fa90c25 Add extra version of py-pyshp (#15072)
* Add extra version of py-pyshp

* Update package.py
2020-02-20 09:52:23 -06:00
Anthony Scemama
d98b98aae6 Package for IRPF90 (#15076)
* Added IRPF90 package

* PEP8

* SHA256

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-20 09:50:21 -06:00
iarspider
4d62dda17a Add extra version of py-multiprocess (#15043)
* Add extra version of py-multiprocess

* Update dependency version

* Add url_for_version

* Flake-8

* Update package.py
2020-02-19 23:11:49 -06:00
iarspider
a02aadb4db Add extra version of py-packaging (#15047)
* Add extra version of py-packaging

* Update py-packaging

`attrs` dependency was only in 19.1
2020-02-19 23:09:45 -06:00
Dr. Christian Tacke
22a56a89c7 Use shutil.copy2 in install_tree (#15058)
Sometimes one needs to preserve the (relative order) of
mtimes on installed files.  So it's better to just copy
over all the metadata from the source tree to the install
tree. If permissions need fixing, that will be done anyway
afterwards.

One major use case are resource()s:
They're unpacked in one place and then copied to their
final place using install_tree(). If the resource is a
source tree using autoconf/automake, resetting mtimes
uncorrectly might force unwanted autoconf/etc calls.
2020-02-19 23:09:26 -06:00
iarspider
a47ab9c6b2 Add extra version of py-psutil (#15063)
* Add extra version of py-psutil

* Add optional dependency on enum34

* Update package.py

* Remove unused enum variant
2020-02-19 23:09:07 -06:00
iarspider
ef9ab2ebc4 Add extra version of py-ptyprocess (#15064) 2020-02-19 23:08:30 -06:00
iarspider
0be09abd9c Add extra version of py-pylint (#15068)
* Add extra version of py-pylint

* Update dependencies
2020-02-19 23:04:11 -06:00
Dr. Christian Tacke
66c3f89b78 libfabric: Always install fabtests (#15081)
libfabric used to install fabtests only when installed
using --test. fabtests has tools that are useful on a
running system, so they should be installed always.

* Rewrote the build/install part to always install
  fabtests alongside libfabric.
* Updated a few fabtests resources.
* Updated the test related stuff. Works for most versions
  now.
* Include tcp and udp fabrics so that the test suite works.
2020-02-19 22:59:16 -06:00
iarspider
47e8084fab Add extra version of py-python-gitlab (#15074)
* Add extra version of py-python-gitlab

* Update dependency version
2020-02-19 22:56:10 -06:00
iarspider
d9d863330b Add extra version of py-rsa (#15084) 2020-02-19 22:55:12 -06:00
iarspider
e258326133 Add extra version of py-scandir (#15085) 2020-02-19 22:54:07 -06:00
Adam J. Stewart
7a60a04402 Docs: configure_args -> cmake_args (#15102) 2020-02-19 22:48:56 -06:00
Mark W. Krentel
9b221d26b8 hpctoolkit: adjust libunwind dependency (#15099)
Change hpctoolkit's dependency on libunwind from 2018.10.12 to 1.4:.
In libunwind, 2018.10.12 is going away in favor of 1.4-rc1 (they're
nearly identical commits).

Remove the 'gpu' version.  This was a temporary branch that is now
folded into master.
2020-02-19 18:42:51 -06:00
Glenn Johnson
4cd1a5660e py-notebook: make py-setuptools a run dependency (#15095)
* py-notebook: make py-setuptools a run dependency

The py-setuptools dependency in py-notebook needs to be a run
dependency. The following message is received if it is not in the run
environment.

Traceback (most recent call last):  File "/opt/ssoft/apps/2020.1/linu
x-centos7-sandybridge/gcc-9.2.0/py-notebook-6.0.1-6usbn4c/bin/jupyter-notebook",
line 6, in <module>
    from pkg_resources import load_entry_point
Module NotFoundError: No module named 'pkg_resources'

* Remove extraneous whitespace
2020-02-19 18:41:27 -06:00
Oliver Breitwieser
65133daad7 Fix relocate.mime_type if slashes in subtype (#11788)
If the mimetype returned from `file -h -b --mime-type` contains slashes
in its subtype, the tuple returned from `spack.relocate.mime_type` will
have a size larger than two, which leads to errors.

Change-Id: I31de477e69f114ffdc9ae122d00c573f5f749dbb
2020-02-19 17:30:17 -06:00
iarspider
8825335056 Add extra version of py-scikit-learn (#15087) 2020-02-19 14:51:25 -06:00
iarspider
d1cbc14022 Add extra version of py-prompt-toolkit (#15062) 2020-02-19 14:50:30 -06:00
iarspider
f4d91cc3ec Add extra version of py-pickleshare (#15059)
* Add extra version of py-pickleshare

* Fix dependencies

* Flake-8
2020-02-19 13:37:36 -06:00
iarspider
c969fffbf0 Add extra version of py-pillow (#15060) 2020-02-19 13:35:22 -06:00
iarspider
1d986c3790 Add extra version of py-pip (#15061) 2020-02-19 13:34:56 -06:00
iarspider
f9b857f1b0 Add extra version of py-pyasn1 (#15066) 2020-02-19 13:32:23 -06:00
iarspider
3331b70f20 Add extra version of py-pyparsing (#15069) 2020-02-19 13:29:43 -06:00
iarspider
0c8738a860 Add extra version of py-pyproj (#15070) 2020-02-19 13:28:56 -06:00
iarspider
31f9b66e18 Add extra version of py-pyqt5 (#15071) 2020-02-19 13:28:24 -06:00
iarspider
dc46e219d1 Add extra version of py-pytest (#15073) 2020-02-19 13:26:18 -06:00
iarspider
129256de52 Add extra version of py-pytz (#15077) 2020-02-19 13:25:45 -06:00
iarspider
44c01e6b70 Add extra version of py-pyyaml (#15078) 2020-02-19 13:25:23 -06:00
iarspider
f46f238a33 Add extra version of py-jedi (#14990)
* Add extra version of py-jedi

* Update package.py

* Update package.py

Correct dependency types

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

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

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

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

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

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

* Add py-parso package

* Remove boilerplate from py-parso

* Flake-8

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-19 13:01:48 -06:00
iarspider
d3b1248c2d Add extra version of py-isort (#14988)
* Add extra version of py-isort

* Update package.py

* Update package.py

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

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

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

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

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-19 12:59:45 -06:00
iarspider
eac6c53afb Add extra version of py-dask; add new variant and dependencies (#14973)
* Add extra version of py-dask

* Update package.py

* Add extra dependencies for py-dask+distributed

* Update package.py

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

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

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

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

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

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

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

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

* Update package.py

* Update package.py

* Update package.py

* Update package.py

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

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

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

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

* Update package.py

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

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

* Update package.py

* Flake-8

* Add patch step for py-distributed

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-19 12:59:03 -06:00
iarspider
e9862671c9 Add extra version of py-pyzmq (#15080) 2020-02-19 12:56:57 -06:00
Seth R. Johnson
2dac7b60a9 Fix gcc 8.3 build on macOS 10.14 (#15089) 2020-02-19 12:50:32 -06:00
Patrick Gartung
14025e89f6 Buildcache: join rpaths returned by get_existing_elf_rpaths with ':'. (#15086)
This reproduces the behavior expected by patchelf_is_relocatable test.
2020-02-19 11:41:02 -06:00
Tamara Dahlgren
f2aca86502 Distributed builds (#13100)
Fixes #9394
Closes #13217.

## Background
Spack provides the ability to enable/disable parallel builds through two options: package `parallel` and configuration `build_jobs`.  This PR changes the algorithm to allow multiple, simultaneous processes to coordinate the installation of the same spec (and specs with overlapping dependencies.).

The `parallel` (boolean) property sets the default for its package though the value can be overridden in the `install` method.

Spack's current parallel builds are limited to build tools supporting `jobs` arguments (e.g., `Makefiles`).  The number of jobs actually used is calculated as`min(config:build_jobs, # cores, 16)`, which can be overridden in the package or on the command line (i.e., `spack install -j <# jobs>`).

This PR adds support for distributed (single- and multi-node) parallel builds.  The goals of this work include improving the efficiency of installing packages with many dependencies and reducing the repetition associated with concurrent installations of (dependency) packages.

## Approach
### File System Locks
Coordination between concurrent installs of overlapping packages to a Spack instance is accomplished through bottom-up dependency DAG processing and file system locks.  The runs can be a combination of interactive and batch processes affecting the same file system.  Exclusive prefix locks are required to install a package while shared prefix locks are required to check if the package is installed.

Failures are communicated through a separate exclusive prefix failure lock, for concurrent processes, combined with a persistent store, for separate, related build processes.  The resulting file contains the failing spec to facilitate manual debugging.

### Priority Queue
Management of dependency builds changed from reliance on recursion to use of a priority queue where the priority of a spec is based on the number of its remaining uninstalled dependencies.  

Using a queue required a change to dependency build exception handling with the most visible issue being that the `install` method *must* install something in the prefix.  Consequently, packages can no longer get away with an install method consisting of `pass`, for example.

## Caveats
- This still only parallelizes a single-rooted build.  Multi-rooted installs (e.g., for environments) are TBD in a future PR.

Tasks:
- [x] Adjust package lock timeout to correspond to value used in the demo
- [x] Adjust database lock timeout to reduce contention on startup of concurrent
    `spack install <spec>` calls
- [x] Replace (test) package's `install: pass` methods with file creation since post-install 
    `sanity_check_prefix` will otherwise error out with `Install failed .. Nothing was installed!`
- [x] Resolve remaining existing test failures
- [x] Respond to alalazo's initial feedback
- [x] Remove `bin/demo-locks.py`
- [x] Add new tests to address new coverage issues
- [x] Replace built-in package's `def install(..): pass` to "install" something
    (i.e., only `apple-libunwind`)
- [x] Increase code coverage
2020-02-19 00:04:22 -08:00
Nichols A. Romero
2f4881d582 Add latest 3.9.x releases QMCPACK (#15056) 2020-02-18 23:50:07 -06:00
Kai Torben Ohlhus
26ad754f42 octave: enable 64-bit BLAS builds. (#15035)
* octave: enable 64-bit BLAS builds.

Perform necessary actions [as described in the manual](https://octave.org/doc/v5.2.0/Compiling-Octave-with-64_002dbit-Indexing.html).

* Update package.py
2020-02-18 23:49:27 -06:00
noguchi-k
4c215d1fed modern-wheel: add virtual destructor to BaseMultiParms class (#14899)
* modern-wheel: add virtual destructor

* modern-wheel: add maintainers
2020-02-18 23:48:46 -06:00
Tyler Reddy
a92543803c ENH: add catch2 CMake install (#15008)
* ENH: add catch2 CMake install

* add a variant allowing catch2 to be installed
via CMake, which is useful for generating a .cmake
config file for consumption by other projects

* Catch2: Simplify Package

- CMake install is also single-header for new releases
- testing triggered by Spack's test mechanism
- default to CMake build (better than simple copy, which is
  just for old releases to be installed)

* Catch: Remove Variant

We can control all installs with CMake to be quick and complete.
Old versions prior to 1.7.0 will be manually installed, as the
`make install` target is missing in those.
Releases 1.7.0-1.9.3 do not expose control over test builds.

* openPMD-api: Catch Lost single_header

... variant is gone :)

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2020-02-18 23:48:24 -06:00
eugeneswalker
0ea220db83 slate needs mercurial for build (#15055) 2020-02-18 15:26:31 -08:00
Hadrien G
11340a332d [hepmc] Finish the HepMC3 spackage update (#15036)
* Finish the HepMC3 spackage update

- Update CMake requirement per latest master
- Account for Python variant, add python dependency if used
- Account for ROOT I/O variant, add ROOT dependency if used

* Please flake8
2020-02-18 16:04:59 -06:00
Glenn Johnson
3ee0295fb2 Update and simplify julia package (#14756)
* Update and simplify julia package

The current Spack Julia package potentially installs a few julia
packages, with the installation being controlled by variants. There are
a couple of problems with this.

First, Julia handles packages very differently from systems such as R
and Python. Julia requires write access to the repository directories in
order for user installs of packages to work. If spack installs julia
packages then there will be a repository, DEPOT_PATH, in the
installation directory. If spack is used on an individual basis this
would work but would mean that package data is written to the spack
installation directory after installation. If spack is used to provide
packages for end users then user installs of julia packages will fail
due to lack of write access to the repository in the installation
directory. It seems best for spack to just install julia without any
julia packages, and drop the configuration for those packages.

Second, having spack install package as variants seems to be counter to
how spack works for other extendable systems, like R and Python. Julia
should be an extendable package in spack but it is not clear how to make
that work. As pointed out above, installing user packages requires write
access to the julia repositories, including the one in the install
directory. Essentially, a user package installation will try to update
metadata for *all* julia repositories.  Furthermore, each of those
repositories, assuming one per package with spack, would need to have
the Project.toml files merged to present the package stack to julia.
Again, it seems best for spack to just install julia itself and not try
to install julia packages, at least at this time. A good discussion on
this can be found at

https://discourse.julialang.org/t/how-does-one-set-up-a-centralized-julia-installation/13922.

This PR does the following:

- adds versions 1.2.0 and 1.3.1
- removes variants that correspond to julia packages
- changes python to build dependency as it seems to only be needed for
  LLVM
- the new versions can use Python-3
- removes dependencies for packages
- adds a conflict statement for Intel compiler, with comment
- add a setup_build_environment method to find GCC libraries
- make formatting consistent
- adds JULIA_CPU_TARGET option to correspond with target to help with
  running julia image on hardware older than build host
- added intel build options, for when they can be used
- removed code for installing packages
- removed code for julia config that was needed for packages

Note that versions below 0.5.1 fail to build, with or without these
changes. It is not clear why that is.

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

Yes, need to use correct grammar even in the midst of numbers and symbols. Good catch!

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

* More cleanup of Julia package

This commit does more cleanup and sets more constraints.

- Removed release-0.4 and release-0.5. I am not sure if those are
  actually useful but they are quite old and there are released versions
  from the same timeframe.
- Remove the binutils variant.
- Made cmake a build dependency for versions >= 1.
- Added git as a dependency for @master.
- Limit curl dependency to released versions.
- Do not use external curl for master. When I checked, using the
  external version failed but the internal curl worked.
- Versions <= 0.5.0 need an older version of openssl.
- Set conflicts directive for cxx variant.
- Added conflicts directive for needing +mkl with Intel compiler.
- Removed configuration settings as these prevented julia from working
  properly in all cases that I looked at.

* Fix flake8 error

Remove 'import sys' that is no longer used.

* More dependency tweaks

This commit sets further version constraints on dependencies. It really
looks like julia requires its internal dependencies more over time.

- curl only up to 0.5.0
- openssl only up to 0.5.0
- override with system curl up to version 0.5.0

* Fix spec for curl certs

Only depending on curl through 0.5.0.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 15:59:09 -06:00
Patrick Gartung
6f95967e95 buildcache: Check for tar.bz2 and set tar.gz if not found (#15054)
* Check for tar.bz2 and set tar.gz if not found

* Move check for tarfile after it is extracted
2020-02-18 15:49:55 -06:00
iarspider
53238af2dc Add extra version of py-cryptography (#14975)
* Add extra version of py-cryptography

* Update package.py

* Update package.py

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

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

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

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

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

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

* Update package.py

* Flake-8

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 14:26:02 -06:00
Elsa Gonsiorowski, PhD
813bfcfcbd ROSS: v7.2.0 and branches to match (#15052) 2020-02-18 14:25:37 -06:00
Seth R. Johnson
893f76da53 Fix OpenBLAS 0.3.8 build on darwin (#15041)
* Fix OpenBLAS 0.3.8 build on darwin

See https://github.com/xianyi/OpenBLAS/issues/2431, patched in
https://github.com/xianyi/OpenBLAS/issues/2431 .

* Add references for patchfile
2020-02-18 14:23:54 -06:00
Matthias Wolf
975acd4dfb py-hpcbench: new package (#14915)
* py-hpcbench: new package

* obey the flake8

* address comments, fix versions.

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 14:21:46 -06:00
iarspider
c0bae73d2f Add extra version of py-graphviz (#14981)
* Add extra version of py-graphviz

* Update package.py

* Update package.py

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 12:56:18 -06:00
Michael Kuhn
c77b6923b8 npm: Add 6.13.7 (#15034) 2020-02-18 12:00:01 -06:00
iarspider
4bca09cc89 Add extra version of py-nbconvert (#15044) 2020-02-18 11:59:10 -06:00
iarspider
e488b36d59 Add extra version of py-pathlib2 (#15048) 2020-02-18 11:58:45 -06:00
iarspider
c8c53cc7e7 Add extra version of py-pbr (#15049) 2020-02-18 11:57:39 -06:00
iarspider
5b2d1a6a54 Add extra version of py-pexpect (#15050)
* Add extra version of py-pexpect

* Update package.py

Update dependency version
2020-02-18 11:57:08 -06:00
iarspider
74018df678 Add extra version of py-ipywidgets (#14987)
* Add extra version of py-ipywidgets

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

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

* Update package.py

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

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

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

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

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

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

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

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

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 11:55:47 -06:00
iarspider
db9ccc21b0 Add extra version of py-defusedxml (#14972)
* Add extra version of py-defusedxml

* Update package.py

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 11:50:19 -06:00
iarspider
1f54627cee Add extra version of py-logilab-common (#14997)
* Add extra version of py-logilab-common

* Update package.py

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-18 11:49:46 -06:00
iarspider
0ec908cd13 Fix allowed python versions of py-tables (#14073)
* Fix allowed python versions of py-tables

* Update package.py

* Update package.py

* I think I've finally got it

* Update package.py

* Update package.py

* Update package.py
2020-02-18 11:38:00 -06:00
iarspider
d08f53c5fb Add extra version of py-more-itertools (#15042) 2020-02-18 11:37:26 -06:00
iarspider
6f6e1a8c4a Add extra version of py-oauthlib (#15045) 2020-02-18 11:34:57 -06:00
iarspider
02f3fc6d7a Add extra version of py-owslib (#15046) 2020-02-18 11:34:30 -06:00
Greg Becker
82f76c44a0 skip gpg tests when no gpg executable (#14935)
* skip gpg tests when no gpg executable

* flake
2020-02-18 09:20:14 -08:00
Seth R. Johnson
f396106d1c Update davix versions and add version restriction for ROOT (#15038)
From ROOT cmake output:
```
-- Checking for module 'davix>=0.6.4'
--   Found davix, version 0.6.8
CMake Warning at cmake/modules/SearchInstalledSoftware.cmake:960 (message):
  Davix versions 0.6.8 to 0.7.0 have a bug and do not work with ROOT, please
  upgrade to 0.7.1 or later.
```
2020-02-18 09:31:59 -06:00
h-murai
fa28602092 an argument 'buf_size' of 'h5fget_file_image_c' should be intent(out). (#15011)
* an argument 'buf_size' of 'h5fget_file_image_c' should be intent(out).

* correct format errors

* some modifications based on the comments from the reviewer
2020-02-18 08:08:37 -06:00
noguchi-k
f95348074b pegtl: change to virtual destructor (#14939)
* pegtl: change to virtual destructor

* pegtl: fix patch
2020-02-18 08:08:10 -06:00
Matthias Wolf
86a3d58159 py-cookiecutter: new package (#14911)
* py-cookiecutter: new package

* address comments
2020-02-17 20:27:06 -06:00
Michael Kuhn
76bf5c53fa node-js: Add 12.16.0 and 13.8.0 (#15024) 2020-02-17 20:25:20 -06:00
Seth R. Johnson
1270b4d0df Fix CLHEP fetch URL and add new version (#15032) 2020-02-17 20:24:33 -06:00
Adam J. Stewart
342200774b spack extensions prints list of extendable packages (#14473)
* spack extensions prints list of extendable packages

* Update tab completion scripts
2020-02-17 17:41:47 -06:00
Adam J. Stewart
9f89dce52f Fix mercurial certificate finding, add latest version (#15026) 2020-02-17 17:41:30 -06:00
iarspider
1d7fc47672 Add new version of cairo (#14941)
* Add new version of cairo

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-17 17:41:07 -06:00
iarspider
80123e0d1a Add new version of ccache; update URL (#14942)
* Add new version of ccache; update URL

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-17 17:40:34 -06:00
iarspider
21156e6243 Add new version of davix (#14944)
* Add new version of davix

* Update package.py
2020-02-17 17:39:50 -06:00
iarspider
5ea7031019 Add extra version of py-autopep8 (#14970)
* Add extra version of py-autopep8

* Update package.py
2020-02-17 17:39:22 -06:00
iarspider
17f19ad407 Add extra version of py-dill (#14971)
* Add extra version of py-dill

* Update package.py
2020-02-17 17:38:53 -06:00
iarspider
6c93ef5088 Add extra version of py-futures (#14979)
* Add extra version of py-futures

* Update package.py
2020-02-17 17:25:46 -06:00
eugeneswalker
8783f16e36 libcircle depends on a provider of pkgconfig for build (#15029) 2020-02-17 17:21:58 -06:00
Seth R. Johnson
921cb6c860 Qt4 patches (#15025)
* Fix patch applicability

* Combine patches for missing qt3 headers and remove krell variant

The variant should have always been applied.

* Restrict QT patches to actual applicable versions/situations

- I researched the associated patches so now their `when=` should more
  closely match when they're actually needed.
- I sorted the patch order so they're grouped by version requirement
- I renamed the patches so they're listed by version requirements
2020-02-17 17:21:31 -06:00
iarspider
ccbdd3c902 Add new version of libunwind (#14947)
* Add new version of libunwind

* Update package.py
2020-02-17 17:20:50 -06:00
wspear
30d487509b Added new default tau version: 2.29. Added explicit zlib build requir… (#15010)
* Added new default tau version: 2.29. Added explicit zlib build requirement. Set up environment to use use elf and libz

* Changed zlib to link dependency. Removed elf library path load (wasn't able to reproduce the need for this)
2020-02-17 17:19:48 -06:00
iarspider
e781d8eb72 Add extra version of py-matplotlib; fix dependency on six (#15000)
* Add extra version of py-matplotlib

* Update dependency

* Update package.py

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-17 17:02:17 -06:00
iarspider
33edadb041 Add extra version of py-iminuit (#14982)
* Add extra version of py-iminuit

* Update package.py
2020-02-17 12:35:04 -06:00
Dr. Christian Tacke
03d32c868a cmake: Fix spack install inside ctest (#14889)
Disable the CMake install tests since they break under certain testing conditions.
2020-02-17 13:26:35 -05:00
iarspider
d6e4b4773a Add extra version + variants of py-lxml (#14999)
* Add extra version of py-lxml

* Extra variants for py-lxml

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

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

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

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

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

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

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-17 12:24:59 -06:00
eugeneswalker
38c3b55f19 libnrm needs pkg-config for build (#15007) 2020-02-17 12:05:31 -06:00
Michael Kuhn
b8c2141760 go: added v1.13.8 and v1.12.17 (#15022) 2020-02-17 11:43:25 +01:00
Carson Woods
bbd256e2fe package: Add newer version of PowerAPI package (#15005)
* Add newer commit of PowerAPI package

* Update naming scheme to be easier to read
2020-02-16 21:17:07 -06:00
Sergey Kosukhin
1cc7a3533b Fix header-only installation of Boost. (#14995) 2020-02-16 15:30:32 -06:00
Adam J. Stewart
60847abf0e gdb: fix installation (#15016) 2020-02-16 08:31:29 -06:00
Seth R. Johnson
8071369ffe Use separate build directory for gzip (#14994)
* Use separate build directory for gzip

At least on mac systems (perhaps because of a case sensitivity issue?)
gzip fails to build inside the source tree:
```
config.status: linking /var/folders/fy/x2xtwh1n7fn0_0q2kk29xkv9vvmbqb/T/spack-stage/s3j/spack-stage-gzip-1.10-iatwtuk2l5xgwmuh4pwu5bf27yezpydj/spack-src/GNUmakefile to GNUmakefile
config.status: executing depfiles commands
==> Executing phase: 'build'
==> [2020-02-14-09:32:45.502913] 'make' '-j12'
make: GNUmakefile: Too many levels of symbolic links
make: stat: GNUmakefile: Too many levels of symbolic links
make: *** No rule to make target `GNUmakefile'.  Stop.
```

* Simplify build directory and add gmake dependency
2020-02-16 08:31:11 -06:00
Seth R. Johnson
b9156895ec Remove unneeded dependency on gzip for libmng (#14992)
Libmng only needs gzip to compress man files for distribution, so it
builds fine without it. The spack
gzip currently fails to compile.

```
config.status: linking /var/folders/fy/x2xtwh1n7fn0_0q2kk29xkv9vvmbqb/T/spack-stage/s3j/spack-stage-gzip-1.10-iatwtuk2l5xgwmuh4pwu5bf27yezpydj/spack-src/GNUmakefile to GNUmakefile
config.status: executing depfiles commands
==> Executing phase: 'build'
==> [2020-02-14-09:32:45.502913] 'make' '-j12'
make: GNUmakefile: Too many levels of symbolic links
make: stat: GNUmakefile: Too many levels of symbolic links
make: *** No rule to make target `GNUmakefile'.  Stop.
```
2020-02-16 08:30:30 -06:00
iarspider
b261b80ebd Add new version of bison (#14940) 2020-02-15 23:18:20 -06:00
iarspider
d3db3c6a2b Add new version of clhep (#14943) 2020-02-15 23:15:59 -06:00
iarspider
0dbd3b21c8 Add new version of elasticsearch (#14945) 2020-02-15 23:14:01 -06:00
iarspider
fc190f397a Add new version of expat (#14948) 2020-02-15 23:11:33 -06:00
iarspider
8624bf65f9 Add new version of fontconfig (#14949) 2020-02-15 23:11:10 -06:00
iarspider
e833ef9cce Add extra version of freetype (#14950) 2020-02-15 23:10:42 -06:00
iarspider
1b95c33c82 Add extra version of gperf (#14951) 2020-02-15 23:10:21 -06:00
iarspider
978d960158 Add extra version of HepMC (#14952) 2020-02-15 23:09:58 -06:00
iarspider
df1e9317b8 Add extra version of highfive (#14953)
* Add extra version of HepMC

* Add extra version of highfive

* Undo changes to hepmc
2020-02-15 23:09:36 -06:00
iarspider
7f9cd886f3 Add extra version of imagemagick (#14954) 2020-02-15 23:09:06 -06:00
iarspider
7d96e496b2 Add extra version of jemalloc (#14955) 2020-02-15 23:08:37 -06:00
iarspider
e75b8c1230 Add extra version of json-c (#14956) 2020-02-15 23:08:13 -06:00
iarspider
41a2a5db2c Add extra version of libgit2 (#14957) 2020-02-15 23:07:38 -06:00
iarspider
8f877fdc65 Add extra version of libsodium (#14958) 2020-02-15 23:07:12 -06:00
iarspider
bab407a28a Add extra version of libsvm (#14959) 2020-02-15 23:06:48 -06:00
iarspider
8308d2d59d Add extra version of libxkbcommon (#14961) 2020-02-15 23:06:17 -06:00
iarspider
a6dc3fe40b Add extra version of nlohmann-json (#14962) 2020-02-15 23:05:54 -06:00
iarspider
12ec8e340f Add extra version of pcre (#14963) 2020-02-15 23:05:30 -06:00
iarspider
f547f2ce10 Add extra version of pixman (#14964) 2020-02-15 23:05:09 -06:00
iarspider
00de09268e Add extra version of py-absl-py (#14965) 2020-02-15 23:04:40 -06:00
iarspider
ee573540a0 Add extra version of py-asn1crypto (#14967) 2020-02-15 23:03:17 -06:00
iarspider
d7de6cf055 Add extra version of py-arrow (#14966) 2020-02-15 23:02:21 -06:00
iarspider
ad7c11c482 Add extra version of py-astroid (#14968) 2020-02-15 23:01:53 -06:00
iarspider
ff71844bf6 Add extra version of py-attrs (#14969) 2020-02-15 23:01:24 -06:00
Nichols A. Romero
98c4d15655 Flang - Support libomptarget offload to NVidia GPU (#15015)
* Modify Flang NVidia GPU variant to make use of built-in CudaPackage

* Add OpenMP Offload patch if March 2019 compiler is selected.

* Flang parallel build has a race condition.

* llvm-flang now uses built-in CudaPackage.

* Add variant for different build releases.

* Fix OpenMP target offload for NVidia GPUs.

* Additional commong flags that are needed with comments.

* NVidia BC required for libomp target requires special treatment. Use clang built in previous step to re-compile libomptarget.
2020-02-15 22:56:58 -06:00
iarspider
4f3287a9dc Add extra version of py-cython (#14974) 2020-02-15 22:52:36 -06:00
iarspider
45ee708596 Add extra version of py-coverage (#14976) 2020-02-15 22:48:10 -06:00
iarspider
959d9d2365 Add extra version of py-certifi (#14977) 2020-02-15 22:47:28 -06:00
iarspider
7c88bb937d Add extra version of py-backports-abc (#14978) 2020-02-15 22:47:05 -06:00
iarspider
c92201e6ab Add extra version of py-decorator (#14980) 2020-02-15 22:44:28 -06:00
iarspider
bcccf0d4e7 Add extra version of py-importlib-metadata (#14983) 2020-02-15 22:35:47 -06:00
iarspider
8313de5be0 Add extra version of py-ipaddress (#14984) 2020-02-15 22:35:23 -06:00
iarspider
4db0eb4917 Add extra version of py-ipykernel (#14985) 2020-02-15 22:33:04 -06:00
iarspider
8b5cc1e76f Add extra version of py-ipython (#14986) 2020-02-15 22:32:28 -06:00
iarspider
bff3a087ec Add extra version of py-jinja2 (#14989) 2020-02-15 22:27:53 -06:00
iarspider
bd24d53ceb Add extra version of py-jpype1; add numpy as optional (variant) dependency (#14991)
* Add extra version of py-jpype1

* Add numpy as optional (variant) dependency
2020-02-15 22:24:44 -06:00
iarspider
2c0bfd071f Add extra version of py-jupyter-client (#14996) 2020-02-15 22:21:48 -06:00
Glenn Johnson
e5e6791d97 package r-readbitmap Change jpeg dependency (#15004)
This PR corrects the jpeg dependency in r-readbitmap to use the jpeg
virtual dependency.
2020-02-15 21:50:54 -06:00
Justin S
4a7e4655ac mafft: add 7.453 (#15006) 2020-02-15 21:48:26 -06:00
Matthias Diener
3f5d889d2b cloc: add version 1.84 (#15012) 2020-02-15 21:34:11 -06:00
Keita Iwabuchi
b688bb549b Add a new package: Metall (#14903)
* Add a new package: Metall

* Fix errors in metall/package.py

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

Change to https style URL

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

* Update in metall/package.py. Change Metall to depend on Boost always

* Update in metall/package.py. Change to install Boost with the default variants

* Update metall/package.py. Removed a comment

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-15 00:34:32 -06:00
Patrick Gartung
baafa7ec84 Buildcache creation/extraction use temp tarfile to preserve hardlinks during copy to/from prefix. (#15003)
* Buildcache creation change the way prefix is copied to workdir.
* install_tree copies hardlinked files
* tarfile creates hardlinked files on extraction.
* create a temporary tarfile from prefix and extract it to workdir

* Use temp tarfile to move workdir to prefix to preserve hardlinks instead of copying
2020-02-14 16:10:28 -06:00
Scott Wittenburg
3c28e72d2f cuda: add libxml2 as a dependency for newer versions (#14758) 2020-02-14 12:13:30 -06:00
Paul
e65aa7569e docs: fix typo in arch in build settings examples (#14998) 2020-02-14 19:06:10 +01:00
Matthias Wolf
978a3bb7ef py-whichcraft: new package (#14907)
* py-whichcraft: new package

* address comment
2020-02-14 08:00:58 -06:00
Massimiliano Culpo
8c05221bc6 spack compiler info: quick fix for failing command (#14928)
fixes #14927
2020-02-13 20:32:55 -06:00
Sajid Ali
c607288a7c fix env vars before install (#14575) 2020-02-13 20:16:34 -06:00
Brian Van Essen
d524abad20 Updated both cub and nccl versions. Fixed a bug in the cub download (#14852)
url.
2020-02-13 20:10:02 -06:00
Adam J. Stewart
e0dfc3ddbf Fix shell detection: zsh5 -> zsh (#14858) 2020-02-13 20:07:09 -06:00
Glenn Johnson
8beb42e749 New package: r-codex (#14869)
This PR adds the r-codex package.

- new package: r-bsgenome-hsapiens-ucsc-hg19
2020-02-13 20:00:39 -06:00
Kai Torben Ohlhus
4fa29ceb50 openblas: add variant +consistentFPCSR (#14876)
Add the OpenBLAS variant `+consistentFPCSR`, by default `False`, which adds the compile definition `CONSISTENT_FPCSR=1` as documented in  OpenBLAS `Makefile.rule`.
2020-02-13 19:59:34 -06:00
Dr. Christian Tacke
690ed2fe98 [rsync] Use popt and zlib (#14755)
popt and zlib are available as spack packages.
So use them instead of building internal ones.
2020-02-13 19:55:41 -06:00
Glenn Johnson
7996bc809a New package: r-exomedepth (#14884)
This PR adds the r-exomedepth package and r-aod as a dependency.
2020-02-13 19:52:43 -06:00
Glenn Johnson
580c8f5b7e New package: r-exomecopy (#14885) 2020-02-13 19:51:18 -06:00
Glenn Johnson
46ae3f0570 New package: r-fdb-infiniummethylation-hg18 (#14890)
This PR adds the r-fdb-infiniummethylation-hg18 package and the needed
dependency of r-txdb-hsapiens-ucsc-hg18-knowngene.
2020-02-13 19:49:24 -06:00
Glenn Johnson
725336ee48 Update and fix the r-rhtslib package (#14863)
This PR adds an updated version to the r-rhtslib package as well as fix
the build.

- add patches to use compiler flags from R
- add variables for bzip2 and xz dependencies
- use the spack Makeconf file when building the in-tree htslib
- make patchelf available to allow R to remove reference to temporary
  installation directory in htslib shared object
- Add new version of r-rsamtools as the r-rsamtools and r-rhtlib
  packages are closely paired.
2020-02-13 19:47:37 -06:00
Seth R. Johnson
0d0ab60150 Patch silo for %clang@9 (#14892) 2020-02-13 19:45:55 -06:00
Alec Thomas
9046deae80 Add missing dep to git. (#14895)
As discussed in:
 https://spackpm.slack.com/archives/C5VL7V81G/p1581394270058800
2020-02-13 19:45:09 -06:00
asmaahassan90
413de215b2 Fix run environment (#14908)
* Fix run environment

Trying to install Avizo, i get "Error: NameError: name 'run_env' is not defined". Correcting it to be just "env"

* fix identation
2020-02-13 19:37:39 -06:00
Mark W. Krentel
1c5f72dbaa intel-tbb: update to new tar file names for 2020 versions (#14924)
Starting with 2020, the tar files are named v2020.0.tar.gz,
v2020.1.tar.gz, etc, not 2020_U1.tar.gz.

https://github.com/intel/tbb/releases

The previous commit (7a10478708) fixed the checksum mismatch, but
didn't update url_for_version (my bad).
2020-02-13 19:30:10 -06:00
Cameron Stanavige
4b7f057a4b unifyfs: remove numa dependency (#14925)
UnifyFS no longer has an option to depend on numa. This removes the
numa variant, dependency, and associated conflict.

This commit also

- renames the `pmpi` variant to the more appropriate `auto-mount`

- changes the preferred version to the most recent release
2020-02-13 19:28:33 -06:00
Matthias Diener
03ce5effa1 charmpp: add version 6.10.0, switch to https for download (#14930) 2020-02-13 19:26:26 -06:00
Matthias Diener
eb88dfee9a byobu: add version 5.131 (#14932) 2020-02-13 19:23:25 -06:00
eugeneswalker
1d25564230 libcircle depends on pkg-config for build (#14933) 2020-02-13 19:22:54 -06:00
Patrick Gartung
4dc67b79aa Replace direct call to patchelf with get_existing_elf_rpaths which handles exceptions. (#14929)
* Replace direct call to patchelf with get_existing_elf_rpaths which handles exceptions.

* Remove unused patchelf definition.

* Convert to set.
2020-02-13 11:34:20 -06:00
Massimiliano Culpo
681ad2ac44 hepmc: fixed wrong sha256 for latest versions (#14926) 2020-02-13 07:49:21 -06:00
Matthias Wolf
268f42bf7e py-binaryornot: new package (#14906) 2020-02-13 11:42:29 +01:00
Matthias Wolf
856734b804 py-poyo: new package (#14909) 2020-02-13 10:07:29 +01:00
Matthias Wolf
7252066a32 py-jinja2-time: new package (#14910) 2020-02-13 10:07:07 +01:00
Matthias Wolf
06c85ea5bf py-elasticsearch: added v7.5.1 and v6.4.0 (#14913) 2020-02-13 10:06:01 +01:00
Matthias Wolf
3dd844e597 py-clustershell: new package (#14914) 2020-02-13 10:03:45 +01:00
Matthias Wolf
fb482ae0c9 py-magic: new package (#14912) 2020-02-13 10:03:18 +01:00
Matthias Diener
a337d27874 gdb: added v9.1 (#14919) 2020-02-13 09:51:04 +01:00
Federico Ficarelli
de84bd3f24 hipsycl: new package and new 'sycl' virtual package (#14051) 2020-02-13 07:32:39 +01:00
eugeneswalker
5243d270d4 bmi depends on automake for build 2020-02-12 21:58:35 -08:00
noguchi-k
38303a6a79 macsio: cast JsonGetInt from int to unsigned int (#14736)
* macsio: cast from int to unsigned int

* macsio: apply a patch only when version is 1.1
2020-02-12 20:13:26 -06:00
Todd Gamblin
a7b43f1015 spack python: add -m option to run modules as scripts
It's often useful to run a module with `python -m`, e.g.:

    python -m pyinstrument script.py

Running a python script this way was hard, though, as `spack python` did
not have a similar `-m` option.  This PR adds a `-m` option to `spack
python` so that we can do things like this:

    spack python -m pyinstrument ./test.py

This makes it easy to write a script that uses a small part of Spack and
then profile it.  Previously thee easiest way to do this was to write a
custom Spack command, which is often overkill.
2020-02-12 16:45:41 -08:00
Chuck Atkins
90f3635afd protobuf: Fix intel compiler failures. (#14916) 2020-02-12 16:21:43 -05:00
Jon Rood
7e50cec5a4 Adding Intel LLVM compiler (#13618)
* Adding Intel LLVM compiler.

* Fixing some minor issues.

* Split build environment on run environment in intel-llvm.
2020-02-12 12:30:04 -06:00
Dan Lipsa
ca66ab6901 Paraview: fix PYTHONPATH for static build. (#14648)
* Fix PYTHONPATH for static build.

* Only for the latest version.
2020-02-12 13:24:09 -05:00
Axel Huebl
3b2c534e73 openPMD-api: Build Env Fix & Dev (#14904)
- fix a missing `env.` prefix in the build environment.
- rename development branch to same name as in git
2020-02-12 10:02:01 +01:00
Axel Huebl
b5a3ee636b WarpX: master is the new develop (#14898)
WarpX removed the `dev` branch in favor of a simpler,
`master`-centric development model.
`master` is the new development branch and there is no
stable branch anymore (we use tags and release branches
instead).
2020-02-11 20:47:50 -08:00
victorusu
78ce1c7ce4 New package: ReFrame (#14737) 2020-02-11 17:51:26 -08:00
Hadrien G
c8cb480eb7 ROOT: Add Pythia8 support (#14790) 2020-02-11 17:38:22 -08:00
darmac
cf120d7441 OpenCV package: add versions 4.2.0, 4.1.2, and 4.1.1(#14814) 2020-02-11 17:34:44 -08:00
Hadrien G
947dabc356 [dd4hep] Make DDDigi work with current TBB releases (#14791)
Add patch for DDDigi's broken TBB support. The issue is fixed in
DD4hep master so the patch is only required for 1.11.0
2020-02-11 17:17:05 -08:00
Sajid Ali
2c63ea49d1 New package: libvips (#14794) 2020-02-11 17:02:39 -08:00
darmac
630611a786 libdrm: add version 2.4.100 (#14809) 2020-02-11 16:57:18 -08:00
codeandkey
78f16d703d r-truncdist: new package at 1.0-2 2020-02-11 16:52:51 -08:00
Todd Gamblin
c56c4b334d bugfix: spack -V should use working_dir() instead of git -C
- `git -C` doesn't work on git before 1.8.5
- `working_dir` gets us the same effect
2020-02-11 16:52:06 -08:00
Jen Herting
582e7ce2c8 [mono] add version 6.8.0.105 2020-02-11 16:49:35 -08:00
Scott Wittenburg
c2885990b8 Fix intel-mkl package (#14856)
* Add cpio package

* intel-mkl: Depend on cli tool needed during build
2020-02-11 16:21:49 -06:00
Seth R. Johnson
5c33f638d7 Fix QT4 platform detection for linux clang (#14891)
* Fix QT4 platform name for linux clang

* Fix clang compiler flags on QT4
2020-02-11 14:00:02 -06:00
Frédéric Simonis
e8b6c40b31 precice: add version 2.0.0 (#14842)
Added python3 dependency
Added support for new CMake variables
2020-02-11 10:06:03 +01:00
Matthias Diener
7706b76d3a unifdef: added new package (#14880) 2020-02-11 10:03:44 +01:00
Christoph Junghans
1a41ec766a heffte: added v0.2 (#14881) 2020-02-11 10:02:17 +01:00
darmac
35df75ee77 hepmc: added versions up to v3.2.0 (#14805) 2020-02-11 09:46:59 +01:00
Brian Van Essen
490508d324 Hydrogen: update dependency on aluminum (#14760)
* Hydrogen now depends on `aluminum +nccl` vs. `aluminum +mpi_cuda`
* Hydrogen: Simplify Mac OS OpenMP-detection logic
* Aluminum: Add Mac OS OpenMP-detection logic
* LBANN: depend on conduit@0.4.0: instead of conduit@master
2020-02-10 12:13:47 -08:00
Massimiliano Culpo
357786ce6b Spack find: fix queries that specify dependencies (#14757)
Fixes #10019

If multiple instances of a package were installed in a single
instance of Spack, and they differed in terms of dependencies, then
"spack find" would not distinguish specs based on their dependencies.
For example if two instances of X were installed, one with Y and one
with Z, then "spack find X ^Y" would display both instances of X.
2020-02-10 11:22:21 -08:00
Peter Scheibel
4e32505770 libedit package: add version 3.1-20191231 (#14851)
This new version of libedit can make use of an ncurses dependency
built with +termlib (which moves some symbols into a separate
libtinfo).
2020-02-10 10:44:52 -08:00
Glenn P Johnson
37a6b8d54f Fix vim build with ^ncurses+termlib
This PR will set the approriate library if ncurses is built with a
separate tinfo library.
2020-02-10 10:25:35 -08:00
darmac
c77eeca61e icedtea: added versions up to v3.9.0 (#14806) 2020-02-10 11:08:45 +01:00
Glenn Johnson
745a843911 New package: r-biomartr (#14812)
This PR creates the r-biomartr package as well as needed new packages
and updates.

- new dependency: r-philentropy
- update: r-curl
2020-02-10 11:08:04 +01:00
Hadrien G
cb3dbea198 acts-core: added v0.16.0 (#14839)
* Adapt to ACTS v0.16

* ACTS uses the DD4hep XML components nowadays
2020-02-10 11:06:56 +01:00
Glenn Johnson
8aa1eba2e0 New package: r-watermelon (#14864)
This PR creates the r-watermelon package, along with dependencies.

- new package: r-fdb-infiniummethylation-hg19
- new package: r-illuminahumanmethylation450kanno-ilmn12-hg19
- new package: r-lumi
- new package: r-methylumi
- new package: r-roc
- new package: r-txdb-hsapiens-ucsc-hg19-knowngene
- updated package: r-matrixstats, new version needed as a dependency
2020-02-10 10:49:34 +01:00
Glenn Johnson
1ed0efec7d New package: r-suppdists (#14865) 2020-02-10 10:44:17 +01:00
Glenn Johnson
bd442e884a New package: r-imager (#14866)
This PR adds the r-imager package and dependencies.

- new package: r-bmp
- new package: r-readbitmap
2020-02-10 10:44:00 +01:00
Glenn Johnson
ad914c28d7 New package: r-proj (#14872) 2020-02-10 10:43:27 +01:00
Glenn Johnson
d00a3eda6b New package: r-proj4 (#14871) 2020-02-10 10:42:32 +01:00
Glenn Johnson
22df37c328 New package: r-pscbs (#14867)
This PR adds the r-pscbs package along with new dependencies and updates.

- new package: r-aroma-light
- new package: r-r-cache
- updated package: r-r-oo
2020-02-10 10:41:56 +01:00
Glenn Johnson
716978e00c New package: r-copula (#14874)
This PR adds the r-copula package and dependencies.

- new package: r-adgoftest
- new package: r-gsl
- new package: r-pspline
- new package: r-stabledist
2020-02-10 10:40:47 +01:00
Glenn Johnson
42c829adb4 New package: r-gsalib (#14873) 2020-02-10 10:38:44 +01:00
Kai Torben Ohlhus
4d173579cb openblas: added v3.8.0 (#14875) 2020-02-10 10:35:29 +01:00
darmac
f274d89c33 xterm: added versions up to v353 (#14829) 2020-02-10 09:44:50 +01:00
darmac
85b6e3e6d4 openldap: added v2.4.49 (#14815) 2020-02-10 09:40:46 +01:00
darmac
1c5838be5c pngquant : add depency on libpng (#14836) 2020-02-10 09:39:45 +01:00
Kai Torben Ohlhus
3ba5df3763 octave: add 5.2.0 (#14868)
Add version Octave 5.2.0 including sha256.
2020-02-09 21:04:09 -06:00
Glenn Johnson
30b30e11dc New package - r-rmariadb (#14762)
* New package - r-rmariadb

This PR creates the r-rmariadb package. It also includes an update to
the r-dbi package as a newer version of that is needed.

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

Argh, copy/paste. I wish the mirror would list itself as the archive site as well, but it just mirrors that data field from CRAN site. Thanks for catching that, I will make sure to look for that in the future.

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

* Use mariadb-client

Use mariadb-client so people can set a preferred provider.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-09 19:26:31 -06:00
Todd Gamblin
6d2e6e1f4d Merge branch 'releases/v0.13' into develop 2020-02-09 15:51:39 -08:00
Mark W. Krentel
7a10478708 intel-tbb: fix sha256 sums for 2020 versions
Fixes #14850.  Commit 6b1958219 added versions 2020 and 2020.1 for
intel-tbb as part of updating several intel packages but added the
wrong sha256 sums for the github/01org repository.

Also, version 2020 is 2020, not 2020.0.

Add patch makefile-debug to restore the debug targets.
2020-02-09 12:26:38 -08:00
Dan Lipsa
e22ac814b0 Align default libxml2 settings for gettext and Python (#14795)
Python depends on gettext. Packages that depend on gettext and Python
together will encounter a concretizer bug which incorrectly detects
a constraint conflict. This sets the default value of +libxml2 in
Python to be the same as gettext so that packages which depend on
both (like mesa) can successfully concretize without adding manual
constraints.
2020-02-07 16:55:04 -08:00
Todd Gamblin
0311b63e0b update CHANGELOG.md for 0.13.4 2020-02-07 16:52:07 -06:00
Todd Gamblin
a8d5c6ccf2 version bump: 0.13.4 2020-02-07 16:51:44 -06:00
codeandkey
3e5427078d r-evd: new package at 2.3-3 2020-02-07 14:51:24 -08:00
codeandkey
3a3a58a106 r-stargazer: new package at 5.2.2 2020-02-07 14:50:32 -08:00
Massimiliano Culpo
010f9451c9 bugfix: make _source_single_file work in venvs (#14569)
Using `sys.executable` to run Python in a sub-shell doesn't always work in a virtual environment as the `sys.executable` Python is not necessarily compatible with any loaded spack/other virtual environment.

- revert use of sys.executable to print out subshell environment (#14496)
- try instead to use an available python, then if there *is not* one, use `sys.executable`
- this addresses RHEL8 (where there is no `python` and `PYTHONHOME` issue in a simpler way
2020-02-07 16:36:23 -06:00
Adam J. Stewart
f9f28e8fba Fix use of sys.executable for module/env commands (#14496)
* Fix use of sys.executable for module/env commands

* Fix unit tests

* More consistent quotation, less duplication

* Fix import syntax
2020-02-07 16:36:18 -06:00
Sajid Ali
4da8f7fcef RHEL8 bugfix for module_cmd (#14349) 2020-02-07 16:35:57 -06:00
Adam J. Stewart
69e5683ba4 Fix outdated bash tab completion (#14392) 2020-02-07 16:23:51 -06:00
Jeffrey Salmond
5397d500c8 Remove extensions from view in the correct order (#12961)
When removing packages from a view, extensions were being deactivated
in an arbitrary order. Extensions must be deactivated in preorder
traversal (dependents before dependencies), so when this order was
violated the view update would fail.

This commit ensures that views deactivate extensions based on a
preorder traversal and adds a test for it.
2020-02-07 16:12:20 -06:00
Todd Gamblin
b442b21751 bugfix: hashes should use ordered dictionaries (#14390)
Despite trying very hard to keep dicts out of our hash algorithm, we seem
to still accidentally add them in ways that the tests can't catch. This
can cause errors when hashes are not computed deterministically.

This fixes an error we saw with Python 3.5, where dictionary iteration
order is random.  In this instance, we saw a bug when reading Spack
environment lockfiles -- The load would fail like this:

```
...
File "/sw/spack/lib/spack/spack/environment.py", line 1249, in concretized_specs
  yield (s, self.specs_by_hash[h])
KeyError: 'qcttqplkwgxzjlycbs4rfxxladnt423p'
```

This was because the hashes differed depending on whether we wrote `path`
or `module` first when recomputing the build hash as part of reading a
Spack lockfile.  We can fix it by ensuring a determistic iteration order.

- [x] Fix two places (one that caused an issue, and one that did
  not... yet) where our to_node_dict-like methods were using regular python
  dicts.

- [x] Also add a check that statically analyzes our to_node_dict
  functions and flags any that use Python dicts.

The test found the two errors fixed here, specifically:

```
E       AssertionError: assert [] == ['Use syaml_dict instead of ...pack/spack/spec.py:1495:28']
E         Right contains more items, first extra item: 'Use syaml_dict instead of dict at /Users/gamblin2/src/spack/lib/spack/spack/spec.py:1495:28'
E         Full diff:
E         - []
E         + ['Use syaml_dict instead of dict at '
E         +  '/Users/gamblin2/src/spack/lib/spack/spack/spec.py:1495:28']
```

and

```
E       AssertionError: assert [] == ['Use syaml_dict instead of ...ack/architecture.py:359:15']
E         Right contains more items, first extra item: 'Use syaml_dict instead of dict at /Users/gamblin2/src/spack/lib/spack/spack/architecture.py:359:15'
E         Full diff:
E         - []
E         + ['Use syaml_dict instead of dict at '
E         +  '/Users/gamblin2/src/spack/lib/spack/spack/architecture.py:359:15']
```
2020-02-07 16:11:06 -06:00
Adam J. Stewart
d1d5f5f9e7 patch aws-parallelcluster so that it doesn't require enum34 (#14796)
* aws-parallelcluster always depends on enum34

* Build aws-parallelcluster without enum34

* Update homepage

* Add unit tests
2020-02-07 11:20:19 -06:00
Themos Tsikas
f685d538d8 NAG Compiler 7.0 (Build 7009) download checksum (#14840) 2020-02-07 09:33:37 -06:00
darmac
2c3e2669f2 imlib2: added v1.6.0 and v1.6.1 (#14807) 2020-02-07 14:05:50 +01:00
darmac
fd9b1fb6de libconfig: added v1.7.2 (#14808) 2020-02-07 14:04:40 +01:00
darmac
4cb8294800 lighttpd: added versions up to v1.4.55 (#14810) 2020-02-07 14:04:21 +01:00
darmac
5bfb0eb447 maven: added versions up to v3.6.3 (#14811) 2020-02-07 13:47:38 +01:00
darmac
1203134253 mysql: added v8.0.17, v8.0.18 and v8.0.19 (#14813) 2020-02-07 13:46:55 +01:00
darmac
fecb26763d pangomm: added versions up to v2.41.3 (#14816) 2020-02-07 13:43:43 +01:00
darmac
8c1845581d qwt: added v6.1.3 (#14820) 2020-02-07 13:41:30 +01:00
darmac
8c1aee1b78 skopeo: added v0.1.40 (#14824) 2020-02-07 13:30:44 +01:00
darmac
ef9cb97376 plplot: added v5.14.0 and v5.15.0 (#14817) 2020-02-07 13:30:12 +01:00
darmac
e4cac22462 qt: added v5.14.0 and v5.14.1 (#14821) 2020-02-07 13:26:14 +01:00
darmac
291c110700 rclone: added new versions up to v1.51.0 (#14822) 2020-02-07 13:23:00 +01:00
darmac
4d3bd1116c scala: added v2.12.10 and v2.13.1 (#14823) 2020-02-07 13:21:15 +01:00
darmac
7de3ea4e19 squashfs: added v4.4 (#14825) 2020-02-07 13:19:09 +01:00
darmac
710fabd68a wireshark: added new versions up to v3.2.1 (#14828) 2020-02-07 13:18:29 +01:00
darmac
f9889526f2 thrift: added v0.12.0 and v0.13.0 (#14831) 2020-02-07 13:14:16 +01:00
darmac
7d9a0fa180 hunspell : fix 1.7.0 sha256sum (#14832) 2020-02-07 13:13:22 +01:00
Oliver Breitwieser
22c9f5cbd8 Allow installing unsigned binary packages (#11107)
This commit introduces a `--no-check-signature` option for
`spack install` so that unsigned packages can be installed. It is
off by default (signatures required).
2020-02-06 18:59:16 -08:00
Figroc Chen
458c9a22bf tensorflow-serving-client: add new version 2.1.0 (#14786) 2020-02-06 12:20:55 -06:00
Matt Belhorn
b43f658c39 Adds fma and vsx features to entire power arch family. (#14759)
VSX alitvec extensions are supported by PowerISA from v2.06 (Power7+), but might
not be listed in features.

FMA has been supported by PowerISA since Power1, but might not be listed in
features.

This commit adds these features to all the power ISA family sets.
2020-02-06 16:42:05 +01:00
Robert Mijakovic
6b19582198 update version: intel packages daal, ipp, mkl-dnn, mkl, mpi, parallel… (#14783)
* update version: intel packages daal, ipp, mkl-dnn, mkl, mpi, parallel-studio, pin, tbb and makes url parameter consistent and always use single quote.

* Fixes a typo with one of the sha256 checksum..
2020-02-06 09:20:01 -06:00
Benoist LAURENT
f7e2e84647 Update package.py (#14784)
Fix download link
2020-02-06 09:18:16 -06:00
Massimiliano Culpo
759f6b6d13 Added optimized version of Blis for AMD (#14780)
The Blis package has been refactored to be able to
reuse the build logic for the fork of the project
optimized for AMD.
2020-02-06 07:58:51 -06:00
Figroc Chen
e62c82de7f grpc: added v1.25.0, v1.26.0 and v1.27.0 (#14781) 2020-02-06 13:20:37 +01:00
darmac
88289cd2c7 graphicsmagick: added versions up to v1.3.34 (#14778) 2020-02-06 11:12:10 +01:00
darmac
1a846abbe8 go: added v1.13.7 (#14777) 2020-02-06 10:54:10 +01:00
iarspider
f66f56287d geant4: add missing dependency on geant4-data (#14767) 2020-02-06 10:40:56 +01:00
darmac
f745b790f3 gnuplot: added v5.2.8 (#14776) 2020-02-06 10:34:04 +01:00
darmac
bb0b88f38a enchant: added v2.2.6 and v2.2.7 (#14775) 2020-02-06 10:33:16 +01:00
darmac
588c87c665 blis: added v0.6.1 (#14766) 2020-02-06 10:03:08 +01:00
darmac
c2460dbcd2 cln: added v1.3.5 and v1.3.6 (#14768) 2020-02-06 09:59:51 +01:00
darmac
3b38a45a76 gl2ps: added v1.4.0 (#14773) 2020-02-06 09:58:46 +01:00
darmac
29a906d20c ghostscript: added v9.27 and v9.50 (#14772) 2020-02-06 09:57:42 +01:00
darmac
0a92b54701 coreutils: added v8.30 and v8.31 (#14770) 2020-02-06 09:56:01 +01:00
darmac
2dab92742d atop: added versions up to v2.5.0 (#14765) 2020-02-06 08:51:34 +01:00
darmac
58a905ec76 ant: added versions up to v1.10.7 (#14764) 2020-02-06 08:46:13 +01:00
Glenn Johnson
1f6f812696 Update llvm, adjust dependency specs and conflicts (#14561)
This PR adds a new version of llvm and fixes the dependency specs.

- This package depends on libtinfo in all cases so change the ncurses
  dependency to reflect that
- if +lldb is in the spec but +python is not then do not build the lldb
  python support
- build lldb python support only if +python is in the spec with +lldb
- install the llvm python bindings if +python is in the spec
- install the clang python bindings if +clang and +python are in the spec
- Fixes for conflicts with ~clang
- Fix typo in conflict of compiler-rt and flang
2020-02-05 20:37:08 -06:00
Michael Kuhn
1a0c31703a acts-core package: build root with cxxstd=17 for 0.8.1 and newer (#14761)
The build fails if root uses an older C++ standard.
2020-02-05 17:45:17 -08:00
Cameron Smith
bce4bec059 PUMI package: add version 2.2.2 (#14751) 2020-02-05 17:32:35 -08:00
Themos Tsikas
ba25bb3050 NAG Compiler 6.2 (Build 6252) download checksum (#14750) 2020-02-05 08:02:46 -06:00
Seth R. Johnson
57cc7831bf qt: fix on Intel (#14748)
Follow up from #14745
2020-02-05 10:23:58 +01:00
Eisuke Kawashima
ffdde40f56 Bump Open Babel to 3 (#14738) 2020-02-04 21:05:19 -06:00
Seth R. Johnson
29a01f488c Fix QT on Intel (#14745)
- More robustly handle compiler version switching between QT4 and 5, and
  mac/linux, and gcc/intel/clang
- Remove assumption about intel linker being in path
2020-02-04 21:03:47 -06:00
Seth R. Johnson
731148e0e1 Use CMake for libmng package (#14747)
* Convert libmng to use CMake rather than autoconf

The autoconf script failed to recognize the intel compiler; it was
harwired to use gcc.

* Simplify cmake logic and remove unused variant
2020-02-04 19:33:33 -06:00
Seth R. Johnson
52d1f5b839 Remove python patch for inapplicable versions (#14746)
This patch was merged in to upstream python 3.7 and is fixed in 3.7.6.
2020-02-04 19:32:48 -06:00
Christoph Junghans
1974ad4e7f heffte: initial commit (#14744) 2020-02-04 15:06:03 -07:00
Jennifer Herting
d4d82281d1 [rust] added version 1.41.0 (#14742) 2020-02-04 15:11:36 -06:00
Jennifer Herting
997a0f4207 New version for mariadb and disable dtrace (#14734)
* [mariadb] added version 10.4.8

* [mariadb] disabled dtrace
2020-02-04 15:01:25 -06:00
Rao Garimella
b34e7ad28f MSTK package: add version 3.3.2 (#14689) 2020-02-04 11:15:45 -08:00
Christoph Junghans
603e2794db cray-libsci: initial commit (#14709)
* cray-libsci: initial commit
2020-02-04 10:18:20 -07:00
Massimiliano Culpo
1bbe0a1f74 abinit: fix dependency on fftw (#14739)
fixes #14578

Abinit's recipe requires double precision FFTW libraries
2020-02-04 15:29:21 +01:00
Dr. Christian Tacke
0ec9377852 pythia8: added old versions, build depend on rsync (#14740) 2020-02-04 15:27:57 +01:00
Nicolas Richart
19ff3c0f67 akantu: new package at v3.0.0 (#14685) 2020-02-04 11:04:59 +01:00
Andrew W Elble
4accc78409 Git fetching: add option to remove submodules (#14370)
Add an optional 'submodules_delete' field to Git versions in Spack
packages that allows them to remove specific submodules.

For example: the nervanagpu submodule has become unavailable for the
PyTorch project (see issue 19457 at
https://github.com/pytorch/pytorch/issues/). Removing this submodule
allows 0.4.1 to build.
2020-02-03 19:02:45 -08:00
Rob Latham
7d444f08e7 update pmdk to 1.8 (#14733)
new upstream release
- notable in that it has experimental powerpc-le support (e.g. summit)
- required a new patch to disable documentation
2020-02-03 19:15:52 -06:00
Massimiliano Culpo
42633b0869 octave: mkoctfile doesn't use compiler wrappers (#14726)
* Octave: moved the short description in its own paragraph

* Octave: patch mkoctfile.in.cc to avoid using compiler wrappers

* Added a check to ensure mkoctfile works correctly
2020-02-03 15:08:44 -06:00
Adam J. Stewart
74c8f25826 Add new versions of matplotlib (#14731) 2020-02-03 15:07:12 -06:00
Patrick Gartung
5ad44477b2 buildcache list: restore original behavior of allowing constraints like @version. (#14732) 2020-02-03 13:40:14 -06:00
albestro
94971d519c Fix CMake and update libarchive (#14684)
* update libarchive and fix version of libarchive cmake dependency

* (at least) libarchive 3.3.3 dependency from cmake 3.15.0

* cmake depends on libarchive 3.1.0 if not specified differently

currently it is applied to cmake <3.15.0

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-03 11:26:38 -05:00
Andrew W Elble
30dd7ae176 clingo: new versions (#14728)
5.3.0 and 5.4.0
2020-02-03 07:58:34 -06:00
Jean-Paul Pelteret
dcaa50c9d0 deal.II: Add patch for TBB version check (#14724) 2020-02-03 13:04:12 +01:00
Mark W. Krentel
3d9787a8bf hpcviewer: add version 2020.01 (#14718) 2020-02-02 09:26:21 -06:00
Jean-Paul Pelteret
44f60f9fec Update package: SymEngine 0.5.0 (#14722) 2020-02-02 09:25:51 -06:00
Adam J. Stewart
0c0aba579a octave: add maintainer (#14716) 2020-02-01 19:46:35 -06:00
Patrick Gartung
ab36008635 binary_distribution: Initialize _cached_specs at the module level and only search the mirrors in get_spec if spec is not in _cached_specs. (#14714)
* Initialize _cached_specs at the file level and check for spec in it before searching mirrors in try_download_spec.

* Make _cached_specs a set to avoid duplicates

* Fix packaging test

* Ignore build_cache in stage when spec.yaml files are downloaded.
2020-01-31 20:08:47 -06:00
Tim Haines
412c336113 boost: Add versions 1.71.0 and 1.72.0, use Clang toolset on Darwin (#14678)
* boost: Add versions 1.71.0 and 1.72.0

* Remove 'darwin' target

* Add hainest as maintainer
2020-01-31 17:56:40 -06:00
Kelly (KT) Thompson
0c9ac8d8d1 draco: update versions (#14690)
* draco: update versions

+ Added versions 7.3.0 and 7.4.0.
+ Change several variants to be default TRUE since most consumers need these
  variants enabled (eospac, lapack, parmetis, superlu-dist). Change variant name
  for `+superlu_dist` to use hyphen instead of underscore.  This makes the
  variant name consistent with the spackage name for `superlu-dist`.
+ Clean up `depends_on` instructions and avoid specifying `type` when possible.
+ Provide patch files that are necessary for some machines (mostly Cray
  machines).

* Remove trailing whitespace.

* Revert variant name to use underscore.

* add maintainer information.
2020-01-31 14:03:54 -06:00
Themos Tsikas
04e6fd60f3 NAG Fortran Compiler, 6.0 dropped (unavailable), 7.0 added (#14691)
* NAG Fortran Compiler, 6.0 dropped (unavailable), 7.0 added

* Update package.py

* Update package.py
2020-01-31 14:03:31 -06:00
Dr. Christian Tacke
6f4c90378a [libfabric@1.9.0] Fix C++ header usage (#14703)
Fix from libfabric's git for 1.9.0.

Compiling C++ software against libfabric@1.9.0 doesn't work
without this patch.

See: 2e95b0efd8
2020-01-31 14:01:58 -06:00
Matthieu Dorier
b7ee2d02e4 Fixed DIY package missing MPI dependency (#14704) 2020-01-31 14:01:17 -06:00
Todd Gamblin
c029c8ff89 spack -V is now more descriptive for dev branches
`spack -V` previously always returned the version of spack from
`spack.spack_version`.  This gives us a general idea of what version
users are on, but if they're on `develop` or on some branch, we have to
ask more questions.

This PR makes `spack -V` check whether this instance of Spack is a git
repository, and if it is, it appends useful information from `git
describe --tags` to the version.  Specifically, it adds:

  - number of commits since the last release tag
  - abbreviated (but unique) commit hash

So, if you're on `develop` you might get something like this:

    $ spack -V
    0.13.3-912-3519a1762

This means you're on commit 3519a1762, which is 912 commits ahead of
the 0.13.3 release.

If you are on a release branch, or if you are using a tarball of Spack,
you'll get the usual `spack.spack_version`:

    $ spack -V
    0.13.3

This should help when asking users what version they are on, since a lot
of people use the `develop` branch.
2020-01-31 20:59:21 +01:00
Christoph Junghans
d83309493f superlu-dist: enforce OpenMP=OFF (#14708) 2020-01-31 13:35:46 -06:00
Christoph Junghans
47ee690076 portage: fix compile on icc (#14707) 2020-01-31 13:35:20 -06:00
Adam J. Stewart
09e318fc84 Document how to use Spack to replace Homebrew/Conda (#13083)
* Document how to use Spack to replace Homebrew/Conda
* Initial draft; can iterate more as features become available
2020-01-31 19:31:14 +01:00
Massimiliano Culpo
9635ff3d20 spack containerize generates containers from envs (#14202)
This PR adds a new command to Spack:
```console
$ spack containerize -h
usage: spack containerize [-h] [--config CONFIG]

creates recipes to build images for different container runtimes

optional arguments:
  -h, --help       show this help message and exit
  --config CONFIG  configuration for the container recipe that will be generated
```
which takes an environment with an additional `container` section:
```yaml
spack:
  specs:
  - gromacs build_type=Release 
  - mpich
  - fftw precision=float
  packages:
    all:
      target: [broadwell]

  container:
    # Select the format of the recipe e.g. docker,
    # singularity or anything else that is currently supported
    format: docker
    
    # Select from a valid list of images
    base:
      image: "ubuntu:18.04"
      spack: prerelease

    # Additional system packages that are needed at runtime
    os_packages:
    - libgomp1
```
and turns it into a `Dockerfile` or a Singularity definition file, for instance:
```Dockerfile
# Build stage with Spack pre-installed and ready to be used
FROM spack/ubuntu-bionic:prerelease as builder

# What we want to install and how we want to install it
# is specified in a manifest file (spack.yaml)
RUN mkdir /opt/spack-environment \
&&  (echo "spack:" \
&&   echo "  specs:" \
&&   echo "  - gromacs build_type=Release" \
&&   echo "  - mpich" \
&&   echo "  - fftw precision=float" \
&&   echo "  packages:" \
&&   echo "    all:" \
&&   echo "      target:" \
&&   echo "      - broadwell" \
&&   echo "  config:" \
&&   echo "    install_tree: /opt/software" \
&&   echo "  concretization: together" \
&&   echo "  view: /opt/view") > /opt/spack-environment/spack.yaml

# Install the software, remove unecessary deps and strip executables
RUN cd /opt/spack-environment && spack install && spack autoremove -y
RUN find -L /opt/view/* -type f -exec readlink -f '{}' \; | \
    xargs file -i | \
    grep 'charset=binary' | \
    grep 'x-executable\|x-archive\|x-sharedlib' | \
    awk -F: '{print $1}' | xargs strip -s


# Modifications to the environment that are necessary to run
RUN cd /opt/spack-environment && \
    spack env activate --sh -d . >> /etc/profile.d/z10_spack_environment.sh

# Bare OS image to run the installed executables
FROM ubuntu:18.04

COPY --from=builder /opt/spack-environment /opt/spack-environment
COPY --from=builder /opt/software /opt/software
COPY --from=builder /opt/view /opt/view
COPY --from=builder /etc/profile.d/z10_spack_environment.sh /etc/profile.d/z10_spack_environment.sh

RUN apt-get -yqq update && apt-get -yqq upgrade                                   \
 && apt-get -yqq install libgomp1 \
 && rm -rf /var/lib/apt/lists/*

ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
```
2020-01-30 17:19:55 -08:00
Patrick Gartung
ed501eaab2 Bypass build_cache/index.html read when trying to download spec.yaml for concretized spec. (#14698)
* Add binary_distribution::get_spec which takes concretized spec
Add binary_distribution::try_download_specs for downloading of spec.yaml files to cache
get_spec is used by package::try_install_from_binary_cache to download only the spec.yaml
for the concretized spec if it exists.
2020-01-30 16:06:50 -06:00
Patrick Gartung
12a99f4a2d Use non-mutable default for names in binary_distribution::get_specs call (#14696)
* Use non-mutable default for names

* Make suggested change
2020-01-30 15:17:55 -06:00
Andrew W Elble
b072caadec fix: py-pillow build_ext vs. install (#14666)
Previously, the install stage would compile in things that were
disabled during the build_ext phase. This would also result in the
build pulling in locally installed versions of libraries that were
disabled. The install process doesn't honor the same command-line
flags that build_ext does, but does call build_ext again. Avoid the
whole issue by just writing the options to setup.cfg

Also, add the Imagemagick dependency for tests.
2020-01-30 14:42:48 -06:00
Peter Scheibel
7b2895109c Document how to add conditional dependencies (#14694)
* add short docs section on conditional dependencies
* add reference to spec syntax
* add note that conditional dependencies can save time
2020-01-30 12:34:54 -08:00
Peter Scheibel
b2adcdb389 Bugfix: put environment lock in the right place (#14692)
Locate the environment lock in the hidden environment directory
rather than the root of the environment.
2020-01-30 11:13:36 -08:00
Massimiliano Culpo
1e0408d05a Updated docstring and version of lmod to v8.3 (#14687) 2020-01-30 12:33:16 -06:00
Adam J. Stewart
ee35d949f9 Add GDAL 3.0.4 (#14688) 2020-01-30 12:08:47 -06:00
Patrick Gartung
23a7feb917 Limit the number of spec files downloaded to find matches for buildcaches (#14659)
* Limit the number of spec flies downloaded to find matches
2020-01-30 10:56:10 -06:00
Jennifer Herting
a5b2347cfe [py-joblib] added version 0.11 (#14672) 2020-01-30 02:27:04 -08:00
Jennifer Herting
23a759cda0 [r-manipulatewidget] added versions (#14674) 2020-01-30 02:26:48 -08:00
Jennifer Herting
39035e4517 [r-rgl] added version 0.100.19 (#14675) 2020-01-30 02:26:24 -08:00
Todd Gamblin
3519a17624 specs: avoid traversing specs when parsing
The Spec parser currently calls `spec.traverse()` after every parse, in
order to set the platform if it's not set.  We don't need to do a full
traverse -- we can just check the platforrm as new specs are parsed.

This takes about a second off the time required to import all packages in
Spack (from 8s to 7s).

- [x] simplify platform-setting logic in `SpecParser`.
2020-01-29 21:15:58 -08:00
Todd Gamblin
a2f8a2321d repo: avoid unnecessary spec parsing in filename_for_package_name()
`filename_for_package_name()` and `dirname_for_package_name()`
automatically construct a Spec from their arguments, which adds a fair
amount of overhead to importing lots of packages.  Removing this removes
about 11% of the runtime of importing all packages in Spack (9s -> 8s).

- [x] `filename_for_package_name()` and `dirname_for_package_name()` now
  take a string `pkg_name` arguments instead of specs.
2020-01-29 21:15:58 -08:00
Peter Scheibel
85ef1be780 environments: synchronize read and uninstall (#14676)
* `Environment.__init__` is now synchronized with all writing operations
* `spack uninstall` now synchronizes its updates to any associated environment
  * A side effect of this is that the environment is no longer updated piecemeal as specs are uninstalled - all specs are removed from the environment before they are uninstalled
2020-01-29 17:22:44 -08:00
Cameron Smith
488e25ea34 pumi: sim version check, meshes via submodule, ctest (#14597)
* pumi: sim version check, meshes via submodule, ctest

* Apply suggestions from code review

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

* pumi: update comment on master version string

* pumi: description of simmodsuite_version_check variant

* pumi: add white space to variant description

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-29 18:29:07 -06:00
Greg Becker
bd60e0f137 fix cycle dependency in libxml+python (#13847)
* fix cycle dependency in libxml+python
* comment why we need these dependencies
2020-01-29 12:39:55 -08:00
noguchi-k
da189b8d1d Fastx-toolkit package: patch for Fujitsu compiler (#14218)
Specify the scope of pragma pack
2020-01-29 11:45:37 -08:00
Adam J. Stewart
ed4d544e8f Fix py-pillow tests (#14670) 2020-01-29 13:24:44 -06:00
Robert Pavel
b142914b24 Added MiniAMR@1.4.4 (#14667) 2020-01-29 13:24:22 -06:00
Robert Pavel
30c8e1d8a0 Added xsbench@19 to Version List (#14668) 2020-01-29 13:24:03 -06:00
Jennifer Herting
549aae7f72 [py-griddataformats] added new versions (#14671) 2020-01-29 13:23:22 -06:00
Michael Kuhn
52a7f94d9e pythia8: add new package (#14665) 2020-01-29 11:40:39 -06:00
Matthias Wolf
4e3617fe1d py-pyperf: add 1.6.{0,1} (#14662) 2020-01-29 09:00:03 -06:00
Matthias Wolf
1af36f0cdc flatbuffers: add 1.11.0 (#14663) 2020-01-29 08:58:41 -06:00
Matthias Wolf
53d891a501 py-black: update url, add 19.3b0 (#14664) 2020-01-29 08:56:54 -06:00
Tamara Dahlgren
60ed6d2012 bugfix: correct exception message matching in tests (#14655)
This commit makes two fundamental corrections to tests:
1) Changes 'matches' to the correct 'match' argument for 'pytest.raises' (for all affected tests except those checking for 'SystemExit');
2) Replaces the 'match' argument for tests expecting 'SystemExit' (since the exit code is retained instead) with 'capsys' error message capture.

Both changes are needed to ensure the associated exception message is actually checked.
2020-01-28 22:57:26 -08:00
t-karatsu
f7ec09d30b Fujitsu compiler: Defining option that is always added. (#14657) 2020-01-28 21:02:40 -06:00
Andrew W Elble
9d7e482497 git: add version 2.25.0 and fixup pcre dependency (#14649)
* git: add version 2.25.0 and fixup pcre dependency

pcre2 became optional in 2.14 and the default in 2.18. I noticed this
as git was compiling against the system pcre2 (spack was
specifying pcre as the dependency).

* missed a chunk from my internal repo
2020-01-28 21:01:25 -06:00
Peter Scheibel
69feea280d env: synchronize updates to environments (#14621)
Updates to environments were not multi-process safe, which prevented them from taking advantage of parallel builds as implemented in #13100.  This is a minimal set of changes to enable `spack install` in an environment to be parallelized:

- [x] add an internal lock, stored in the `.spack-env` directory, 
      to synchronize updates to `spack.yaml` and `spack.lock`
- [x] add `Environment.write_transaction` interface for this lock
- [x] makes use of `Environment.write_transaction` in `install`, 
      `add`, and `remove` commands

- `uninstall` is not synchronized yet; that is left for a future PR.
2020-01-28 17:26:26 -08:00
Glenn Johnson
e710656310 Set netcdf-fortran to build serially with Intel compiler (#14461)
* Set netcdf-fortran to build serially with Intel compiler

This PR turns off parallel builds when the Intel compiler is used.
Builds with the Intel compiler will fail otherwise.

* Change how parallel build is handled

Use patch from netcdf-fortran project to turn off parallel buildi for
version 4.5.2.
2020-01-28 15:13:51 -06:00
darmac
2b0b340aab racon: support aarch64 and fix install error (#14529)
* racon: support aarch64 and fix install error

* add aarch64 patch for racon
2020-01-28 15:12:40 -06:00
noguchi-k
ea0a549db3 pcma: set return value and change return type of function (#14579) 2020-01-28 15:08:35 -06:00
t-karatsu
492b600d29 diffutils: Changed the handling of undeclared functions from warning … (#14593)
* diffutils: Changed the handling of undeclared functions from warning to error.

* diffutils: Change the handling of warnings or error

* Delete '-Werror=implicit-function-declaration'

* Add '-Qunused-arguments'
2020-01-28 15:06:37 -06:00
Glenn Johnson
0605fc1557 Build graphite2 with Intel compiler (#14636)
This PR sets the definition of REGPARM when building with the Intel
compiler.
2020-01-28 15:03:13 -06:00
Matthias Diener
94def872ee Moreutils: add new package (#14653)
* moreutils: add new package

* fix flake8
2020-01-28 15:02:07 -06:00
Brian Van Essen
f17ce36da2 Fixed path for CEREAL and Protobuf (#14641) 2020-01-28 15:01:50 -06:00
Axel Huebl
2b6106524a openPMD-api: With ADIOS2 by Default (#14643)
Replace the deprecated ADIOS1 backend default with ADIOS2 default.
Disable sz since we do not need it and it conflicts with supported
version ranges between ADIOS2 and ADIOS1 if someone enables both.
2020-01-28 15:01:15 -06:00
noguchi-k
635fc62de0 powerapi: add a space between literal and identifier (#14645) 2020-01-28 14:59:59 -06:00
noguchi-k
da091c0cf5 med: add a space between literal and identifier (#14646) 2020-01-28 14:59:23 -06:00
Ben Morgan
16da648d03 intel-tbb: Fix install names on Darwin (#14650)
* intel-tbb: Fix install names on Darwin

Intel-TBB's libraries on Darwin are installed with "@rpath" prefixed
to their install names. This was found to cause issues building the root
package on Darwin due to libtbb not being found when running some of the
generated tools linking to it.

Follow example from other packages with the same issue and fixup up install
names for intel-tbb post install.

* intel-tbb: fix flake8 errors
2020-01-28 14:57:25 -06:00
Glenn Johnson
48a12c8773 Note about Intel compiler segfault with long paths (#14652)
This PR adds a note about segfaults with the Intel compiler when the
install paths are long and the dependencies many.
2020-01-28 14:57:06 -06:00
Greg Becker
52ab2421bb Fix handling of filter_file exceptions (#14651) 2020-01-28 12:49:26 -08:00
iarspider
67c6d99219 Fix for #14148 (#14595)
* Dirty hack to fix #14148

* A better way of checking if a package is taken from system

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

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

* Update qt/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-28 14:15:29 -06:00
Christoph Junghans
12b0340d2f ninja: add v1.10.0 (#14647) 2020-01-28 09:34:31 -08:00
Andrew W Elble
3f5bed2e36 make the new 'spack load' faster (#14628)
before, a 'time spack load singularity'
4.129u 0.346s 0:04.47 99.7%	0+0k 0+8io 0pf+0w

after, a 'time spack load singularity'
0.844u 0.319s 0:01.16 99.1%	0+0k 0+16io 0pf+0w
2020-01-27 20:53:52 -08:00
Owen Solberg
f58004e436 fix spack env loads example (#14558) 2020-01-27 20:49:53 -08:00
Adam Moody
6ab2c3caa3 mpifileutils: add v0.10 (#14644)
Signed-off-by: Adam Moody <moody20@llnl.gov>
2020-01-27 20:33:26 -08:00
Andrew W Elble
d86816bc1a Fix: hash-based references to upstream specs (#14629)
Spack commands referring to upstream-installed specs by hash have
been broken since 6b619da (merged September 2019), which added a new
Database function specifically for parsing hashes from command-line
specs; this function was inappropriately attempting to acquire locks
on upstream databases.

This PR updates the offending function to avoid locking upstream
databases and also updates associated tests to catch regression
errors: the upstream database created for these tests was not
explicitly set as an upstream (i.e. initialized with upstream=True)
so it was not guarding against inappropriate accesses.
2020-01-27 18:25:23 -08:00
Patrick Gartung
7badd69d1e Package source ID cannot be determined when the url can't be extrapolated for older version. (#14237) 2020-01-27 20:10:01 -06:00
Patrick Gartung
d0523ca087 Follow the example of spack arch (#14642) 2020-01-27 20:04:48 -06:00
Joe Koning
e01c39019c Add the py-merlinwf package (#14622)
* Add the py-merlinwf package

* Fix importlib-resources package name for spack naming convention.

* Add build to dependencies and add updated versions.

* Remove pytest-runner dependency.

* Fix typo.

* Add the py-tabulate dependency.

* Add sha256 for version 1.0.0

* Change to maestro version 1.1.5.

* Increase to version 1.0.4.

* Bump maestrowf version and prepare for new pypi version.

* Add sha256sum for version 1.1.5

* Add version 1.1.1.
Update maestrowf version to 1.1.7

* Add versions 1.0.5, 1.1.0, 1.1.1 and potential 1.2.0.

* Add version 1.2.0 and when on maestrowf@1.1.6.

* Add version 1.2.2 , remove 1.2.1 and 1.1.0.

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

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

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

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

* Remove mysql variant until new mysql interface module is enabled.
The mysql code may be removed.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-27 17:26:43 -06:00
Patrick Gartung
0ce4eef256 Only set tcl default. Remove lmod default. (#14640) 2020-01-27 14:55:09 -06:00
Patrick Gartung
9ffa053f18 Fix bug introduced by pull request 14467 being merged (#14639)
* Fix bug introduced by pull request 14467 being merged

* Only filter on platform and OS
2020-01-27 14:17:15 -06:00
Patrick Gartung
893b0792e4 Set module_roots in test/config/config.yaml to defaults. (#14517) 2020-01-27 14:03:15 -06:00
Massimiliano Culpo
b9629c36f2 Unified environment modifications in config files (#14372)
* Unified environment modifications in config files

fixes #13357

This commit factors all the code that is involved in
the validation (schema) and parsing of environment modifications
from configuration files in a single place. The factored out
code is then used for module files and compiler configuration.

Attributes were separated by dashes in `compilers.yaml` files and
by underscores in `modules.yaml` files. This PR unifies the syntax
on attributes separated by underscores.

Unit testing of environment modifications in compilers
has been refactored and simplified.
2020-01-27 08:40:47 -08:00
Erik Schnetter
0f3ae864a5 asdf-cxx: new package (#14637) 2020-01-27 14:50:18 +01:00
Erik Schnetter
b7b27d3862 amrex: Update to version 20.01 (#14635)
Now using Github releases instead of git commits.
2020-01-27 10:07:46 +01:00
Adam J. Stewart
eb79c82cba Fix Python version compatibility tests for vermin 0.10.0 (#14632) 2020-01-26 22:31:13 -08:00
Sinan
0e86961b84 pygdal and gdal versions should be in lockstep (#14630) 2020-01-26 18:35:16 -06:00
Adam J. Stewart
71f47b3b26 Add py-vermin package (#14631) 2020-01-26 18:34:56 -06:00
Erik Schnetter
02e077a7fa simulationio: Correct HDF5 dependency bounds (#14626)
The HDF5 dependency bound was inverted. (How did this ever compile? There is a cmake check.)
2020-01-26 17:22:43 -06:00
Erik Schnetter
87c55b79c5 hwloc: New version 2.1.0 (#14627) 2020-01-26 17:22:26 -06:00
Erik Schnetter
06e100d5cc curl: New version 7.68.0 (#14625) 2020-01-26 17:06:38 -06:00
Adam J. Stewart
f8be90cf3f Add TensorFlow 1.15.2 (#14624) 2020-01-26 15:41:09 -06:00
Patrick Gartung
d2098d337a When spack install checks for buildcaches only add urls for current arch. (#14467) 2020-01-25 21:15:12 -06:00
Erik Schnetter
a26e5caa57 h5cpp: Download from github release instead of git repo (#14573)
* h5cpp: Download from github release instead of git repo

* Correct typo in package description
2020-01-25 18:39:36 -06:00
Adam J. Stewart
cb3f4081a0 Add TensorFlow 2.0.1 (#14623) 2020-01-25 12:45:09 -06:00
Glenn Johnson
c700200959 Get vtk-8.2.0 to build (#14562)
This PR adds some extra dependencies needed for vtk-8.2.0. It also
handles the variable name changes to turn off some of the external
libraries.
2020-01-25 12:44:51 -06:00
Hadrien G
f569577747 acts-core: Add and adapt to ACTS v0.14.0 and v0.15.0 (#14580)
* Add and adapt to ACTS v0.14.0

* Add v0.15.0 too
2020-01-25 12:35:53 -06:00
Brian Homerding
1fd335d654 Removing flang variant from llvm package (#14600) 2020-01-25 12:26:11 -06:00
Adam Moody
1e09de73b7 libcircle: add v0.3 (#14611) 2020-01-25 12:22:21 -06:00
Greg Becker
a57edb7029 configure z3+python to build python libraries in its own prefix (#14604) 2020-01-24 21:16:48 -08:00
Glenn Johnson
71243f3f7b Get py-torch to build caffe2 (#14619)
* Get py-torch to build caffe2

This PR gets the py-torch package to build with caffe2, and closes
issue #14576. If building on a machine with CUDA but no GPU the build
will try to build with all compute capabilities. Older compute
capabilities are not supported so the build will fail. The list of
capabilities can be passed to the build using values set in the
cuda_arch variant. Likewise, conflicts are also set to catch if the
unsupported capabilities are listed in cuda_arch.

This PR also sets version constraints on using an external mkldnn for
newer versions. Currenly, only versions up to 0.4 use an external mkldnn
library. Also, the cuda variant is set to True, which restores
previous behavior.

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

Fix typo.

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

* Adjust conflicts

This commit adjusts the conflicts. There is an issue with the
cuda_arch=20 conflicts directive as there is a conflicting dependency
with any version >=1.1 and a cuda_arch=20 dependency specified in
CudaPackage that gets trapped first.

* Use a common message for conflicts

This commit adds a variable to contain the bulk of the message stringi
for the cuda_arch conflicts. This is used along with a version string
in the conflicts directives messages.

* Fix the strings

- Use a multiline string for the cuda_arch_conflict variable.
- No need for format() in the msg value.

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-24 22:57:16 -06:00
Mathew Cleveland
35db2d05b7 py-opppy package: add version 0_1_2 (#14229) 2020-01-24 18:58:22 -08:00
iarspider
bb29932362 py-pygdal package: 2.4.0 depends on gdal 2.4.1 (#14075) 2020-01-24 18:34:37 -08:00
plamborn
f8e0f4251d libhio: remove autoreconf method (#14283)
The autoreconf is not necessary and can cause errors.
2020-01-24 18:20:02 -08:00
健美猞猁
9a6b3b3a07 New package: MBDyn (#14438) 2020-01-24 18:14:14 -08:00
Glenn Johnson
80745128b3 harfbuzz package: add conflict for @2.3.1: with intel compiler (#14386)
harfbuzz 2.3.1 (and presumably all future versions after it) does
not build with the Intel compiler
2020-01-24 18:05:50 -08:00
Adam J. Stewart
dcd8d7a620 Add spack config list command for tab completion (#14474)
* Add spack config list command for tab completion
* Update tab completion scripts
2020-01-24 17:28:20 -08:00
Sajid Ali
12a261523e New package: p3dfft3 (#14508) 2020-01-24 17:20:36 -08:00
Michael Kuhn
95ddd3d6f2 sbang: Fix perl binary detection
The perl binary can also be called `perlX.Y.Z` if using a development
build or simply using the versioned binary.

We were also dropping all sbang arguments, since `exec $interpreter_v`
was only using the first element of the `interpreter_v` array.
2020-01-24 17:06:51 -08:00
Kevin Huck
33d35768e6 Fixing GCC compiler setting for PDT package 2020-01-24 17:03:52 -08:00
Kevin Manalo
6fd2c66022 IOR package: add version 3.2.1 (#14582) 2020-01-24 16:56:59 -08:00
Jordan Ogas
1c9337a5e4 charliecloud package: add version 0.13; remove older versions (#14591)
* Add version 0.13 and update to use Autotools build system
* Remove all versions prior to 0.13 (which do not use Autotools)
2020-01-24 16:55:55 -08:00
Massimiliano Culpo
4d7d657366 bugfix: make _source_single_file work in venvs (#14569)
Using `sys.executable` to run Python in a sub-shell doesn't always work in a virtual environment as the `sys.executable` Python is not necessarily compatible with any loaded spack/other virtual environment.

- revert use of sys.executable to print out subshell environment (#14496)
- try instead to use an available python, then if there *is not* one, use `sys.executable`
- this addresses RHEL8 (where there is no `python` and `PYTHONHOME` issue in a simpler way
2020-01-24 16:49:45 -08:00
Piotr Luszczek
d646c8d8d5 magma: add new version 2.5.2 2020-01-24 15:27:01 -08:00
Jon Rood
d58390dbf7 Add version 0.6.3 of yaml-cpp. 2020-01-24 15:26:33 -08:00
Brian Van Essen
36fca2c29a Updated and cleaned up the recipe for the LBANN and Hydrogen packages. (#14612)
* Updated and cleaned up the recipe for the LBANN and Hydrogen packages.

* Flake8

* Added type test for catch2
2020-01-24 14:49:05 -06:00
Brian Van Essen
4a5835ef2c Added version for 10.2 compatibility (#14613)
* Added version for 10.2 compatibility

* Updated the preferred version
2020-01-24 09:30:38 -06:00
Seth R. Johnson
ca6e75c9f6 Use Spack target architecture to determine OpenBLAS target (#14380)
Openblas target is now determined automatically upon inspection of
`TargetList.txt`. If the spack target is a generic architecture family
(like x86_64 or aarch64) the DYNAMIC_ARCH setting is used
instead of targeting a specific microarchitecture.
2020-01-24 15:19:05 +01:00
Axel Huebl
b0fce56d5b openPMD-api: adios_config to run env (#14610)
Popular CMake find-scripts for ADIOS1 search for this binary instead
of looking up `CMAKE_PREFIX_PATH`.
2020-01-23 17:35:45 -08:00
Todd Gamblin
04a6a55cf8 commands: add simple spack commands --update-completion argument (#14607)
Instead of another script, this adds a simple argument to `spack
commands` that updates the completion script.  Developers can now just
run:

    spack commands --update-completion

This should make it simpler for developers to remember to run this
*before* the tests fail.  Also, this version tab-completes.
2020-01-23 14:48:06 -08:00
Adam J. Stewart
031fdfd7ca Add TensorFlow 1.15.1 (#14614) 2020-01-23 16:25:30 -06:00
Hadrien G
80ea96312f ftgl: Move to frankheckenbach fork + CMakePackage (#14221)
* Try to switch to a newer fork of ftgl

* Allow ROOT to be more flexible about ftgl versions

* Turn ftgl into a CMakePackage

* Update ROOT ftgl dep since 2.1.3 isn't a thing anymore

* Please flake8

* Try to bring back the doc variant

* Comment it out instead of removing it
2020-01-23 11:43:11 -06:00
Hadrien G
1a385a5178 root: Fix root+x breakage from #11129 (#14224)
* Fix root+x breakage from #11129

* Separate out +opengl breakage

* Not strictly X11-related, but more breakage from  #11129

* Another X11 breakage found while building 6.08.x

* Don't put system headers in SPACK_INCLUDE_DIRS + deduplicate

* xextproto is only a dependency in +x builds
2020-01-23 11:42:25 -06:00
Greg Becker
c9e01ff9d7 shell support: spack load no longer needs modules (#14062)
Previously the `spack load` command was a wrapper around `module load`. This required some bootstrapping of modules to make `spack load` work properly.

With this PR, the `spack` shell function handles the environment modifications necessary to add packages to your user environment. This removes the dependence on environment modules or lmod and removes the requirement to bootstrap spack (beyond using the setup-env scripts).

Included in this PR is support for MacOS when using Apple's System Integrity Protection (SIP), which is enabled by default in modern MacOS versions. SIP clears the `LD_LIBRARY_PATH` and `DYLD_LIBRARY_PATH` variables on process startup for executables that live in `/usr` (but not '/usr/local', `/System`, `/bin`, and `/sbin` among other system locations. Spack cannot know the `LD_LIBRARY_PATH` of the calling process when executed using `/bin/sh` and `/usr/bin/python`. The `spack` shell function now manually forwards these two variables, if they are present, as `SPACK_<VAR>` and recovers those values on startup.

- [x] spack load/unload no longer delegate to modules
- [x] refactor user_environment modification calculations
- [x] update documentation for spack load/unload

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-01-22 22:36:02 -08:00
Mark W. Krentel
5053dfa259 binutils, libiberty: add version 2.33.1 2020-01-22 21:50:10 -08:00
Adam J. Stewart
11f2b61261 Use spack commands --format=bash to generate shell completion (#14393)
This PR adds a `--format=bash` option to `spack commands` to
auto-generate the Bash programmable tab completion script. It can be
extended to work for other shells.

Progress:

- [x] Fix bug in superclass initialization in `ArgparseWriter`
- [x] Refactor `ArgparseWriter` (see below)
- [x] Ensure that output of old `--format` options remains the same
- [x] Add `ArgparseCompletionWriter` and `BashCompletionWriter`
- [x] Add `--aliases` option to add command aliases
- [x] Standardize positional argument names
- [x] Tests for `spack commands --format=bash` coverage
- [x] Tests to make sure `spack-completion.bash` stays up-to-date
- [x] Tests for `spack-completion.bash` coverage
- [x] Speed up `spack-completion.bash` by caching subroutine calls

This PR also necessitates a significant refactoring of
`ArgparseWriter`. Previously, `ArgparseWriter` was mostly a single
`_write` method which handled everything from extracting the information
we care about from the parser to formatting the output. Now, `_write`
only handles recursion, while the information extraction is split into a
separate `parse` method, and the formatting is handled by `format`. This
allows subclasses to completely redefine how the format will appear
without overriding all of `_write`.

Co-Authored-by: Todd Gamblin <tgamblin@llnl.gov>
2020-01-22 21:31:12 -08:00
Todd Gamblin
8011fedd9c bugfix: gpg2 is called 'gpg' on macOS
The gpg2 command isn't always around; it's sometimes called gpg.  This is
the case with the brew-installed version, and it's breaking our tests.

- [x] Look for both 'gpg2' and 'gpg' when finding the command
- [x] If we find 'gpg', ensure the version is 2 or higher
- [x] Add tests for version detection.
2020-01-22 17:34:31 -08:00
Axel Huebl
910df8cb4e openPMD-api: Default +adios1 (#14599)
Enable the ADIOS1 backend by default.
2020-01-22 15:49:27 -08:00
Massimiliano Culpo
74266ea789 tests: removed code duplication (#14596)
- [x] Factored to a common place the fixture `testing_gpg_directory`, renamed it as 
      `mock_gnupghome`
- [x] Removed altogether the function `has_gnupg2`

For `has_gnupg2`, since we were not trying to parse the version from the output of:
```console
$ gpg2 --version
```
this is effectively equivalent to check if `spack.util.gpg.GPG.gpg()` was found. If we need to ensure version is `^2.X` it's probably better to do it in `spack.util.gpg.GPG.gpg()` than in a separate function.
2020-01-22 14:04:16 -08:00
Axel Huebl
7a0990903f MPark.Variant: Patch NVCC C++14 Build 2 (#14434)
Update the patch to fix builds with NVCC <= 10.2.89 with
the accepted PR for upcoming releases of the library.
2020-01-22 11:29:02 -08:00
Sam Gutiérrez
ffbb0efc81 libquo: Update default version from 1.3 to 1.3.1. (#14585) 2020-01-22 11:14:26 -08:00
Todd Gamblin
2eadfa24e9 bugfix: hashes should use ordered dictionaries (#14390)
Despite trying very hard to keep dicts out of our hash algorithm, we seem
to still accidentally add them in ways that the tests can't catch. This
can cause errors when hashes are not computed deterministically.

This fixes an error we saw with Python 3.5, where dictionary iteration
order is random.  In this instance, we saw a bug when reading Spack
environment lockfiles -- The load would fail like this:

```
...
File "/sw/spack/lib/spack/spack/environment.py", line 1249, in concretized_specs
  yield (s, self.specs_by_hash[h])
KeyError: 'qcttqplkwgxzjlycbs4rfxxladnt423p'
```

This was because the hashes differed depending on whether we wrote `path`
or `module` first when recomputing the build hash as part of reading a
Spack lockfile.  We can fix it by ensuring a determistic iteration order.

- [x] Fix two places (one that caused an issue, and one that did
  not... yet) where our to_node_dict-like methods were using regular python
  dicts.

- [x] Also add a check that statically analyzes our to_node_dict
  functions and flags any that use Python dicts.

The test found the two errors fixed here, specifically:

```
E       AssertionError: assert [] == ['Use syaml_dict instead of ...pack/spack/spec.py:1495:28']
E         Right contains more items, first extra item: 'Use syaml_dict instead of dict at /Users/gamblin2/src/spack/lib/spack/spack/spec.py:1495:28'
E         Full diff:
E         - []
E         + ['Use syaml_dict instead of dict at '
E         +  '/Users/gamblin2/src/spack/lib/spack/spack/spec.py:1495:28']
```

and

```
E       AssertionError: assert [] == ['Use syaml_dict instead of ...ack/architecture.py:359:15']
E         Right contains more items, first extra item: 'Use syaml_dict instead of dict at /Users/gamblin2/src/spack/lib/spack/spack/architecture.py:359:15'
E         Full diff:
E         - []
E         + ['Use syaml_dict instead of dict at '
E         +  '/Users/gamblin2/src/spack/lib/spack/spack/architecture.py:359:15']
```
2020-01-21 23:36:10 -08:00
Scott Wittenburg
8283d87f6a pipelines: spack ci command with env-based workflow (#12854)
Rework Spack's continuous integration workflow to be environment-based.

- Add the `spack ci` command, which replaces the many scripts in `bin/`

- `spack ci` decouples the CI workflow from the spack instance:
  - CI is defined in a spack environment
  - environment is in its own (single) git repository, separate from Spack
  - spack instance used to run the pipeline is up to the user
  - A new `gitlab-ci` section in environments allows users to configure how
    specs in the environment should be mapped to runners
  - Compilers can be bootstrapped in the new pipeline workflow

- Add extensive documentation on pipelines (see `pipelines.rst` for further details)
- Add extensive tests for pipeline code
2020-01-21 22:35:18 -08:00
Todd Gamblin
4d794d63b5 python: add debug variant to enable pydebug (#14584) 2020-01-21 15:09:41 -08:00
Adam J. Stewart
796722aeee Add py-scipy 1.2.3 (#14583) 2020-01-21 15:29:50 -06:00
Glenn Johnson
900161d182 Update and fix samtools (#14507)
* Update and fix samtools

This PR adds samtools-1.10 and sets the htlib directory so that the
spack built htslib can be used. This PR also arranges the dependencies
so that the htslib sequence is grouped on its own. Finally, the bzip2
dependency is removed and python and perl run dependencies are added.

* Fix samtools when built with ncurses+termlib

* The CI flake8 tests require lowercase variable

Interestingly, this did not show up when I ran `spack flake8` locally.
2020-01-21 15:24:39 -06:00
Dr. Christian Tacke
5eed196f74 Use util.url.join for URLs in GNU Mirrors / reorder Mirrors (#14395)
* Reorder GNU mirrors (#14395)

As @adamjstewart commented in #14395, GNU suggests to use
their mirror. So reorder the mirror to the top.

GNU Doc: https://www.gnu.org/prep/ftp.en.html

* Use spack.util.url.join for URLs in GNU mirrors (#14395)

One should not use os.path.join for URLs. This does only
work on POSIX systems.

Instead use spack.util.url.join.
So every part in spack uses the same url joining method.
2020-01-21 13:14:38 -06:00
Michael Kuhn
54ecc4e504 cmake: Fix patch checksum (#14542)
Add patch locally to make sure checksum cannot change again.
2020-01-21 13:05:42 -06:00
Glenn Johnson
5db5040871 Use CudaPackage mixin for py-theano (#14577)
This PR adds the CudaPackage mixin class to py-theano. This replaces the
`gpu` variant with the `cuda` variant.
2020-01-21 09:27:41 -06:00
Adam J. Stewart
d10505678f Add new kcov package (#14574)
* Add new kcov package

* Fix linking error and add test
2020-01-20 19:22:05 -06:00
Sean Smith
f23a136d83 Update AWS ParallelCluster to 2.5.1 (#14571)
Signed-off-by: Sean Smith <seaam@amazon.com>
2020-01-20 15:19:28 -06:00
Cyrus Harrison
ca26eb6923 add conduit 0.5.1 release and allow conduit to build against statically linked python (#14559) 2020-01-19 20:22:03 -06:00
Olaf Mersmann
dbb149cd7f capnproto: New package. (#14557)
* capnproto: New package.

* capnproto: Fix flake8 errors.

* Remove characters invalid in Python 2.
2020-01-19 17:20:22 -06:00
Simon Pintarelli
818b00e302 py-voluptuous update versions (#14556) 2020-01-19 10:39:11 -06:00
Howard Pritchard
ba22af0de0 openmpi: swat btl/uct ucx 1.7 bug (#14522)
Unfortunately UCX 1.7.0 is appearing in RPMS before it's officially released.
There's a problem with Open MPI 4.0.x where x < 3 and this version of UCX,
namely that the UCT BTL fails to compile.

See https://github.com/open-mpi/ompi/issues/7128

This patch works around the problem by disabling the build of the UCT BTL
for releases 4.0.0 to 4.0.2.

add hppritcha (me) as maintainer

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2020-01-18 13:52:26 -06:00
Matthieu Dorier
d8b4bee0cd Added py-spdlog package (#14514)
* Added py-spdlog package

* pleasing flake-8

* pleasing flake-8

* addressed some comments from adamjstewart

* changed URL for archive

* replaced with pypi.io url
2020-01-18 13:51:55 -06:00
Martin Pokorny
cacd57d340 Updates to casacore package (#14552)
* Add +cfitsio variant to wcslib dependency

* Replace ncurses dependency with readline dependency

casacore explicitly may depend on readline, not ncurses

* Add workaround for casacore's readline dependency

casacore optionally depends upon readline, but it's CMakeLists.txt provides no
user control over whether or not readline becomes a dependency. As readline is
often present by default on systems, it's better for this package to explicitly
depend on readline in order to prevent linking to whatever system version of the
library happens to be found during the build process. This should be considered
a workaround until casacore's CMakeLists.txt is fixed.

* Apply workaround for casacore's dependency on SOFA

Similar to the issues with casacore's readline dependency, casacore's optional
dependency on SOFA does not provide the user with a means of controlling the
dependency during build time. Unlike the readline library, the SOFA library is
unlikely to exist on most systems by default. As the SOFA dependency is only
optionally used for testing casacore, requiring it by default is not a good
workaround. Until casacore's CMakeLists.txt is fixed, this variant has been
removed to avoid unexpected library dependencies in the installed package.

* Add newer casacore versions

* Add mpokorny to maintainer field
2020-01-17 20:02:51 -06:00
Valentin Reis
c6a6911821 aml: adds 'develop' and 'master' targets. (#14549)
Co-authored-by: mlhardware <57849932+mlhardware@users.noreply.github.com>
2020-01-17 16:38:12 -06:00
Kai Torben Ohlhus
9010d4fce5 suite-sparse: add 5.4.0, 5.5.0, and 5.6.0, GitHub releases (#14547)
- The suite-sparse author publishes new versions starting with 5.5.0 on GitHub, see https://github.com/DrTimothyAldenDavis/SuiteSparse/releases and http://faculty.cse.tamu.edu/davis/SuiteSparse/
  - change spack to download from there
  - updated sha256 checksums from GitHub for all available releases
- For versions 5.4.0, 5.5.0, 5.6.0 there is a slightly different compilation necessary: first `make default` then `make install`.

Summary of the version changes (+ added, -removed [because not available on GitHub]):
```
+ 5.6.0
+ 5.5.0
+ 5.4.0
  5.3.0
  5.2.0
+ 5.1.2
  5.1.0
+ 5.0.0
+ 4.5.6
  4.5.5
- 4.5.4
  4.5.3
- 4.5.1
```
2020-01-17 13:04:53 -06:00
darmac
4bb76cf5e8 add new package : erlang (#14548) 2020-01-17 13:03:08 -06:00
Sajid Ali
c52bcdd080 jdk temporary fix (#14550) 2020-01-17 12:58:58 -06:00
darmac
4d752e63e5 fix hadoop url and update versions (#14530) 2020-01-17 12:56:00 -06:00
Brian Van Essen
94bc6b06b1 Added new hashes for the protobuf and py-protobuf packates. (#14546)
* Added new hashes for the protobuf and py-protobuf packates.

* Fixed flake8
2020-01-16 17:02:50 -06:00
Adam J. Stewart
bdc9b89d86 Don't patch latest version of HDF5 (#14545) 2020-01-16 15:59:26 -06:00
Adam J. Stewart
563e261fa4 Add py-torchvision 0.5.0 (#14544) 2020-01-16 15:46:55 -06:00
Adam J. Stewart
38cd15d0e0 Add py-torch 1.4.0 (#14543) 2020-01-16 15:46:41 -06:00
Adam J. Stewart
808c80d65a Fix use of sys.executable for module/env commands (#14496)
* Fix use of sys.executable for module/env commands

* Fix unit tests

* More consistent quotation, less duplication

* Fix import syntax
2020-01-16 15:46:18 -06:00
Adam J. Stewart
7a61d1dbd1 Add include/pythonX.Y to CPATH (#14523) 2020-01-16 15:21:14 -06:00
Cameron Stanavige
0f68ed73c6 unifyfs: new release version (#14527)
This updates the UnifyFS package to account for the latest 0.9.0
version and removes support for version 0.2.0.
2020-01-16 15:16:59 -06:00
Howard Pritchard
876305adf0 mesa: check aarch64 system type as well (#14493)
to disabled use of libunwind.  Without this mesa fails to build
using recent Cray compilers - cce 9 and higher -  on aarch64 systems.

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2020-01-16 12:21:34 -06:00
noguchi-k
7319516749 falcon: Set Py_None to return value (#14532) 2020-01-16 12:14:52 -06:00
albestro
c763b68b7c update hpx package for the new release 1.4.0 (#14533) 2020-01-16 12:12:35 -06:00
darmac
f22855f6e7 add new package : geode (#14534)
* add new package : geode

* remove provides for gemfire
2020-01-16 12:11:30 -06:00
darmac
362e79bb3a add new package : ignite (#14539) 2020-01-16 12:04:41 -06:00
Glenn Johnson
5aeab7dbe5 Use CudaPackage mixin for py-torch (#14540)
This PR adds CudaPackage in order to pick up the cuda/compiler conflicts
defined in CudaPackage.
2020-01-16 12:02:53 -06:00
Michael Kuhn
8ad0be96aa perl: Fix binary detection (#14536)
It seems that stable versions of perl also install a `perlX.Y.Z` binary.
However, it seems that this binary can hang if used in conjunction with
Spack's sbang workaround, as observed during automake's build.
2020-01-16 10:11:53 -06:00
Kai Torben Ohlhus
b7f0493563 octave: add 5.1.0 (#14531)
Add version Octave 5.1.0 including sha256.
2020-01-15 22:55:24 -06:00
Glenn Johnson
8b1bf2d613 Update py-csvkit (#14525)
* Update py-csvkit

This PR updates the py-csvkit package. This version requires a python
stack based on agate and this PR includes the new dependency packages.

- py-agate-dbf
- py-agate-excel
- py-agate-sql
- py-agate
- py-dbfread
- py-isodate
- py-leather
- py-parsedatetime
- py-python-slugify
- py-pytimeparse
- py-text-unidecode

* Replace the copy/pasted apostrophes

Python 2 can not process the copy/pasted apostrophes so replace them
with standard single quote character.

* Add version constraints on dependencies
2020-01-15 22:45:04 -06:00
Olaf Mersmann
a48fb69601 Update RocksDB to current version (#14524)
* rocksdb: Fix for rocksdb issue 5303

* rocksdb: Explicitly disable features

* rocksdb: Add TBB variant.

* rocksdb: New version 5.18.3 and 6.5.3
2020-01-15 18:50:24 -06:00
Adam J. Stewart
3cd6938d80 Fix typo in modules docstring (#14521) 2020-01-15 15:16:12 -06:00
Glenn Johnson
027142bcfc Add version constraint to graphviz patches (#14377)
* Add version contraint to graphviz patches

This PR restricts the graphviz version that the patches for building
with the Intel compiler apply to. The two patches that were needed for
building graphviz-2.40.1 with the Intel compiler are not needed for
graphviz-2.42.2.

* Adjust the qt dependencies

The qt5 patch is only needed for graphviz-2.40.1. However, that version
will only compile with GCC-6 or greater.
2020-01-15 14:14:45 -06:00
Michael Kuhn
c2778d8898 perl: Add 5.30.1 (and 5.31.7) (#14509)
This also fixes actually building the development releases.
2020-01-15 14:12:51 -06:00
Michael Kuhn
e6e06aa2f3 mariadb-c-client: Add 3.1.6 and 3.1.5 (#14510) 2020-01-15 14:10:47 -06:00
Mark W. Krentel
b5d729a829 hpctoolkit: add version 2019.12.28 (#14519)
Add version 2019.12.28 and update the prereqs for the latest master.
2020-01-15 14:04:22 -06:00
Rao Garimella
946a80bd3d New package Jali - unstructured mesh infrastructure for multiphysics applications (#14498)
* add variant for enabling testing

* add variant for enabling testing

* enable tests and clean up other options

* enable tests and clean up other options

* add numbered versions

* add numbered versions

* updates to avoid enable_tests variant; correct versioning

* updates to avoid enable_tests variant; correct versioning

* fixes for style

* appropriate partitioners are enabled if 'all' is specified - so no need to check in spec

* revert accidental change to copyright

* remove erroneously re-introduced line about tests

* new spack recipe for build Jali - unstructured mesh infrastructure for multiphysics applications

* remove the +parallel condition for mstk, update 1.1.1 sha256sum and whitespace cleanup

* reformat description

* cut down description
2020-01-15 12:32:17 -06:00
Robert Mijakovic
a2f961bd6f Adds MPI_THREAD_MULTIPLE support for OpenMPI to the variant with UCX fabrics (#14194)
* Fixes:
1. MPI_THREAD_MULTIPLE problem with OpenMPI and UCX.

Changes:
1. OpenMPI provides two new depends_on options which result in UCX being compiled with multiple threads support. One implicit when OpenMPI 3.x is used, MPI_THREAD_MULTIPLE is enabled by default, and one explicit for OpenMPI <= 2.x, MPI_THREAD_MULTIPLE is disabled by default.
2. Extends UCX package to allow "Enable thread support in UCP and UCT" option.
3. Adds sha256 sums of UCX releases 1.6.1 and 1.2.0.

More details:
Fixes the issue with OpenMPI where programs which use MPI_THREAD_MULTIPLE will fail to execute because UCP worker didn't support it.
During the OpenMPI package installation it's the +thread_multiple spec was not propagated to UCX nor UCX handled it at all.
Now, the OpenMPI package is capable of handling +thread_multiple spec when UCX is request and the UCX package correctly handles +thread_multiple and compiles with the --enable-mt option.
Error message during runtime:
pml_ucx.c:226 Error: UCP worker does not support MPI_THREAD_MULTIPLE

* Adapts check of specs to read better and is the suggested form in the docs.

* Explicitly disables multithreading of UCX if +thread_multiple option is not used.
2020-01-15 12:31:18 -06:00
Glenn Johnson
0232c820ab Rework texlive package to install from source (#14332)
* Rework texlive package to install from source

This PR reworks the texlive package so that it installs from versioned
source distibution files. This is preferred over installing the binary
package for several reasons. For the binary installation:

1. Each component is downloaded, so can not use a spack mirror.
2. Changes in components over time are not reflected in spack hash.
3. Some of the binaries do not run due to glibc issues, depending on OS.

This PR keeps the binary installation as an option but it should be
considered deprecated, and probably rewmoved at some point.

This PR depends on zziplib from PR #14318.

* Fix flake8 issues
2020-01-15 11:35:07 -06:00
Glenn Johnson
f8acb95ad3 Convert encoding of script in interproscan (#14356)
One of the perl scripts was encoded with ISO-8859-1, which caused the
sbang replacement process to fail when spack uses python3. This PR
converts the ps_scan script to UTF-8 encoding.
2020-01-15 11:32:18 -06:00
Glenn Johnson
726a662c2c Change encoding for scripts in repeatmasker (#14358)
This PR converts ISO-8859 encoding to UTF-8 encoding for three scripts in
repeatmasker.

- the main RepeatMasker script
- SimpleBatcher.pm
- wublastToCrossmatch.pl

The ISO-8859 encoding prevented the sbang replacement of long paths when
spack uses python3.
2020-01-15 11:31:51 -06:00
Michael Kuhn
b69cf08cfb python: Add 3.7.6 and 3.7.5 (#14497) 2020-01-15 11:24:48 -06:00
Glenn Johnson
e7add79cba Update the icu4c package (#14450)
* Update the icu4c package

This PR makes several changes to the icu4c package

1. add updated version to 65.1
2. modify the default url as project has moved to github
3. set UTF-8 locale to support building from source files in UTF-8
format

Note that the older versions are not available on github so explicit urls
were used. This PR will close #14399.

* Consolidate the urls

Consolidate the URLs in the `version` directives by using an if test in
`url_for_version`.

* Put version and sha256 on same line

* Put top level url back
2020-01-14 22:05:55 -06:00
Glenn Johnson
9f6ac938b7 Update and fix bcftools package (#14505)
* Update and fix bcftools package

This PR updates bcftools to 1.10.2 and is dependent on PR #14504.

This PR also fixes builds of other versions. Versions 1.2-1.4 did not
use autotools so when the packaeg was converted to use autotools with
version 1.6 those older versions could no longer build. Also, those
versions needed to be patched to use an external htsllib. The method of
finding the external htslib is also different for those older versions.

In addition, this PR adds two variants to bcftools:

- libgsl
- perl-filters

Finally, dependencies for perl and python are added, and an unused
dependency for libzip was removed.

* Do not use '@' in variant description

The '@' character in a variant description will cause a problem with
`spack info`.

```
==> Error: Incomplete color format: '@' in
expressions, for @1.8:
```

* Fix error with python2 processing this package
2020-01-14 22:04:47 -06:00
Erik Schnetter
e78f3ed040 Update armadillo (#14499) 2020-01-14 17:49:49 -06:00
Erik Schnetter
ef68791210 Update HDF5 to 1.10.6 (#14500) 2020-01-14 17:49:21 -06:00
Erik Schnetter
8ffb9605d7 h5cpp: New package (#14501) 2020-01-14 17:48:49 -06:00
Justin S
4b1c356a27 trnascan-se: add and configure infernal dependency (#14502)
* trnascan-se: add and configure infernal dep

* trnascan-se: use patch() for infernal config
2020-01-14 17:47:48 -06:00
Erik Schnetter
ae6afaf8e1 mpich: Correct package name in output (#14503) 2020-01-14 17:46:39 -06:00
Glenn Johnson
ed9ab0668f Update htslib and add libcurl variant (#14504)
* Update htslib and add libcurl variant

This PR updates htslib to version 1.10.2 and adds a libcurl variant. The
libcurl variant defaults to True because, while it is optional, it is
highly recommended by the project developers.

Other things done:

- be consistent with quotes

* Change version in variant description

Apparently, `spack info` does not like the `@` character in a variant
description.

```
==> Error: Incomplete color format: '@' in
@1.3:.
```
2020-01-14 17:39:09 -06:00
Tom Scogland
df8ee438e5 stop word splitting from leaking out of setup-env (#14472)
The pathadd function was using setopt to configure zsh for word
splitting, which leaks out of the function and breaks default
functionality in a number of external zsh plugins and packages.  This
switches to emulate -L, just as the spack function uses, to keep the
setting local to the function.
2020-01-14 15:32:57 -08:00
Justin S
7ddbc9bc87 py-yajl: new package at 0.3.5 (#14278)
* py-yajl: new package at 0.3.5

* py-yajl: use PyPI mirror

* py-yajl: use short PyPI url

* remove py-ujson package

* py-yajl: remove unused imports
2020-01-14 17:23:32 -06:00
Justin S
30694aa501 gapfiller: traverse subdirectories in patch (#14375)
* gapfiller: traverse subdirectories in patch

* gapfiller: revert glob function change

* gapfiller: use more precise glob
2020-01-14 17:22:49 -06:00
Stephanie Brink
a18ab8f765 new package: variorum (#13624) 2020-01-14 12:01:01 -08:00
Rao Garimella
eefccd5d22 Update MSTK to 3.3.1 (#14494) 2020-01-14 13:08:57 -06:00
darmac
a04faa8f6b add new package : rocketmq (#14442)
* add new package : rocketmq

* remove url_for_version()
2020-01-14 11:59:40 -06:00
Adam J. Stewart
240a9e6284 Fix parsing of rocketmq URL (#14490) 2020-01-14 11:59:10 -06:00
darmac
7a88c17d3a add new package : py-ansible (#14436)
* add new package : py-ansible

* update license info

* update py-ansible depends
2020-01-14 11:58:48 -06:00
Kshitij Mehta
5c7a3e2d14 codar-cheetah: Added version 0.5 (#14487)
* codar-cheetah: Added version 0.5

* codar-cheetah: Dropped v0.1 as it was not built as a Python package.
2020-01-14 11:55:15 -06:00
Rob Latham
4c65324084 Sometimes debugging symbols are helpful (#14452) 2020-01-14 11:54:38 -06:00
Nichols A. Romero
6d8ec8890a Flang OpenMP target support for NVidia GPUs. (#14486)
* Flang OpenMP target support for NVidia GPUs.

* explictly disable gpu option with else clause.
2020-01-14 11:54:07 -06:00
eugeneswalker
2e5c9eb2e3 upcxx depends on python 2 >= 2.7.5 (#14462) 2020-01-14 11:53:38 -06:00
Elsa Gonsiorowski, PhD
4366977540 libcircle: add develop version from git master branch (#14420)
* libcircle: add develop version from git master branch

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

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

* libcircle: flake8 fix i think

* libcircle: naming things

* libcircle: 🐑 my sacrifice to the flake8 gods

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-13 21:23:56 -06:00
Hadrien G
c51db51bfb verrou: Add support for verrou v2.2.0 (#14480)
* Add support for verrou v2.2.0

* Add myself as a maintainer
2020-01-13 21:23:08 -06:00
t-karatsu
41c40d4ba4 r-mass: Add version '7.3-51.5' and fix checksum. (#14439) 2020-01-13 21:06:44 -06:00
darmac
713d7a3793 add new package : gpdb (#14440)
* add new package : gpdb

* update docstring and license info
2020-01-13 21:04:00 -06:00
darmac
e2e9f02d81 add new package : hive (#14443) 2020-01-13 21:01:27 -06:00
darmac
b33d108c1b add new package : drill (#14444) 2020-01-13 21:00:36 -06:00
darmac
737d2f55a8 Flume (#14445)
* add new package : flume

* add new package : flume
2020-01-13 21:00:06 -06:00
darmac
c41dfb0a75 add new package : flink (#14446) 2020-01-13 20:59:34 -06:00
Gregory Lee
35a696a965 added intel parallel 2020.0 and components (#14451) 2020-01-13 20:51:22 -06:00
Rob Latham
a76ef717bd Support for more libfabric providers (#14453)
Add support for (just about) every provider libfabric knows about
2020-01-13 20:47:48 -06:00
MIchele Martone
fa2e094c81 new package: librsb (#14455)
* new package: librsb

* flake8, be good

* no hardocded FC=gfortran
2020-01-13 20:46:20 -06:00
darmac
6c4c26f538 add new package : keepalived (#14463) 2020-01-13 20:36:16 -06:00
Glenn Johnson
0a666af326 Remove overlapping depends_on statement for py-basemap (#14475)
This PR resolves an overlapping dependency specification for py-basemap.
2020-01-13 20:34:13 -06:00
Rao Garimella
487731e207 Add version 3.3.0 to MSTK spackage (#14476) 2020-01-13 20:33:47 -06:00
Michael Kuhn
8660b0b5b8 python: Fix post-install script without C++ compiler (#14481) 2020-01-13 20:29:02 -06:00
Adam J. Stewart
5b1297378c Add Python 3.8.1 (#14484) 2020-01-13 20:27:57 -06:00
Adam J. Stewart
d78c52c291 Add GDAL 3.0.3 and 2.4.4 (#14485) 2020-01-13 20:27:41 -06:00
Axel Huebl
0d435630db openPMD-api: Depends on ADIOS 2.5.0 (#14489)
Only ADIOS2 versions we support.
2020-01-13 20:24:00 -06:00
Jonathon Anderson
673a725576 New package: qemu (#14184) 2020-01-13 15:52:18 -06:00
Tamara Dahlgren
eb7a4e1029 Fixes #14402 (#14483)
Check if patchelf is executable, not binary, in case a site is wrapping it.
2020-01-13 13:00:14 -08:00
Paul
5afc407faa Add Go version 1.13.6 and 1.12.15 (#14482) 2020-01-13 16:48:27 +01:00
Simon Pintarelli
465577847d SIRIUS, SpFFT: updated package recipes and versions (#14469) 2020-01-13 14:45:36 +01:00
darmac
6edc7a2558 racon: added v1.4.3, v1.4.2, v1.4.0 and v1.3.3 (#14478) 2020-01-13 14:23:33 +01:00
Sajid Ali
8917d58e7a syned: new package at develop (#14468) 2020-01-13 13:45:47 +01:00
Christoph Junghans
9c4479624c gromacs: add v2020 (#14477) 2020-01-13 09:45:20 +01:00
Nichols A. Romero
d1c708bdf3 LLVM-Flang package (#14389)
* Add 20181226 release of pgmath

* 20190329 release of pgmath requires match for CMPLX macro.

* Add llvm-flang package for Flang fork of LLVM

* Add new and old flang releases.

* Add cmake and python dependencies.

* Update dependencies on llvm-flang and pgmath.

* Fix cmake args and change spec to reflect llvm-flang package.

* change copyright date through 2020.

* Reference Flang package more explicitly.

* More robust support for python executable.

* import os no longer needed, picked up by flake8.

* Use built-in target spec. Variant and targets follow style in main LLVM package.

* Get rid of targets list and only support one target for now.

* Sparc does not appear to be supported in Flang.

* Raise InstallError if architecture not supported.
2020-01-11 16:13:03 -06:00
Adam J. Stewart
257e71d87a Reformat Bash tab completion script (#14456) 2020-01-10 11:32:50 -06:00
Adam J. Stewart
52df2309cb Add TensorFlow 2.1.0 (#14429)
* Add TensorFlow 2.1.0

* kafka and ignite are no longer supported
2020-01-09 11:01:51 -06:00
Hadrien G
b982015930 root: Configure ROOT correctly for python3 (#14225)
* Configure ROOT correctly for python3

* Record Python version conflict

* Code editing on a phone sucks
2020-01-09 09:33:10 -06:00
thelfer
ff23672591 new versions of TFEL and MGIS (#14249)
* fixes #967

* Version bump to 0.9.1

- Bugfixes for spack find
- 0.9.1 can read specs from current develop.

* Don't assume spack is in the path when building docs.

* Quick fix for relocation issues.

* elf relocation fix: cherry-picked from develop branch (#6889)

* Revert "Quick fix for relocation issues."

This reverts commit 57608a6dc4.

* Buildcache: relocate fixes (#6512)

* Updated function which checks if a binary file needs relocation.
  Previously this was incorrectly identifying ELF binaries as symbolic
  links (so they were being excluded from relocation). Added test to
  check that ELF binaries are not considered symlinks.

* relocate_text was not replacing paths in text files. Added test to
  check that text files are relocated properly (i.e. paths in the file
  are converted to the new prefix).

* Exclude backup files created by filter_file when installing from
  binary cache.

* Update write_buildinfo_file method signature to distinguish between
  the spec prefix and the working directory for the binary cache
  package.

* Final changes for v0.11.0 (#6318)

* Fix logo link in README.md to point to the develop branch. (#6969)

* Compiler flag handlers (#6415)

This adds the ability for packages to apply compiler flags in one of
three ways: by injecting them into the compiler wrapper calls (the
default in this PR and previously the only automated choice);
exporting environment variable definitions for variables with
corresponding names (e.g. CPPFLAGS=...); providing them as arguments
to the build system (e.g. configure).

When applying compiler flags using build system arguments, a package
must implement the 'flags_to_build_system_args" function. This is
provided for CMake and autotools packages, so for packages which
subclass those build systems, they need only update their flag
handler method specify which compiler flags should be specified as
arguments to the build system.

Convenience methods are provided to specify that all flags be applied
in one of the 3 available ways, so a custom implementation is only
required if more than one method of applying compiler flags is
needed.

This also removes redundant build system definitions from tutorial
examples

* Fix type issues with setting flag handlers (#6960)

The flag_handlers method was being set as a bound method, but when
reset in the package.py file it was being set as an unbound method
(all python2 issues). This gets the underlying function information,
which is the same in either case.

The bug was uncovered for parmetis in #6858. This is a partial fix.
Included are changes to the parmetis package.py file to make use of
flag_handlers.

* Bump version to 0.11.1

* Added flags to unit tests + OSX build done once per day (#6988)

* Adding flags to codecov reports

* OSX builds are triggered once a day

* Pull R list_urls from upstream.

* travis: removed /usr/local/include/c++ before installing gcc on OSX (#6515) (#7027)

"brew install gcc" fails for travis build because of an existing
/usr/local/include/c++. This commit removes the offending file
as suggested by brew.

* Fix gfortran 7 detection (#7017)

* Add NameError to exceptions caught from configure_args in module generation (#7173)

* Revert "Binary caching: remove symlinks, copy files instead (#9747)"

This reverts commit 058cf81312.

* Make Spack relocate text files in build caches with relative binaries

* add the tfel package

* fix the tfel package

* fix the tfel package

* fix the tfel package

* Taking Adam J. Steward' remarks into account

* fixes trailing white spaces

* Update description

* Update dependencies following @adamjstewart adices

* Style fixes

* Style fixes

* Add java optional support

* add the maintainers attribute (following @alalazo advice), disable interface not selected (following @adamjstewart advice)

* flake8 fixes

* Fix Cast3M and python-bindings support. Python detection is made compatible with cmake'FindPythonLibs module (at least how it is used in TFEL)

* Style fixes

* Style fixes

* Fix test on python version

* Follow @adamjstewart advices: code is much cleaner and readable

* Small fix

* Small fix

* Add comment

* Small fix in cmake option

* try again (trying to overcome Travis CI unstable build process)

* Add support for the MFrontGenericInterfaceSupport project (MGIS)

* Style fixes

* Package documentation update

* Package documentation update

* Fix a typo thanks to Andreas Baumbach review

* Follow Adam J. Stewart advices

* Fix type

* bugfix: add back r's for invalid regexes

* tutorial basics section: fix gcc install version

* version bump: v0.12.1

* bugfix: bring in .travis.yml from develop

* Add new TFEL' versions (3.0.4, 3.1.4 and 3.2.1). Add new MGIS version (1.0.1). Fix MGIS dependency

* merge with spack:develop

* add missing dependency

* new versions of  and

* Fix MGIS url. Fix duplicate variant in TFEL

* Fix tfel packaging according to Adam J. Stewart' advices

* Fix flake8 warning

Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
Co-authored-by: Peter Scheibel <scheibel1@llnl.gov>
Co-authored-by: Greg Becker <becker33@llnl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-09 09:32:17 -06:00
Dr. Christian Tacke
4bd4ed0f84 FairLogger: new package (#14427) (#14427)
* Fixed date on first copyright header.
* Rename dev version to develop
* Improve filter_file calling
* Be explicit for +pretty / ~pretty
2020-01-09 09:29:38 -06:00
asmaahassan90
75760e44f3 Add ADF (#14423)
* Add ADF

* Fix typo and lint

* fix lint again

* one more lint fix

* fix identation

* still stying to fix identation

* one final fix

* import needed libraries

* changes as per reviewer's request

fix setup environment function, enhance recipe

* add import os once again

* chnages as per reviewer's request
2020-01-09 09:28:20 -06:00
darmac
ffb6102a42 tomcat: new package (#14441) 2020-01-09 13:08:59 +01:00
darmac
9ae80a56a3 storm: new package (#14437) 2020-01-09 13:06:48 +01:00
t-karatsu
592a144feb rapidjson: delete '-march' flags when using Fujitsu compiler. (#14435) 2020-01-09 07:04:27 +01:00
Jeffrey Salmond
6b3e173331 Remove extensions from view in the correct order (#12961)
When removing packages from a view, extensions were being deactivated
in an arbitrary order. Extensions must be deactivated in preorder
traversal (dependents before dependencies), so when this order was
violated the view update would fail.

This commit ensures that views deactivate extensions based on a
preorder traversal and adds a test for it.
2020-01-08 15:52:39 -08:00
Glenn Johnson
4a84155caa fix build for qt5 and the Intel compiler (#14387)
* Set conflicts for qt5 and the Intel compiler

This PR sets a `conflicts` statement for QT5 and the Intel compiler.

* New patches for intel compiles

This commit adds two patches to get QT5 to compile with the intel
compilers. The two patches are very similar but the file being patched
was changed substantially between qt-5.11 and qt-5.12. The patch checks
versions of both GCC and Intel compilers to know when to use overflow
builtis. Essentially, GCC must be >= 5 and Intel must be >= 18.

The sqlite dependency needs the `+column_metadata` variant when the
Intel compiler is used. That is made conditional on the compiler but it
might make sense to make that the default for the sqlite dependency.

Some other changes were made based on testing builds of various QT5
versions with several Intel compilers.

- The libxext dependency is still needed for QT5
- A dependency on libxrender is needed
- The gtk option format needs to be constrained at the qt@5.7 level, not
  qt@5.8.
- An extra configure option is needed for the sql plugins RPATH
2020-01-08 13:02:37 -06:00
noguchi-k
f79649d2e3 lrslib: fix return value (#14422) 2020-01-08 12:41:39 -06:00
Chuck Atkins
26ffbe3d21 cmake: Create an optimized release build (#14414) 2020-01-08 13:17:53 -05:00
Corey adams
de93830b9a Adding a new package, scikit-build, which is useful for building Python Extensions (#14417)
* Adding a new package, scikit-build, which is very useful for building python extensions

* Update package.py

* Update package.py

Trying to address flake8 corrections

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

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

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

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

* Update package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-08 10:06:47 -06:00
Tim Haines
2028687efe spack.compilers.clang: add new version check (#14365) 2020-01-08 07:13:36 +01:00
Mark W. Krentel
8a82c930bb hpcviewer: add version 2019.12 (#14419)
Add conflicts for aarch64 and darwin.
2020-01-07 21:51:18 -06:00
Hadrien G
11501532d3 Record a new ROOT/GCC incompatibility (#14371) 2020-01-07 21:35:47 -06:00
Justin S
3e8b4a9b24 py-rapidjson: new package at 0.9.1 (#14280)
* py-rapidjson: new package at 0.9.1

* py-rapidjson: rename to py-python-rapidjson, use PyPI mirror

* py-python-rapidjson: add missing deps

* python-rapidjson: use short PyPI url

* py-python-rapidjson: remove extra dependencies
2020-01-07 16:40:22 -06:00
Justin S
a24498f7ba r-ldheatmap: new package at 0.99-7 (#14405) 2020-01-07 15:33:41 -06:00
Adam J. Stewart
c40ee08c8d NumPy 1.18.1 requires Cython 0.29.14 (#14418) 2020-01-07 15:22:27 -06:00
Sinan
e4f56378b1 Package/opencv: cudacodec fix (#14409)
* create new variant, fix build error

* flake8

* add conflict, re-arrange config arg for cudacodec
2020-01-07 13:19:18 -06:00
eugeneswalker
7546ca6d4d bugfix: Issue #14346, buildcache create s3 push fails when package w same DAG hash already exists at mirror (#14412) 2020-01-07 12:40:37 -06:00
Matthias Diener
777812df4e gdb: add version 8.3.1 (#14413) 2020-01-07 12:38:05 -06:00
Michael Kuhn
be3482de09 ncl: Add missing fontconfig dependency (#14411)
Moreover, cairo needs to have its freetype variant enabled.
2020-01-07 10:55:34 -06:00
Michael Kuhn
a5ae5aca36 gdal: Fix libgeotiff dependency (#14410)
gdal@2.4.3 is missing the libgeotiff dependency.
2020-01-07 10:55:01 -06:00
Massimiliano Culpo
08d0267c9a Spack can automatically remove unused specs (#13534)
* Spack can uninstall unused specs

fixes #4382

Added an option to spack uninstall that removes all unused specs i.e.
build dependencies or transitive dependencies that are left
in the store after the specs that pulled them in have been removed.

* Moved the functionality to its own command

The command has been named 'spack autoremove' to follow the naming used
for the same functionality by other widely known package managers i.e.
yum and apt.

* Speed-up autoremoving specs by not locking and re-reading the scratch DB

* Make autoremove work directly on Spack's store

* Added unit tests for the new command

* Display a terser output to the user

* Renamed the "autoremove" command "gc"

Following discussion there's more consensus around
the latter name.

* Preserve root specs in env contexts

* Instead of preserving specs, restrict gc to the active environment

* Added docs

* Added a unit test for gc within an environment

* Updated copyright to 2020

* Updated documentation according to review

Rephrased a couple of sentences, added references to
`spack find` and dependency types.

* Updated function naming and docstrings

* Simplified computation of unused specs

Since the new approach uses private attributes of the DB
it has been coded as a method of that class rather than a
freestanding function.
2020-01-07 08:16:54 -08:00
Adam J. Stewart
eddb42ed43 Fix outdated bash tab completion (#14392) 2020-01-06 23:18:14 -06:00
Adam J. Stewart
d2ed01a12c Add py-numpy 1.18.1 (#14406) 2020-01-06 17:48:27 -06:00
Justin S
e49a5adf04 r-snpstats: new package at 1.34.0 (#14404) 2020-01-06 16:21:38 -06:00
Justin S
e04a9031b0 r-genetics: new package at 1.3.8.1.2 (#14403) 2020-01-06 16:20:34 -06:00
Thom Troy
0950f5ffa3 Add updated kaldi and openfst (#14398)
* add openfst v1.6.7 and kaldi from 2019-09-29

* revert openfst package version in url
2020-01-06 16:19:42 -06:00
George Hartzell
37b11d0468 Add singularity@3.5.2 (#14401) 2020-01-06 16:12:50 -06:00
darmac
f3c0d23a3c Fastdfs (#14378)
* add new package : fastdfs

* refine install()

* remove redundant fastdfs/fastdfs/package.py

* fix install() error
2020-01-06 16:12:08 -06:00
Justin S
627fd1949d py-ujson: new package at 1.35 (#14279)
* py-ujson: new package at 1.35

* py-ujson: use PyPI mirror, add missing deps

* py-ujson: use short PyPI url
2020-01-06 15:53:26 -06:00
Seth R. Johnson
47750c8800 Fix QT on Linux+clang (#13684)
* Add platform flag to QT for linux+clang

* Extend QT platform support to more compilers and systems

* Unify QT5 configure options

* fixup! Unify QT5 configure options

* fixup! Unify QT5 configure options

* fixup! Unify QT5 configure options

* Fix newer flake8 and mac qt5 configure
2020-01-06 15:47:16 -06:00
Erik Schnetter
7cde359eb8 Nsimd: New package (#14226)
* Nsimd: New package

* Various cleanups as suggested during review
2020-01-06 15:40:58 -06:00
Adam J. Stewart
adffa45264 Reference spack help --spec in spack spec --help 2020-01-06 00:20:19 -08:00
asmaahassan90
c0672eb641 Add py-thirdorder recipe (#12791)
* Add Thirdorder recipe

* Remove white spaces

* Converting recipe to a PythonPackage base class

* remove trailing spaces

* remove line at end of file

* enhance recipe as per reviewer

* fix post_install as requested by reviewer

* rename dir to py-thirderorder

* change checksum to sha256
2020-01-05 12:28:10 -06:00
Adam J. Stewart
f7f4d1a02e Overhaul py-pillow package (#14385)
* Overhaul py-pillow package

* Fix bug where zlib and jpeg were always disabled
2020-01-04 22:49:39 -06:00
Adam J. Stewart
f0532e27da libwebp: CMakePackage -> AutotoolsPackage (#14384) 2020-01-04 22:48:45 -06:00
Glenn Johnson
8c8f3f228c Adjust constraints of gcc-5 (#14388)
This PR adjusts the constraints on isl with GCC-5. GCC-5.1 and GCC-5.2
need isl-0.14, not isl-0.15.
2020-01-04 22:47:06 -06:00
Adam J. Stewart
90f4860402 Add libs property to openjpeg package (#14383) 2020-01-04 16:46:53 -06:00
Adam J. Stewart
4d85979ec4 Add libs property to lcms package (#14382) 2020-01-04 16:46:40 -06:00
Adam J. Stewart
378016d350 py-torchvision 0.4.X does not support py-pillow 7.X.Y (#14381) 2020-01-04 14:21:29 -06:00
Xavier Delaruelle
d83d7ce694 environment-modules: add version 4.4.1 (#14379) 2020-01-04 12:56:09 -06:00
darmac
c22329c5e8 add new package : lucene (#14316)
* add new package : lucene

* update lucene version url
2020-01-04 11:34:28 -06:00
darmac
66bb19a593 add new package : kafka (#14315)
* add new package : kafka

* move url_for_version after depens_on()

* refine list_depth for kafka
2020-01-04 11:33:52 -06:00
darmac
c9729aaab7 add new package : tajo (#14314)
* add new package : tajo

* refine list_depth for tajo
2020-01-04 11:33:09 -06:00
Justin S
b9dc263801 py-intervaltree: new package at 3.0.2 (#14277)
* py-intervaltree: new package at 3.0.2

* py-intervaltree: fix checksum

* py-intervaltree: add py-setuptools dep

* py-intervaltree: use inclusive ranges

* py-intervaltree: change py-test dep type
2020-01-03 15:52:59 -06:00
Satish Balay
f7b9592eb9 petsc: add version 3.12.3 (#14374) 2020-01-03 13:35:54 -06:00
xfzhao
100593b83a new package: bref3 (#14256) 2020-01-03 10:22:09 +01:00
Glenn Johnson
729e43ffac Get py-numpy > 1.16 to build with Intel compiler (#14360)
Beginning with numpy > 1.16 when using older versions of gcc the
`std=c99` flag must be used. The Intel compiler depends on gcc for its
language extensions so the version of gcc is important. If the version
of gcc used by the Intel compiler is one that requires the `-std=c99`
flag then that flag will have to be used for a build with the Intel
compiler as well.

This PR tests the version of gcc used by the Intel compiler and will
abort the build if the gcc version is < 4.8 and inject the `-std=c99`
flag if >= 4.8 and < 5.1. This will cover the system gcc compiler and
any gcc environment module loaded at build time.
2020-01-02 19:30:13 -06:00
Sinan
39a09691c5 package/opencv fix mistake in conflict statement involving gcc (#13959)
* fix mistake in conflict

* extend CudaPackage to resolve cuda-gcc conflicts
2020-01-02 19:18:27 -06:00
Jonathan R. Madsen
e46548c3b8 Updated version to include v3.0.1 (#14353)
* Updated version to include v3.0.1

- this patch has a rather critical MT fix

* Update package.py

- Moved 3.0.1 above 3.0.0
2020-01-02 19:17:54 -06:00
Christoph Junghans
70184c6ea2 fix url for mantevo packages (#14366) 2020-01-02 19:17:32 -06:00
Sajid Ali
c3c1cf13e7 RHEL8 bugfix for module_cmd (#14349) 2020-01-02 15:30:11 -06:00
Glenn Johnson
ba0e144b07 Set preferred version of perl-bioperl (#14354)
Due to formatting differences, the older version of perl-bioperl was
getting picked up as the preferred version. This PR explicitly sets the
newer version to be preferred.
2020-01-02 15:29:35 -06:00
Matthieu Dorier
8e70fa52df added verbose variant to mercury package (#14355) 2020-01-02 15:29:18 -06:00
Gilles Gouaillardet
19c1312eb4 gromacs: depend on hwloc v1 (#14343)
Because of a bug in the current concretizer,
spack install gromacs
fails because gromacs depends on hwloc (default is v2), and Open MPI
(the default MPI library) depends on hwloc v1.
As discussed in https://github.com/spack/spack/issues/14339, this
workaround should be removed once the concretizer is fixed

Signed-off-by: Gilles Gouaillardet <gilles@rist.or.jp>
2020-01-02 15:16:22 -06:00
Adam J. Stewart
e26f517daf py-scikit-learn: add 0.22.1 (#14350) 2020-01-02 15:15:49 -06:00
Mike Kiernan
85fc6448f8 osu-micro-benchmarks: added version 5.6.2 (#14352) 2020-01-02 15:15:21 -06:00
Sinan
456aae2627 new package: py-zarr (#14326)
* create package py-zarr

* specify setuptools versions

* add more dependencies, improve style

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

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

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

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

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

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

* add dependencies, remove python version constraint

* remove windows specific dependency

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-01-02 13:07:48 -06:00
Adam J. Stewart
3f190a432e MKL: set appropriate CMake env vars (#14274) 2020-01-02 12:41:42 -06:00
Todd Gamblin
6e828206b6 refactor: cleanup imports in spec.py
The imports in `spec.py` are getting to be pretty unwieldy.

- [x] Remove all of the `import from` style imports and replace them with
  `import` or `import as`
- [x] Remove a number names that were exported by `spack.spec` that
  weren't even in `spack.spec`
2020-01-02 08:05:00 -08:00
Todd Gamblin
9ed34f686f bugfix: cdash tests shoudln't modify working directory
The latest cdash test creates a local cdash_reports directory, but it
should do that in a tmpdir.
2020-01-02 00:01:15 -08:00
Todd Gamblin
4beb9fc5d3 tests: improved spack test command line options
Previously, `spack test` automatically passed all of its arguments to
`pytest -k` if no options were provided, and to `pytest` if they were.
`spack test -l` also provided a list of test filenames, but they didn't
really let you completely narrow down which tests you wanted to run.

Instead of trying to do our own weird thing, this passes `spack test`
args directly to `pytest`, and omits the implicit `-k`.  This means we
can now run, e.g.:

```console
$ spack test spec_syntax.py::TestSpecSyntax::test_ambiguous
```

This wasn't possible before, because we'd pass the fully qualified name
to `pytest -k` and get an error.

Because `pytest` doesn't have the greatest ability to list tests, I've
tweaked the `-l`/`--list`, `-L`/`--list-long`, and `-N`/`--list-names`
options to `spack test` so that they help you understand the names
better.  you can combine these options with `-k` or other arguments to do
pretty powerful searches.

This one makes it easy to get a list of names so you can run tests in
different orders (something I find useful for debugging `pytest` issues):

```console
$ spack test --list-names -k "spec and concretize"
cmd/env.py::test_concretize_user_specs_together
concretize.py::TestConcretize::test_conflicts_in_spec
concretize.py::TestConcretize::test_find_spec_children
concretize.py::TestConcretize::test_find_spec_none
concretize.py::TestConcretize::test_find_spec_parents
concretize.py::TestConcretize::test_find_spec_self
concretize.py::TestConcretize::test_find_spec_sibling
concretize.py::TestConcretize::test_no_matching_compiler_specs
concretize.py::TestConcretize::test_simultaneous_concretization_of_specs
spec_dag.py::TestSpecDag::test_concretize_deptypes
spec_dag.py::TestSpecDag::test_copy_concretized
```

You can combine any list option with keywords:

```console
$ spack test --list -k microarchitecture
llnl/util/cpu.py  modules/lmod.py
```

```console
$ spack test --list-long -k microarchitecture
llnl/util/cpu.py::
    test_generic_microarchitecture

modules/lmod.py::TestLmod::
    test_only_generic_microarchitectures_in_root
```

Or just list specific files:

```console
$ spack test --list-long cmd/test.py
cmd/test.py::
    test_list                       test_list_names_with_pytest_arg
    test_list_long                  test_list_with_keywords
    test_list_long_with_pytest_arg  test_list_with_pytest_arg
    test_list_names
```

Hopefully this stuff will help with debugging test issues.

- [x] make `spack test` send args directly to `pytest` instead of trying
  to do fancy things.
- [x] rework `--list`, `--list-long`, and add `--list-names` to make
  searching for tests easier.
- [x] make it possible to mix Spack's list args with `pytest` args
  (they're just fancy parsing around `pytest --collect-only`)
- [x] add docs
- [x] add tests
- [x] update spack completion
2020-01-01 21:37:02 -08:00
Sinan
de73121ebd new package: py-numcodecs (#14330)
* new package: py-numcodecs

* make msgpack variant
2020-01-01 23:09:29 -06:00
Adam J. Stewart
7a97dc3770 py-numpy: add 1.17.5 (#14341) 2020-01-01 15:05:23 -06:00
Todd Gamblin
9192f046d2 tests: rename checks in github actions
I usually want to look at the Travis CI output, but I currently have to
scroll down to see it. This renames checks to be a bit shorter and more
consistent with Travis's naming, and also so that actions appear lower
than travis and codecov in the list of checks.
2019-12-31 17:59:59 -08:00
Glenn Johnson
1ac0c51dad Modify create clue list so R packages are detected (#12277)
R packages can contain configure scripts so R needs to be before
autotools in the clue list.
2019-12-31 16:44:31 -06:00
Todd Gamblin
ffc91bd86e tests: move mock config.yaml files to common directory
Test configuration files (except modules.yaml) were in the root level of
test/data, but should really just be in their own directory.  The absence
of modules.yaml was also breaking module tests if we got module
preferences after tests started, as the mock modules.yaml was not in the
test directory.
2019-12-31 13:48:01 -08:00
Todd Gamblin
3017584c48 config: remove all module-scope calls to spack.config.get()
This avoids parsing modules.yaml on startup.
2019-12-31 13:48:01 -08:00
Todd Gamblin
9cc013cc0f modules: make the module hook more robust
The module hook would previously fail if there were no enabled module types.

- Instead of looking for a `KeyError`, default to empty list when the
  config variable is not present.

- Convert lambdas to real functions for clarity.
2019-12-31 13:48:01 -08:00
Todd Gamblin
58cb4e5241 hooks: remove pre_run hook to improve startup time.
- Remove legacy yaml_version_check() hook
- Remove the pre_run hook from `hook/__init__.py` and `main.py`

We want to discourage the use of pre-run hooks because they have to run
at startup.  To keep Spack fast, we should do things like this lazily
instead of in hooks that require spidering directories full of modules.
2019-12-31 13:48:01 -08:00
Sinan
5ddbd2fa6c new package: py-msgpack (#14329)
* new package: py-msgpack

* remove python dependency

* remove cython dependency
2019-12-31 15:14:40 -06:00
Adam J. Stewart
5b979aee81 Ignore coverage drop due to lack of macOS tests (#14333)
* Ignore coverage drop due to lack of macOS tests

* Fix codecov tree structure
2019-12-31 15:13:12 -06:00
Jonathan R. Madsen
026534dadb Updated versions and more variants (#14310)
* Updated versions and more variants

- Added 'develop' and '3.0.0' versions
- Added 'tau', 'upcxx', 'gotcha', and 'likwid'

* Added conflict handling for +cupti~cuda

* Removed extra cmake args line
2019-12-31 13:33:41 -06:00
darmac
b70a5245f2 add new package : libfastcommon (#14303)
* add new package : libfastcommon

* update libfastcommon install()
2019-12-31 11:46:07 -06:00
darmac
e92f6c70a6 add new package : moosefs (#14305)
* add new package : moosefs

* remove no-need depens : zlib
2019-12-31 11:45:45 -06:00
darmac
9ff6079986 add new package : opentsdb (#14317)
* add new package : opentsdb

* remove redundant url_for_version()
2019-12-31 11:43:27 -06:00
Glenn Johnson
9a0fd8db9a New package - zziplib (#14318)
This PR adds the zziplib package.
2019-12-31 11:42:59 -06:00
Sinan
62cd7e4490 new package: py-asciitree (#14327)
* new package: py-asciitree

* fix typo
2019-12-31 11:39:43 -06:00
Mark Olesen
3bf7998bb5 Add OpenFOAM 1912 (#14322) 2019-12-31 11:19:05 -06:00
Todd Gamblin
4af6303086 copyright: update copyright dates for 2020 (#14328) 2019-12-30 22:36:56 -08:00
Todd Gamblin
98ad6e39b5 bugfix: add required fixture for CDash authentication test (#14325) 2019-12-30 16:55:05 -08:00
Zack Galbreath
cc96758fdc Add support for authenticated CDash uploads (#14200) 2019-12-30 15:54:56 -08:00
Todd Gamblin
65ef6d5dcb refactor: rename mock_config fixture to mock_low_high_config
This avoids confusion with mock_configuration.
2019-12-30 13:01:31 -08:00
Todd Gamblin
b2e9696052 argparse: lazily construct common arguments
Continuing to shave small bits of time off startup --
`spack.cmd.common.arguments` constructs many `Args` objects at module
scope, which has to be done for all commands that import it.  Instead of
doing this at load time, do it lazily.

- [x] construct Args objects lazily

- [x] remove the module-scoped argparse fixture

- [x] make the mock config scope set dirty to False by default (like the
  regular scope)

This *seems* to reduce load time slightly
2019-12-30 13:01:31 -08:00
Todd Gamblin
e7dc8a2bea tests: refactor tests to avoid persistent global state
Previously, fixtures like `config`, `database`, and `store` were
module-scoped, but frequently used as test function arguments.  These
fixtures swap out global on setup and restore them on teardown.  As
function arguments, they would do the right set-up, but they'd leave the
global changes in place for the whole module the function lived in.  This
meant that if you use `config` once, other functions in the same module
would inadvertently inherit the mock Spack configuration, as it would
only be torn down once all tests in the module were complete.

In general, we should module- or session-scope the *STATE* required for
these global objects (as it's expensive to create0, but we shouldn't
module-or session scope the activation/use of them, or things can get
really confusing.

- [x] Make generic context managers for global-modifying fixtures.

- [x] Make session- and module-scoped fixtures that ONLY build filesystem
  state and create objects, but do not swap out any variables.

- [x] Make seeparate function-scoped fixtures that *use* the session
  scoped fixtures and actually swap out (and back in) the global
  variables like `config`, `database`, and `store`.

These changes make it so that global changes are *only* ever alive for a
singlee test function, and we don't get weird dependencies because a
global fixture hasn't been destroyed.
2019-12-30 13:01:31 -08:00
Todd Gamblin
e839432472 tests: make env tests that use configs non-destructive
Environment tests pushed config scopes but didn't properly remove them.

- [x] use `with env:` context manager instead of `env.prepare_config_scopes()`
2019-12-30 13:01:31 -08:00
Todd Gamblin
8e8235043d package_prefs: move class-level cache to PackagePref instance
`PackagePrefs` has had a class-level cache of data from `packages.yaml` for
a long time, but it complicates testing and leads to subtle errors,
especially now that we frequently manipulate custom config scopes and
environments.

Moving the cache to instance-level doesn't slow down concretization or
the test suite, and it just caches for the life of a `PackagePrefs`
instance (i.e., for a single cocncretization) so we don't need to worry
about global state anymore.

- [x] Remove class-level caches from `PackagePrefs`
- [x] Add a cached _spec_order object on each `PackagePrefs` instance
- [x] Remove all calls to `PackagePrefs.clear_caches()`
2019-12-30 13:01:31 -08:00
Adam J. Stewart
0699f8ac9d Add py-numpy 1.16.6 (#14313) 2019-12-29 20:04:04 -06:00
Glenn Johnson
25f217f5f2 Add support for graphite2 support to harfbuzz (#14300)
This PR adds graphite2 support to harfbuzz. This PR depends on PR #14299, which added the graphite2 package to spack.
2019-12-29 12:40:09 -06:00
Todd Gamblin
4d6462247e externals: avoid importing jinja2 on startup (#14308)
Jinja2 costs a tenth to a few tenths of a second to import, so we should avoid importing it on startup.

- [x] only import jinja2 within functions
2019-12-28 14:43:23 -08:00
Todd Gamblin
2dafeaf819 bugfix: colify_table should not revert to 1 column for non-tty (#14307)
Commands like `spack blame` were printig poorly when redirected to files,
as colify reverts to a single column when redirected.  This works for
list data but not tables.

- [x] Force a table by always passing `tty=True` from `colify_table()`
2019-12-28 11:26:31 -08:00
darmac
855f9afa6e add new package : jafka (#14304) 2019-12-28 12:20:55 -06:00
Glenn Johnson
bd345e16b8 New package - TECkit (#14301)
This PR adds the teckit package to spack.
2019-12-28 12:20:20 -06:00
Glenn Johnson
12692424a7 New package - graphite2 (#14299)
* New package - graphite2

This PR adds the Graphite2 package to Spack.

* Replace smart quotes with standard quotes
2019-12-28 12:19:21 -06:00
Johannes Blaschke
c0d5c360d5 setup-env-test: fix pipe redirect (#14306) 2019-12-27 22:37:47 -08:00
Dr. Christian Tacke
8ee75e19bd Improve info variant header (#14275)
In "spack info" the Variants header currently has two blank
lines under it. That's too much. It looks like the actual
content belongs to something else.

Instead underline the headers to make things more obvious.
2019-12-27 15:21:15 -08:00
Glenn Johnson
2166a91ec5 New package - libpaper (#14302)
This PR adds the paper library to spack.
2019-12-27 15:18:16 -08:00
Gregory Lee
6c957b6b62 added build dependences required after cairo package change (#14297)
* added build dependences required after cairo package change

* fixed pango build dependencies
2019-12-27 12:13:50 -06:00
Gregory Lee
08898a2ad7 patch cairo build files for build without fontconfig fixes #14112 (#14296)
* patch cairo build files for build without fontconfig

* added build dependencies for cairo
2019-12-26 16:20:16 -06:00
asmaahassan90
3315700da9 Add Avizo Recipe (#12792)
* Add Avizo Recipe

* make changes as per review

* fix home url and linting

* Fix url

* fix identation

* change checksum to sha256 instead of md5

* fix installation

* fix lint

* fix identation

* make it compatible with python 2.6

* enhancing recipe and fixing avizo licensing

changes as per suggestions from reviewer; fix licensing

* fix identation

* use new setup_run_environment function
2019-12-26 14:43:51 -06:00
t-karatsu
c7f1e2835b aspa: Fix common errors. (#14295)
* aspa: Fix common errors.

* defined new member 'Vec_value_type' in 'self' namespace.

* fix narrowing error.

* fix patch about typecast.
2019-12-26 14:42:59 -06:00
Massimiliano Culpo
2aa8132afd Migrate build tests from Travis to Github Actions (#13967)
This PR moves build smoke tests from TravisCI and migrates them to Github Actions. The result is that build tests are performed in parallel with unit tests and they don't hog additional resources on Travis. The workflow will not run if a PR only changes packages in the built-in repository, but will always run on pushes to develop or master.

* Removed build tests from Travis and passed them to Github Actions
* Store ~/.ccache in Github Actions cache
* Add filters on paths and make sure this workflow don't run
* Use paths-ignore and exclude only files in the built-in repo
* Added a badge to README.md
2019-12-25 00:06:48 -08:00
Todd Gamblin
61b4ad1837 tests: finish removing pyqver from the repository (#14294)
Remove a few remaining mentions of the pyqver package, which was removed in #14289.
2019-12-24 17:37:03 -08:00
Massimiliano Culpo
d333e14721 tests: check min required python version with vermin (#14289)
This commit removes the `python_version.py` unit test module
and the vendored dependencies `pyqver2.py` and `pyqver3.py`.
It substitutes them with an equivalent check done using
`vermin` that is run as a separate workflow via Github Actions.

This allows us to delete 2 vendored dependencies that are unmaintained
and substitutes them with a maintained tool.

Also, updates the list of vendored dependencies.
2019-12-24 09:28:33 -08:00
t-karatsu
1e2c9d960c a64fx: fix typo in GCC flags (#14286) 2019-12-24 17:45:03 +01:00
Matthias Diener
6a084a8289 intel-pin: add version 3.11 (#14292) 2019-12-24 10:06:51 -06:00
Matthias Diener
37c1d2d004 cmake: add version 3.16.2 (#14291) 2019-12-24 10:05:54 -06:00
Matthias Diener
ee8bc0df98 scons: add version 3.1.2 (#14290) 2019-12-24 10:05:18 -06:00
健美猞猁
748c552992 Bump nektar to 5.0.0. (#14288) 2019-12-24 10:01:16 -06:00
Todd Gamblin
7652d1a4c1 Merge branch 'releases/v0.13' into develop 2019-12-24 01:04:41 -08:00
Todd Gamblin
55d5b435c8 update CHANGELOG.md for 0.13.3 2019-12-23 23:48:11 -08:00
Todd Gamblin
231e237764 version bump: 0.13.3 2019-12-23 23:48:11 -08:00
Massimiliano Culpo
8616a26406 Travis exits at the first failing test, pin codecov at v4.5.4 (#14179)
Before this commit we used to run the entire unit test suite
in the presence of a failure. Since we currently rely a lot
on the state of the filesystem etc. the end report was most
of the time showing spurious failures that were a consequence
of the first failing test.

This PR makes unit tests exit at the first failing test

Also, pin codecov at v4.5.4 (last one supporting Python 2.6)
2019-12-23 23:48:03 -08:00
Todd Gamblin
e22d3250dd performance: dont' read spec.yaml files twice in view regeneration
`ViewDescriptor.regenerate()` calls `get_all_specs()`, which reads
`spec.yaml` files, which is slow.  It's fine to do this once, but
`view.remove_specs()` *also* calls it immediately afterwards.

- [x] Pass the result of `get_all_specs()` as an optional parameter to
  `view.remove_specs()` to avoid reading `spec.yaml` files twice.
2019-12-23 23:18:47 -08:00
Todd Gamblin
e3939b0c72 performance: don't recompute hashes when regenerating environments
`ViewDescriptor.regenerate()` was copying specs and stripping build
dependencies, which clears `_hash` and other cached fields on concrete
specs, which causes a bunch of YAML hashes to be recomputed.

- [x] Preserve the `_hash` and `_normal` fields on stripped specs, as
  these will be unchanged.
2019-12-23 23:18:46 -08:00
Todd Gamblin
f013687397 performance: reduce system calls required for remove_dead_links
`os.path.exists()` will report False if the target of a symlink doesn't
exist, so we can avoid a costly call to realpath here.
2019-12-23 23:18:46 -08:00
Todd Gamblin
79ddf6cf0d performance: only regenerate env views once in spack install
`spack install` previously concretized, writes the entire environment
out, regenerated views, then wrote and regenerated views
again. Regenerating views is slow, so ensure that we only do that once.

- [x] add an option to env.write() to skip view regeneration

- [x] add a note on whether regenerate_views() shouldn't just be a
  separate operation -- not clear if we want to keep it as part of write
  to ensure consistency, or take it out to avoid performance issues.
2019-12-23 23:18:45 -08:00
Todd Gamblin
be6d7db2a8 performance: add read transactions for install_all() and install()
Environments need to read the DB a lot when installing all specs.

- [x] Put a read transaction around `install_all()` and `install()`
  to avoid repeated locking
2019-12-23 23:18:45 -08:00
Todd Gamblin
d87ededddc lock transactions: avoid redundant reading in write transactions
Our `LockTransaction` class was reading overly aggressively.  In cases
like this:

```
1  with spack.store.db.read_transaction():
2    with spack.store.db.write_transaction():
3      ...
```

The `ReadTransaction` on line 1 would read in the DB, but the
WriteTransaction on line 2 would read in the DB *again*, even though we
had a read lock the whole time.  `WriteTransaction`s were only
considering nested writes to decide when to read, but they didn't know
when we already had a read lock.

- [x] `Lock.acquire_write()` return `False` in cases where we already had
       a read lock.
2019-12-23 23:18:45 -08:00
Todd Gamblin
b3a5f2e3c3 lock transactions: ensure that nested write transactions write
If a write transaction was nested inside a read transaction, it would not
write properly on release, e.g., in a sequence like this, inside our
`LockTransaction` class:

```
1  with spack.store.db.read_transaction():
2    with spack.store.db.write_transaction():
3      ...
4  with spack.store.db.read_transaction():
   ...
```

The WriteTransaction on line 2 had no way of knowing that its
`__exit__()` call was the last *write* in the nesting, and it would skip
calling its write function.

The `__exit__()` call of the `ReadTransaction` on line 1 wouldn't know
how to write, and the file would never be written.

The DB would be correct in memory, but the `ReadTransaction` on line 4
would re-read the whole DB assuming that other processes may have
modified it.  Since the DB was never written, we got stale data.

- [x] Make `Lock.release_write()` return `True` whenever we release the
      *last write* in a nest.
2019-12-23 23:18:44 -08:00
Todd Gamblin
98577e3af5 lock transactions: fix non-transactional writes
Lock transactions were actually writing *after* the lock was
released. The code was looking at the result of `release_write()` before
writing, then writing based on whether the lock was released.  This is
pretty obviously wrong.

- [x] Refactor `Lock` so that a release function can be passed to the
      `Lock` and called *only* when a lock is really released.

- [x] Refactor `LockTransaction` classes to use the release function
  instead of checking the return value of `release_read()` / `release_write()`
2019-12-23 23:18:44 -08:00
Todd Gamblin
a85b9070cb performance: avoid repeated DB locking on view generation
`ViewDescriptor.regenerate()` checks repeatedly whether packages are
installed and also does a lot of DB queries.  Put a read transaction
around the whole thing to avoid repeatedly locking and unlocking the DB.
2019-12-23 23:18:44 -08:00
Todd Gamblin
91ea90c253 performance: speed up spack find in environments
`Environment.added_specs()` has a loop around calls to
`Package.installed()`, which can result in repeated DB queries.  Optimize
this with a read transaction in `Environment`.
2019-12-23 23:17:59 -08:00
Todd Gamblin
5bdba98837 performance: spack spec should use a read transacction with -I
`spack spec -I` queries the database for installation status and should
use a read transaction around calls to `Spec.tree()`.
2019-12-23 23:17:59 -08:00
Todd Gamblin
cbf8553406 concretization: improve performance by avoiding database locks
Checks for deprecated specs were repeatedly taking out read locks on the
database, which can be very slow.

- [x] put a read transaction around the deprecation check
2019-12-23 23:17:58 -08:00
Todd Gamblin
48befd67b5 performance: memoize spack.architecture.get_platform()
`get_platform()` is pretty expensive and can be called many times in a
spack invocation.

- [x] memoize `get_platform()`
2019-12-23 23:17:58 -08:00
Sajid Ali
37eac1a226 use sys.executable instead of python in _source_single_file (#14252) 2019-12-23 23:16:30 -08:00
Peter Josef Scheibel
639156130b Patch fetching: remove unnecessary argument 2019-12-23 23:03:10 -08:00
Peter Josef Scheibel
587c650b88 Mirrors: skip attempts to fetch BundlePackages
BundlePackages use a noop fetch strategy. The mirror logic was assuming
that the fetcher had a resource to cach after performing a fetch. This adds
a special check to skip caching if the stage is associated with a
BundleFetchStrategy. Note that this should allow caching resources
associated with BundlePackages.
2019-12-23 23:03:10 -08:00
Peter Josef Scheibel
d71428622b Mirrors: avoid re-downloading patches
When updating a mirror, Spack was re-retrieving all patches (since the
fetch logic for patches is separate). This updates the patch logic to
allow the mirror logic to avoid this.
2019-12-23 23:03:10 -08:00
Peter Josef Scheibel
a69b3c85b0 Mirrors: perform checksum of fetched sources
Since cache_mirror does the fetch itself, it also needs to do the
checksum itself if it wants to verify that the source stored in the
mirror is valid. Note that this isn't strictly required because fetching
(including from mirrors) always separately verifies the checksum.
2019-12-23 23:03:09 -08:00
Peter Josef Scheibel
98b498c671 Mirrors: fix cosmetic symlink targets
The targets for the cosmetic paths in mirrrors were being calculated
incorrectly as of fb3a3ba: the symlinks used relative paths as targets,
and the relative path was computed relative to the wrong directory.
2019-12-23 23:03:09 -08:00
Peter Josef Scheibel
64209dda97 Allow repeated invocations of 'mirror create'
When creating a cosmetic symlink for a resource in a mirror, remove
it if it already exists. The symlink is removed in case the logic to
create the symlink has changed.
2019-12-23 23:03:09 -08:00
Paul Ferrell
c15e55c668 mirror bug fixes: symlinks, duplicate patch names, and exception handling (#13789)
* Some packages (e.g. mpfr at the time of this patch) can have patches
  with the same name but different contents (which apply to different
  versions of the package). This appends part of the patch hash to the
  cache file name to avoid conflicts.
* Some exceptions which occur during fetching are not a subclass of
  SpackError and therefore do not have a 'message' attribute. This
  updates the logic for mirroring a single spec (add_single_spec)
  to produce an appropriate error message in that case (where before
  it failed with an AttributeError)
* In various circumstances, a mirror can contain the universal storage
  path but not a cosmetic symlink; in this case it would not generate
  a symlink. Now "spack mirror create" will create a symlink for any
  package that doesn't have one.
2019-12-23 23:03:03 -08:00
Todd Gamblin
d7f2a32887 performance: dont' read spec.yaml files twice in view regeneration
`ViewDescriptor.regenerate()` calls `get_all_specs()`, which reads
`spec.yaml` files, which is slow.  It's fine to do this once, but
`view.remove_specs()` *also* calls it immediately afterwards.

- [x] Pass the result of `get_all_specs()` as an optional parameter to
  `view.remove_specs()` to avoid reading `spec.yaml` files twice.
2019-12-23 18:36:56 -08:00
Todd Gamblin
78b84e4ade performance: don't recompute hashes when regenerating environments
`ViewDescriptor.regenerate()` was copying specs and stripping build
dependencies, which clears `_hash` and other cached fields on concrete
specs, which causes a bunch of YAML hashes to be recomputed.

- [x] Preserve the `_hash` and `_normal` fields on stripped specs, as
  these will be unchanged.
2019-12-23 18:36:56 -08:00
Todd Gamblin
9b90d7e801 performance: reduce system calls required for remove_dead_links
`os.path.exists()` will report False if the target of a symlink doesn't
exist, so we can avoid a costly call to realpath here.
2019-12-23 18:36:56 -08:00
Todd Gamblin
c83e365c59 performance: only regenerate env views once in spack install
`spack install` previously concretized, writes the entire environment
out, regenerated views, then wrote and regenerated views
again. Regenerating views is slow, so ensure that we only do that once.

- [x] add an option to env.write() to skip view regeneration

- [x] add a note on whether regenerate_views() shouldn't just be a
  separate operation -- not clear if we want to keep it as part of write
  to ensure consistency, or take it out to avoid performance issues.
2019-12-23 18:36:56 -08:00
Todd Gamblin
0fb3280011 performance: add read transactions for install_all() and install()
Environments need to read the DB a lot when installing all specs.

- [x] Put a read transaction around `install_all()` and `install()`
  to avoid repeated locking
2019-12-23 18:36:56 -08:00
Todd Gamblin
6c9467e8c6 lock transactions: avoid redundant reading in write transactions
Our `LockTransaction` class was reading overly aggressively.  In cases
like this:

```
1  with spack.store.db.read_transaction():
2    with spack.store.db.write_transaction():
3      ...
```

The `ReadTransaction` on line 1 would read in the DB, but the
WriteTransaction on line 2 would read in the DB *again*, even though we
had a read lock the whole time.  `WriteTransaction`s were only
considering nested writes to decide when to read, but they didn't know
when we already had a read lock.

- [x] `Lock.acquire_write()` return `False` in cases where we already had
       a read lock.
2019-12-23 18:36:56 -08:00
Todd Gamblin
bb517fdb84 lock transactions: ensure that nested write transactions write
If a write transaction was nested inside a read transaction, it would not
write properly on release, e.g., in a sequence like this, inside our
`LockTransaction` class:

```
1  with spack.store.db.read_transaction():
2    with spack.store.db.write_transaction():
3      ...
4  with spack.store.db.read_transaction():
   ...
```

The WriteTransaction on line 2 had no way of knowing that its
`__exit__()` call was the last *write* in the nesting, and it would skip
calling its write function.

The `__exit__()` call of the `ReadTransaction` on line 1 wouldn't know
how to write, and the file would never be written.

The DB would be correct in memory, but the `ReadTransaction` on line 4
would re-read the whole DB assuming that other processes may have
modified it.  Since the DB was never written, we got stale data.

- [x] Make `Lock.release_write()` return `True` whenever we release the
      *last write* in a nest.
2019-12-23 18:36:56 -08:00
Todd Gamblin
eb8fc4f3be lock transactions: fix non-transactional writes
Lock transactions were actually writing *after* the lock was
released. The code was looking at the result of `release_write()` before
writing, then writing based on whether the lock was released.  This is
pretty obviously wrong.

- [x] Refactor `Lock` so that a release function can be passed to the
      `Lock` and called *only* when a lock is really released.

- [x] Refactor `LockTransaction` classes to use the release function
  instead of checking the return value of `release_read()` / `release_write()`
2019-12-23 18:36:56 -08:00
Todd Gamblin
779ac9fe3e performance: avoid repeated DB locking on view generation
`ViewDescriptor.regenerate()` checks repeatedly whether packages are
installed and also does a lot of DB queries.  Put a read transaction
around the whole thing to avoid repeatedly locking and unlocking the DB.
2019-12-23 18:36:56 -08:00
Gregory Lee
99dee90372 added master branch version to mpip (#14284) 2019-12-23 17:24:19 -06:00
Christoph Junghans
643cc95055 gromacs: add v2019.5 (#14285) 2019-12-23 17:24:03 -06:00
Nicholas Sly
9573fa2299 Added conflict with %pgi in libpciaccess package.py with relevant links in comments. (#14281) 2019-12-23 15:31:59 -06:00
Piotr Luszczek
ae8a72c0da netlib-scalapack: Add int overflow patch (#14276) 2019-12-23 13:06:29 -06:00
Adam J. Stewart
e2ec1c76ce Add py-boto3 1.10.44 (#14271) 2019-12-22 21:39:25 -06:00
Timo Heister
fa0d710626 add new package : libdap4 (#14267) 2019-12-22 21:36:47 -06:00
Adam J. Stewart
ded5cbec70 Add py-numpy 1.18.0 (#14269) 2019-12-22 21:36:28 -06:00
Adam J. Stewart
0950442ea0 Add awscli 1.16.308 (#14270) 2019-12-22 21:36:14 -06:00
Adam J. Stewart
013ff54731 Add py-botocore 1.13.44 (#14272) 2019-12-22 21:35:39 -06:00
Piotr Luszczek
2a3bf87484 Add new release and remove extraneous patches (#14273) 2019-12-22 18:10:19 -08:00
Glenn Johnson
3690bc44bd Set full xiar path when building cp2k with intel compiler (#14268) 2019-12-22 16:19:12 -06:00
justbennet
b83365c945 Updating preferred OpenMPI version to 3.1.5 (#14266) 2019-12-22 11:59:21 -08:00
Axel Huebl
249c1d9d81 openPMD-api: 0.10.3 (#14265)
Add latest release.
2019-12-22 10:01:28 -06:00
xfzhao
a10253a667 new module beagle (#14257) 2019-12-21 18:22:56 -06:00
Sajid Ali
8fe2c0a4fe Bump py-slepc4py version, update url (#14264)
* version bump

	modified:   var/spack/repos/builtin/packages/py-slepc4py/package.py

* slepc: update URL
slepc4py: add 3.11.0 and update maintainers

Co-authored-by: Satish Balay <balay@mcs.anl.gov>
2019-12-21 18:22:40 -06:00
Sajid Ali
96063f9168 use sys.executable instead of python in _source_single_file (#14252) 2019-12-21 00:02:28 -08:00
Sajid Ali
8522d1f0cf build bazel with jdk (#14258)
* build bazel with jdk

* Flake 8

* Fix typo
2019-12-20 19:40:05 -06:00
Massimiliano Culpo
80495d83ed microarchitectures: fix ppc flags for clang (#14196) 2019-12-20 14:40:54 -08:00
Adam J. Stewart
87d0ac804e npm: add Python 3 support (#14255) 2019-12-20 16:38:35 -06:00
Massimiliano Culpo
497fddfcb9 Fetching from URLs falls back to mirrors if they exist (#13881)
Users can now list mirrors of the main url in packages.

- [x] Instead of just a single `url` attribute, users can provide a list (`urls`) in the package, and these will be tried by in order by the fetch strategy.

- [x] To handle one of the most common mirror cases, define a `GNUMirrorPackage` mixin to handle all the standard GNU mirrors.  GNU packages can set `gnu_mirror_path` to define the path within a mirror, and the mixin handles setting up all the requisite GNU mirror URLs.

- [x] update all GNU packages in `builtin` to use the `GNUMirrorPackage` mixin.
2019-12-20 14:32:18 -08:00
Nichols A. Romero
1b93320848 PGMATH library symbols patch (#14254)
* Add symbols patch

* Apply symbols patch to pgmath

* Add github issue number for symbols patch.

* Add naromero77 as a maintainer.

* Patch only applied to March 2019 release and master.
2019-12-20 16:23:38 -06:00
Adam J. Stewart
abf8e09fe5 Add py-pyinstrument package (#14241) 2019-12-20 16:17:22 -06:00
Adam J. Stewart
73dbda8c5a node-js: add Python 3 support (#14242)
* node-js: add Python 3 support

* Update node-js, fix Python 3 support in v12
2019-12-20 16:17:04 -06:00
Hadrien G
3dd59c569e Latest versions of CMake need a hand for Python detection (#14247) 2019-12-20 14:52:53 -06:00
Hadrien G
3bb9d0feb4 root: Record that old versions of ROOT don't support modern GCC (#14250)
* Record that old versions of ROOT don't support modern GCC

* Well, actually I don't know about 6.07

* Fix typo and follow odd version recommendation from @chissg
2019-12-20 12:55:16 -06:00
Nichols A. Romero
f408535f2d QE Update Dec 2019 (#14238)
* Add QE 6.5

* Support for serial HDF5 case with serial (no mpi) QE is now supported but requires a patch for 6.4.1 and 6.5.

* Add naromero77 as a maintainer.
2019-12-20 12:53:36 -06:00
Hadrien G
97afe560d5 Do not apply the unuran patch to ROOT 6.06/xy, it is not compatible (#14245) 2019-12-20 12:53:20 -06:00
Adam J. Stewart
d01ceabca2 Add py-pyinstrument-cext package (#14240) 2019-12-20 11:59:18 -06:00
Hadrien G
71d10d76dc Adding myself as a ROOT maintainer (#14251) 2019-12-20 11:48:54 -06:00
Andras Wacha
72eef17ff9 Added hwloc dependency to gromacs (#14244) 2019-12-20 08:49:35 -07:00
Patrick Schratz
48fb5b8b17 R: added v3.6.2 (#14248) 2019-12-20 16:25:09 +01:00
Hadrien G
a5cab03d10 ACTS: added v0.13.0 and v0.12.1 (#14246) 2019-12-20 16:05:48 +01:00
Ethan Stam
e89915eacc New package: cinema_lib (#14231)
* Start cinema package

* Remove boilerplate and add description

* Formatting for pep8

* Correct milestone tag

* 'master' instead of 'develop'

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

* Two variants, both with numpy and other small changes

* When +image for scikit

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-19 19:37:22 -06:00
Chris Green
dc17d548c8 Add missing __init__.py under test, and correct bad file name from #13889. (#14228) 2019-12-19 17:27:53 -06:00
Chris Green
530a67c280 root: Add chissg as maintainer. (#14235) 2019-12-19 17:27:35 -06:00
Adam J. Stewart
01edc28fde Add py-scipy 1.4.1 (#14230) 2019-12-19 14:33:20 -06:00
Adam J. Stewart
ae52f41448 dmd: setup dependent build environment (#14198)
* dmd: setup dependent build environment

* Fix call signature of setup_dependent_build_environment
2019-12-19 12:47:04 -06:00
Hadrien G
5940ec0d74 Remove python2-ism in root package (#14223) 2019-12-19 12:45:09 -06:00
Todd Gamblin
af249d3cf6 package_sanity: add a test to enforce no nonexisting dependencies in builtin
We shouldn't allow packages to have missing dependencies in the mainline.

- [x] Add a test to enforce this.
2019-12-18 21:10:31 -08:00
Todd Gamblin
531f370e0d possible_dependencies() now reports missing dependencies
- Add an optional argument so that `possible_dependencies()` will report
  missing dependencies.
- Add a test to ensure it works.
- Ignore missing dependencies in `possible_dependencies()` by default.
2019-12-18 21:10:31 -08:00
Todd Gamblin
81b147cc0a package: add spack.package.possible_dependencies method
- this version allows getting possible dependencies of multiple packages
  or specs at once.

- New method handles calling `PackageBase.possible_dependencies` multiple
  times and passing `visited` dict around.
2019-12-18 21:10:31 -08:00
Todd Gamblin
a3799b2c7b performance: speed up spack find in environments
`Environment.added_specs()` has a loop around calls to
`Package.installed()`, which can result in repeated DB queries.  Optimize
this with a read transaction in `Environment`.
2019-12-18 16:07:28 -08:00
Todd Gamblin
0e9c8d236c performance: spack spec should use a read transacction with -I
`spack spec -I` queries the database for installation status and should
use a read transaction around calls to `Spec.tree()`.
2019-12-18 16:07:28 -08:00
Todd Gamblin
f73cdac731 concretization: improve performance by avoiding database locks
Checks for deprecated specs were repeatedly taking out read locks on the
database, which can be very slow.

- [x] put a read transaction around the deprecation check
2019-12-18 16:07:28 -08:00
Todd Gamblin
33335c9d0a performance: memoize spack.architecture.get_platform()
`get_platform()` is pretty expensive and can be called many times in a
spack invocation.

- [x] memoize `get_platform()`
2019-12-18 16:07:28 -08:00
t-karatsu
92c2c47f72 aspell: Rename 'darwin.patch' and apply it to all targets. (#14206) 2019-12-18 17:10:05 -06:00
Greg Sjaardema
8da6fcf324 NETCDF-C: Add latest release 4.7.3 (#14214)
Added checksum for latest NetCDF release 4.7.3
2019-12-18 17:09:50 -06:00
Greg Becker
67603d71bc Add dependencies for hpcrypt (#8067)
* Add dependencies for hpcrypt

* address review comments

* flake

* license-fix

* fix checksums

* Update py-hvace homepage

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

* update py-hvac url

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-18 17:09:26 -06:00
t-karatsu
135cf4835f amrex: Define module directry when compiling with Fujitsu compiler. (#14124) 2019-12-18 13:47:21 -06:00
Michael Kuhn
52894f5c71 Fix pkgconfig dependencies (#14175)
pkgconfig is the virtual provider, pkg-config is an implementation.
2019-12-18 13:46:45 -06:00
Greg Sjaardema
5052ce803d PNETCDF: Update to include latest release 1.12.1 (#14213)
Added checksum for recent 1.12.1 release.
2019-12-18 13:45:19 -06:00
Greg Sjaardema
99a19596c4 SEACAS: Update to include new versions (#14212)
Added checksum and tag name for last two SEACAS releases.
2019-12-18 13:45:03 -06:00
Todd Gamblin
52ebc19b4e bugfix: don't fail if checking for "real" compiler version
doesn't understand a custom, user-defined compiler version.  However, if
the compiler's version check fails, you can't build anything with the
custom compiler.

- [x] Be more lenient: fall back to the custom compiler version and use
  it verbatim if the version check fails.
2019-12-18 11:37:59 -08:00
Todd Gamblin
4eb54b6358 bugfix: pgcc -V returns 2 on power machines
`pgcc -V` was failing on power machines because it returns 2 (despite
correctly printing version information).  On x86_64 machines the same
command returns 0 and doesn't cause an error.

- [x] Ignore return value of 2 for pgcc when doign a version check
2019-12-18 11:37:59 -08:00
Adam J. Stewart
fa5e8aa876 wireshark: remove non-existing dependencies (#14209) 2019-12-18 12:55:15 -06:00
Adam J. Stewart
09b17ea147 py-scikit-optimize: fix test dependency (#14210) 2019-12-18 12:47:35 -06:00
Marc Mengel
0607579fd3 New package: py-zc-lockfile (#13586)
* package py-zc-lockfile

* package py-zc-lockfile

* autopep8, docutils cleanup

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

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

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

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

* dependency at wrong level

* license bits

* Remove py-zc-buildout dependency
2019-12-18 12:17:39 -06:00
darmac
201a62d957 add new package : filebench (#14158)
* add new package : filebench

* remove alpha version and duplicated autoheader cmd

* refine automake cmd in sh()

* refine filebench url as a stable tarball link
2019-12-18 11:30:10 -06:00
darmac
5a1b6e1cfc add new package : hama (#14159)
* add new package : hama

* mv hama/hama/package.py to hama/package.py
2019-12-18 11:29:48 -06:00
darmac
6e12c49c28 Hbase (#14161)
* add new package : hbase

* add hbase description

* refine hbase version and depends
2019-12-18 11:29:30 -06:00
Chris Green
ae3eac0b19 root: Rationalize and improve version, variant and ROOT option handling. (#14203)
* root: Rationalize and improve version, variant and ROOT option handling.

* Completely re-vamp CMake option handling for readability and maintainability:
  * Three categories of option: control, builtin and feature, alphabetically sorted.
  * Each option is described as a list: an option name followed by an optional value which is either Boolean or a string representing the name of a variant. If the value is omitted, it defaults to the option name.
  * New functions `_process_opts()` and `_process_opt()` (nested) to turn all supplied option/value specifications into CMake arguments.
  * Remove overly-terse per-option comments in favor of (much) more comprehensive notes in README.md.
* Variants and conflicts:
  * Remove `test` variant in favor of pegging ROOT `testing` option to the value of `self.run_tests` since the install is unaffected, per ROOT developer.
  * Remove commented-out and never-functional variants: `asimage`, `avahi`, `kerberos`, `ldap`, `libcxx`, `odbc`, `oracle`, `pythia8`, `xinetd`.
  * New variant `vmc` (default `OFF`) to control the Virtual Monte Carlo interface.
  * Conflict: `+opengl` is incompatible with `~x`.
  * Conflict: `http` is now an unconditional conflict due to dependency issues (see README.md).
* Remove commented-out and non-existent dependencies `avahi`, `kerberos`, `ldap`, `libcxx`, `odbc`, `oracle`, `pythia`, `veccore` (per #13949).
* New and changed options:
  * Option `pch` was inadvertently set to `OFF` due to its dependence on a nonexistent variant `pch`. As it happens its value is ignored in the ROOT configuration handling, so there was no deleterious effect. It has been fixed to `ON` to better reflect actual behavior pending enablement of tuntime C++ modules.
* Add new versions 6.18.0{0,2,4}:
  * Require CMake 3.9 for 6.18.00+.
  * Add conflicts for variants `qt4` and `table` representing ROOT build options for which support was discontinued. Remove redundant conflict on \@master.
  * C++ standard is now specified with `-DCMAKE_CXX_STANDARD=X` rather than `-Dcxx=X`.
* Remove old version 5.34.38 (wrong build system).

See README.md for more details of option-related changes.

* Flake8

* `rpath` option is a control option rather than a feature.
2019-12-18 11:14:47 -06:00
Jimmy Tang
3511245ca4 Add abseil-cpp package (#14208) 2019-12-18 09:33:44 -06:00
Hadrien G
9583bde739 Add new DD4hep release and some forgotten build requirements (#14195)
* Add new DD4hep release and some forgotten build requirements

* PR review suggestions

Use master naming convention for development branch, and put versions in decreasing order.
2019-12-18 09:32:23 -06:00
Sinan
a24b973fa4 package/gdal add v2.4.3 (#14204) 2019-12-17 21:57:39 -06:00
Nathan Pinnow
60a22f1a7a Update and Fix ROSE Package (#14186)
* rose: Update boost dependency for rose

* rose: Updated rose to version 0.9.12.45

* rose: Updated jdk dependency

* rose: Updated rose to version 0.9.13.0

* rose: Fixed formatting

* rose: Added maintainer and switch dependency to java@8
2019-12-17 18:18:24 -06:00
Axel Huebl
5db646d768 openPMD-api: 0.10.2 (#14201)
Add the latest release of openPMD-api, v0.10.2
2019-12-17 18:16:26 -06:00
darmac
07f522bed6 add new package : openresty (#14169)
* add new package : openresty

* remove rc version
2019-12-17 14:30:19 -06:00
darmac
6a0d15a5c9 add new package : nicstat (#14173)
* add new package : nicstat

* refine nicstat edit operation

* refine CMODEL regex expression
2019-12-17 14:29:56 -06:00
Brian Van Essen
dc69256a59 Added package for Half C++ header-only library. (#14189)
* Added package for Half C++ header-only library.

Fixed an checksum for Hydrogen 1.3.2.  Cleaned up the Clara package to
not create an empty bin directory.

* Fixed flake8

* Added maintainer
2019-12-17 14:29:31 -06:00
darmac
a52df46e2c add new package : haproxy (#14160)
* add new package : haproxy

* add url_for_version() and refine haproxy build code
2019-12-17 12:50:10 -06:00
darmac
cd8be44f62 add new package : cosbench (#14171)
* add new package : cosbench

* add cosbench depends and remove unstable version

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-17 12:48:27 -06:00
Sajid Ali
f657f73e94 tf verbosity to better enable debugging (#14177)
* tf verbosity

* Add more debug flags

	modified:   var/spack/repos/builtin/packages/py-tensorflow/package.py

* Fix later

* More debug/verbose options.

	modified:   var/spack/repos/builtin/packages/py-tensorflow/package.py
2019-12-17 12:46:34 -06:00
Shintaro Iwasaki
1a41380649 sollve: add a version 1.0a2 (#14188) 2019-12-17 12:38:32 -06:00
Yuanqi Wang
8bda848cb9 LAMMPS: Fix USER-REAXC package variant (#14192) 2019-12-17 12:35:06 -06:00
Adam J. Stewart
18c2029fef Fix argparse rST parsing of help messages (#14014)
Thanks!
2019-12-17 10:23:22 -08:00
Adam J. Stewart
189eb5b883 Add py-scipy 1.4.0 (#14193) 2019-12-17 10:00:03 -06:00
t-karatsu
d831db37ca adios2: Fix use of builtin __clear_cache (#14123) 2019-12-17 08:08:22 -05:00
Massimiliano Culpo
5eca4f1470 microarchitectures: readable names for AArch64 vendors (#13825)
Vendors for ARM come out of `/proc/cpuinfo` as hex numbers instead of readable strings.

- Add support for associating vendor names with the hex numbers.
- Also move these mappings from Python code to `microarchitectures.json`
- Move darwin feature name mappings to `microarchitectures.json` as well
2019-12-17 00:47:50 -08:00
Todd Gamblin
a4ff92e42d mrnet: remove nonexisting cti dependency (#14178)
MRNet had an optional dependency on `cti`, which doesn't exist.  Remove
it from the repo, at least until someone adds `cti` back.
2019-12-16 21:03:38 -06:00
Massimiliano Culpo
9ceec7e219 Harden shell detection when procfs is available (#13950) 2019-12-16 14:51:58 -08:00
Hadrien G
e366d5b559 New ACTS version (#14180) 2019-12-16 10:25:37 -06:00
darmac
9ece934084 add new package : py-s3cmd (#14166)
* add new package : py-s3cmd

* add some depends and move depends behind the version
2019-12-16 10:20:15 -06:00
Massimiliano Culpo
f80491826b Travis exits at the first failing test, pin codecov at v4.5.4 (#14179)
Before this commit we used to run the entire unit test suite
in the presence of a failure. Since we currently rely a lot
on the state of the filesystem etc. the end report was most
of the time showing spurious failures that were a consequence
of the first failing test.

This PR makes unit tests exit at the first failing test

Also, pin codecov at v4.5.4 (last one supporting Python 2.6)
2019-12-16 10:56:54 +01:00
Greg Becker
9f1d728646 match bootstrapped compiler to architecture (#14059) 2019-12-14 16:42:46 -08:00
Peter Scheibel
60580f5871 package hash: gracefully handle @when with non-string args (#14153)
* when constructing package hash, default to including a method in the content hash if we can't determine whether it would be included by examining the AST
* add a test for updated content-hash calculations
* refactor content hash tests to eliminate repeated lines
2019-12-14 14:31:39 -08:00
Mark W. Krentel
410bce91d4 hpctoolkit: update git branch for version 'gpu' (#14155) 2019-12-14 12:37:04 -06:00
Brian Van Essen
34128ca70d Updated Hydrogen version to 1.3.2 (#14156) 2019-12-14 12:36:33 -06:00
darmac
5e9fb6b309 add new package : memcached (#14162) 2019-12-14 12:28:51 -06:00
darmac
986df8c233 add new package : jstorm (#14163) 2019-12-14 12:27:39 -06:00
darmac
0f0e2c4397 add new package : logstash (#14164) 2019-12-14 12:26:43 -06:00
darmac
72390ecd62 add new package : pig (#14165) 2019-12-14 12:26:14 -06:00
darmac
43712b4982 add new package : rabbitmq (#14167) 2019-12-14 12:21:09 -06:00
darmac
2f4521d418 add new package : zookeeper (#14170) 2019-12-14 12:19:40 -06:00
darmac
f40520c6bf add new package : bind9 (#14172) 2019-12-14 12:16:39 -06:00
darmac
33028c8955 add new package : rt-tests (#14174) 2019-12-14 12:12:01 -06:00
Andras Wacha
f757b6f4e5 Patch: explicitly use xbitmaps include dir in the automake package (#14128)
* Patch: explicitly use xbitmaps include dir in the automake package

* Added dependencies required for autoreconf: libtool, autoconf, automake, m4
2019-12-14 10:54:27 -06:00
darmac
7e668b1153 add new package : cassandra (#14144)
* add new package : cassandra

* make stable version as a preferred one
2019-12-13 22:21:18 -06:00
Adam J. Stewart
43e9fe95ea Add latest version of jq (#14134) 2019-12-13 15:44:09 -06:00
Matthieu Dorier
f589f69a6c FIX: Making berkeley-db package fetch from correct links (#14147)
* making berkeley-db package fetch from oracle website

* removed blank space

* making flake8 happy

* fixing typos and order of versions
2019-12-13 15:19:59 -06:00
Dan Lipsa
0167ceb104 Add shared option to ParaView. (#14131)
* Add shared option to ParaView.

* Use append for one attribute
2019-12-13 15:19:31 -06:00
Adam J. Stewart
83baf35246 Add new aws-parallelcluster package (#14139) 2019-12-13 12:55:15 -06:00
Adam J. Stewart
268914e7a2 Add latest version of py-tabulate (#14138) 2019-12-13 12:54:59 -06:00
Adam J. Stewart
988b377382 Add latest version of py-ipaddress (#14137) 2019-12-13 12:54:42 -06:00
Adam J. Stewart
da501564cb Add latest version of py-botocore (#14136) 2019-12-13 12:54:23 -06:00
Adam J. Stewart
5db615feca Add latest version of py-boto3 (#14135) 2019-12-13 12:54:05 -06:00
Adam J. Stewart
2e19a9343b Add latest version of oniguruma (#14133) 2019-12-13 12:53:44 -06:00
Seth R. Johnson
c659408368 Update CMake to version 3.16 (#14152) 2019-12-13 12:53:19 -06:00
noguchi-k
3e5c926a95 gmodel: fix error (#14140) 2019-12-13 12:53:03 -06:00
darmac
481a920fe8 add new package : activemq (#14142) 2019-12-13 12:51:59 -06:00
darmac
3344bb0a96 add new package : alluxio (#14143) 2019-12-13 12:51:30 -06:00
Scott Wittenburg
2520806df2 docker: add file, adjust locale, and use python3 for ubuntu (#13508)
* docker: add missing module to ubuntu images
* docker: fix issue with missing locale
* docker: one package per line + rm python2 support
* docker: ubuntu image also needs 'file' for buildcache creation
2019-12-13 10:22:20 -08:00
Zack Galbreath
0f5724e908 Split out CDash options to a separate help document (#13704)
Prevent `spack help install` from getting too cluttered with CDash-specific documentation.
2019-12-13 10:15:22 -08:00
Peter Josef Scheibel
8c2305e867 Patch fetching: remove unnecessary argument 2019-12-13 08:38:50 +01:00
Peter Josef Scheibel
8199f22e7c Mirrors: skip attempts to fetch BundlePackages
BundlePackages use a noop fetch strategy. The mirror logic was assuming
that the fetcher had a resource to cach after performing a fetch. This adds
a special check to skip caching if the stage is associated with a
BundleFetchStrategy. Note that this should allow caching resources
associated with BundlePackages.
2019-12-13 08:38:50 +01:00
Peter Josef Scheibel
b62ba7609d Mirrors: avoid re-downloading patches
When updating a mirror, Spack was re-retrieving all patches (since the
fetch logic for patches is separate). This updates the patch logic to
allow the mirror logic to avoid this.
2019-12-13 08:38:50 +01:00
Peter Josef Scheibel
754dd6eb1f Mirrors: perform checksum of fetched sources
Since cache_mirror does the fetch itself, it also needs to do the
checksum itself if it wants to verify that the source stored in the
mirror is valid. Note that this isn't strictly required because fetching
(including from mirrors) always separately verifies the checksum.
2019-12-13 08:38:50 +01:00
Peter Josef Scheibel
b2cc50aa6a Mirrors: fix cosmetic symlink targets
The targets for the cosmetic paths in mirrrors were being calculated
incorrectly as of fb3a3ba: the symlinks used relative paths as targets,
and the relative path was computed relative to the wrong directory.
2019-12-13 08:38:50 +01:00
Peter Josef Scheibel
b64f458102 Allow repeated invocations of 'mirror create'
When creating a cosmetic symlink for a resource in a mirror, remove
it if it already exists. The symlink is removed in case the logic to
create the symlink has changed.
2019-12-13 08:38:50 +01:00
darmac
03203a86b4 fix libev url (#14066)
* fix libev url

* remove list_url in libev
2019-12-12 22:58:33 -06:00
Sinan
0d7b9de3be compile python with sqlite loadable extensions (#14132) 2019-12-12 22:58:16 -06:00
t-karatsu
ddfca1b2f2 cmake: Fix checksum of 4075.patch (#14125) 2019-12-12 13:57:23 -05:00
iarspider
d98b433a3c Fix py-jupyter-client version ranges (#14126) 2019-12-12 11:31:47 -06:00
Justin S
c2f45fb4da charmpp: fix build failing from broken hardlink (#13922)
* charmpp: fix build failing from broken hardlink

* charmpp: use setup_dependent_build_environment
2019-12-11 20:20:05 -06:00
Glenn Johnson
fec3a852c7 Fix replacement of embedded 'gcc' in augustus (#14116)
PR #13975 added makefile filtering to replace gcc/g++ with the spack
compiler. This conflicts with other filtering that is done in the package to
add paths for dependencies. The text of the dependency paths might
have 'gcc' in the path name, depending on the install_path_scheme, and
that was being replaced by the new compiler filters. That would mangle
the path to the dependecy resulting in a failed build.

This PR moves the compiler filters to be before the other filters to
make sure that the compiler is set before the dependency paths.
2019-12-11 20:19:27 -06:00
iarspider
695c09a8b7 Add missing dependency on setuptools to py-subprocess32 (#14074)
* Add missing dependency on setuptools to py-subprocess32

* Update package.py

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

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

* Update package.py
2019-12-11 20:18:39 -06:00
Brian Van Essen
53f73e280a Bugfix for bad hydrogen tags (#14119) 2019-12-11 20:17:10 -06:00
Adam J. Stewart
1f9d37c346 TensorFlow: must specify CUDA compute capabilities (#14118)
* TensorFlow: must specify CUDA compute capabilities

* Correctly restrict cuda_arch version ranges
2019-12-11 20:16:52 -06:00
Adam J. Stewart
7ec1917d9b Add try-except for Python installation (#14122) 2019-12-11 20:16:33 -06:00
Adam J. Stewart
47615566ea Fix JDK 8 download URLs (#14120) 2019-12-11 20:16:16 -06:00
iarspider
aac45154fd Fix py-ppft source extension (#14077)
* Fix py-ppft source extension

* PEP-8 fix

* Update package.py

* Apply suggestions from code review

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-11 14:05:14 -06:00
iarspider
d07e988fbc Fix py-pox build recipe (#14078)
* Fix py-pox build recipe

* PEP-8 fix

* Update package.py

* Apply suggestions from code review

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-11 14:04:50 -06:00
iarspider
a254f7011e Fix py-notebook for Python2 (#14079)
* Fix py-notebook for Python2

* PEP-8 fix

* Update package.py

* Update package.py

* Syntax fix

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-11 14:04:33 -06:00
iarspider
34adebc7cf Fix py-hypothesis (#14084)
* Fix py-hypothesis

* Update package.py

* Update package.py

* Update package.py
2019-12-11 14:04:18 -06:00
Dan Lipsa
6f7a58b142 Fix constexpr for llvm 9.0 (#14095) 2019-12-11 14:03:57 -06:00
Adam J. Stewart
69a91b5b6b Add grass 7.8.2 (#14115) 2019-12-11 14:00:38 -06:00
Brian Van Essen
ee0b9bfa5b Added new versions of hydrogen (#14103) 2019-12-11 12:23:25 -06:00
Michael Kuhn
927f496306 doxygen: Fix libiconv checks (#14106)
PR #10589 introduced a libiconv dependency to doxygen. This causes
problems on Linux systems, since the iconv symbols are included in libc,
which causes CMake to use the external header but not the external
library. Work around this by always using the external libiconv.
2019-12-11 12:22:59 -06:00
Glenn Johnson
f2979da2af Build xed CLI for the intel-xed package (#14114)
The xed CLI is handy, and can be gotten by building the examples in the
intel-xed package. This PR builds the examples and installs the xed CLI.
It would also be possible to install more of the example binaries if
someone thinks they are useful.
2019-12-11 12:13:27 -06:00
Mark Olesen
77482e102a openfoam relocated to https://develop.openfoam.com/Development/openfoam.git (#14101) 2019-12-11 12:12:30 -06:00
noguchi-k
b0a7c8487d diamond: fix narrowing error. (#14064)
* diamond: fix narrowing error

* diamond: fix patch

* diamond: add link to the patch source
2019-12-11 12:07:21 -06:00
iarspider
d4326038b9 Fix py-pkgconfig recipe (#14081)
* Fix py-pkgconfig recipe

* Update package.py

* Proper fix for py-pkgconfig
2019-12-11 12:06:18 -06:00
iarspider
bb3bae4bae Fix py-pathos source file extension (#14080)
* Fix py-pathos source file extension

* PEP-8 fix

* Add version 0.2.3 to spack

* Update package.py
2019-12-11 12:04:45 -06:00
iarspider
ec3d979899 Fix py-llvmlite (#14083)
* Fix py-llvmlite

* Update package.py

* Add llvmlite 0.29

* Update package.py
2019-12-11 12:03:48 -06:00
iarspider
5c2afd0535 Fix py-dill source archive extension (#14085)
* Fix py-dill source archive extension

* Add py-dill 0.2.7, remove extra str()

* Update package.py

* Update package.py

* Update package.py
2019-12-11 12:03:28 -06:00
Howard Pritchard
e7a03d07b6 llvm: fix for building llvm using Cray PE (#12734)
Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2019-12-11 11:51:44 -06:00
iarspider
3cd6ca02d2 Fix json-c package (#14087)
* Fix json-c package

* Fix PEP-8

* Update package.py

* Update package.py
2019-12-10 17:34:50 -06:00
iarspider
ec060f3d9c Fix libgeotiff dependency of gdal (#14089)
* Fix libgeotiff dependency of gdal

* Update package.py

* Fix typo

* Update package.py
2019-12-10 17:34:35 -06:00
Justin S
2c31776007 openmolcas: new package at 19.11 (#14099)
* openmolcas: new package at 19.11

* openmolcas: fill description

* openmolcas: rewrite using CMakePackage

* openmolcas: add py-six dep

* openmolcas: use setup_build_environment, setup_run_environment

* openmolcas: remove redundant cmake dep

* openmolcas: explicitly cast Executable to str
2019-12-10 17:33:52 -06:00
Greg Becker
917224cb3c pytest: add __init__ files for all test subdirs (#13889)
* pytest: add __init__ files for all test subdirs

* add licenses to empty files

* Fix Sphinx warning message about comment within docstring

* Further fixes to Sphinx docstring
2019-12-10 15:19:09 -06:00
iarspider
5b3b522861 Alternative locations for tclConfig and tkConfig (#14071)
* Alternative locations for tclConfig and tkConfig

* Fix PEP-8
2019-12-10 15:18:19 -06:00
Eric Berquist
33f603734d Update tmux to 3.0a (#14096)
* Add tmux@2.9 and tmux@3.0a

* Fix checksums
2019-12-10 15:06:21 -06:00
Massimiliano Culpo
59d222c172 Better error message when setting unknown variants during concretization (#13128)
fixes #13124
2019-12-10 11:21:45 -08:00
Christoph Junghans
34f0195de8 gromacs-2018.8: fix checksum (#14069) 2019-12-10 12:33:41 -06:00
iarspider
fb6d29adfa ROOT: +http variant doesn't require any external dependency (#14072) 2019-12-10 12:29:11 -06:00
iarspider
f96216cf40 Fix py-pyasn1 version for py-pyasn1-modules (#14076) 2019-12-10 12:26:16 -06:00
iarspider
122264609e Fix for DD4Hep build: can't find boost (#14091) 2019-12-10 11:58:52 -06:00
iarspider
dd67868ef6 More variants for cairo (#14092) 2019-12-10 11:58:37 -06:00
Simo Tuomisto
9e8204d075 openfoam-org: Adding openfoam-org versions 6 and 7. (#12859)
This commit adds openfoam-org versions 6 and 7. It also adding new variant for metis and fixes openfoam-org's old environment modification functions.
2019-12-10 09:42:01 -06:00
Mark W. Krentel
c627e5a6fc intel-tbb: fix and cleanup patch version ranges (#14053)
Recent commit e9ee9eaf (#13989) fixed testing version ranges inside
patch when clauses.  Previously, it was necessary to write all revs
individually for packages with multiple length version numbers (2019
and 2019.1).

This fixes the build for the old 2017.* versions.
2019-12-09 17:11:47 -06:00
Omar Padron
0592c58030 Follow up/11117 fixes and testing (#13607)
* fix docstring in generate_package_index() refering to "public" keys as "signing" keys

* use explicit kwargs in push_to_url()

* simplify url_util.parse() per tgamblin's suggestion

* replace standardize_header_names() with the much simpler get_header()

* add some basic tests

* update s3_fetch tests

* update S3 list code to strip leading slashes from prefix

* correct minor warning regression introduced in #11117

* add more tests

* flake8 fixes

* add capsys fixture to mirror_crud test

* add get_header() tests

* use get_header() in more places

* incorporate review comments
2019-12-09 17:23:33 -05:00
Greg Becker
da9a562182 environments: allow 'add' command to add virtuals (#13787)
This PR allows virtual packages to be added to the specs list using
the add command.

Virtual packages are already allowed in named lists in spack
environments/stacks, and they are already allowed in the specs list
when added using the yaml directly.
2019-12-09 12:23:03 -08:00
Adam J. Stewart
23faffa2d0 TensorFlow: don't override HOME env var (#14054) 2019-12-09 11:22:57 -06:00
Matt Larsen
919a5421b7 fix incorrect gpu arch map for vtk-m package (#14057) 2019-12-09 11:18:51 -06:00
Andras Wacha
b33b8a3e29 Apply URLFetchStrategy to ftp:// and ftps:// url schemes (#13939)
* Apply URLFetchStrategy to ftp:// and ftps:// url schemes

* Corrected trailing whitespace error
2019-12-09 11:18:08 -06:00
George Hartzell
1d06949306 Tuneup docs re setting up sphinx for building docs (#14005)
I have, more than once, tried to install the list of things that need
to build the docs, only to discover that the list doesn't use Spack's
package names.  I'm tired of facepalming....

While I was there I touched up the prose about activating the new
Python packages; activating a python package doesn't add anything to
your PYTHONPATH, it links things into a directory that's *already* on
your PYTHONPATH.  Note that this all presupposes that you're using
that same python....
2019-12-08 16:22:25 -06:00
Adam J. Stewart
aa8d5d2e8c cbtf-krell: fix missing dependencies (#14021) 2019-12-08 15:51:04 -06:00
Adam J. Stewart
2266aab5c5 Add new r-condop package (#14050) 2019-12-08 09:29:51 -06:00
Adam J. Stewart
c72568d01b Add new r-earth package (#14049) 2019-12-08 09:06:53 -06:00
Adam J. Stewart
bf9661f18a Add new r-plotmo package (#14048) 2019-12-08 09:06:37 -06:00
Adam J. Stewart
0c1599403d Add new r-teachingdemos package (#14047) 2019-12-08 09:06:20 -06:00
Adam J. Stewart
cb258daf88 Add new r-graphlayouts package (#14046) 2019-12-08 09:06:04 -06:00
Adam J. Stewart
4593b7b693 Add new r-tidygraph package (#14045) 2019-12-08 09:05:46 -06:00
Adam J. Stewart
3547776921 py-torch: comment out non-existing deps (#14044) 2019-12-08 09:05:21 -06:00
Adam J. Stewart
aca67581e8 Add new py-requests-mock package (#14043) 2019-12-08 09:05:04 -06:00
Adam J. Stewart
99d2bcf64e py-luigi: fix test dependencies (#14042) 2019-12-08 09:04:45 -06:00
Christoph Junghans
16a61d1422 elpa: port to microarch (#13655)
* elpa: port to microarch

* flake8

* Update package.py

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-08 09:03:59 -06:00
Adam J. Stewart
4e24c4ca5f Add new py-pytest-mypy package (#14041) 2019-12-08 00:10:46 -06:00
Adam J. Stewart
4fb03f7222 Add new py-sphinxcontrib-issuetracker package (#14040) 2019-12-08 00:10:32 -06:00
Adam J. Stewart
8d21e39f00 py-python-htmlgen -> py-htmlgen (#14039) 2019-12-08 00:10:17 -06:00
Adam J. Stewart
fdc3176920 Add new py-asserts package (#14038) 2019-12-08 00:10:02 -06:00
Adam J. Stewart
4f7c28e9cd py-brian2: py-nosetests -> py-nose (#14037) 2019-12-07 23:21:27 -06:00
Adam J. Stewart
ab250a2e3a polymake: fix dependency name (#14034) 2019-12-07 22:14:48 -06:00
Adam J. Stewart
0a1d2a45f4 Add py-jupyter package (#14035) 2019-12-07 22:14:34 -06:00
Adam J. Stewart
db1026cb62 Add new py-wxmplot package (#14036) 2019-12-07 22:14:20 -06:00
Adam J. Stewart
891ccbea3f Add new py-stestr package (#14029) 2019-12-07 15:40:08 -06:00
Adam J. Stewart
c1826d9d32 Add new py-testrepository package (#14030) 2019-12-07 15:39:53 -06:00
Adam J. Stewart
129e548ac0 Add new py-testresources package (#14031) 2019-12-07 15:39:38 -06:00
Adam J. Stewart
71ec2db3a9 Add new py-testscenarios package (#14032) 2019-12-07 15:39:24 -06:00
Adam J. Stewart
e77a557ca1 Add new py-testtools package (#14033) 2019-12-07 15:39:11 -06:00
Adam J. Stewart
cec03c2db4 Add new py-python-subunit package (#14028) 2019-12-07 15:38:56 -06:00
Quinn
1a662f428e Add New package feh and supporting packages (#14013)
* Adding libid3tag package for supporting feh

* Adding libexif package for supporting feh

* Adding imlib2 package for supporting feh

* Adding the feh package

* Rewording the cleanup function for libid3tag

* Fixing some flake8 issues for imlib2 and libid3tag

* Adding sources for the patches and swapping rm for os.remove

* Flake8 fixes

* swapping md5sums for sha256sums
2019-12-07 15:38:41 -06:00
Adam J. Stewart
a9f6caf863 Add new py-hacking package (#14027) 2019-12-07 14:04:06 -06:00
Adam J. Stewart
c88b95bd28 Add new py-fixtures package (#14026) 2019-12-07 14:03:41 -06:00
Adam J. Stewart
e78865b3ab Add new py-extras package (#14025) 2019-12-07 14:03:06 -06:00
Adam J. Stewart
b6a6f28482 Add py-tox package (#14024) 2019-12-07 14:02:39 -06:00
Adam J. Stewart
9ece63242a Add latest version of py-importlib-metadata (#14023) 2019-12-07 14:02:16 -06:00
Adam J. Stewart
31b45d40d9 flann: fix missing dependencies (#14022) 2019-12-07 14:01:39 -06:00
Christoph Junghans
969bc948b5 votca*: add v1.6_rc1 (#14017)
* votca*: add v1.6_rc1

* votca: prefer v1.5.1
2019-12-07 10:04:15 -06:00
Axel Huebl
15bb5da99f openPMD-api: 0.10.1 (#14018)
Add the latest release of openPMD-api.
2019-12-07 10:02:53 -06:00
Axel Huebl
d705e96a63 Spec Header Dirs: Only first include/ (#13991)
* CUDA HeaderList: Unit Test

* Spec Header Dirs: Only first include/

Avoid matching recurringly nested include paths that usually
refer to internally shipped libraries in packages.
Example in CUDA Toolkit, shipping a libc++ fork internally
with libcu++ since 10.2.89:
`<prefix>/include/cuda/some/more/details/include/` or
`<prefix>/include/cuda/std/detail/libcxx/include`

regex: non-greedy first match of include

Co-Authored-By: Massimiliano Culpo <massimiliano.culpo@gmail.com>

* CUDA: Re-Enable 10.2.89 as Default
2019-12-06 23:47:03 -08:00
Mark W. Krentel
9d9737f765 ibm-java: add version 8.0.6.0 (#14003)
* ibm-java: add version 8.0.6.0

Add version 8.0.6.0 and remove 8.0.5.30.  IBM is fairly aggressive
about removing old versions, and 8.0.5.30 is no longer available from
their download site.

* Restore version 8.0.5.30, although it is no longer available for
download from IBM.
2019-12-06 18:11:24 -06:00
Francesco Di Natale
01d35a4f3b Packages/py-maestrowf (#14010)
* Addition of repository branches to maestrowf.

* Addition of 1.1.5dev pre-release.

* Correction of a merge conflict.

* Addition of Maestro release 1.1.5

* Addition of Maestro release 1.1.6 (removal of 1.1.5)

* Sets 1.1.6 to the preferred version.

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

* Tweak to the url to point to latest.
2019-12-06 18:10:58 -06:00
Adam J. Stewart
66a169e2a5 Add py-parameterized package (#14016) 2019-12-06 18:09:00 -06:00
Adam J. Stewart
350a5422ed Update py-theano dependencies (#14015) 2019-12-06 18:08:34 -06:00
nicolas le goff
d173ec6a35 mesquite: fix build of the no mpi variant. (#14012)
* mesquite: fix build of the no mpi variant.

* mesquite: added the --without-mpi option to configure.
2019-12-06 18:08:13 -06:00
Tamara Dahlgren
842e9d9375 docs: Alphabetize create cmd template options (#13993)
* Bugfix: Display template options for create command.

* Alphabetize "spack create" template options for readability

* Revert template choices format; alphabetize list

* flake8 fix
2019-12-06 18:07:45 -06:00
Greg Becker
99c9365974 Bugfix: spack find -p fails in environment (#13972)
* force spack find -p to print abstract specs without prefixes
* hashes have the same issue; improve handling of find -L to match find -l
2019-12-06 12:29:57 -08:00
Teodor Nikolov
65a292fbbf [Package: HPX] Fix Apex and OTF2 support (#13982)
* Fix Apex and OTF2 support

- Comment out apex as a dependncy: it is bundled with HPX.
- Apply a patch to v1.3.0 to correctly build with APEX.
- Add otf2 as a dependency when APEX is enabled.

* Remove depends_on('apex')
2019-12-06 12:41:55 -06:00
t-karatsu
06042ec7ec augustus: Set compile commands for each compiler and Fix for using 'boost' on Spack (#13975)
* augustus: Set compile commands for each compiler and Fix for using 'boost' on Spack

* fix for flake8

* delete 'string' args

* Fix args of filter_file func

* Fix args of other filter_file func
2019-12-06 12:39:23 -06:00
Galen Shipman
5d523dd689 Add patch to fix issue building current llvm develop master on power9 (#13986)
* Add patch to fix issue building current llvm develop master on power9

* Conform to proper block commenting

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-06 12:38:58 -06:00
Tamara Dahlgren
dd26cc4004 Fastmath: Added required version (#13990)
* Fastmath: Added required version

* Changed the version to 'latest' (per balay).
2019-12-06 12:38:29 -06:00
Tamara Dahlgren
5e49b76dd7 Ceed: Added required version (#14006) 2019-12-06 12:38:00 -06:00
t-karatsu
246799d4ce sz: Change optimization flags for Fujitsu compiler (#14007) 2019-12-06 12:05:16 -06:00
Paul
67e45096c8 Specify self for internal setup method (#14008) 2019-12-06 12:04:57 -06:00
Brian Homerding
5e20bd86e4 Convert llvm Spackage to use the monorepo (#11392)
* [WIP] Convert llvm spackage to use the monorepo

* Correcting python dependencies

* Adding develop version for llvm monorepo

* Python 2.6 Fix

* Build Flang fork in a different root_cmakelists_dir

* Formatting Fix

* Including flang package changes

* Removing explicit llvm dependencies variants

* flake8 fix

* Updating patches and llvm+flang logic

* Updating env setup API

* Add top level git

* Conflicting flang variant with other variants
2019-12-06 12:01:30 -06:00
Seth R. Johnson
f069a3feda Add h5sh python package (#14001)
* Add h5sh package

* Fix requirements and update version
2019-12-06 11:58:59 -06:00
Tamara Dahlgren
b0f59484d3 docs: Minimal BundlePackage build system doc (#13992)
* Minimal BundlePackage build system doc

* Add link to new bundlepackage file

* Fixed link bug and added create command example
2019-12-06 07:26:59 -08:00
Mark W. Krentel
f84ad57fe7 hpcviewer: add version 2019.09 (#14004)
Add version 2019.09.  Adjust the iteration through versions to
eliminate the need for version_list.
2019-12-05 18:59:30 -06:00
Dominik Dold
c3eafde7bf Add new TensorFlow package (#13112)
* add tensorflow

Change-Id: Id778c68d148cc42f0b478a9d10a8f937cb54cdc6

* make bazel and tensorflow build

Change-Id: Iae9005e8f4dcc8f1ed36ea9337d2430aeebb291f

* fix flake8

Change-Id: Ib05529dd796eab4a8855a5d7775cc4efea8e479d

* 2nd flake8 attempt

Change-Id: I46224be3a374b2a65793048b0c5178ea64adbd78

* replace md5 sums with sha256

* add version 1.13.2

* bazel() -> bazel('build',...

* specify versions of bazel dependency

* build with CUDA

* add TODOs

* add more todo"s

* improve enum34 dependency

* py-future is a dependency as of v1.14

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

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

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

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

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

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

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

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

* enable nccl, cuda by default

* explain patches

* add todo

* remove unnecessary copt_flag

* use join

* join argument must be an iterable

* split long line; use same opts for non-cuda build

* without opt flags, configure hangs

* introduce build phases; re-arrange

* undo mistake

* restore unset tmp_path

* as of v1.14, nccl_install_path is parsed correctly, hence change ...prefix.lib to ...prefix

* now, version 1.14 compiles successfully with cuda

* add version 2.1.0

* specify bazel dependency for version 2.1.0-rc0

* account for deprecated bazel opts for v2.1.0-rc0

* disable mkldnn contraction kernel

* Flake8 fixes

* md5 -> sha256

* Fix TF and TF-estimator version deps

* Don't just comment out patch

* Add myself as a maintainer

* Patch py-astor to support newer py-setuptools

* Add more versions and bazel version constraints

* Add a build phase

* Add note about configure interactivity

* dev-build -> build-env

* Disable iOS build

* Use correct optimization flags

* Add variants for all possible features

* nccl isn't always a dependency

* Specify correct dependency versions for each release

* Libs may not be in lib or lib64

* Add py-opt-einsum package

* Add newer version of py-protobuf

* Add newer version of py-wrapt

* Fix Python 2.6 syntax error

* Code review

* Set more env vars for older versions

* Add more env vars, fix bazel versions, add conflicts

* Fix config options

* Specify version that support --config args

* Add py-future dependency for Python 2

* Fix cuda config flag and compute capabilities

* Fix installation on macOS, add unit tests

* Override cuda variant default to True on non-macOS

* Rename tensorflow to py-tensorflow

* Has to extend something

* Fix os.symlink call

* convert cuda_arc values to capabilities

* restore nccl prefix path for v1.13.1

* Revert to v2

* Remove extraneous period

* Add new version of jdk/openjdk

* More stable cuda_arch formatting

* Fix bazel unit tests

* Fix symlinking

* Fix unit tests

* +gcp by default until build error figured out
2019-12-05 18:48:20 -06:00
Scott Wittenburg
a288449f0b cdash: fix reporting issue with python 3 2019-12-05 11:37:03 -07:00
Chuck Atkins
831133a4c3 paraview: Adjust python version constraints (#13999)
py-matplotlib: No constraint necessary for py3 but py2 has an upper bound
py-numpy: No constraint necessary for py3 but py2 has an upper bound
2019-12-05 12:06:47 -06:00
Paul
9a0b1b6aef Added go 1.13.5 and 1.12.14 (#13997) 2019-12-05 11:29:00 -06:00
Chuck Atkins
fcc9a668bf py-pillow: allow older versions to build with python 3.4 (#14000) 2019-12-05 11:27:33 -06:00
Christoph Junghans
2da2fc8bc5 eospac: fix url (#13998) 2019-12-05 09:30:35 -07:00
Alexander Knieps
dbdc6c4a68 New package: swipl (#13978)
* New package: swipl

* Removed boilerplate, added maintainer

* Fixed python 2 incompatibility

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

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

* swipl: Added conflict with intel compiler
2019-12-05 09:51:38 -06:00
Peter Scheibel
e9ee9eaf50 patching: do strict version range checking (#13989)
* apply strict constraint checks for patches, otherwise Spack may incorrectly treat a version range constraint as satisfied when mixing x.y and x.y.z versions
* add mixed version checks to version comparison tests
2019-12-04 22:27:08 -08:00
Todd Gamblin
55ee2aecdf Merge tag 'v0.13.2' into develop
v0.13.2

This release contains major performance improvements for Spack environments, as well as some bugfixes and minor changes.

* allow missing modules if they are blacklisted (#13540)
* speed up environment activation (#13557)
* mirror path works for unknown versions (#13626)
* environments: don't try to modify run-env if a spec is not installed (#13589)
* use semicolons instead of newlines in module/python command (#13904)
* verify.py: os.path.exists exception handling (#13656)
* Document use of the maintainers field (#13479)
* bugfix with config caching (#13755)
* hwloc: added 'master' version pointing at the HEAD of the master branch (#13734)
* config option to allow gpg warning suppression (#13744)
* fix for relative symlinks when relocating binary packages (#13727)
* allow binary relocation of strings in relative binaries (#13724)
2019-12-04 22:04:36 -08:00
Todd Gamblin
fe4ccdd555 update CHANGELOG.md for 0.13.2 2019-12-04 22:02:41 -08:00
Adam J. Stewart
ad5d612925 Add py-matplotlib 3.1.2 (#13994) 2019-12-05 00:00:20 -06:00
Todd Gamblin
b3d6eb79f5 Merge branch 'releases/v0.13' into develop 2019-12-04 21:41:41 -08:00
Todd Gamblin
3fee65cb92 version bump: 0.13.2 2019-12-04 21:36:42 -08:00
Todd Gamblin
46b68263d8 version bump: 0.13.2 2019-12-04 21:20:09 -08:00
Peter Scheibel
03a5771b9d Bugfix: allow missing modules if they are blacklisted (#13540)
`spack module loads` and `spack module find` previously failed if any upstream modules were missing.  This prevented it from being used with upstreams (or, really, any spack instance) that blacklisted modules.

This PR makes module finding is now more lenient (especially for blacklisted modules).

- `spack module find` now does not report an error if the spec is blacklisted
  - instead, it prints a single warning if any modules will be omitted from the loads file
  - It comments the missing modules out of the loads file so the user can see what's missing
  - Debug messages are also printed so users can check this with `spack -d...`

- also added tests for new functionality
2019-12-04 20:55:50 -08:00
Axel Huebl
ba156dfcd8 CUDA: Keep 10.1.243 As Preferred (#13983)
Keep CUDA 10.1.243 as the preferred version until the issue
of including implementation details of libcu++ is addressed.
2019-12-04 21:28:10 -06:00
Peter Scheibel
e5f04f9abc Bugfix: allow missing modules if they are blacklisted (#13540)
`spack module loads` and `spack module find` previously failed if any upstream modules were missing.  This prevented it from being used with upstreams (or, really, any spack instance) that blacklisted modules.

This PR makes module finding is now more lenient (especially for blacklisted modules).

- `spack module find` now does not report an error if the spec is blacklisted
  - instead, it prints a single warning if any modules will be omitted from the loads file
  - It comments the missing modules out of the loads file so the user can see what's missing
  - Debug messages are also printed so users can check this with `spack -d...`

- also added tests for new functionality
2019-12-04 19:17:40 -08:00
Adam J. Stewart
ba7ac53b75 Fix spack test when SPACK_ROOT isn't set (#13980) 2019-12-04 18:05:08 -06:00
Stephen Hudson
e0e9fb4462 Update libensemble to v0.6.0 (#13987) 2019-12-04 18:01:05 -06:00
Adam J. Stewart
10f4445309 Add latest version of py-scikit-learn (#13979) 2019-12-04 11:47:07 -06:00
Massimiliano Culpo
e9f027210f Fixed x86-64 optimization flags for clang (#13913)
* Fixed x86-64 optimization flags for clang
* Fixed expected results in unit tests

Before the flags used where the one for llc, the underlying compiler from LLVM IR to machine assembly. It turns out that the semantic of `-march`, `-mtune` and `-mcpu` changes from clang front-end to llc.

I found no definitive reference for the flags submitted in this PR, but I checked the assembly on a vectorizable function using Godbolt's web-site.
2019-12-04 09:11:34 -08:00
Tim Haines
728f5a76f3 Add Elfutils 0.178 (#13976)
* Add elfutils-0.178

* Disable debuginfod server

* Fix flake8
2019-12-04 07:50:44 -06:00
Tim Haines
bb33b6b8e6 Use correct range check for the version (#13977)
Update to #13893
2019-12-04 07:50:05 -06:00
Sheng Di
ba87a7f53a Release a new version v2.1.8.0 for SZ (#13974)
* Release a new version v2.1.8.0 for SZ

* add maintainer

* add parallel = False to avoid potential compile issue
2019-12-03 22:35:46 -06:00
Rob Latham
92ee0659e2 mpich: update build requirements (#13966)
To build from git, MPICH will need newer autoconf, automake, and libtool than
typically available on many systems.
2019-12-03 17:13:52 -06:00
Rob Latham
c7dbb4f103 argobots: consistently use 'master' (#13965)
Commit 71cd91e4 changed "latest from git" to 'master' from former
'develop'.  Build dependencies still pointed to @develop, though
2019-12-03 12:09:15 -06:00
Cameron Smith
5ddf5e2e7b new package: Simmetrix SimModSuite (#8730)
* package for Simmetrix SimModSuite

* simmodsuite: passes flake8

* simmetrix: add version, set cmake prefix path

A given install will either use the libs built on rhel7 or rhel6.
For now, I'm sticking with the non-spack install convention of
placing the libraries into sub-directories named according to their
build process (os + compiler).

* simmetrix: add older version

* simmetrix: set build env paths

easier to build pumi using CMAKE_PREFIX_PATH

* simmetrix: address review comments

* simmetrix: add new version and remove old one

* simmetrix: flake8 fixes

* simmodsuite: oslib var is in self

* simmodsuite: update version and checksum

* simodsuite: set LD_LIBRARY_PATH for cad kernels

* update license

* update setup_environment calls

* increase indentation for flake8

* python3.8 flake8 fixes

* use spack consistent naming

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

* sha256 required, update versions and hashes
2019-12-03 12:07:27 -06:00
t-karatsu
111dc8f823 kaldi: Change process of version analysis when using Fujitsu compiler. (#13960) 2019-12-03 10:34:05 -06:00
asmaahassan90
fb52f1c7e2 fix_cantera_installation (#13962)
For a successful cantera installation, googletest has to be installed with gmock on, and sundials has to be of version less than 3.2
2019-12-03 10:33:27 -06:00
Phil Carns
88680febc9 bump libfabric to 1.9.0 (#13964) 2019-12-03 10:32:53 -06:00
Yuanqi Wang
a5d872f510 Update MrBayes to 3.2.7a and correct MPI variants (#13929)
* Update MrBayes and correct MPI variant

* Use tarballs and remove autotools dependencies

* MrBayes: remove ISA variants
2019-12-03 10:31:00 -06:00
Jannek Squar
7e2d01b238 Update package libgpg error (#13697)
* Added build dependency on gawk

* Use virtual depdendency

* Added patch to prepare libgpg-error for use with gawk@5

* Added reasoning with link for need for patch
2019-12-03 10:29:15 -06:00
Chris White
cb38725a88 Add missing metis include to superlu-dist (#13956)
* Add missing metis include to superlu-dist

* Fix PEP-8 line length

* Fix PEP-8 indent
2019-12-02 18:30:23 -06:00
Sinan
4f8a2eeca2 add more versions (#13957) 2019-12-02 18:30:08 -06:00
Massimiliano Culpo
a93a613668 Speedup environment activation (#13557)
* Add a transaction around repeated calls to `spec.prefix` in the activation process
* cache the computation of home in the python package to speed up setting deps
* ensure that module-scope variables are only set *once* per module
2019-12-02 14:05:35 -08:00
Massimiliano Culpo
bca59f8d83 Speedup environment activation (#13557)
* Add a transaction around repeated calls to `spec.prefix` in the activation process
* cache the computation of home in the python package to speed up setting deps
* ensure that module-scope variables are only set *once* per module
2019-12-02 14:05:02 -08:00
Hector Martinez-Seara
1b624b9d45 amber: Improved package.py and added version 18 (#13945)
* amber: Improved package.py and added version 18

- Added amber 18 with ambertools 19
- Added all available patches
- Added +update variant to use the self update
- Added +openmp variant to get openmp optomizations
- Added +x11 variant when possible
- Splitted amber 16 and 18 dependencies
- We now detect the copiler type and compile accordingly
- Added cray variant which is a bit special (untested)
- Improved detection of possible cuda versions
- All compilation optimizations +mpi +openmp +cuda are compatible
- Updated to use setup_build_environment(), setup_run_environment()

* dealii: Added 'threads' variant that controls the TBB dependency (#13931)

* dealii: Added 'threads' variant that controls the DEAL_II_WITH_THREADS cmake option and the dependency on Intel TBB

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

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

* amber: Improved package.py and added version 18

- Added amber 18 with ambertools 19
- Added all available patches
- Added +update variant to use the self update
- Added +openmp variant to get openmp optomizations
- Added +x11 variant when possible
- Splitted amber 16 and 18 dependencies
- We now detect the copiler type and compile accordingly
- Added cray variant which is a bit special (untested)
- Improved detection of possible cuda versions
- All compilation optimizations +mpi +openmp +cuda are compatible
- Updated to use setup_build_environment(), setup_run_environment()

* amber: Adding missing flex and bison dependencies

* Removed cray variant; flex and bison now build only

* amber: Improved package.py and added version 18

- Added amber 18 with ambertools 19
- Added all available patches
- Added +update variant to use the self update
- Added +openmp variant to get openmp optomizations
- Added +x11 variant when possible
- Splitted amber 16 and 18 dependencies
- We now detect the copiler type and compile accordingly
- Added cray variant which is a bit special (untested)
- Improved detection of possible cuda versions
- All compilation optimizations +mpi +openmp +cuda are compatible
- Updated to use setup_build_environment(), setup_run_environment()

* amber: Adding missing flex and bison dependencies

* Removed cray variant; flex and bison now build only

* dealii: Fixed flake8 issues

* amber: corrected typo

* amber: Removed unused variant python
2019-12-02 16:01:14 -06:00
Jim Galarowicz
6d127e29de Fix conflict with respect to openssl and qt3 built for openspeedshop. (#13946)
* Fix conflict with respect to openssl and qt3 built for openspeedshop.

* Another fix because the first was incorrect.
2019-12-02 13:13:31 -06:00
Justin M Wozniak
543f37ea51 eq-r: Fix use of Executable.__call__() (#13952) 2019-12-02 13:13:05 -06:00
Adam J. Stewart
71eaffa46b Version bump: 1.13.1 (#13942) 2019-12-02 06:58:30 -08:00
Todd Gamblin
2dffbec486 git: add .gitattributes file (#13947)
Add a line to .gitattributes so that `git grep -p` shows function names
properly for `*.py` files.  Without this, the class name is shown instead
of the function for python files.

This also causes diff output to use proper functions as hunk headers in
`diff` output.

Here's an example with `git grep -p`.

Before:

    $ git grep -p spack_cc var/spack/repos/builtin/packages/athena
    var/spack/repos/builtin/packages/athena/package.py=class Athena(AutotoolsPackage):
    var/spack/repos/builtin/packages/athena/package.py:            env.set('CC', spack_cc)
    var/spack/repos/builtin/packages/athena/package.py:            env.set('LDR', spack_cc)

After:

    $ git grep -p spack_cc var/spack/repos/builtin/packages/athena
    var/spack/repos/builtin/packages/athena/package.py=    def setup_build_environment(self, env):
    var/spack/repos/builtin/packages/athena/package.py:            env.set('CC', spack_cc)
    var/spack/repos/builtin/packages/athena/package.py:            env.set('LDR', spack_cc)

Here's an example with `diff`.

Before:

    $ git show c5da94eb58
    [...]
    @@ -28,6 +29,7 @@ print(u'\\xc3')

             # make it executable
             fs.set_executable(script_name)
    +        filter_shebangs_in_directory('.', [script_name])

             # read the unicode back in and see whether things work
             script = ex.Executable('./%s' % script_name)

After:

    $ git show c5da94eb58
    [...]
    @@ -28,6 +29,7 @@ def test_read_unicode(tmpdir):

             # make it executable
             fs.set_executable(script_name)
    +        filter_shebangs_in_directory('.', [script_name])

             # read the unicode back in and see whether things work
             script = ex.Executable('./%s' % script_name)
2019-12-02 01:35:38 -08:00
Todd Gamblin
c36d9f297f bugfix: mirror path works for unknown versions (#13626)
`mirror_archive_path` was failing to account for the case where the fetched version isn't known to Spack.

- [x] don't require the fetched version to be in `Package.versions`
- [x] add regression test for mirror paths when package does not have a version
2019-12-01 20:23:06 -08:00
Adam J. Stewart
b44df29316 environments: don't try to modify run-env if a spec is not installed (#13589)
Fixes #13529
Fixes #13509
2019-12-01 20:22:31 -08:00
Greg Becker
fba963f1d1 use semicolons instead of newlines in module/python command (#13904) 2019-12-01 20:21:34 -08:00
Daryl W. Grunau
9c5b583508 verify.py: os.path.exists exception handling (#13656) 2019-12-01 20:21:08 -08:00
Alexander Knieps
8e3ff9b39c dealii: Added 'threads' variant that controls the TBB dependency (#13931)
* dealii: Added 'threads' variant that controls the DEAL_II_WITH_THREADS cmake option and the dependency on Intel TBB

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-12-01 13:34:26 -06:00
Sergei Shudler
c7568c9146 Package/sensei: PR request for SENSEI (in situ analysis tool) recipe (#12973)
* Created an initial recipe for Sensei

* Cleanup syntax

* Small fixes for the Sensei recipe

* Cosmetic fixes to comply with PEP8

* More cosmetic fixes before PR

* Added more documentation before PR

* Fixed flake8 errors

* Fixes following PR review

* Fixes to pass Flake8 passes

* Some changes following PR review and support for SENSEI 3

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

Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>

* Fixed Flake8 errors
2019-12-01 11:30:14 -06:00
Benjamin Fovet
fdd7a0e236 Add VTK version 8.2.0 (#13941) 2019-11-30 16:32:19 -06:00
jwallior
daaeb412a4 New python packages (#9974)
* New package: add py-jellyfish

* New package: add py-us

* New package: add py-xlwt

* New package: add py-svgpathtools

* New package: add py-svgwrite

* Change checksums to sha256

* Fix Copyright year.

* Add missing dependencies.
2019-11-30 16:32:02 -06:00
Benjamin Fovet
1c8a62aa86 Add package opencascade (#13938)
* Add new package : opencascade

* Remove boilerplate comment

* Fix flake8 errors

* Explicitly disable 3rd parties
2019-11-30 15:08:52 -06:00
Toyohisa Kameyama
c850e80bea cbtf: add rpcsvc-proto and libtirpc dependency. (#13798) 2019-11-30 13:08:24 -06:00
iarspider
aec5874b94 Mark py-argparse dependency everywhere with ^python@:2.6 (#13928)
* Mark py-argparse dependency everywhere with ^python@:2.6

* Update package.py

* Update package.py
2019-11-30 13:07:14 -06:00
Chris Green
c5da94eb58 Armor test script against shebang character limit if appropriate. (#12447) 2019-11-30 13:00:08 -06:00
darmac
46617b6f12 add new package : lshw (#13933)
* add new package : lshw

* update lshw package

* remove build methord
2019-11-30 01:13:23 -06:00
iarspider
94c8bf0322 Update Geant4 version and recipe (#13840)
* Update Geant4 version and recipe

According to the Geant4 developers, Geant4 supports Qt5 since at least 10.00.

* Update to new API
2019-11-29 16:21:51 -06:00
Adam J. Stewart
ab98ef1765 Mass conversion of setup_(dependent_)?environment (#13924)
* Mass conversion of setup_(dependent_)?environment

* prefix -> self.prefix
2019-11-29 15:00:44 -06:00
Mark W. Krentel
92ca639905 intel-tbb: fix and update patches for latest versions (#13932)
Commit 78724357 added versions 2019.5 to 2019.8 but failed to update
the patches for these versions.

1. gcc_generic-pedantic patch -- include this up through 2019.5.  This
was fixed in the TBB source tree in 2019.6.

2. tbb_cmakeConfig patch -- this needs to be modified (different file)
for 2019.5 and later.

3. tbb_gcc_rtm_key patch -- replace this with filter_file.  This is
simpler and eliminates the need to update the patch whenever the
surrounding context changes.
2019-11-29 13:18:56 -06:00
darmac
0f464b8d9f add new package : pipework (#13934) 2019-11-29 12:19:13 -06:00
darmac
e865856c84 add new package : qperf (#13935) 2019-11-29 12:18:41 -06:00
Peter Scheibel
cacfc3a6e1 Handle external perl (#13903)
* dont add perl bin directory to PATH when setting up env (this is already handled by spack core in a way that omits system dirs); also consolidate repeated logic between build/run env setup.

* the bin/ dir of each dependency is already added to PATH in Spack core, so there is no need to do this in the Perl package
2019-11-29 12:30:40 +01:00
iarspider
4dca63f007 Loosen restriction on setuptools version of py-backports-shutil-get-terminal-size: the bug seems to be fixed at least in setuptools 41.0.0 (#13927) 2019-11-28 11:54:01 -06:00
Tyler Reddy
008fe37941 BLD: enforce C++11 std for boost + xl_r (#13829)
* BLD: enforce C++11 std for boost + xl_r

* the spack `cxxstd` variant is not sufficient to enforce
`-std=c++11` usage in boost compile lines when `xl_r` compiler
spec is in use; while it would be nice if this were fixed
in a boost config file somewhere, for now this patch
allows boost to build on POWER9 with
an %xl_r compiler spec if the user specifies i.e.,:

`spack install boost@1.70.0+mpi cxxstd=11 %xl_r@16.1.1.5`

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-27 23:08:54 -06:00
Glenn Johnson
e974f48be0 Build R without recommended packages (#12015)
The documentation states that Spack builds R without the recommmened
packages, with Spack handling the build of those packages to satisfy
dependencies. From the docs:

> Spack explicitly adds the --without-recommended-packages flag to
> prevent the installation of these packages. Due to the way Spack
> handles package activation (symlinking packages to the R installation
> directory), pre-existing recommended packages will cause conflicts for
> already-existing files. We could either not include these recommended
> packages in Spack and require them to be installed through
> --with-recommended-packages, or we could not install them with R and
> let users choose the version of the package they want to install. We
> chose the latter.

However, this is not what Spack is actually doing. The
`--without-recommended` configure option is not passed to R and
therefore those packages are built. This prevents R extension activation
from working as files in the recommended packages installed with R will
block linking of file from the respective `r-` packages.

This PR adds the `--without-recommended` flag to the configure options
of the R package. This will then have the Spack R build match what is
documented.
2019-11-27 20:58:12 -06:00
Justin S
1b24dfb8ba Replace git-based Bioconductor R packages (#12005)
* Replace git-based Bioconductor R packages

The current collection of bioconductor packages tend to have scattered
dependencies and missing versions. This commit replaces git-based
packages with tool-generated Spack package recipes with correct
dependencies and descriptions in place.

* Fix some broken package names, add periods to title docstrings

* r-clue: new package at 0.3-57

* r-genomeinfodbdata: add 1.2.1

* r-gofuncr: new package at 1.4.0

* r-pfam-db: add 3.8.2

* Add missed package r-genelendatabase

* update r-goseq package

* update r-glimma package

* update r-rots package

* r-org-hs-eg-db: add 3.8.2

* r-vgam: fix incorrect R version

* r-rnaseqmap: new package at 2.42.0

* r-rhdf5lib: new package at 1.6.0

* r-scrime: new package at 1.3.5

* r-delayedmatrixstats: new package at 1.6.0

* r-hdf5array: new package at 1.12.1

* r-biocfilecache: new package at 1.8.0

* r-ctc: add new versions, dependencies

* r-genemeta: new package at 1.56.0

* r-scrime: fix flake8

* r-ensembldb: add missing dependencies

* Added missing dependencies to packages with certain DESCRIPTIONS

* r-mapplots: new package at 1.5.1

* r-beachmat: new package at 2.0.0

* r-beeswarm: new package at 0.2.3

* r-biocneighbors: new package at 1.2.0

* r-biocsingular: new package at 1.0.0

* r-ecp: new package at 3.1.1

* r-enrichplot: new package at 1.4.0

* r-europepmc: new package at 0.3

* r-ggbeeswarm: new package at 0.6.0

* r-ggplotify: new package at 0.0.3

* r-ggraph: new package at 1.0.2

* r-gridgraphics: new package at 0.4-1

* r-rcppannoy: new package at 0.0.12

* r-rcpphnsw: new package at 0.1.0

* r-rsvd: new package at 1.0.1

* r-scater: new package at 1.12.2

* r-singlecellexperiment: new package at 1.6.0

* r-tximport: new package at 1.12.3

* r-upsetr: new package at 1.4.0

* r-vioplot: new package at 0.3.2

* r-readr: add 1.3.1

* r-matrixstats: add 0.54.0

* r-ecp: flake8 fix

* r-biocmanager: new package at 1.30.4

* update bioconductor packages requiring BiocManager, new versions

* r-lambda-r: add 1.2.3

* r-vegan: add 2.5-5

* r-cner, r-rcppannoy, r-reportingtools, r-rsvd: add missing newlines at EOF

* r-chemometrics: flake8 fixes

* r-vgam: flake8 fixes

* CRAN packages: use cloud.r-project.org

* Use DESCRIPTION for R version constraints over bioconductor releases

* Update missed packages ABAData, acde, affydata

* Update remaining missed packages

* bio: Drop 'when' clause from first checksummed versions

* bio: improve package description generation logic

* r-genomeinfodbdata: use explicit sha256 sums

* r-pfam-db: update dependencies, add 3.10.0

* update r-org-hs-eg-db

* r-dirichletmultinomial: re-add gsl

* r-polyclip: new package at 1.10-0

* r-farver: new package at 1.1.0

* r-tweenr: new package at 1.0.1

* r-ggforce: new package at 0.3.1

* r-ggforce: remove redundant dep

* r-ggraph: add missing deps

* r-rcpphnsw: remove redundant depends_on

* r-reportingtools: re-add r-r-utils dep

* r-rhdf5: add gmake dep

* r-rhtslib: add system dependencies

* r-rsamtools: add gmake dep

* r-farver: remove redundant dep

* r-tweenr: remove redundant dep

* r-variantannotation: add gmake dep

* r-rgraphviz: add graphviz dep

* r-vsn: correct r-hexbin constraint

* r-scater: fix obsolete deps

* r-variantannotation: fix gmake dep type

* r-scater: tighten R version constraints

* r-rsamtools: fix gmake dep type

* r-rhtslib: fix gmake dep type

* r-rhtslib: use xz over lzma

* r-rhdf5: fix gmake dep type

* r-farver: replace with newer recipe for 2.0.1

* r-mzr: remove old dependency

* r-reportingtools: remove builtin dependency

* r-mzr: add gmake dep

* r-rhtslib: make system libraries link deps

* r-genomeinfodbdata: fix R version constraints

* r-geoquery: remove old deps from new versions

* r-genomicfeatures: tighten r-rmysql dep

* r-ensembldb: tighten r-annotationhub dep

* r-complexheatmap: fix r-dendextend dep

* r-cner: fix utils dep name

* r-clusterprofiler: fix r-gosemsim version req

* r-biostrings: fix r-iranges version reqs

* r-rhdf5lib: add gmake dep

* r-oligoclasses: fix r-biocinstaller dep range

* r-organismdbi: fix r-biocinstaller dep range

* r-hdf5array: add gmake dep

* r-gtrellis: tighten r-circlize version req

* r-gostats: fix r-graph version req

* r-glimma: fix old dependency ranges

* r-biostrings: syntax fix

* r-organismdbi: syntax fix

* r-dose: fix r-igraph dep

* r-dose: fix r-scales, r-rvcheck deps

* r-affy: fix r-biocinstaller dep

* r-ampliqueso: fix homepage

* r-aneufinder: fix r-biocgenerics dep

* r-beachmat: fix changed deps

* r-biocneighbors: fix old R constraint

* r-biocmanager: rewrite recipe for 1.30.10

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-27 20:57:15 -06:00
Rene Gassmoeller
0f46c3452f Add version 2.1.0 to 'aspect' package (#13830) 2019-11-27 20:04:00 -06:00
iarspider
6d7250f59c Update cartopy version and fix recipe (#13898)
* Update cartopy version and fix recipe

Cartopy 0.17.0 works fine with proj 6

* Update cartopy version and fix recipe

Cartopy 0.17.0 works fine with proj 6

* Set ACCEPT_USE_OF_DEPRECATED_PROJ_API_H flag when building extension

* Add variants to py-cartopy recipe as suggested

* Fix proj dependency

* Split dependency

* Fix PEP-8; remove extra dependency
2019-11-27 20:01:05 -06:00
Nichols A. Romero
d7db42e201 QMCPACK Update Nov2019 (#13832)
* Bump up QE version number to 6.4.1.

* Fix QMCPACK conflicts.

* HDF5 dependencies where over specified which could cause unnecessary installs of HDF5.

* Update QMCPACK testing option.

* Remove support for serial QE 6.4.1 converter. Add support for parallel QE 6.4.1. converter with serial HDF5.

* Switch to setup_run_environment.

* Fix setup_run_environment call arguements.

* Fix typo.

* switch run_env to env
2019-11-27 16:37:51 -06:00
Ken Raffenetti
85ce22a0b8 mpich: Add ucx dependency (#13921) 2019-11-27 16:34:46 -06:00
Federico Ficarelli
484dab6bac cuda: add polymorphic package versions (#13912) 2019-11-27 15:45:07 -06:00
Marc Mengel
206e7bd5aa scm-git-archive python package (#13915)
* scm-git-archive python package

* flake8

* per comments
2019-11-27 15:43:19 -06:00
Marc Mengel
7125d7eebe New package: py-cheroot (#13583)
* package py-cheroot

* package py-cheroot

* autopep8, docutils cleanup

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

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

* missing deps

* flake8

* license bits

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

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

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

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

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

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

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

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

* python dep

* flake8
2019-11-27 14:02:43 -06:00
Howard Pritchard
399336ae89 openmpi: add 3.1.5 and 3.0.5 (#13918)
Note to spack people: these are expected to be end of line releases for both the 3.1.5 an 3.0.5 releases

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2019-11-27 14:02:05 -06:00
Adam J. Stewart
3cc8c93883 json-fortran: get unit tests working (#13919) 2019-11-27 13:15:55 -06:00
iarspider
9e397042a7 Fix py-pyarrow recipe (#13914)
Fix name of one dependency
2019-11-27 12:21:01 -06:00
t-karatsu
515f1466c8 accfft: fix narrowing error. (#13909) 2019-11-27 10:15:22 -06:00
健美猞猁
f07131a390 Bump intel compiler suite to 2019u5. (#13835)
* Bump intel compiler suite to 2019u5.

* Remove a duplicate line.
2019-11-27 10:04:48 -06:00
Oliver Breitwieser
d207dceb3a Fix py-line-profiler incompatible decorators (#13911)
`@run_after` and `@when` are incompatible, issue #12736.
2019-11-27 15:30:53 +01:00
Hadrien G
51ee8aa639 ACTS: added version v0.11.1 (#13910) 2019-11-27 15:18:49 +01:00
Tim Haines
c80792fc06 Add version check when building intel-tbb with clang (#13893)
* Add version check when building with clang

* Update for flake8 formatting
2019-11-26 23:15:17 -06:00
Christoph Junghans
07325f5fd0 votca: help concretizer (#13906)
* votca: help concretizer

* flake8
2019-11-26 21:47:42 -06:00
darmac
cfe9550bfe add new package : sysstat (#13907) 2019-11-26 21:01:04 -06:00
Greg Becker
1450c30656 use semicolons instead of newlines in module/python command (#13904) 2019-11-26 17:09:24 -08:00
Adam J. Stewart
ad1ad83664 IntelPackage: setup_env -> setup_build_env (#13888) 2019-11-26 16:48:32 -06:00
Massimiliano Culpo
f6781d65f0 buildcache list: do not display duplicate specs (#13758)
fixes #13757
2019-11-26 13:24:15 -07:00
Eric Martin
11e3e332bd metabat: add versions 2.14 and 2.13 (#13369)
* metabat: add versions 2.14 and 2.13

* update build environment

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-26 14:14:11 -06:00
Axel Huebl
6bc2012ff1 MPark.Variant: Patch NVCC C++14 Build (#13901)
Fix an issue with NVCC when building with C++14.
2019-11-26 13:07:02 -07:00
Andreas Baumbach
3cfab76d25 update py-nbconvert (#13422)
* update py-nbconvert

* add setuptools dependency, like all the other jupyter packages
  it seems to be using setuptools for some commands all the time
  but requires it for the newest version
* added dependencies, not necessarily only needed for the latest one
* depends on new packages (defusedxml, pandocfilters, testpath)
* should also be moved to pypi sources?
* '@5:@5:' is a valid spec -> intended?

* make dependencies optional

* Update dependencies and add description

* relax py-mistune dependency restriction

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-26 12:25:48 -06:00
Andreas Baumbach
7764fd0833 new package: py-arrow (#13575)
* new package: py-arrow

* actually use dependencies from 0.14.7 not from current HEAD

* drop dependencies that dont appear in the source

* readd sphinx as doc dependency

* update dependencies

* drop doc-only dependencies
2019-11-26 12:24:02 -06:00
Roman Briskine
eb0561735d Update Mathematica recipe (#13679)
* Add licensing; replace url with url_for_version; create .spack dir during installation; symlink wolframscript; generate spec.yaml if missing

* Reverted url change, .spack directory creation, and spec.yaml generation

* Fix formatting issues
2019-11-26 12:22:31 -06:00
noguchi-k
18cf751d13 ocaml: fix url (#13749) 2019-11-26 12:21:29 -06:00
sknigh
260a4c4904 Days since OpenMPI+UCX trashed my cluster: 0 (#13818) 2019-11-26 12:20:17 -06:00
Matt Larsen
8b85a6ca14 silence vtkm logging until it does not report false positives to std::cerr (#13845) 2019-11-26 12:19:36 -06:00
darmac
b75f2e2c24 add new package : busybox@1.31.1 (#13871)
* add new package : busybox@1.31.1

* 1. add some other version for busybox
2. change Busybox class to MakefilePackage
3. move make('defconfig') and make() to build() function
4. change install_tree('', prefix) to install_tree('.', prefix)
2019-11-26 12:19:16 -06:00
darmac
327de3b3d4 add new package : blktrace (#13872)
* add new package : blktrace

* modify install_tree('', prefix) to install_tree('.', prefix)
2019-11-26 12:19:01 -06:00
noguchi-k
8ea4692ee9 lsof: fix url and checksum (#13801)
* lsof: fix url and checksum

* lsof: change the download url, add list url and version 4.91, 4.90
2019-11-26 12:10:14 -06:00
Massimiliano Culpo
77c206185b Remove warning from the "Custom Extensions" section of the docs (#13804)
Extensions have been available for a while and the overall design
seems solid enough to be feasible for extensions without losing
backward compatibility.
2019-11-26 09:30:49 -08:00
Axel Huebl
7a81c37bde Package Index: Build in Dockerhub (#13810)
* Package Index: Build in Dockerhub

Prepare to build the package index service, packages.spack.io,
on Dockerhub.

Local build (in spack root dir):
```
docker build -t spack/packages.spack.io:latest -f share/spack/docker/package-index/Dockerfile .
```

Local test:
```
docker run -p 8080:80 spack/packages.spack.io:latest
```

* Travis-CI: Remove Docker

Remove leftover docker stages from Travis-CI.

* Simplify Split Call
2019-11-26 10:11:29 -07:00
健美猞猁
1291ca3410 Bump miniconda2 miniconda3 to 4.7.12.1 . (#13897) 2019-11-26 10:52:07 -06:00
Rao Garimella
52d0940b42 Variant for enabling tests, versions, cleanup (#13882)
* add variant for enabling testing

* enable tests and clean up other options

* add numbered versions

* updates to avoid enable_tests variant; correct versioning

* fixes for style

* appropriate partitioners are enabled if 'all' is specified - so no need to check in spec

* define url so spack knows how to fetch the tar.gz files for different versions
2019-11-26 10:48:34 -06:00
Vivek Kale
07cda58bcc Updating package for SOLLVE (#12607)
* Add SOLLVE package with Shintaro's help on rebasing.

Co-authored-by: Vivek Kale <vivek.lkale@gmail.com>

* sollve: reflect suggestions by @adamjstewart

* sollve: update target detection

Copied from llvm/package.py.

* sollve: fix a few things

- url -> git
- remove git in version()
- explicit cmake options in else clauses
- add newlines for better readability
2019-11-26 10:45:27 -06:00
Hector Martinez-Seara
ad2cc38f22 Py-pymol package has been updated to the latest version (#13764)
* Added new package libmmtf-cpp required by py-pymol

* Added SPDX-License-Identifier to MIT

*  Updated py-pymol to version 2.3.0

* py-pymol: Added mising py-pmw dependency

* py-pymol: flake8 minor change

* py-pymol: Added patch for apbstools_tcltk8.6

This patch is borrowed from archlinux
https://bugs.archlinux.org/task/39526

* libmmtf-cpp: flake8 compliance

* libmmtf-cpp: flake8 compliance

* libmmtf-cpp: change license to  (Apache-2.0 OR MIT) when refering to the MIT license

* libmmtf-cpp: Added header text about license as in examples

* py-pymol: removed unnecesary dependency mesa-glu

* py-pymol: removed unnecesary patch

* py-pymol: Removed empty line at the end of the file to comply with flake8.
2019-11-26 10:42:39 -06:00
Christoph Junghans
7d3d03dea9 cmake: add support for xlf and ninja (#13796) 2019-11-26 11:29:25 -05:00
darmac
577391e62b httperf: added new package (#13875) 2019-11-26 13:38:48 +01:00
Joe Koning
c171ff6335 Add the py-coloredlogs package (#13852)
* Add the py-coloredlogs package

* Remove extraneous line.

* Remove dashed line.

* Add version for humanfriendly dep and build to type.

* Change source url to use pypi.
2019-11-25 16:56:34 -06:00
Hadrien G
b4049c484f Forgot a trailing _PLUGIN (#13884) 2019-11-25 16:56:09 -06:00
Andreas Baumbach
5c8e34160d add new versions to py-mistune (#13887) 2019-11-25 16:55:53 -06:00
Tim Haines
7872435753 Add intel-tbb versions 2019.5 to 2019.8 (#13891) 2019-11-25 16:52:46 -06:00
G-Ragghianti
0aab6068ff Improved library access for lm-sensors and implemented use in papi. (#13885)
* Improved library access for lm-sensors and implemented use in papi.

* Fixed comment formatting

* Removed explicit "None" from return of libs().

* Added two new software release versions.
2019-11-25 15:42:14 -06:00
René Widera
9c10b80591 add package cuda@10.2.89 (#13819)
* add package cuda@10.2.89

add CUDA 10.2 support

* CudaPackage: Add 10.2 Conflicts

* CUDA: Modernize Run Environment

See #11115
2019-11-25 13:23:48 -06:00
David M. Rogers
552ffed171 Updated LAMMPS package to use gpu and kokkos options. (#13886) 2019-11-25 13:22:31 -06:00
iarspider
3eb1a0226d Fix ROOT dependencies (for +r variant) (#13839) 2019-11-25 13:02:03 -06:00
Sinan
70e4377348 Mapnik: fix runtime error involving py-pycairo and PDF (#13865)
* fix runtime error involving py-pycairo and PDF

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

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

* fix env setup
2019-11-25 13:01:14 -06:00
Joe Koning
c349759acd Add the py-importlib-resources package (#13854)
* Add the py-importlib_re package

* Rename package to conform with spack naming convention.

* Rename package to py-importlib-resources
Add python depend modules for previous python versions and depends_on python.

* Add whitespaces.
2019-11-25 13:00:45 -06:00
Toyohisa Kameyama
87e757ee93 cctools: fix python related error. (#13802)
* cctools: fix python related error.

* patch bugfix.
2019-11-25 12:57:09 -06:00
Sinan
448e09e5b2 Add latest version of bazel (#13813)
* use bazel commit in #13112, and add version 0.24.1, and corresponding cc_env patch

* undo preferred java version by dodo47

* patch for v0.26

* Update install steps

* Add patches for more versions

* Add unit tests

* Update patches for new Spack env vars

* env is already defined, use spackEnv
2019-11-25 11:59:12 -06:00
Joe Koning
289aa6ad8a py-celery: added new package (#13851) 2019-11-25 16:28:06 +01:00
Joe Koning
be9c551add py-amqp: added new package (#13848)
* Add the py-amqp package

* Add the py-vine dependency.

* Add vine version and python dependency.
2019-11-25 16:26:59 +01:00
iarspider
53c2b618da py-qtpy: enable use with pyqt5, pyside and pyside2 (#13837) 2019-11-25 16:14:57 +01:00
Joe Koning
0cb5460a52 py-kombu: added new package (#13855) 2019-11-25 16:02:03 +01:00
t-karatsu
b8c18068c2 prank: use Spack compilers and remove x86_64 opts from Makefile (#13877) 2019-11-25 15:14:18 +01:00
darmac
3a94c032c7 netperf: added new package (#13876) 2019-11-25 15:12:32 +01:00
darmac
bb6a203fe1 ltp: added new package (#13878) 2019-11-25 14:38:25 +01:00
Hadrien G
fa37387373 ACTS v0.11.0 + adding maintainer (#13880) 2019-11-25 14:33:16 +01:00
darmac
2f2dd879f7 add new package : py-cssselect (#13879) 2019-11-25 14:32:04 +01:00
Oliver Breitwieser
4c4aba5f9e ack: Fix install modifying download cache (#13836)
This makes several installs from the same download cache impossible once
the hash of the used perl-install changes.

Fixes: #13824

Change-Id: I5f10d9d54ae999d0ca7e4171f989dfca2e6a7169
2019-11-24 17:33:49 -06:00
Christoph Junghans
959f52dbf5 tinker: initial commit (#13869) 2019-11-24 10:31:15 -07:00
Christoph Junghans
8b1d800d53 ncurses: don't run strip internally (#13843)
* ncurses: don't run strip internally

* setup_environment -> setup_build_environment

* fix ABI change
2019-11-23 20:47:59 -07:00
Adam J. Stewart
c3c5abb9cc py-matplotlib backend dependencies needed at runtime (#13867) 2019-11-23 21:23:45 -06:00
Adam J. Stewart
42a0061cb0 Add py-scipy 1.3.3 (#13866) 2019-11-23 16:50:02 -06:00
Joe Koning
c7472e0cbe Add the py-humanfriendly package (#13853) 2019-11-23 19:12:03 +01:00
Adam J. Stewart
e5588880d5 Fix setuptools dependency in py-snowballstemmer (#13844) 2019-11-23 15:25:24 +01:00
Joe Koning
0a14a0c48d Add the py-billiard package (#13849) 2019-11-23 14:14:28 +01:00
Joe Koning
836b6016e4 Add the py-parse package (#13856) 2019-11-23 09:36:29 +01:00
Joe Koning
2c8a867a81 Add the py-vine package (#13857) 2019-11-23 09:35:07 +01:00
Sajid Ali
ff64004a7b likwid: added version 5.0.0 (#13858) 2019-11-23 09:21:59 +01:00
Joe Koning
99650d6caf py-cached-property: added new package at v 1.5.1 (#13850) 2019-11-23 09:20:24 +01:00
darmac
b95961d26b ethtool: new package at version 4.8 (#13864) 2019-11-23 09:17:49 +01:00
Satish Balay
da883f2270 petsc: add version 3.12.2 (#13859) 2019-11-22 20:35:16 -06:00
George Hartzell
48420d0c24 New package: py-wub, with supporting fixes (#13773)
* Add py-wub, with supporting fixes

- add py-wub
- add py-pycmd because py-wub needs it
- update py-statsmodels, which needs at least v0.9.0 to work with
  python3.7 because cython.

* Update based on Adam's comments

* Fix dependency types for py-six in py-wub

* statsmodels tests fail, update comment w/ Issue #

The statsmodels tests weren't run in the previous version of the
package.  If I enable them, the fail.

Update the package comment with the statsmodels issue I opened to
track the problem:
https://github.com/statsmodels/statsmodels/issues/6263

* Update dependency types in py-wub/package.py

* flake8 cleanups

* Make statsmodels tests work

- need to use patsy@0.5.1:
- need to run the tests from within the build/lib* dir
2019-11-22 20:34:43 -06:00
Greg Becker
6c55a7c85f cmd/install: remove unused install_status option (#13751)
* cmd/install: remove unused install_status option

* update bash completions for spack install
2019-11-22 11:17:37 -07:00
Massimiliano Culpo
f53abbecd3 Remove mirrors from Travis cache (#13841) 2019-11-22 19:00:00 +01:00
Christoph Junghans
b23d2efd99 votca-*: add v1.5.1 (#13822) 2019-11-21 16:09:03 -07:00
Massimiliano Culpo
0684a58d16 Fixed detection for cascadelake microarchitecture (#13820)
fixes #13803
2019-11-21 13:09:48 -07:00
George Hartzell
73038a3f51 Add mg, a gnu-emacs like fork of microemacs (#13812)
* Add mg, a gnu-emacs like fork of microemacs

* Use Package, since not really an Autotools package

Switch from AutotoolsPackage to Package.  Even though mg has a
configure script, it's not really an Autotools package.

* Need to also provide --prefix to configure
2019-11-21 11:40:13 -07:00
Toyohisa Kameyama
bed7e40dcc cbtf-krell: add rpcsvc-proto and libtirpc dependency. (#13800) 2019-11-21 11:38:09 -07:00
Elizabeth Fischer
9a6a19d464 doxygen: added missing dependencies to the package (#10589)
See http://www.doxygen.nl/manual/install.html
2019-11-21 15:30:31 +01:00
t-karatsu
49b9365205 texinfo: fix unescaped braces, and update locale handling (#13815)
* texinfo: Fix unescaped braces for older version.

* texinfo: update locale handling.
2019-11-20 20:54:55 -07:00
Shintaro Iwasaki
71cd91e4c1 update Argobots and BOLT (#13765)
* argobots: update to 1.0rc2

* bolt: update to 1.0rc3

* argobots/bolt: add maintainers

* argobots: use "master" for the master branch
2019-11-20 19:04:46 -07:00
Douglas Duckworth
100fcc2c8e added hmmer v 3.3 (#13793) 2019-11-20 19:04:27 -07:00
Brian Van Essen
2f069b571d Updated versions numbers for Aluminum and Hydrogen. (#13814) 2019-11-20 19:04:01 -07:00
Paul Ferrell
fb3a3ba95e mirror bug fixes: symlinks, duplicate patch names, and exception handling (#13789)
* Some packages (e.g. mpfr at the time of this patch) can have patches
  with the same name but different contents (which apply to different
  versions of the package). This appends part of the patch hash to the
  cache file name to avoid conflicts.
* Some exceptions which occur during fetching are not a subclass of
  SpackError and therefore do not have a 'message' attribute. This
  updates the logic for mirroring a single spec (add_single_spec)
  to produce an appropriate error message in that case (where before
  it failed with an AttributeError)
* In various circumstances, a mirror can contain the universal storage
  path but not a cosmetic symlink; in this case it would not generate
  a symlink. Now "spack mirror create" will create a symlink for any
  package that doesn't have one.
2019-11-20 17:00:44 -07:00
t-karatsu
9cd778f152 ampliconnoise: Change return type of function. (#13766)
* ampliconnoise: Change function type.

* ampliconnoise: updated api call to setup run environment
2019-11-20 16:03:51 -07:00
健美猞猁
1e52aa750a find-circ: a new package. (#13767)
* find-circ: a new package.

* flake8.
2019-11-20 16:02:34 -07:00
健美猞猁
5e9ca0f939 miranda: a new package. (#13768) 2019-11-20 16:01:41 -07:00
Figroc Chen
ace47cecbe tensorflow-serving-client: add new package (#13771) 2019-11-20 16:01:04 -07:00
t-karatsu
af9281b843 bpp-suite: Clarify 'isinf' function's namespace. (#13777) 2019-11-20 15:52:44 -07:00
David Hows
ad4986be94 Fix for overlong shebang in valgrind (#13779)
Fix for some overlong shebangs in valgrind. Borrowed from verrou/package.py
2019-11-20 15:50:14 -07:00
noguchi-k
894267e02e py-numexpr3: fix version (#13781) 2019-11-20 15:49:13 -07:00
Ken Raffenetti
f25cf16b11 mpich: Add 3.3.2 (#13790) 2019-11-20 15:48:11 -07:00
Justin S
63874db562 genrich: new package at 0.6 (#13791) 2019-11-20 15:47:36 -07:00
Justin S
38ae7ab6cd sentieon-genomics: add 201808.07 (#13794) 2019-11-20 15:46:22 -07:00
Adam J. Stewart
4e4e3d192e Add old version of py-gast (#13806) 2019-11-20 15:21:03 -07:00
Adam J. Stewart
0d1e9c6e06 Add py-google-pasta package (#13807) 2019-11-20 15:20:47 -07:00
Adam J. Stewart
d43364d679 Add new py-grpcio package (#13808) 2019-11-20 15:20:28 -07:00
Adam J. Stewart
d19eb21181 Add c-ares 1.15.0 (#13809) 2019-11-20 15:20:08 -07:00
Adam J. Stewart
33059daff4 Add old versions and missing dependencies to py-protobuf (#13811) 2019-11-20 15:19:47 -07:00
Adam J. Stewart
ea42d67a9a Add old version of jdk (#13805)
* Add old version of jdk

* setup_environment -> setup_build_environment
2019-11-20 15:19:22 -07:00
Brian Van Essen
66cf530459 Added package for Clara command line parser (#13763)
* Added package for Clara command line parser
2019-11-20 00:12:43 -07:00
t-karatsu
513fe55fc3 Features/expand microarch for aarch64 (#13780)
* Add process to determine aarch64 microarchitecture

* add microarchitectures for thunderx2 and a64fx

* Add optimize flags for gcc on aarch64 family processors thunderx2 and a64fx.

* Add optimize flags for clang on aarch64 family processors thunderx2 and a64fx

* Add testing for thunderx2 and a64fx microarchitectures
2019-11-20 00:01:12 -07:00
albestro
f25a4ab089 add MAX_CPU_COUNT variant to HPX package (#13769)
* add MAX_CPU_COUNT variant to HPX package

* compatibility with python2

* correct variant description

Co-Authored-By: Mikael Simberg <mikael.simberg@iki.fi>

* add maintainers list
2019-11-19 12:49:32 -07:00
George Hartzell
d00be588e3 zlib: use setup_build_environment for build env (#13786)
zlib was using the deprecated setup_environment call.  Now it's using
the current setup_build_environment.

(noticed this in some `spack -d` output)
2019-11-19 12:29:35 -07:00
ktsai7
bb0667ceaf add more legion version and expose more flecsi options (#13741)
* add more legion version and expose more flecsi options

* formatting

* update version pointing to master to master

* fix indentation

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* use self.run_tests

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

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2019-11-18 23:51:41 -07:00
Greg Becker
99dfff4475 binary distribution: relocate text files properly in relative binaries (#13578)
* Make relative binaries relocate text files properly
* rb strings aren't valid in python 2
* move perl to new interface for setup_environment family methods
2019-11-18 14:13:42 -07:00
健美猞猁
e433a5dc0b py-rnacocktail: a new package. (#13761)
* py-rnacocktail: a new package.

* flake8.

* Add build-time dependencies.
2019-11-18 14:09:39 -07:00
albestro
e0746a2a07 fix libxml2 url (#13770)
http to https
2019-11-18 10:58:16 -07:00
Xavier Delaruelle
e5b3202352 environment-modules: add version 4.4.0 (#13772) 2019-11-18 10:53:06 -07:00
Massimiliano Culpo
ab62ad463d py-xattr: fix a package that was pointing to a fork (#13685)
The package now points to the official github repository for master
and to PyPI for release versions.
2019-11-18 12:09:47 +01:00
Adam J. Stewart
eb22abc521 Document use of the maintainers field (#13748) 2019-11-17 15:30:08 -07:00
oracleLee
686e613e94 Update scalpel package.py (#13746)
* Update package.py

Update scalpel version 0.5.4

* Update package.py
2019-11-17 12:45:16 -07:00
Cyrus Harrison
d3c1547dba update to add ascent 0.5.0 release (#13709)
* fix metis src dl url

* update ascent, vtk-h and vtk-m recipes

* update conduit package

* fix vtk-m shas

* mfem conduit fix

* use vtk-h develop

* fix issue with stripped include paths in mfem

* more metis fixes

* simpler fix for mfem conduit include issue

* finish mfem changes

* pin to cmake 3.14, since we hit cuda issues with 3.15

* add rtd theme as dep for ascent

* add vtk-h 0.5.0 release, update ascent to use it

* add ascent 0.5.0 release

* fix cmake pin to allow all vers of 3.14

* fix format string error in mfem pkg

* review fixes for mfem pkg

* review fixes for vtk-h and vtk-m packages

* address review comments for ascent pkg

* changing default off of develop broke downstream use

* revert prefed
2019-11-17 12:36:14 -07:00
Axel Huebl
02f27fc45d openPMD-api: 0.10.0 (#13750)
Add latest release and first to be tagged by number in Spack,
version 0.10.0.
2019-11-17 12:35:40 -07:00
Hector Martinez-Seara
15207bae43 guile package: Handling the threads option. (#13730)
* guile package: Handling the threads option.

Currently guile by default tries to compile its thread variant.
However, the threaded version can only be compiled if bdw-gc is
compiled with some threads support. Currently, the default
compilation of the bdw garbage collector is compiled without any
thread support resulting in a compilation error.

I have changed the the default guile compilation to the non-threaded
version. I have also added the appropiated options for the bdw-gc
compilation in case the user prefers the threaded variant.

* guile package(flake8): fixed identation issues
2019-11-16 14:34:38 -07:00
Nick Booher
c8c8dca5b5 revbayes: add new versions (#13760) 2019-11-16 00:12:38 -07:00
Greg Becker
aa83c483f7 Bugfix/config caching 13754 (#13759)
* remove reference to `spack.store` in method definition

Referencing `spack.store` in method definition will cache the `spack.config.config` singleton variable too early, before we have a chance to add command line and environment scopes.
2019-11-15 13:55:51 -08:00
Tim Fuller
3dbafb5ee7 Fix for issue #13754 (#13755)
* remove reference to `spack.store` in method definition

Referencing `spack.store` in method definition will cache the `spack.config.config` singleton variable too early, before we have a chance to add command line and environment scopes.
2019-11-15 13:32:58 -08:00
Massimiliano Culpo
46bfcbbd3d hwloc: added 'master' version pointing at the HEAD of the master branch (#13734) 2019-11-15 12:38:30 -08:00
Adam J. Stewart
5510bba1fd Document use of the maintainers field (#12270)
* Document use of the maintainers field

* Use fake GitHub usernames

* GitHub action is not automatic yet
2019-11-15 13:58:24 -06:00
Greg Becker
74e04b7e20 Config option to allow gpg warning suppression (#13744)
Add a configuration option to suppress gpg warnings during binary
package verification. This only suppresses warnings: a gpg failure
will still fail the install. This allows users who have already
explicitly trusted the gpg key they are using to avoid seeing
repeated warnings that it is self-signed.
2019-11-14 16:22:19 -08:00
Greg Becker
c587c76537 Config option to allow gpg warning suppression (#13743)
Add a configuration option to suppress gpg warnings during binary
package verification. This only suppresses warnings: a gpg failure
will still fail the install. This allows users who have already
explicitly trusted the gpg key they are using to avoid seeing
repeated warnings that it is self-signed.
2019-11-14 16:22:01 -08:00
Satish Balay
40c77bf158 xsdk@0.5.0 (#13682)
Update:
 hypre@2.18.2
 mfem@4.0.1-xsdk
 superlu-dist@6.1.1
 trilinos@12.18.1
 - dtk-3.1
 petsc@3.12.1
 dealii@9.1.1
 pflotran@xsdk-0.5.0
 alquimia@xsdk-0.5.0
 sundials@5.0.0
 plasma@19.8.1
 magma@2.5.1
 amrex@19.08
 slepc@3.12.0
 omega-h@9.29.0
 strumpack@3.3.0
 pumi@2.2.1
 tasmanian@7.0
 phist@1.8.0

New:
 ginkgo@1.1.0
 py-libensemble@0.5.2
 precice@1.6.1
 butterflypack@1.1.0

Add variants:
 ginkgo
 libensemble
 precice
 butterflypack
 strumpack
 trilinos

tasmanian:  use ~openmp only on OSX
precice: disable on OSX
enable sundials+superlu-dist
sundials+superlu-dist requires OpenMP 4.5+ (so enable only for gcc@6.1+)
enable mfem+sundials
enable sundials+petsc+superlu_dist
remove hypre~internal-superlu
petsc: build with +batch on cray
precice: use ~petsc on cray
libensemble: add as runtime dependency for PYTHONPATH
2019-11-14 16:36:51 -06:00
t-karatsu
94c9e5f9a0 z3: bugfix about python dependency and fallthrough annotation. (#13713)
* z3:

* Fixed python dependency to always be required.

* bugfix about fallthrough annotation.

* z3: Add patch for before ver.4.4.1.

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-14 16:28:05 -06:00
Seth R. Johnson
e670476024 Mark conflicts between newer packages and Intel 14 compilers (#13729)
* Mark compiler/version conflict for CMake

Intel 14 lacks some C++11 features needed to compile new versions of
cmake.
```
/tmp/s3j/spack-stage/spack-stage-cmake-3.15.5-46lgp4ybhopy2p4rr66rxnew5iaddvmg/spack-src/Source/
cm_static_string_view.hxx(28): error: expected an operator
   friend static_string_view operator"" _s(const char* data, size_t
                                     ^
```

* Mark compiler/version conflict for icu4c

With Intel 14.0.4 on Linux for icu4c 60.1 and higher:
```
locid.cpp(1156): error #1140: a using-declaration may not name a constructor or destructor
        using KeywordEnumeration::KeywordEnumeration;
```

* Mark compiler/version conflict for nasm

Error installing `nasm@2.14.02%intel@14.0.4`:
```
In file included from nasmlib/crc64.c(35):
./include/nasmlib.h(116): error: expected a ";"
  fatal_func nasm_assert_failed(const char *, int, const char *);
```

* Mark compiler/version conflict for bison

Installing `bison@3.4.2%intel@14.0.4`:
```
In file included from /tmp/s3j/spack-stage/spack-stage-bison-3.4.2-
uzjszv4owvqsymjpxtxvvegfavc6k5my/spack-src/lib/quotearg.c(33):
/tmp/s3j/spack-stage/spack-stage-bison-3.4.2-uzjszv4owvqsymjpxtxvvegfavc6k5my/spack-src/lib/
xalloc.h(51): warning #303: explicit type is missing ("int" assumed)
  extern _Noreturn void xalloc_die (void);
```

* Mark compiler/version conflict for icu4c

With `icu4c@60.1%intel@16.0.4` and `icu4c@64.1%intel@16.0.4`:

```
In file included from ucurr.cpp(26):
static_unicode_sets.h(130): error #913: invalid multibyte character sequence
      {POUND_SIGN, u'£'},
                     ^
```

* Change conflict comments into messages
2019-11-14 16:27:36 -06:00
George Hartzell
7a6c7f23a0 py-matplotlib only needs backports when ^python@:2 (#13712)
* py-matplotlib only needs backports when ^python@:2

This implements @scheibelp's suggestion in #13711.

py-matplotlib should only depends_on py-backports-functools-lru-cache
when it's using a python that actually *needs* it.

See #13711 for details.

* Don't depend_ons py-enum34 unless python@:3.3

* Tighten up enum34 dependency

@adamjstewart cracked open the setup.py files and suggested a tighter
dependency for py-enum34.  1.4 and 1.5 only require it for pythons
before 3.4, 1.3 requires it unconditionally.  So...., we'll do the
same.

* Remove conflict on python 3.4 from enum34

at @adamjstewart's request see PR notes
2019-11-14 16:26:44 -06:00
Gregory Lee
8490587c76 add boost dependency to stat package (#13735) 2019-11-14 16:26:24 -06:00
xfzhao
2fb5df0284 update to v0.6.4 (#13737) 2019-11-14 16:26:08 -06:00
Emir İşman
46871416b1 Update DMTCP package to v2.6.0 (#13739) 2019-11-14 16:20:44 -06:00
Nicholas Sly
d79d11b6d4 Removed github repository and develop version from dataspaces package as it is no longer present/accessible. (#13740) 2019-11-14 16:20:13 -06:00
xfzhao
11e65661ac update vsearch (#13736) 2019-11-14 16:17:02 -06:00
Peter Scheibel
28163cb34f determine target relative to the link directory rather than the full link path (which includes the file name) (#13727) 2019-11-14 12:15:47 -08:00
Massimiliano Culpo
7e84fe966c hwloc: added 'master' version pointing at the HEAD of the master branch (#13731) 2019-11-14 12:06:07 -06:00
Sinan
00bf299e46 new package Qscintilla (with python bindings via py-pyqt ) (#12793)
* qscintilla_with_python_bindings_disabled

* pyqt5 with variant +qsci to compile qscintilla python bindings

* fix a dyn linking issue for Qsci python module

* fix a bug

* fix bug: use sip provided by py-pyqt5

* fix typo

* tidy up, make designer

* tidy up

* fix designer build issue, set env for designer plugin

* tidy up

* tidy up

* minor improvements

* improve style

* build Qscintilla python bindings here

* make qsci config option variant dependent

* get rid of commented out code

* improvements: add resource for qscintilla, improve config_args

* flake8: spaces, blank lines etc

* flake8: fix long lines

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

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

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

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

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

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

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

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

* dont install source tree under prefix

* remove duplicate line

* use os.path.join instead of +

* separate build and run environment setups

* flake8

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

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

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

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

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

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

* fix rsrc path

* use python_include_dir

* use "with working_dir"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* flake8
2019-11-14 12:01:49 -06:00
Matthias Maiterth
ab2b3f30a5 package/geopm: Added versions 1.0.0 and 1.1.0 (#13721)
* package/geopm: Added versions 1.0.0 and 1.1.0

Added changes for 1.1.0 and 1.0.0 in this patch.
Patch for 1.0.0 was previously not merged.
variant for hwloc removed since that is not a dependency since 0.5.1 and
variant('hwloc', when=:0.5.1 is not supported afaik.
made depends_on versions more explicit.

* package/geopm: removed 1.0.0 release candidates 1 and 2.
2019-11-14 12:01:03 -06:00
Hector Martinez-Seara
cd04538bb9 Adding final bug-releases for the gromacs-2016 and -2018 and Plumed (#13715)
* Adding final bug-releases for the gromacs-2016 and -2018

* Added newer versions of plumed and libmatheval not a dependency >v2.5

* plumed package: chamge name git branch to master
2019-11-14 12:00:36 -06:00
Seth R. Johnson
b8916ecc08 Fix libbsd on Intel compilers (#13720)
Libbsd assumes GCC-defined compiler macros:
```
In file included from nlist.c(44):
local-elf.h(238): catastrophic error: #error directive: Unknown ELF machine type
  #error Unknown ELF machine type
   ^
```
The `__amd64__` and `__x86_64__` macros should be equivalent, but the
latter is defined by intel.
2019-11-14 11:59:46 -06:00
Peter Scheibel
3f861e18b0 symlink relativization: determine target relative to the link directory (#13710)
when making a package relative, relocate links relative to link directory

rather than the full link path (which includes the file name) because `os.path.relpath` expects a directory.
2019-11-13 17:51:57 -08:00
sknigh
045e9c905f Added "file" package and added missing depenency to VIM (#13705)
* Added "file" package and added missing depenency to Vim

* added which and grep

* Added gzip

* added missing dependency to gmake
2019-11-13 18:12:10 -06:00
David Böhme
1ed8de8757 Add Caliper v2.2.0 and v2.1.1 (#13723)
* Add Caliper v2.2.0 and v2.1.1

* Add conflict for adiak when for versions <2.2

* Trim trailing whitespace
2019-11-13 18:11:09 -06:00
Greg Becker
43b0356e14 Allow binary relocation of strings in relative binaries (#13725)
Binaries with relative RPATHS currently do not relocate strings
hard-coded in binaries

This PR extends the best-effort relocation of strings hard-coded
in binaries to those whose RPATHs have been relativized.
2019-11-13 16:03:35 -08:00
Greg Becker
b280034380 Allow binary relocation of strings in relative binaries (#13724)
Binaries with relative RPATHS currently do not relocate strings
hard-coded in binaries

This PR extends the best-effort relocation of strings hard-coded
in binaries to those whose RPATHs have been relativized.
2019-11-13 16:03:16 -08:00
G-Ragghianti
dc36b4737d Papi components (#13706)
* Added support for papi components.

* Restored sha256 hashes to package files.
2019-11-13 15:49:06 -06:00
Justin S
a2ef7896b7 rnaz: new package at 2.1 (#13707) 2019-11-13 15:48:06 -06:00
thelfer
ff9b03edc3 Fix mgis package dependency on boost/numpy (#13717) 2019-11-13 15:35:09 -06:00
William F Godoy
d6274e1a1d Docs update for deprecated spack sha256 (#13701)
* Docs update for deprecated `spack sha256`

* Added macOS shasum

* Update lib/spack/docs/packaging_guide.rst

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-13 15:21:27 -06:00
Sinan
9ae4f42ab5 new package: sfcgal (#12624)
* new package: sfcgal

* improve meta information

* add variant and optional dependencies

* add cmake options for building with viewer

* improve dependency type

* improve viewer variant

* improve viewer variant

* specify dependency versions

* add ref

* remove depricated variant
2019-11-13 15:19:43 -06:00
Hari Subramoni
1a6bba1632 Update MVAPICH2 package for 2.3.2 release (#13236)
* Update MVAPICH2 package for 2.3.2 release
Update default build from psm to mrail

* Update different provides for older versions based on feedback from Todd Gamblin

* Simplify rule so one rule covers 2.1 and 2.2

* Add support for disabling rpath based on feedback from Dr. Shende

* Add colon based on comment

* Address review comment by Adam Stewart

* Add declaration of the wrapperpath variant.
    - Thanks to Massimiliano Culpo for the comment
2019-11-13 15:18:35 -06:00
Satish Balay
4d37db02da superlu_dist: fix build with xl compilers (#13702)
* superlu_dist: fix build with xl compilers

* fix link error  ../SRC/libsuperlu_dist.so.6.1.1: undefined reference to `ztrtri_'

* Fixed the ordering of the spec on the xl-611 patch.

* fix flake8 error
2019-11-13 15:03:24 -06:00
Chris Green
56de86dda6 root: relax libxml2 requirements when ~python. (#13657)
* Relax libxml2 requirements when ~python.

Per https://github.com/spack/spack/issues/13637#issuecomment-552026561

* Satisfy package_sanity.py::test_prs_update_old_api.
2019-11-12 23:33:47 -08:00
Satish Balay
53b2add34f strumpack: revert default to ~shared [i.e behavior before this variant was added] as +shared fails on multiple builds (#13703) 2019-11-12 20:22:34 -06:00
Todd Gamblin
da386b560a docs: use nicer looking code blocks in docs (#13708)
- [x] Use higher contrast terminal output font
- [x] Use higher contrast code block background color than default
- [x] Use a noticeable prompt character

See also https://github.com/spack/spack-tutorial/pull/10.
2019-11-12 18:18:41 -08:00
Simon Pintarelli
d0de9f8d9d add new version for py-ranger-fm (formerly py-ranger) (#13681)
- download from pypi, drop 1.7.2
- drop 1.7.2, it is not available from pypi
2019-11-12 12:05:18 -06:00
sknigh
1ae824737e Add missing dependencies to flex. (#13692) 2019-11-12 12:01:15 -06:00
h-denpo
2b6c4245d0 Fixed url. url="https://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz") (#13693) 2019-11-12 11:58:49 -06:00
t-karatsu
ca19fb86c1 damselfly: Add mpi dependency. (#13694) 2019-11-12 11:58:11 -06:00
Adrian Jackson
57aa7ba045 Fixing Fortran MPI compiler reference in mpt package (#13699) 2019-11-12 11:57:07 -06:00
Stephen Hudson
cea7403b67 Update nlopt package to add Python bindings to PYTHONPATH (#13688)
* Update nlopt package to add Python bindings to PYTHONPATH

* Use extends for nlopt/python fix

* nlopt - change develop to master and add python dep qualifiers
2019-11-12 11:46:12 -06:00
Massimiliano Culpo
826e8c6394 athena, mvapich2, spectrum-mpi: use new API to setup environment (#13677)
* athena: updated api call to setup build environment

* mvapich2: updated api call to setup build and run environment

* spectrum-mpi: updated api call to setup build and run environment
2019-11-12 11:44:12 -06:00
Frédéric Simonis
b1965fa913 precice: enable petsc by default (#13696) 2019-11-12 11:40:37 -06:00
Satish Balay
cbfdc85d26 trilinos: add version 12.18.1 with dtk-3.1 (#13690) 2019-11-12 07:52:24 -06:00
Satish Balay
9e12b4e95a sundial: add patch for build failure on cori/theta (#13665) 2019-11-12 07:52:05 -06:00
Daryl W. Grunau
5a9389a528 verify.py: os.path.exists exception handling (#13656) 2019-11-11 17:47:47 -06:00
Simon Pintarelli
e5b38c525e SIRIUS: add new version, add magma support (#13680)
- depends on spfft starting from 6.4.0
- add magma variant
- avoid setting cuda_arch to none
- add python dependencies
- use release as default build type
2019-11-11 16:19:40 -06:00
sknigh
fdb85744e3 added lcov package (#13687) 2019-11-11 15:13:48 -06:00
Adrian Jackson
3eaa790efa Add HPE MPT package (#13616)
* Adding in HMPT package for HPE MPI libraries

* Updating copyright dates

* Renaming HPE MPI package

* Fixing error in package file

* Tidying up defintions and linting

* liniting

* Adding in library setup so packages that want to manually add mpi libraries can do so (i.e. npb)

* Linting

* Linting

* Investigating old API errors

* Investigating api errors

* Investigating api errors

* Investigating api errors

* Investigating api errors

* Investigating api errors: adding back in functions to see when the build fails

* Investigating api errors: adding back in functions to see when the build fails

* Investigating api errors: adding back in functions to see when the build fails

* Investigating api errors: adding back in functions to see when the build fails

* Investigating api errors: adding back in functions to see when the build fails

* Linting

* Linting

* Fixing

* Fixing
2019-11-11 13:22:20 -06:00
Adam J. Stewart
dc51d676a2 cuDNN: add new versions (#13668)
* cuDNN: add new versions

* cuDNN 9.0 can build against CUDA 9.1

* Undo version format change
2019-11-11 12:53:26 -06:00
Adam J. Stewart
03fb2d61c6 Add new version of Intel MKL-DNN (#13669)
* Add new version of Intel MKL-DNN

* Get OpenMP build working

* lomp is also needed for linking

* http -> https

* Add myself as maintainer
2019-11-11 12:52:53 -06:00
Adam J. Stewart
38da69346c py-scikit-learn: update OpenMP flag (#13683) 2019-11-11 12:52:30 -06:00
Brian Spilner
3eb19b142f new CDO release 1.9.8 (#13674) 2019-11-11 12:52:06 -06:00
Pieter Ghysels
6fc3e73f8d Update ButterflyPACK and STRUMPACK (#13661)
* Add new strumpack version (3.2.0), with new
dependency on ButterflyPACK.

* add ButterflyPACK version 1.1.0

* Add strumpack version 3.3.0, add dependency on ButterflyPACK 1.1.0

* Sort ButterflyPACk versions from newest to oldest

* Add a shared variant for STRUMPACK

* Also allow possible newer versions of ButterflyPACK
2019-11-11 12:24:13 -06:00
Phil Carns
4934448065 pmdk: fix x86_64 arch check (#13676) 2019-11-11 15:46:44 +01:00
Adam J. Stewart
bd9907809e environments: don't try to modify run-env if a spec is not installed (#13589)
Fixes #13529
Fixes #13509
2019-11-11 13:02:36 +01:00
Adam J. Stewart
e10f8fe531 py-numpy: added version 1.17.4 (#13670) 2019-11-11 11:26:21 +01:00
Adam J. Stewart
901da240f3 CMake: added version 3.13.5 (#13671) 2019-11-11 11:25:50 +01:00
Axel Huebl
86202a5ad0 nlohmann-json 3.7.2 (#13672)
Add the latest bugfix release.
2019-11-11 11:23:50 +01:00
Adam J. Stewart
60070759a0 Improve spack checksum formatting (#13666)
* Improve spack checksum formatting

* Add colon

* Fix Python 2 bug
2019-11-10 16:47:56 -06:00
Adam J. Stewart
1ca91d728a Update default PyTorch variants (#13667) 2019-11-10 16:46:04 -06:00
Adam J. Stewart
ff330631ed Add py-scipy 1.3.2 (#13663) 2019-11-09 19:41:44 -06:00
Adam J. Stewart
834a8be933 Add grass 7.8.1 (#13664) 2019-11-09 19:41:29 -06:00
Kelly (KT) Thompson
550e9907f5 New Package: py-pyside2 (#13647)
* New Package: py-pyside2

https://wiki.qt.io/Qt_for_Python

The Qt for Python project aims to provide a complete port of the PySide module
to Qt 5. The development started on GitHub in May 2015. The project managed to
port Pyside to Qt 5.3, 5.4 & 5.5. During April 2016 The Qt Company decided to
properly support the por

* Address review comments:

+ Add a variant for `+doc` and only depned on some packages if this variant is
  active.
+ Enable building the tests if requested.
+ Correct registered required verions for python and qt.

* Remove dead code, fix depends_on command args.

* fix one more flake8 issue.

* One more fix to  arguments and change  version name to .
2019-11-09 18:22:30 -06:00
Teodor Nikolov
3db3395ed1 hpx: fix incompatible cxxstd with boost and compiling tests (#13660)
* Add a variant for tests and parallelize builds

- Fix a bug with boost defaulting to cxxstd=98 when cxxstd=11 is the
  minimum for hpx
- Disable tests by default and use a variant to enable them if requested
- Enable parallel builds: each process takes up to 1Gb when tests are
  not enabled.

* Remove tests variant

- The variant doesn't change what gets installed. Testing can be
  activated using `spack install --test=root hpx`
2019-11-09 18:21:40 -06:00
Seth R. Johnson
d01a8f7cd6 Fix visit+ (#13652)
* Propagate MPI option in VTK to NetCDF

This fixes a conflict message reads as though NetCDF always requires
hdf5+mpi. It allows `visit~mpi` to resolve correctly without an
additional `^netcdf~mpi`.

* Tell VisIt not to look for 'hdf5_mpi' library
2019-11-09 12:47:04 -06:00
Michael Kuhn
eee3a63a3e graphviz: Fix patch URL (#13654)
* graphviz: Fix patch URL

* Switch setup_environment to setup_build_environment
2019-11-09 12:46:29 -06:00
Figroc Chen
9a4797b74c grpc: update to 1.24.3 (#13658) 2019-11-09 12:42:34 -06:00
Mark Olesen
e27d7479a3 update openfoam versions, sha256 values and download directory (#13653)
- patched versions are located in the same directory as the
  original release. For example, 1906_191103 is located in
  the 'v1906/' directory, not in 'v1906_191103/'.

- add master branch as a known version
2019-11-08 14:46:33 -06:00
Marc Mengel
2584639e34 New Package py-portend (#13584)
* package py-portend

* package py-portend

* autopep8, docutils cleanup

* dependency in wrong package

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

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

* license bits

* dependencies again
2019-11-08 14:44:29 -06:00
Marc Mengel
148566ebd5 new package: py-zc-buildout (#13585)
* package py-zc-buildout

* package py-zc-buildout

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

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

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

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

* license bits

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-08 14:43:49 -06:00
Marc Mengel
ec6b2f7bb1 New Package: py-cherrypy (#13587)
* package py-cherrypy

* package py-cherrypy

* autopep8, docutils cleanup

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

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

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

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

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

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

* portend depends on tempora, not cherrypy directly

* setuptools_scm bits

* dependency one level up

* license bits

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-08 14:41:59 -06:00
Adam J. Stewart
b189d10f1f py-torchvision: add 0.4.2 (#13651) 2019-11-08 14:33:46 -06:00
Axel Huebl
c1ee069d1b openPMD-api: JSON Always On (#13641)
JSON is not a compile-time variant anymore and a mandatory
dependency from now on.
2019-11-08 11:00:10 -06:00
t-karatsu
3c2542f387 fluxbox: fix the comparison method with zero. (#13642) 2019-11-08 10:45:36 -06:00
Jonathan R. Madsen
2eb65f8a5d Timemory (#13503)
* Create timemory/package.py

* Update package.py

* mpi default to on

* Update package.py

* Update package.py

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

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

* Update package.py

* Update package.py

* Update package.py

- cleanup
- python deps specify type
- python 2.6 compatibility
- double quotes to single quotes

* Update package.py

* Update package.py
2019-11-08 10:35:14 -06:00
Frédéric Simonis
3f7fd4037f precice: add compiler conflicts (#13644) 2019-11-08 10:33:00 -06:00
Mark Olesen
f4a1666b1a Update openfoam to use new environment api (ref: #11115, 9ddc98e46a) (#13645)
- build:
  no special treatment - already addressed in the spack-Allwmake script

- run:
  use environment from the OpenFOAM etc/bashrc
2019-11-08 10:32:14 -06:00
Daryl W. Grunau
ae6229dee2 llvm: fix PythonString::GetString for >=python-3.7 (#13631)
* llvm: fix PythonString::GetString for >=python-3.7

* llvm/package.py: fix when the patch should be applied
2019-11-07 19:05:16 -06:00
Marc Mengel
119af6d71b new package: py-tempora (#13582)
* package py-tempora

* package py-tempora

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

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

* missing deps

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

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

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

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

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

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

* license bits
2019-11-07 18:59:38 -06:00
Marc Mengel
a2627da7d9 New package: py-uwsgi (#13619)
* package py-uwsgi

* package py-uwsgi

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

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

* license bits
2019-11-07 18:58:47 -06:00
Marc Mengel
fd01ac0ff1 New package: py-jaraco-functools (#13581)
* package py-jaraco-functools

* package py-jaraco-functools

* autopep8, docutils cleanup

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

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

* missing deps

* license bits

* ...and later versions

* lru cache dep change from adamjstewart
2019-11-07 18:52:32 -06:00
Satish Balay
ff307aa86c Balay/ginkgo 1.1.0 (#13632)
* ginkgo: add version 1.1.0

* Ginkgo: add conflict for gcc older than version 5.3
2019-11-07 18:51:20 -06:00
Todd Gamblin
c9c267518f bugfix: mirror path works for unknown versions (#13626)
`mirror_archive_path` was failing to account for the case where the fetched version isn't known to Spack.

- [x] don't require the fetched version to be in `Package.versions`
- [x] add regression test for mirror paths when package does not have a version
2019-11-07 17:13:51 -07:00
Kelly (KT) Thompson
719ebd18c3 py-pyside: fix setup files to support python 3.5. (#13613)
This fix already exists in the development branch of pyside. See
https://github.com/pyside/pyside-setup/pull/55.
2019-11-07 15:43:49 -06:00
Justin S
8139d7cb69 elmer-fem: add devel branch (#13630) 2019-11-07 15:41:43 -06:00
Adam J. Stewart
9936c8269f PyTorch: Add 1.3.1 (#13629) 2019-11-07 13:47:13 -06:00
Andreas Baumbach
0616c6ada1 (py)arrow: new versions (#13561)
* (py)arrow: new versions

* move py-arrow source to github as not all versions are on pypi
  same checksum as pypi, adding build_directory

* move back to pypi sources

* drop 0.15.0 and 0.14.1 as only .whl are available on pypi

* add new dependencies

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-07 11:52:29 -06:00
Andreas Baumbach
76c15f11e0 new package: py-convertdate (#13573)
* new package: py-convertdate

* Update docstring
2019-11-07 11:51:53 -06:00
Adam J. Stewart
344e4e0d1c Speed up PyTorch build (#13621) 2019-11-07 10:05:50 -06:00
健美猞猁
be56fe0677 bam-readcount: a new package. (#13628) 2019-11-07 10:00:43 -06:00
Josh Deaton
d748df73a3 m4: fixed macOS version identification on patch (#13623)
Patch was not being applied in recent versions of macOS. Homebrew is still applying patch to any version after High Sierra.
2019-11-07 09:43:59 -06:00
Andreas Baumbach
45eecbdbc2 py-jupyter-core add new version and setuptools dependency (#13424)
* py-jupyter-core add new version and setuptools dependency

* update checksums to use pypi

* fixup url and python dep type

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-06 13:30:59 -06:00
Andreas Baumbach
12da0e7152 new package: py-jdatetime (#13569)
* new package: py-jdatetime

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-06 13:25:01 -06:00
Michael Kuhn
6d6716e302 ncview: Fix dependency check (#13615)
netcdf has been renamed to netcdf-c.
2019-11-06 13:24:33 -06:00
Christoph Junghans
0d35ae7f5f gromacs: add v2019.4 and others (#13617)
* gromacs: add v2019.4 and others

* gromacs: fix patch applying
2019-11-06 13:24:14 -06:00
Andreas Baumbach
52afcfac4d new package: py-dateparser (#13574)
* new package: py-dateparser

* take setup.py dependencies into account

* fixup help->description

* reorder dependencies

* drop version constraints not enforced in setup.py
2019-11-06 13:18:37 -06:00
Andreas Baumbach
6b7a51587b new package: py-nodeenv (#13594)
* new package: py-nodeenv

* drop python version requirements, not enforced by setup.py
2019-11-06 13:16:49 -06:00
Andreas Baumbach
4ed56573c4 py-tatsu: new package (#13566)
* py-tatsu: new package

* drop unnecessary dependencies

* drop kanji, add variant, and restrict to future releases
2019-11-06 13:16:05 -06:00
Michael Kuhn
52eba8fb00 netcdf-fortran: Fix parallel builds (#13612)
netcdf-fortran@4.5: will error if netcdf-c has been built with MPI
support:
```
configure: error:
      -----------------------------------------------------------------------
        The NetCDF C library is built with parallel I/O feature enabled, but
        the Fortran compiler '.../lib/spack/env/gcc/gfortran' supplied in this configure command
        does not support MPI-IO. Please use one that does. If parallel I/O
        feature is not desired, please use a NetCDF C library with parallel
	I/O feature disabled. Abort.
      -----------------------------------------------------------------------
```

Copy logic from netcdf-c to add an `mpi` variant.
2019-11-06 11:14:35 -06:00
Michael Kuhn
95bc677445 cdo: Fix with_or_without calls (#13614)
netcdf has been renamed to netcdf-c and udunits2 has been renamed to
udunits.
2019-11-06 11:13:21 -06:00
Andreas Baumbach
e292bef411 new package: py-pymeeus (#13572)
* new package: py-pymeeus

* drop unnecessary dependencies
2019-11-06 11:02:19 -06:00
Andreas Baumbach
ea5c7917ac new package: py-pre-commit (#13570)
* new package: py-pre-commit

* update missing dependencies

* add python version restriction
2019-11-06 11:01:33 -06:00
Andreas Baumbach
2bd1a0ca4c new package: py-aspy-yaml (#13591)
* new package: py-aspy-yaml

* add python version dependency
2019-11-06 10:55:19 -06:00
Michael Kuhn
abce878fad go: Add 1.13.4 and 1.12.13 (#13609) 2019-11-06 11:36:35 +01:00
Axel Huebl
f9dc41f806 pybind11: correct get_include path (#13605)
* pybind11: test get_include path

Helper for non-CMake downstream projects to find the pybind11
header location.

* pybind11: return proper get_include()

use our prefix instead of letting pybind11 trying to self-determine
it from given conda/virtualenv/global rules.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-06 07:15:13 +01:00
Andreas Baumbach
a684efe826 new package: py-ics (#13576)
* new package: py-ics

* drop 0.5 and move to tar-ball

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-05 17:03:31 -06:00
Jordan Ogas
6dabdb7a82 add charliecloud 0.12 (#13599)
* add charliecloud 0.12

* fix typo

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-05 15:51:02 -06:00
Adam J. Stewart
6ffbc9c091 Add GDAL 3.0.2 (#13603) 2019-11-05 15:05:36 -06:00
Axel Huebl
8cbea5f767 mpi4py 3.0.3 (#13601)
* mpi4py 3.0.3

Adds support for Python 3.8 with new Cython files.
I tried to build 3.0.0 with Python 3.8 and this builds as well,
therefor I added no conflict.

* mpi4py: update dependency version ranges
2019-11-05 15:04:49 -06:00
Christoph Junghans
7c018bc2c8 netcdf: fix headers in v4.7.2 (#13600) 2019-11-05 12:56:02 -07:00
Christoph Junghans
10f509b182 elpa: add v 2019.05.002 (#13602) 2019-11-05 12:55:51 -07:00
Adam J. Stewart
27ab045dc1 PyTorch: avoid use of third party vendored deps (#13588)
* PyTorch: avoid use of third party vendored deps

* Flake8 fix
2019-11-05 13:19:07 -06:00
Andreas Baumbach
7a0bed7893 add depends_on(python) to PythonPackage stub (#13595) 2019-11-05 13:18:17 -06:00
Andreas Baumbach
68a34a11bc new package: py-nose-cov (#13571)
* new package: py-nose-cov

* add missing dependencies
2019-11-05 12:57:31 -06:00
Andreas Baumbach
74c81c0fc3 update py-notebook (#13423)
* update py-jupyter-notebook

* add setuptools dependency for newer version
  the whole jupyter collection seems to use setuptools in case of
  certain setup.py-arguments from the very beginning. However the latest
  ones actually require it, otherwise the build will fail
* add newly introduced dependencies

* dependency constraints

* drop terminal variant and update python dep
2019-11-05 12:51:00 -06:00
Andreas Baumbach
35f0003c08 new package py-cfgv (#13592) 2019-11-05 12:47:52 -06:00
Andreas Baumbach
aa2972172a new package: py-identify (#13593) 2019-11-05 12:46:57 -06:00
Douglas Duckworth
54e1d57647 added relion 3.0.8 [latest stable version in 3.0 branch] as well as 3.1_beta (#13539)
* added relion 3.0.8 [latest stable version in 3.0 branch] as well as 3.1_beta

* relion 3.1 beta compiles without Benchmarking build type see https://github.com/3dem/relion/issues/533

* relion 3.0.X - 3.1 now supports latest cmake@3
2019-11-05 12:40:27 -06:00
Todd Gamblin
a6ccb5b2fa bugfix: uninstall should find concrete specs by DAG hash (#13598)
This fixes a regression introduced in #10792.  `spack uninstall` in an
environment would not match concrete query specs properly after the index
hash of enviroments changed.

- [x] Search by DAG hash for specs to remove instead of by build hash
2019-11-05 06:12:12 -07:00
Todd Gamblin
b77974e986 spack find now displays variants and other spec constraints (#13596)
If you do this in a spack environment:

    spack add hdf5+hl

hdf5+hl will be the root added to the `spack.yaml` file, and you should
really expect `hdf5+hl` to display as a root in the environment.

- [x] Add decoration to roots so that you can see the details about what
      is required to build.
- [x] Add a test.
2019-11-05 05:39:56 -07:00
Todd Gamblin
b4501c4586 spack find now displays variants and other spec constraints
If you do this in a spack environment:

    spack add hdf5+hl

hdf5+hl will be the root added to the `spack.yaml` file, and you should
really expect `hdf5+hl` to display as a root in the environment.

- [x] Add decoration to roots so that you can see the details about what
      is required to build.
- [x] Add a test.
2019-11-05 02:49:17 -07:00
Todd Gamblin
ecfe84def7 bugfix: uninstall should find concrete specs by DAG hash
This fixes a regression introduced in #10792.  `spack uninstall` in an
environment would not match concrete query specs properly after the index
hash of enviroments changed.

- [x] Search by DAG hash for specs to remove instead of by build hash
2019-11-05 02:47:27 -07:00
Greg Becker
fbb5cf944b environments: make shell modifications partially unconditional (#13523)
* environments: make shell modifications partially unconditional

* flake

* missing module name

* add regression test

* flake
2019-11-04 23:35:23 -07:00
Greg Becker
385e41d70b binary distribution: relocate text files properly in relative binaries (#13578)
* Make relative binaries relocate text files properly
* rb strings aren't valid in python 2
* move perl to new interface for setup_environment family methods
2019-11-04 22:03:35 -07:00
Andreas Baumbach
527d639b0e new package py-testpath (#13417)
* new package py-testpath

dependency of py-nbconvert

* py-testpath: fix flake8

* Remove the unnecessary pip dependency
2019-11-04 19:39:25 -06:00
Andreas Baumbach
4f5d3770c7 update py-pyzmq (#13420)
* update py-zmq

* update dependencies
2019-11-04 19:38:19 -06:00
Andreas Baumbach
0341c38dff update py-jupyter-client and new setuptools dependency (#13425)
* update py-jupyter-client and new setuptools dependency

* update dependencies
2019-11-04 19:28:59 -06:00
xfzhao
18243695c9 Mothur update (#13580)
* add +vserach option

* fixes #967
2019-11-04 19:27:13 -06:00
Gregory Lee
7e2e93b787 added archer 2.0.0 and package build fixes (#13577) 2019-11-04 17:39:16 -06:00
Christoph Junghans
dd7ebcf2d9 portage: fix lapack/blas linkage (#13558) 2019-11-04 16:35:28 -07:00
Andreas Baumbach
0f3ffad430 py-colorama: new version 0.4.1 (#13562)
* py-colorama: new version 0.4.1

* add python dependency
2019-11-04 16:46:29 -06:00
Andreas Baumbach
0b93e95049 py-regex: new version 2019.11.1, w/o setuptools (#13563) 2019-11-04 16:45:47 -06:00
Andreas Baumbach
80f63f7f9b py-dataclasses: new package (#13564) 2019-11-04 16:44:11 -06:00
Andreas Baumbach
6b27d87e7a py-tzlocal: add new version 2.0.0 (#13565) 2019-11-04 16:43:15 -06:00
Andreas Baumbach
3bd7d7f211 new package: py-chai (#13567) 2019-11-04 16:41:28 -06:00
Andreas Baumbach
880a8d40ce new package: py-umalqurra (#13568) 2019-11-04 16:40:06 -06:00
Hadrien G
1114ae9375 Add ACTS v0.10.5 (#13556) 2019-11-04 11:43:45 -06:00
Sinan
bbb5284b42 py-astor: specify py-setuptools versions as build fail with latest version (#13533)
* specify py-setuptools dependency as build fail with latest version

* explain

* py-astor builds with setuptools@41.3
2019-11-04 10:21:59 -06:00
Stephen Herbein
19410461b7 Flux v0.11.1 - v0.11.3 (#13199)
* flux: add `url_for_version` to support their C4 repo model

Flux uses a fork of ZeroMQ's Collective Code Construction Contract
(https://github.com/flux-framework/rfc/blob/master/spec_1.adoc).
This model requires a repository fork for every stable release that has
patch releases.  For example, 0.8.0 and 0.9.0 are both tags within the
main repository, but 0.8.1 and 0.9.5 would be releases on the v0.8 and
v0.9 forks, respectively.

* flux: add latest versions

* flux: remove master from `when=@0.X:,master` statements

Now that #1983 has been merged, master > 0.X.0.

* flux-core: remove extraneous `99` patch version in `when` range

Replace `when=@:0.11.99` with `when=@:0.11` since the intention is to
include all patch versions of `0.11`.

* flux-core: fix `setup_build_environment` after changes in #13411

In #13411, `setup_environment` was split into `setup_build_environment`
and `setup_run_environment`, with the `spack_env` and `run_env`
arguments being changed to `env`.  Somehow the flux package was the only
one to not have its `spack_env` references in the function changed to
`env`.

* flux: add runtime environment variables that Flux checks

with older versions of Flux (i.e, 0.0:0.13), FLUX_CONNECTOR_PATH must be
set by spack to prevent failures in certain
scenarios (https://github.com/flux-framework/flux-core/issues/2456).

the flux binary also sets some other environment variables, which can be
listed by running `flux -v start`.  I added a few of those just to be
sure that the Spack-installed paths are used, rather than
system-installed ones.

* flux: add optional testing dependencies to maximize test coverage

Install optional dependencies to ensure that only spack-installed
software is detected and that all tests are run when `spack install
--test` is used.

Flux's test suite will test for the existance of valgrind, jq, and any
MPI installation.  If it detects them (even if they are system-installed
and outside the spack environment), it will run optional tests against
them.  I noticed on my machine that the valgrind tests were running
against the system-install valgrind.

* flux-sched: switch to new `setup_run_environment` API
2019-11-04 09:58:40 -06:00
Adam J. Stewart
903b0071cf Add latest version of py-pybind11 (#13552)
* Add latest version of py-pybind11

* setup_environment -> setup_build_environment
2019-11-04 02:00:02 -08:00
Omar Padron
edf9548310 bugfix: fetch prefers to fetch local mirrors over remote resources (#13545)
- [x] insert at beginning of list so fetch grabs local mirrors before remote resources
- [x] update the S3FetchStrategy so that it throws a SpackError if the fetch fails.  
      Before, it was throwing URLError, which was not being caught in stage.py.
- [x] move error handling out of S3FetchStrategy and into web_util.read_from_url()
- [x] pass string instead of URLError to SpackWebError
2019-11-03 17:13:02 -08:00
Omar Padron
0784ec1a6d bugfix: fetch prefers to fetch local mirrors over remote resources (#13545)
- [x] insert at beginning of list so fetch grabs local mirrors before remote resources
- [x] update the S3FetchStrategy so that it throws a SpackError if the fetch fails.  
      Before, it was throwing URLError, which was not being caught in stage.py.
- [x] move error handling out of S3FetchStrategy and into web_util.read_from_url()
- [x] pass string instead of URLError to SpackWebError
2019-11-03 17:11:30 -08:00
Simon Pintarelli
bcda14f825 Add py-voluptuous (#13457)
Data validation library
2019-11-03 18:48:52 -06:00
Justin S
1d8391a60c r-gstat: new package at 2.0-3 (#13131)
* r-gstat: new package at 2.0-3

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-03 18:35:08 -06:00
Greg Becker
7cdb241f80 environments: only write when necessary (#13546)
This changes Spack environments so that the YAML file associated with the environment is *only* written when necessary (i.e., if it is changed *by spack*).  The lockfile is still written out as before.

There is a larger question here of which part of Spack should be responsible for setting defaults in config files, and how we can get rid of empty lists and data structures currently cluttering files like `compilers.yaml`.  But that probably requires a rework of the default-setting validator in `spack.config`, as well as the code that uses `spack.config`.  This will at least help for `spack.yaml`.
2019-11-03 15:47:19 -08:00
Greg Becker
aa7c229c8f environments: only write when necessary (#13546)
This changes Spack environments so that the YAML file associated with the environment is *only* written when necessary (i.e., if it is changed *by spack*).  The lockfile is still written out as before.

There is a larger question here of which part of Spack should be responsible for setting defaults in config files, and how we can get rid of empty lists and data structures currently cluttering files like `compilers.yaml`.  But that probably requires a rework of the default-setting validator in `spack.config`, as well as the code that uses `spack.config`.  This will at least help for `spack.yaml`.
2019-11-03 15:46:41 -08:00
Ricardo Silva
c42ebb0ccc Polymake: new version and more dependencies (#13399)
* New package: perl-term-readline-gnu

* polymake dependency

* perl-term-readline-gnu: flake8

* New package: perl-xml-libxslt

* polymake dependency

* ppl: new version 1.2

Conflicts:
	var/spack/repos/builtin/packages/ppl/package.py

* polymake: new version and dependencies

Conflicts:
	var/spack/repos/builtin/packages/polymake/package.py

* perl-xml-libxslt: missing dependency
2019-11-03 17:44:34 -06:00
Jannek Squar
9331a943ce New package py-wradlib with new dependencies (#13459)
* New package py-wradlib with new dependencies py-deprecation, py-semver, py-xmltodict

* Adjusted package source source

* Adjusted xarray package to use pypi-source

* Added dependencies

* Added explicit gdal+python dependency

* Concretised dependency versions

* Removed strict version range
2019-11-03 17:38:27 -06:00
Jannek Squar
c175be4420 Added dependencies (#13519)
* Added dependencies

* Adjusted dependency
2019-11-03 17:28:19 -06:00
Jannek Squar
ed037d0c5d Update package saga gis (#13520)
* Improvements of saga-gis package

* Added explicit version ranges for old saga-gis version

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

Creative usage of redefinition of getter method

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

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

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

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-03 17:26:53 -06:00
Daryl W. Grunau
ed89825557 constexpr_longdouble.patch should be applied to v6 too (#13548) 2019-11-03 16:47:41 -06:00
Adam J. Stewart
e12a738d84 Add latest version of protobuf (#13551) 2019-11-02 15:58:46 -05:00
Adam J. Stewart
573789f067 Add QNNPACK package (#13549) 2019-11-02 14:39:31 -05:00
健美猞猁
c43e6839d4 chgcentre: a new package. (#13500)
* chgcentre: a new package.

* flake8.
2019-11-02 12:58:57 -05:00
Adam J. Stewart
a8228e1aec spack create: http -> https (#13547) 2019-11-01 17:40:49 -05:00
Peter Scheibel
2e029fc2e5 Bugfix: respect order of mirrors in mirrors.yaml (#13544)
Commands like "spack mirror list" were displaying mirrors in a
different order than what was listed in the corresponding mirrors.yaml
file.

This restores commands to iterate over mirrors in the order that
they appear in the config file.
2019-11-01 14:02:08 -07:00
Greg Becker
24ec9f0ce3 environments: make shell modifications partially unconditional (#13523)
* environments: make shell modifications partially unconditional

* flake

* missing module name

* add regression test

* flake
2019-11-01 12:00:16 -05:00
Adam J. Stewart
f6e26c402b Add py-tables 3.6.1 (#13536) 2019-11-01 11:37:04 -05:00
Simon Pintarelli
854f45a136 libxc: update URL / new API (#13471)
- setup_environment -> setup_build_environment
- remove patch
2019-11-01 11:35:30 -05:00
Marc Mengel
2cea0633fa allow bootstrap buildcache install of patchelf (#13430)
* allow bootstrap buildcache install of patchelf

* file not path_name on one

* style

* add test for relocating patchelf

* blank lines..
2019-11-01 10:54:55 -05:00
Todd Gamblin
d670765b97 version bump: 0.13.1 2019-11-01 03:52:04 -07:00
Omar Padron
01a0d554f5 bugfix: spack.util.url.join() now handles absolute paths correctly (#13488)
* fix issue where spack.util.url.join() failed to correctly handle absolute path components
* add url util tests
2019-11-01 03:50:47 -07:00
Gregory Lee
2a9d6b9fbf sbang: use utf-8 for encoding when patching (#13490)
This fixes a UnicodeDecodeError in the sbang patching function.
2019-11-01 03:50:38 -07:00
Massimiliano Culpo
eb286bb80f Specs with quoted flags containing spaces are parsed correctly (#13521) 2019-11-01 03:50:26 -07:00
Massimiliano Culpo
1cc69e1ce0 targets: print a warning message before downgrading (#13513)
* Make package preferences a soft failure for targets, instead of a hard failure.
* Added unit tests for preferences expressed via packages.yaml
2019-11-01 03:50:17 -07:00
Adam J. Stewart
338a532e07 Travis CI: Test Python 3.8 (#13347)
* Travis CI: Test Python 3.8

* Fix use of deprecated cgi.escape method

* Fix version comparison

* Fix flake8 F811 change in Python 3.8

* Make flake8 happy

* Use Python 3.8 for all test categories
2019-11-01 03:50:02 -07:00
Greg Becker
30c9609c4e Documentation: Database.query methods share docstrings (#13515)
Currently, query arguments in the Spack core are documented on the
Database._query method, where the functionality is defined.

For users of the spack python command, this makes the python builtin
method help less than ideally useful, as help(spack.store.db.query)
and help(spack.store.db.query_local) do not show relevant information.

This PR updates the doc attributes for the Database.query and
Database.query_local arguments to mirror everything after the first
line of the Database._query docstring.
2019-11-01 03:49:47 -07:00
Massimiliano Culpo
944d7b3d62 cuda: fix conflict statements for x86-64 targets (#13472)
* cuda: fix conflict statements for x86-64 targets

fixes #13462

This build system mixin was not updated after the support for specific
targets has been merged.

* Updated the version range of cuda that conflicts with gcc@8:

* Updated the version range of cuda that conflicts with gcc@8: for ppc64le

* Relaxed conflicts for version > 10.1

* Updated versions in conflicts

Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
2019-11-01 03:49:35 -07:00
Greg Becker
b727f922a4 cpu: fix clang flags for generic x86_64 (#13491)
* cpu: differentiate flags used for pristine LLVM vs. Apple's version
2019-11-01 03:49:16 -07:00
Peter Scheibel
835df4b2e4 syaml_int type should use int.__repr__ rather than str.__repr__ (#13487) 2019-11-01 03:49:00 -07:00
Omar Padron
0f816561db bugfix: spack.util.url.join() now handles absolute paths correctly (#13488)
* fix issue where spack.util.url.join() failed to correctly handle absolute path components
* add url util tests
2019-11-01 03:42:43 -07:00
Gregory Lee
3bdab6f686 sbang: use utf-8 for encoding when patching (#13490)
This fixes a UnicodeDecodeError in the sbang patching function.
2019-11-01 03:39:45 -07:00
Massimiliano Culpo
390ffb80e7 Specs with quoted flags containing spaces are parsed correctly (#13521) 2019-11-01 03:38:11 -07:00
Massimiliano Culpo
42b8355269 targets: print a warning message before downgrading (#13513)
* Make package preferences a soft failure for targets, instead of a hard failure.
* Added unit tests for preferences expressed via packages.yaml
2019-11-01 03:36:28 -07:00
eugeneswalker
94de86aeb8 elpa: prefer 2016.05.004 until sse/avx/avx2 issues are resolved (#13530)
- configuration fails on newer versions when enabling sse/avx/avx2
- prefer an older version that will build with these features
2019-10-31 23:56:14 -07:00
Satish Balay
43b18dada4 hypre: add version 2.18.2 (#13527) 2019-10-31 18:35:13 -05:00
eugeneswalker
63afd0d2cf trilinos: temporarily constrain netcdf@:4.7.1 (#13526)
remove this when issues are resolved with `trilinos^netcdf@4.7.2`
2019-10-31 15:53:54 -07:00
Daniel Topa
93e87474fb dd Open MPI v. 4.0.2 (#13257)
Verification builds on LANL Darwin x86_64, ARM, and, Power9:

x86_64: OPTANE
dantopa@cn733:pr-openmpi-4.0.2.spack $ spack arch
linux-centos7-skylake_avx512

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 2m 15.65s.  Build: 6m 13.17s.  Total: 8m 28.82s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-centos7-haswell/gcc-4.8.5/openmpi-4.0.2-jrypg7vfnk6nl5if2rnzt65wdrjelxsq

NEHALEM
$ spack arch
linux-centos7-nehalem

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 50.48s.  Build: 9m 11.45s.  Total: 10m 1.93s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-centos7-nehalem/gcc-4.8.5/openmpi-4.0.2-4jz3bcwjci44taizt4jqzxqh4y75uswc

ARM
$ spack arch
linux-rhel7-aarch64

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 1m 10.47s.  Build: 11m 41.45s.  Total: 12m 51.92s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/openmpi-4.0.2-ygr77roadqzdnsdgqz3uactjqnb5nayn

POWER9
$ spack arch
linux-rhel7-power9le

$ spack install openmpi @ 4.0.2 % gcc @ 4.8.5
==> Warning: Using GCC 4.8 to optimize for Power 8 might not work if you are not on Red Hat Enterprise Linux 7, where a custom backport of the feature has been done. Upstream support from GCC starts in version 4.9
...
==> Installing openmpi
...
==> Successfully installed openmpi
  Fetch: 23.95s.  Build: 9m 7.67s.  Total: 9m 31.62s.
[+] /scratch/users/dantopa/new-spack/pr-openmpi-4.0.2.spack/opt/spack/linux-rhel7-power8le/gcc-4.8.5/openmpi-4.0.2-cid4wfzr2iwgz6ybhkexludwu7koi266

$ spack find -ldf openmpi
==> 4 installed packages
-- linux-centos7-haswell / gcc@4.8.5 ----------------------------
jrypg7v openmpi@4.0.2%gcc
lliismp     hwloc@1.11.11%gcc
7dqpxas         libpciaccess@0.13.5%gcc
viidrh5         libxml2@2.9.9%gcc
yhvj3br         numactl@2.0.12%gcc
pkmj6e7     zlib@1.2.11%gcc

-- linux-centos7-nehalem / gcc@4.8.5 ----------------------------
4jz3bcw openmpi@4.0.2%gcc
pcauu6w     hwloc@1.11.11%gcc
yiqf6bj         libpciaccess@0.13.5%gcc
wpfgqf2         libxml2@2.9.9%gcc
fd2xpnm         numactl@2.0.12%gcc
xguzaxf     zlib@1.2.11%gcc

-- linux-rhel7-aarch64 / gcc@4.8.5 ------------------------------
ygr77ro openmpi@4.0.2%gcc
omy3xi2     hwloc@1.11.11%gcc
6a4he35         libpciaccess@0.13.5%gcc
txqo4cc         libxml2@2.9.9%gcc
m5neuus         numactl@2.0.12%gcc
67s2oqn     zlib@1.2.11%gcc

-- linux-rhel7-power8le / gcc@4.8.5 -----------------------------
cid4wfz openmpi@4.0.2%gcc
zcdnwb3     hwloc@1.11.11%gcc
lencfon         libpciaccess@0.13.5%gcc
bve4jop         libxml2@2.9.9%gcc
kajzqwg         numactl@2.0.12%gcc
tjbynt2     zlib@1.2.11%gcc

Thu Oct 17 19:02:50 MDT 2019

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-10-31 14:57:50 -07:00
Peter Scheibel
6ec39b6c81 Bugfix: BundlePackage staging/installation (#13524)
4af4487 added a mirror_id function to most FetchStrategy
implementations that is used to calculate resource locations in
mirrors. It left out BundleFetchStrategy which broke all packages
making use of BundlePackage (e.g. xsdk). This adds a noop
implementation of mirror_id to BundleFetchStrategy so that the
download/installation of BundlePackages can proceed as normal.
2019-10-31 12:56:38 -07:00
Adam J. Stewart
4b56933643 Docs: unlock requirement versions (#13384) 2019-10-31 14:21:05 -05:00
Adam J. Stewart
536486f0e5 Travis CI: Test Python 3.8 (#13347)
* Travis CI: Test Python 3.8

* Fix use of deprecated cgi.escape method

* Fix version comparison

* Fix flake8 F811 change in Python 3.8

* Make flake8 happy

* Use Python 3.8 for all test categories
2019-10-31 14:20:46 -05:00
Nichols A. Romero
14fdaca4b4 Bump up PGMath Library to latest version. More transparent name of the branch, version name equals branch name. (#13511) 2019-10-31 13:00:59 -05:00
Adam J. Stewart
b4a51084ab Add GRASS 7.8.0 (#13026)
* Add GRASS 7.8.0

* Add new variants/dependencies

* Remove unused dep

* Filter entire libiconv line
2019-10-31 12:48:54 -05:00
Christoph Junghans
a334007808 kokkos: turn host_values into a property (#13518)
* kokkos: turn host_values into a property

* Update package.py

* Update package.py
2019-10-31 12:46:05 -05:00
t-karatsu
e7f574aad5 ipopt: Add condition for 'aarch64' to Ipopt/config.guess (#13499) 2019-10-31 12:38:23 -05:00
Julien Loiseau
738f2e14ce MeshToolKit package (#12870)
* Adding flecsph package

* Correcting header

* Boost version update

* Correcting Flake8 errors

* Correcting headers

* Develop preferred in FleCSI

* Removing FleCSPH branch of FleCSI

* MeshToolKit package

* formatting

* Formatting

* Correcting MSTK package

* Format

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Update package.py

* Format

* Format

* Correcting package behavior

* Correcting format

* Corrections

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

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

* Multiline
2019-10-31 12:32:54 -05:00
Robert Maynard
3d60c3ec10 VTK-m: Add support for the 1.5 release (#13514) 2019-10-31 12:04:19 -04:00
Christoph Junghans
187706f108 portage: fix lapacke linkage (#13517) 2019-10-31 09:42:18 -06:00
Greg Becker
a97faeb3c7 Documentation: Database.query methods share docstrings (#13515)
Currently, query arguments in the Spack core are documented on the
Database._query method, where the functionality is defined.

For users of the spack python command, this makes the python builtin
method help less than ideally useful, as help(spack.store.db.query)
and help(spack.store.db.query_local) do not show relevant information.

This PR updates the doc attributes for the Database.query and
Database.query_local arguments to mirror everything after the first
line of the Database._query docstring.
2019-10-30 16:47:48 -07:00
Greg Becker
230c6aa326 cpu: fix clang flags for generic x86_64 (#13491)
* cpu: differentiate flags used for pristine LLVM vs. Apple's version
2019-10-30 17:16:13 -05:00
Massimiliano Culpo
cf1c38162e cuda: fix conflict statements for x86-64 targets (#13472)
* cuda: fix conflict statements for x86-64 targets

fixes #13462

This build system mixin was not updated after the support for specific
targets has been merged.

* Updated the version range of cuda that conflicts with gcc@8:

* Updated the version range of cuda that conflicts with gcc@8: for ppc64le

* Relaxed conflicts for version > 10.1

* Updated versions in conflicts

Co-Authored-By: Axel Huebl <axel.huebl@plasma.ninja>
2019-10-30 09:25:46 -07:00
Gregory Lee
4626c28c27 fix openmpi wrappers with libfabric (#13439)
* fix openmpi wrappers with libfabric

* flake8 fix

* flake8 fix

* openmpi fix deprecated API

* openmpi fix deprecated API
2019-10-29 23:09:21 -05:00
t-karatsu
ad6908e35d mumps: Fix compile commands. (#13497) 2019-10-29 23:08:25 -05:00
Justin S
7af668f452 r-bio3d: new package at 2.3-4 (#13496) 2019-10-29 18:09:46 -05:00
Justin S
ccd20c9973 r-fields: new package at 9.9 (#13495) 2019-10-29 18:09:34 -05:00
Justin S
9a0ab3a87a r-spam: new package at 2.3-0.2 (#13494) 2019-10-29 18:09:16 -05:00
Justin S
4d345429ab r-dotcall64: new package at 1.0-0 (#13493)
* r-dotcall64: new package at 1.0-0

* r-dotcall64: break up long line
2019-10-29 18:09:05 -05:00
Justin S
d76ec7b2da r-dada2: new package at 1.14 (#13492)
* r-dada2: new package at 1.14

* r-dada2: add gmake dependency

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-10-29 18:08:51 -05:00
Peter Scheibel
c99d367a11 syaml_int type should use int.__repr__ rather than str.__repr__ (#13487) 2019-10-29 13:51:48 -07:00
t-karatsu
e29a6c532c mumps: Add '-DMAIN_COMP' when using Fujitsu compiler. (#13480) 2019-10-29 13:32:36 -05:00
Sinan
944ef2f690 new package: py-scs (#13477)
* new package: py-scs

* rename

* flake8

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

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-10-29 13:11:31 -05:00
Tiziano Müller
0a5c184a5d CP2K: drop json-fortran dependency and add support for the Nvidia V100 (#13468)
* cp2k: drop json-fortran dep since that's now handled in SIRIUS internally

* cp2k: gained support for Nvidias V100
2019-10-29 14:08:58 +01:00
Tamara Dahlgren
3cf21e6edc bugfix: make spack -d test test_changed_files work (#13229)
The `test_changed_files` in `test/cmd/flake8.py` was failing because it calls
`ArgumentParser.parse_args()` without arguments.  Normally that would just
parse `sys.argv` but it seems to fail because of something in either `spack test`
or `pytest`.  Call it with an empty array so that it doesn't try to touch`sys.argv`
at all.

- [x] allow `-d` spack option for `test_changed_files`
2019-10-29 00:25:59 -07:00
Simon Pintarelli
aad8ea172c Add SpFFT: sparse 3D FFT library (#13458)
* Add SpFFT: sparse 3D FFT library

SpFFT is required as a dependency for SIRIUS

* cleanup

* add missing dependency
2019-10-28 22:57:07 -05:00
Sinan
bc930f310f new package: py-cvxpy (#13478)
* new package: py-cvxpy

* improve dependency specs
2019-10-28 22:55:08 -05:00
Sinan
95e0d118be new package: py-ecos (#13476)
* new package: py-ecos

* flake8
2019-10-28 20:30:40 -05:00
Sinan
330cd56517 new package: py-osqp (#13475) 2019-10-28 20:28:42 -05:00
Adam J. Stewart
2264e30d99 Update URL parsing regexes and tests (#13411)
* Update URL parsing regexes and tests

* Get rid of no longer used README

* Merge py-udunits and py-cf-units

* netcdf -> netcdf-c

* setup_environment -> setup_*_environment

* Fix doc tests

* Few last minute fixes

* Simplify prefix removal copypasta
2019-10-28 20:27:54 -05:00
Jim Galarowicz
4367e16740 Update the module files for cbtf-krell and openspeedshop (#13400)
* Update the module files for cbtf-krell and openspeedshop adding man paths and needed papi and libmonitor paths.

* Update module files for new API.

* Use the same python for both develop and release branches.
2019-10-28 17:36:12 -05:00
Sinan
e5b1dbf4b4 new Package/scs (#13454)
* new package: SCS

* make flake8 happy

* add missing patch, improve style

* fix typo

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

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

* move filefilter to edit phase
2019-10-28 17:33:32 -05:00
Cyrus Harrison
1b3f546ba4 update conduit for 0.5.0 release (#13455)
* add support for static (via ~shared) and use vtk-m 1.2

* updating vtkh package to output cmake configure file and pinning it to vtkm 1.2

* trying a different cmake for vtkh

* removing problematic b

* making conduit respect ~python

* fixing ascent python logic

* update ascent package

* consistant cmake usage

* conditionally add tbb in ascent if vtkh

* applying becker fix

* adding vtkh tag

* fixing vtkh tagged version

* updating ascent and conduit for static builds

* enabling openmp

* reverting files that should not have been changed

* ascent updates

* more robust handling of variants

* fixing ascent package typo

* ascent: add optional support for mfem

* enable mfem conduit support for ascent

* add optional adios dep to conduit

* remove ver req from conduit

* ascent: remove confusing comment

* tweaks to conduit and ascent pkg recipes

* fix typo in conduit package

* pref conduit master

* fixing mfem typo for ascent

* reverting files

* adding mirror for bzip

* changing mfem to depend on conduit@master to get updated relay

* restore use of conduit 0.3.1 or greater for mfem

* set master as prefered conduit version

* allow mfem to use conduit master

* adding rover package and editing ascent

* updating vtkm cmake dep

* updates from axom

* guard ascent python support on +shared

* removing rover to simply ascent package

* add fortran variant to conduit, to allow us to turn off conduit support even when a fortran compiler is specified

* fix fortran compiler check so it can work on cray systems

* working towards cuda fix for vtkm lagrange filter

* update ascent package with more variants, and patch to avoid nvcc issue

* hdf5 flags fix for BGQ

* flake8

* extra guards for cuda patch

* conduit and ascent fortran fix

* fix patch for non cuda case

* add test variant to conduit, tweak ascent pkg

* change min ver of cmake used for ascent

* h5z-zfp package: unset FC when ~fortran

* conform to expected upstream solution

* pinning vtkm

* going back to vtkm master

* add back vtk-m variant for shared libs

* update ascent and vtkh packages

* wire up option to run tests during install

* add post install test

* add testing to ascent

* tweak for blueos xl

* add ctest output on error for run_tests

* enable ctest output on error for run_tests

* add testing of the using-with-make example

* update using-with-make examples

* typo in ascent using-with-cmake test

* fix ascent using test exe names

* more fixes, less sleep

* more fixes, less sleep ...

* remove unwired up version

* improvments suggested on review

* adding new cmake

* Update package.py

* Update package.py

* changes post cori os update

* fix cray hack

* Update package.py

Fixing 'fix'. Inconsistent variable names in conduit package

* type in spack recipes

* add zfp support to conduit

* fix indent error in conduit pkg

* move to use build phases, add sphinx rtd as dep, fix ex names in tests

* add conduit 0.5.0 release

* flake8

* remove old cray hack

* incorp feedback from review

* fix to use proper build env sig
2019-10-28 17:32:16 -05:00
Kelly (KT) Thompson
ffb4e02a53 Fix gcc recipe for RHEL7. (#13460)
* Fix gcc recipe for RHEL7.

+ It appears that macOS related changes to the gcc recipe broke gcc on RHEL7.
  This bug manifests as `libstdc++.so: undefined reference to libiconv` when gcc
  is used.
+ Fixes #13452 by moving
  `--with-libiconv-prefix={0}'.format(spec['libiconv'].prefix)` into the darwin
  OS section of the configuration.
+ Change qualification of `depends_on(libiconv)` to limit dependency to macOS.

* Replace deprecated 'setup_environment' with 'setup_run_environment'.

* Fix cut and paste error.

* Rename 'run_env' to just 'env'.
2019-10-28 17:31:23 -05:00
Jon Rood
8786cb468a Paraview package: add version 5.7.0 and update environment setup (#13255)
Replace setup_environment/setup_dependent_environment with
setup__dependent_build_environment and setup_run_environment
according to 9ddc98e
2019-10-28 14:55:08 -07:00
Brian Van Essen
802c3c0c51 Packages: Add cuDNN versions; update LBANN dependencies (#13412)
* Add cuDNN version 7.6.3-10.1 (for x86_64 and ppc64le)
* Add py-pytest and py-protobuf depenencies to LBANN
2019-10-28 13:24:50 -07:00
Paul
f4e6f28e6d Go package: add versions (including 1.13.3) and update environment setup (#13254)
* Add versinos 1.13.3, 1.13.2, 1.12.12, and 1.12.11
* Replace setup_environment/setup_dependent_environment with
  setup_build_environment and setup_dependent_{build, run}_environment
  according to 9ddc98e
2019-10-28 13:19:14 -07:00
Adam J. Stewart
33a34f9619 Fix PyTorch build with Intel MKL (#13464) 2019-10-28 11:47:21 -05:00
Adam J. Stewart
b4e027e918 Output directory Spack is looking in for MKL libs (#13465) 2019-10-28 11:46:59 -05:00
Glenn Johnson
283b3e601c Update emacs to version 26.3 (#13469) 2019-10-28 11:46:27 -05:00
Mark Olesen
cacd0fb139 scotch: added version 6.0.8 (#13467) 2019-10-28 15:58:25 +01:00
wenlibin02
ba69ebc5f7 Add dependency and patch for perl-dbfile (#13261)
* Add dependency and patch perl-dbfile

There are two problems for the building of `perl-dbfile`:

1) this package depends on the package `berkeley-db`
2) fix the building using a patch, which locates the position of `berkeley-db` and modify the configuration file for the building

* Update and reformat the script package.py

* Simplify the patch

* Update package.py

* Update package.py
2019-10-27 22:31:10 -05:00
Nichols A. Romero
c11c3f2710 QE Update Oct 2019 (#13406)
* This filter_file was difficult to maintain and is no longer needed.

* Clarify lack of support for HDF5 in serial QE.

* Update QE and HDF5 conflicts based on user feedback.
2019-10-27 22:27:55 -05:00
Axel Huebl
7b86251bef Add Lizard (LZ5) (#13456)
* Add Lizard (LZ5)

Add a new package for Lizard, formerly LZ5, a very fast compressor
and decompressor library.

* c-blosc2: use external lizard

Use an external Lizard (LZ5) dependency and add missing
"when="s for other compressor dependents.
2019-10-27 22:24:27 -05:00
Glenn Johnson
1d760e79a6 Libbeagle fixes (#13463)
* Fixes for libbeagle

This PR fixes a couple of issues with the libbeagle package.

- Use args.append('--with-cuda=%s' % self.spec['cuda'].prefix)
- Disable the default of compiling with -march=native as Spack now
  inserts architecture specific flags
- Set BEAST_LIB in the beast1 package not in libbeagle.

* Use new setup_run_environment method
2019-10-27 22:24:06 -05:00
Andreas Baumbach
c0a2e8651b new package: py-pandocfilters (#13418)
dependency of py-nbconvert
2019-10-27 22:22:25 -05:00
Andreas Baumbach
ea6e279bbc LLVM code-signing on OSX: link to the offical documentation (#13428)
* LLVM code-signing on OSX: link to the offical documentation

* LLVM: update setup_environment method
2019-10-27 21:59:13 -05:00
Michael Kuhn
82428133d6 mariadb: Fix openssl dependencies (#13443) 2019-10-27 21:55:06 -05:00
Michael Kuhn
929ec39a63 mariadb-c-client: Add 3.1.4 (#13447) 2019-10-27 21:54:04 -05:00
Sinan
57f040753d new package: ecos (#13453) 2019-10-27 21:53:38 -05:00
Adam J. Stewart
59a6226f74 Update PyTorch variable name (#13461) 2019-10-27 19:21:06 -05:00
Axel Huebl
c107b7531c MPICH: Fix Slurm Find Issue (#13263)
Set include and library path to slurm explicitly.
2019-10-26 22:03:39 -04:00
Adam J. Stewart
d68b554cd3 Add latest version of py-fiscalyear (#13451) 2019-10-26 11:06:37 -05:00
Todd Gamblin
f7de8942b8 Add top-level CHANGELOG.md with release notes. 2019-10-25 23:19:36 -07:00
Todd Gamblin
8eeb64096c version bump: 0.13.0 2019-10-25 21:53:52 -07:00
Todd Gamblin
847703c13d tutorial: move tutorial to standalone site (#13450)
* docs: add a spack environment for building the docs

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

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

In this mode there is no concretization:

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

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

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

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

The new structure of the mirror is:

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

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

Other improvements:

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

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

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

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

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

    spack fetch --dependencies xsdk

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

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

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

Reorder Zen* microarchitectures to avoid triggering as k10.

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

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

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

* Remove C++98 option from HPX package

* Add option to turn off examples in HPX package

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

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

* mfem@4.0.0: add occa variant

* mfem@4.0.0: add raja variant

* Update package.py

* Update package.py

* Update package.py

* Update package.py

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

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

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

plus some cleanup

* sundiaks: fix formatting

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

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

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

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

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

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

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

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

    config:
        shared_linking: 'rpath'

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

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

Example usage:

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

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

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

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

* hypre: Add new variants to expose existing features.

* hypre: Shorten description line.

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

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

* Correcting header now with licence.

* Using sha256

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

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

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

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

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

Details:

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

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

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

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

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

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

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

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

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

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

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

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

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

High level to-do list:

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

Important details:

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

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

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

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

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

* use bamtools and zlib to spack installed package.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* ADIOS2: Dataspaces, libffi, libfabric

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

* Hide transitive SST dependencies

* ADIOS2: Simplify SST CMake Flags

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

* Refined dependencies

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Verification includes

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

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

The spack verify command has three modes.

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

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

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

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

This will allow us to process files with unknown encodings.

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

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

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

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

* Update ACTS dependency requirements

* We can actually be more specific here

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

* Add 0.10.4 release

* Remove material mapping plugin

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

Example:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

See rkern/line_profiler#166.

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

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

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

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

* Addition of conditional enum-34 installation.

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

Addition of versioning for pyyaml.

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

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

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

* LIBXML2 variables no longer used.

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

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

  Resolve by creating a symlink during patching.

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

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

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

* Address comments.

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

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

* Add homepage.

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

* Add conflict for all compilers except the Fujitsu compiler.

* Fix typo.

* Delete versions.

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

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

* Use +unicode instead of unicode=True

- Make the unicode option more explicit

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

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

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

* flake8.

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

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

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

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

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

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

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

* Update homepage, remove no longer required deps

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

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

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

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

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

* libint: add tune and fortran variants

* cp2k: add support for libint >= 2.0

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

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

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

* fix mistake

* remove template text

* fix build error involving perl

* flake8

* improvements

* introduce multi valued variant for tls support

* improve tls variant

* overwrite build phase as opposed install

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

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

* Patch ADIOS1: ZFP 0.5.1+ support

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

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

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

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

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

* fix dependency types

* improvements

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

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

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

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

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

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

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

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

* revert some changes

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

* add maintainers list to pkg singularity

Add @alalazo and me to the Singularity maintainers list

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

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

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

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

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

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

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

* libaio: added information to the docstring

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

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

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

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

* mariadb: fixed a typo in previous commit

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

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

Currently you would see

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

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

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

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

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

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

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

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

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

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

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

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

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

* Reinstated perl-test-needs dependency

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

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

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

Also:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Specifics:

- Add microarchitectures.json with descriptions of architectures

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

There are two requirements for file references:

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

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

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

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

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

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

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

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

* qt: Fix patch filename and qt version

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

* rename variant

* fix bug

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

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

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

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

* cuda: Combine common command-line arguments

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

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

* remove whitespace

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

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

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

* CD: Remove Spack Images

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

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

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

This reverts commit 5e191a0b20.

* update py-bokeh: new version & dependencies

* trigger travis-ci

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

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

This reverts commit 5e191a0b20.

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

* trigger travis-ci

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

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

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

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

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

* Restrict MACOSX_RPATH setting

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

* add git version supporting python3

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

* add version 4.7.2

* improve dependencies

* fix url for versions > 5.0.0

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

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

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

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

* use format to create url strings

* fix typo

* improve style

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

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

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

* Switch dependency type

* Replace SIP dependency with resource

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

* py-gpaw: Fix Python and ASE version dependencies

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

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

* py-gpaw: Enable the scalapack variant by default

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

* use https, not ssh, for git url

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

* refine version specific dependencies

add py-bz2file, which needs to be created

* create py-bz2file

* Revert "refine version specific dependencies"

This reverts commit 70649da988.

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

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

* refine version specific dependencies

add py-bz2file, which needs to be created

* py-bz2file needed when built with python 2.7

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

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

* provide git url with https, not ssh, protocol

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

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

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

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

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

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

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

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

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

* libpeas: note more build dependencies

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

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

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

* Add check simd values.

* rewrite check simd values.

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

* corrected syntax

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

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

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

* Add more ASE dependencies

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

url_fetch.test_fetch tests more archive types.

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

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

* break down description to pass lint

* fix format to match python 2.6 requiremnets

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

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

* explicitly disable build options

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

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

- add testing for force uninstall and for reference by spec

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

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

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

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

* Change version to apply patch for Fujitsu.

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

* pmlib: fix options and add patch

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

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

e.g.:

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

e.g.:

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

or:

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

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

* fix recipe

break down the description to pass lint

* update license

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

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

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

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

* Break down description to pass lint

* Make changes as maintainers' review

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

* Flake8.

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

* add a version

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

* rename and enable utilities

* enable build with FANN

* add variants, dependencies

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

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

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

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

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

* Add more updates to packages

* Updated dependencies of CRAN R packages

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

* Update to latest versions of CRAN R packages

* Fix flake8 issues

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

* Adjust r-animation dependencies

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

* New package: r-magick

* Adjust line spaces in r-magick

* Add swftools dependenct to r-animation

* New package: swftools

This is needed bt r-animation

* Add 'when' clause to some package dependencies

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

* New package: r-ellipsis

* New package: r-vctrs

* New package: r-zeallot

* New package: r-generics

* New package: r-cardata

* Add r-progress dependency to r-readxl

* New package: r-askpass

* New package: r-openxlsx

* New package: r-rio

* New package: r-sys

* New package: r-zip

* Add more updated packages

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

* New package: r-gower

* New package: r-recipes

* New package: r-squarem

* New package: r-libcoin

* New package: r-rcmdcheck

* New package: r-remotes

* New package: r-sessioninfo

* New package: r-xopen

* New package: r-rgexf

* New package: r-rook

* New package: r-later

* New package: r-promises

* New package: r-xfun

* New package: r-urca

* New package: r-ggsignif

* New package: r-polynom

* New package: r-ucminf

* New package: r-ordinal

* New package: r-inum

* New package: r-debugme

* New package: r-fs

* New package: r-shinyfiles

* New package: r-gsa

* New package: r-nmof

* New package: r-dosnow

* New package: r-rann

* New package: r-reticulate

* New package: r-future

* New package: r-globals

* New package: r-listenv

* New package: r-future-apply

* New package: r-rsvd

* New package: r-sctransform

* New package: r-mitools

* Remove a stray FIXME line

* Fix typo in dependency for r-rcmdcheck

* Remove the dependency on r-splines

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

* Fix typo in r-rcpp dependency

* Fix typos in dependencies

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

Also, bump minimum R version for r-rngtools.

* New package: r-clisymbols

* New package: r-fitdistrplus

* New package: r-gbrd

* New package: r-gh

* New package: r-ini

* New package: r-metap

* New package: r-npsurv

* New package: r-rdpack

* New package: r-snakecase

* New package: r-tinytex

* New package: r-usethis

* Make recommended changes

Made the changes that were recommended in the initial review.

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

* New package: r-hdf5r

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

* Set R versions in packages

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

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

Change dependency version of r-car.

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

* Set constraint of mlbench dependency of r-adabag

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

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

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

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

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

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

Add r-vctrs version constraint.

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

* Remove r-base64enc dependency from r-callr

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

Set constraint on r-cardata dependency.

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

* Remove unneeded dependencies from r-clipr

* Add gmake dependency to r-construct

* Set the proper homepage for r-crayon

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

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

* Remove accidental colon after package name

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

* Additional constraints for R version with r-digest

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

* Add r-htmltools dependency in r-dygraphs package

* Removed unneeded dependencies from r-fnn

* Remove unneeded dependencies from r-formatr

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

* Added gmake dependency to r-fs

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

* Add perl dependency to r-gdata

* Add openssl dependency for r-ggally

* Removed unneeded dependencies from r-globaloptions

* Update r-haven

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

* Fixed gmake dependency

Gmake is a build only dependency.

* Apply suggestions from code review

Apply a batch of suggestions from Adam Stewart.

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

* Remove unneeded dependencies from r-hoardr

* Fix r-htmlwidgets homepage

* Add gmake build dependency to r-httpuv

* Remove unneeded dependency from r-log4r

* Remove unneeded dependency from r-maldiquant

* Add gmake build dependency to r-minqa

* Remove unneeded dependency from r-mlbench

* Set constraint on R6 dependenvy of r-pbdzmq

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

* Remove unneeded dependency from r-nloptr

* Remove unneeded dependencies from r-pkgmaker

* Set R version constraint for r-raster

* Set version constraint on rcpp for r-rcppprorgess

* Added gmake build dependency

* Remove unneeded dependencies from r-rematch

* Remove unneeded dependency from r-plogr

* Add gmake build dependency for r-rcurl

* Apply suggestions from code review

Bring in more suggestions from Adam Stewart.

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

* Remove cnpy dependency from r-rcppcnpy

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

* Add comment to reconcile dependencies

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

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

* Set additional proj constraint for r-sf

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

* New package: pandoc

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

* Add pandoc dependency to r-bookdown

* Add comment about MPI in r-ergm

* Add pandoc dependency for r-reprex

* Add proj constraints to r-rgdal dependencies

Support for PROJ6 was added in version 1.4-2.

* Modifications to r-rgl

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

* Be more accurate with rjsonio constraint for r-rgooglemaps

* Remove unneeded dependencies from r-rhmmer

* Tweak constraints for r-rjava

- Set java version constraint
- add gmake build dependency

* Add pandoc dependency to r-markdown

* Remove unneeded dependencies from r-rrcov

* Tweak r-rstan package

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

* Add pandoc build dependency for r-rstantools

* Remove unneeded dependency from r-runit

* Remove unneeded dependencies from r-selectr

* Remove example R code from description

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

* Update r-seurat

New version of r-seurat with new dependencies.

* New package: r-dqrng

* New package: r-leiden

* New package: r-rcppannoy

* New package: r-rcppparallel

* New package: r-rspectra

* New package: r-sitmo

* New package: r-uwot

* Remove unneeded dependency from r-snow

* Remove unneeded dependency from r-sourcetools

* Added pandoc build dependency for r-stanheaders

* Remove unneeded dependencies from r-taxizedb

* Remove unneeded dependencies from r-tclust

* Add dependency constraints for r-threejs

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

* Remove unneeded dependencies from r-vfs

* Remove unneeded dependencies from r-vgam

* Remove unneeded dependency from r-xlconnectjars

* Remove unneeded dependency from r-xlsxjars

* Remove unneeded dependency from r-xnomial

* Remove ~mpi from fftw dependency of swftools

* Apply suggestions from code review

Add latest round of suggestions from Adam Stewart.

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

* Fix rjsonio spec for r-rgooglemaps

The r-rjsonio spec is a when conditional.

* Rename 3 R.* packages

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

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

* Loosen version constraint on mariadb for r-rmysql

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

* Flake8 fix

* Fix missing separator error

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

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

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

* Correcting header

* Boost version update

* Correcting Flake8 errors

* Correcting headers

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

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

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

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

* Correcting header

* Boost version update

* Correcting Flake8 errors

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

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

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

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

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

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

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

The version 3.6.0 fix compile issues with GCC 9.0.

* nlohmann-json: proper test handling

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

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

* remove virtual provides from libglvnd

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

* fix flake8 errors

* libglvnd: fix style/remove unecessary variants

* remove older libglvnd version

* explicitly enable all libglvnd stubs

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

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

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

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

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

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

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

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

I tried gcc6.4 and gcc7.4

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

* camx: remove unpredictable download URL

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

* Flake8

* Distributed requires MPI, NCCL not specified correctly

* Binary was being specified incorrectly

* Run tests at install time

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

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

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

* Update VTK for newer VisIt and compiler versions

Several changes/enhancements to VTK package

---

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

---

Tweak VTK options for version 8 and VisIt:

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

---

Combine +python3 into +python

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

---

Remove unused VTK cmake argument on newer version

---

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

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

---

Fix compiler error:

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

* Modernize/PEP-8 visit package statements

* Add new VisIt version and patches for building on Mac

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

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

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

* ADIOS2: Variant Defaults Change

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

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

* bolt: add argobots dependency

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

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

* Remove debug statements condition on Spack debug

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

* Revert "bump eospac version"

This reverts commit 835b1f822d.

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

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* new package: device-mapper

* address comments by @hartzell

* extraneous whitespace

* capitalization

* device-mapper -> lvm2

* unprovide device-mapper

* address comments by @adamjstewart

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

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

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* new package: go-md2man

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

* tidy up

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

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

* remove gcc and make

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

* capitalize description sentence

* move dependencies and variants below version block

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

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* new package: umoci

* Package -> MakefilePackage

* add missing build phase

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

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

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

* Revert "bump eospac version"

This reverts commit 835b1f822d.

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

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

* cp2k: fix building with MKL

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

* applied reviewer suggestions

* Update package.py

* remove CamelCase from variant names

* add comment on why fetching package via git

* found typo in variant to cmake-argumentlist translation

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

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

This reverts commit 58e8cf7d93.

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

* update singularity doc URL

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

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

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

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

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

* Poppler library: Allow building with QT4

* Poppler library: Install header files

* Add patch to Poppler package

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

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

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

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* new package: skopeo

* address flake8 issues

* address adamjstewart's comments

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

* Package -> MakefilePackage

* add missing build phase

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

* Fix typo in documentation

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

* patch config files so that qwtpolar successfully builds

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

* Cleanup generation of cmake arguments

* Generalize numpy include

* Fix python spec

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

* Fix numpy spec

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

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

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

     ...

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

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

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

* make flake8 happy

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

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

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

* hunspell: add missing gettext dependency

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

* [IEGenLib] fixed for style

* [IEGenLib] style fixes

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

* fix flake8 errors, add cromwell-womtool package

* change name of cromwell to cromwell-server

* renamed cromwell-server to just cromwell

* update description to what is in the project docs

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

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

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

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

An example failing configuration:

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

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

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

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

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

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

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

* ENH: Add debug variant to significantly reduce install size

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

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

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

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

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

* Overhaul numpy package

* Flake8 fixes

* Undefined reference fix

* HeaderList and LibraryList need an arg

* veclibfort has no headers

* Add patch for older versions of py-numpy

* Remove py-meep hack from py-numpy package

* libflame: always add max arg hack flag

* Fix build with GCC 4.8

* Compiler flags come from self.compiler

* Only apply -std=c99 to cflags

* Try to fix libflame package

* Fix ATLAS build on macOS

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

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* fix-up musl-gcc wrapper script

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

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

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

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

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

* remove rc version

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

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

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

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

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

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

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

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

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

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

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

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

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

* improve styling.

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

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

* merge py-mappy to minimap2.

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

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

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

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

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

This includes the following changes to the qt package:

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

This includes the following edits outside of the qt package:

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

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

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

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

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

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

* A few remaining fixes

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

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

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

* mii: fix improper formatting in description

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

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

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

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

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

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

* Mark libuuid as conflicting with Darwin due to framework

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

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

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

This reverts commit 9a68b75202.

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

* fix url and replace md5 with sha256

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

* openkim-models provide needed dependency constraints and settings

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

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

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

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

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

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

This is triggered by #11677

* fix typo
2019-07-25 14:01:00 -05:00
Gregory Lee
e8a71089a6 use Excecutable instead of exec for editing licenses (#11968)
* fix defunct editor exit in #11691
2019-07-25 11:48:32 -07:00
Elizabeth Fischer
fff99a8a3a Make OpenJDK the default (#12106) 2019-07-25 10:25:26 -07:00
Chuck Atkins
e614d4b481 cmake: Add a patch to revert a findmpi regression (#12129) 2019-07-25 10:23:01 -07:00
Chris Green
c20c153d16 catch: more versions, new and older. (#12123)
New versions 2.9.0, 2.9.1, older versions 2.2.2, 2.2.3, 2.4.1, 2.4.2, 2.7.0, 2.7.1, 2.7.2.
2019-07-25 11:33:03 -05:00
simo-tuomisto
4c7ee8b7c8 lame & libmad: Added two new packages for sox mp3 support. (#11964)
* Added a new package for LAME and a variant in sox for it.

* Fixed download url for LAME

* libmad: Added new package libmad for mp3 decoding. Changed sox variant from lame to mp3.

* libmad: Added m4 as a requirement

* libmad: Added comment on patch origins

* libmad: Added a list_url for alternate download location

* libmad: Fixing libmad download url
2019-07-25 10:40:50 -05:00
Sinan
9ace419aa5 gdal: added versions 2.4.2 and 3.0.1 (#12125) 2019-07-25 17:14:37 +02:00
Chris Green
4190f302e5 geant4: improvements with respect to building against CLHEP. (#12124) 2019-07-25 08:58:13 -05:00
Todd Gamblin
b0abbfecb8 new command: spack maintainers queries package maintainers
- We don't currently make enough use of the maintainers field on
  packages, though we could use it to assign reviews.

- add a command that allows maintainers to be queried
  - can ask who is maintaining a package or packages
  - can ask what packages users are maintaining
  - can list all maintained or unmaintained packages

- add tests for the command
2019-07-24 14:10:08 -07:00
Tamara Dahlgren
7411347a29 tests: Test install of unconcretized spec (#12099) 2019-07-24 13:30:27 -05:00
Glenn Johnson
8bb745325d Add py-setuptools as a build dependency for py-absl-py (#12109)
I needed to add py-setuptools to get py-absl-py to build.
2019-07-24 12:33:45 -05:00
Glenn Johnson
642d3345f6 Add conflicts statement to freetype for icc (#12111)
Freetype-2.8 and above use __builtin_shuffle which is not supported by
icc.
2019-07-24 12:33:24 -05:00
t-karatsu
0f98cf0398 Perl take in flags (#12112)
* perl: perl package takes in spack cflags.

* fix for flake8 test.
2019-07-24 12:32:49 -05:00
Toyohisa Kameyama
bbc689ae38 nnvm: cmake bug is fixed. (#12113) 2019-07-24 12:31:49 -05:00
Toyohisa Kameyama
cb62b1ff85 rapidjson: Don't add -march=native on ARM and gcc 5.x or before. (#12117) 2019-07-24 12:30:32 -05:00
Nichols A. Romero
63813fa9c0 QMCPACK Update July 2019 (#12097)
* Add QMCPACK v. 3.8.0

* Remove QE variant conflict for serial QMCPACK installations.

* Add support for QE 6.4.1 converter.

* FindLibxml2QMC patch function only needed prior to QMCPACK 3.8.0
2019-07-24 12:28:35 -05:00
Glenn Johnson
42c3782f7e Do not build c-blosc test if intel in spec (#12110)
While the c-blosc library compiles with icc some of the c-blosc tests do
not. Disable the tests so that the spack build can continue.
2019-07-24 11:17:11 -05:00
t-karatsu
0d690edfb2 cmake: fix cxx98flag's name (#12114) 2019-07-24 11:28:22 -04:00
Massimiliano Culpo
6fac0ae687 Fixed a name clash in the 'from_environment_diff' function (#12116)
* Added a unit test reproducing the failure in 12085

* Fixed name clash in the 'from_environment_diff' function

The bug reported in #12085 stemmed from a name clash among variables,
introduced during the refactor in #10753 and not caught by unit tests
and reviews.
2019-07-24 10:25:24 -05:00
Toyohisa Kameyama
a8b12f0cb6 rocksdb: Don't add -march=native on ARM and gcc 5.x or before. (#12108) 2019-07-23 22:33:05 -05:00
Douglas Duckworth
ec29461632 added relion 3.0.7 - removed deprecated versions (#12101)
* relion - added v 3.0.7 and removed deprecated versions that have inferior performance

* relion 3.0.7 does require cuda 9 or above
2019-07-23 18:13:00 -05:00
Adam J. Stewart
58427a7102 Typo fixes in Spack Environments docs (#12100) 2019-07-23 17:42:16 -05:00
Toyohisa Kameyama
6b07407cd0 isaac-server: Don't add -march=native on ARM and gcc 5.x or before. (#12042) 2019-07-23 16:48:25 -05:00
Toyohisa Kameyama
39139b9db8 nanoflann: Don't add -mtune=native on ARM and gcc 5.x (#12093) 2019-07-23 16:47:28 -05:00
Nichols A. Romero
2b35ad7b22 Quantum Espresso Update 2019 (#12098)
* Add support for QE 6.4.1

* QE 6.3. backports branch no longer relevant.

* List QE develop first.
2019-07-23 16:44:08 -05:00
Jimmie Lin
8095e26ffa Add EFA fabric to libfabric 2019-07-23 12:08:33 -07:00
Greg Becker
daac376862 error messages: include whole spec for "no externals found" message (#12070)
* Provide better error message when matching externals are found for package marked not buildable
2019-07-23 13:58:07 -05:00
Pariksheet Nanda
5878b418c5 ioapi: add version 3.2 (#12088)
* ioapi: add version 3.2

* ioapi: unwrap version checksum; it's exempt from line length QA

* ioapi: drop overridden build(); it's the same as the default
2019-07-23 12:10:01 -05:00
Gregory Becker
a086dda82f hashing: fix caching of dependency hashes in to_node_dict 2019-07-23 08:58:49 -07:00
Greg Becker
4ff2773704 ncurses: remove TERMINFO from build env (#12086) 2019-07-23 10:13:41 -05:00
Marco Comparato
7ea4e50587 font-util: add missing autoconf automake dependencies (#12053) 2019-07-23 09:41:04 -05:00
Todd Gamblin
3cb40e1c02 commands: add tests for all subcommands of spack pkg 2019-07-22 23:01:45 -07:00
Todd Gamblin
0b17bccdce commands: add spack pkg changed subcommand, better test support
- Add `spack pkg changed` to show changed and added packages for a
  commit.

- Make `spack pkg` support tests better.
2019-07-22 23:01:45 -07:00
Daniel Topa
07f3921838 Add UCX 1.6.0 (#12089)
https://github.com/openucx/ucx/releases/tag/v1.6.0
Released 2019-07-17

Verification builds on LANL Darwin x86_64 and Power9:

dantopa@cn2037:pr-update-ucx.spack $ date
Mon Jul 22 17:04:14 MDT 2019

dantopa@cn2037:pr-update-ucx.spack $ pwd
/scratch/users/dantopa/repos/spack/pr-update-ucx.spack

dantopa@cn2037:pr-update-ucx.spack $ spack find -ldf ucx

==> 2 installed packages
-- linux-centos7-x86_64 / gcc@4.8.5 -----------------------------
w7fp4n6    ucx@1.6.0%gcc
tt2hkol        ^numactl@2.0.12%gcc
srhy7ry        ^rdma-core@20%gcc
kvgvhpv            ^libnl@3.3.0%gcc

-- linux-rhel7-ppc64le / gcc@4.8.5 ------------------------------
cji3ce7    ucx@1.6.0%gcc
pmgndwh        ^numactl@2.0.12%gcc
qymrwx6        ^rdma-core@20%gcc
2263pm5            ^libnl@3.3.0%gcc

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-07-22 21:43:35 -05:00
Matthias Diener
19968a0035 scons: add version 3.1.0 (#12084) 2019-07-22 17:35:40 -05:00
Chuck Atkins
69c302f455 cmake: Move cxx11 flags for fujitsu into the flag_handler method (#12056)
* cmake: Move cxx11 flags for fujitsu into the flag_handler method

* cmake: sanitization and error checking in flag_handler

* cmake: Fix fujitsu flag check from 'fc' to 'fj'
2019-07-22 17:33:40 -05:00
Denis Davydov
8cef81363c gcc: support without command line tools (#11040) 2019-07-22 16:53:50 -05:00
Adam J. Stewart
2d144316a8 Fix version scraping for CRAN packages (#12021)
* Fix version scraping for CRAN packages
* Remove set literals
2019-07-22 13:05:55 -07:00
Todd Gamblin
cc4094bb9b bugfix: env.write() should stringify Spec lists.
- Setting specs from lockfiles was not correctly stringifying concretized
  user specs.

- Fix `_set_user_specs_from_lockfile`

- Add some validation code to `SpecList` constructor
2019-07-22 13:45:34 -05:00
Peter Josef Scheibel
7ec1d320a8 hashes: consolidate and make hashing logic more consistent
Spack has evolved to have three types of hash functions, and it's
becoming hard to tell when each one is called. Whlie we aren't yet ready
to get rid of them, we can refactor them so that the code is clearer and
easier to track.

- Add a `hash_types` module with concise descriptors for hashes.

- Consolidate hashing logic in a private `Spec._spec_hash()` function.

- `dag_hash()`, `build_hash()`, and `full_hash()` all call `_spec_hash()`

- `to_node_dict()`, `to_dict()`, `to_yaml()` and `to_json()` now take a
  `hash` parameter consistent with the one that `_spec_hash()` requires.

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2019-07-22 13:45:34 -05:00
Peter Josef Scheibel
0715b512a1 env: environments index specs by full DAG w/build deps
- ensure that Spec._build_hash attr is defined
- add logic to compute _build_hash when it is not already computed (e.g. for specs prior to this PR)
- add test to ensure that different instance of a build dep are preserved
- test conversion of old env lockfile format to new format
- tests: avoid view creation, DAG display in tests using MockPackage
- add regression test for more-general bug also fixed by this PR
- update lockfile version since the way we are maintaining hashes has changed
- write out backup for version-1 lockfiles and test that
2019-07-22 13:45:34 -05:00
zschulte
db7127c56d openjdk (#10446)
* openjdk

* Removing preferred from latest and adding a few lines for readability.

* Remove bad whitesapce

* removing formatting changes

* stable url for openjdk 1.8

* remove extra blank line

* actual binary
2019-07-22 13:11:45 -05:00
Toyohisa Kameyama
58c84423b1 tealeaf: Don't add -march=native on ARM and gcc 5.x or before. (#12080) 2019-07-22 13:03:43 -05:00
Hironori-Yamaji
8e92409263 jdk: Add JDK 12.0.2_10 (#12081) 2019-07-22 12:40:11 -05:00
Mark W. Krentel
6111758b48 hpctoolkit: add version gpu and variant cuda (#12068)
Add version for 'gpu' and variant for 'cuda'.  These are currently available from the 'master-gpu' branch.

* hpctoolkit: add version gpu and variant cuda
* The gcc >= 4.8.x requirement only applies for dyninst >= 10.x.
2019-07-21 22:29:08 -07:00
Toyohisa Kameyama
8ca90e26d9 libsharp: Don't add -march=native on ARM (#12064)
* libsharp: Don't add -march=native on ARM

* Add preferred=True to version 1.0.0.
2019-07-21 21:56:14 -05:00
Omar Padron
1d5ab13be8 docker: fix builds, remove extra distros, add ci builds (#11621)
* fix docker builds/remove extra builds/add ci builds
* preinstall vim in CI builder images
* simplify & streamline docker resources
* restore os-container-mapping.yaml file
2019-07-20 14:46:06 -07:00
Adam J. Stewart
7d954720ff Add OpenMP flag for Apple Clang (#12049) 2019-07-20 13:40:36 -07:00
Massimiliano Culpo
a2cb26f520 tests: speed up tests that rely on the database fixture (#12031)
The database and mutable_database fixtures were installing and uninstalling the same specs multiple times to ensure the database for tests has the correct state.

This commit optimizes the procedure by caching the state in an external directory, and copying it in instead of going through the installation or uninstallation again.

The database fixture is meant not to be modified by tests. This commit enforces this invariant by making the database read-only before starting the test.

* Added missing db markers to tests
* Added test for uninstall_by_spec
* `database` fixture now returns a read-only database
* Tests that modify the DB now use `mutable_database` fixture
2019-07-20 10:18:50 -07:00
Mark W. Krentel
930011c124 hpcviewer: add version 2019.07 (#12067)
ibm-java: fix the URL to only use a machine type that ibm-java
supports so that 'spack info' doesn't report a non-existent URL on
platforms that it doesn't support.
2019-07-20 10:07:15 -07:00
Greg Becker
67cd524e93 environment views: refactor stripping build deps (#12069) 2019-07-20 09:45:20 -07:00
Greg Becker
8ec098716b compilers: don't raise errors for duplicate compiler definitions (#11910)
Summary:
- Allow multiple definitions of compiler in compilers.yaml (use first instance)
- Still print debug messages when there are duplicates, to assist users in finding this issue.

Merging configs from different scopes can result in multiple compiler being present in the same configuration list.  Instead of raising when there are duplicates, take the one with highest precedence.

Print a debug message instead of raising, so that we can still diagnose this.  We don't have a good way of warning the user about inconsistent configuration *in the same file* -- we'd need to dig into YAML file/line info for that.
2019-07-20 00:42:12 -07:00
Todd Gamblin
993ee7f199 environments: add activate/deactivate tests, work wtih set -u
- [x] Add shell tests to ensure that `spack env activate`, `spack env
  deactivate`, and `despacktivate` continue to work.

- [x] Also ensure that activate and deactivate both work with `set -u`
2019-07-20 00:36:56 -07:00
Greg Becker
4f9131fdc2 Package inheritance: Find patch files defined in parent classes using MRO (#12051)
Fixes #8908, 11844

Use Python MRO to find patch files from parent classes.
2019-07-19 18:08:05 -07:00
Peter Scheibel
4b6de78062 font-util package: add autoconf/automake build deps (#12071)
Fixes #12026

These are required on some systems
2019-07-19 17:45:22 -07:00
albestro
3a026f1412 Fix #11240 (#11995)
* extends mkdirs with permissions for intermediate folders

Does not use os.makedirs mode parameter because its behavior is changed
with Python 3.7 (it ignores it for intermediate dirs), and moreover it
was not possible to set different modes for newly-created folders
and leaf folder.

reference:
- https://bugs.python.org/issue19930
- https://docs.python.org/3.7/library/os.html#os.makedirs

* comment mkdirp step easing code understanding

* revert mkdir to default for package metapath

since metapath is nested in package folder, there is no need
to specify permissions for intermediate folders because the prefix
already exists.

* comment create_install_directory package modes
2019-07-19 10:13:29 -05:00
Michael Kuhn
cadff917c7 leveldb: add 1.22 (#12044) 2019-07-19 09:26:09 -05:00
Chris Green
9b763980b6 libxpm: cope with system gettext if configured. (#10881)
* If gettext is installed in the system it won't be in the spec tree.
2019-07-19 08:36:58 -05:00
Gregory Becker
ba0cd4d912 concretization: fix transient hang in python 3.5
Bug relates to the interplay between:
1. random dict orders in python 3.5
2. bugfix in initial implementation of stacks for `_concretize_dependencies`
   when `self._dependencies` is empty
3. bug in coconcretization algorithm computation of split specs

Result was transient hang in coconcretization.
Fixed #3 (bug in coconcretization) to resolve.
2019-07-18 19:28:50 -07:00
Gregory Becker
ec6e5b0fd3 stacks: add option to link only roots or all specs, default to all 2019-07-18 19:28:50 -07:00
Gregory Becker
7ec89aa036 stacks: refactor view descriptors into a separate object 2019-07-18 19:28:50 -07:00
Gregory Becker
6661cb1926 refactor: clean up Environment class
- remove redundant code in Environment.__init__
- use socket.gethostname() instead of which('hostname')
- refactor updating SpecList references
- refactor 'specs' literals to a single variable for default list name
- use six.string_types for python 2/3 compatibility
2019-07-18 19:28:50 -07:00
Gregory Becker
88295d927e bugfix: spec lists can now include multiple references 2019-07-18 19:28:50 -07:00
Gregory Becker
9577ade3ce stacks: use new format string syntax in environments code
- Change old spec expressions to use Spack's new spec formatting sytnax.
2019-07-18 19:28:50 -07:00
Gregory Becker
2f6af64157 docs: Add documentation for views in environments 2019-07-18 19:28:50 -07:00
Gregory Becker
cebf1fd668 stacks: update view management for multiple/combinatorial views
This adds notion of a default view, other views in environments
2019-07-18 19:28:50 -07:00
Gregory Becker
d0bfe0d6a8 stacks: environment add/remove respect multiply-defined lists 2019-07-18 19:28:50 -07:00
Gregory Becker
f9e6de5474 stacks: allow force-removing from a speclist used in a matrix 2019-07-18 19:28:50 -07:00
Gregory Becker
533a8d7c82 stacks: update environment add/remove algorithms 2019-07-18 19:28:50 -07:00
Gregory Becker
6cfbfcc967 concretization: regression test for constrain() with deps
- ensure that `Spec('foo').constrain('foo ^bar')` works
- prior to stacks implementation, this constraint would have done nothing.
2019-07-18 19:28:50 -07:00
Gregory Becker
12c8996294 docs: initial documentation for environments 2019-07-18 19:28:50 -07:00
Gregory Becker
d450a2fce2 stacks: initial implementation of stacks on environments
- stack syntax in env schema
- switch environment specs over to SpecList object
- add stack functionality to environments
- handle definition extensions through stack.yaml and SpecList
- implement conditional definitions
- tests
2019-07-18 19:28:50 -07:00
Matthias Diener
5be1ff83d1 cmake: add version 3.15.0 (#12058) 2019-07-18 18:28:21 -05:00
Adam J. Stewart
032075af74 Add master version to sklearn (#12057) 2019-07-18 15:56:48 -05:00
Matthieu Dorier
6eba9febaa pkg PRRTE: added version 1.0.0 (#12054) 2019-07-18 13:59:39 -05:00
Matthieu Dorier
3120e06359 added version 3.1.3 of PMIx (#12055) 2019-07-18 13:59:02 -05:00
Adam J. Stewart
c96d687c7c Workaround for #9149 (#12050) 2019-07-18 13:57:37 -05:00
Justin S
620d728aa5 py-mlxtend: new package at 0.16.0 (#12039)
* py-mlxtend: new package at 0.16.0

* py-mlxtend: fix dependencies
2019-07-18 12:25:41 -05:00
Phil Carns
7428fc66f7 update web site and git url for BMI package (#12036) 2019-07-17 21:28:39 -05:00
Jordan Ogas
ada50b968a add charliecloud v0.10 (#12046) 2019-07-17 21:28:02 -05:00
Adam J. Stewart
5d1f965e59 Fix scikit-learn build with Apple clang (#11496)
* Fix scikit-learn build with Apple clang

* Update compiler unit tests

* Fix unit tests

* Fix OpenMP dep

* recursive=True no longer necessary

* Add myself as a maintainer

* Specify which versions require OpenMP

* Typo fixes

* LLVM-OpenMP is the correct dependency, no OMPT

* Flake8 fix

* Undo Apple Clang OpenMP flag change, split into a separate PR
2019-07-17 21:27:16 -05:00
t-karatsu
1269256e25 libjpeg-turbo: set compiler flags with CMake args (#11938)
Later versions of libjpeg-turbo build with CMake; to build with
user-specified cflags, the user must supply these to CMake as
-DCMAKE_C_FLAGS (Spack's typical approach of injecting these flags
into the compiler wrapper invocation is insufficient in this case).

Currently libjpeg-turbo cannot be implemented as a CMakePackage
(and thereby take advantage of the flag_handler implementation it
provides) because not all versions of libjpeg-turbo use CMake, so
this adds a custom implementation of flag_handler and
flags_to_build_system_args to libjpeg-turbo.
2019-07-17 15:37:18 -07:00
Adam J. Stewart
7f3048c8af Add support for .txz and .tbz2 file extensions (#12048) 2019-07-17 16:23:23 -05:00
Tamara Dahlgren
b856e24444 tests: uninstall_by_spec error and rpath_args tests (#11971)
* tests: Add uninstall_by_spec error tests.

These tests were originally included in PR #11797.
2019-07-17 15:08:08 -05:00
Greg Becker
5cf8878185 feature: Allow developers to use Spack for partial builds (#12006)
Added new diy option.
2019-07-17 11:46:56 -07:00
Ryan S. Elliott
c9b6c78d3a kim-api 2.1.0 (#12041) 2019-07-17 12:11:34 -05:00
brietzke
0c5ed467ce package opencoarrays: add new version: 2.7.1 (#12043) 2019-07-17 12:11:02 -05:00
t-karatsu
5d9e67d953 Cmake/add option for fujitsu compiler (#11839)
* cmake: change c++ spec when building with Fujitsu compiler.

* cmake: define cxxflags using a Fujitsu compiler's method.

* cmake: Add condition of whether to add cxx11 option.
2019-07-17 12:49:36 -04:00
Shane R. Spencer
1b16be538e Added url_for_version to python/package.py (#12040) 2019-07-16 20:50:43 -05:00
Justin S
267d07e4b9 py-pandas: add 0.24.2 (#12038) 2019-07-16 20:46:17 -05:00
Hironori-Yamaji
c44afdcc80 r: set FPICFLAGS for compilers except 'gcc' (#12033) 2019-07-16 11:56:34 -05:00
brietzke
29d968bd84 package mutationpp: add new version: 1.0.0 (#12035) 2019-07-16 11:55:53 -05:00
Massimiliano Culpo
2fe1ecbaa2 Ignore Modules v4 environment variables in from_sourcing_file (#10753)
* from_sourcing_file: fixed a bug + added a few ignored variables

closes #7536

Credits for this change goes to mgsternberg (original author of #7536)

The new variables being ignored are specific to Modules v4.

* Use Spack Executable in 'EnvironmentModifications.from_sourcing_file'

Using this class avoids duplicating lower level logic to decode
stdout and handle non-zero return codes

* Extracted a function that returns the environment after sourcing files

The logic in `EnvironmentModifications.from_sourcing_file` has been
simplified by extracting a function that returns a dictionary with the
environment one would have after sourcing the files passed as argument.

* Further refactoring of EnvironmentModifications.from_sourcing_file

Extracted a function that sanitizes a dictionary removing keys that are
blacklisted, but keeping those that are whitelisted. Blacklisting and
whitelisting can be done on literals or regex.

Extracted a new factory that creates an instance of
EnvironmentModifications from a diff of two environments.

* Added unit tests

* PS1 is blacklisted + more readable names for some variables
2019-07-16 10:54:33 -05:00
Todd Gamblin
5ed68d31a2 coverage: restore status updates on PRs (#12032)
Codecov is not updating PRs with status anymore. Fix .codecov.yaml to
make this happen.
2019-07-15 22:45:00 -07:00
Todd Gamblin
3f47c5967d bugfix: fix module() function in setup-env.sh (#12030)
Modify `setup-env.sh` to export fewer variables but to still set the module() function correctly.
2019-07-15 22:43:53 -07:00
Michael Kuhn
ce88cc75ef qt: fix patch checksum (#12024)
It seems that GitHub's output changed slightly for this patch (one more
letter for both short hashes on the index line), probably due to the
number of objects in the repository.
2019-07-15 23:43:02 -05:00
Brian Homerding
36919ba859 binutils: Adding Clang to narrowing conversion error workaround (#12029) 2019-07-15 23:42:02 -05:00
Marc-Andre Hermanns
2cfbde1737 Add JUBE package definition (#12023)
* Add JUBE package definition

* Fixing flake8 errors
2019-07-15 20:58:57 -05:00
Severin Strobl
0ed7204c74 Added HPX version 1.3.0. (#12025) 2019-07-15 20:54:54 -05:00
Adam J. Stewart
41f5b09a98 Fix typo in module template (#12028) 2019-07-15 20:54:20 -05:00
t-karatsu
e3b513874b boost: use clang toolset when building with Fujitsu compiler. (#11827) 2019-07-15 15:13:04 -07:00
Michael Kuhn
a7e915d38b Fix build_jobs exceeding number of cores
All documentation mentions that `build_jobs` is limited by the number of
cores available in the system. This is also enforced when setting it via
`--jobs`. However, when setting it via `config.yaml`, it can exceed the
number of cores available, making builds run out of memory.
2019-07-15 11:40:49 -07:00
Glenn Johnson
3f83a2a7d8 Add auto-dispatch specification to Intel packages (#11697)
This PR adds the ability to specify the auto-dispatch targets that can
be used by the Intel compilers. The `-ax` flag will be written to the
respective compiler configuration files. This ability is very handy when
wanting to build optimized builds for various architectures. This PR
does not set any optimization flags, however.
2019-07-15 11:37:54 -07:00
Massimiliano Culpo
5acbe449e5 spack uninstall can uninstall specs with multiple roots (#11977)
Fixes #3690
Fixes #5637

Uninstalling dependents of a spec was relying on a traversal of the
parents done by inspecting spec._dependents. This is in turn a
DependencyMap that maps a package name to a single DependencySpec object
(an edge in the DAG) and cannot thus model the case where a spec has
multiple configurations of the same parent package installed (for
example if different versions of the same Python library depend on
the same Python installation).

This commit works around this issue by constructing the list of specs to
be uninstalled in an alternative way, and adds tests to verify the
behavior. The core issue with DependencyMap is not resolved here.
2019-07-15 10:30:01 -07:00
Hironori-Yamaji
68ad4caf30 binutils: added '-Wno-narrowing' to CXXFLAGS when using fj compiler via flag_handler (#11922)
FJ compiler fails for older versions w/o '-Wno-narrowing' flag.
2019-07-15 08:50:26 -07:00
Todd Gamblin
a3caf52cac packages: computation.llnl.gov is now computing.llnl.gov (#12013) 2019-07-15 07:32:51 -07:00
Milton Woods
af74c291ed py-basemap: install without egg (#11961)
* py-basemap: avoid creating egg during build, for compatibility with mpl_toolkits

* py-basemap: not ready for py-pyproj@2 onwards
2019-07-15 10:26:13 -04:00
Matthias Diener
9be127890f gdb: add version 8.3 (#12018) 2019-07-14 16:45:55 -05:00
Reinhard Prix
9e7eae0e2f make cfitsio explicitly depend on curl (#12016)
- currently would revert to using system-curl instead, pulling in
  unwanted system dependencies and lib-paths
2019-07-14 14:40:09 -05:00
Michael Kuhn
d7b76df5ac bzip2: Add 1.0.8 (#12017)
Update URLs to official ones.
2019-07-14 14:25:20 -05:00
Adam J. Stewart
0bff0c2d0d Make JDK version more specific (#12008) 2019-07-13 09:05:48 -05:00
Adam J. Stewart
452021398a Add py-jsonschema 2.6.0 (#12009) 2019-07-13 09:05:17 -05:00
Tim Fuller
5bc15b2d9a find_libraries searches lib and lib64 before prefix (#11958)
The default library search for a package checks the lib/ and lib64/
directories for libraries before the root prefix, in order to save
time when searching for libraries provided by externals (which e.g.
may have '/usr/' as their root).

This moves that logic into the "find_libraries" utility method so
packages implementing their own custom library search logic can
benefit from it.

This also updates packages which appear to be replicating this logic
exactly, replacing it with a single call to "find_libraries".
2019-07-12 17:46:47 -07:00
xfzhao
f1ce1dd163 New package: Nim (#11649) 2019-07-12 17:03:26 -07:00
Justin S
9b361bea5a r package: add rmath variant for standalone rmath library (#11693) 2019-07-12 16:50:04 -07:00
Oliver Breitwieser
d1af7ae5ab Copy --{use,no}-cache from install to bootstrap (#11786) 2019-07-12 16:30:12 -07:00
Carson Woods
76f1ee5f32 'spack compiler add' resolves relative path to absolute path (#11792)
Fixes #11782

Spack was not properly resolving relative paths to absolute paths
when a relative path was passed to "spack compiler add [PATH]".
Now, if provided a relative path, the absolute path is written to
compilers.yaml rather than the relative path.
2019-07-12 16:06:26 -07:00
egreen77
d01d79eb5d new package: umap (#12000) 2019-07-12 15:26:24 -05:00
Tamara Dahlgren
d615d0a1ec Add template creation test, --skip-editor option (#11970)
* Add template creation test
* Added --skip-editor option to "spack create": normally
  "spack create" opens an editor for the user after generating a
  package file; when the --skip-editor option is used, "spack create"
  only generates the package file and does not open an editor
* Added --skip-editor option to bash completion
2019-07-12 11:22:09 -07:00
Hironori-Yamaji
505ad8960e jdk: Add the 'provides' call (#11997) 2019-07-12 09:45:19 -07:00
Stephen Hudson
cdc72963d1 Update libensemble (#11990) 2019-07-12 10:36:44 -05:00
t-karatsu
adbb9e2d8e Fix pic_flag and test contents about Fujitsu compiler. (#11996) 2019-07-12 10:34:08 -05:00
Todd Gamblin
e8e030a518 bugfix: setup-env.sh detects bash even when bash is run as sh (#11994)
- `setup-env.sh` was not properly detecting a bash shell when bash was run
  as /bin/sh.

- Detection routine now always reports bash when bash is run as sh, and
  no longer parses the path to the executable indicated in `$BASH`.
2019-07-12 08:33:23 -07:00
Todd Gamblin
91e35541ee bugfix: show dot after namespaces in spack find -N (#11945)
- Namepsaces were shown without dots after the new format strings were
  added.

- Add a test for `spack find` to ensure that find -N shows the right
  output.
2019-07-12 08:32:47 -07:00
Phil Tooley
52e0f47a3f update scalasca to latest version, simplify recipe (#11999)
add list_url for use with spack checksum
2019-07-12 10:30:07 -05:00
Glenn Johnson
42c7d24075 Modifications to r package (#11957)
This PR has several modifications for the r package.

- The tk package is always depended on but this pulls in X11, making the
  'X' variant non-functional. This PR sets a dependency of tk on '+X'.
- There is a missing dependency on libxmu when '+X' is set.
- The libraries for R wind up in a non-standard location and are thus
  left out of the RPATH settings. This PR adds that directory to RPATH.
- The MKL integer interface for gfortran is not in the BLAS libs. This
  PR replaces the intel interface with the gfortran interface if needed.
- Use the `LibraryList` `ld_flags` method for blas as that is more in
  line with th R Installation and Administration manual.

Note that this PR depends on PR #11956. This PR closes #8642.
2019-07-11 22:22:37 -05:00
Glenn Johnson
909c5f5019 Add variants for tk package (#11956)
TK can be built with support for libXft and X Screensaver. Both of these
are turned on in the Tk configure script. That means the system
libraries will get picked up if they are on the system and nothing is
specified in the package. Since the default for both of them is 'True' I
set the default value for the variants to 'True'.
2019-07-11 22:21:17 -05:00
Toyohisa Kameyama
4288dac35b bowtie2: Add version 2.5.3.1 and fix to build on ARM (#11974)
* bowtie2: Add version 2.5.3.1 and fix to build on ARM

1. Add version 2.5.3.1.
2. Add simde for ARM.
3. Disable -fopenmp-simd when gcc 4.8.X or before for ARM.
4. Add Makefile option POPCNT_CAPABILITY=0 for ARM.

* flake8.
2019-07-11 22:04:22 -05:00
Toyohisa Kameyama
ea9ac3ee52 velvet: remove -m64 on aarch64. (#11984) 2019-07-11 21:59:24 -05:00
Nick Forrington
ff728bd06c Boost: Compile with toolset=clang for Arm compiler (#11992)
Bootstraps with gcc, but compiles with clang
2019-07-11 21:53:54 -05:00
Toyohisa Kameyama
0dfa5a467c megahit package: add patch to build on ARM. (#11963) 2019-07-11 17:40:00 -07:00
Tamara Dahlgren
05b6a5e53d test: Extra possible-dependencies coverage check (#11988) 2019-07-11 17:15:21 -07:00
Phil Tooley
14271331f9 New package: dimemas (#11979) 2019-07-11 13:55:43 -07:00
Mark Olesen
138226e038 OpenFOAM package: update download url (#11973) 2019-07-11 13:45:38 -07:00
Phil Carns
3a4d37d6d6 libfabric package: add support for tcp provider (#11965) 2019-07-11 13:43:38 -07:00
Toyohisa Kameyama
6a731b4d8f luit package: use autotools. (#11962) 2019-07-11 13:34:50 -07:00
Tamara Dahlgren
e3299e6923 Rename build logs and make names consistent (#11806)
Fixes #11781

* Rename build log to spack-build-log.txt
* Rename environment variables file to spack-build-env.txt
* The name of the log and env files is now the same during the build
  and after the build completes
* Update packages which referred to the build log/env files
* For packages installed before this commit using older names for the
  build and env files, search for the older names
2019-07-11 13:32:06 -07:00
Michael Kuhn
d3be42fcca mpich: Add 3.3.1 (#11976) 2019-07-10 20:41:23 -05:00
Michael Kuhn
975b9a611a bzip2: Add 1.0.7 (#11975) 2019-07-10 18:37:16 -05:00
Todd Gamblin
c2de2558b6 tutorial: correct image link on tutorial page 2019-07-10 00:56:25 -07:00
Todd Gamblin
0cd64d7b6e tutorial: updates slides for DOE/NSF workshop. 2019-07-10 00:50:59 -07:00
Reinhard
ea431be4b0 py-astropy: added latest version 3.2.1 (#11967)
- correctly installs under python@3.5:3.7.3
- (partially) fixes https://github.com/spack/spack/issues/11966
2019-07-09 21:19:38 -04:00
Carson Woods
2838aa772d package: Add powerapi package (#11845)
* Add powerapi package

* Fix flake8 formatting

* Fix download URL

* Update powerapi version line

* Fix how configure arguments are selected to improve readability

* Bug Fixes

* Fix trailing whitespace

* Bug fixes

* Remove incorrect configure flag
2019-07-09 09:57:53 -04:00
Milton Woods
d0b2c77cd1 Ferret: add version 7.2 and adjust dependencies (#11921)
* ferret: use libx11 from spack

* ferret: use mpi library with or without fortran support

* ferret: add version 7.2

* ferret: no need to specify ~mpi

* ferret: creating symlinks may fail for external packages; set include/lib paths instead
2019-07-09 09:33:07 -04:00
Toyohisa Kameyama
dab3026f2f diffsplice package: remove -m64 on ARM. (#11899) 2019-07-08 17:13:49 -07:00
Toyohisa Kameyama
a718d8af08 zoltan: use autotools for new architecture host (#11924)
* use autoreconf to regenerate configure script and config.guess for
  newer architectures
* Add perl build dependency for older versions. The required perl
  version is constrained because the perl script uses syntax that
  is deprecated in older versions
2019-07-08 16:57:17 -07:00
Hironori-Yamaji
68dd327d62 motif package: fix the download url (#11939) 2019-07-08 16:20:01 -07:00
Frédéric Simonis
1fe3d6367e preCICE package: add version 1.5.2 (#11949) 2019-07-08 13:59:08 -07:00
Xavier Delaruelle
a9067821b3 environment-modules package: add version 4.2.5 (#11953) 2019-07-08 13:58:38 -07:00
Justin S
36ee7ef456 New package: r-grbase (starting at 1.8-3.4) (#11937) 2019-07-08 12:01:58 -07:00
Justin S
897cd340d8 r-graph: update R constraint to reflect DESCRIPTION (#11934) 2019-07-08 12:01:17 -07:00
Justin S
60a827daff r-rbgl: add 1.60.0 (#11936) 2019-07-08 12:00:16 -07:00
Justin S
242bdef6e8 r-biocgenerics: add 0.30.0 (#11935) 2019-07-08 11:59:54 -07:00
Todd Gamblin
51b58f1478 bugfix: conflicts should print out the spec that has the conflict (#11947)
- Fix a bug introdcued by removing parse_anonymous_spec()

- Conflicts' when specs are now *actually* anonymous, and the name of the
  package is implicit, so we need to remember to add it back to error
  messages.
2019-07-08 08:00:43 -07:00
cclauss
e8506994b1 travis: the sudo tag is now deprecated (#11933)
* Travis CI: The sudo tag is now deprecated in Travis

__sudo: required__ no longer is.

* Remove obsolete comment

__travis_wait__ can help with long-running processes.
* https://docs.travis-ci.com/user/common-build-problems/#build-times-out-because-no-output-was-received
2019-07-05 22:25:25 -07:00
Todd Gamblin
d2e5b8474a bugfix: always generate a stack trace when spack is run with --debug (#11940)
- We weren't previously printing stack traces on SystemExit or
  KeyboardInterrupts.

- Either raise or print the stacktrace in these cases.
2019-07-05 19:57:00 -07:00
Kevin Huck
f21073d231 tau: add conflicts for libelf/libdwarf variants (#11944)
Declare a conflict for TAU versions older than 2.28.1, that they
can't depend on libelf or libdwarf.  The user can still install it
by specifying tau@2.24~libelf~libdwarf.
2019-07-05 19:08:43 -07:00
Christoph Junghans
e392bf0412 cmake: add v3.14.5 2019-07-05 17:02:34 -07:00
Todd Gamblin
5686c2a544 setup-env.sh: make setup scripts work with set -u
- Add set -u to the setup-env.sh test script

- Refactor lines in setup-env.sh that tested potentially undefined
  variables to use the `[ -z ${var+x} ]` construct
2019-07-05 12:54:17 -07:00
Todd Gamblin
47e9f7aac9 tests: add tests for setup-env.sh
- tests use a shell-script harness and test all Spack commands that
  require special shell support.

- tests work in bash, zsh, and dash

- run setup-env.sh tests on macos and linux builds.
  - we run them on macos and linux
2019-07-05 12:54:17 -07:00
Todd Gamblin
e625ee3ffd setup-env.sh: now compatible with bash, zsh, and dash
- replace use of [[ with [

- replace function foo { .. } with foo() { .. }

- wrap some long lines

- add lsof and /proc/fd magic so that we can find the sourced file even in dash

- only do the complicated shell checks in one place; test $_sp_shell
  elsewhere.
2019-07-05 12:54:17 -07:00
Milton Woods
a7da5dcb19 py-stratify: vertical interpolation/stratification of atmos/ocean data (#11911)
* py-stratify: vertical interpolation/stratification of atmos/ocean data

* py-stratify: download from pypi.io
2019-07-04 10:38:48 -04:00
Milton Woods
d88c657f79 py-scikit-image: include more dependencies (#11912)
* py-scikit-image: include more dependencies

* py-scikit-image: limit some dependencies to recent versions
2019-07-04 10:38:02 -04:00
Hironori-Yamaji
cd18dadf92 jdk: Add JDK 12.0.1 (#11903) 2019-07-04 10:36:21 -04:00
Paul
1ce6490132 Added latest version, 0.7.1 (#11927) 2019-07-04 10:26:59 -04:00
Milton Woods
e7a3f703be py-antlr4-python3-runtime: new package (#11890)
* py-antlr4-python3-runtime: new package

* py-antlr4-python3-runtime: fix for flake8

* py-antlr4-python3-runtime: indent docstring

* py-antlr4-python3-runtime: clarify role of this package vs ANTLR in docstring

* py-antlr4-python3-runtime: remove whitespace at end of line
2019-07-04 10:12:54 -04:00
Glenn Johnson
54e87c8da0 Set ignore files for py-reportlab (#11928)
The py-reportlab package includes binaries for easy_install and pip.
That blocks activation if py-setuptools and/or py-pip are installed.
This PR block the binaries from py-reportlab as easy_install and pip
should be installed with their respective packages.
2019-07-03 19:15:01 -07:00
t-karatsu
adffb2bff4 libtool: execute autoreconf at ver.2.4.2 (#11913)
Version 2.4.6 did not require running autoreconf, so this only does
autoreconf for 2.4.2
2019-07-03 18:04:29 -07:00
shanedsnyder
902dcfd194 libfabric package: add version 1.8.0 (#11918) 2019-07-03 17:30:25 -07:00
Todd Gamblin
c45afb7578 coverage: remove sub-reports; only show project/patch on PRs (#11926)
- There's too much information on our PRs, and the Travis test results
  (which are arguably more important than coverage) get buried in
  coverage information

- Remove coverage sub-categories, as you can browse codecov's file view
  to see roughly the same thing

- show only project/patch on GitHub PRs.
2019-07-03 17:11:07 -07:00
Milton Woods
fae14bff21 py-cf-units: new package (#11891)
* py-cf-units: new package

* py-cf-units: download from pypi.io

* py-cf-units: include py-pytest-runner as build dep

* py-cf-units: remove empty build_args function

* py-cf-units: fix for flake8

* py-cf-units: indent docstring

* py-cf-units: remove excess spaces

* py-cf-units: list master branch ahead of numeric versions

* py-cf-units: remove extension keyword from version
2019-07-03 19:20:34 -04:00
Alberto Chiusole
f3bf89ebfe OpenMPI: add support for pbs/tm at configure. (#10620) 2019-07-03 14:07:51 -07:00
Justin M Wozniak
28949787e9 turbine: Better auto-detection of R location (#11711)
If R is provided by the system with a module (i.e. registered in
packages.yaml with a "module" entry) and has no discernible prefix,
this allows turbine to still make use of R.
2019-07-03 11:24:20 -07:00
Milton Woods
ea1df6a9b4 py-pyke: new package (#11894)
* py-pyke: automatic python program generator

* py-pyke: expand the package docstring
2019-07-02 15:58:14 -04:00
Milton Woods
48bfece55e py-pyugrid: unstructured grids in netcdf files (#11900) 2019-07-02 15:56:18 -04:00
ktsai7
229ba28ad5 Add llvm as deps when static analyzer is enabled (#11888)
* dep llvm if static analyzer
dep caliper if caliper

* fix typo

* adding variants for toggles
2019-07-02 11:45:13 -06:00
Toyohisa Kameyama
f1592e339d portcullis package: remove -m64 on aarch64. (#11905)
GCC on aarch64 dose not support -m64. This patch removes the -m64
flag if target is aarch64.
2019-07-02 10:42:06 -07:00
Phil Carns
2709f948fa opa-psm2 package: correct installation prefixes and add 11.2.77 (#11658)
This PR corrects a problem with the opa-psm2 package. It was
installing headers into <prefix>/usr/include and libraries into
<prefix>/usr/lib instead of <prefix>/include and <prefix>/lib.
The extra level of usr/ subdirectories causes dependent packages
like libfabric to fail to build.
2019-07-02 10:34:58 -07:00
Mark Olesen
5fd3b5acda openfoam: rename openfoam-com to openfoam (#11876)
The original packaging, with openfoam as a virtual and with
openfoam-com, openfoam-org and openfoam-extend as
providers, adds an obfuscation layer without any benefit.

- Rename `openfoam-com` to `openfoam`, and remove the 
  `openfoam` virtual package.
2019-07-01 22:54:36 -07:00
Todd Gamblin
515b4045e9 specs: remove parse_anonymous_spec(); use Spec() instead
- `parse_anonymous_spec()` is a vestige of the days when Spack didn't
  support nameless specs.  We don't need it anymore because now we can
  write Spec() for a spec that will match anything, and satisfies()
  semantics work properly for anonymous specs.

- Delete `parse_anonymous_spec()` and replace its uses with simple calls
  to the Spec() constructor.

- make then handling of when='...' specs in directives more consistent.

- clean up Spec.__contains__()

- refactor directives and tests slightly to accommodate the change.
2019-07-01 18:45:44 -07:00
Todd Gamblin
12b9fad7b6 cray: use the cle-release file to determine CNL version
- CNL OS previously used the *Cray PE* version to determine the OS
  version.  Cray does not synchronize PE and CLE releases; you can run
  CLE7 with PrgEnv 6 (and NERSC currently does).

- Fix Spack's OS detection by using the cle-release file to detect the OS
  version.  This file is updated with every CLE OS release.

- Add some tests for our parsing logic
2019-07-01 18:36:02 -07:00
Milton Woods
1ad9f6268b New packages: libmo-unpack and py-mo-pack (#11895)
* libmo-unpack: package to encode and decode UM fields
* py-mo-pack: python interface for libmo-unpack
2019-07-01 18:24:45 -07:00
Justin S
781a115656 New package: r-gwmodel (starting at 2.0-9) (#11887) 2019-07-01 18:14:29 -07:00
Justin S
196886e708 New package: r-spatialreg (starting at 1.1-3) (#11886) 2019-07-01 18:13:06 -07:00
Justin S
a7cd7fdcd4 New package: r-spdata (starting at version 0.3.0) (#11883) 2019-07-01 18:11:16 -07:00
Milton Woods
711a80832a New package: py-nc-time-axis (#11898) 2019-07-01 18:07:57 -07:00
Glenn Johnson
b66c296562 py-markdown package: update dependency version range (#11908)
The python dependency specifies that 2.7 or 2.8 are allowed when in
fact it should specify a version range (anything between 2.7 and 2.8,
inclusive).
2019-07-01 17:52:41 -07:00
Sameer Shende
4d0926464c mpich: wrapperrpath variant allows disablement of RPATH usage in mpicc
Added a wrapperrpath variant to mpich that defaults to `True`.

Users can set this to `False` (e.g., spack install mpich~wrapperrpath) to
disable the wrapper RPATHs.  This makes it easier to replacing an MPICH
installation in a container with an MPICH for the host system,
e.g., Cray MPICH with Shifter on Cori, Intel MPI, MVAPICH2, etc.

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2019-07-01 15:09:40 -07:00
Toyohisa Kameyama
54de03548b planck-likelihood: remove -m64 on ARM (#11902) 2019-07-01 10:48:45 -07:00
Axel Huebl
1b3c11e793 ADIOS2: v2.4.0 (#11904)
Add the latest release of ADIOS2.
2019-07-01 13:47:31 -04:00
Milton Woods
6856972745 tk: avoid search for X headers and libraries (#11892) 2019-07-01 13:47:04 -04:00
t-karatsu
8ca5c3685a camellia: fix hdf5 dependency (#11810)
* camellia: fix hdf5 dependency

* camellia: Add comment
2019-07-01 13:40:53 -04:00
Justin S
b517be2c68 r-spacetime: new package at 1.2-2 (#11885) 2019-07-01 13:39:15 -04:00
Patrick Gartung
9bf9c0cec3 buildcache: add replace_prefix_bin function to deal with hard coded paths in libraries and executables. (#11882) 2019-07-01 10:16:23 -05:00
Milton Woods
0f703b7e81 py-netcdf4: depend on hdf5+hl (#11893) 2019-07-01 15:38:35 +02:00
Todd Gamblin
f51c4c5e77 readme: make list of links even tighter. 2019-06-30 23:15:37 -07:00
Todd Gamblin
af39390578 README: Tighten up text, mention the Code of Conduct in the README. 2019-06-30 23:08:33 -07:00
Todd Gamblin
9c37a4c948 meta: move CODE_OF_CONDUCT.md and CONTRIBUTING.md to .github
- Trying to reduce the number of top-level files in Spack.

- CODE_OF_CONDUCT.md can be referenced from the README.

- CONTRIBUTING.md is only used to display a message on pull requests, and
  it still does that when in .github.
2019-06-30 23:08:33 -07:00
Dr Owain Kenway
441401bb8b llvm: don't build CppBackend for flang versions of llvm (#11841)
The version of LLVM used by flang is new enough that CppBackend doesn't exist.  Unfortunately, `flang-xxxxxxxx` is seen as < `3.9.0` by the version check.  

* add a special case for `flang` versions.
2019-06-30 17:04:29 -07:00
Oliver Breitwieser
cf76a143a2 libtomlc99: Update version
The PR for shared libraries has been merged upstream -> add new version.
2019-06-30 16:02:08 -07:00
Todd Gamblin
4189640ee8 style: remove unnecessary NOQA exceptions 2019-06-30 16:01:23 -07:00
Todd Gamblin
600f3c1104 setup-env.sh: send cd output to /dev/null when it affects Spack
- We've seen this a few times now where users have set up `cd` to echo
  the new directory, and it screws up `setup-env.sh`

- In the past we've said this is user error.

- Here, we just fix it by sending `cd` output to /dev/null where needed.
  - this works in bash, zsh, and dash
2019-06-29 19:01:44 -07:00
Peter Scheibel
9c16b4a7f6 Allow uninstalling missing packages (#11874)
Remove package access from directory_layout; add regression test to ensure
that specs can be uninstalled without a package being known
2019-06-29 16:04:15 -07:00
Christoph Junghans
7f2e364fa1 legion: added recent releases (#11889) 2019-06-29 07:12:24 -06:00
Justin S
7f6266eef6 r-intervals: new package at 0.15.1 (#11884) 2019-06-28 19:42:55 -04:00
Mark W. Krentel
8aa8b50f91 docs: add example for an external module in packages.yaml
Add an example of a 'modules:' entry for an external package in
packages.yaml.  The 'External Packages' section of 'Build
Customization' mentions 'paths:' and 'modules:' and gives an
example of paths, but not modules.
2019-06-28 11:59:10 -07:00
Carson Woods
5873beb83f qthreads package: make hwloc dependency optional and add version 1.14 (#11780) 2019-06-28 11:43:06 -07:00
Andreas Baumbach
5e9437866b New package: libtomlc99 (#11811) 2019-06-28 11:16:34 -07:00
Hironori-Yamaji
d5402147f0 bib2xhtml: replace version and change the download url (#11837)
The old version was no longer available for download
2019-06-28 11:03:54 -07:00
Matthieu Dorier
46c1513296 PMDK package: requires ncurses dependency (#11868) 2019-06-28 10:15:06 -07:00
Toyohisa Kameyama
d8f4e0a565 OTF package: use autotools. (#11873) 2019-06-28 10:13:21 -07:00
Toyohisa Kameyama
ae8710fa36 blast-plus package: remove --with-64 on ARM. (#11877)
This configure option is not supported on ARM
2019-06-28 10:11:04 -07:00
Michael Kuhn
ac76e4692f likwid package: Fix build with version 4.3.4 (#11878) 2019-06-28 10:05:38 -07:00
ktsai7
d48226b260 Update package.py (#11872) 2019-06-28 09:39:59 -06:00
Michael Kuhn
d2de78ab00 fenics, llvm: Fix package names being overriden (#11879)
Setting name within the package class allows overriding the package
name, which both packages do using several for loops.

Fixes #11789
2019-06-28 15:59:19 +02:00
Christoph Junghans
d6ecc29e4b portage: add v1.2.2 (#11842)
* portage: add v1.2.2

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* flake8
2019-06-28 06:39:26 -06:00
Toyohisa Kameyama
ff877a567e Gotcha package: fixed to build on ARM. (#11840)
Apply patch to current version which has not yet been merged in the
upstream package repo.
2019-06-27 15:34:11 -07:00
Derick Huth
81db89b5e7 New packages: Chill and IEGenLib (#11406)
* Add Chill package
* Add IEGenLib package, a dependency of Chill
2019-06-27 13:41:06 -07:00
Michael Kuhn
f5f2b05c5b pkgconf: Add 1.6.1 (#11863) 2019-06-27 22:15:04 +02:00
Christoph Junghans
8a51215c36 bml: add v1.3.1 (#11856) 2019-06-27 10:57:09 -06:00
Hironori-Yamaji
c48b67ccd7 f90cache: change the download url (#11838)
* f90cache: change the download url

* f90cache: added the download url for ver 0.99
2019-06-27 12:55:48 -04:00
Hironori-Yamaji
9ed4db6eea tcsh: change the download url, add version 6.21.00 (#11836)
* tcsh: change the download url, add version 6.21.00

* tcsh: change the download url

* tcsh: Fix checksum for 6.20.00
2019-06-27 12:53:43 -04:00
Mark Olesen
0119812781 Update openfoam (#11866)
* OpenFOAM: rationalize architecture options

- older versions of OpenFOAM had WM_ARCH_OPTION to choose a 32-bit
  build on 64-bit architectures. This is not exactly relevant anymore
  and has now been largely removed from OpenFOAM.

- simultaneously the newest version of OpenFOAM has rationalized the
  handling of special settings for KNL by rolling these into the
  compiler options. We now do the same thing here in spack.

  1. Reuse the internal variable arch_option to convey processor-specific
     optimizations and add these into the C++OPT=... statement.
  2. Drop spack support for configuring a 32-bit build on 64-bit
     hardware.

These changes can also be applied to older OpenFOAM versions, and to
various OpenFOAM forks without issue.

* update openfoam versions. New release 1906, patched 1812 version.
2019-06-27 11:14:33 -05:00
Michael Kuhn
eb00436ec8 font-util: Add missing mkfontdir build dependency (#11865)
Some of the fonts now included in font-util need mkfontdir to build.
2019-06-27 15:53:05 +02:00
Michael Kuhn
5669144d22 Fix pkgconfig dependencies (#11864)
pkgconfig is the correct virtual dependency.
2019-06-27 14:56:42 +02:00
Toyohisa Kameyama
1c779608b2 cbtf-krell: fixed to build on ARM. (#11859) 2019-06-27 11:55:15 +02:00
Toyohisa Kameyama
977b2621f9 font-util: fix fontname. (#11860) 2019-06-27 11:54:23 +02:00
Satish Balay
85372ae102 petsc: add version 3.11.3 (#11857) 2019-06-27 07:02:03 +02:00
Michael Kuhn
75adb54d51 cdo: Remove obsolete patch (#11854)
Commit ea3e1521fe removed version
1.9.7rc2, making the patch for gcc@9 obsolete.
2019-06-26 19:36:41 -05:00
Michael Kuhn
0ef3b4c578 ncl: Fix build (#11855)
ncl does not build with newer versions of gdal (or rather proj). This
also needs a small change to gdal, otherwise we end up with both proj@5
and proj@6 in the spec.
2019-06-26 19:36:29 -05:00
Greg Becker
a0f2d6a8b9 Make yaml-cpp build with libc++ (#10504)
- Separate `yaml-cpp` tests into variant
- Make conflict between `yaml-cpp` tests and `libc++` explicit
2019-06-26 14:29:09 -07:00
ktsai7
ba5530bb42 added min version for gasnet and legion (#11853)
* added min version for gasnet and legion

* Update package.py

* Update package.py

* Update package.py
2019-06-26 14:46:18 -06:00
Douglas Duckworth
27b07811dd RELION package: add version 3.0.6 (#11851) 2019-06-26 09:57:14 -07:00
Toyohisa Kameyama
e49c101f05 X11fonts: use autotools for new architecture host (#11785)
* Remove individual font-* packages and add them as resources of the
  font-util package
* Update font-util package to Autotools-based package, and call
  autoreconf to regenerate the old configure script
* Add font-adobe-utopia-type1
2019-06-26 08:26:37 -07:00
Toyohisa Kameyama
b185f87c55 Add --frontend and --backend option to spack arch command (#11746) 2019-06-26 08:19:46 -07:00
Adam J. Stewart
5c5d6cad44 Rename py-pytables -> py-tables (#11847) 2019-06-25 21:32:49 -04:00
Satish Balay
ef48219f15 remove binary file that got added inadvertently via #11828 (#11848) 2019-06-25 21:31:36 -04:00
Christoph Junghans
718af821d1 pfunit: fixed a typo (#11843) 2019-06-25 14:06:52 -04:00
Chuck Atkins
f20c97168d gnutls: workaround guile build error on macos (#11751) 2019-06-25 13:08:28 -04:00
jthies
6bbc7e8d9b phist can't be compiled with gcc older than 4.9.2 (#11677)
* phist can't be compiled with gcc older than 4.9.2
2019-06-25 12:53:21 -04:00
Ben Morgan
531114cd6c fmt: Add version 5.3.0 with cxxstd variant support (#11799)
* fmt: Add cxxstd variant, plus cmake/c++ patches

Spack supported versions of fmt default to C++11 for versions
less than 5, C++14 greater than 5, with fmt implementing
fallbacks to whatever compiler supports.

To give better ABI compatibility and use of newer standards, provide
a `cxxstd` variant defaulting to 11 with 98-17 options. Use cmake_args
to set CMAKE_CXX_STANDARD as appropriate, plus use of `FMT_USE_CPP11`
option for C++98 builds. Use `conflicts` to disable use of certain
standards in versions that don't support, or fail the build, with
those standards.

Add patches to unify use of `CMAKE_CXX_STANDARD` in 3.0 versions,
remove hard-coding of compiler flags in `fmt-config.cmake`, and
prevent use of C++11 features in 4.1.0 when in supported C++98
mode.

Default to not building documents as no dependency on Doxygen is
yet present, and they are not part of the "all" build.

* Use CMake to enforce C++ standard support

Fail configure step if fmt tries to build with a cxxstd variant
not supported by the compiler (or known to CMake).

* fmt: New version 5.3.0
2019-06-25 12:01:31 +01:00
Patrick Gartung
30ce818fc4 Fix for #10063 : install from source if buildcache with different DAG exist (#11834)
* Fix for #10063 : install from source if buildcache with different DAG exist

* Flake8
2019-06-24 21:09:24 -05:00
rvinaybharadwaj
fa563f0f55 Bumping-up miniVite to version 1.1 (#11828)
* Bumping-up miniVite to version 1.1

* Keeping both version of miniVite

* Changed to >=
2019-06-24 19:41:01 -06:00
Justin S
5b3f196bc2 New package: Rodinia (starting at 3.1) (#11650) 2019-06-24 18:32:46 -07:00
Carson Woods
ad14432e66 UCX package: add versions 1.5.1/1.5.2 (#11832) 2019-06-24 18:21:06 -07:00
Carson Woods
f10b806bde Singularity package: add version 3.2.1 (#11833) 2019-06-24 18:20:23 -07:00
Denis Davydov
8e89a82076 clamav: add new package (#11818)
* clamav: add new package

* fix flake8

* remove --dsable lines
2019-06-24 19:47:15 -04:00
Gregory Lee
16ff38b784 add glx variant to libepoxy (#11814) 2019-06-24 17:57:17 -04:00
Glenn Johnson
c575cc46db The py-pytables package depends on hdf5-blosc (#11823)
* The py-pytables package depends on hdf5-blosc

* Further modifications to py-pytables package

The 3.2.2 version of py-pytables should still build with internal blosc.
The issue with locking in a multithreaded environment has been
fixed/worked around in version 3.3.

Also, add bzip2 and lzo variants.
2019-06-24 17:56:51 -04:00
Satish Balay
1ec3d78441 hypre: superlu-dist-link-2.15.0.patch is now in hypre@develop (#11829) 2019-06-24 17:55:04 -04:00
Andreas Baumbach
b39a992528 add new package py-absl-py (#11812)
* add new package py-absl-py

Change-Id: I248d30e0a3e5e05d9ea4027d97a85545c63d1125

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2019-06-23 17:33:36 -04:00
Andreas Baumbach
2687af2c53 New package py-astor (and test dependency py-astunparse) (#11813)
* add package py-astor

Change-Id: I2f6becfb5e9771170bf2df5eb629920e1c0998d7

* add new package py-astunparse

Change-Id: Id2d3e8dec28e720ed1cb121dad0d1a405c27ca29

* Update package.py

* Update package.py

* Update package.py
2019-06-23 17:33:22 -04:00
Christoph Junghans
d65e6ad7e3 hypre: add v2.16.0 (#11821)
* hypre: add v2.16.0

* update checksums

* hypre: xsdk-0.2.0 tag is missing on the new repo
2019-06-23 17:33:05 -04:00
Neil Flood
681245c7ed awscli: new package (#11796)
* awscli: new package

* More precise py-pyyaml version dep, as per setup.py
2019-06-23 14:54:48 -04:00
Adam J. Stewart
9c54d8ef6c r-sf may not support PROJ.6 (#11767)
* r-sf may not support PROJ.6

* Add comment explaining dep
2019-06-23 11:35:33 -05:00
Sinan
c83f8a425d new package/py-blessed (#11656)
* new package/py-blessed

* make flake8 happy

* fix docstring

* tab to spaces

* Update var/spack/repos/builtin/packages/py-blessed/package.py

specify dependency version.

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* Update var/spack/repos/builtin/packages/py-blessed/package.py

specify dependency version

Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>

* add setuptools as depedency
2019-06-22 17:05:03 -05:00
Peter Scheibel
1ae03b327c Use Stage.archive_file to access non-expanded download (#11817)
Fixes #11816

Allow packages to refer to non-expanded downloads (e.g. a single
script) using Stage.archive_file. This addresses a regression from
#11688 and adds a unit test for it.
2019-06-21 16:56:38 -07:00
Gerasimos Chourdakis
98d21193ff precice: add version 1.5.1 (#11809) 2019-06-21 07:56:35 -04:00
Toyohisa Kameyama
e19d7b9a49 exonerate use autotools. (#11805) 2019-06-21 07:55:29 -04:00
Toyohisa Kameyama
1827b4c5cb mpileaks: use autotools. (#11808) 2019-06-21 07:55:04 -04:00
Toyohisa Kameyama
9955b15f4e mpe2 use autotools and add libx11 dependency. (#11807) 2019-06-21 07:54:51 -04:00
Gregory Lee
894d01e482 converting to launchmon to autotools package (#11794) 2019-06-21 07:47:42 -04:00
Valentin Reis
e6264030d7 New packages: nrm and libnrm (#11777)
Also add new py-warlock, py-jsonpatch, and py-jsonpointer packages as
dependencies of nrm.
2019-06-20 19:21:44 -07:00
Adam J. Stewart
9b8215ce9d Ignore pgcc-llvm and friends, default to pgcc (#11703)
This change reverts to the previous behavior of only looking for pgcc
and friends, not pgcc-llvm and friends.

The llvm variant doesn't support all the same features as the
traditional variant of the pgi code generator; this change avoids
treating the llvm variant as a default pgi compiler.

This retains the changes in #10704 which accept the "LLVM" suffix of
the version string of the PGI compiler, which allows users to
explicitly add the llvm-pgi compiler if desired.
2019-06-20 19:07:29 -07:00
Mark W. Krentel
a76bacd594 boost: add variant for symbol visibility (#11801)
Starting with 1.69.0, boost added a bjam option for the default symbol
visibility.  Up to 1.68.0, the value was always 'global'.  1.69.0
changed the default to 'hidden' but added an option.

Most packages will work with hidden and won't notice.  But some
packages may discover that an interface that they rely on is now
hidden and inaccessible.

https://boostorg.github.io/build/manual/develop/index.html#bbv2.builtin.features.visibility
2019-06-20 17:43:25 -04:00
Justin S
686eaff30c subread: add 1.6.4 (#11800) 2019-06-20 13:54:20 -05:00
Peter Scheibel
284ae9d1cc Resources: use expanded archive name by default (#11688)
For resources, it is desirable to use the expanded archive name of
the resource as the name of the directory when adding it to the root
staging area.

#11528 established 'spack-src' as the universal directory where
source files are placed, which also affected the behavior of
resources managed with Stages.

This adds a new property ('srcdir') to Stage to remember the name of
the expanded source directory, and uses this as the default name when
placing a resource directory in the root staging area.

This also:

* Ensures that downloaded sources are archived using the expanded
  archive name (otherwise Spack will not be able to determine the
  original directory name when using a cached archive).
* Updates working_dir context manager to guarantee restoration of
  original working directory when an exception occurs
* Adds a "temp_cwd" context manager which creates a temporary
  directory and sets it as the working directory
2019-06-20 11:09:31 -07:00
Adam J. Stewart
4858d8c275 Add GDL 0.9.9 (#11760)
* Add GDL 0.9.9

* Add comment on PROJ dependency
2019-06-20 13:36:10 -04:00
Neil Flood
0cec7c6590 py-python-dateutil: Version 2.7.0 acquired dependency on setuptools-scm (#11795) 2019-06-20 09:18:04 -05:00
Carson Woods
e7eb9ce1af Bump netcdf-fortran version to 4.4.5 (#11790) 2019-06-19 17:38:17 -05:00
Oliver Breitwieser
8b1575fa0a py-matplotlib: Fix dependencies in [2.1.0:3.0.0) (#11787)
Starting with 2.1.0, backports.functools_lru_cache replaces functools32
when using python 2.7.x until python2 support is dropped in 3.0.0.

Change-Id: I8db61eac975da0042f6f5babe0f5f0c92807200e
2019-06-19 17:38:04 -05:00
Kevin Manalo
6e4ed3e84a osu-micro-benchmarks: add version 5.6.1 (#11779)
Also add mpi osu-micro-benchmarks to runtime PATH
2019-06-19 11:04:03 -07:00
brietzke
4f9116dae2 New package: fgsl: fortran interface to GSL (#11775) 2019-06-19 10:59:11 -07:00
Chuck Atkins
a60ffdd5a2 vtk, paraview, catalyst packages: Add maintainers (#11774) 2019-06-19 10:57:19 -07:00
Mark W. Krentel
d29f8d0598 xfd package: use Spack-installed libintl (#11545)
Fixes #11526

The xfd configure script tests for libintl but incorrectly concludes
that no additional library is needed because gettext is provided in
libc. So we add '-lintl' to ldlibs to point to the Spack-installed
gettext. Note that the xfd configure script does not have a
--with-gettext option to do this for us.

Also add version 1.1.3
2019-06-19 10:54:50 -07:00
Daniel Topa
06342923fc eospac package: replace md5 checksums with sha256 (#11757) 2019-06-18 19:20:35 -07:00
Andrey Prokopenko
d1c9367446 New package: ArborX (#11474) 2019-06-18 19:14:05 -07:00
Gregory Lee
8706ac1479 fixed spec dependence attribute writing. Fixes #11686 (#11776) 2019-06-19 04:13:12 +02:00
Justin S
2287dd6165 New package: amber (starting at v16) (#11619) 2019-06-18 19:01:03 -07:00
dorier
da800c21bd New package: PRRTE (#11614) 2019-06-18 18:47:24 -07:00
william-dawson
de2e088d43 New Package: ELSI (#11605) 2019-06-18 18:30:57 -07:00
Greg Becker
9a4917644a Remove test dependency on /usr/bin/gcc (#11769)
The regression test for #11678 fails on at least some Mac OS systems
because they have a /usr/bin/gcc that is secretly clang.

This PR replaces the dependency on a system gcc executable with a
test-generated script that generates the expected output for the
compiler logic.
2019-06-18 18:23:02 -07:00
Greg Becker
1ea3d29110 Ensure brew update is run before using brew in test environment (#11784)
All macos tests are failing because brew cannot install ccache
without updating brew. This ensures that brew update is run
before using brew in test environment.
2019-06-18 17:50:45 -07:00
Axel Huebl
e925589fc7 xtensor package: add version 0.20.7 and update dependencies (#11574)
* xtensor-python: add version 0.23.1
* xtensor-python: update xtensor/xtl dependency version constraints
  for 0.23.1
* xtensor-python: remove xtensor/xtl dependency version constraints
  for the develop version to favor the latest (develop) version of
  these dependencies
* xsimd: add version 7.2.3
* xtensor: add tbb variant to enable TBB parallelization
* xtensor: add version 0.20.7
* xtensor: update CMake args enable xsimd/tbb support based on
  variant settings
* xtl: add version 0.6.4
2019-06-18 17:05:47 -07:00
Robert Pavel
2eee507914 Added Cinch Spackage (#11759)
* Added Cinch Spackage and updated Flecsi to Use It

Added spackage for Cinch build system and updated flecsi spackage to use
the external version of cinch

* Flake8 compliance for Cinch and Flecsi

* Fixed Cinch Issue and Requested PR Changes

Swapped cinch back to master branch rather than test branch and style
issues for PR
2019-06-18 16:45:58 -05:00
Adam J. Stewart
d21bec996e Restrict gplates to proj@:5 (#11761)
* Restrict gplates to proj@:5

* Add comment on PROJ dependency
2019-06-18 15:15:14 -04:00
Adam J. Stewart
6d8c69848b Add py-rasterio 1.0.24 (#11738)
* Add py-rasterio 1.0.24

* Python 3 required in the next release
2019-06-18 15:14:27 -04:00
Adam J. Stewart
ff6dfe3c00 Add py-shapely 1.6.4.post2 (#11739) 2019-06-18 14:24:56 -04:00
Adam J. Stewart
ea3e1521fe Add CDO 1.9.7.1 (#11758) 2019-06-18 14:22:22 -04:00
Justin S
d82f8cd405 repeatmasker: perl and HMMER dependency fixes (#11660)
repeatmasker depended on HMMER but was never actually configured to
use it. The package also had many shebangs pointing to random perl
locations, now patched to use Spack's perl installation.
2019-06-18 11:11:00 -07:00
Hadrien G
e35355f040 ACTS package: add versions including 0.10.1 (#11606)
* Also add version 0.10.0
* Add leading '0' to 0.9.x versions (e.g. 0.09.1) and 0.8.x versions
* Don't mention acts-framework, that package isn't in Spack yet
2019-06-18 11:00:02 -07:00
Tamara Dahlgren
2a919c8851 Ensure proper gopath set for rclone (#11755)
Fixes #11745

Set the GOPATH environment variable to the stage path to avoid
creation of a $HOME/go directory.
2019-06-18 10:49:07 -07:00
Elizabeth Fischer
f886c7e59d Rename build.out to build.txt (#11749)
Rename build.out to build.txt; makes it easier when people post log files to the Spack mailing list.
2019-06-18 10:32:00 -07:00
Gabriel Rockefeller
003f670ef9 r3d: add version 2018-01-07 (#11770) 2019-06-18 09:36:49 -05:00
Adam J. Stewart
7c3137a203 Restrict libspatialite to proj@:5' (#11752) 2019-06-17 23:48:16 -04:00
Adam J. Stewart
7dc6b609d5 r-rgdal does not yet support PROJ.6 (#11766) 2019-06-17 23:47:52 -04:00
Adam J. Stewart
6422130709 Add PROJ.6 (#11730)
* Add PROJ.6

* Add back comment about newer PROJ API
2019-06-17 23:46:42 -04:00
Adam J. Stewart
1891734195 PROJ.6 not yet supported in SAGA-GIS (#11768) 2019-06-17 21:39:05 -04:00
Adam J. Stewart
a239ba33af py-cartopy does not yet support PROJ.6 (#11765) 2019-06-17 21:35:14 -04:00
Adam J. Stewart
a896a33b3b Specify which versions of PROJ work with MapServer (#11764) 2019-06-17 21:34:54 -04:00
Adam J. Stewart
349844a5fd Restrict magics to proj@:5 (#11763) 2019-06-17 21:33:25 -04:00
Adam J. Stewart
3018c64537 GRASS GIS does not yet support PROJ.6 (#11762) 2019-06-17 20:59:12 -04:00
Adam J. Stewart
b0cf2b5855 Add GEOS 3.7.2 (#11734) 2019-06-17 20:58:43 -04:00
Adam J. Stewart
de51be45b9 Add GDAL 3.0.0 (#11733)
* Add GDAL 3.0.0

* Clarify PROJ version requirements
2019-06-17 20:57:48 -04:00
Adam J. Stewart
17f20d0f32 Add py-fiona 1.8.6 (#11736)
* Add py-fiona 1.8.6

* Remove commented code

* Python 3 will be required in the next release
2019-06-17 20:54:58 -04:00
Adam J. Stewart
ee20b4826f Add libgeotiff 1.5.1 (#11731) 2019-06-17 20:46:46 -04:00
Manav Bhatia
0e34cc8a8e Libmesh updates (#11750)
* Updates to libMesh: added v1.3.1 checksum, added vtk variant, bugfix for enabling petsc when slepc variant is specified

* fixed indentation issues identified by Travis CI

* - updates version number
- added master as a version
- added new variant options for perflog, metaphysicl and blocked storage
-- bug-fix for metis

* fixes for spack indentation errors

* renaming develop to master following review comment of PR.
2019-06-17 19:38:19 -05:00
Adam J. Stewart
e23adbd4a9 Add py-pyproj 2.2.0 (#11735)
* Add py-pyproj 2.2.0

* PR review requests

* Make Python requirements more explicit
2019-06-17 20:23:40 -04:00
Adam J. Stewart
10d5008ef5 Restrict pism to proj@:4 (#11754)
* Restrict pism to proj@:5

* PROJ.5 is not yet supported either :(
2019-06-17 18:35:03 -04:00
Paul
93e1336de8 Added newer GoLang versions (#11756) 2019-06-17 17:23:09 -05:00
Adam J. Stewart
a558de117a Restrict ibmisc to proj@:4 (#11753)
* Restrict ibmisc to proj@:5

* Restrict ibmisc to proj@:4
2019-06-17 18:02:09 -04:00
Dan Lipsa
cdf4ba81e5 Remove version from py-mpi4py. (#11587) 2019-06-17 10:59:34 -04:00
Valentin Clement (バレンタイン クレメン)
f4d8b1ee60 Add version 1.2.2 and 1.2.3 to the package (#11748) 2019-06-17 16:03:26 +02:00
Dan Lipsa
83c7959580 Fix condition to enable mpi4py. (#11707)
* Fix condition to enable mpi4py.

* flake8

* Catalyst as paraview for mpi4py.

* Catalyst needs numpy and mpi4py.

* Remove leftover enable python.
2019-06-17 09:30:29 -04:00
Tamara Dahlgren
6e067a05c7 bugfix: use config fixture for stage tests (#11701)
Some tests introduced in #11528 temporarily set the user's `config:build_stage`, which affected (or created) a config.yaml file in the user's `$HOME/.spack` directory that could leave entries behind if the tests fail.

This change ensures only temporary configuration files are used/affected by these tests.
2019-06-17 11:38:34 +02:00
Tamara Dahlgren
a551e4329e docs: updates for stage.source_path (#11702) 2019-06-17 11:36:22 +02:00
Axel Huebl
b57ba6289c openPMD-api: pybind11>=2.3.0 (#11744)
Update the dependency on pybind11 to the latest version
(constexpr signature support for all C++11 compilers + fixes).
2019-06-16 17:47:55 +02:00
Todd Gamblin
ce3a3507a4 cowsay: new package (#11743)
- A program that generates ASCII pictures of a cow with a message.

- This is used by the ISC19 Singularity tutorial, so we should probably
  have it in Spack.
2019-06-16 17:29:25 +02:00
Todd Gamblin
45c65a255a docs: update tutorial page for ISC19 tutorial (#11742) 2019-06-16 12:35:12 +02:00
Adam J. Stewart
3192318f36 Add py-geopandas 0.5.0 (#11737) 2019-06-16 08:57:13 +02:00
Adam J. Stewart
4965e9be53 Add libtiff 4.0.10 (#11732) 2019-06-16 08:52:16 +02:00
Adam J. Stewart
830964c2fb Add nasm 2.14.02 (#11729) 2019-06-16 08:50:05 +02:00
Adam J. Stewart
e259932a1e Add openjpeg 2.3.1 (#11728) 2019-06-16 08:49:36 +02:00
Adam J. Stewart
76490dcdbc Add py-cligj 0.5.0 (#11727) 2019-06-16 08:48:42 +02:00
Adam J. Stewart
69a746e941 Add py-numpy 1.16.4 (#11726) 2019-06-16 08:47:38 +02:00
Adam J. Stewart
7bb44f4620 Add libjpeg-turbo 2.0.2 (#11725) 2019-06-16 08:47:14 +02:00
Adam J. Stewart
92ab46b9ed Update URL for older version of jackcess (#11724) 2019-06-16 08:46:13 +02:00
Adam J. Stewart
53a4ea43c8 Add HDF 4.2.14 (#11723) 2019-06-16 08:45:23 +02:00
Adam J. Stewart
ffb7e83e65 Add new package py-boto3 (#11722) 2019-06-16 08:44:41 +02:00
Adam J. Stewart
0de9d15a49 Add new package py-s3transfer (#11721) 2019-06-16 08:43:41 +02:00
Adam J. Stewart
9a400d13a9 Add new package py-botocore (#11720) 2019-06-16 08:43:06 +02:00
Adam J. Stewart
2a15ab42fe Add new package py-jmespath (#11719) 2019-06-16 08:42:35 +02:00
Adam J. Stewart
07a90b214b Add new package py-freezegun (#11718) 2019-06-16 08:41:27 +02:00
Adam J. Stewart
639cb17322 Rename py-dateutil -> py-python-dateutil (#11717) 2019-06-16 08:40:56 +02:00
Adam J. Stewart
954a36c499 Add py-aenum package (#11716) 2019-06-16 08:39:54 +02:00
Kevin Manalo
91ef079511 intel: add version 19.0.4 (#11741) 2019-06-15 23:19:58 -05:00
Adam J. Stewart
3bad45fedf Updates to poppler to get pdf2svg working (#11681) 2019-06-15 17:32:39 -05:00
Glenn Johnson
6592b4d46d Fix latest HPL for MKL use (#11712)
The 2.3 version of HPL needs LDFLAGS set for use of MKL libraries.
2019-06-15 15:46:59 -05:00
Michael Kuhn
f3671244e4 docs: fix config tutorial (#11715)
This fixes a few typos, adds a hint to `spack config blame` and brings
the variant specification in line with other docs sections.
2019-06-15 21:34:32 +02:00
Axel Huebl
bccfb622e5 pybind11: v2.3.0 (#11713)
Add the latest 2.3.0 release and me as package maintainer.
2019-06-15 10:30:04 -05:00
brietzke
ef55319a9c new package: mutationpp (#11705)
* new package: mutationpp

* Update package.py

* flake8: correct package.py for flake8-python-style

* Update package.py

* modifications as requested by reviewer for #11705
2019-06-15 10:29:36 -05:00
Gabriel Rockefeller
537fa81c5d r3d: add version 2019-04-24 (#11710) 2019-06-15 14:27:03 +02:00
Justin S
9d6f37dc15 montage: new package at 6.0 (#11696) 2019-06-14 16:40:50 -05:00
Matthias Diener
f3eab78b80 scons: add version 3.0.5 (#11709) 2019-06-14 16:39:58 -05:00
Satish Balay
030f0951d4 dtk@develop now requires 'submodules=True' flag (#11694) 2019-06-14 11:04:48 -05:00
Justin M Wozniak
8afae13369 swift-t: New release packages for 1.4.3 (#11684) 2019-06-14 09:49:51 -05:00
Tamara Dahlgren
1b8f641016 Ensure mock configuration directory is cleaned up on session exit. (#11700) 2019-06-13 16:41:00 -07:00
Jordan Ogas
e275ddc169 add charliecloud-0.9.10 (#11471)
* add charliecloud-0.9.10; remove obsolete version

* revert older version changes; add version function

* fix space issue

* remove url declaration

* revert url removal

* remove self reference

* fix url; removed preferred tag; use newer package url
2019-06-13 16:50:55 -05:00
Tamara Dahlgren
25b21c093a Add tests for "spack location" command (#11661)
The "spack location" command was previously untested. This also adds
a check to ensure that composite Stages can report whether they were
expanded (this property was previously only recorded in Stage but not
in CompositeStage).
2019-06-13 12:20:13 -07:00
Tamara Dahlgren
5cf62e69ce Always treat DIYStage as expanded (#11663)
DIYStage, used to treat a user-managed directory as a staging area,
should always be considered expanded (i.e. the source has been
decompressed if it was stored in an archive).

This also:

* Adds checks to ensure that the path used to instantiate a
  DIYStage refers to an existing directory.
* Adds tests to check the behavior of DIYStage (including behavior
  added here, but it was generally untested before).
2019-06-13 11:14:35 -07:00
Mark W. Krentel
aca1bfdb6a intel-xed and hpcviewer: adapt to new resource placement (#11676)
Change 'destination' to 'placement' in the use of resource() for
intel-xed and hpcviewer.  Recent commits (1842873f and eb584d89)
changed the directory path for a resource and thus broke the build
for these packages.
2019-06-13 09:53:30 +02:00
marvinbernhardt
4f2144a68e added jpeg,png,ffmpeg variants to lammps (#10404) 2019-06-12 21:02:20 -06:00
Tamara Dahlgren
16530f84be Update remaining packages to use Stage.source_path (#11662)
#11528 updated Stage to always store a Package's source in a fixed
directory accessible via `Stage.source_path` This left behind a
number of packages which were expecting to access the source code
via `Stage.path`. This Updates those packages to use
`Stage.source_path` instead.

This also updates the name of the fixed directory: The original name
of the fixed directory was "src", so if an expanded archive created a
"src" directory, then users inspecting the directory structure could
see paths like "src/src" (which wasn't wrong but could be confusing).
Therefore this also updates the name of the fixed directory to
"spack-src".
2019-06-12 17:07:47 -07:00
Massimiliano Culpo
3ce90741a3 Make "spack compiler find" check PATH by default (#11683)
Fixes #11678

`spack compiler find` was not searching `PATH` when provided with no
arguments. ea7910a updated the API for the search function and the
command logic did not update how it called this function. This also
adds a test to ensure that `spack compiler find` will collect
compilers from `PATH`.
2019-06-12 15:28:16 -07:00
Dave
fe8297da74 warpx: only allow master branch, and fix build on darwin (#11667)
* warpx: only allow master branch, and fix build on darwin

* warpx: Added CXXFLAGS=-std=c++11 for clang

* warpx: further clean up of openmp and c++11 flags

* warpx: Get around the problem with resources

The update uses placement instead of destination
2019-06-12 23:57:20 +02:00
Robert Pavel
a32382e787 Fixed Flecsi Backend Dependencies (#11679)
Fixed logic behind flecsi backends to not require legion for an mpi
build and to better support required combinations.
Also made graphviz support and tutorial building optional
2019-06-12 15:46:14 -06:00
Adam J. Stewart
4e812090c0 Add additional common C++ and Fortran header file extensions (#11600)
* Add additional common C++ and Fortran header file extensions

* Add .hxx extension

* Add .txx and .tcc extensions

* Add .icc extension
2019-06-11 20:13:55 -04:00
Sinan
6ae5f38f26 new python package/py-typesentry (#11657)
* new python package/py-typesentry

* add proper version
2019-06-11 14:33:43 -04:00
Dan Lipsa
667e2f20fe Add support for using python3 in new verison of VTK. (#11673)
* Add support for python3 in new versions of VTK.
2019-06-11 12:50:22 -04:00
Chuck Atkins
91205545f0 Add extra logic for C std flags on PGI, XL, and Cray (#11635) 2019-06-11 14:15:55 +02:00
psakievich
a998fa25b0 Paraview: Add motionfx Intel workaround (#11608)
* Paraview/VTK: Fix failure on intel builds

Paraview@5.6.0 fails to build with intel compilers on certain platforms.
Error messages have been traced to the optional MotionFX lib.
(see https://discourse.paraview.org/t/error-build-5-6-0-rc1/572)
Turning off motionfx allows for succesful builds on these platforms.
2019-06-11 08:15:41 -04:00
Peter Scheibel
406c791b88 Fix recursive module find for upstream dependencies (#11304)
"spack module tcl find -r <spec>" (and equivalents for other module
systems) was failing when a dependency was installed in an upstream
Spack instance. This updates the module index to handle locating
module files for upstream Spack installations (encapsulating the
logic in a new class called UpstreamModuleIndex); the updated index
handles the case where a Spack installation has multiple upstream
instances.

Note that if a module is not available locally but we are using the
local package, then we shouldn't use a module (i.e. if the package is
also installed upstream, and there is a module file for it, Spack
should not use that module). Likewise, if we are instance X using
upstreams Y and Z like X->Y->Z, and if we are using a package from
instance Y, then we should only use a module from instance Y. This
commit includes tests to check that this is handled properly.
2019-06-10 16:56:11 -07:00
Daniel Topa
35b1b81129 Add latest releases for pFUnit (#11642)
* Add latest releases for pFUnit
  - 3.2.10, 3.3.0, 3.3.1, 3.3.2, 3.3.3
  - 3.2.9 now with sha256
  - 4.0.0 is added, but commented out (build fails, see errors)

Verification builds

Darwin x86_64:
dantopa@cn100:pr-pfunit-darwin-general.spack $ spack find pfunit
==> 5 installed packages
-- linux-centos7-x86_64 / gcc@4.8.5 -----------------------------
pfunit@3.2.9  pfunit@3.2.10  pfunit@3.3.0  pfunit@3.3.1  pfunit@3.3.2  pfunit@3.3.3

Darwin Power9:
-- linux-rhel7-ppc64le / gcc@4.8.5 ------------------------------
pfunit@3.2.9  pfunit@3.2.10  pfunit@3.3.0  pfunit@3.3.1  pfunit@3.3.2  pfunit@3.3.3

Darwin ARM:
dantopa@cn805:pr-pfunit-darwin-arm.spack $ spack find pfunit
==> 5 installed packages
-- linux-rhel7-aarch64 / gcc@4.8.5 ------------------------------
pfunit@3.2.9  pfunit@3.2.10  pfunit@3.3.0  pfunit@3.3.1  pfunit@3.3.2  pfunit@3.3.3

2019-05-05

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* answer @citibeth comments

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* shortened offending comment to comply with flake8; suppressed error message on entry for v4.0.0

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* removed tailing space qt 20:55

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-06-10 18:19:52 -04:00
Geoffrey Oxberry
a52ed34fa4 ninja{-fortran}: make pkgs nonvirtual (fix #11628) (#11629) 2019-06-10 12:53:30 -04:00
Dan Lipsa
c98190a6ec ParaView and Catalyst use python3. (#11485)
Use python3 for latest paraview and catalyst versions.
2019-06-10 12:48:49 -04:00
Axel Huebl
d4008db75d CD: Package Index (#11665)
Build the docker image for the new package index REST API on each
merge/push to develop and master.
2019-06-10 18:21:33 +02:00
Chuck Atkins
0953cd3a2e Remove gnutls dependency and disable openssl when appropriate (#11646) 2019-06-10 11:19:26 -04:00
t-karatsu
7178ee3b63 Define LDFLAGS when using fujitsu compiler (#11669) 2019-06-10 11:01:32 -04:00
Quinn
58b797632e dateutils: new package (#11623)
* Adding the dateutils package
* Removing superfluous dependencies
2019-06-08 13:32:57 -07:00
Todd Gamblin
20e5f81653 tests: restore spack spec mpileaks in test output for Python 2 (#11664)
- also remove coverage calls of these commands
- we JUST want coverage to tell us what is in the test suite.
2019-06-08 13:04:44 -07:00
Peter Scheibel
f31711b84e concretization: don't apply build-dep constraints for installed packages (#11594)
Spack currently tries to unify everything in the DAG, but this is too strict for build dependencies, where it is fine to build a dependency with a tool that conflicts with a version fo that tool for a dependent's build.

To enable a workaround for conflicts among build dependencies, so that users can install in multiple steps to avoid these conflicts, make the following changes:

* Dont apply package dependency constraints for build deps of installed packages
* Avoid applying constraints for installed packages vs. concrete packages
* Mark all dependencies of installed packages as visited in normalization method
* don't remove dependency links for concrete specs in flat_dependencies

Also add tests:
* Update test to ensure that link dependencies of installed packages have constraints applied
* Add test to check for proper handling of transitive dependencies (which is currently not the case)
2019-06-08 11:43:26 -07:00
Omar Padron
bdf831469a fix qt build on gcc8.3 (#11633)
* fix qt build on gcc8.3

* source patches from upstream

* remove old code adding the same patch
2019-06-08 13:09:16 -04:00
Francois Budin
163ff9f1b6 Add ADIOS2 option to Trilinos (#11609)
ADIOS2 is the latest implementation of the ADaptable Input Output System,
ADIOS. This brand new architecture was designed to continue supporting the
performance legacy of ADIOS, and extend its current capabilities to address
current and future input/output (IO) challenges in the scientific data
lifecycle through effective research and development (R&D) activities.

ADIOS2 was recently added as a Third Party Library of Trilinos when it
was integrated to IOSS, a library inside the SEACAS package.
2019-06-08 16:34:34 +02:00
Axel Huebl
61333dc606 spack list: latest version (JSON) (#11652)
List the latest version of each package in JSON encoding.
Preparation for consumption for a "spack badge" service.
2019-06-07 14:14:08 -07:00
Massimiliano Culpo
6d56d45454 Compiler search uses a pool of workers (#10190)
- spack.compilers.find_compilers now uses a multiprocess.pool.ThreadPool to execute
  system commands for the detection of compiler versions.

- A few memoized functions have been introduced to avoid poking the filesystem multiple
  times for the same results.

- Performance is much improved, and Spack no longer fork-bombs the system when doing a `compiler find`
2019-06-07 09:57:26 -07:00
Jeffrey Salmond
9c1c50fb76 add openmp variant to lammps (#11643)
* add openmp variant to lammps

* add conflict for %gcc@9: and +openmp
2019-06-07 06:43:13 -06:00
Todd Gamblin
06cc799fd3 commands: remove unused spack list --format=rst (#11651)
- We use `spack list --foramt=html` now, as it is much faster and doesn't
  make the docs build take forever.

- Remove `spack list --format=rst` as it is no longer used.
2019-06-06 18:26:43 -07:00
Gregory Lee
7c8e9ab406 added tix package and python variant for tix (#11599)
* added tix package and python variant for tix

* addressing tix review requests

* python +tix requires +tkinter
2019-06-06 17:19:24 -04:00
Todd Gamblin
0c13c3f91f bugfix: StageComposite must include the expanded property` (#11647) 2019-06-06 14:09:19 -07:00
Todd Gamblin
89b891d264 bugfix: lua-luafilesystem package should use stage.source_path (#11648) 2019-06-06 14:07:46 -07:00
Jennifer Herting
541578a456 tests: package_sanity now checks packages in 3rd-party repos (#11637) 2019-06-06 09:18:43 -07:00
Todd Gamblin
3bd854f991 travis: disable spack spec for python 2.7 as well as 2.6
- keep this disabled until the `compiler find` fork bomb is fixed.
2019-06-05 22:41:28 -07:00
Tamara Dahlgren
b76fc827ec tests: add extra coverage for fetch strategy tests 2019-06-05 22:41:28 -07:00
Tamara Dahlgren
1842873f85 stage: make source_path available before stage is built
- `stage.source_path` was previously overloaded; it returned `None` if it
  didn't exist and this was used by client code
  - we want to be able to know the `source_path` before it's created

- make stage.source_path available before it exists.
  - use a well-known stage source path name, `$stage_path/src` that is
    available when `Stage` is instantiated but does not exist until it's
    "expanded"
  - client code can now use the variable before the stage is created.
  - client code can test whether the tarball is expanded by using the new
    `stage.expanded` property instead of testing whether `source_path` is
    `None`

- add tests for the new source_path semantics
2019-06-05 22:41:28 -07:00
Tamara Dahlgren
eb584d895b refactor: remove unused spack.stage._get_mirrors() function 2019-06-05 22:41:28 -07:00
Tamara Dahlgren
8e3fd3f7c2 tty: make tty.* print exception types
- make tty.msg, tty.info, etc. print the exception type and stringified
  message if the message argument is an exception.

- simplify parts of the code that call tty.debug(str(e))

- add extra tty.debug statements in places where exceptions were
  previously ignored
2019-06-05 22:41:28 -07:00
Justin S
8c173da4b7 nettle: fix broken build (#11611)
* nettle: force C99 build

* nettle: update to use c99_flag

from @alalazo

Co-Authored-By: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2019-06-05 19:09:01 -05:00
Christoph Junghans
8fd64dfa08 lammps: added v20190605 (#11638) 2019-06-05 19:07:33 -05:00
Justin S
f4e7786786 clang: fix error messages in c11_flag, cxx17_flag (#11632) 2019-06-05 23:51:38 +02:00
Patrick Gartung
3c0b746f44 libxpm: revert change made in unrelated PR (#11634) 2019-06-05 15:13:19 -05:00
Gregory Lee
cfcf3996d8 set GUILE env var when building gnutls, fixes issue #11601 (#11607) 2019-06-05 10:14:06 -07:00
Todd Gamblin
dc8af3023e graph: refactor static graphs
- `spack graph --static` (and `spack.graph.dot_graph`) now do the "right
  thing" and print the possible dependency graph of provided packages.

- `spack graph --static` no longer concretizes specs, as it only relies
  on class level metadata

- Previously the behavior was not consistent -- `spack graph --static`
  would graph possible dependencies of concrete specs, but would only
  include some of them.  The new code properly pursues all possible
  dependencies, and allows traversing by different dependency types.
2019-06-05 06:11:18 -07:00
Todd Gamblin
2e22fc1090 spack dependencies: support --deptype argument
- `spack dependencies` can now take a --deptype argument to only traverse
  particular deptypes

- add a new "common" argument for deptype in spack.cmd.common.arguments

- Database.installed_relatives() can now also take a deptype argument
  - this is used by `spack dependencies --installed`
2019-06-05 06:11:18 -07:00
Todd Gamblin
3dac78fc19 package: make possible_dependencies consider deptypes
- `PackageBase.possible_dependencies` now:
  - accepts a deptype param that controls dependency types traversed
  - returns a dict mapping possible depnames to their immediate possible
    dependencies (this lets you build a graph easily)

- Add tests for PackageBaes
2019-06-05 06:11:18 -07:00
Todd Gamblin
087a511da7 refactor: remove vestigial ALLOWED_URL_SCHEMES from package.py 2019-06-05 06:11:18 -07:00
Todd Gamblin
87e6cb9f72 refactor: make Package.name consistent with other class attributes
- The 'name' attribute for packages was being set in DirectiveMeta, which
  wasn't consistent with other class properties (like fullname, etc.)

- Move it to be a class property of `PackageMeta`, and add the
  corresponding property method wrapper on `PackageBase`
2019-06-05 06:11:18 -07:00
Todd Gamblin
3f5141d629 refactor: make PackageBase.possible_dependencies() a class method. 2019-06-05 06:11:18 -07:00
Justin S
4ac64e6cd8 add C standard flags to compiler classes (#11618)
* add c99_flag, c11_flag to compiler class

* implement c99_flag, c11_flag for gcc

* implement c99_flag, c11_flag for arm

* implement c99_flag for cce

* implement c99_flag, c11_flag for clang

* implement c99_flag, c11_flag for intel

* implement c99_flag, c11_flag for xl
2019-06-05 11:43:11 +02:00
Andrew Gaspar
b3379a8890 Add Google Benchmark version 1.5.0 (#11626) 2019-06-04 22:53:07 -05:00
Patrick Gartung
efa45125fb Revert "Git: patch to make git relocatable with buildcache. (#11596)" (#11625)
This reverts commit 30ec13f375.
2019-06-04 21:09:05 -05:00
Greg Becker
0990f12dd9 modules: set permissions based on package configuration (#11337)
Previously, module files were not set with the same permissions as the package installation.  For world-readable packages, this would not cause a problem.  For group readable packages, it does:

```
packages:
  mypackage:
    permissions:
      group: mygroup
      read: group
      write: group
```

In this case, the modulefile is unreadable by members of the group other than the one who installed it.  Add logic to the modulefile writers to set the permissions based on the configuration in `packages.yaml`
2019-06-04 19:15:47 -04:00
Patrick Gartung
964a1d5997 Buildcache relocate.py error fix (#11616)
* Add a trailing / if file --mime does not return a mimetype with a / in it

* Flake8
2019-06-04 14:39:04 -05:00
Justin S
a7776972ad hotspot: new package at 6.0 (#11610) 2019-06-04 09:35:54 +02:00
Chuck Atkins
e4f0726927 mesa: Revert updated meson build and restore autotools build (#11595)
Due to the large number of issues this migration has caused, this rolls back
to the older autotools build.  However, it still keeps the updates wrt
variants and virtual packages.
2019-06-03 10:55:36 -04:00
Patrick Gartung
30ec13f375 Git: patch to make git relocatable with buildcache. (#11596)
* Apply patch to git to make it search for config files from its current location instead of the locations hard coded at install.

* Add provenance info for patch

* Pass needed flags to make

* Environment variables need because of relocation
2019-05-31 15:38:40 -05:00
Patrick Gartung
88473a8da3 Build cache: relocate path to spack/bin/sbang in text files. (#11592)
* Build cache: relocate path to spack/bin/sbang in text files.

* Found in testing.

* update packaging test

* Make sbang replacement including #!/bin/bash. Add an additional spack prefix replacement to fix stage directory references.

* flake8

* Use buildinfo.get() so old buildcaches without buildinfo['spackprefix'] can be read.
2019-05-31 11:33:29 -05:00
sameershende
f5a2d7698d Package/tau/tau 2.28.1 update (#11591)
* Updating the TAU package with 2.28 and public repo

* Cleaning up TAU package and fixing binutils to install extras
The extras variant will install the extra ELF headers needed
by the TAU package.  The TAU package has been cleaned up and
extended.

* Adding some comments to the changes in binutils

* Adding correct python support, finding include and lib paths.

* Added PDT 3.25.1.

* Added TAU v2.28.1 with libdwarf and libelf.

* When +libdwarf is activated, +libelf is not automatically activated. It checks separately for libelf.
2019-05-31 10:01:19 -05:00
Justin S
a441fcbe69 alan: new package at 2.1.1 (#11593) 2019-05-30 17:50:14 -05:00
Valentin Reis
0b5ccd22da Adds the aml memory management library. (#11590)
AML is a collection of building blocks for explicit memory management on
complex architectures.

https://xgitlab.cels.anl.gov/argo/aml
https://argo-aml.readthedocs.io/en/latest/
2019-05-30 16:01:28 -05:00
Justin S
f089b9b053 r-randomglm: new package at 1.02-1 (#11589) 2019-05-30 13:35:01 -05:00
Nick Booher
786b59633d Revbayes update (#11559)
* revbayes: new version

* revbayes: pep8
2019-05-30 13:23:32 -04:00
Justin S
9b88f1b851 mathematica: new package at 12.0.0 (#11509)
* mathematica: new package at 12.0.0

* mathematica: add missing os import

* mathematica: fix url format
2019-05-30 13:21:16 -04:00
Frédéric Simonis
8b81f82156 precice: add version 1.5.0 (#11577) 2019-05-29 15:41:48 -05:00
Patrick Gartung
deab45e7c8 Xrootd: set PYTHON_EXECUTABLE with +python variant (#11581)
* Xrootd: set PYTHON_EXECUTABLE with +python variant

When building with python3 PYTHON_EXECUTABLE needs to be set for deprecated FindPythonInterp to work as expected.

* Add comment

* Flake8

* More flake8

* Update package.py

* typo
2019-05-29 15:41:30 -05:00
Patrick Gartung
7438bb7f45 ROOT: set PYTHON_EXECUTABLE (#11583)
Per @adamjstewart  use spec['python'].command.path
2019-05-29 15:41:13 -05:00
Justin S
ca05c2cbd8 py-flye: new package at 2.4.2 (#11584)
* py-flye: new package at 2.4.2

* py-flye: better python version constraint
2019-05-29 15:37:52 -05:00
Justin Too
a49ce3fc32 ROSE: add version 0.9.10.0, update to Autotools, add variants (#9484)
* Also add versions 0.9.9.104, 0.9.9.52, 0.9.9.0, and 'develop'
* Replace version 0.9.7 with 0.9.7.0
* Update Rose to be an Autotools package
* Update boost dependency to 1.60.0 or later (previously 1.47.0)
* Add EDG binary identifiers for ROSE versions installing from
  archives (rather than git)
* Add variants for mvapich2 backend, c++11, debug symbols,
  optimization, and ROSE-based projects (codethorn, autopar, and
  polyopt)
* Remove patch add_spack_compiler_recognition
2019-05-29 12:00:50 -07:00
Hadrien G
ca71f8b044 New versions and bugfixes for the ACTS package (#11578)
* Improve C++ standard computation in ACTS package

* Use a more clever strategy for aligning ACTS cxxstd with ROOT cxxstd

* Add new ACTS releases

* ACTS is not compatible with the new Boost CMake build system yet

* Explain why Boost 1.70 does not work currently
2019-05-29 13:45:09 -05:00
Dustin Wheeler
8804fbd891 Add LSF dependency for OpenMPI (#11532)
* Add LSF package, which cannot be installed by Spack and must be
  system-installed. The package install will fail if no external
  LSF is registered in packages.yaml (LSF may not be installed in a
  well-known location and the external entry helps Spack locate it
  for dependents).
* Add LSF dependency to OpenMPI when schedulers=lsf is chosen
2019-05-29 10:38:55 -07:00
Patrick Gartung
58a4959b1a Add newer Google Benchmark version (#11580) 2019-05-29 12:02:41 -05:00
Patrick Gartung
3a20a93bfa ROOT: Set PYTHON_EXECUTABLE with +python variant (#11579)
* ROOT: Set PYTHON_EXECUTABLE with +python variant

After cmake v3.12 FindPythonInterp used by llvm subsystem is deprecated. Setting -DPYTHON_EXECUTABLE=path_to_python fixes this error:

1 error found in build log:
     118    -- Doxygen disabled.
     119    -- Go bindings disabled.
     120    -- LLVM host triple: x86_64-unknown-linux-gnu
     121    -- LLVM default target triple: x86_64-unknown-linux-gnu
     122    -- Building with -fPIC
     123    -- Found PythonInterp: /usr/bin/python2.7
  >> 124    CMake Error at interpreter/llvm/src/CMakeLists.txt:613 (if):
     125      if given arguments:
     126    
     127        "VERSION_LESS" "2.7"
     128    
     129      Unknown arguments specified
     130

* Flake8

* Update var/spack/repos/builtin/packages/root/package.py

Co-Authored-By: Javier Cervantes <javiercvilla@gmail.com>
2019-05-29 12:02:21 -05:00
Kenneth Moreland
a7ffccfc97 vtkm: fix the directory cmake looks for the source code (#11576)
Previously, the vtkm package was adding a "../" option to the
cmake command line. I suppose this was supposed to be pointing
to the source code, but did not. Rather, Spack correctly adds
the source directory as the first argument to cmake. However,
because ../ was added, it used that as the source directory
instead.

Simply remove this argument to make CMake work correctly.
2019-05-29 11:10:12 -04:00
Axel Huebl
643e7806e0 Catch: 2.8.0 (#11570)
Add the latest Catch2 release.
2019-05-28 15:24:18 -05:00
mathsen
9c9a39538e GnuTLS by default depends on Guile, added a guile variant. Updated GnuTLS to 3.6.8 (#11571) 2019-05-28 15:23:59 -05:00
Satish Balay
0b57c3b8e5 petsc: add version 3.11.2 (#11572) 2019-05-28 15:23:00 -05:00
Denis Davydov
e094e19224 dealii: add 9.1.1 (#11573) 2019-05-28 15:22:39 -05:00
Daryl W. Grunau
6698d1dddb Add support for new unittest-cpp package (#11575)
* bump eospac version

* Revert "bump eospac version"

This reverts commit 835b1f822d.

* Add support for new package: unittest-cpp
2019-05-28 15:21:24 -05:00
Massimiliano Culpo
01ece824e1 Cap the maximum number of build jobs (#11373)
* config:build_jobs now controls the number of parallel jobs to spawn during
builds, but cannot ever exceed the number of cores on the machine.

* The default is set to 16 or the number of available cores, whatever
is lowest.

* Updated docs to reflect the changes done to limit parallel builds
2019-05-28 06:42:04 -07:00
Todd Gamblin
2a51e07fde commands: completion for new --update and --header options (#11566) 2019-05-27 14:13:58 -07:00
Todd Gamblin
3ae5262182 docs: set gettext_uuid to False to reduce churn (#11567)
- `gettext_uuid=True` makes every commit update every .pot file in spack/localized-docs,
  and speeds up the internationalized doc build slightly.

- Optimize for less repository churn, and use `python-levenshtein` to accelerate 
  the build instead.
2019-05-27 13:42:27 -07:00
Axel Huebl
6d54212b94 mirror create: non-zero return code (#8585)
`mirror create` should return a non-zero return code if errors
occured.
2019-05-27 13:01:01 +02:00
Levi Baber
36fda22ed9 r-geomorph: new version (#11556) 2019-05-26 23:34:17 -05:00
健美猞猁
47538a21ec Add a new version for gnutls. (#11546)
* Update URL and add a new version.

* Fix flake8 issues.

* Remove newly-added duplicate url_for_version.
2019-05-26 20:45:16 -05:00
Levi Baber
1efaaad344 py-markdown: new version (#11548) 2019-05-26 20:45:01 -05:00
健美猞猁
7433f9d2cc Add new versions for intel-mkl-dnn. (#11549)
* Add new versions for intel-mkl-dnn.

* Remove the last trailing line.

* Update url and set 0.19 as preferred.
2019-05-26 20:44:34 -05:00
Levi Baber
829bbd7884 r-emmli: new package (#11557) 2019-05-26 20:43:22 -05:00
Olaf Mersmann
af2de9eb2a Update GnuPG and associated packages (#11564)
* libassuan: Update to v2.5.3

* gnupg: Update to v2.2.15

* libgpg-error: Update to v1.36

* libgcrypt: Update to v1.8.4
2019-05-26 20:41:37 -05:00
Axel Huebl
86b2156921 New Package: sl (#11565)
Add the sl program.
2019-05-26 20:40:55 -05:00
Todd Gamblin
d6f2ff1426 link_tree: add option to merge link trees with relative targets
- previous version of link trees would only do absolute symlinks

- this version can do relative links using merge(relative=True)
2019-05-26 18:23:44 -07:00
Todd Gamblin
f32843528e docs: make docs build relocatable for localized builds
- make all Spack paths relative to a `_spack_root` symlink, so that we
  can easily relocate the docs build *outside* lib/spack/docs

- set some useful defaults for gettext translation variables in conf.py

- update `relativeinclude` and other references to the spack root in the
  RST files to use _spack_root
2019-05-26 18:23:44 -07:00
Todd Gamblin
8bf1bd4637 docs: remove legacy import for Sphinx 1.7 2019-05-26 18:23:44 -07:00
Todd Gamblin
e1c5d1378b docs: match ReadTheDocs; use -W (warnings as errors) with Sphinx 2019-05-26 18:23:44 -07:00
Todd Gamblin
3340d586c4 commands: add --update option to spack list
- Add a `--update FILE` option to `spack list`
- Output is written to the file only if any package is newer than the file
- Simplify the code in docs/conf.py using this new option
2019-05-26 18:23:44 -07:00
Todd Gamblin
6380f1917a commands: Add --header and --update options to spack commands
The Spack documentation currently hard-codes some functionality in
`conf.py`, which makes the doc build less "pluggable" for things like
localized doc builds.

In particular, we unconditionally generate an index of commands and a
package list as part of the docs, but those should really only be done if
things are not up to date.

This commit does the following:

- Add `--header` option to `spack commands` so that it can do the work of
  prepending text to its output.

- Add `--update FILE` option to `spack commands` that makes it generate a
  new command index *only* if FILE is out of date w.r.t. commands in the
  Spack source.

- Simplify code in `conf.py` to use these options and only update the
  command index when needed.
2019-05-26 18:23:44 -07:00
Todd Gamblin
43aaf8c404 docs: Use HDF5 as the example package for spack graph 2019-05-26 18:23:44 -07:00
Satish Balay
727089c4ef xsdk@0.4.0: update dealii defaults wrt changes in a973ab475 (#11562)
wrt xsdk@develop - ginkgo requires openmp - so disable until we can add openmp dependencies consistantly
2019-05-26 10:43:06 -05:00
Mark W. Krentel
7c32a4c399 mbedtls: add pic variant (#11558)
Add variant 'pic' for including in shared libraries.

Add build dependency on perl.  Compiling mbedtls runs several perl
scripts.

Add versions 2.7.10 and 2.16.1, the heads of the two main stable
branches.
2019-05-24 21:50:13 -05:00
Stephen Hudson
bb09bdedc6 Update libensemble to v0.5.0 (#11544) 2019-05-24 15:11:56 -05:00
健美猞猁
137cad2915 Add nettle@3.4.1 (#11547) 2019-05-24 15:08:02 -05:00
Massimiliano Culpo
c291866b9a build env: simplify handling of parallel jobs (#11524)
This PR implements several refactors requested in #11373, specifically:

- Config scopes are used to handle builtin defaults, command line overrides 
  and package overrides (`parallel=False`)
- `Package.make_jobs` attribute has been removed; `make_jobs` remains
  as a module-scope variable in the build environment.
- The use of the argument `-j` has been rationalized across commands
  - move '-j'/'--jobs' argument into `spack.cmd.common.arguments`
- Add unit tests to check that setting parallel jobs works as expected
  - add new test to ensure that build job setting is isolated to each build
- Fix packages that used `Package.make_jobs` (i.e. `bazel`)
2019-05-24 11:45:22 -07:00
Massimiliano Culpo
1bd4521f72 Updated lmod (to version 8.1.5) and associated dependencies (#11552)
Lmod version 8.1.5
Lua version 5.3.5
Lua Filesystem 1.7.0.2

Turned tcl to a link dependency so that Lmod's configure can find it.
2019-05-24 12:45:52 -05:00
Adam J. Stewart
6212e0d9b2 Add latest version of py-cython (#11494)
* Add latest version of py-cython

* Fix cython unit tests
2019-05-23 20:01:45 -05:00
Todd Gamblin
ab21b3d194 docs: truncate spack list output in basic usage
`spack list` output is very long and takes up a lot of space in the docs.
Truncate it to just 10 lines and link to the package list page.
2019-05-23 12:40:01 -07:00
Hans Pabst
d6cf3b6718 LIBXSMM 1.12.1 (#11538) 2019-05-23 10:16:32 -05:00
Jon Rood
4c465d2602 Add cppcheck version 1.87. (#11536) 2019-05-22 18:52:48 -05:00
Jon Rood
e57edebb50 Add CMake 3.14.3 and 3.14.4. (#11534) 2019-05-22 15:46:52 -05:00
Omar Padron
a37efefd3d package vtk - improve gl handling (#11530)
* package vtk - improve gl handling

* package vtk - minor cleanup
2019-05-22 12:04:29 -04:00
Dustin Wheeler
c2e087c411 Fix typo in openmpi@2.1.6 libmpi.so comment. (#11529) 2019-05-22 10:37:33 -05:00
t-karatsu
1e9bb8c512 Add Fujitsu compiler to Spack. (#11287)
* Add Fujitsu compiler to Spack.

* Fixes for flake8

* Chenges location of FCC to subdirectory called case-insensitive

* Add compiler tests for Fujitsu compiler

* Modify the logic of taking compiler version for new version of Fujitsu compiler
2019-05-21 20:31:14 -05:00
Denis Davydov
a973ab4751 dealii: add 9.1.0 (#11527) 2019-05-21 16:23:03 -05:00
Levi Baber
b13665d065 py-htseq: new version (#11525) 2019-05-21 12:08:31 -05:00
Elizabeth Fischer
a45c4ef33d Add version (#10594) 2019-05-21 10:03:50 -04:00
Michael Kuhn
1f828ce5b8 Update scorep and friends (#11523) 2019-05-21 12:28:12 +02:00
Denis Davydov
5d6461b895 dealii: fix symengine constraints (#11517)
disable symengine constraints due to limitations of Spack
2019-05-21 07:38:58 +02:00
Chuck Atkins
a34142ed30 mesa: Patch missing gl symbols in OSMesa (#11518) 2019-05-20 22:41:41 -04:00
Glenn Johnson
d1ea5ba2cd OpenMPI: update behavior for fabrics/schedulers=auto (#11431)
* When fabrics=auto or schedulers=auto, the intent is to defer to the
  OpenMPI configure and let it determine and use what it finds
  available on the system. The current behavior for 'with_or_without'
  in the case of 'auto' explicitly disables all possible values.
  This updates the logic to call 'with_or_without' only when the
  value of fabrics/schedulers is not 'auto'.
* To allow explicitly disabling all fabrics/schedulers, each of these
  variants has added support for 'none' (which is also the default
  value).
* Add a conflict for the loadleveler scheduler for openmpi-3 and
  above as it is no longer a valid configure option.
2019-05-20 17:52:17 -07:00
Adam J. Stewart
e2065fad72 Make flake8 check spack script as well as .py files (#11513)
* Make flake8 check bin/spack
2019-05-20 13:39:25 -07:00
Mario Melara
4d71117080 Get Cray OS version from PrgEnv-cray (#10774)
The regex used for finding the Cray OS version from the PrgEnv-cray
module was not exact and was at times pulling the version from other
PrgEnv modules. This updates the regular expression to be more exact.
2019-05-20 11:06:02 -07:00
Andrew Gaspar
2168c08ac5 Update optional-lite and span-lite to use CMakePackage (#11407)
* Update optional-lite and span-lite to use CMakePackage

These packages only have CMake installs on their most recent versions.
Therefore, we overload all of the CMake stages to fallback to the old
versions (no-op for most, copytree for install), and use CMakePackage on
the new versions.

* Add new string-view-lite version with CMake install support

* Only override phases for old versions of *-lite packages
2019-05-20 13:04:06 -05:00
Adam J. Stewart
7fe0230492 Add py-kmodes package (#11497) 2019-05-19 14:17:30 -05:00
Adam J. Stewart
5b6445e519 Add latest version of joblib (#11495) 2019-05-19 14:17:03 -05:00
Adam J. Stewart
ac358a1b4d Add latest version of setuptools (#11493) 2019-05-19 14:16:37 -05:00
David Beckingsale
866b9b5d13 Update Umpire package with new versions (#11441)
* Update Umpire package with new versions

* Fix version ordering
2019-05-18 23:04:12 -05:00
Denis Davydov
a66cc59bb0 trilinos: add variant to disable chaco from seacas (#11482)
* trilinos: add variant to disable chaco from seacas

keep it OFF by default due to the presence of the global symbol "divide"
that can lead to symbol clash with other libraries, for example see
https://github.com/dealii/dealii/issues/8170#issuecomment-492700787

* dealii: add conflict statement for adol-c and Trilinos SEACAS Chaco
2019-05-18 23:01:44 -05:00
Mark W. Krentel
e1bb6821aa dyninst: rework the cmake args for version 10.1 and later (#11484)
* dyninst: rework the cmake args for version 10.1 and later

Add a separate when() case for the cmake args for Dyninst 10.1.0 and
later.  The prereq args have changed enough that this makes things
easier going forward.  (My previous commit 26b9369c was inaccurate and
temporary.)

Dyninst 10.1.0 accepts boost 1.70, but earlier dyninst are restricted
to <= 1.69 (not worth back porting every boost change).

Change all the dyninst versions to 3 digits for clarity and
consistency.

* Add version 10.1.0.
2019-05-18 23:00:48 -05:00
Nichols A. Romero
6ba6c84de5 QMCPACK Update May 2019 (#11492)
* Add QMCPACK 3.7.0

* SOA is now the default.

* Add QMCPACK converter based on QE 6.4
2019-05-18 22:57:52 -05:00
Jean-Paul Pelteret
517212b8a3 Add conflicts in deal.II package between SymEngine and Trilinos variants (#11499) 2019-05-18 22:56:56 -05:00
Adam J. Stewart
6b068a855e Fix typo in spack executable (#11512) 2019-05-18 21:00:46 -05:00
Owen Solberg
92604ed576 intel-tbb: fix patch for old compilers (#11371)
* added patch for intel-tbb@2019.1: with old compilers

* sparately specify when @:2018 and @2019

the reason we can't say @:2019 is that would include @2019.1 where the
patch doesn't work.

* should be possible to list when constraint as @:2019

According to my reading of ["Version ranges" in the Spack
docs](https://spack.readthedocs.io/en/latest/packaging_guide.html#version-ranges),
this should apply to up to `2019` but not `2019.1:`

* @:2019.0 appears to be necessary to specify 2019 but not 2019.1

* specifying 2019.1 2019.2 2019.3 2019.4 separately and explcitly

* flake8 fixes for long lines.

* add comments to explain why so many different patch directives

* remove blank like for flake8

* revert spec %gcc@4.8.0:4.99999 -> %gcc@4.8.0:
2019-05-18 21:00:32 -05:00
George Hartzell
e592262da8 Typos: funciton, woudl, hm,... (#11511) 2019-05-18 11:39:23 -05:00
Mario Melara
9957093e53 Execute modulecmd in bash shell (#11510)
Adds executable=/bin/bash into Popen. We discovered this bug while
working in a csh/tsch environment. By executing with /bin/bash we ensure
that the module command works.
2019-05-18 01:49:19 +02:00
Justin S
c595883195 r-popvar: new package at 1.2.1 (#11490) 2019-05-17 14:45:21 -05:00
Justin S
cc6f822cb1 smof: new package at 2.13.1 (#11502) 2019-05-17 14:44:35 -05:00
Justin S
c7a28ec1d4 r-bglr: new package at 1.0.8 (#11489) 2019-05-17 14:35:38 -05:00
Justin S
719cd6741d r-rrblup: new package at 4.6 (#11488) 2019-05-17 14:34:33 -05:00
Justin S
8c5b41793c r-qtl: new package at 1.44-9 (#11487) 2019-05-17 14:33:42 -05:00
Justin S
c00ed0d942 py-metasv: new package at 0.5.4 (#11476) 2019-05-17 14:33:04 -05:00
Justin S
7a459857e7 py-pybedtools: new package at 0.6.9 (#11475)
* py-pybedtools: new package at 0.6.9

* py-pybedtools: add bedtools2 dep
2019-05-17 14:32:21 -05:00
Justin S
79a0da6098 repeatmodeler: new package at 1.0.11 (#11472) 2019-05-17 14:31:26 -05:00
Sriram Swaminarayan
0557d93080 added branch multisplice to the parsplice package (#11504) 2019-05-17 12:08:40 -06:00
Christoph Junghans
b7f2923607 gasnet: 2019.3.0 (#11503) 2019-05-17 12:02:43 -06:00
Christoph Junghans
2af7688c55 parsplice: needs LAMMPS_EXCEPTIONS (#11500) 2019-05-17 08:57:35 -06:00
Piotr Luszczek
900f8f0806 Add version 2.5.1-alpha1 of MAGMA (#11486) 2019-05-17 08:19:32 -05:00
Todd Gamblin
23c48d94d3 cmake: default to +ownlibs to improve build times (#11483)
- CMake is built *very* frequently, and the number of dependencies it has
  accumulated can take a very long time on some systems.

- Use +ownlibs by default to avoid the build overhead. This won't
  interfere with other packages by introducing conflicting libraries, as
  CMake is nearly always a build dependency.
2019-05-17 08:47:58 +02:00
Jim Galarowicz
c7f23dcd8d OpenSpeedShop/CBTF package updates and fixes (#11470)
This avoids using Boost 1.70.0, fixes library access in OpenSpeedShop
packages, adds new versions, and updates QT dependency constraints
in CBTF and OpenSpeedShop packages

- Constrain Boost dependency to 1.69.0 or earlier to avoid issues
  with 1.70.0 for Open|SpeedShop and CBTF packages
- Update DYNINSTAPI_RT_LIB environment variable to use single library
  from "find_libraries" (which returns a list) in OpenSpeedShop
  packages
  Fixes #11443
- Add version 1.9.3 for CBTF Argo Navis, CBTF Krell, CBTF LANL, and
  CBTF packages
- Add version 2.4.1 for OpenSpeedShop Utils and OpenSpeedShop
  packages
- Update QT dependency to 5.10.0 or greater for QtGraph and CBTF Argo
  Navis packages
2019-05-16 18:19:55 -07:00
Michael Kuhn
e90b4ce6fb CDO package: Fix build with gcc@9 (#11464)
This makes several changes to make CDO work with gcc@9:

- Add version 1.9.7rc2
- Add a patch to make version 1.9.7rc2 build with gcc@9:
- Add a conflict with GCC 9 for earlier versions of CDO

It also adds a pkgconfig build dependency as configure checks for it.
2019-05-16 17:53:38 -07:00
Andrew Gaspar
8675f44d45 Kokkos package: add debug variant (#11469) 2019-05-16 17:35:23 -07:00
Massimiliano Culpo
c03be0d65a Command extensions can import code from modules in root or cmd folder (#11209)
#8612 added command extensions to Spack: a command implemented in a
separate directory. This improves the implementation by allowing
the command to import additional utility code stored within the
established directory structure for commands.

This also:

* Adds tests for command extensions
* Documents command extensions (including the expected directory
  layout)
2019-05-16 17:27:42 -07:00
Chris Green
b9370bf20b Allow command access to dump/pickle_environment from #8476 (#11434)
* Allow command access to dump/pickle_environment from #8476
2019-05-17 09:15:32 +09:00
Chris Green
f90507a227 numpy: new version 1.16.3; update historical versions. (#11364) 2019-05-16 11:44:43 -05:00
Chuck Atkins
c2d6095cf3 paraview: fix several dependency issues (#11432)
* Use externally provided mpi4py
* Make mpi4py and numpy both build deps instead of only run deps
* libxt is only on ~osmesa platform=linux
2019-05-16 09:04:44 -04:00
Matthias Wolf
7fcf534b25 junit: escape remaining inputs. (#11382) 2019-05-16 14:40:07 +02:00
David Beckingsale
5ccc695bfb Fix CMake versions dependencies in RAJA package (#11440) 2019-05-16 13:54:52 +02:00
Thomas Gruber
0337170d34 Likwid: added versions 4.3.3 and 4.3.4 (#11479) 2019-05-16 13:35:25 +02:00
Denis Davydov
38a59e6e37 symengine: add 0.4.0, fix dependency in dealii (#11473) 2019-05-16 12:23:21 +02:00
Todd Gamblin
a750237532 flake8: add exceptions for overly pedantic camelcase rules from pep8-naming (#11477)
Rules N813 and N814 prevented import statements like this:

  xml.etree.ElementTree as et
  xml.etree.ElementTree as ET

But both of those seem pretty reasonable.  We see no reason to require any camelcase import to be imported "as" a camelcase word.
2019-05-16 09:47:02 +02:00
ktsai7
f68f5e3014 Update flecsi package.py (#11442)
* Update flecsi package.py

* Update package.py

* Update package.py

* Update package.py
2019-05-15 15:29:08 -06:00
Justin S
bfb0f57492 r-geonames: new package at 0.999 (#11455) 2019-05-15 16:04:50 -05:00
Justin S
11bd795ca8 repeatscout: new package at 1.0.5 (#11409)
* repeatscout: new package at 1.0.5

* repeatscout: add trf runtime dependency

* repeatscout: add nseg runtime dependency
2019-05-15 16:04:17 -05:00
Justin S
19355cafae r-phylostratr: new package (#11053) 2019-05-15 16:03:36 -05:00
Justin S
5f5616d6a2 r-taxizedb: new package at 0.1.4 (#11052) 2019-05-15 16:02:54 -05:00
Justin S
b19429159f r-rmysql: add 0.10.17, mariadb-connector-c dependency (#11044)
* r-rmysql: add 0.10.17, mariadb-connector-c dependency

* r-rmysql: add dbi, mariadb version constraints
2019-05-15 15:58:15 -05:00
Justin S
62fa813678 recon: new package at 1.08 (#11408)
* recon: new package at 1.08

* recon: add period

* recon: use proper decorators, better documentation

* recon: fix incorrect os import

* recon: add repeatmasker patch as variant
2019-05-15 15:55:10 -05:00
Justin S
80d7573df8 r-rnoaa: new package at 0.8.4 (#11461) 2019-05-15 15:52:17 -05:00
Justin S
a99454ec6d r-isdparser: new package at 0.3.0 (#11460) 2019-05-15 15:51:50 -05:00
Justin S
cdd8da7251 r-crul: new package at 0.7.4 (#11459) 2019-05-15 15:51:11 -05:00
Justin S
cfad3cd06c r-httpcode: new package at 0.2.0 (#11454) 2019-05-15 15:50:32 -05:00
Justin S
f3dd933e3f r-urltools: new package at 1.7.3 (#11458) 2019-05-15 15:48:54 -05:00
Justin S
c49017a4c5 r-triebeard: new package at 0.3.0 (#11457) 2019-05-15 15:48:17 -05:00
Justin S
230db7c880 r-curl: add 3.3 (#11456) 2019-05-15 15:47:45 -05:00
Denis Davydov
9d34326992 fix suite-sparse built with tbb from intel-parallel-studio (#11134)
* fix suite-sparse built with tbb from intel-parallel-studio

* intel: add tbb_headers, strip newline from cxx_lib

* use property
2019-05-15 11:03:19 -07:00
Justin S
5c021f5416 New package: NSEG (starting at version 1.0) (#11410)
The source is managed as a set of files in an FTP URL. Since there
are no FetchStrategy's implemented for this setup, the files are
managed as a set of Resource's
2019-05-15 10:35:38 -07:00
Leonhard Reichenbach
eae9b0908a CMake package: add dependencies (#11257)
Add dependencies to CMake and GnuTLS which would otherwise be
picked up from the system

* Add gnutls as explicit dependency of CMake
* Add new package libidn2 as explicit dependency for gnutls
2019-05-15 10:07:31 -07:00
Christoph Junghans
0226a95232 parsplice: fix build (#11462) 2019-05-15 08:18:35 -06:00
Todd Gamblin
1dc8f952a5 Use svn info --xml instead of svn info to get svn revisions (#11466)
- `svn info` prints different results depending on the system locale
  - in particular, Japanese output doesn't contain "Revision:"

- Change Spack code to use XML output instead of using the human output
2019-05-15 13:37:02 +02:00
Brian Van Essen
821b7d3b93 Added setuptools to receipe (#11463) 2019-05-15 12:19:04 +02:00
Michael Kuhn
58c5442d62 kitty: Fix pkgconfig dependency (#11465)
pkgconfig is the correct virtual dependency while pkg-config is a
specific implementation.
2019-05-15 12:18:16 +02:00
Sinan
54d56db1f1 New package: py-pyrosar (#11428) 2019-05-15 10:53:30 +09:00
Sinan
733c2a2554 New package: py-spatialist (#11427) 2019-05-15 10:52:31 +09:00
Sinan
63af41c0c6 New package: py-tblib (#11425) 2019-05-15 10:51:37 +09:00
Sinan
e2ce4386e2 New package: py-scoop (#11423) 2019-05-15 10:50:41 +09:00
Sinan
249845e80b New package: py-progressbar2 (#11421) 2019-05-15 10:49:28 +09:00
Sinan
544cf085b4 New package: py-python-utils (#11422) 2019-05-15 10:47:28 +09:00
Christoph Junghans
6083de3baa nut: add v0.1.1 (#11444) 2019-05-14 16:36:31 -06:00
Justin S
723eea00f3 r-construct: new package at 1.0.3 (#11452) 2019-05-14 16:24:01 -05:00
Justin S
1ceeac8603 r-rstan: add 2.18.2 (#11447) 2019-05-14 16:23:14 -05:00
Justin S
fc890c80fb r-loo: new package at 2.1.0 (#11448) 2019-05-14 16:22:29 -05:00
Brian Van Essen
92040a475f LBANN: add support for new python front end (#11395)
* LBANN: add python dependency and required python library dependencies
* LBANN: add version 0.99 as alias for develop branch
* LBANN: build Conduit library by default
* LBANN: CUB is included with Hydrogen for later versions
* New package: py-graphviz (dependency for LBANN)
* New package: py-texttable (dependency for LBANN)
* New package: py-onnx (dependency for LBANN)
* New package: py-typing-extensions (dependency for py-onnx)
* Conduit: add version 0.4.0
* NCCL: Add versions 2.4.6-1 and 2.4.2-1
* Protobuf: Add versions 3.7.1 and 3.7.0
* py-protobuf: add version 3.7.1
* py-typing: add version 3.6.4
* cuDNN: add versions. The source differs depending on the
  architecture, so the versions include a suffix to encode this.
  For example this adds 7.5.1-10.1-x86_64 as well as
  7.5.1-10.1-ppc64le
* cuDNN: Newer versions require newer versions of CUDA
* Hydrogen: add configure options for CUB and Aluminum
2019-05-15 06:20:00 +09:00
Justin S
7ff4105ab5 gmap-gsnap: add 2019-05-12 (#11453) 2019-05-14 15:58:48 -05:00
Justin S
f726e14a0a r-rstantools: new package at 1.5.1 (#11451) 2019-05-14 15:57:54 -05:00
Justin S
ea49b64c44 r-caroline: new package at 0.7.6 (#11450) 2019-05-14 15:57:33 -05:00
Justin S
a4ceffa4ff r-stanheaders: add 2.18.1 (#11446) 2019-05-14 15:18:03 -05:00
Justin S
4f1717998a r-withr: add 2.1.2 (#11445) 2019-05-14 15:17:25 -05:00
Justin S
c6d34076dc repeatmasker: add 4.0.9, refactor interactive config (#11385) 2019-05-14 15:16:32 -05:00
Jon Rood
5cd593743e PNetCDF package: enable option required by NetCDF (#11420)
The --enable-relax-coord-bound option was added in 1.8.0. NetCDF
4.6.3 enabled relax coords by default and required it from PNetCDF.
PNetCDF 1.10.0 enabled it by default but for versions between 1.8.0
and 1.10.0 it should be enabled explicitly.
2019-05-15 05:15:38 +09:00
Peter Scheibel
c54f23d405 CUDA package: exclude compat libs (#11449)
CUDA 10.0 provides Compatability libraries for running newer versions
of CUDA with older drivers. These do not work with newer drivers.
2019-05-15 04:59:12 +09:00
Justin S
a5cf50df2e megadock: new package at 4.0.3 (#10537)
* megadock: new package at 4.0.3

* megadock: remove CudaPackage redundancies

* megadock: move env vars to build targets, use cuda_arch variant

* megadock: flake8 fixes, more flexible mathlib
2019-05-14 14:47:19 -05:00
Jon Rood
f7a778af3c Fix py-yt for Python 2 by requesting older py-ipython version (#11416)
* Fix py-yt for Python 2 by requesting older py-ipython version.
* Add conflicts statement to py-ipython because version 7: is not
  compatible with python@2.7
2019-05-15 04:24:52 +09:00
william-dawson
76dd7a92e1 New Package: NTPoly (#11412) 2019-05-15 04:06:10 +09:00
Greg Becker
b5316c31af Remove vestigial print statement in module logic (#11438)
Remove a vestigial print statement introduced in #8570
2019-05-14 09:03:34 +09:00
Jon Rood
4a013adc3e Add new versions of metaphysicl and change masa to use branch instead of tag. (#11436) 2019-05-14 08:56:52 +09:00
Justin S
4fcd70cc29 r-bh: add 1.69.0-1 (#11435) 2019-05-14 08:56:14 +09:00
Levi Baber
71d8b8a9b6 rename py-pauvr to py-pauvre (#11437)
* rename py-pauvr to py-pauvre
2019-05-14 08:55:53 +09:00
George Zagaris
a27f2978b9 m4 package: fix OS version check (#11290)
f242f5f removed spec.architecture.platform_os, which was used to test
an option in the 'm4' package. The attribute is now accessed as
'spec.architecture.os'.
2019-05-14 04:53:23 +09:00
Adam J. Stewart
f283487670 Add master branch of leveldb (#11405) 2019-05-13 14:35:15 -04:00
Todd Gamblin
3c2e4b9558 tests: stop testing Python 3.4 2019-05-11 16:39:53 -07:00
Todd Gamblin
963eb98979 tests: require Python 2.6 tests to pass 2019-05-11 16:20:36 -07:00
Todd Gamblin
dda90a5666 bugfix: Do not run spack spec in the test environment for Python 2.6
- Trying to get our Python 2.6 tests working again.
- This seems to crash travis in the 2.6 environment, for whatever reason.
2019-05-10 13:13:44 -07:00
Todd Gamblin
54920d100a enable coverage for python 2.6 unit tests 2019-05-10 13:13:44 -07:00
Shane R. Spencer
dcbe798ca7 New package: py-pycares (starting at 3.0.0) (#11340) 2019-05-11 03:48:37 +09:00
Chuck Atkins
418d9f07dc mesa: Add 19.0.4 (#11415) 2019-05-10 13:25:26 -05:00
Hans Pabst
8f0fe5939f LIBXSMM 1.12 (#11414) 2019-05-10 13:11:47 -05:00
Jon Rood
feac68d248 Add new version of PGI compiler. (#11417) 2019-05-10 13:11:23 -05:00
Chris Green
7467a46c2c sqlite: add versions; restore old versions; variant resolves security issues. (#11336)
* Add versions 3.27.{0,1,2} and 3.28.0
* Add url_for_version: the URL format includes the year so this
  function maps version ranges to years
* Restore patches for versions removed in 84c547c: this commit
  removed versions before 3.26.0 due to a security issue with FTS
  support. Add a +fts variant (default true) that enables FTS
  support along with a conflict for +fts with earlier versions.
2019-05-11 02:58:23 +09:00
Todd Gamblin
3903658bfc coverage: only run coverage for subset of unit tests
- Codecov cannot handle as many coverage reports as we are generating

- as a result, our PR coverage pages have been broken for a while, and
  it's hard to tell people where to enhance their testing in PR reviews.

- Scale back to only running coverage for 3.7 and 2.7 unit tests

- This is *probably* better.  We run the build tests for good measure,
  but we do not need to evaluate them for coverage.  The coverage reports
  are about unit tests.
2019-05-11 02:23:22 +09:00
Chuck Atkins
85fa2dbe36 paraview: Fix OpenGL search to ignore glvnd (#11400) 2019-05-10 09:47:20 -04:00
xfzhao
d0bfe753be py-pauvr:new package (#11292)
* py-pauvr:new package

* py-pauvr: using url and Releases

* py-pauvr: remove extra comments
2019-05-10 08:29:45 -05:00
Greg Becker
f67a59fabc permissions: preserve suid and sgid bits (#10727)
* Don't overwrite suid/sgid bits when setting permissions
* add tests for permission setting
2019-05-10 00:38:13 -07:00
Glenn Johnson
c752af098d Intel packages: multiple installs and optional scalapack libs (#11384)
Add fixes to support multiple installs and dependents using a subset
of IntelPackage functionality.

* Update IntelPackage to only return scalapack libraries if the root
  spec depends on MPI: scalapack requires MPI to be mentioned as a
  dependency in the DAG. Package builds using intel-mkl for its
  blas/lapack implementations but not for scalapack were failing to
  build.

  Ideally it would be possible to ask if any of the packages in the
  DAG are actually requesting the scalapack functionality provided by
  the IntelPackage and only return scalapack libs in that case, but
  that is not easily done at this time.

  Fixes #11314
  Fixes #11289

* set HOME when the intel silent installer is run. This prevents the
  installer from using the ~/intel directory (which can cause
  conflicts for multiple installs of the same IntelPackage)

  Fixes #9713
2019-05-10 10:54:05 +09:00
Greg Becker
3d3cea1c87 modules: use new module function instead of get_module_cmd (#8570)
Use new `module` function instead of `get_module_cmd`

Previously, Spack relied on either examining the bash `module()` function or using the `which` command to find the underlying executable for modules. More complicated module systems do not allow for the sort of simple analysis we were doing (see #6451).

Spack now uses the `module` function directly and copies environment changes from the resulting subprocess back into Spack. This should provide a future-proof implementation for changes to the logic underlying the module system on various HPC systems.
2019-05-09 15:04:24 -07:00
Peter Josef Scheibel
53ec16c9e5 make license check more-strict
The license text is now expected to match almost exactly (not
accounting for formatting in different file types (e.g. rst vs.
bash script vs. python)
2019-05-10 04:37:56 +09:00
Peter Josef Scheibel
7e94774214 update aom package license 2019-05-10 04:37:56 +09:00
Peter Josef Scheibel
57a65acedc update license date range for simgrid 2019-05-10 04:37:56 +09:00
Mark W. Krentel
26b9369c57 dyninst: update cmake args and boost dependency (#11378)
* Starting with the upcoming 10.1 release, Dyninst changed the names of
  some cmake args to camel case: LIBELF_* to LibElf_* and LIBDWARF_* to
  LibDwarf_*.  This change is needed now for @develop and will be used
  for 10.1 when it is released.
* New versions of Dyninst now requires cmake version 3.4.0 or later.
* Restrict boost dependency version to < 1.70.0 to avoid build error
2019-05-10 03:58:41 +09:00
David Gardner
ac3cbfd69a update to texlive 2019 (#11365) 2019-05-09 13:47:43 -05:00
Tiziano Müller
92c4567404 elpa: override headers prop for common include-dir localization
... and apply this in SIRIUS, CP2K & QE.

Thanks to @scheibelp for the idea.
2019-05-10 03:43:02 +09:00
Tiziano Müller
f87722b74d packages/cp2k: require libxsmm 1.11+ 2019-05-10 03:43:02 +09:00
Tiziano Müller
4b3e43cc64 packages/cp2k: build with -ggdb with GNU for backtraces 2019-05-10 03:43:02 +09:00
Tiziano Müller
f343d6fc68 packages/cp2k: add support for sirius 2019-05-10 03:43:02 +09:00
Tiziano Müller
844a993605 packages/json-fortran: initial commit, required by CP2K+sirius 2019-05-10 03:43:02 +09:00
Tiziano Müller
a3341bbdf3 packages/sirius: initial commit 2019-05-10 03:43:02 +09:00
Tiziano Müller
3b72d71d9c packages/libvdwxc: initial commit, required for SIRIUS 2019-05-10 03:43:02 +09:00
Jerome Soumagne
a5f88d6ec8 Clean up mercury package and add boostsys, shared variants (#11368)
Use tarballs instead of git tags

Fix openpa dependency on gcc < 4.9

Fix boost dependency

Change sm variant default to true
2019-05-09 12:56:10 -05:00
Michael Kuhn
d284ea39a1 nco: Add 4.7.9 (#11389)
Earlier versions do not compile with gcc@9.
2019-05-09 12:33:36 -05:00
Michael Kuhn
ebc32319f6 netcdf: Fix build if curl is not installed (#11387)
For 4.7.0, configure fails if curl is not installed.
2019-05-09 13:23:49 -04:00
Michael Kuhn
4e0c909d0a qt: Fix build with gcc@9 (#11391) 2019-05-09 11:28:56 -05:00
Michael Kuhn
2b378f27a2 papi: Add 5.7.0 (#11390)
This also fixes the GCC patch to be applied for versions 8 and up.
2019-05-09 11:26:05 -05:00
Michael Kuhn
220cf08f82 gcc: Add 9.1.0 (#11386) 2019-05-09 11:25:29 -05:00
Michael Kuhn
a9febea40f mesa: Add missing dependencies (#11394) 2019-05-09 07:56:37 -04:00
Todd Gamblin
d95bef06e5 Make CODE_OF_CONDUCT.md more Spack-specific (#11403) 2019-05-08 17:49:03 -07:00
Chuck Atkins
5ac0172b33 qt: sqlite needs to be a run dep because of the qt plugin infrastructure (#11399) 2019-05-08 18:41:25 -04:00
Chuck Atkins
a0dc4dc94d mesa: Add 19.0.{1,2,3} (#11401) 2019-05-08 18:40:26 -04:00
Christoph Junghans
5445e17089 nut: fix nut build (#11393) 2019-05-08 11:34:48 -06:00
Kelly (KT) Thompson
bcdf9572e5 Provide a patched version of random123 that will work on ARM platforms (#11388)
+ The additional patch enables a non-optimized random123 code path that will
  work on ARM architectures. This solution is provided only for version 1.09 to
  allow the most current version of Random123 to function on ARM architectures.
+ A more complete, long term solution will be the addition of a native ARM
  intrinsics-based implementation of random123.  This solution is being worked
  on but it is several weeks or months away.  Once the full implementation is
  available it will be provided to the author/maintainer of Random123.
2019-05-08 08:38:47 -06:00
Seth R Johnson
6cdbc33c90 Hide some variables in spack-build.env file
Don't arbitrarily reset PWD and OLDPWD when sourcing, as well as other
session-specific IDs
2019-05-08 06:36:52 +09:00
Chuck Atkins
e4ce4e5c2c llvm: Adjust default supported targets
The default install for llvm should just be the common typical case, i.e.
support for local host and cpu architectures.  Enablingsupport for the wide
array of auxiliary architectures should be explicit rather than implicit.
2019-05-08 04:36:43 +09:00
Janne Blomqvist
4a83b4710c Add OpenBLAS 0.3.6 (#11375)
Signed-off-by: Janne Blomqvist <janne.blomqvist@aalto.fi>
2019-05-07 13:36:38 -05:00
Levi Baber
43204049aa py-scikit-learn: needs setuptools (#11379) 2019-05-07 13:35:32 -05:00
Mark W. Krentel
119d04d53f hpcviewer: add version 2019.04 (#11380) 2019-05-07 13:34:05 -05:00
Chuck Atkins
251f3f5058 ninja: drop python as a run dep (#11347)
* ninja: Make python a build-only dependency

* ninja, ninja-fortran: allow the packages to provide eachother
2019-05-07 13:07:24 -04:00
xfzhao
65ff6ed8f6 py-pysam: update (#11377) 2019-05-07 08:29:05 -05:00
Chris Green
01eaca607f Environment path sanitization and sourcing (#8476)
Add two functions to the EnvironmentModifications object to help
users sanitize environment variables in their package definitions:

* deprioritize_system_paths: this keeps system paths in the
  environment variable but moves them to the end.
* prune_duplicate_paths: remove any duplicate paths from the
  variable

This includes testing for the new functions as well as for
(previously-untested) old convenience functions for environment
variable manipulation.

This also adds special handling for bash functions so they
will be defined when the exported environment file is sourced.
2019-05-07 11:29:18 +09:00
Felix Niederwanger
6de3e1c7b6 New package: CCfits (#11262) 2019-05-07 03:58:29 +09:00
George Hartzell
96a95bb5bf Mesa should depend_on('glproto') (#11360)
* Mesa should depend_on('glproto')

The mesa package refers to `GL/glproto.h`.  On systems that don't have
the OS packages installed, this leads to failures during the build
[e.g. this comment in
01482](https://github.com/spack/spack/pull/10482#issuecomment-488786745).

This fixes it.  Tested on a minimally provisioned CentOS 7.

* Constrain glproto prereq to when +glx

* mesa: make glproto a build only dep
2019-05-06 14:37:13 -04:00
G-Ragghianti
b64a286820 SLATE package: fix variant/header errors (#11353)
* The 'mkl' variant implementation was not complete and was
  preventing the package from building, so remove it.
* The slate.hh file has moved in the 'develop' version (which is
  currently the only version of SLATE listed)
2019-05-07 02:52:40 +09:00
Todd Kordenbrock
dd3573b78d FAODEL: Add FAODEL package to spack (#11323)
* FAODEL: Add FAODEL package to spack

FAODEL (Flexible, Asynchronous, Object Data-Exchange Libraries) is a collection
of software libraries that are used to implement different data management
services on high-performance computing (HPC) platforms. This project is part of
the Advanced Technology Development and Mitigation (ATDM) effort for NNSA's ASC
program at Sandia National Laboratories.

(cherry picked from commit 6afe045d25)

* FAODEL: Update FAODEL package

  Dependencies: set minimum versions for boost, cmake and libfabric
  Dependencies: add conflict for boost v1.59.0
  Patch: add a patch for v1.1803.1
  Patch: add a when= for the v1.1811.1 specific patches
  Compiler: check for C++11 support in gcc

(cherry picked from commit fb6ed2b3cf20d7e4fff647cba5a70887a78f627f)

* FAODEL: Update FAODEL package

  * replace previous maintainers with @tkordenbrock and @craigulmer
  * default to shared libs to meet Spack policy
  * increase min boost version to 1.60.0 and remove boost 1.59.0 conflict
  * replace complex version check with conflict for gcc <= 4.8.0 (C++11 support required)
  * set type=build for cmake
  * enable googletest for all versions with type=build
  * enable tests for for all versions except when MPI is disabled

* FAODEL: Update FAODEL package

  * add version v1.1811.2
  * limit comment line length
2019-05-06 13:44:32 -04:00
Justin M Wozniak
4c6fb4cefe Turbine package: add m4 dependency (#10948)
m4 is a build and run dependency for Turbine: it is used at run time
to generate scheduler job files for the workflows.
2019-05-07 02:36:32 +09:00
Cameron Smith
78ade980d4 omega-h package: add version 9.27.0 (#11366) 2019-05-04 06:59:26 +09:00
Bili Dong
74295a1217 py-yt package: add versions 3.5.0, 3.5.1, 4.0 development branch (#11350) 2019-05-04 06:49:11 +09:00
Patrick Gartung
9a85a7a5aa Binary caches on MacOS - allow expanded RPATHs (#11345)
Fixes #11335

Update the Spack compiler wrappers to add the headerpad_max_install_names
linker flag on MacOS. This allows the install_name_tool to rewrite
the RPATH entry of the binary to be longer if needed. This is
primarily useful for creating and distributing binary caches of
packages (i.e. using the "spack buildcache" command); binary caches
created on MacOS before this commit may not successfully relocate
(if the target root path is larger).
2019-05-04 06:41:57 +09:00
cedricchevalier19
328a3f97fd cURL package: add gssapi option (#11344)
This option allows curl and its dependents (git, ...) to work with
proxy using Kerberos authentification.
2019-05-04 05:43:56 +09:00
Sinan
ddf485ee6d New package: GMTSAR (#11315) 2019-05-04 05:40:14 +09:00
Thilina Rathnayake
c2f9061a3c Nek5000: Fix CFLAGS and FFLAGS handling (#11339) 2019-05-04 03:52:45 +09:00
Justin S
9b0000d04f New package: PASTA (#11338) 2019-05-04 03:50:54 +09:00
Sinan
df15969a7d rJava package: add version 0.9-11 (#11334) 2019-05-04 03:45:35 +09:00
Owen Solberg
c031cff2bc BLAST-Plus package: add versions 2.9.0 and 2.8.1 (#11333) 2019-05-04 03:33:35 +09:00
Greg Sjaardema
74fe12bb4e NETCDF: add version 4.7.0 (#11330) 2019-05-04 03:31:36 +09:00
Greg Sjaardema
5d9d8171bb PARALLEL-NETCDF: add version 1.11.1 (#11329) 2019-05-04 03:30:35 +09:00
Sinan
ba58b2f43a GDAL package: add version 2.4.1 (#11328) 2019-05-04 03:30:10 +09:00
Leonhard Reichenbach
edac053cf5 libunistring: added newer versions and patch older ones (#11255)
* Add versions 0.9.10, 0.9.9, and 0.9.8
* Port a change in 0.9.10 to earlier versions as a patch
2019-05-04 03:21:43 +09:00
Massimiliano Culpo
5ffb270714 Added a function that concretizes specs together (#11158)
* Added a function that concretizes specs together

* Specs concretized together are copied instead of being referenced

This makes the specs different objects and removes any reference to the
fake root package that is needed currently for concretization.

* Factored creating a repository for concretization into its own function

* Added a test on overlapping dependencies
2019-05-04 03:04:38 +09:00
Federico Ficarelli
0425670942 arm-forge: add all available versions (#11198)
* arm-forge: add all available versions

* Add TODO for the version hell

* Fix linting

Looks like 'black' formatter isn't Spack friendly

* Fix versions ordering

* Remove obsolete package (allinea-forge → arm-forge)
2019-05-03 08:14:25 -07:00
Chris Green
2d8708e542 range-v3: New versions 0.3.7, 0.4.0, 0.5.0. (#11358) 2019-05-03 09:13:50 +02:00
Chris Green
2155d611df libxml2: New version 2.9.9. (#11357) 2019-05-03 09:13:22 +02:00
Chris Green
fe7e85e6d9 cppunit: New version 1.14.0. (#11359) 2019-05-03 09:12:22 +02:00
Phil Carns
2c2228df59 add BMI package (#11310)
- also enable optional dependency in Mercury
2019-05-03 09:11:31 +02:00
Nichols A. Romero
42b01c02b1 QMCPACK: compiler flags and mpi wrapper updates (#11326)
* Set mpi compiler wrappers using CC/etc. variables as recommended
  at https://spack.readthedocs.io/en/latest/packaging_guide.html#compiler-wrappers
  rather than setting CMake variables like -DCMAKE_C_COMPILER
* Use convenience functionality provided by inherited CMakePackage to
  export all compiler flags as CMake options
2019-05-03 11:13:19 +09:00
Christoph Junghans
54c19ce16c py-espresso: added v4.0.2 2019-05-03 10:40:54 +09:00
Patrick Schratz
dd668cb00c grass package: use url_for_version, add versions (#11324) 2019-05-03 10:40:23 +09:00
Vanessasaurus
4aeb0d19bd Singularity package: new version, legacy builds, and root permissions (#11094)
* Remove old Singularity versions, add version 3.1.1
* Recent versions of Singularity build with go rather than autotools:
  update dependencies and build logic
* Move old Singularity versions to new singularity-legacy package
  which uses the autotools build system
* Some binaries built by Singularity need to be run as root: include
  a script that the user can run after the Spack Singularity install
  to change these permissions.
* The Singularity go build expects to work with a custom stage
  directory relative to GOPATH: override the stage phase to create
  this expected path.
* Update Singularity install config to point to Spack-installed
  makesquashfs dependency
2019-05-03 10:27:13 +09:00
Chuck Atkins
f44443ed3a llvm: depend on python only when +python (#11348)
Based on the LLVM documentation [1], Python is used to run the automated
test suite. Therefore is it always a dependency for LLVM. However, if
build without Python (~python), we limit it to a build time dependency.

Note that py-lit is not added as a spack dependency even though it is
available as a spack package. This is because it is already included
in llvm and llvm is difficult to configure using an external py-lit
(several CMake variables to set correctly). Additionally, having
py-lit as a spack dependency adds Python as a runtime dependency
for llvm even though it is not required at runtime.

[1] https://llvm.org/docs/GettingStarted.html#requirements
2019-05-02 16:21:06 -04:00
Denis Davydov
5b82bf47af extend Version class so that 2.0 > 1.develop > 1.1 and develop > master > head > trunk > 9999 (#1983)
* extend Version class so that 2.0 > 1.develop > 1.1

* add concretization tests, with preferences and preferred version.

* add master, head, trunk as develop-like versions, develop > master > head > trunk

* update documentation on version comparison
2019-05-03 03:32:40 +09:00
Omar Padron
0bbd41c7f7 install spack under /opt/spack in docker images (#10969)
* install spack under /opt/spack
2019-05-02 12:05:42 -04:00
Levi Baber
9e72fc48c8 fix error when adding package to env in container (#11321) 2019-05-02 11:04:21 -05:00
Patrick Gartung
309122c329 Don't use buildcache to install patchelf (#11343) 2019-05-02 10:02:25 -05:00
Hans Pabst
0e9513be97 LIBXSMM: add version 1.11, update wrapper settings (#11317)
Remove makefile editing to set compiler wrappers (which was not
working) and instead set them as arguments to 'make'.
2019-05-02 08:45:00 +09:00
Simon Flood
ff2be5e866 R: add version 3.6.0 2019-05-02 08:34:00 +09:00
Daryl W. Grunau
7a3be1bf15 New package: py-pydv (#11313) 2019-05-02 08:28:21 +09:00
tcojean
68c4849f77 Ginkgo package: update to release 1.0.0 (#11312)
* Version 1.0.0 was released and the master branch tracks the
  latest release.
* Multiple issues with MacOS have been fixed. The static patch is
  now unneeded.
* Add support for building Ginkgo with the full Block Jacobi
  performance (compilation takes a long time).
* Do not build anything which is not useful for the installation.
  Namely, documentation, benchmarks, examples and tests.
2019-05-02 08:25:39 +09:00
Phil Carns
396955b9ba New package: libpmemobj-cpp (#11309) 2019-05-02 08:12:01 +09:00
Felix Mayr
c2e280b794 python: add versions 3.7.3, 3.5.7, and 3.4.10 (#11300) 2019-05-02 08:01:30 +09:00
Chuck Atkins
9f848205e4 mesa: re-written to new meson build system (#10482)
* mesa: re-writen to new meson build system

* xorg-server: Remove unneeded mesa dependency

* glx: provide the virtual GLX package

* Convert most "mesa" dependencies to use virtual gl and glx dependencies

* mesa: Switch to always building from the git repo instead of a tarball

* Use gl and glx version ranges instead of exact versions

* glx: provide a default package

* add auto to swr variant

* Revert "add auto to swr variant"

This reverts commit 2e7cd8a8ac.

* update mesa package to version 19.0

* set +glx by default only when running on linux

* fix style issues in geant4 package

* remove virtual package "egl"
2019-05-01 17:57:33 -05:00
Phil Carns
a698ac9711 add PMDK 1.6
- also remove superflous ncurses dependency for PMDK 1.5
2019-05-02 03:37:22 +09:00
Kelly (KT) Thompson
2e6eaa2c0a trilinos: add variant for ShyLU support (#11294) 2019-05-02 03:36:00 +09:00
Sean McGrath
a605fc7e06 ffmpeg package: add aom support (#11210)
* Add Aom package
* Add aom variant to ffmpeg package which controls whether to build
  with the Aom dependency
2019-05-02 03:33:03 +09:00
xfzhao
2a1ba0e142 Supernova package: add version 2.1.1 (#11285) 2019-05-01 09:56:53 +09:00
Francois Budin
b56e418dfe Add margo package and add rc1 tag for argobots package (#11281)
margo package is a required dependency for unifycr but the package
was not available in spack. margo requires a recent version of argobots
that has the ABT_SCHED_BASIC_WAIT scheduler (rc1 does while previously
available versions of this package in spack did not have it).
2019-05-01 09:47:34 +09:00
Francois Budin
52752efa4d veloc package: add version 1.1 and update master dependencies (#11270)
* Add version 1.1 and set it as preferred
* Add pdsh as a dependency for `master`
2019-05-01 09:44:51 +09:00
Francois Budin
e2825d0ad4 Darshan 3.1.7 and develop versions fpr darshan-runtime and darshan-util (#11269)
* Add version 3.1.7
* Add develop branch (git master)
2019-05-01 09:42:32 +09:00
Thomas Gruber
06ed77bdfa Lua: Fix unresolved symbols in shared library by linking with libdl.so (#11260)
The current lua package.py does not link with libdl.so, so you get
unresolved symbols while linking with lua. This PR adds libdl to fix
the issue.
2019-05-01 08:41:08 +09:00
Greg Becker
7b715564d0 openfoam-com package: build without kahip by default (#11259)
Kahip does not build with clang (conflicts('%clang') in kahip package.
Because of this, openfoam-com %clang fails concretization. Therefore,
this changes the default openfoam-com variant for kahip to False.
2019-05-01 08:26:54 +09:00
Tiziano Müller
d2786ec064 CP2K package: add versions and tests, adjust optimization flags (#11263)
* Remove -ffast-math optimization flag
* Add 'develop' version which points to git repo
* Depend on libint for all versions >= 3.0
* Build directory is different for versions >= 7 (including develop)
* Add "make test" as post install check
2019-05-01 04:52:13 +09:00
Todd Gamblin
8e5e36dc0b Fix spack flake8 to use Travis's target as base when needed 2019-05-01 04:44:02 +09:00
Jannek Squar
f41103770d OpenCV: New versions, adjust protobuf dependency (#11243)
* Add versions 3.4.4 through 4.1.0 and 4.1.0-openvino
* Add conflict for gcc version >= 7 when building with +cuda
* Later version of protobuf is required for later versions of OpenCV
* Explicitly remove protobuf dependency with CMake option when not
  building with +dnn
2019-05-01 03:37:47 +09:00
xfzhao
e10dd6f779 Masurca (#11286)
* py-pauvr:new package

* falcon-unzip: new package

* supernova: updating

* masurca: updating

* rm extra files

* modifying available versions and adding url

* fixing deleted supernova
2019-04-30 08:24:12 -05:00
Matthias Diener
c43296e00d git-lfs: add version 2.7.2 (#11311) 2019-04-30 10:20:03 +02:00
Denis Davydov
a11b252a1b remove myself from maintainers of some packages (#11319) 2019-04-30 10:16:53 +02:00
Chuck Atkins
d2a5a10f08 vtk: Use the vendored libharu (#11293)
VTK requires a patched libharu that is not maintained upstream
See https://github.com/libharu/libharu/pull/157
2019-04-30 10:07:29 +02:00
Xavier Delaruelle
1a920ee64f environment-modules: add version 4.2.4 (#11307) 2019-04-27 20:32:57 +02:00
Daryl W. Grunau
c860d743f9 py-dateutil: add missing dependency on py-setuptools-scm (#11282)
Confirmed that versions before 2.7.5 do not require this dependency.
2019-04-26 20:28:35 +09:00
Felix Mayr
a195ffada2 QuantumEspresso package: add version 6.4 (#11302) 2019-04-26 20:25:40 +09:00
Frédéric Simonis
c951d1cb98 precice: add version 1.4.1 (#11276) 2019-04-26 09:49:11 +02:00
Chris Green
1b2817ee0a root: new versions, variants and patches (#11215)
* root: new versions, variants and patches to bring in to line with FNAL's use.

* Support MySQL.
* Patches:
    * Bigger stringbuf.
    * Find MySQL even when it's called mariadb-c-client.
    * Honor external provision of unuran.
    * Properly handle the ROOT7 web GUI for 6.16/00.
* `memstat` variant is now default-OFF due to version-related constraints.
* Add missing dependencies.
* Propagate `python` to `libxml2`.
* Handle external FTGL dependency with X / OpenGL: depends on PR ####
* Force `SPACK_INCLUDE_DIRS` to avoid warning.
* New `gminimal` variant default ON per discussion with Javier Cervantes.

* Style fixes per flake8.

* Remove redundant `PATH_SUFFIX` per https://github.com/root-project/root/pull/1993#discussion_r276840329

* Comment patches per https://github.com/spack/spack/pull/11215#discussion_r276887199.

* Reflect the fact that MariaDB support patch is now upstream.

* Restore ncurses dependency for libtinfo.
2019-04-24 08:48:52 +02:00
Toyohisa Kameyama
ac7f9ef93d Fix handling of MODULEPATH in setup-env.sh (#11274)
Usage of double quotes was preventing word-splitting when parsing
module roots in setup-env.sh, which lead to an error when multiple
module roots are used (in particular when Spack is pointed to use
an upstream module root in addition to its own).
2019-04-24 11:53:25 +09:00
Toyohisa Kameyama
3d46dcd6f0 nest: change cmake_options to args. (#11273) 2019-04-24 11:09:49 +09:00
Eric Martin
e6bd4d27ea py-pandas: Add version 0.20.0 (#11264) 2019-04-24 09:01:56 +09:00
George Hartzell
b0080c705c squashfs should depend_on('zlib') (#11265)
Add zlib dependency to squashfs

On my CentOS system it was getting linked in (from Spack, no less)
fortuitously.

On a minimal Ubuntu system it failed until it was added as an explicit
dependency.
2019-04-24 09:01:36 +09:00
Daryl W. Grunau
edca0cde1c _valid_tokens list is missing intended comma (#11271)
* _valid_tokens list is missing a needed comma
2019-04-24 08:55:20 +09:00
Chris Green
597037c9ff ftgl: update to 2.1.3-rc5. (#11214)
* ftgl: update to 2.1.3-rc5.

This updates to the last release (from 2008) with patches required to work with Spack and Root.

* Working 2.1.2 with/without docs, 2.1.3-rc5 without.
2019-04-23 09:42:10 -05:00
Eric Martin
bc080d753c py-umi-tools: Add latest versions (#11256) 2019-04-23 18:23:44 +09:00
George Hartzell
efe62b7d6d Install squashfs exe's into prefix.bin, not prefix (#11246)
The squashfs Makefile's `INSTALL_DIR` args is the path to the `bin` directory, not the top of the install tree.

Adjust accordingly.
2019-04-22 20:16:57 +02:00
Todd Gamblin
552c9c57fd Update tutorial page with RIKEN tutorial slides. (#11254)
- Add link to container image, as well as a description of VMs
- Update slide link to point to latest RIKEN tutorial
2019-04-23 01:53:47 +09:00
Greg Becker
5aa4edb939 Fix transitions between tutorial sections (#11251) 2019-04-22 17:14:26 +09:00
Todd Gamblin
0aed3bcea6 spack edit: use execv instead of Executable (#11245)
- `spack edit` previously used `spack.util.executable` `Executable` objects,
  and didn't `exec` the editor like you'd expect it to

- This meant that Spack was still running while your editor was, and
 stdout/stdin were being set up in weird ways

- e.g. on macOS, if you call `spack edit` with `EDITOR` set to the
  builtin `emacs` command, then type `Ctrl-g`, the whole thing dies with
  a `==> Error: Keyboard interrupt`

- Fix all this by changing spack.util.editor to use `os.execv` instead of
  Spack's `Executable` object
2019-04-20 20:51:45 -07:00
Janne Blomqvist
5fb6145f6f OpenBLAS: Allow enabling/disabling AVX2/512 support
Allow specifying whether AVX2 or AVX512 should be enabled or disabled
on x86 targets.

As AVX2 hardware and toolchain support is quite ubiquitous by now,
AVX2 is enabled by default.  Also AVX2 support is not disabled when
building the +virtual_machine variant.

AVX512 is not supported in older but still supported toolchains,
hardware is still expensive, and OpenBLAS AVX512 kernels still have
bugs. Thus AVX512 is disabled by default.
2019-04-20 16:43:11 -07:00
Adam J. Stewart
7255d5ee3c Fix detection of LLVM-enabled PGI compilers (#10704)
* Fix detection of LLVM-enabled PGI compilers

* Add unit tests for LLVM-enabled PGI compiler version detection
2019-04-20 17:52:55 -05:00
Matthias Diener
a40492172f hdf5: add symbols (#10991) 2019-04-20 15:09:46 -07:00
Adam J. Stewart
f8dc385392 Mercury package: add version 1.0.1 and update dependencies (#10906)
* Add Mercury version 1.0.1
* Remove cci and bmi dependency requirements: these are not currently
  defined in Spack. If +bmi is enabled, the effect is that it may
  use a system install of bmi
* Add a note that fabtests is deprecated and has been folded into the
  libfabric package. Add the fabtests resource to the libfabric
  package
* Add CMake option settings to Mercury based on variant settings
* Mercury: Set OFI testing protocol depending on how libfabric was
  built
* Mercury: add version constraints to dependencies
2019-04-20 15:03:18 -07:00
Denis Davydov
95fafb4e44 Move NoLibrariesError/NoHeadersError into error.py (#10997)
Also add constructor to NoLibrariesError which can either take an
error message (like other SpackErrors) or a name and prefix (in
which case the error message is constructed).
2019-04-20 14:08:05 -07:00
Satish Balay
39855fbcf8 dealii: add patch for build with boost@1.70.0 (#11239)
Ref: https://github.com/dealii/dealii/issues/7934
2019-04-20 14:00:34 +02:00
Sajid Ali
4a2ec792a6 miniconda 2 and 3 packages: add version 4.6.14 (#11232) 2019-04-19 17:42:02 -07:00
Justin S
6f1fe3904c Fix outdated R packages failing to fetch (#11039)
PR #10758 made a slight change to find_versions_of_archive() which included
archive_url in the search process. While this fixed `spack create` and
`spack checksum` missing command-line arguments, it caused `spack
install` to prefer those URLs over those it found in the scrape process.

As a result, the package url was treated as a list_url causing all R
packages to stop fetching once the package was updated on CRAN.

This patch is more selective about including the archive_url in the
remote versions, explicitly overriding it with matching versions found
by the scraper.
2019-04-19 17:39:13 -07:00
Chris Green
3b34931f68 mysql: 5.7.X versions link boost (#11237)
Fixes #11226

MySQL 5.7.X and Boost 1.59.0 have a closer relationship than
MySQL >= 8.0 and their corresponding Boost versions: 5.7.X needs to
link against boost libraries which is indicated by marking boost as
a link dependency (removing the 'type' reverts to the default, which
includes link and build).
2019-04-19 15:34:55 -07:00
Oliver Breitwieser
56c233b0b7 jdk package: Fix fetching with curl 7.64.0+ (#11108)
Starting with version 7.64.0, curl skips cookies specified with "-H"
(generic custom header specification) when following redirects, which
causes the "accept-license"-cookie for jdk to disappear. The result
is that jdk fails to download. This uses the "-b" option (which is
used specifically for configuring cookies) instead, which is more
permissive.
2019-04-19 14:43:45 -07:00
Satish Balay
e86027d1f8 MUMPS: add version 5.2.0 (#11234) 2019-04-19 15:55:56 -05:00
Satish Balay
1746150f58 hypre: add @osborn9 to maintainers (#11233) 2019-04-19 15:55:35 -05:00
Greg Becker
141e8b8de3 Fix backwards compatibility for module naming (#11236)
f242f5f8 changed the format strings but maintained backwards
compatibility in all cases except one: The list of valid tokens for
the module naming schemes was not updated properly to contain both
the new and old styles for compilers and package names.

This PR re-adds the old tokens into the list of valid tokens.
2019-04-19 13:20:41 -07:00
kustowski1
7ee9953dec added libsodium 1.0.16 and 1.0.17 (#11231) 2019-04-19 12:19:51 -07:00
Satish Balay
1eb01e7be5 petsc: fix suitesparse configure options. (#11188)
spec['dep'].libs.ld_flags can return system paths in some cases.
This is a targeted fix for the petsc package when retrieving
suite-sparse dependency libraries.
2019-04-19 11:44:05 -07:00
Massimiliano Culpo
3892b57244 hpx: overhaul of the package recipe (#11194)
* added latest versions + malloc variant
* added a variant to activate different instrumentations
* added a variant to activate or not networking
* added a variant to activate or not cuda and tools
* enforce c++ standard and make it consistent with boost
2019-04-19 16:58:46 +02:00
Harsh Bhatia
3f50dcf6d9 memsurfer: add new package 2019-04-18 19:31:08 -07:00
Harsh Bhatia
1842f9fbd5 vtk: add version 8.1.2 2019-04-18 19:31:08 -07:00
Harsh Bhatia
81f7238743 cgal: add version 4.13 2019-04-18 19:31:08 -07:00
Peter Scheibel
8a23154755 Spack chain docs: config should go in upstreams.yaml (#11225)
#11152 added documentation for #8772 but some details were based on
an earlier implementation that had changed by the time #8772 was
merged. In particular, #11152 mentioned that upstream Spack instances
were configured in config.yaml, when in fact they should be placed in
a separate upstreams.yaml config file; this PR updates the
documentation accordingly.
2019-04-18 18:57:10 -07:00
Massimiliano Culpo
9cf650d2ab Moved cleanup before raising (the code couldn't be reached before) 2019-04-18 18:41:22 -07:00
Massimiliano Culpo
400aa5fe51 Cleaned get methods of Repo and RepoPath 2019-04-18 18:41:22 -07:00
Massimiliano Culpo
76b5af6bf3 Used functools.wrap for the decorator + reordered imports 2019-04-18 18:41:22 -07:00
Massimiliano Culpo
bbb5d61662 Removed 'namespace' argument from Repo and RepoPath
fixes #11159

The 'namespace' argument to both Repo and RepoPath were used to set the
"super namespace". Currently it seems to be vestigial as the only
"super namespace" allowed for packages is 'spack.pkg' since 39c9bbf
2019-04-18 18:41:22 -07:00
Nichols A. Romero
eb7c79720d QMCPACK CMake fix (#11212)
* cflags and cxxflags from packages.yaml need to be passed into QMCPACK's CMake explictly for now.

* You need the ifcore library from the Intel compler to be manually linked in when you linked against a LAPACK provider that is not MKL.
2019-04-18 20:00:24 +02:00
Daniel Topa
c7725e9ff8 Add Open MPI v3.0.4 (#11221)
tarball posted 2019-04-15
https://www.open-mpi.org/software/ompi/v3.0/

dantopa@cn209:openmpi-3.0.4-5ienfvwpcxky3nz5jt3rygxzxzltkwm4 $ cd lib/

dantopa@cn209:lib $ ls -alh
total 27M
...
lrwxrwxrwx 1 dantopa dantopa   16 Apr 17 10:01 libmpi.so -> libmpi.so.40.0.5

confirmation builds Darwin (LANL):

x86_64
-- linux-centos7-x86_64 / gcc@4.8.5 -----------------------------
5ienfvw    openmpi@3.0.4%gcc
bkkhvej        ^hwloc@1.11.11%gcc
5chyfxo            ^libpciaccess@0.13.5%gcc
bcnjbc3            ^libxml2@2.9.8%gcc
tt2hkol            ^numactl@2.0.12%gcc
64vg6e4        ^zlib@1.2.11%gcc

ARM
-- linux-rhel7-aarch64 / gcc@4.8.5 ------------------------------
cq2y6b3    openmpi@3.0.4%gcc
7gqvelc        ^hwloc@1.11.11%gcc
6a4he35            ^libpciaccess@0.13.5%gcc
6a5uzd6            ^libxml2@2.9.8%gcc
m5neuus            ^numactl@2.0.12%gcc
67s2oqn        ^zlib@1.2.11%gcc

Power9
-- linux-rhel7-ppc64le / gcc@4.8.5 ------------------------------
otirvfn    openmpi@3.0.4%gcc
r6cylpu        ^hwloc@1.11.11%gcc
uzm3xdv            ^libpciaccess@0.13.5%gcc
trik6hj            ^libxml2@2.9.8%gcc
pmgndwh            ^numactl@2.0.12%gcc
4v3ticy        ^zlib@1.2.11%gcc

2019-04-18

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-04-18 12:33:26 -05:00
Zack Galbreath
7febb88c2a improvements to our CDash reporter (#11168)
* Make a separate CDash report for each package installed

Previously, we generated a single CDash report ("build") for the complete results
of running a `spack install` command. Now we create a separate CDash build for
each package that was installed.

This commit also changes some of the tests related to CDash reporting.
Now only one of the tests exercises the code path of uploading to a
(nonexistent) CDash server. The rest of the related tests write their reports
to disk without trying to upload them.

* Don't report errors to CDash for successful packages

Convert errors detected by our log scraper into warnings when the package
being installed reports that it was successful.

* Report a maximum of 50 errors/warnings to CDash

This is in line with what CTest does. The idea is that if you have more than
50 errors/warnings you probably aren't going to read through them all anyway.
This change reduces the amount of data that we need to transfer and store.
2019-04-18 09:39:35 -07:00
Federico Ficarelli
e64ee7e1be Prevent building llvm@8: with an incompatilble gcc (#11220) 2019-04-18 16:58:41 +02:00
Satish Balay
4571a96a43 xsdk: add/update maintainers to xsdk packages (#11146)
pumi
  slepc
  plasma
  magma
  trilinos
  alquimia
  pflotran
  strumpack
  tasmanian
  amrex
  hypre
  omega-h
  superlu-dist
2019-04-18 08:20:22 -05:00
Stephen Herbein
1dc3744d2c new package: kitty terminal (#9621) 2019-04-18 08:53:52 +02:00
Greg Becker
f242f5f8a9 Features: Improve Spec format strings (#10556)
* Update spec format to simpler syntax, maintain backwards compatibility
* Switch to new spec.format method throughout internals
* update package files for new format strings
* documentation and minor code cleanup. removed nonsensical variant sigils
2019-04-17 18:21:40 -07:00
Veselin Dobrev
49334f006d [WIP] CEED 2.0 (#10903)
* Initial commit for v2.0 of the CEED software suite.

* Update Nek packages and gslib

* Help spack concretize the hypre version for ceed-2.0.

* Fix nekcem install error

* Add support for gfortran v8 in nek5000 and nekcem.

* Split Nek5000 into Nek5000 and Nektools

* Get Nektools to build fine in Theta

* Fix travis failure: remove unused 'import numbers' from nek5000.

* Check for gfortran if it is wrapped

* Tweak the detection of gfortran in nek5000.

* Fix Nek packages to add -std=legacy when FC=gcc

* spack install ceed~petsc works fine on Theta

* Fix flake8 errors

* Fix more flake8 tests

* Fix an import issue

* Tweak the suite-sparse package to avoid interaction with existing system
installations of suite-sparse.

* petsc: update superlu-dist dependency

* Updates in the packages: occa, libceed, and ceed.

* In the libceed package, explicitly tell nvcc which host compiler to use.

* Fix python formatting.

* Simplify the test for gfortran in nek* packages.

* ceed: 2.0 uses petsc@3.11.0

* hpgmg-0.4; use from ceed@2.0.0

* Update the hypre dependency for ceed 2.0.

* Disable the superlu-dist dependency (through hypre) when using a
+quickbuild of ceed 2.0.

* petsc-3.11.0: add xlf fix

* nekcem: has a build dependency on Python 2.7+

* hpgmg: better setting of compiler options and use python for configure

* libceed: use v0.4 tag

* libceed: fix 0.4 release oops (pkgconfig version)

* Add a patch for magma-2.5.0 that brings it up the current 'master'.

* In the mfem package, install the examples, miniapps, and data under
$prefix/share/mfem.

* In the magma package, apply a patch to v2.5.0 that disables
magma_sparse - for testing purposes.

* In the magma package, link the 'magma' library with the
'nvToolsExt' library.

* In the magma package, update the 'magma-2.5.0.patch' with the latest
commits from the magma source repository. Also, remove the library
'nvToolsExt' from the 'magma-2.5.0-cmake.patch' - now it is not
needed.

* In the magma package, disable OpenMP when using v2.5.0 with the
IBM XL compiler.

 Please enter the commit message for your changes. Lines starting

* In the mfem package, add version for the 'laghos-v2.0' tag; also,
prefix the versions `laghos-v*` with their respective development
version numbers -- this way they are properly ordered within spack
relative to the official numbered versions.

* petsc: add version 3.11.1 (#11179)


(cherry picked from commit 1eab6e3c86)

* ceed-2.0: use petsc-3.11.1

* this-is-so-dumb.f -> empty.f
2019-04-17 17:37:41 -07:00
Elsa Gonsiorowski, PhD
a26aec520b mpifileutils v0.9.1 (#11216)
* mpifileutils v0.9.1

* mpifileutils v0.9.1 for realz
2019-04-17 18:11:14 -05:00
Michael Kuhn
b61dd57fdc sublime-text: Miscellaneous improvements (#11154)
- Add 3.2.1
- Reformat versions to include proper upstream version tags
- Add gtk dependency
- Add prefix to PATH so sublime_text can be found
2019-04-17 13:44:34 -07:00
Satish Balay
7280f21397 Add ftn to lib/spack/env (#11180)
Fixes #11070 #11010

Spack attempts to intercede on behalf of all compiler invocations for
a build. This involves adding its wrappers to PATH. Cray systems
include a "ftn" executable and Spack was only redirecting this call
when the Spec was built with cce. This updates the compiler wrappers
to add "ftn" in all cases.
2019-04-17 13:12:25 -07:00
Oliver Breitwieser
f276b3ffa0 ruby: Install certificate for +openssl only (#11184)
If specifying ~openssl, the post-install step will still try to install
the non-existent certificate, leading to an IOError.
2019-04-17 13:03:58 -05:00
Christoph Junghans
c628ca99cf gromacs: added 2019 patch releases (#11211) 2019-04-17 12:48:06 -05:00
Satish Balay
4731041f88 strumpack@3.1.1: add patch for Intel-19 build failure on cori (#11204)
Ref: https://github.com/spack/spack/issues/11202
2019-04-17 12:10:05 -05:00
Justin S
01ada1a3de astral: add 5.6.1 (#11195) 2019-04-17 09:32:50 -05:00
sknigh
e372464611 Add llvm 8.0.0 (#11197) 2019-04-17 09:31:42 -05:00
Michael Kuhn
ea2a85dbd3 lz4: Add 1.9.0 (#11207) 2019-04-17 09:30:23 -05:00
Michael Kuhn
3028f5674c zstd: Add 1.4.0 (#11208) 2019-04-17 09:29:52 -05:00
Peter Scheibel
ef8b5c73ce don't record 'view: True' in environment config (#11182)
The default (implied) behavior for all environments, as of ea1de6b,
is that an environment will maintain a view in a location of its
choosing. ea1de6b explicitly recorded all three possible states of
maintaining a view:

 1. Maintain a view, and let the environment decide where to put it
    (default)
 2. Maintain a view, and let the user decide
 3. Don't maintain a view

This commit updates the config writer so that for case [1], nothing
will be written to the config.yaml. This will not change any existing
behavior, it just serves to keep the config more compact.
2019-04-16 19:08:10 -07:00
sknigh
308805cd54 Added rust 1.34.0 (#11200) 2019-04-16 18:32:11 -05:00
sknigh
a287ad6edd Added openmpi 3.1.4 (#11201)
* Added openmpi 3.1.4

* fix suffix comment
2019-04-16 18:31:54 -05:00
Matthias Mayr
e07cf4d661 New package: CLN library (#11167) 2019-04-16 16:03:51 -07:00
Frédéric Simonis
2ef7287a3b precice package: add versions and dependencies (#11176)
* Add versions 1.4.0, 1.3.0, and 1.2.0
* Add dependencies and update constraints (e.g. version 1.4.0 of
  precice requires a later version of boost)
* Add maintainers
2019-04-16 12:38:08 -07:00
paulanda
88cc895a70 setup-env.sh: fix zsh compatibility error (#11153)
Still look for BASH_SOURCE[0] first, but if it's not set,
_sp_source_file is initialized to an empty value addressing the
unset parameter error (line 217).
2019-04-16 12:33:02 -07:00
Nichols A. Romero
9a79a2345d QMCPACK package: Remove Spack MKL hack for older version (#11127)
A Spack hack for MKL usage was needed in QMCPACK prior to version 3.5
when non-Intel compilers were used. This Spack hack could have
undesirable side-effects and led to ugly code that was extra work to
maintain. For older versions of QMCPACK, we throw a conflict if you
want to use Intel MKL with the other compilers commonly found on x86.

Note that there is no impact to version of QMCPACK since 3.5.
2019-04-16 12:04:40 -07:00
Satish Balay
c25d162b3c superlu-dist: fix issue with adding system blas/lapack - when MKL is explicitly specified (#11187)
Version 6 added dependency on LAPACK - so additional -DTPL_LAPACK_LIBRARIES option is required

Ref: https://github.com/xiaoyeli/superlu_dist/issues/36
Ref: https://github.com/spack/spack/issues/10173
2019-04-16 08:52:48 -05:00
Adam J. Stewart
dbfa928cdb Add unit tests for Cray compiler detection (#11191) 2019-04-16 10:01:42 +02:00
Greg Becker
5f74f22dc6 Bugfix: Install missing compilers for dependency packages (#11175)
Compilers are treated separately from other dependencies in Spack.
#10761 added the option to automatically install compilers when a
package specifies using a compiler that is not available in Spack.
However, this did not work correctly for dependency packages (it
would only build a compiler for the root of an install DAG). This
commit enables the building of compilers for dependency packages.
2019-04-15 17:41:15 -07:00
Jordan Ogas
a49de9eb09 add charliecloud 0.9.9 (#11190) 2019-04-15 17:59:10 -05:00
Matthias Diener
dd97cf9315 cmake: add version 3.14.2 (#11192) 2019-04-15 17:17:24 -05:00
Denis Davydov
06a17ef052 pixman: fix patch (#11173) 2019-04-15 14:49:02 +02:00
Denis Davydov
0341e19540 boost: add 1.70.0 (#11183) 2019-04-15 09:59:04 +02:00
Oliver Breitwieser
dadbd723a3 verilator: Fix FlexLexer.h not found (#11185)
Similar to #10956 flex needs to be a link-dependency for verilator in
order for FlexLexer.h to be found during install.
2019-04-15 09:56:07 +02:00
Satish Balay
5b5e00aaa9 petsc4py: add verson 3.11.0 (#11186)
Also added maintainers
2019-04-15 09:54:40 +02:00
Mark C. Miller
1ae7477d20 Update FASTMath metapackage (#11171)
* Limit to FASTMath-only packages
* Replace boxlib with amrex

As requested by @asalmgren
2019-04-12 16:54:19 -05:00
Satish Balay
832a1ddbaa petsc: add fftw variant (#11178) 2019-04-12 09:46:23 -05:00
Satish Balay
1eab6e3c86 petsc: add version 3.11.1 (#11179) 2019-04-12 09:45:43 -05:00
Owen Solberg
227f9c9026 py-deeptools: adding release 3.2.1 sha256 sum (#11174) 2019-04-12 09:45:04 +02:00
Massimiliano Culpo
263d8a818a Updated Sphinx configuration (#11165) 2019-04-11 14:38:52 -07:00
Denis Davydov
177b7f111a intel: optionally take gcc executable from cflags (#11136) 2019-04-11 12:33:59 -07:00
Satish Balay
6b09781936 xsdk@develop: enable amrex@develop+sundials (#11169) 2019-04-11 12:16:23 -05:00
Cody Balos
0d0358733d amrex: add sundials variant (#11147) 2019-04-11 10:43:11 -05:00
brietzke
d0e281e201 libxsmm package: add variant to build generator executables (#11114) 2019-04-10 16:34:38 -07:00
clellsolomon
7ec12c59ab fzf package: change mirror and add vim plugin (#10920)
This commit edits the Makefile to use github.com mirrors rather than the
default mirrors of the dependency packages installed by GO.
2019-04-10 16:23:37 -07:00
Chuck Atkins
f1bdaa11d4 New Packages: ecp-io-sdk and ecp-viz-sdk (#11073) 2019-04-10 16:18:05 -07:00
Peter Scheibel
ea1de6b941 Maintain a view for an environment (#10017)
Environments are nowm by default, created with views.  When activated, if an environment includes a view, this view will be added to `PATH`, `CPATH`, and other shell variables to expose the Spack environment in the user's shell.

Example:

```
spack env create e1 #by default this will maintain a view in the directory Spack maintains for the env
spack env create e1 --with-view=/abs/path/to/anywhere
spack env create e1 --without-view
```

The `spack.yaml` manifest file now looks like this:

```
spack:
  specs:
  - python
  view: true #or false, or a string
```

These commands can be used to control the view configuration for the active environment, without hand-editing the `spack.yaml` file:

```
spack env view enable
spack env view envable /abs/path/to/anywhere
spack env view disable
```

Views are automatically updated when specs are installed to an environment. A view only maintains one copy of any package. An environment may refer to a package multiple times, in particular if it appears as a dependency. This PR establishes a prioritization for which environment specs are added to views: a spec has higher priority if it was concretized first. This does not necessarily exactly match the order in which specs were added, for example, given `X->Z` and `Y->Z'`:

```
spack env activate e1
spack add X
spack install Y # immediately concretizes and installs Y and Z'
spack install # concretizes X and Z
```

In this case `Z'` will be favored over `Z`. 

Specs in the environment must be concrete and installed to be added to the view, so there is another minor ordering effect: by default the view maintained for the environment ignores file conflicts between packages. If packages are not installed in order, and there are file conflicts, then the version chosen depends on the order.

Both ordering issues are avoided if `spack install`/`spack add` and `spack install <spec>` are not mixed.
2019-04-10 16:00:12 -07:00
Eric Martin
8f1ebfc73c py-requests: Add missing dependencies for versions 2.16.0 and up (#10996) 2019-04-10 15:38:28 -07:00
Mario Melara
a1db22ba1a Unload altd and darshan (#11162) 2019-04-10 13:19:41 -07:00
Peter Scheibel
c1f8fdd5df Add documentation for chaining Spack instances (#11152)
Add documentation for the Spack chain feature added in #8772
2019-04-10 11:54:13 -07:00
Patrick Gartung
a5315f3878 Fix bug when system perl is used. (#11034)
* Fix bug when system perl is used.

If system perl is being used through packages.yaml there cannot be dependent modules.
The  setup_dependent_packages function should not do anything in that case.
2019-04-10 08:44:27 -05:00
Denis Davydov
1e9748a3c8 dealii: fix build with tbb from intel parallel studio (#11138) 2019-04-10 14:51:38 +02:00
Denis Davydov
b2611c8086 suite-sparse: fix tbb patching (#11155) 2019-04-10 09:21:54 +02:00
Michael Kuhn
1ac576923f libfabric: Add 1.7.1 (#11141) 2019-04-09 18:38:15 -05:00
Matthias Diener
687a7db73f wget: add version 1.20.3 (#11148) 2019-04-09 18:37:04 -05:00
George Hartzell
0256766ab9 Typo: Unkown -> Unknown (#11150) 2019-04-09 18:36:45 -05:00
Denis Davydov
1f1ea2c859 intel: consolidate libs() in the base class (#11143)
* intel: consolidate libs() in the base class

* white space

* flake8
2019-04-09 13:54:21 -07:00
Denis Davydov
82455a30d0 openmpi: add 4.0.1 (#11126)
* openmpi: add 4.0.1

* openmpi: enable-mpi1-compatibility for 4.0.1 and above

* remove preferred

* make 3.1.3 preferred
2019-04-09 21:41:14 +02:00
Satish Balay
a9bf3bdd6a xsdk@develop: enable hypre shared (even on OSX) and superlu-dist variant (#11131) 2019-04-09 08:42:44 -05:00
Owen Solberg
c6a7d0db03 cdhit - add new release 4.8.1 checksum (#11130) 2019-04-09 10:33:07 +02:00
Satish Balay
6e78730a97 mumps: add version 5.1.2 (#11132)
Add patch for gfortran-8 runtime errors
2019-04-09 10:28:41 +02:00
Patrick Gartung
aac3799d2c Unset SPACK_INCLUDE_DIRS so the compiler wrapper does not prepend any -I flags. The assumption is that cmake will set the correct include flags. (#11129) 2019-04-08 14:30:22 -05:00
Michael Kuhn
db98f16382 zfp: Add 0.5.4 (#11016) 2019-04-08 09:11:28 +02:00
thelfer
3b5d7bfa99 Add new TFEL' versions (3.0.4, 3.1.4 and 3.2.1). Add new MGIS version (1.0.1). (#11109) 2019-04-08 09:09:14 +02:00
Cameron Smith
0e04410044 kokkos: update cuda conflict (#11110)
see https://github.com/spack/spack/pull/10943#issuecomment-475303870
2019-04-08 08:58:35 +02:00
Levi Baber
6e4b234d13 sra-toolkit new version (#11111) 2019-04-08 08:56:49 +02:00
Satish Balay
d11b1b18f0 netlib-scalapack: fix compatibility with mpi2 i.e openmpi-4 (#11124) 2019-04-07 10:01:54 -05:00
Abhinav Bhatele
ed66ccb6f2 ecp-proxy-apps: update version (#11119) 2019-04-06 15:33:29 -07:00
Scott Wittenburg
3616617804 Allow spack install to take either cdash stamp or track (#11106)
When providing a track, the cdash reporter will format the stamp
itself, as it has always done, and register the build during the
package installation process.  When providing a stamp, it should
first be formatted as cdash expects, and then cdash will be sure
to report results to same build id which was registered manually
elsewhere.
2019-04-06 15:30:34 -07:00
Satish Balay
90c7c74334 hypre: disable variant superlu-dist default (#11097) 2019-04-05 21:11:36 -05:00
Greg Becker
8a17282001 Fix reading externals from old databases (#11118)
* Update Spec.prefix to have special case for 'None' in database path; regression test
* Update in database reader rather than spec
* Change assertion to conditional + raise
* Added test for concrete check in Spec.prefix
2019-04-05 14:58:57 -07:00
Gregory Lee
af3e91926a fixes py-basemap package (#11104)
* fixes py-basemap package
* remove basemap mpl_toolkit __init__.py
2019-04-05 11:27:23 -07:00
Michael Kuhn
320e00276f Fix module_parsing test (#11087)
The module_parsing test checks whether the module function is available
by looking for the string 'not found'. If the user has set a different
locale, the test can assume that the module function is available when
it actually is not.
2019-04-05 11:26:40 -07:00
Patrick Gartung
f1f582714c Set Geant4 cmake module path environment variable in dependents. (#11112) 2019-04-04 13:09:13 -05:00
Marco Comparato
553acbbe3d xcb-util-wm: add m4 build system dependency (#11056) 2019-04-04 13:11:02 +02:00
Abhinav Bhatele
8da6593e43 miniamr: add develop version and update release (#11101)
* miniamr: add develop version and update release

* change from url to git

* add url back
2019-04-03 16:17:04 -06:00
Abhinav Bhatele
5f3620f7ac raja: add newer versions (#11102) 2019-04-03 12:09:45 -06:00
Abhinav Bhatele
b2a2c31883 laghos: update dependencies (#11100) 2019-04-03 11:22:40 -06:00
Abhinav Bhatele
af2d166adf AMG: update version (#11099) 2019-04-03 11:11:06 -06:00
Phil Carns
03bb6500f3 fio package: add optional libaio dependency (#11083) 2019-04-02 18:21:45 -07:00
Neil Flood
c3e5c9981a proj package: add versions 5.2.0 and 5.1.0 (#11079)
* Add versions 5.2.0 and 5.1.0
* Avoid adding version 6.0.0: this version has a new API that is
  not compatible with older versions (and dependents may break with
  it)
* Added comment block explaining the problems with version 6.x
* Replace old datumgrid resource (1.7) with new (1.8)
* Add speculative sqlite dependency for when a 6.x version is added
2019-04-02 18:18:56 -07:00
Elsa Gonsiorowski, PhD
9b5ce67f1e ross package: add version 7.0.1 (#11078)
* add version 7.0.1
* replace md5 with sha256 for various versions.
* v7.0.1 fixes some environment hacking to properly find MPI and
  system architecture
2019-04-02 17:50:41 -07:00
Tim Fuller
a9ae507152 Fix directory layout using namespace (#11076)
Directory layouts using ${NAMESPACE} were broken. This addresses that
and adds a test to prevent regression.
2019-04-02 17:47:57 -07:00
Ryan S. Elliott
3c641f47cd kim-api and openkim-models: version update and rename (#11065) 2019-04-02 17:44:24 -07:00
Jon Rood
0cb08e42f5 Trilinos: Add Tpetra_INST_INT_LONG_LONG to explicit template instantiation (#11060) 2019-04-02 17:38:52 -07:00
Seth R. Johnson
f237c81060 openmpi: Add stub mpirun script for openmpi~legacylaunchers+slurm (#11059)
This adds a stub script for mpirun and other standard executables
when installing OpenMPI with slurm. The purpose is to make the
removal less of a surprise to administrators/users: it explains why
they were removed and how to restore them.
2019-04-02 17:34:25 -07:00
Justin Stanley
3988732ef4 r-hoardr: new package at 0.5.2 (#11051) 2019-04-02 17:28:05 -07:00
Justin Stanley
6500310b08 r-roxygen2 package: added 6.1.1, more dependencies (#11045) 2019-04-02 17:27:04 -07:00
Justin Stanley
f459bba322 r-rhmmer: new package at 0.1.0 (#11050) 2019-04-02 17:25:55 -07:00
Justin Stanley
f5d61f8f58 r-commonmark: new package at 1.7 (#11049) 2019-04-02 17:22:42 -07:00
Justin Stanley
8710203e08 r-pkgload: new package at 1.0.2 (#11047) 2019-04-02 17:21:55 -07:00
Justin Stanley
6ac99f6275 r-desc: new package at 1.2.0 (#11048) 2019-04-02 17:10:24 -07:00
Justin Stanley
e094821a54 r-pkgbuild: new package at 1.0.3 (#11046) 2019-04-02 17:09:59 -07:00
Denis Davydov
ecde4502f2 arpack-ng package: add version 3.7.0 (#11041) 2019-04-02 17:08:16 -07:00
Gregory Lee
8625faefc9 mvapich2 package: add version 2.3.1 (#11037) 2019-04-02 17:07:06 -07:00
Tristan Carel
4793242158 spack repo add: fix error message when `packages' directory is missing (#11031) 2019-04-02 17:05:57 -07:00
Dustin Lagoy
229ed5c228 netcdf-cxx package: set ldflags for hdf5 and netcdf (#11026)
Ensure that netcdf-cxx uses the Spack-installed hdf5 and netcdf4
rather than system-installed versions.
2019-04-02 17:04:09 -07:00
Jon Rood
bc4c372ebd nalu-wind package: require hypre without superlu-dist. (#11022) 2019-04-02 17:02:22 -07:00
Eric Martin
6d6bc8010f picard package: Add version 2.19.0 (#11018) 2019-04-02 17:01:17 -07:00
Matthias Wolf
9fc4489ee1 py-arrow and arrow: add version 0.12.1 (#11004)
Also constrain the py-arrow version to depend on the same version
of arrow (e.g. 0.12.1 of py-arrow depends on 0.12.1 of arrow)
2019-04-02 17:00:04 -07:00
Christoph Junghans
27a72cf7fe branson: fix install (#11093) 2019-04-02 16:44:46 -06:00
Christoph Junghans
81f1bd7732 nut: fix install (#11092) 2019-04-02 16:38:03 -06:00
Christoph Junghans
7a28a61a59 miniqmc: fix install (#11091) 2019-04-02 16:23:37 -06:00
Christoph Junghans
356b5df715 kripke: fix install (#11090) 2019-04-02 16:05:21 -06:00
Christoph Junghans
82be3a4668 hacckernels: fix install (#11089) 2019-04-02 15:58:40 -06:00
Christoph Junghans
4ff3ce494a macsio: fix install (#11088) 2019-04-02 15:58:21 -06:00
Massimiliano Culpo
a1255b61c0 Added tests on compiler's version detection (#10931)
* Split get_compiler_version into two functions:
  get_compiler_version_output runs the compiler with the relevant
  option to print the version; extract_version_from_output determines
  the version by examining this output. This makes it easier to test
  the customized version detection for each compiler. Users can
  customize this by overriding the following:
  * version_argument: this is the argument that tells the compiler to
    print its version. It assumes that the compiler will report its
	version if invoked with a single option (like "--version")
  * version_regex: the regular expression used to extract the version
    from the compiler argument. This assumes that a regular
	expression is sufficient to extract the version, and that the
	version can be extracted from a single capture group (Spack uses
	the first capture group)
  * default_version: allows you to completely override all version
    detection logic
  * get_compiler_version_output: if getting the compiler to report
    its version is more complex than invoking it with a single arg
  * extract_version_from_output: if it is difficult to define a regex
    that can be used to extract the version from the output
* Added tests for version detection of most compilers
* Removed redundant code from xl_r compiler class (by inheriting
  from xl compiler definition)
2019-04-02 12:52:47 -07:00
Vanessasaurus
b08518dadd adding package to install squashfs for singularity (#11077)
* adding package to install squashfs for singularity

* dont need os import

Signed-off-by: Vanessa Sochat <vsochat@stanford.edu>

* updating md5 to sha1 for squashfs package

Signed-off-by: Vanessa Sochat <vsochat@stanford.edu>

* two blank lines

Signed-off-by: Vanessa Sochat <vsochat@stanford.edu>
2019-04-02 12:33:23 -05:00
Gregory Lee
007e168b9e add pkgconfig as dependence for flux packages (#11036) 2019-04-01 18:33:55 +02:00
Nichols A. Romero
0ccc69411b QMCPACK MKL buglet. Now you are able to use the Intel compiler with other BLAS and LAPACK providers, no longer forced to use MKL. (#11019) 2019-03-31 19:31:59 -05:00
Matthias Diener
6034ddfed8 cmake: add version 3.14.1 (#11063) 2019-03-31 19:22:59 -05:00
Satish Balay
4946e1d0a2 petsc: update superlu-dist dependency (#11068) 2019-03-31 12:20:15 -05:00
Satish Balay
7eb734c4d9 slepc: add versions 3.10.2 and 3.11 (#11067) 2019-03-31 12:19:58 -05:00
Satish Balay
650a15436b superlu-dist: add version 6.1.1 (#11066) 2019-03-31 12:19:43 -05:00
Massimiliano Culpo
e3f00750e8 Update llnl.util.lang.memoized so that Sphinx can extract signature (#11055)
Replace the original implementation of the "memoized" decorator with
an implementation that exposes the docstring and arguments of the
wrapped function. This is achieved using functools.wraps.
2019-03-29 17:11:44 -07:00
Denis Davydov
def5b23763 add libs property to IntelMkl and IntelParallelStudio (#10993)
* add libs property to IntelMkl and IntelParallelStudio
* fix scalapack_libs when MPI is provided by intel-parallel-studio
2019-03-29 13:01:43 -07:00
Satish Balay
03d39ed34c petsc: add versions 3.10.5, 3.11.0 (#11058) 2019-03-29 11:54:23 -05:00
Massimiliano Culpo
0a006351c8 Spack can be extended with external commands (#8612)
This provides a mechanism to implement a new Spack command in a
separate directory, and with a small configuration change point Spack
to the new command.

To register the command, the directory must be added to the
"extensions" section of config.yaml. The command directory name must
have the prefix "spack-", and have the following layout:

  spack-X/
    pytest.ini #optional, for testing
    X/
	  cmd/
	    name-of-command1.py
	    name-of-command2.py
	    ...
    tests/ #optional
      conftest.py
	  test_name-of-command1.py
    templates/ #optional jinja templates, if needed

And in config.yaml:

  config:
    extensions:
      - /path/to/spack-X

If the extension includes tests, you can run them via spack by adding
the --extension option, like "spack test --extension=X"
2019-03-28 16:56:36 -07:00
Kelly (KT) Thompson
b2b91a1f00 Random123 - provide a patch to fix compiles with IBM XL (#11028)
* Newer versions of IBM XL no longer define `__xlC__`, but define `__ibmxl__`
  instead.  This one-line patch fixes this problem in Random123.
* This patch was also provided to the Random123 maintiners
  (Random123@DEShawResearch.com). I don't expect a new release from them for a
  while, so I believe that this patch is the correct path forward (for now).
2019-03-28 17:20:28 -05:00
Satish Balay
06e82edf15 hypre: add a modified superlu-dist patch for @:2.14.0 (#11032) 2019-03-28 14:57:51 -05:00
Peter Scheibel
a6511fbafc Consistent patch ordering (#10879)
* preserve the order in which patches are applied by packages (in spite of grouping them by 'when')

* add tests confirming patch order
2019-03-28 11:25:44 -07:00
Peter Scheibel
99f35c3338 spack chain (#8772)
* initial work to make use of an 'upstream' spack installation: this uses the DB of the upstream installation to check if a package is installed

* need to query upstream dbs when adding new record to local db

* prevent reindexing upstream DBs

* set prefix on specs read from DB based on path stored in install record

* check that Spack does not install packages that are recorded as installed in an upstream db

* externals do not add their path to install records - need to use 'external_path' to get path of upstream externals

* views need to check for upstream installations when linking metadata

* package and spec now calculate upstream installation properties on-demand themselves rather than depending on concretization to set these properties up-front. The added tests for upstream installations don't work with this new strategy so they need to be updated

* only refresh modules for local specs (not those in upstream packages); optionally generate local module files for packages installed upstream

* when a user tries to locate a module file for a package installed upstream, tell them to use the upstream spack instance to locate it

* support recursive upstream databases (allow upstream databases to use their own upstream databases)

* separate upstream config into separate file with its own schema; each entry now also includes a name

* metadata_dir is no longer customizable on a per-instance basis for YamlDirectoryLayout

* treat metadata_dir as an instance variable but dont set it from kwargs; this follows several other hardcoded variables which must be consistent between upstream and downstream DBs. Also update DirectoryLayout.metadata_path to work entirely with Spec.prefix, since Spec.prefix is set from the DB when available (so metadata_path was duplicating that logic)
2019-03-27 13:06:46 -07:00
Mario Melara
298a55b28f Replace previous bash command to new one (#7005)
Prevents infinite recursion caused by sourcing `setup-env.sh` in bashrc
2019-03-27 10:26:52 -07:00
Elsa Gonsiorowski, PhD
8a4e762bec libyogrt package: add versions, scheduler support (#10884)
* Add latest libyogrt versions
* Add url_for_version to handle differing url formats for different
  versions
* Add 'scheduler' variant to configure scheduler. Currently only
  slurm can be installed with Spack. A value of 'system' indicates
  to use the scheduler installed on the system
2019-03-27 10:25:31 -07:00
Chris Green
e88c1d585c Move CMakePackage build directory to base stage directory (#8431)
Change the location of the CMake build area from the staged source
directory to the stage base directory.

This change allows CMake packages to refer to the build directory in
setup_environment (e.g. if tests need to have a directory in PATH):
Staging happens after the call to setup_environment(), and if the
stage area does not exist, then spec.stage.source_path returns None.

To accommodate this change, archived files (like config.log for
Autotools packages) are archived relative to the stage base directory
rather than the expanded source directory.

Other packages (those not using CMake) will still use the staged
source directory as the default working directory for builds (and
will still be unable to reference this directory in
setup_environment())
2019-03-26 17:40:49 -05:00
Michael Kuhn
7df70154dd lzo package: add version 2.10 (#11015) 2019-03-26 15:40:48 -05:00
Michael Kuhn
44311da0de c-blosc package: add version 1.16.3 (#11014) 2019-03-26 15:40:24 -05:00
Justin Stanley
35d439b1f7 beast1 package: add version 1.10.4, use url_for_version (#11009) 2019-03-26 15:39:42 -05:00
Gregory Lee
d2bd4f86dd py-netcdf package: add py-cftime dependency (#11005) 2019-03-26 15:39:10 -05:00
Eric Martin
69bd67385c py-xopen: Add version 0.5.0 (#10995) 2019-03-26 15:32:09 -05:00
Mark W. Krentel
675bb23431 intel-xed package: add versions 2019.03.01 and develop (#10987)
Also add conflicts for PPC
2019-03-26 15:31:28 -05:00
ajw1980
e5b86c5527 Retrieve environment-modules prefix based on architecture (#10975)
When multiple instances of environment-modules were installed with
different architectures, Spack was not retrieving the installation
appropriate for the current architecture when finding the module
prefix.
2019-03-26 15:23:17 -05:00
ajw1980
7a4712b90a New package: py-scikit-optimize (#10973) 2019-03-26 15:10:35 -05:00
ajw1980
48a8ee0363 New package: py-pyodbc (#10972) 2019-03-26 15:09:55 -05:00
ajw1980
99a51e7ed1 New package: py-luigi (#10970) 2019-03-26 15:08:20 -05:00
ajw1980
40121eddd9 Py-jupyter package: dependency fixes (#10966)
* py-prompt-toolkit: Add newer version for required for newer
  py-ipython versions
* py-ipykernel:
  * Add newer py-ipykernel version
  * Depend on py-setuptools so a python egg isn't attempted to be
    built
  * Update dependency for newer py-ipykernel versions
* py-jupyter-console: Remove py-prompt-toolkit dependency since it is
  picked up in py-ipython
* py-ipython:
  * Add missing py-backcall dependency
  * Adjust py-prompt-toolkit dependencies for newer versions of
    ipython
* py-jupyter-notebook: Require newer version of py-ipykernel since
  jupyter is broken with previous versions
2019-03-26 15:05:39 -05:00
ajw1980
9437cf88f0 node-js package: Depend on zlib when +zlib (#10965) 2019-03-26 14:43:30 -05:00
ajw1980
994b8afedc py-numba package: Depend on py-setuptools so an egg isn't built (#10964) 2019-03-26 14:42:57 -05:00
ajw1980
4b76602914 py-dateutil package: add version 2.7.5 (#10961) 2019-03-26 14:42:31 -05:00
ajw1980
6a6a51922f py-pytz package: add version 2018.4 (#10959) 2019-03-26 14:41:09 -05:00
Justin M Wozniak
4719bf25dd r-rinside package: add version 0.2.15 (#10949) 2019-03-26 14:37:49 -05:00
Brian Spilner
308a39eca3 ruby package: add version 2.6.2 (#10945) 2019-03-26 14:34:33 -05:00
Andrew Gaspar
1e6da47b4e Kokkos package: pthreads feature and new kokkos versions (#10943) 2019-03-26 14:31:48 -05:00
Seth R. Johnson
844ca31894 Use 'shlex' to split default Executable arguments (#10929)
This allows shell commands for `spack edit` to be executed correctly if
they have quoted arguments.
2019-03-26 14:02:32 -05:00
Chris Green
670ef9bd7c nix package: improve dependencies based on prerequisites from manual. (#10927) 2019-03-26 13:39:40 -05:00
Michael Kuhn
63ddc44db6 ior package: Add patch to fix 3.2.0 with hdf5 (#10923) 2019-03-26 13:36:54 -05:00
fcannini
f08c9aa601 quantum-espresso: Enable EPW installation (#10637) 2019-03-26 13:33:10 -05:00
Chris Green
763549fe7c mysql: Support client-only, cxxstd and more versions (#10911)
* add cxxstd variant
* add CMake constraints based on platform/version
* add older versions
* update boost dependency version constraints (which are closely
  tied to mysql version) and update boost cxxstd choice to be
  the same as the cxxstd chosen for mysql
* add client-only support (including a patch for 5.5.x)
* record the mysql package as a provider of the mysql-client virtual
2019-03-26 13:19:06 -05:00
Chris Green
1bd8c0c460 boost: Fix build of versions < 1.62.0 (#10910)
Improve management of the Fiber library and C++ standard support:

* Remove Fiber from list of libraries to build
* Improve variant management for Fiber; add variants for Context and
  Coroutine libraries.
* Add known conflict with C++17 for boost < 1.63.0
* Remove C++ standard "default" option, which left the choice of
  C++ standard to the compiler used to build boost
2019-03-26 12:50:06 -05:00
Massimiliano Culpo
89b9880719 Add regression marker to pytest.ini (#11011) 2019-03-26 12:04:36 -05:00
Michael Kuhn
8434e7803d lz4: Add 1.8.3 (#11013) 2019-03-26 15:34:25 +01:00
Michael Kuhn
58d186fc00 zstd: Add 1.3.8 (#11012) 2019-03-26 15:33:26 +01:00
Nichols A. Romero
66172f80f3 Fixed some issues with CUDA-Intel compiler conflicts. (#10924)
* Fixed some issues with CUDA-Intel compiler conflicts.

* Comment about expressing CUDA-compiler conflicts.

* More precise conflicts and also add support for Intel 19.0
2019-03-26 15:31:56 +01:00
clellsolomon
31d7df7860 ninja-fortran package: add newer versions (#10921) 2019-03-25 20:38:45 -05:00
bfovet
cc2ff82027 New package: MMG (#10902) 2019-03-25 20:24:40 -05:00
Dustin Lagoy
14acfb65c4 netcdf-cxx package: Add optional netCDF4 support (#10899) 2019-03-25 20:22:15 -05:00
Omar Padron
57523c3f0b explicitly install unzip in all docker images (#10891) 2019-03-25 20:10:42 -05:00
Chris Green
17da285cfb range-v3 package: Add notes, conflicts and doc dependencies. (#10887)
* record conflicts with compiler versions which don't provide
  required c++ standard support
* add doxygen (build) dependency
* add note that range-v3 is header-only as of 0.3.6 and update
  package description
2019-03-25 20:10:01 -05:00
Chris Green
a4bf8de09b gl2ps: add missing dependencies and doc variant. (#10886)
Makes building of documentation optional.
2019-03-25 20:04:33 -05:00
Dustin Lagoy
4c68d2e14e py-netcdf4: avoid using system installs of dependencies (#10885)
Use environment variables to point setup.py to Spack installations
of hdf5/netcdf
2019-03-25 20:03:02 -05:00
Chris Green
c124b1f471 postgresql package: build enhancements. (#10877)
We add new variants to handle readline vs libedit, a client-only
build and install, and bindings to TCL, Python and Perl. We also add
new versions and the ability to detect remote versions not otherwise
dealt with.
2019-03-25 19:51:51 -05:00
simo-tuomisto
6478a32598 New package: elmer-fem (#10860)
Elmer finite element method solver; builds Elmer, ElmerICE and
contributed solvers with MPI support.
2019-03-25 19:47:15 -05:00
Omar Padron
bf03edb51b LLVM package: disable CUDA (#10858)
This avoids using a system-installed CUDA package. In the future a
variant can be added to allow using Spack-installed CUDA, but for
now CUDA support is always disabled.
2019-03-25 19:43:18 -05:00
Brian Van Essen
a88b540723 Conduit package: add option to build with hdf5 versions > 1.8 (#10913)
Added a variant to allow conduit to build with newer versions of
HDF5.  Set the default for the variant to prefer compatibility mode
with HDF5 v1.8
2019-03-25 12:26:30 -05:00
Satish Balay
365c17a3d5 xsdk: enable sundials@4.1.0 for xsdk@develop (#10989)
- disable sundials varaiant for dealii and mfem - as they are incomatible with sundials@4.1.0
2019-03-24 22:17:20 -05:00
Satish Balay
8c165494f2 hypre: add superlu-dist variant (#10985)
- add a patch to fix build error with superlu-dist
2019-03-24 22:16:47 -05:00
Satish Balay
d7e984bcf8 amrex: current @develop - and future releases require cmake@3.13 or higher (#10953) 2019-03-24 22:15:49 -05:00
Navdeep Rana
fb946e51a4 Added a package for chapel. (#11002)
* Added a package for chapel.

* flake8 compliance.
2019-03-24 17:18:19 -05:00
Xavier Delaruelle
95a0e9c693 environment-modules: add version 4.2.3 (#11003) 2019-03-24 17:17:50 -05:00
Denis Davydov
64acce557d petsc: workaround xcode stub-out-of-sync issue (#10999) 2019-03-24 10:38:40 -05:00
Daryl W. Grunau
7081dba9ee Packages/zoltan (#10432)
* serialize the F90 interface build

* serialize the F90 interface build
2019-03-23 13:38:29 +01:00
Stephen McDowell
878b122f45 add ninja v1.9.0 (#10994) 2019-03-22 10:05:14 -05:00
Eric Martin
ec45c22808 netgen: update broken URL (#10882)
* netgen: update broken URL

* netgen: fix url_for_version URL
2019-03-22 10:01:07 -05:00
Michael Kuhn
b6185d4ad7 openfoam-com: Fix flex dependency (#10956)
openfoam-com needs flex's FlexLexer.h, which can only be found if flex
is also a link dependency.
2019-03-22 12:46:53 +01:00
Eric Martin
ba5f37ee26 vdt: Add version 0.4.3 (#10982) 2019-03-22 11:57:30 +01:00
Michael Kuhn
ea227b9974 py-hpccm: New package (#10957) 2019-03-22 11:39:10 +01:00
Eric Martin
1599dce2ae canu: Add versions 1.8 and 1.7 (#10978) 2019-03-22 11:27:36 +01:00
Eric Martin
563e573b13 megahit: Add version 1.1.4 (#10979) 2019-03-22 11:19:28 +01:00
Eric Martin
d9eaad80c3 racon: Add versions 1.3.2 and 1.3.1 (#10980) 2019-03-22 11:19:13 +01:00
Eric Martin
487fa5713c trimgalore: Add versions 0.6.0 and 0.6.1 (#10981) 2019-03-22 11:18:45 +01:00
Eric Martin
46e0ad3269 bowtie: Add missing zlib dependency (#10984) 2019-03-22 11:17:16 +01:00
Matthias Diener
133d4ca9ce gdb: add version 8.2.1 (#10988) 2019-03-22 11:00:28 +01:00
Hadrien G
cc8a086082 ACTS: add version 0.8.2 (#10974) 2019-03-22 10:59:45 +01:00
Denis Davydov
6d971c4493 add ginkgo package, use it in dealii along with symengine (#10917) 2019-03-22 10:58:48 +01:00
Shahzeb Siddiqui
724acb6421 typo in documentation (#10976) 2019-03-21 14:29:40 -05:00
Stephen McDowell
7bc899d9ca add eigen v3.3.7 (#10955) 2019-03-21 12:16:26 -05:00
George Hartzell
aa1e70aab1 Minor commentary correction, TCL -> lmod (#10951) 2019-03-21 11:17:41 +01:00
Stephen McDowell
70e436e932 prevent UnboundLocalError when sourcing files (#10950)
Patch extracted from #7536 courtesy of @mgsternberg
2019-03-21 11:08:29 +01:00
Patrick Schratz
bffe3a605f update R to v3.5.3 (#10928)
* update R to v3.5.3
2019-03-20 13:06:57 -05:00
Michael Kuhn
e02eb3633e mpich: Do not use libfabric@1.7: with ch3 ofi netmod (#10919) 2019-03-20 10:01:39 -07:00
Michael Kuhn
c66a24f22d pkgconf: add 1.6.0 (#10942) 2019-03-20 14:10:11 +01:00
bfovet
81f699eca3 Update GMSH to 4.2.2 with OpenMP variant (#10914) 2019-03-20 05:12:57 +01:00
Patrick Schratz
f51bce5636 saga-gis: new versions up to 7.3.0 (#10922) 2019-03-20 05:03:14 +01:00
Denis Davydov
de3ff1a96b gettext: fix dependency type of xz (#10935) 2019-03-20 04:57:08 +01:00
sknigh
e717230bf8 added yara (#10901) 2019-03-20 04:55:02 +01:00
fcannini
9a8c4cf071 gromacs: make sure cuda support is disabled when cuda=False (#10936)
* abinit: Fix building with hdf5/netcdf.

* gromacs: Fix attempt to build with cuda support when 'cuda=False'

If for some reason there's a cuda toolkit installed by other means,
(i.e. not by spack) cmake will still try to build with cuda support,
even though 'cuda=False' is the default of the spec.

* Revert "abinit: Fix building with hdf5/netcdf."

This reverts commit e16f725e37.

This should not be here.
2019-03-20 04:54:03 +01:00
Michael Kuhn
1db5a3e0a3 libfabric: add 1.6.2 (#10918) 2019-03-20 04:52:50 +01:00
Matthias Diener
d935048982 git: add version 2.21.0 (#10937) 2019-03-20 04:49:47 +01:00
Michael Kuhn
b48a6f22be strace: add 5.0 (#10940) 2019-03-20 04:48:13 +01:00
Michael Kuhn
09d57d8cee libeatmydata: new package (#10941) 2019-03-20 04:47:45 +01:00
Chris Green
9ad02685d9 Fix help text for --no-checksum. (#10932) 2019-03-19 15:02:06 -05:00
Kelly (KT) Thompson
a1eeeadfd8 Branson: provide new versions. (#10926)
* Branson: provide new versions.

+ Also update dependencies (newer version have fewer dependencies).

* fix style issue
2019-03-19 08:49:58 -06:00
Kelly (KT) Thompson
29ce8eb892 Draco: add variants (#10925)
* Draco: add variants

+ This package has many optional build dependencies that were not registered in
  older versions of this recipe.  I've added (and tested) this more complete
  list of optional dependencies: parmetis, superlu-dist, qt.

* fix style issues
2019-03-19 08:49:30 -06:00
Owen Solberg
3618d405b1 added checksum for new bowtie2 version (#10930) 2019-03-19 15:14:25 +01:00
Christoph Junghans
a6ccd99054 cabana: cuda backend (#10660) 2019-03-18 14:02:28 -06:00
Massimiliano Culpo
4aead5e35b redis: new package (#10915)
Added versions from 4.0.11 to 5.0.3

closes #9180
2019-03-16 14:47:11 +01:00
Mark W. Krentel
e811e23f2e hpcviewer: new package (#10878)
* hpcviewer: new package

Add binary package for hpcviewer and hpctraceviewer for the Rice
hpctoolkit on Linux x86_64, ppc64 and ppc64le.

* ibm-java: add property 'home' so that spec['java'].home will work.

* Flake

* More flake.

* Test that the version, machine type pair exists before using it in the
sha dictionaries so that 'spack info' doesn't crash on unsupported
configurations.
2019-03-15 15:47:22 -05:00
Chris Green
6de6d5396c New package: mariadb-c-client (#7729)
* mariadb-c-client is a new package using the distinct, LGPL,
  MySQL-compatible client library from mariadb.com. It provides the
  virtual package mariadb-client
* mariadb is recorded as a provider of the mariadb-client virtual
* The mysql-client virtual package is also added, and mariadb-c-client
  is recorded as a provider for it
2019-03-15 14:12:30 -05:00
Adam J. Stewart
82e3380049 Add latest version and missing dependencies of MySQL (#10904)
* Add latest version and missing dependencies of MySQL

* m4 only needed on solaris
2019-03-15 14:01:54 -05:00
Christoph Junghans
4baf3d9d02 py-espressopp: add v2.0.2 (#10909) 2019-03-15 12:59:23 -05:00
Matthias Diener
dd09ab697b cmake: add version 3.14.0 (#10908) 2019-03-15 11:49:59 -05:00
Adam J. Stewart
cba5a8058e Add ladot package (#10905) 2019-03-15 01:13:25 -05:00
Adam J. Stewart
4e6285a19b Ensure that every package has a description (#10896) 2019-03-14 20:49:07 -05:00
Chris Green
9b51fb09f1 Support VISUAL environment variable for editing. (#10898)
If the user has set the environment variable VISUAL, it will be used
in preference to EDITOR for all Spack editing activities. If VISUAL
is not set or fails (perhaps due to a lack of graphical editing
capabilities),EDITOR will be used instead. We fall back to one of
several common editors if neither bears fruit.

This feature has been tailored to:

* Provide identical behavior to the previous implementation in the
  case that VISUAL is not set.
* Not require any change to code utilizing the editor feature.
* Follow usual UNIX behavior concerning VISUAL and EDITOR.
2019-03-14 16:16:26 -05:00
Jordan Ogas
1d73868333 charliecloud: added version 0.9.8 (#10900) 2019-03-14 20:36:53 +01:00
Chris Green
6a9f02c96f cppunit: support cxxstd. (#10888) 2019-03-14 16:17:31 +01:00
Elizabeth Fischer
f15f3076db libxaw: added version 1.0.12 (#10591) 2019-03-14 12:55:56 +01:00
Levi Baber
a71664a42d py-pybigwig: needs curl at link time (#10892) 2019-03-14 11:07:50 +01:00
Cody Balos
4025ec9508 sundials: add new version (4.1.0) (#10890) 2019-03-14 11:00:22 +01:00
Nichols A. Romero
ec5bf38245 QMCPACK More CUDA Fixes (#10864)
* Throw InstallError if more than one GPU architecture is passed to cuda_arch. Previous cuda_arch test was not actually working because comparison with none string was on the cuda_arch list instead of the first entry of the list.

* Removing redundant cuda_arch statement.
2019-03-13 16:03:28 -05:00
Eric Martin
2bca687605 py-treehash: Create new package (#10872) 2019-03-13 16:03:09 -05:00
Levi Baber
39c40ee3fc revbayes: new version (#10873) 2019-03-13 21:36:13 +01:00
Michael Kuhn
d3365e4356 libplist, libusbmuxd: Fix pkgconfig dependency (#10876)
pkgconfig is the correct virtual provider.
2019-03-13 14:55:23 -05:00
Michael Kuhn
db79317eb9 cubelib, cubew: Add missing pkgconfig dependency (#10875) 2019-03-13 20:15:02 +01:00
Michael Kuhn
3019068e0c mpich: Add patch to fix node list parsing (#10870)
mpich@3.3 introduced a new regex-based function for node list parsing
that does not recognize hostnames without a dash properly.
2019-03-13 10:58:05 -07:00
Eric Martin
358226b946 py-biomine: new package (#10868) 2019-03-13 15:17:06 +01:00
Eric Martin
6a87b6215f help2man: Add version 1.47.8 and perl runtime dependency (#10862) 2019-03-13 15:11:45 +01:00
Eric Martin
7d50567423 py-advancedhtmlparser: new package (#10867) 2019-03-13 15:06:01 +01:00
Eric Martin
ffbc4f199e fqtrim: Create new package (#10861) 2019-03-12 21:30:30 -05:00
David Hows
c629a6f780 Fix mysqldb1 (#9978)
* Update package.py

* Add MYSQL Package file

* Fixes for linter
2019-03-12 20:57:29 -05:00
Elizabeth Fischer
82e9c01b5c New package: py-mysql-connector (#10327)
* New package: py-mysql-connector

* Fixed docstring

* 1. Determined that py-setuptools was not needed at all, so removed.
2. Added py-protobuf.  Docs seem to imply that only C protobuf library is required; however, the Python setup.py says differently, and some Python code seems to reference protobuf too.  I don't know why this worked for me, but it looks like including py-protobuf is the right thing to do.

* Applied solution detailed in:

https://github.com/mysql/mysql-connector-python/pull/9

Uncommenting this patch will make `error: option --single-version-externally-managed not recognized`  reappear.

* Clean up / reorder lines

* flake8
2019-03-12 20:52:43 -05:00
Tristan Carel
c3662492de Do not use string module to be compatible with python 3 (#248) (#10667)
`string.find` is not part of Python 3 anymore.
2019-03-12 20:34:47 -05:00
Eric Martin
3d7164c13f varscan: set VARSCAN_HOME variable to jar file location (#10744) 2019-03-12 20:29:48 -05:00
Eric Martin
0ebd81bd15 py-pytables: Add hdf5 1.10.x support for versions above 3.4.0 (#10746) 2019-03-12 20:29:24 -05:00
David Poliakoff
d5c3ce790f Update caliper package (#10750)
* Updating Caliper package with a shared lib option

* Tightened version bounds on Caliper package

* Removed testing. Loosened version constraints

* Add Caliper 2.0.1, cleanup dependency specs
2019-03-12 20:28:13 -05:00
Justin Stanley
2bea940e43 find_versions_of_archive: expand link search (#10758) 2019-03-12 20:19:46 -05:00
Nick Forrington
6bda37f542 Fix clearing EnvironmentModifications with python2 (#10791)
* Fix clearing EnvironmentModifications with python2

* Add EnvironmentModifications::clear unit test

Use re-assignment rather than del to clear array

* Fix flake issues
2019-03-12 20:12:51 -05:00
Rob Latham
da28b592fc "Werror" too strict for recent compilers (#10802)
rapidjson gives warnings with gcc-7.3 and branch fall through
2019-03-12 20:10:51 -05:00
Michael Kuhn
65f37746af qt: Use more system dependencies and fix build with new gcc versions (#10817)
qt currently falls back to bundled versions of sqlite, harfbuzz, pcre,
double-conversion and xcb. This adds the appropriate dependencies and
configure arguments. A new variant adds multibyte support to pcre and
pcre2, which is required by qt.

Additionally, newer versions of gcc (starting with @8.3.0) cause build
failures. This adds a patch to fix the problem.

The changes have been tested with all versions of qt currently available
in Spack. 5.2 and 5.3 do not build for reasons that seem to be unrelated
to these changes, though.
2019-03-12 20:04:11 -05:00
健美猞猁
a79230c832 casacore does not support fftw+mpi . (#10839) 2019-03-12 19:59:48 -05:00
健美猞猁
d32a342fc6 Aoflagger: a new package. (#10840)
* A new package: aoflagger.

* aoflagger does not support boost>1.66.0 .

* Add fftw~mpi dependency.

* flake8.

* Flake8.

* Update package heder.

* md5 -> sha256.
2019-03-12 19:59:24 -05:00
Axel Huebl
fd6d3f6b8c openPMD-api: shared variant (#10847)
Add a variant to control shared/static builds (one at a time) and
make shared the default.
2019-03-12 19:58:44 -05:00
Alberto Chiusole
46fb6ed5b6 Revert to manual flag enabling, due to RegCM bug in configure. (#10863)
The configure of RegCM treats --disable-FEATURE as --enable-FEATURE,
so we cannot use enable_or_disable.
2019-03-12 19:48:45 -05:00
Owen Solberg
dc5b16a8e9 added checksum for 20190222 release of gnu parallel (#10865) 2019-03-12 19:40:29 -05:00
Eric Martin
50193229ea py-llvmlite: Add versions 0.26.0 and 0.27.1 (#10866) 2019-03-12 19:40:01 -05:00
Mark W. Krentel
3ed6e78338 New package: ibm-java (#10777)
* Add binary package of the IBM Java SDK for big and little-endian
  powerpc (power7, 8 and 9).  The jdk and openjdk packages only install
  on x86_64.
* Add ibm-java as a java provider
* The jdk and openjdk packages only install on x86_64. Add conflicts
  for ppc64 and ppc64le to jdk and openjdk.
2019-03-12 18:05:47 -05:00
wspear
e1e5eb29d2 Elfutils package: add m4 dependency and version 0.176 (#10834)
* Elfutils requires m4 to build
* Add version 0.176
2019-03-12 17:35:59 -05:00
Robert Pavel
1450fe72fa New package: Draco (#10844) 2019-03-11 20:57:00 -05:00
Matthias Diener
5e68af5a78 scons package: add missing dependency to py-setuptools (#10856) 2019-03-11 20:30:12 -05:00
Jiawei Zhuang
74b33e9f82 OpenMPI: v4.0.0 + Slurm installation error (#10853)
shmemrun and oshrun do not exist in OpenMPI v4.0.0
(ref: https://www.open-mpi.org/doc/v4.0/)

The Spack OpenMPI package was failing the install by trying to
remove them. This guards the removal of several scripts when
using the Slurm scheduler to handle the case where they don't exist.
2019-03-11 20:18:50 -05:00
Michael Kuhn
1e6b13d335 Fix URLs for VI-HPS projects (#10821)
URLs for the opari2, otf2, and scorep packages have changed (although
the checksums are the same)
2019-03-11 20:12:44 -05:00
Stas Sergienko
9ffd508d7c mpich: add psm2 fabric support (#10814)
psm2 is only supported for versions 2.2 and up, so a conflict is
added for earlier versions
2019-03-11 20:10:02 -05:00
健美猞猁
888bb76758 New package: cotter (#10838) 2019-03-11 19:46:40 -05:00
Eric Martin
1d51cdf824 STAR: Add versions 2.7.0d and 2.7.0e (#10831) 2019-03-11 19:44:54 -05:00
Eric Martin
23b73ca982 py-chardet: Add version 3.0.2 (#10827) 2019-03-11 19:44:30 -05:00
Eric Martin
2e47b45d9f py-urllib3: Add version 1.21.1 (#10826) 2019-03-11 19:44:07 -05:00
Greg Sjaardema
204063e21a cgns package: add version 3.4.0 and update hdf5 dependency (#10803)
* Add version 3.4.0
* Update checksums for older versions to sha256
* Require hdf5~mpi when building with ~mpi
2019-03-11 19:43:16 -05:00
Eric Martin
dc0b6a0613 samtools package: Add version 1.5 and htslib 1.5 dependency (#10825) 2019-03-11 19:29:29 -05:00
Alberto Chiusole
2b591653fa hdf5 package: add version 1.10.5 (#10794) 2019-03-11 15:15:03 -05:00
Justin Stanley
46466381b8 py-crossmap: new package at 0.3.3 (#10854) 2019-03-11 15:13:02 -05:00
Michael Kuhn
9425075a23 flex: Apply 2.6.4 patch regardless of gcc version (#10841)
It seems that this is actually a glibc problem and while 2.6.4 builds
without the patch on newer versions of gcc (@8:), it still sometimes
segfaults (as observed during the doxygen build).
2019-03-11 15:12:28 -05:00
Ce Qin
43525d3445 mpich: remove libpciaccess dependency for MacOS (#10795) 2019-03-11 15:06:49 -05:00
Shahzeb Siddiqui
d20b5ce2ec format change and typo in doc (#10848) 2019-03-11 13:19:13 -05:00
Massimiliano Culpo
a42fd7f276 Improved detection of Clang versions (#10316)
Fixes #10191

* Add more regular expressions to detect clang versions that were
  not being picked up
* Add a test for parsing versions from the output of Clang (this
  does not run Clang, but rather uses example outputs from Clang)
* Separate Clang version parsing into its own method (to make it
  easier to test)
2019-03-11 13:15:34 -05:00
Gregory Lee
1fd01af773 added intel 19.0.3 packages (#10835)
* added intel 19.0.3 packages

* added intel 19.0.3 packages
2019-03-11 07:03:24 -07:00
Chris Green
1931bc8b40 Add 2019.{3,4} and patches for pedantic warnings. (#10836) 2019-03-11 09:03:19 -05:00
Chris Green
7e22fdfa21 boost: patch for problem with warnings for 1.69.0. (#10820) 2019-03-11 09:02:50 -05:00
Michael Kuhn
a1c91f3c07 Fix find_headers to also look for C++ headers and Fortran modules (#10798)
Currently, only C headers are considered, causing build failures for
packages depending on, e.g., netcdf-fortran and xerces-c. Additionally,
the regex used to look for the include path component did not consider
word boundaries, causing false matches.
2019-03-08 21:06:22 -06:00
Eric Martin
43b45f4140 breseq package: Add version 0.33.2 and zlib dependency (#10747)
For zlib, also update the `CFLAGS`/`LDFLAGS`
2019-03-08 20:57:00 -06:00
Denis Davydov
c81e68030a intel: add 2019.3 (#10843) 2019-03-08 14:50:58 -08:00
Greg Becker
f4d4322a41 Create option to build compilers as needed (#10761)
* Create option to build missing compilers and add them to config before installing packages that use them
* Clean up kwarg passing for do_install, put compiler bootstrapping in separate method
2019-03-07 17:30:48 -08:00
Christoph Junghans
0d07dea2eb snap: overwrite flags (#10832) 2019-03-07 14:53:04 -07:00
Christoph Junghans
c11e745421 cloverleaf3d: overwrite flags (#10830) 2019-03-07 14:08:52 -07:00
Christoph Junghans
2f7589adc4 cloverleaf: overwrite flags (#10829) 2019-03-07 14:08:36 -07:00
Levi Baber
016945f67a autofact: fix dependency (#10818) 2019-03-07 13:51:40 -06:00
Eric Martin
e750c5af66 trimmomatic package: restrict java dependency to version 8 (#10741) 2019-03-07 13:49:57 -06:00
Tristan Carel
dd6e91fcb6 Nix package: update dependencies (#10646)
* Add 'fiber' as a default library for boost
* Add autoconf/automake etc. dependencies to libseccomp package
* New package: brotli
* New package: editline
* Add brotli, editline, boost dependencies to Nix
2019-03-07 13:32:55 -06:00
Matthias Maiterth
23822e9717 GEOPM package: add version 1.0.0-rc2 (#10737) 2019-03-07 13:18:05 -06:00
Eric Martin
d072a1e0e3 py-sip package: Add version 4.19.3 (#10742) 2019-03-07 13:16:54 -06:00
Eric Martin
435db9d1a5 seqtk package: Add version 1.3 (#10743) 2019-03-07 13:16:20 -06:00
Michael Kuhn
3fb75e1206 flex package: patch for building 2.6.4 with gcc 7 (#10754)
Remove 2.6.3 as preferred version (but keep it available for
building). The latest version (currently 2.6.4) is now preferred
(according to Spack's defaults).
2019-03-07 13:15:47 -06:00
Eric Martin
49e307398b py-certifi: Add version 2017.4.17 (#10828) 2019-03-07 13:09:26 -06:00
Michael Kuhn
2fed84058d py-flake8: Add missing dependencies for @3.7.7 (#10796)
* Update dependencies for py-flake8 when building version 3.7.7
* Add FIXME comment for an example dependency constraint which causes
  concretization to hang
* Add py-entrypoints version 0.3
* Add py-pycodestyle version 2.5.0
2019-03-07 12:50:30 -06:00
健美猞猁
42633e34ab CMake package: update libuv dependency constraints (#10824)
* Add libuv version 1.10.0
* CMake versions before 3.12.0 do not build with libuv version
  1.25.0, so a constraint is added to build earlier versions of
  CMake with libuv version 1.10.x
2019-03-07 12:42:24 -06:00
prs513rosewood
32bbffc869 thrust: add versions 1.9.0-1.9.4 (#10823) 2019-03-07 14:36:59 +01:00
Eric Martin
efdeb860d1 transdecoder package: Add version 5.5.0 and fix up url and installation paths (#10745)
* Add version 5.5.0 and fix installation locations
* URL format has changed as of version 5.5.0
* Update paths created for installation
2019-03-06 20:58:50 -06:00
Eric Martin
45856c3660 bsseeker2 package: Add versions 2.1.8 and 2.1.5 (#10748)
As of version 2.1.8, the url format changed, so also update that
2019-03-06 20:55:06 -06:00
Jeongseok Lee
0e22a94f81 Eigen package: support Spack-external builds using Eigen (#10751)
Update CPATH in setup_environment for Eigen, so that the
Spack-generated module for Eigen will help builds outside of Spack
use the appropriate include prefix for Eigen headers 
(<install_prefix>/include/eigen3/ rather than <install_prefix>/include/)
Note that this only updates the run-time environment, rather than the
build-time environment, so Spack builds depending on Eigen that use
pkgconfig will not be confused by the presence of the Eigen include
directory in CPATH.
2019-03-06 20:48:38 -06:00
Matthias Diener
836f40e30f scons: add version 3.0.4, cleanup URLs (#10806) 2019-03-06 20:39:39 -06:00
HAOCHENG LIU
a3a8ed7234 vtk-m package: turn off mpi support by default (#10755) 2019-03-06 20:34:49 -06:00
健美猞猁
9d880b8838 New package: dysco (#10767) 2019-03-06 20:25:06 -06:00
Greg Sjaardema
c19df8be5d NetCDF package: update constraints on hdf5 mpi support (#10788)
Update NetCDF to require building hdf5 without mpi when NetCDF itself
is built without mpi support.
2019-03-06 20:20:16 -06:00
Satish Balay
35daaa440f omega-h: add version 9.22.2 and update gcc 8 conflict (#10776)
* Versions before 9.22.2 compiler with gcc 8.3 or later
* Added version 9.22.2, which compiles with all gcc 8.x versions
  (including those before 8.3)
2019-03-06 20:10:47 -06:00
Adam J. Stewart
f7223e54ed Make is a required dependency of Spack (#10386)
Update documentation on getting started to mention that a "make"
executable is required to build packages with Spack.
2019-03-06 19:46:54 -06:00
Ryan S. Elliott
39467e4d67 Update kim-api package and add openkim-models-v2 (#10780)
* Replace kim-api package with kim-api-v2, which has different
  versions and removes the 'cmake_args' method
* Add openkim-models-v2 as an extension package
2019-03-06 19:23:05 -06:00
Mark W. Krentel
edecdc3ace libelf: move url to fossies.org (#10815)
* libelf: move url to fossies.org

Libelf is no longer maintained and the original mr511.de web site no
longer exists.  The final release, 0.8.13 from Nov 2009 is still
archived at fossies.org.

Fixes #10757.

* Change the homepage to the FSF entry.
2019-03-06 11:42:44 -08:00
Gregory Lee
10b0251af0 added python 2.7.16 (#10805) 2019-03-06 11:05:32 -08:00
Gregory Lee
86a1230a60 build fixes for util-linux (#10811) 2019-03-06 11:04:53 -08:00
Cameron Stanavige
9f734e0cfd unifycr: dependency changes and new version (#10722)
New release of UnifyCR. Remove unsupported pre-1.0 versions

UnifyCR has had a few dependency changes to make the backend more
efficient. A new pre-release version has been released as well to
mark these changes. Prior versions are no longer supported.
2019-03-06 10:56:20 -08:00
Owen Solberg
ff7cd40ca1 update package rsem (#10813) 2019-03-06 14:57:54 +01:00
Isaac Whitfield
1605368148 libusbmuxd: new package (#10726) 2019-03-06 10:10:02 +01:00
健美猞猁
c5573e660c intel-parallel-studio package: add version cluster.2019.2 (#10782) 2019-03-05 18:08:00 -06:00
健美猞猁
40d66e34d3 New package: pal (#10766) 2019-03-05 17:41:54 -06:00
健美猞猁
063f5b63da New package: erfa (#10763) 2019-03-05 17:40:39 -06:00
Greg Sjaardema
4c493b065c NetCDF package: add version 4.6.3 and update naming (#10786)
* Add NetCDF version 4.6.3
* Naming scheme for artifacts >= 4.6.2 has changed. Add a
  url_for_version function to generate the appropriate URLs
2019-03-05 17:33:47 -06:00
clellsolomon
b72715ed7c Add fzf utility package (#10778)
* Add fzf utility package

* Fix "style checks" errors

- var/spack/repos/builtin/packages/fzf/package.py:32:
  [E226] missing whitespace around arithmetic operator
2019-03-05 17:17:48 -06:00
Michael Kuhn
5758e49c80 gcc package: Add 8.3.0 (#10772) 2019-03-05 17:15:57 -06:00
Gregory Lee
7bd8689f06 openss package: allow all 2.7.x versions (#10807)
Originally the version constraint range had an upper bound of 2.7.15
This allows all 2.7.x versions
2019-03-05 17:14:32 -06:00
Alberto Chiusole
63e172d2ac RegCM: intel FC 'hint', 4.7.0 intel warning, fcflags, fix extensions. (#10797)
This should fix and improve #9934, which was messed up by a fetch from develop
2019-03-05 21:30:53 +01:00
Gregory Lee
bad485a221 various package version updates and build fixes (#10775)
* various package version updates and build fixes
2019-03-05 11:59:47 -08:00
Matthias Diener
c939e36ed9 cantera: make sundials dependency optional (#10764) 2019-03-05 19:58:00 +01:00
Michael Kuhn
c717f56359 ncl: Add 6.6.2 (#10800) 2019-03-05 17:13:51 +01:00
Michael Kuhn
21fb7dadb3 openssl: Add 1.1.1b, 1.1.0j and 1.0.2r (#10779) 2019-03-05 16:26:18 +01:00
Matthias Diener
9ba4d4e2af git-lfs: add version 2.7.1 (#10770) 2019-03-05 16:25:20 +01:00
Greg Sjaardema
d580d2a033 seacas: Update NetCDF version requirement (#10787)
Modified NetCDF requirement to allow NetCDF-4.6.2 and subsequent versions.
2019-03-05 14:05:52 +01:00
Justin Stanley
f19a214a19 libbeagle: add 3.1.2 (#10789) 2019-03-05 14:02:52 +01:00
Peter Scheibel
af4a36c4d9 Header subdirectories for Python and Eigen (#10773)
Fixes #10769 

This updates the .headers property to include header subdirectories
for Python and Eigen (as is recommended by these packages).

#10623 updated the default behavior of .headers.directories to
exclude subdirectories (since this can cause clashes with system
headers). This broke some packages which depended on the old behavior
of .headers.directories: for example if you had
<package-prefix>/include/subdir/ex1.h, .headers.directories would
include <package-prefix>/include/subdir.
2019-03-04 12:36:51 -06:00
Brian Van Essen
0ce1500376 Package Updates for ECP CANDLE Supervisor (#10760)
* Add EQ-R package
* Add Fansi, Pillar, UTF8 (R) packages
* Add new versions for py-mdanalysis, r-cli, r-dplyr, r-pkgconfig,
  r-rlang, r-tibble, stc, and turbine packages
* Add hdf5 support for turbine
* Specify configure directory for stc package
2019-03-01 14:46:13 -06:00
Justin Stanley
c8557ba7d8 blast2go: new package at 5.2.5 (#10725)
* blast2go: new package at 5.2.5

* blast2go: remove redundant url
2019-03-01 12:36:00 -06:00
Matthias Diener
ee5e5ce3c6 new package: intel-pin (#10546) 2019-03-01 12:29:01 -06:00
Justin Stanley
1a8161a982 r-bfastspatial: new package at 0.6.2 (#10734) 2019-03-01 10:18:14 -06:00
Justin Stanley
cbc6a2070a r-bfast: new package at 1.5.7 (#10733) 2019-03-01 10:17:37 -06:00
Justin Stanley
94357a274c bedops: avoid static linking with glibc (#10456) 2019-03-01 10:17:01 -06:00
Justin Stanley
165d8da0c2 blast-legacy: new package at 2.2.26 (#10610)
* blast-legacy: new package at 2.2.26

* blast-legacy: compile from source

* blast-legacy: add missing os.symlink import

* blast-legacy: fix build script interpreter
2019-03-01 10:14:37 -06:00
Justin Stanley
f9947333ca bridger: new package at 2014-12-01 (#10611) 2019-03-01 10:09:23 -06:00
Justin Stanley
c4aba6a204 r-spatial: new package at 7.3-11 (#10728) 2019-03-01 09:57:59 -06:00
Justin Stanley
16af5f31d9 r-nortest: new package at 1.0-4 (#10729) 2019-03-01 09:55:30 -06:00
Justin Stanley
4f1044a072 r-xts: add 0.11-2 (#10730) 2019-03-01 09:54:26 -06:00
Justin Stanley
104a8a1422 r-gdalutils: new package at 2.0.1.14 (#10731) 2019-03-01 09:53:30 -06:00
Justin Stanley
0766e7fbbb r-rgdal: add 1.3-9 (#10732) 2019-03-01 09:52:07 -06:00
Justin Stanley
89f59f7ab0 hyphy: new package at 2.3.14 (#10759) 2019-03-01 09:31:46 -06:00
Patrick Gartung
1d4289afdd This fixes a problem where the placeholder path was not in the first rpath entry.
* Rework of buildcache creation and install prefix checking using the functions introduced in
https://github.com/spack/spack/pull/9199

Instead of replacing rpaths with placeholder and then checking strings, make use of the functions
relocate.is_recocatable and relocate.is_file_relocatable to decide if a package needs the allow-root option.

This fixes a problem where the placeholder path was not in the first rpath entry. This was seen in c++ libraries and binaries because the compiler was outside the spack install base path and always appears first in the rpath.

Instead of checking the first rpath entry, all rpaths have the placeholder path and the old install path (if it exists) replaced with the new install path.

* flake8
2019-03-01 07:47:26 -06:00
Jiawei Zhuang
433cc4a972 Fix sha256 sum for IOR (#10765) 2019-03-01 09:59:36 +01:00
Massimiliano Culpo
e3af8ed454 Added a sub-command to show if packages are relocatable (#9199)
* Added the `spack buildcache preview` sub-command

This is similar to `spack spec -I` but highlights which nodes in a DAG
are relocatable and which are not.

spec.tree has been generalized a little to accept a status function,
instead of always showing the install status

The current implementation works only for ELF, and needs to be
generalized to other platforms.

* Added a test to check if an executable is relocatable or not

This test requires a few commands to be present in the environment.
Currently it will run only under python 3.7 (which uses Xenial instead
of Trusty).

* Added tests for the 'buildcache preview' command.

* Fixed codebase after rebase

* Fixed the list of apt addons for Python 3.7 in travis.yaml

* Only check ELF executables and shared libraries. Skip checking virtual or external packages. (#229)

* Fixed flake8 issues

* Add handling for macOS mach binaries (#231)
2019-02-28 15:36:47 -06:00
Sajid Ali
6d20e938da petsc: add +knl variant 2019-02-28 11:07:04 -06:00
Satish Balay
f8da8dbd0e Trilinos: add release 12.14.1 (#10740)
xsdk: switch from 12.14.0-rc1 to 12.14.1
2019-02-28 11:05:05 -06:00
Michael Kuhn
617c1a3706 Fix shell integration with environment-modules@4 (#10736) 2019-02-28 13:22:44 +01:00
Eric Martin
4e80977506 py-tetoolkit: Add version 2.0.3 (#10749) 2019-02-28 12:59:30 +01:00
Owen Solberg
fac2dbda07 git-lfs: patch Makefile for v2.7.0 (#10720)
Fixes #10702

Same fix merged upstream in git-lfs/git-lfs#3545 -- it may appear
in future release v2.7.2 according to package maintainer.
2019-02-27 16:02:25 -06:00
Adam J. Stewart
a25edb51a9 Fix 'make test' detection when LANG is not in English (#10499) 2019-02-27 14:01:50 -06:00
Justin Stanley
2f4f828b45 wtdbg2: new package (#10639)
* wtdbg2: new package at 2.3

* wtdbg2: flake8 fix
2019-02-27 13:27:45 -06:00
Michael Kuhn
b1a04b7699 mpich: Improve package (#10643)
- Add missing pkg-config, libpciaccess and libxml2 dependencies
- Add slurm variant for nodelist parsing
- Add missing configure flag for libfabric
- Unset F90 and F90FLAGS
- Allow selecting different PMI interfaces
2019-02-27 13:13:44 -06:00
Paschalis Korosoglou
ab499a958d otf2 package: fix download URL (#10735) 2019-02-27 12:47:56 -06:00
Gregory Lee
d60106a3f6 Add newer versions for 51 Python packages (#10738) 2019-02-27 12:45:28 -06:00
Massimiliano Culpo
7eec038690 Update environment-modules package (#10717)
The environment modules package has been updated to include 
versions up to 4.0.0. The url of the package and the homepage
have been updated accordingly.

The `spack bootstrap` command now builds version 3.2.10 of
the environment-modules package, and will do until #10708 
is fixed.
2019-02-27 14:00:46 +01:00
Isaac Whitfield
5efff5d2fc new package: libusb (#10682) 2019-02-26 20:52:47 -06:00
Isaac Whitfield
938939b7e4 new package: libtasn1 (#10681) 2019-02-26 20:52:04 -06:00
Nichols A. Romero
d9b7c1faea QMCPACK package: cuda/hdf5 fixes (#10701)
* Make use of new QE multi-valued HDF5 variant interface
* Remove explicit CUDA dependency (which is handled by inheriting
  from CudaPackage)
* Update cuda_arch unset variant check
2019-02-26 20:50:32 -06:00
Satish Balay
c11f598e0b petsc: add version 3.10.4 (#10724) 2019-02-26 20:41:33 -06:00
Justin Stanley
cbecf9f555 new package: phred (#10700)
Part of the software collection introduced in #10529. Developers must
be contacted via email to receive the source code.
2019-02-26 19:14:58 -06:00
Isaac Whitfield
fbdbed1180 new package: libplist (#10680)
Dependency of Google's Flutter toolchain.
2019-02-26 19:12:41 -06:00
Justin Stanley
df4b77f120 libbeagle package: add cuda support (#10650)
libbeagle compiles against CUDA by default but no there is no mention
of it in the package recipe. This PR adds explicit cuda paths and
variants, and fixes the target architecture as well (for those who
don't have compute_13)
2019-02-26 18:50:08 -06:00
Michael Kuhn
0adf1b5405 vampirtrace: patch for new mpich and openmpi versions (#10665) 2019-02-26 18:48:14 -06:00
Phil Tooley
018ae371d6 new package: routino (#10679) 2019-02-26 18:41:44 -06:00
Janne Blomqvist
312122f169 Don't try to build TARGET=PILEDRIVER on aarch64
Piledriver is a codename for an AMD x86-64 processor, it can't
possibly make sense to compile for that if the architecture is
aarch64.
2019-02-26 18:40:39 -06:00
Neil Flood
2831184e41 kealib package: add version 1.4.11 (#10706) 2019-02-26 18:39:27 -06:00
Daryl W. Grunau
ecd98d1953 eospac package: add version 6.4.0 (#10718) 2019-02-26 18:38:52 -06:00
Justin Stanley
ba2ed96513 beast2 package: add version 2.5.2 (#10723) 2019-02-26 18:38:21 -06:00
Nichols A. Romero
5aa6cbf437 Quantum ESPRESSO package: Serial HDF5 Bug Fix (#10689)
Serial HDF5 in serial QE only works in develop version. This adds
a conflict to the QE package to prevent Spack from trying to build
specs which don't satisfy this constraint.
2019-02-26 18:36:50 -06:00
Massimiliano Culpo
42386dbe94 Use Package.headers for -I options (#10623)
This restores the use of Package.headers when computing -I options
for building a package that was added in #8136 and reverted in
#10604. #8136 used utility logic that located all header files in
an installation prefix, and calculated the -I options as the
immediate roots containing those header files.

In some cases, for a package containing a directory structure like

  prefix/
    include/
	  ex1.h
	  subdir/
	    ex2.h

dependents may expect to include ex2.h relative to 'include', and
adding 'prefix/include/subdir' as a -I was causing errors,
in particular if ex2.h has the same name as a system header.

This updates header utility logic to by default return the base
"include" directory when it exists, rather than subdirectories.
It also makes it possible for package implementers to override
Package.headers to return the subdirectory when it is required
(for example with libxml2).
2019-02-26 12:42:30 -06:00
Justin Stanley
ad25e7f3b0 r-vfs: new package at 1.0.2 (#10697) 2019-02-26 12:21:12 -06:00
Justin Stanley
68318ab076 r-nleqslv: new package at 3.3.2 (#10696) 2019-02-26 12:19:48 -06:00
Daniel Topa
c832479c65 Add libhio v1.4.1.3, 1.4.1.1 (#10699)
- Switch all libhio tarball listings to sha256 checksums
- Correct typo in alert message in /lib/spack/spack/util/module_cmd.py: fucntion -> function

https://github.com/hpc/libhio/releases
Released 2019-02-01

Verification builds on LANL Darwin:

**Intel Xeon**
Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                40
On-line CPU(s) list:   0-39
Thread(s) per core:    2
Core(s) per socket:    10
Socket(s):             2
NUMA node(s):          2
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 63
Model name:            Intel(R) Xeon(R) CPU E5-2660 v3 @ 2.60GHz
Stepping:              2
CPU MHz:               1198.779
CPU max MHz:           3300.0000
CPU min MHz:           1200.0000
BogoMIPS:              5193.70
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              25600K
NUMA node0 CPU(s):     0-9,20-29
NUMA node1 CPU(s):     10-19,30-39
Flags:                 fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid dca sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand lahf_lm abm cpuid_fault epb invpcid_single pti intel_ppin tpr_shadow vnmi flexpriority ept vpid ept_ad fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms invpcid cqm xsaveopt cqm_llc cqm_occup_llc dtherm ida arat pln pts
`
[+] /scratch/users/dantopa/new-spack/strawman.pr.libhio/opt/spack/linux-centos7-x86_64/gcc-4.8.5/libhio-1.4.1.3-s4fnmesfp65trhks5qi3it5p73ssfpsp
[+] /scratch/users/dantopa/new-spack/strawman.pr.libhio/opt/spack/linux-centos7-x86_64/gcc-4.8.5/libhio-1.4.1.2-fkgh5vqpijvwqywffmokgmsglqxwfrtl
`

**Arm**
Architecture:          aarch64
Byte Order:            Little Endian
CPU(s):                256
On-line CPU(s) list:   0-255
Thread(s) per core:    4
Core(s) per socket:    32
Socket(s):             2
NUMA node(s):          2
Model:                 0
BogoMIPS:              400.00
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              32768K
NUMA node0 CPU(s):     0-127
NUMA node1 CPU(s):     128-255
Flags:                 fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics cpuid asimdrdm
`
[+] /scratch/users/dantopa/new-spack/strawman.pr.libhio/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/libhio-1.4.1.3-q6nnwiy6bi7ktnghdsngwamom23zpmgy
[+] /scratch/users/dantopa/new-spack/strawman.pr.libhio/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/libhio-1.4.1.2-y6nwovff3qbdy242zc4x2toloz6xpcvm
`

2019-02-25

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-02-26 09:56:20 +01:00
Adam J. Stewart
a75a6ee1b7 Add /hash to spack help --spec (#10691)
* Add /hash to spack help --spec
* Make /hash gray, add ^/hash
2019-02-25 16:20:28 -08:00
Stephen Hudson
7c38dc06dc libEnsemble package: add v0.4.1 (#10688)
Also add v0.4.0 and remove version lower bound on petsc4py
2019-02-25 14:37:51 -06:00
Michael Kuhn
385d108b5d slurm: Add PMI support (#10683)
- Add support for pmix (optional)
- Install pmi2 header and library
2019-02-25 13:05:31 -06:00
Elsa Gonsiorowski, PhD
d85a0bae8f mpiFileUtils v0.9 (#10676)
* working on updating to cmake

* generic package, any ver of cmake

* install for autotools or cmake
2019-02-25 09:24:52 -08:00
Hadrien G
236180c109 ACTS: new package (#10600) 2019-02-25 11:11:01 +01:00
Sinan
691a2f4b71 py-unicycler: new package (#7727) 2019-02-25 09:44:05 +01:00
Denis Davydov
2851b3f57c dealii: fix default of cuda_arch (#10690) 2019-02-24 08:53:13 +01:00
Adam J. Stewart
b43e8fcaa7 Python: optional dependencies and post-installation tests (#10335)
* Add post-installation tests to Python package

* libbsd does not build on macOS

* Make Python dependencies optional

* Add readline dep, remove ncurses patch, fix autoreconf
2019-02-23 12:36:26 -06:00
Justin Stanley
68af6148d1 beast-tracer: new package at 1.7.1 (#10652) 2019-02-22 19:22:30 -06:00
Levi Baber
0e7b19adf4 stacks package: add version 2.3b (#10653) 2019-02-22 19:16:44 -06:00
Brian Spilner
ba70d6e706 cdo package: add version 1.9.6 (#10654) 2019-02-22 18:38:35 -06:00
Geoffrey Oxberry
219c17a340 automake package: add version 1.13.4 (#10662)
Also replace MD5 hashes with SHA256 hashes for older versions
2019-02-22 18:38:00 -06:00
Eric Martin
49f56cb49c gmap-gsnap package: Add version 2019-02-15 (#10677) 2019-02-22 18:36:40 -06:00
Axel Huebl
7bd960ba86 ADIOS package: add version 2.3.1 (#10666)
Update older md5 checksums to sha256. Require CMake >= 3.6.0 (updated
from 3.5.0). Remove some third-party depends_on statements (which
were commented out before).
2019-02-22 18:36:04 -06:00
Hadrien G
510a28d156 Gaudi package: new version + xenv bugfix (#10668)
Extract implicit xenv dependency into a new package and add it as an
explicit dependency. Update Gaudi to explicitly depend on older
versions of xenv rather than the latest develop because that
conflicts with Spack's compiler wrappers.
2019-02-21 19:04:03 -06:00
cedricchevalier19
3b10e450d2 mono package: add new versions (#10670) 2019-02-21 18:52:30 -06:00
Daniel Topa
e230b0a00f UCX package: add version 1.5.0 (#10678) 2019-02-21 18:22:32 -06:00
Peter Scheibel
98f1c9a291 CPATH warning: downgrade to debug message (#10675)
Spack warns users when a dependency package updates CPATH. This
warning message is generating bug reports and alarm in cases where
there is no problem. For now this downgrades the warning message to
the debug level, so it only shows up if something goes wrong for the
user and they ask for more information from Spack.
2019-02-21 17:26:38 -06:00
Daryl W. Grunau
4f5be841d4 gcc package: skip nvptx_install for gcc~nvptx (#10672)
The nvptx installation support phase (added in 040b658) was always
running for gcc regardless of whether +nvptx was enabled. This
removes the "@when" syntax (which apparently is not working) and
adds a check inside of the "nvptx_install" function to bail out if
+nvptx is not enabled.
2019-02-21 15:43:29 -06:00
Scott Wittenburg
5600c9f0d9 release workflow: Add build scripts for jobs and means to upload pkgs 2019-02-21 15:37:35 -06:00
Scott Wittenburg
a6e8e889b2 release workflow: Add spack command for generating the .gitlab-ci.yml
This spack command adds a new schema for a file which describes the
builder containers available, along with the compilers availabe on
each builder.  The release-jobs command then generates the .gitlab-ci.yml
file by first expanding the release spec set, concretizing each spec
(in an appropriate docker container if --this-machine-only argument is
not provided on command line), and then combining and staging all the
concrete specs as jobs to be run by gitlab.
2019-02-21 15:37:35 -06:00
Scott Wittenburg
05cdb5a0bb docker: Add Dockerfiles for images needed by AWS gitlab-runners
The built images are set up with fairly recent versions of gcc and
clang:

  - centos_7:     [ gcc@5.5.0 (built from src), clang@6.0.0 (spack-built from src) ]
  - ubuntu_18.04: [ gcc@5.5.0 (system), clang@6.0.0-1ubuntu2 (system) ]
2019-02-21 15:37:35 -06:00
Scott Wittenburg
fce1c4133f buildcache: Add sub-commands needed by release workflow
Adds four new sub-commands to the buildcache command:

1. save-yaml: Takes a root spec and a list of dependent spec names,
along with a directory in which to save yaml files, and writes out
the full spec.yaml for each of the dependent specs.  This only needs
to concretize the root spec once, then indexes it with the names of
the dependent specs.

2. check: Checks a spec (via either an abstract spec or via a full
spec.yaml) against remote mirror to see if it needs to be rebuilt.
Comparies full_hash stored on remote mirror with full_hash computed
locally to determine whether spec needs to be rebuilt.  Can also
generate list of specs to check against remote mirror by expanding
the set of release specs expressed in etc/spack/defaults/release.yaml.

3. get-buildcache-name: Makes it possible to attempt to read directly
the spec.yaml file on a remote or local mirror by providing the path
where the file should live based on concretizing the spec.

4. download: Downloads all buildcache files associated with a spec
on a remote mirror, including any .spack, .spec, and .cdashid files
that might exist.  Puts the files into the local path provided on
the command line, and organizes them in the same hierarchy found on
the remote mirror

This commit also refactors lib/spack/spack/util/web.py to expose
functionality allowing other modules to read data from a url.
2019-02-21 15:37:35 -06:00
Todd Gamblin
be4b95ee30 add CombinatorialSpecSet class for taking cross-products of Specs.
- add CombinatorialSpecSet in spack.util.spec_set module.
  - class is iterable and encaspulated YAML parsing and validation.

- Adjust YAML format to be more generic
  - YAML spec-set format now has a `matrix` section, which can contain
    multiple lists of specs, generated different ways. Including:
    - specs: a raw list of specs.
    - packages: a list of package names and versions
    - compilers: a list of compiler names and versions

  - All of the elements of `matrix` are dimensions for the build matrix;
    we take the cartesian product of these lists of specs to generate a
    build matrix.  This means we can add things like [^mpich, ^openmpi]
    to get builds with different MPI versions.  It also means we can
    multiply the build matrix out with lots of different parameters.

- Add a schema format for spec-sets
2019-02-21 15:37:35 -06:00
Jordan Ogas
ad8036e5a2 add charliecloud 0.9.7 (#10661) 2019-02-21 09:58:37 +01:00
Levi Baber
040b65876b gcc: add nvptx offload capability (#9406)
Add optional support for Nvidia PTX
2019-02-20 20:52:15 -06:00
Adam J. Stewart
af8d84197d Download GNU packages from mirrors (Part 2) (#10555) 2019-02-20 09:08:42 -06:00
Massimiliano Culpo
0a252eccc4 uvw: new package (#10645) 2019-02-20 13:53:07 +01:00
Ben Morgan
fb6a2b5cab xxhash: edit prefix in Makefile for macOS (#10606)
On macOS, the build of libxxhash is performed by a bare `make`
launched by `MakePackage`s default `build` phase. As `prefix`
is not set at this point, the library gets compiled with a hard-coded
install name of `/usr/local/libxxhash.dylib`. Downstream clients,
in the tested case Root, will then fail to build as the install name
is incorrect.

Move setting of `prefix` from `install` to `edit` so that it
propagates to subsequent `build` and `install` phases.
2019-02-20 10:55:09 +01:00
Isaac Whitfield
286da7f47b new package: libyaml (#10634) 2019-02-19 12:45:31 -06:00
Nichols A. Romero
7dd5bdcfa4 Quantum ESPRESSO: HDF5 update (#10607)
* QE hdf5 is now a multi-valued variant. Update conflicts accordingly.

* Update dependencies for hdf5 multi-valued variant. Bug fix:  high-level hdf5 library needs to be a hard dependecy.

* Support for HDF5 serial interface. Note that this is not supported in QE autoconf, but will be fixed in the next official release.
2019-02-19 17:07:27 +01:00
Tristan Carel
efc3406900 nix: new package added (#9171) 2019-02-19 15:27:39 +01:00
Rob Latham
2242b9f338 update IOR package (#10595)
- new GitHub home
- new 3.2 release
2019-02-19 12:10:17 +01:00
Andreas Baumbach
66bfad8d44 cquery: new package (#10636) 2019-02-19 11:30:41 +01:00
Andreas Baumbach
9e3d92692d connect-proxy: new package (#10635) 2019-02-19 11:30:09 +01:00
Michael Kuhn
bcee3efecd mvapich2: Improve package (#10642)
- Add support for nemesis:ofi netmod
- Add missing pkg-config and libxml2 dependencies
2019-02-19 11:02:02 +01:00
Elizabeth Fischer
ec4da14e2c Add comments and version (#10592) 2019-02-18 21:48:01 -06:00
Matthias Diener
aabd2be31a git-lfs: add version 2.7.0 (#10631) 2019-02-18 08:59:11 +01:00
Axel Huebl
899c83c215 openPMD-api: mpi4py support (#10616)
Refactor dependencies, increase new min versions, add
mpi4py variant.
2019-02-18 08:54:27 +01:00
Axel Huebl
e5dc5c173e NLohmann-JSON: v3.5.0 (#10615)
Add the latest bugfix release.
2019-02-18 08:53:50 +01:00
Axel Huebl
a4f9501a56 Catch2: v2.6.1 (#10613)
add the lastest bugfix release of Catch2
2019-02-18 08:53:33 +01:00
Nichols A. Romero
05269ad392 Update CUDA support in QMCPACK (#10587)
* Support in QMCPACK for CUDA_ARCH flag.

* No need to have explicit CUDA variant anymore.

* Internal QMCPACK CMake assumes a minimum GPU architecture if none is provided.
2019-02-17 08:17:58 -05:00
Hadrien G
a93581e8de Fix plural typo in ROOT package (#10614) 2019-02-16 21:22:23 +01:00
Omar Padron
67415a1875 [Docker] more base images (#10560)
* Revert "work around an issue with docker/dockerhub (#10547)"

This reverts commit 0ef139ac4d.

* Add more docker base image configurations.

 - Renamed configs

   - "centos" -> "centos-7"
   - "fedora" -> "fedora-24"
   - "opensuse" -> "opensuse-tumbleweed"
   - "scilinux" -> "scilinux-7"
   - "ubuntu" -> "ubuntu-1804"

 - Added configs

   - "centos-6"
   - "fedora-29"
   - "opensuse-leap"
   - "scilinux-6"
   - "ubuntu-1604"

With these changes, our docker hub image
collection will consist of the following:

 - "spack/archlinux"
   - "latest"
 - "spack/centos"
   - "latest", "centos7", "7"
   - "centos6", "6"
 - "spack/fedora"
   - "latest", "29"
   - "24"
 - "spack/opensuse"
   - "latest", "tumbleweed"
   - "leap"
 - "spack/scilinux"
   - "latest", "7"
   - "6"
 - "spack/ubuntu"
   - "latest", "bionic", "18.04"
   - "xenial", "16.04"
2019-02-16 10:20:25 -05:00
Peter Scheibel
32ba471816 Dependency libs: filter system paths and always add lib dir (#10622)
Fixes #10617
Fixes #10624
Closes: #10619

#8136 dependended entirely on spec.libs to retrieve library directories
from dependencies. By default this function only retrieves libraries if
their name is something like lib<package> (e.g. "libfoo.so" for a
package called "Foo"). This unconditionally adds lib/lib64 directories
for each dependency as link/rpath directories. 

This also filters system paths from link/rpaths/include directories and
removes duplicated paths that #8136 could add.
2019-02-15 17:21:35 -06:00
Javier Cervantes
9b1690641b Fix bug getting specs from build caches (#9600) 2019-02-15 13:33:49 -06:00
Scott Wittenburg
75487dca44 CDash: allow installing from spec.yaml (#10565)
If the -f <specyamlfile> argument to install is used (rather than
providing package specs on the command line), CDash throws an exception
due to missing the installation command (the packages targeted for
install).  This fixes that behavior so CDash reporting succeeds in
either case.
2019-02-14 17:43:53 -06:00
Cameron Smith
a06bf21610 new variant: simmodsuite for pumi (#8775) 2019-02-14 21:36:56 +01:00
Massimiliano Culpo
1ec0d4feb3 Removed pkg.headers.directories from the include list (#10604)
fixes #10601

Due to a bug this attribute is wrong for packages that use directories
as namespaces. For instance it will add "<boost-prefix>/include/boost"
instead of "<boost-prefix>/include" to the include path.

As a minor addition a few loops in the compiler wrappers have been
simplified.
2019-02-14 08:35:41 -08:00
Massimiliano Culpo
b3dd95bd62 cp2k is now a MakefilePackage (#10570)
* cp2k: archive the Makefile after a successful installation

* cp2k: all checksums are now sha256

* libint: all checksums are now sha256 + added versions 2.4.X

* libxc: all checksums are now sha256 + added version 4.3.2

* cp2k: os.path.join instead of join_path + simplified openmp flags

* cp2k: turned into a MakefilePackage

* cp2k: refactored edit method so that Makefile writing happens last
2019-02-14 07:11:20 +01:00
Chris Green
051c66335f pythia6: fix input verification issue and example data checksum. (#10563)
* pythia6: fix issue validating integer input.

* pythia6: account for apparent update of example data file.
2019-02-13 23:17:46 -06:00
Chris Green
24d7f0f0af xrootd: allow specification of C++ standard. (#10577)
* xrootd: add cxxstd variant.

* xrootd: support for recent and upcoming versions.
2019-02-13 23:17:10 -06:00
Ben Morgan
7e8b8d61a1 icu4c: Add cxxstd variant (#10552)
* icu4c: Add cxxstd variant

For versions supported in Spack, ICU4C defaults to the C++11.
Provide a variant to default to this, plus options for C++14
and 17 if dependees require for ABI compatibility.

* icu4c: cxxstd variant cannot be multi
2019-02-13 23:05:39 -06:00
Hadrien G
6e95e06bda Add Gaudi and RELAX packages (#9194)
* Add a RELAX package

* Add a Gaudi package
2019-02-13 23:04:38 -06:00
Hadrien G
54f94e5828 Add a DD4hep package (#9208) 2019-02-13 22:58:27 -06:00
Hadrien G
0e0e7d4137 Add new ROOT release, move to SHA-256 checksums (#10583) 2019-02-13 22:54:45 -06:00
Patrick Gartung
0748a32b2d Updated Geant4 and dependencies clhep and vecgeom to use cxxstd= variant (#10518)
* Updated Geant4 and dependencies clhep and vecgeom to use cxxstd= variant so that it is applied consistently.

* Make standalone geant4 data packages that are used when data is not installed with geant4. This allows installing the data files are externals that can be common to many compiler version.

* move geant4 data package dependencies to umbrella package geant4-data
2019-02-13 22:51:26 -06:00
Phil Carns
6971f8ae32 make SPACK_SHELL detection more robust (#9712)
Spack shell detection in setup-env.sh was originally based on
examining the executable name of $$ (from "ps"). In some cases this
does not actually give the name of the shell used, for example when
setup-env.sh was invoked from a script using "#!". To make shell
detection more robust, this adds a preliminary check for shell
variables which indicate that the shell is bash or zsh; the
executable name of $$ is retained as a fallback if those variables
are not defined.
2019-02-13 19:52:18 -06:00
Peter Scheibel
8ca384875e Dynamic library/include paths (#8136)
Fixes #7855
Closes #8070
Closes #2645

When searching for library directories (e.g. to add "-L" arguments to
the compiler wrapper) Spack was only trying the "lib/" and "lib64/"
directories for each dependency install prefix; this missed cases
where packages would install libraries to subdirectories and also was
not customizable. This PR makes use of the ".headers" and ".libs"
properties for more-advanced location of header/library directories.
Since packages can override the default behavior of ".headers" and
".libs", it also allows package writers to customize.

The following environment variables which used to be set by Spack
for a package build have been removed:

* Remove SPACK_PREFIX and SPACK_DEPENDENCIES environment variables as
  they are no-longer used
* Remove SPACK_INSTALL environment variable: it was not used before
  this PR
2019-02-13 17:38:14 -06:00
Peter Doak
1bf86292e1 add latest version of pixman (#10580) 2019-02-13 21:26:51 +01:00
Hadrien G
9374adb455 Eigen package: deactivate some dependencies (#10572)
Set defaults in eigen package to omit typically-unused dependencies
2019-02-13 13:33:01 -06:00
Brian Van Essen
406a242847 Update lbann sw stack dependencies (#10579)
* Added a package for the MDAnalysis toolkit.

* Updated LBANN, Hydrogen, and Aluminum to not require CUDA-aware MPI
even when using CUDA.  Fixed small bugs within both LBANN and Hydrogen
packages.  Added requirements for breathe and cereal to LBANN.

* Update use case for doc dependencies.

* Cleaning up some of the LBANN software stack dependencies.
2019-02-13 11:19:15 -08:00
abernede
89727ba4e7 Bug Fix in permission setter (#10584)
* fix permission setter

Fix a typo in islink test when applied to files.

* os.walk explicitly set not to follow links

The algorithm strongly rely on not following links.
2019-02-13 11:18:36 -08:00
sknigh
a76c50d1ee Allow tty output to be timestamped (#10554)
* Spack debug output now includes microsecond-granularity timestamps.
* Timestamps can also be enabled with the `--timestamp` command line argument.
2019-02-13 10:14:35 -08:00
健美猞猁
2202579685 Cnvnator: a new package. (#8959) 2019-02-13 11:15:00 +01:00
Matthias Wolf
861dd06bd1 enh: allow time like HH:MM in date strings. (#10034) 2019-02-13 11:05:00 +01:00
George Hartzell
f65a1155e1 Enhancement to module autoload documentation (#10310)
* Note that `none` is the default for lmod autoload

Save a bit of confusion by *explicitly* pointing out that `none` is
the default value for autoload in the lmod module file generator.

* Add a tip re building software externally

Add a tip about using `autoload: all` when building packages outside
of the tree that use artifacts (e.g. libraries, includes) within the
tree.
2019-02-12 22:02:13 +01:00
Chris Green
05f565356f Allow secondary generators when building with CMake. (#9324)
CMake supports the notion of secondary generators which provide extra
information to (e.g.) IDEs over and above that normally provided by
the primary generator. Spack only supports the 'Unix Makefiles' and
'Ninja' primary generators but was not parsing out the primary
generator when a secondary generator was also included (e.g. for
a generator attribute like 'Codeblocks - Ninja'). This adds a regex
for extracting the primary generator for validation.

Since the secondary generator is irrelevant to a Spack build, it is
passed on to CMake without further validation.
2019-02-12 12:39:19 -06:00
健美猞猁
f9c27f52bd casacore: new package (#7471) 2019-02-12 17:22:48 +01:00
Ben Morgan
8fd4e9a9fa xerces-c: Add cxxstd variant (#10561)
Add variant to support compiling against main C++ standards if needed
for ABI compatibility. Use 'default' value as Xerces-C autoconf system
does not enforce a minimum, or set a default, C++ standard.
2019-02-12 09:40:59 +01:00
Brian Van Essen
dc12ca5c76 lbann: updated versions (#10568) 2019-02-12 09:05:32 +01:00
Matthias Diener
068eefb4f5 remove remaining lzma dependencies (#10553) 2019-02-12 09:03:50 +01:00
Matthias Diener
6e38423d1c openssl: add version 1.1.1a (#10562) 2019-02-12 08:58:50 +01:00
Omar Padron
0ef139ac4d work around an issue with docker/dockerhub (#10547)
* try to workaround an issue with docker/dockerhub
* apply workaround only when running in travis
2019-02-08 16:39:40 -08:00
Javier Cervantes
36ebd7462c root package major update (#8428)
* Extend current recipe for root package
* Add removed old version
* Add dependency type for Python and R packages
* Add compiler variants
* Adding new root version: 6.14.00
* Add back the minimum cmake version required
* LZ4 and xxhash support for old (using builtin options) and new versions (external packages)
* Set PYTHONPATH in setup_environment
* Address typos and issues pointed by HadrienG2
* Add newer ROOT versions
* Solve support for asimage
* Define incompatible variants
* Organize old dependencies
* Add support for minuit
* Add support for pythia6
* Remove unneeded list_url
* Update license header
* Remove block of commented old dependencies
* Contrain Qt version
* Comment pythia8 variant/dependency, not supported by spack
* Force not to build pythia8
2019-02-08 09:17:07 -08:00
Matthias Diener
ff67009161 libarchive: remove lzma dependency (#10517)
lzma was last updated in 2008 and has compilation
issues on some platforms. The format has been superceded
by xz (see e.g. https://tukaani.org/xz/).
2019-02-08 16:33:13 +01:00
Denis Davydov
5623ac3d6b CudaPackage: fix wrong version range (#10551) 2019-02-08 16:32:43 +01:00
Robert Blake
a55fc5b963 Adding a package for cardioid. (#10448)
* Adding a package for cardioid.

* Changing package to pass flake8

* Removing template leftovers per @ax3l 's advice

* Adding a homepage so tests pass.

* Removing whitespace for flake8

* Changing the name of master branch to match spack standards.
2019-02-08 11:17:26 +01:00
Michael Kuhn
84bc2a4215 meson: add 0.49.1 and disable rpath stripping (#10463)
rpath stripping breaks (at least) the gtkplus build because at-spi2-atk's
dependencies can not be found.
2019-02-08 11:15:49 +01:00
Peter Scheibel
d8746d596e bug report template: suggest --stacktrace instead of -s (#10548)
1137b18 removed the -s option from spack such that to see a stack
trace you must pass the --stacktrace option. The bug report templates
were not updated accordingly.
2019-02-07 21:06:57 -06:00
Piotr Luszczek
f093515002 netlib-scalapack package: add CMake test patch (#10452)
Add patch to fix Fortran mangling in CMake test

This is a fix for builds with GCC 6/7/8 and CMake 2/3. It includes
a link to the issue where this is reported. For now, the Spack
package applies the patch to all releases >= 2.0.2
2019-02-07 20:58:27 -06:00
Justin Stanley
ec6de8326e repeatmasker package: add variant for cross_match engine (#10534) 2019-02-07 16:53:30 -06:00
wspear
76feb0205d New package: py-jupyterhub (#10461)
This package depends on both python 3.5+ and node-js which depends on
python 2.7/2.8 to build. Currently it can only be installed if the
node-js package's python dependency is manually removed, so node-js
will build with python found on the system rather than provided by
spack. Upcoming commits may allow spack to reconcile this
automatically.
2019-02-07 16:47:46 -06:00
Justin Stanley
ef89ae03bc mirdeep2 package: make sure bins are executable (#10515) 2019-02-07 13:05:19 -06:00
mathsen
570af0c313 Trilinos package: update superlu-dist dependency (#10511)
Trilinos master branch gets the latest superlu-dist (currently 6.1.0)
2019-02-07 12:58:45 -06:00
Massimiliano Culpo
58f1dc037a log-parse: fix error message when no error lines are found (#10543) 2019-02-07 12:19:19 -06:00
Satish Balay
b8684b318c petsc: petscvariables is used from user makefiles - so it should not have spack compilers listed (#10365) 2019-02-07 09:09:23 -06:00
Satish Balay
1d71a5ea57 petsc4py and libensemble: add @develop dependencies (#10539)
* py-petsc4py: add @develop

* py-libensemble: add @develop dependency on py-petsc4py@develop
2019-02-07 09:06:31 -06:00
Satish Balay
0ad1b2a2c8 petsc@xsdk-0.2.0: fix sowing dependency (#10535) 2019-02-07 09:05:43 -06:00
Satish Balay
753fec39ae xsdk@develop fixes (#10521)
* xsdk@develop: switch trilinos from @master to @develop

* xsdk@develop: dtk - fix trilinos dependency on dtk.
 - dkt-3.0 should be used with trilinos-12.4*
 - dtk/master should be used with trilinos@develop
2019-02-07 09:05:14 -06:00
Justin Stanley
09a884322f orthofiller: new package at 1.1.4 (#10373) 2019-02-07 10:22:36 +01:00
Gregory Lee
f0cb4580d1 fixed checksum (#10393) 2019-02-07 10:20:45 +01:00
Levi Baber
af7f1bb3ca new package: perl logger simple (#10509) 2019-02-07 10:19:07 +01:00
Levi Baber
07b5a6a512 perl-file-homedir: new package (#10533) 2019-02-07 10:09:20 +01:00
Levi Baber
4679c11098 py-biopython: new version (#10532) 2019-02-07 10:08:45 +01:00
Matthias Diener
d4d402586c cmake: add version 3.13.4 (#10538) 2019-02-07 09:15:32 +01:00
Justin Stanley
401d305f4e phrap-crossmatch-swat: new package at 1.090518 (#10529) 2019-02-06 19:13:44 -06:00
Mario Melara
5bc71f07dd Add x86_64 as target to cray platform (#10369)
Add x86_64 as a target for the Cray platform, and also designate it
as the default front_end target.
2019-02-06 17:49:00 -06:00
Owen Solberg
cdbaf8dfc5 mafft package: add version 7.407 (#10488) 2019-02-06 13:55:16 -06:00
Matthias Diener
6dbc1afe45 jdk package: add version 1.8.0_202 (#10536) 2019-02-06 13:54:02 -06:00
Levi Baber
0cf0fd47c8 New package: perl-object-insideout (#10508) 2019-02-06 13:53:33 -06:00
Matthias Wolf
5281403fb2 fmt package: fix cmake arguments (#10500) 2019-02-06 13:52:49 -06:00
Stephen Herbein
b028e99cac py-black: add new package 2019-02-06 13:50:04 -06:00
Stephen Herbein
4e92974ed1 py-toml: add latest version and update checksums to sha256
A version >= 0.9.4 required for py-black.  Added latest, which is
0.10.0.  Manually verified that the .tar.gz for v0.9.3 used to generate
the sha256 matched the previous md5.
2019-02-06 13:50:04 -06:00
Matthias Diener
bdabdb85ed curl package: add version 7.63.0 (#10516) 2019-02-06 13:48:36 -06:00
Douglas Duckworth
d053eac538 py-multiqc: add version 1.7 (#10520)
Added sha256 for py-multiqc as well as require py-matplotlib < v 3.0
2019-02-06 13:47:59 -06:00
Levi Baber
1a34bebe79 genemark et package: add version 4.38 (#10519)
Also add heu_dir to bin/
2019-02-06 13:46:35 -06:00
Jon Rood
11c52c3bf7 Paraview package: update PYTHONPATH for dependents (#10501)
Add vtkmodules directory to PYTHONPATH in Paraview for Trilinos
2019-02-06 12:45:14 -06:00
Daniel Topa
d9d75635c7 Add Python 3.7.2 updated (#10531)
Also add versions 3.7.1, 3.6.8, 3.6.7, 3.6.6. Does NOT alter preferred version (2.7.15).

Supplants PR 10491 "Add Python 3.7.2" (https://github.com/spack/spack/pull/10491).

Verification builds on LANL Darwin:

**Intel Xeon**
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/general/opt/spack/linux-centos7-x86_64/gcc-4.8.5/python-3.7.2-d3p7vg6w2r563cpmwsmbgjbsiqc4j4fq
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/general/opt/spack/linux-centos7-x86_64/gcc-4.8.5/python-3.7.1-ibom6qj2z64egyaqz5htkwp5tr362il6
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/general/opt/spack/linux-centos7-x86_64/gcc-4.8.5/python-3.6.8-rkifc3c7mjgdglw27upiap767ut4wpkz
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/general/opt/spack/linux-centos7-x86_64/gcc-4.8.5/python-3.6.7-meuesn43twttt756exyzqgdhohjgipjq
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/general/opt/spack/linux-centos7-x86_64/gcc-4.8.5/python-3.6.6-qwnwme7otyuoqqudcglfmfy75t5npywl

**Arm**
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/arm/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/python-3.7.2-qj27kzs4ttdqudm3hsi3pt57kv7lshco
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/arm/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/python-3.7.1-io5eneirgvpegy3tosvp6wq5ndf7yjis
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/arm/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/python-3.6.8-ej3vnvta2hbtrh7p5hokfqkuewxeqgsa
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/arm/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/python-3.6.7-l3qnue72ewppn2wxza3w6l62l7ijlque
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/arm/opt/spack/linux-rhel7-aarch64/gcc-4.8.5/python-3.6.6-b55pdoqsr5bie4k5djd4vokm3nywhm45

**Power9**
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/power9/opt/spack/linux-rhel7-ppc64le/gcc-4.8.5/python-3.7.2-cicayvl7ki4tswoqlljsmcetwqcnoh3x
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/power9/opt/spack/linux-rhel7-ppc64le/gcc-4.8.5/python-3.7.1-7vej3zvnvyj2jvz5lnxhnts3ok2fcxbp
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/power9/opt/spack/linux-rhel7-ppc64le/gcc-4.8.5/python-3.6.8-xijljmdanyrybcx2rv65qshycmbrfv6c
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/power9/opt/spack/linux-rhel7-ppc64le/gcc-4.8.5/python-3.6.7-vqdhzg7c3xxxregqmzxsqqfzxt2hajvq
[+] /scratch/users/dantopa/new-spack/pr.new.python-3.7.2/power9/opt/spack/linux-rhel7-ppc64le/gcc-4.8.5/python-3.6.6-jf4bnsdwk3qjhtmvjjhblnrcz5dztfdq

2019-02-05
Signed-off-by: Daniel Topa <dantopa@lanl.gov>

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2019-02-06 12:03:25 -06:00
Nichols A. Romero
5394f0016a CUDA compiler conflicts for Linux (#10460)
* CUDA compiler conflicts for Linux.

* Add Volta and Turing GPUs.

* Add mandatory conflict for Volta and Turing GPUs.

* Revert "CUDA compiler conflicts for Linux."

This reverts commit 7d4ff654ac.

* Compiler conflicts introduced from previous commit into CUDA packaged moved and integrated into CUDA build system.

* More conversative with compiler conflicts for cuda 10.0.130, since I don't know what will happen with future cuda 10.x releases.

* Correct off-by-one errors in clang conflicts for x86_64 Linux.

* No restrictions on Apple Clang compiler until we are able to distinguish Xcode clang from github clang more easily. Note to fix this in the future.

* Change comment to clarify that github clang refers to LLVM clang.

* Fix and simplify index range.

* Fix overlapping conflicts for CUDA 10.0.130

* Removed extra ^cuda from conflict.
2019-02-06 17:09:52 +01:00
Valentin Clement (バレンタイン クレメン)
548e6736c4 Update CLAW package with version 1.2.1 (#10528) 2019-02-06 15:51:52 +01:00
Levi Baber
881ce3a5c2 perl-yaml: new package (#10514) 2019-02-06 15:47:54 +01:00
simo-tuomisto
1be258a587 wordnet: new package (#10526) 2019-02-06 15:38:48 +01:00
Denis Davydov
871e7f525c xsdk: enable slepc in deal.ii (used to be a concretization error) (#10218) 2019-02-06 07:59:36 -06:00
Phil Carns
0b4a7dd04a New package: PMDK (#10453) 2019-02-05 16:53:16 -06:00
Justin Stanley
003ebf8bab r-wgcna: new package at 1.64-1 (#10392) 2019-02-05 09:00:25 -06:00
Axel Huebl
293e5c0781 MPark: Variant v1.4.0 (#10512)
Add the latest release of Michael Park's C++ Variant lib.
2019-02-05 15:18:19 +01:00
Phil Carns
de91d0badc mercury package: add 'udreg' variant (#10415)
Faster and/or more robust in some cases on Cray platforms
2019-02-04 19:51:04 -06:00
Levi Baber
c7ecb66a2f New package: perl-hash-merge (#10506) 2019-02-04 18:05:36 -06:00
Levi Baber
736a317e0c New package: perl-clone-choose (#10507) 2019-02-04 18:04:55 -06:00
Christoph Junghans
514cf0c1f4 votca*: add v1.5 (#10495)
* votca-tools: add v1.5

* votca-csg: add v1.5

* votca-xtp: add v1.5

* votca-ctp: add v1.5
2019-02-04 12:57:19 -07:00
Justin Stanley
478c3f5e8b augustus: fix bam2wig auxprog build (#10362)
* augustus: fix bam2wig auxprog build

* augustus: few more changes to make new versions work
2019-02-04 10:36:10 -06:00
Matthias Diener
bca72036a8 tar: add version 1.31 (#10485) 2019-02-04 11:02:13 +01:00
Axel Huebl
17cc4f208f Catch2: v2.6.0 (#10490)
Add the latest Catch2 release.
2019-02-04 10:52:47 +01:00
wspear
43fae5b807 New package: py-alembic (#10436) 2019-02-01 16:24:44 -06:00
wspear
ec7c7332c0 New package: py-prometheus-client (#10440) 2019-02-01 16:23:59 -06:00
Nicholas Labello
8c87a937e1 plumed package: add versions 2.4.4 and 2.5.0 (#10496) 2019-02-01 16:21:55 -06:00
Mark W. Krentel
a1969d9eec dyninst: add patch to work with new boost (#10454)
Add tribool.patch to add explicit casts from tribool to bool in two
places.  Boost, starting with version 1.69, turned on explicit
conversions for tribool, which breaks the build for dyninst.

This is merged into the current dyninst develop and is expected to be
part of the next release, so the version range uses the current
release as an upper bound.
2019-02-01 16:18:16 -06:00
wspear
c2b06c27ac New package: py-async-generator (#10439) 2019-02-01 12:40:19 -06:00
zschulte
a701c412bc gatk package: new versions, updated helper script (#10459)
Closes #10168

* Add versions 4.1.0.0 and 4.0.12.0
* Replace md5 checksums with sha256
* Logic to generate a helper script for versions earlier than 4 was
  not running. This corrects the branch which controls whether this
  script is generated.
* Constrain Java dependency to version 8 (GATK does not work with
  Java 11)
* Avoid adding scripts that have dependencies not handled by Spack
  such as gcloud and google-chrome. These scripts are good candidates
  for later extensions.
2019-01-31 16:10:06 -06:00
Ricardo Silva
cf754245fd py-pybigwig: fix build with python3, add numpy variant (#10444)
* added patch to correctly pick up non-system curl when building
  with Python 3
* added numpy variant
* add version 0.3.12
* update checksums to sha256
2019-01-31 14:50:10 -06:00
snehring
21afd258a4 New package: openjdk (#9861)
Closes #2622

This retrieves and installs the binary of Oracle's OpenJDK (an
open-source JDK implementation). The logic is largely based on the
Spack JDK package (Oracle's closed-source JDK implementation).

For now this is only supports Linux. If the download could be
customized based on OS (for the same version), binaries are also
available for MacOS and Windows.
2019-01-31 12:54:28 -06:00
Matthias Diener
ec78d362d2 git-lfs: add version 2.6.1, update build system (#10405)
Build system was changed to use a Makefile. Therefore older versions
(which don't support this) are removed. The new build system also
supports testing by default.
2019-01-30 21:21:08 -06:00
Tom Payerle
c42528fac2 fftw: fix include error for 2.x versions (#10039)
Fixes #7372

Added patch method which renames config.h in the fftw subdir of the
source tree. fftw 2.1.5 appears to ship with a copy of this file
with all defines commented out. This gets read by the #include
directives instead of the version in the build directory with the
correct defines. As a result, many C preprocessor macros left
undefined, including F77_FUNC_ which causes the bulk of fttwf77.c
to be skipped due to an #ifdef, so fftw_reverse_int_array et al
not included in library. Fixes #7372

Also fixed some inconsistencies with the handling of quad and
long_double in specs between the configure method and the build,
check, and install methods.
2019-01-30 21:18:10 -06:00
Axel Huebl
2aad75d98f HDF5: Add develop Version (#10382) 2019-01-30 21:04:24 -06:00
Phil Carns
36c46a7daf Mercury package: update libfabric dependency on Cray (#10408)
The Mercury package previously depended on libfabric@develop on
Cray platforms in order to pick up a fix for the GNI provider that
was only available in git. This is no longer needed now that the
libfabric package is at 1.7.0.
2019-01-30 20:57:31 -06:00
Justin Stanley
5a431eb408 r-pkgmaker: add 0.27, new dependencies (#10419) 2019-01-30 20:54:24 -06:00
Michael Kuhn
b1af6b43dc gobject-introspection: add 1.56.1 and fix download (#10462)
Define url_for_version, since Spack's default substitution is
not sufficient
2019-01-30 20:53:08 -06:00
Matthias Diener
3ce0fba036 go: fix directory structure issue for 1.11.5 (#10484) 2019-01-30 20:30:05 -06:00
Chuck Atkins
be38fded9b cmake: Fix linker errors on Darwin when using external dependencies (#10467)
Adds upstream patch for a missing framework. This is anticipated
to be fixed by CMake 3.13.4 so is only applied up to version 3.13.3
2019-01-30 20:24:20 -06:00
Matt Belhorn
2b6bf06150 libsodium: Updates source URL. (#10483)
The source URL for versions 1.0.15 and older is updated to reflect where
those archives are now hosted by the upstream libsodium developers.
2019-01-30 20:14:41 -06:00
Jon Rood
86747b39d4 ninja: Add kitware version with fortran capability (#10470) 2019-01-30 20:06:09 -06:00
G-Ragghianti
9630d732d6 New package: SLATE (#10434) 2019-01-30 19:59:26 -06:00
Jason Lee
c698384216 jemalloc: Add variant to prepend public api with "je_" prefix (#10356) 2019-01-30 19:16:33 -06:00
Justin Stanley
993745b919 redundans: add 0.14a (#10006)
Also update install to use globbing
2019-01-30 18:55:59 -06:00
Samuel Thibault
9bfcbcc155 New package: simgrid (#10076) 2019-01-30 18:39:59 -06:00
Cameron Smith
9d7f215e47 zoltan: detect metis int64 variant (#10051)
Configure zoltan depending on metis int64 support
2019-01-30 15:19:38 -06:00
dorier
477d3fb479 Package py-keras: add new versions and dependencies (#10353)
Add new versions for py-keras. Versions of py-keras at or after
2.2.0 require keras-processing and keras-applications packages.
Add these packages to Spack and add dependencies to the py-keras
package.
2019-01-30 14:32:37 -06:00
Jimmy Tang
47887499bf cudnn package: add version 7.2 (#10481) 2019-01-30 13:44:24 -06:00
sknigh
d4fbaa054f Update opa-psm2 package (#10344)
* Add version 11.2.68
* Add variant to disable AVX2 for older hardware
* Change the makefile so libraries and includes are not placed
  under $PREFIX/usr
* Updated URL and homepage
2019-01-30 13:38:48 -06:00
Justin Stanley
a3926620ee r-preprocesscore: add version 1.44.0 (#10389) 2019-01-30 13:30:06 -06:00
Justin Stanley
65429026af r-impute: add version 1.56.0 (#10390) 2019-01-30 13:29:09 -06:00
Abhinav Bhatele
5c99716160 codes package: add version 1.1.0 (#10414) 2019-01-30 13:27:56 -06:00
Justin Stanley
25d2ccfcc5 r-runit: new package at 0.4.32 (#10416) 2019-01-30 13:26:34 -06:00
Justin Stanley
2a28e6e6bb r-bibtex: new package at 0.4.2 (#10417) 2019-01-30 13:25:43 -06:00
Justin Stanley
9efeff6b1f r-rngtools: add 1.3.1 (#10418) 2019-01-30 13:25:10 -06:00
Abhinav Bhatele
16819a5b18 ROSS package: update homepage and git url (#10429) 2019-01-30 13:24:14 -06:00
Adam J. Stewart
f011c9976f Add JDK 11.0.2_9 (#10413)
Also add 11.0.1_13; remove 11.0.1, which is no longer available for
download.
2019-01-30 13:20:30 -06:00
Michael Kuhn
e338f2c2c1 ncl package: require cairo with pdf support (#10465)
Needed after #10135
2019-01-30 13:10:08 -06:00
Michael Kuhn
5ada4d9956 gtkplus: add gettext dependency (#10464) 2019-01-30 13:08:43 -06:00
G-Ragghianti
b114ec4e77 New package: lm-sensors (#10443) 2019-01-30 13:04:52 -06:00
Matthias Diener
28de435584 go: add version 1.11.5 (#10451) 2019-01-30 12:57:45 -06:00
Satish Balay
d8e9d7acbd py-petsc4py: add version 3.10.1 (#10457)
Also update dependency version ranges
2019-01-30 12:54:45 -06:00
Christoph Junghans
ccb3face64 py-espresso package: add version 4.0.1 (#10469) 2019-01-30 12:53:24 -06:00
Sajid Ali
a67995d66a py-dask package: add version 1.1.0 (#10475) 2019-01-30 12:51:56 -06:00
Sajid Ali
b34e2b8973 neovim package: add version 0.3.4 (#10472) 2019-01-30 12:51:17 -06:00
Matthias Maiterth
f50e91776d geopm package: new versions, dependency updates (#10480)
Added versions 1.0.0-rc1, 0.6.1, 0.6.0, 0.5.1

hwloc dependency was removed after 0.5.1, so the related configure
option is not specified after 0.5.1

Require py-matplotlib dependency version 2.2.3 (version was not
specified before)
2019-01-30 12:50:38 -06:00
Daniel Topa
1d4d2cff50 Add Open MPI 2.1.6 (#10478) 2019-01-30 12:45:46 -06:00
Sajid Ali
5992f508d3 py-numexpr package: add version 2.6.9 (#10477) 2019-01-30 12:45:19 -06:00
Sajid Ali
e0387ab1a1 modified: var/spack/repos/builtin/packages/libx11/package.py (#10473) 2019-01-30 12:44:03 -06:00
Sajid Ali
627ef75bb8 py-pyfftw package: add version 0.11.1 (#10474) 2019-01-30 12:43:23 -06:00
George Hartzell
f878c0cb5b Add configparser v3.5.1, fixes backports namespace (#10433)
Fixes #8343 #4154 #7370
Closes #4155 

All but one of the backports packages were using "pkgutil-style"
namespacing, but configparser was using "pkg_resource-style".
A namespace needs to be one style or another. This adds a new
configparser version which switches to using the pkgutil-style
namespace approach.

With this update, one can now install flake8 with Spack and use
it by loading modules.
2019-01-29 17:58:56 -06:00
Peter Scheibel
b2c2cbadcd debug output includes modulecmd output (#9476)
Debug output now includes the output of modulecmd executions. Only
output module content when a failure occurs; always report when a
module is loaded/unloaded.
2019-01-29 17:41:15 -06:00
Chuck Atkins
b7c31cb561 rhash: Fix broken RPATH info on darwin
The PREFIX variable in the makefiles is directly used to construct the
install name on the library metadata on darwin.  If not passed, the
default /usr/local is used and the resulting librhash.dylib contains
usage informaiton of /usr/local/lib/librhash.0.dylib.  This adds the
PREFIX= variable directly to the make command so the resulting usage
metadata contains the correct valid library path.
2019-01-29 16:31:15 -06:00
Stephen Herbein
67a1e56e4d add flux-core@0.11.0 and flux-sched@0.7.0 (#10447)
* flux-core: add v0.11.0 and updated dependencies

libuuid hasn't been a direct dependency of flux-core since 2015 (well
before any of the versions listed in the package).

The yaml-cpp dependency moved to flux-sched when we moved the jobpsec
library from core to sched.

Some python3 incompatibilities were found in 0.11.0, so bump the python3
support back a version.

* flux-sched: add v0.7.0 and make boost dependency more precise
2019-01-28 21:20:01 -07:00
Chuck Atkins
6535eae5c7 llvm: various updates (#10427)
* llvm: Bump version to 7.0.1

* llvm: Added perl-data-dumper build dependency for openmp

* llvm: Enable exception handling and RTTI

Useful to have turned on in general with RTTI but also necessary
to workaround some lldb stability issues with some versions of
libstdc++.
2019-01-29 00:32:30 +01:00
Ralph Castain
3b1fb7d9ff Update the PMIx package (#10442)
* Update the PMIx package

- Add latest releases to the list.
- Add dependency on hwloc for versions >= 3.0
- Flag preferred versions for libevent and hwloc
- Improve the description
- Point the project URL to the correct site

Signed-off-by: Ralph Castain <rhc@pmix.org>

* Only install the hwloc dependency for versions >= 3.0.0

Thanks to @ax3l for the suggestion

Signed-off-by: Ralph Castain <rhc@pmix.org>

* Add myself as a listed maintainer

Signed-off-by: Ralph Castain <rhc@pmix.org>
2019-01-26 21:25:18 +01:00
Cameron Smith
4e14752dd6 add variant for a debug build (#10409) 2019-01-26 18:42:24 +01:00
Nichols A. Romero
4ab89f4de1 QMCPACK Update - Jan 2019 (#10252)
* Add warnings for existing conflicts. New versions of QMCPACK require a compiler with C++14 support.

* QMCPACK now requires a newer release of CMake.

* Switch QMCPACK to using FFTW-api provider.

* Relax dependencies on QMCPACK +da variant.

* Add QMCPACK 3.6.0 release.

* QMCPACK compiler-CUDA conflicts.

* QMCPACK fix typo in expressing conflict.

* Conditional needed since these variables are only used when FFTW is a dependency to QMCPACK.

* QMCPACK QE variant dependency was underspecified. Must include MPI as a hard dependency on QE.

* Update QMCPACK dependencies for HDF5, CMake and Boost.

* QMCPACK clean-up, more consistent use of spec vs. self.spec.

* Add support for collective I/O variant of QMCPACK.

* Update QMCPACK conflicts for QE and PHDF5 variants.

* Use built-in install method for QMCPACK starting with 3.6.0

* QMCPACK compiler C++14 conflicts were off by one version.

* QMCPACK package needs to setup_environment method.

* In support of PR#10252, get rid of slashes in string.

* Migrate these to the CUDA package and make a seperate PR.

* In support of PR#10252, get rid of join_path for nexus.

* In support of PR#10252, work around concretizer limitation.

* In support of PR#10252, convert to conditionals to if-else clauses for compactness.

* In support of PR#10252, get rid of extra space and new line in warning messages.
2019-01-26 10:13:51 -06:00
Abhinav Bhatele
a307822fd9 laghos: update version (#10420) 2019-01-26 16:29:32 +01:00
Satish Balay
d071c6d341 petsc: configure works with python3 in current petsc@develop - and will work in future releases [3.11+] (#10380) 2019-01-26 16:28:20 +01:00
Matthias Diener
f299507fa9 diffutils: add version 3.7 (#10406) 2019-01-26 16:26:47 +01:00
Matthias Diener
2826d37a45 rust: add version 1.32.0 (#10407) 2019-01-26 16:26:16 +01:00
Ricardo Silva
3fc8203b93 bcftools: do not use bundled htslib (#10445)
* if the path to htslib is not specified the bundled one is built instead
* additionally this fixes the build with the intel compiler
2019-01-26 16:21:04 +01:00
Chuck Atkins
e867319ac3 perl-data-dumper: New package (#10425)
This package is added to satisfy a build time dependency for llvm-openmp
2019-01-26 16:16:03 +01:00
Chuck Atkins
76c757de22 libuv: Bump version to 1.25.0 (#10423) 2019-01-26 16:11:45 +01:00
Chuck Atkins
3266c69352 cmake: Use system libs by default (#10424)
This also fixes the libuv version dependency for 3.11+
2019-01-26 16:11:32 +01:00
wspear
68eb2a1418 Added the py-send2trash package as a pre-req for py-jupyterhub (#10441) 2019-01-26 16:10:02 +01:00
Piotr Luszczek
b94c8c2d53 magma: add version 2.5.0 (#10438) 2019-01-26 16:03:05 +01:00
Levi Baber
248452df4f capstone: new package (#10449) 2019-01-26 15:52:39 +01:00
Peter Scheibel
5abf29c971 Environments: fix bug for install of external packages (#10437)
"spack install" will install all packages added to the current
environment. When this included external packages, the environment
update would fail because it would attempt to copy log files that
were only generated if Spack handled the install itself. This skips
that step for external packages.
2019-01-24 21:29:21 -06:00
Greg Becker
98e0b5b0db Allow spack install --overwrite for nonexistent or multiple packages (#9201)
* Allow overwrite nonexistent and multiple packages

initial implementation
give one prompt to users instead of a prompt per spec
testing

* flake

* bugfix: install overwrite check each spec against installed

* python3 compliance for filter/map
2019-01-24 12:10:32 -08:00
Omar Padron
7d64994cbd fix issue where docker images were being pushed without login (#10379) 2019-01-24 10:08:38 -08:00
sameershende
7d12ff6e16 Update ecp st tau pdt (#8192)
* Updated MPI and TAU versions in the TAU package
* Updated PDT versions
* Added support for Python (+python), default to `False`
* Cleaned up binutils, python, mpi usage.
* Updated binutils install to add additional header files to the include/extra directory.
* Resolving review problems with TAU and binutils packages.
  The binutils package was updated to include support for installing
  the ELF headers as a +headers variant.  The TAU package was updated
  to use all known Spack dependencies.
2019-01-23 20:40:58 -08:00
Justin Stanley
9252f7f957 trinotate: remove perl-dbd-mysql, move runtime files to HOME (#9850) 2019-01-22 14:26:31 -06:00
Justin Stanley
7baea68278 r-gamlss: new package (and data) at 5.1-2 (#10360)
* r-gamlss-data: new package at 5.1-0

* r-gamlss-dist: new package at 5.1-1

* r-gamlss: new package at 5.1-2

* r-gamlss: add mass, survival, nlme imports
2019-01-22 14:25:57 -06:00
Justin Stanley
bb942e1fc5 entrezdirect: new package (#10374) 2019-01-22 14:25:10 -06:00
Justin Stanley
4b7510ec38 py-whatshap: new package at 0.17 (#10377)
* py-whatshap: new package at 0.17

* py-whatshap: remove unused build_args
2019-01-22 14:24:45 -06:00
Justin Stanley
c1a1415e90 r-rrcov: new package at 1.4-7 (#10387) 2019-01-22 14:22:37 -06:00
Justin Stanley
e8014be017 r-robust: new package at 0.4-18 (#10391) 2019-01-22 14:22:24 -06:00
Justin Stanley
1bcc6e4d9c r-dynamictreecut: new package at 1.63-1 (#10388) 2019-01-22 14:22:09 -06:00
Peter Scheibel
c0972a3260 Exclude system mkl installs from numpy (#10383)
Fixes #10361
Fixes #6634

When mkl isnt in the spec, still write an explicit mkl entry to
prevent numpy from looking in system dirs and using a system install
of mkl. Do the same for openblas and atlas (although mkl was the only
system install reported to interfere with Spack's choice).
2019-01-22 12:18:54 -06:00
Justin Stanley
636d6007ba py-pyvcf: new package at 0.6.0 (#10375) 2019-01-22 17:11:19 +01:00
Adam J. Stewart
39725e0784 Typo fixes in .flake8 comments (#10399) 2019-01-21 12:35:11 +01:00
Justin Stanley
bb1f8b0e3e py-pyfaidx: new package at 0.5.5.2 (#10376) 2019-01-20 14:16:43 +01:00
Matthias Diener
ab00de9e81 cmake: add version 3.13.3 (#10397) 2019-01-20 14:14:37 +01:00
Jon Rood
e896ce7457 Update Nalu-Wind and dependencies (#10204)
* Updating nalu-wind, nalu, openfast, and tioga packages. Includes
  improved handling of +shared variant.
* Add fftw and catalyst support to nalu-wind.
* Restrict ParaView to use matplotlib versions before 3 (which
  require Python 3)
2019-01-18 18:43:59 -06:00
Owen Solberg
7a2315aa38 adding checksum for latest lmod release (#10381) 2019-01-18 08:49:26 +01:00
Hadrien G
3497098978 Update templight pseudo-release to remove need for patching (#10290)
* Update templight+LLVM combo

* Bring back old pseudo-release
2019-01-16 10:36:34 -06:00
Massimiliano Culpo
4bc3936004 Openblas: added version 0.3.5 (#10364) 2019-01-16 08:11:07 -06:00
sknigh
b31ecb0342 Added latest version of singularity 2.x (#10354) 2019-01-16 13:14:32 +01:00
George Hartzell
1f9fe02309 Add package for Hugo (static website generator) (#10358) 2019-01-16 13:11:15 +01:00
Tom Payerle
01bd67eb43 py-modred: New package (#10309)
* py-modred: New package

Parallelized python module for finding modal decompositions and
reduced order models.

* fix license
I think?

* Add dependency on py-numpy

and remove commented out code
2019-01-15 16:42:20 -06:00
sknigh
eaa340eba7 Added hpl 2.3 (#10345)
* Added hpl 2.3

* Added requested build fixes, added step to copy HPL.dat in 2.3+
2019-01-15 16:41:33 -06:00
Adam J. Stewart
d7fb3fd88e r requires cairo+pdf (#10350) 2019-01-15 09:58:53 -06:00
Owen Solberg
2585c04b50 explicitly depend_on cairo with X **and** pdf variants (#10351) 2019-01-15 09:58:39 -06:00
Elizabeth Fischer
0628ebefd8 Add useful comment explaining why this is not needed for Python3. (#10326) 2019-01-15 07:31:20 -08:00
Axel Huebl
89a493522c openPMD-api: Dependency Update (#10314)
openPMD-api now only supports Python 3, needs a newer CMake and
ADIOS1 and also learned to read & write JSON :-)
2019-01-15 09:28:13 -06:00
Neil Flood
49dedb2443 vigra: new package (#10337)
* vigra: new package

* Better constraints and types on some depends_on. Use site_packages_dir variable for Python install dir. Explicit switch-offs where available. Change some local variables to suit style checks.

* Take care of lines too long

* Explicit WITH_HDF5=ON
2019-01-14 20:39:34 -06:00
Andrew Gaspar
04d4b07636 Add span-lite version (#10347) 2019-01-14 18:22:29 -06:00
sknigh
a1994d883c Added latest rust releases and develop branch (#10341)
* Added latest rust releases and develop branch

* Fixed spacing
2019-01-14 17:22:38 -06:00
Levi Baber
d1b7e560bd namd: fixing to reflect renamed charmpp per #9216 (#10342) 2019-01-14 17:22:03 -06:00
sknigh
43e6114db7 Added latest version of libfabric (#10343) 2019-01-14 17:21:33 -06:00
Geoffrey Oxberry
baf595351e feature: py-invoke: new python package (#10225) 2019-01-14 17:13:17 -06:00
Todd Gamblin
618741fce2 tutorial: update tutorial materials for ECP19 2019-01-14 01:03:38 -06:00
Gregory Becker
dc005f3ff1 version bump: v0.12.1 2019-01-13 14:26:39 -08:00
George Hartzell
7abc2fb26d bugfix/gdk-pixbuf (#10312)
* docbook processing works correctly for gdk-pixbuf

1. The various bits of documentation in gdk-pixbuf include hardcoded
   references to dtd's and stuff at their canonical, Internet,
   locations.  BUT, gdk-pixbuf runs xslt-proc with the `--nonet`
   option, which forbids it from using the network.  Sadness ensues.

   Traditionally folks use XML Catalogs to map these to local copies.
   Our docbook-xsl package wasn't setting the appropriate env var in
   its dependents environments to use our catalog.

   Now it does.  Less sadness ensues.

2. If we're going to use these things, we should depend on them.

* Add gdk-pixbuf's bin to build environment

The "post-install.sh" script uses gdk-pixbuf-query-loaders, which was
installed earlier.

If py-psyclone can set its own bin on its PATH, so can we...

* Make gdk-pixbuf use recognizable docbook location

Our docbook-xsl package assumes that the canonical location is
`http://cdn.docbook.org/release/xsl/current/manpages/docbook.xsl`, but
the gdk-pixbuf's meson build script uses
`http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl`.

This means that our XML Catalog doesn't fix the reference and sadness
happens.

Just patch the build that we see what we want to see, then we can make
it all go away.

* Add commentary re docbook patch

* Make catalog helper a property

Thanks @adamjstewart!

* Run tests if/when run_tests is true

Thanks @adamjstewart!

* Tune up dependencies

Thanks @adamjstewart!

* Wordsmit commentary
2019-01-13 14:40:20 -06:00
Cyrus Harrison
9350db5665 update alpine ascent and friends (#10320)
This adds a lot of fixes and updates for alpine ascent and its dependencies:

* add support for static (via ~shared) and use vtk-m 1.2
* update vtkh package to output cmake configure file and pinning it to vtkm 1.2
* make conduit respect ~python
* fix ascent python logic
* consistant cmake usage
* conditionally add tbb in ascent if vtkh
* enable openmp
* more robust handling of variants
* update ascent and conduit for static builds
* add optional support for mfem in ascent
* enable mfem conduit support for ascent
* add optional adios dep to conduit
* remove ver req from conduit
* ascent: remove confusing comment
* tweaks to conduit and ascent pkg recipes
* fix typo in conduit package
* pref conduit master
* changing mfem to depend on conduit@master to get updated relay
* restore use of conduit 0.3.1 or greater for mfem
* set master as preferred conduit version
* allow mfem to use conduit master
* adding rover package and editing ascent
* updating vtkm cmake dep
* guard ascent python support on +shared
* removing rover to simply ascent package
* add fortran variant to conduit, to allow us to turn off conduit support even when a fortran compiler is specified
* fix fortran compiler check so it can work on cray systems
* working towards cuda fix for vtkm lagrange filter
* update ascent package with more variants, and patch to avoid nvcc issue
* hdf5 flags fix for BGQ
* add post install test
* add testing to ascent
* add testing of the using-with-make example
* add ctest output on error for run_tests
2019-01-12 17:43:39 -08:00
Adam J. Stewart
dc6dca3c36 cc: clean up cray compilers, fix issues with case-insensitive filesystems (#10323)
* Remove Cray CC compilers causing problems on case-insensitive filesystems
* cray -> cce
* Ensure that compiler-specific directory comes first in build-env
* Point to compiler-specific symlinks
2019-01-12 17:37:20 -08:00
Jiawei Zhuang
07d9d444ea Added osu-micro-benchmarks@5.5 (#10333) 2019-01-12 17:31:13 -08:00
Omar Padron
8e71ba8aa0 fix typo in docker test script (#10334) 2019-01-12 17:30:35 -08:00
George Hartzell
6c638600d7 Add libxslt v1.1.33 info (#10328) 2019-01-12 17:36:53 -06:00
Denis Davydov
09033e991e dealii: does not support sundials 4.x (#10324) 2019-01-12 15:28:57 -06:00
Neil Flood
04c1af0ee2 gdal: Add variant for GRIB driver (#10322) 2019-01-12 10:33:18 -06:00
Omar Padron
c2529358f2 fix archlinux docker build (#10289) 2019-01-12 00:52:50 -08:00
Greg Becker
c63c4a048c Binary caching bugfix: symlink relocation (#10073)
Binary caches of packages with absolute symlinks had broken symlinks.
As a stopgap measure, #9747 addressed this by replacing symlinks with
copies of files when creating binary cached packages.

This reverts #9747 and instead, either relative-izes the symlink or
rewrites the target. If the binary cache is created using '--rel' (as
in "spack buildcache create --rel...") then absolute symlinks will be
replaced with relative symlinks (in addition to making RPATHs relative
as before); otherwise they are rewritten (when the binary cache is
unpacked and installed).
2019-01-11 14:52:01 -08:00
Matthias Wolf
3c6d484150 enh: buildcache list should behave similar to find (#10052)
The current output of buildcache list is very verbose and I feel like
some details are getting lost. By making the output similar to find, I
think users will be able to get a better overview of what is stored in
the cache.
2019-01-11 13:57:10 -08:00
Dan Ibanez
f9967d2f6f Omega_h changed its URL (#10315)
From https://github.com/ibaned/omega_h
To https://github.com/SNLComputation/omega_h
2019-01-11 13:29:56 -06:00
Satish Balay
4cbeec07a0 omega-h: fix CMAKE_BUILD_TYPE: breaks with spack deafult 'RelWithDebInfo' (#10297) 2019-01-11 10:08:28 -08:00
Denis Davydov
f4bda74b30 dealii: fix concretization of xsdk package (#10288)
* dealii: fix concretization of xsdk package

* tests: add concretization tests for deal.II and xSDK, which are often broken due to limitations in the concretizer

* use pytest.mark.parametrize
2019-01-11 10:07:28 -08:00
Brian Van Essen
9102cd5790 Updating LBANN and related packages (#10305)
Updated LBANN, Hydrogen, and Aluminum to not require CUDA-aware MPI
even when using CUDA.  Fixed small bugs within both LBANN and Hydrogen
packages.  Added requirements for breathe and cereal to LBANN.
2019-01-10 17:10:11 -08:00
Mark W. Krentel
08c4b9d47a boost: fix the bjam build for Cray (#10295)
Fixes issues #9613 and #3209.

Remove the spack wrapper directories from PATH for the bootstrap step.
This was breaking the build for Cray (and other cross-compile) because
bjam was built for the BE and died on SIGILL on the FE.

This only affects building bjam.  The boost libraries are still built
the normal spack way with the spack wrappers.
2019-01-10 16:34:05 -08:00
Mark W. Krentel
7e8b17b177 hpctoolkit: variants to build for cray and blue gene (#10223)
Add variants 'cray' and 'bgq' to build for Cray and Blue Gene compute
nodes.  These systems need separate options to find the MPI compiler
for hpcprof-mpi.
2019-01-10 12:50:58 -08:00
Cody Balos
60a44d5155 sundials: add version 4.0.1 and remove 4.0.0-dev series (#10306)
The 4.0.1 release is the culmination of the SUNDIALS 4.0.0 preview releases,
i.e. the 4.0.0-dev versions. As such, the 4.0.0-dev releases are now
being removed.
2019-01-10 14:47:48 -06:00
Eric
b25f27d442 py-checkm-genome: Add version 1.0.13 (#10304)
* py-checkm-genome: Add version 1.0.13

* py-checkm-genome: Add missing py-backports-functools-lru-cache dependency

* py-checkm-genome: Fix missing whitespace
2019-01-10 12:28:07 -06:00
Jon Rood
12cf4eb734 Explicitly listing blas and lapack sections in site.cfg for numpy (#8708)
* Explicitly listing blas and lapack sections in site.cfg for numpy when using netlib-lapack so that scipy can find them as well.

* Reducing code to use a function call instead of copying and pasting.

* Fixing flake8 errors.

* Fixing python 3.6 error when site.cfg lists library_dirs multiple times.

* Formatting.

* Verifying blas and lapack are enabled before writing to site.cfg.

* Fixing flake8 errors.

* Fixing conflicts since this package file has been updated.

* Fixing flake8 stuff.

* Handling blas and lapack variants for netlib-lapack in site.cfg for py-numpy.

* Don't write netlib-lapack site.cfg file if no blas or lapack variants enabled in py-numpy.

* Removing redundant if statement.

* Fixing mistake in py-numpy site.cfg generation.

* Separating blas and lapack further in site.cfg for netlib-lapack in py-numpy.
2019-01-10 11:14:24 -06:00
Owen Solberg
586fe32166 update r-rcpp package with new versions (#10301) 2019-01-10 09:07:09 -06:00
Adam J. Stewart
72a41a4918 spack versions: only list safe versions (#10004)
* spack versions: only list safe versions
* Add unit tests for spack versions -s
2019-01-10 00:32:47 -08:00
Greg Becker
450b0e3059 Allow combinatorial projections in views (#9679)
Allow customizing views with Spec-formatted directory structure

Allow views to specify projections that are more complicated than
merging every package into a single shared prefix. This will allow
sites to configure a view for the way they want to present packages
to their users; for example this can be used to create a prefix for
each package but omit the DAG hash from the path.

This includes a new YAML format file for specifying the simplified
prefix for a spec in a view. This configuration allows the use of
different prefix formats for different specs (i.e. specs depending
on MPI can include the MPI implementation in the prefix).
Documentation on usage of the view projection configuration is
included.

Depending on the projection configuration, paths are not guaranteed
to be unique and it may not be possible to add multiple installs of
a package to a view.
2019-01-09 17:39:35 -08:00
Greg Becker
f5bb93c75b tutorial basics section: fix gcc install version (#10298) 2019-01-09 17:37:37 -06:00
Satish Balay
8ca674a574 petsc: fix petsc+debug to not reset COPTFLAGS - i.e use configure defaults '-g' (#10296) 2019-01-09 17:36:28 -06:00
Daryl W. Grunau
d1bb9caba4 eospac version bump to 6.4.0beta.4 (#10294) 2019-01-09 15:57:05 -06:00
Mark W. Krentel
1b991f9385 elfutils: option to install elf.h header file (#10185)
* elfutils: option to install elf.h header file

Add variant 'elfh' (default False) to install the elf.h header file to
the include directory.  This provides access to a newer version of
elf.h and allows an elf application to build with the same elf.h that
libelf.so was built with.

Add version 0.175.

* Drop the variant 'elfh' and always install elf.h instead.
2019-01-09 14:40:15 -06:00
Eric
b4dc73bed4 py-pyyaml: Add version 3.13 (#10293) 2019-01-09 13:39:34 -06:00
Simon Flood
0b2314bbc4 R: add version 3.5.2 (#10292) 2019-01-09 12:19:58 -06:00
Andreas Baumbach
730c629b09 New package: git-fat-git (#10266)
* new package: git-fat

* backport of rsync -> older versions no longer available

Change-Id: I3a41f17df0f88ca11e08ea6fd2f2d381435e0f09

* fix legal stuff and use new git attribute

Change-Id: Ice156dfe8ad4137a861f7b2938ee92f4024142be

* use date as version number rather than hash

Change-Id: Ib537659e368f69124895306d6a6ac0c5e36061a7

* only use the date once

Change-Id: I2592fa28aaa53fed949ddc82959d712ff3f6f752
2019-01-09 09:07:12 -06:00
marvinbernhardt
7571787a3a gromacs: added simd and rdtscp variants + version 2019 (#9931) 2019-01-09 10:39:05 +01:00
Axel Huebl
efe3e905a3 OpenMPI: Add Development Version (#10257)
Add the development version of OpenMPI from the git repo
in `master`.
2019-01-08 20:48:55 -06:00
sknigh
e3a2c94d60 Updated fish to 3.0.0 (#10286) 2019-01-08 20:47:52 -06:00
Owen Solberg
c48b0a13b9 bug fix: copy permissions when staging (#10285)
Fixes #10284

#10152 replaced shutil.move with llnl's copy and copy_tree for
resources. This did not copy permissions so led to later failures
if an executable was copied (e.g. a configure script). This uses
install/install_tree instead, which preserve permissions.
2019-01-08 17:56:16 -08:00
Srinath Vadlamani
4fdd3b6794 Armcompiler (#9840)
* Initial compiler support

* added arm.py

* Changed licence to Arm suggested header

* Changed licence to the same as clang.py
Main author of file is Nick Forrington <Nick.Forrington@arm.com>
Minor changes by Srinath Vadlamani <srinath.vadlamani@arm.com>

* compilers: add arm compiler detection to Spack

- added arm.py with support for detecting `armclang` and `armflang`

Co-authored-by: Srinath Vadlamani <srinath.vadlamani@arm.com>

* Changed to using get get_compiler_version

* linking to general cc for arm compiler

* For arm compiler add CFLAGS to use compiler-rt rtlib.

* Escape for special characters in rexep

* Cleaned up for Flake8 to pass.

* libcompiler-rt should be part of the LDFLAGS not CFLAGS

* fixed m4 when using clang to used LDFLAGS.  Fixed comments for arm.py to display compiler --version output with # NOAQ for flakes pass.

* added arm compilers

* proper linked names
2019-01-08 16:31:25 -08:00
Owen Solberg
ee64db4764 r-ape: new versions (#10258)
* updated versions for r-ape

* added type=('build', 'run') to r dependency
2019-01-08 18:15:03 -06:00
Owen Solberg
aa20724519 r-cowplot: new versions, more specific dependencies (#10259)
* updated versions for r-cowplot

* depends_on: added type=('build', 'run') to r, and added r-scales
2019-01-08 18:14:50 -06:00
Owen Solberg
7a816b9a66 r-data-table: new versions (#10260)
* updated versions for r-data-table

* added type=('build', 'run') to r dependency
2019-01-08 18:14:34 -06:00
Owen Solberg
2bd054adff r-dbplyr: new versions (#10262)
* added new versions, and tightened up depends_on() specs

* added type=('build', 'run') to r dependency
2019-01-08 18:14:19 -06:00
thelfer
d3caad4cd7 New package: MGIS (#10273)
* add the tfel package

* fix the tfel package

* fix the tfel package

* fix the tfel package

* Taking Adam J. Steward' remarks into account

* fixes trailing white spaces

* Update description

* Update dependencies following @adamjstewart adices

* Style fixes

* Style fixes

* Add java optional support

* add the maintainers attribute (following @alalazo advice), disable interface not selected (following @adamjstewart advice)

* flake8 fixes

* Fix Cast3M and python-bindings support. Python detection is made compatible with cmake'FindPythonLibs module (at least how it is used in TFEL)

* Style fixes

* Style fixes

* Fix test on python version

* Follow @adamjstewart advices: code is much cleaner and readable

* Small fix

* Small fix

* Add comment

* Small fix in cmake option

* try again (trying to overcome Travis CI unstable build process)

* Add support for the MFrontGenericInterfaceSupport project (MGIS)

* Style fixes

* Package documentation update

* Package documentation update

* Fix a typo thanks to Andreas Baumbach review

* Follow Adam J. Stewart advices

* Fix type
2019-01-08 15:07:47 -06:00
Eric
45882e1b6f usearch: Make installed binary executable (#10269)
* usearch: Make binary executable

* usearch: remove join_path
2019-01-08 14:20:13 -06:00
sknigh
d9c8d2f27b Added bash 5.0 (#10282) 2019-01-08 13:20:30 -06:00
Owen Solberg
0e50ff7339 r-dt: new versions (#10261)
* updated release and checksums, also tightened depends_on()

* remove blank line at end of file

* removing new version 0.5
2019-01-08 13:06:36 -06:00
Owen Solberg
76dd4ca9ae updated versions (#10263) 2019-01-08 13:00:12 -06:00
Owen Solberg
5c4156cd39 updated versions and depends_on() (#10264) 2019-01-08 12:54:55 -06:00
dorier
0a60cae516 added openpa package (#10265) 2019-01-08 12:53:37 -06:00
Eric
6ce6c79beb libzip: Add zlib dependency (#10270)
* libzip: Add zlib dependency

* libzip: Add version limit
2019-01-08 12:49:03 -06:00
Andreas Baumbach
a33d167c72 new version 1.0.1 for py-html5lib (#10278)
Change-Id: I2837dc098fce142b152d2969687d1873e182bbc8
2019-01-08 12:43:33 -06:00
Ross Miller
2934eda311 Check for ARM compiler in addition to clang (#10280)
Add "-rtlib=compiler-rt" to CFLAGS when building with either Clang or
the ARM compiler.

Refs #10279
2019-01-08 12:41:05 -06:00
Eric
dabf4f17d3 salmon: Add version 0.12.0 (#10271) 2019-01-08 14:01:02 +01:00
Michael Kuhn
48db757be1 go: add 1.11.4 (#10272) 2019-01-08 13:57:25 +01:00
Andreas Baumbach
12b52baf7b new package: py-webencodings (#10277)
Change-Id: Icf20035367a34fa88acfef2d3fa3742c3f3901ac
2019-01-08 13:55:41 +01:00
Peter Josef Scheibel
9f79995718 For spec-file-based installs, store the initial spec read from the file as the abstract spec 2019-01-07 20:40:34 -08:00
George Hartzell
b984adb386 bowtie: new versions and %gcc@8.0.0: fix (#10232)
* bowtie: new versions and %gcc@8.0.0: fix

Bowtie development shifted from Sourceforge to GitHub.

This commit adds several versions from GitHub, using the archive
tarballs.  Note that the URL for 1.2.2 tarball is actually an '_p1'
tag....

It leaves the old 1.2 release download info in place.

Versions 1.2.0 and newer come from GitHub (I'm unsure if the 1.2 and
1.2.0 are equivalent).

Include a fix that enables %gcc@8.0.0: from:

  https://github.com/BenLangmead/bowtie/issues/87

But, v1.2.2 has trouble with "newer" gcc's, so it only adds v1.2.2 for
%gcc@6.0.0:.

Feel free to tighten this.  I know that:

- 1.2 -> 1.2.2 work with %gcc@5.5.0;
- 1.2 -> 1.2.1.1 work with %gcc@8.2.0; and
- 1.2.2 fails with %gcc@8.2.0

* Tighten to `conflicts('%gcc@8:', when='@1.2.2')`

* Point 1.2.2 and 1.2.2_p1 at the 1.2.2_p1 tarball
2019-01-07 11:30:59 -06:00
Chad Wood
3b59f70751 doxygen: URL and version hashes updated to project's GitHub home (#10250)
* Update package.py

Doxygen has migrated from a private SVN to GitHub. This PR updates the URLs and adds versioned commit hashes from GitHub. It also includes version 1.8.15 as the latest option.

* Update package.py
2019-01-07 10:38:32 +01:00
Massimiliano Culpo
c4521535e7 Multi-valued variants: better support for combinations (#9481)
This enforces conventions that allow for correct handling of
multi-valued variants where specifying no value is an option,
and adds convenience functionality for specifying multi-valued
variants with conflicting sets of values. This also adds a notion
of "feature values" for variants, which are those that are understood
by the build system (e.g. those that would appear as configure
options). In more detail:

* Add documentation on variants to the packaging guide
* Forbid usage of '' or None as a possible variant value, in
  particular as a default. To indicate choosing no value, the user
  must explicitly define an option like 'none'. Without this,
  multi-valued variants with default set to None were not parsable
  from the command line (Fixes #6314)
* Add "disjoint_sets" function to support the declaration of
  multi-valued variants with conflicting sets of options. For example
  a variant "foo" with possible values "a", "b", and "c" where "c"
  is exclusive of the other values ("foo=a,b" and "foo=c" are
  valid but "foo=a,c" is not).
* Add "any_combination_of" function to support the declaration of
  multi-valued variants where it is valid to choose none of the
  values. This automatically defines "none" as an option (exclusive
  with all other choices); this value does not appear when iterating
  over the variant's values, for example in "with_or_without" (which
  constructs autotools option strings from variant values).
* The "disjoint_sets" and "any_combination_of" methods return an
  object which tracks the possible values. It is also possible to
  indicate that some of these values do not correspond to options
  understood by the package's build system, such that methods like
  "with_or_without" will not define options for those values (this
  occurs automatically for "none")
* Add documentation for usage of new functions for specifying
  multi-valued variants
2019-01-04 19:02:34 -08:00
Michael Kuhn
051057caa3 mvapich2: add missing zlib dependency (#10254) 2019-01-04 20:52:00 -06:00
Elizabeth Fischer
f7b78412b1 Added package osmctools (#10249)
* Added package osmctools

* Simplified

Removed functions that did the same as existing defaults

* flake8
2019-01-04 20:51:44 -06:00
Peter Josef Scheibel
64deda1b0c Add tests for expanding/non-expanding resources 2019-01-04 17:04:28 -08:00
Michael Kuhn
41ef02ee10 stage: fix resources being deleted from local cache (#10152)
Non-expanded resources were being deleted from the cache on account
of two behaviors:

* ResourceStage was moving files rather than copying them, and uses
  "os.path.realpath" to resolve symlinks
* CacheFetchStrategy creates a symlink to a cached resource rather
  than copying it

This alters the first behavior: ResourceStage now copies the file
rather than moving it.
2019-01-04 17:04:28 -08:00
Jimmy Tang
5450303c97 Fix download path, the existing one has been removed from nvidia's site (#10253) 2019-01-04 18:13:11 -06:00
Neil Flood
3477d33751 openssl: add location of system certificates for SUSE Linux (#10242) 2019-01-03 10:02:25 -06:00
Ben Zwick
7d9dbc5fd2 Add missing code block (#10243)
Otherwise the `--` in `--dot` is rendered as a single en-dash.
2019-01-03 09:41:14 -06:00
Michael Kuhn
802dc4a03a patch: split up fetch and clean into separate methods (#10150)
"mirror create" was invoking a package's do_patch method in order to
retrieve and archive URL patches. If a package implements a "patch"
method, this is also called as part of do_patch; this failed when the
package-specific implementation referred to environment variables
that are only available at the time the package is built
(e.g. "spack_cc").

This change introduces fetch and clean methods for patches. They are
no-ops for FilePatch but perform the appropriate actions for
UrlPatch. This allows "mirror create" to invoke do_fetch, which does
not call the package's patch method.
2019-01-02 11:44:50 -08:00
Axel Huebl
63e75c3972 Catch2: v2.5.0 (#10237)
Add the 2.5.0 release of catch2.
2019-01-02 08:59:36 -06:00
Ben Zwick
0c8fd8734d petsc4py: new versions (up to 3.10.0) and update website (#10238) 2019-01-02 08:59:14 -06:00
Ben Zwick
2577a5e686 slepc4py: new versions (up to 3.10.1) and update website (#10239) 2019-01-02 08:58:45 -06:00
Greg Sjaardema
9f40813004 PARALLEL-NETCDF: Update new version and location (#10172)
* PARALLEL-NETCDF: Update new version and location

PnetCDF-1.11.0 is released.

Also, the canonical download area has been changed and they are now using git, so can also provide a develop and master checkout.
One issue is that they changed the name of the tar files, so 1.11.0 needs special handling (and future versions will also).

All checksums at new location match the checksums from the old location.

* Address concerns in review

Added a `url_for_version` function to handle the name change in the tar files at version 1.11.0 and later.  Updated description to match current shown on website.  Updated `homepage` setting since it has recently moved.

* Address issues in second review
2019-01-01 19:55:29 -06:00
Massimiliano Culpo
8540d5390e Removed an extra comma after a dict literal (#10236)
The extra comma was turning a dict into a tuple, and caused errors
during validation of the schema.
2019-01-02 01:15:15 +01:00
Ben Zwick
aca195367e FEniCS: workaround concretization issue with PETSc (#10235) 2019-01-01 10:39:07 -06:00
George Hartzell
60968a3fbf Add list_url for r-readr, finding old versions (#10231)
r-tidyverse needs r-readr@1.1.1, r-reardr needs a list_url so that it
can find it.
2019-01-01 08:05:53 -06:00
Todd Gamblin
4ecb465a36 README: LLNL release number and SPDX id don't need to be monospaced. 2019-01-01 00:44:28 -08:00
Todd Gamblin
5425a3dad4 flake8: fix flake8 issues with invalid escapes
- in many files, regular strings were used in places where raw strings
  should've been used.

- convert these to raw strings and get rid of new flake8 errors
2019-01-01 00:44:28 -08:00
Todd Gamblin
6f50cd52ed copyright: update license headers for 2013-2019 copyright. 2019-01-01 00:44:28 -08:00
Todd Gamblin
e82992ae32 license: license command prints sorted, non-redundant results
- spack license command now ignores symlinks

- spack license list-files now prints sorted output, and checks for files
  we've already seen.
2019-01-01 00:44:28 -08:00
Massimiliano Culpo
3b8b13809e Improve validation of modules.yaml (#9878)
This PR improves the validation of `modules.yaml` by introducing a custom validator that checks if an attribute listed in `properties` or `patternProperties` is a valid spec. This new check applied to the test case in #9857 gives:

```console
$ spack install szip
==> Error: /home/mculpo/.spack/linux/modules.yaml:5: "^python@2.7@" is an invalid spec [Invalid version specifier]
```

Details: 
* Moved the set-up of a custom validator class to spack.schema
  * In Spack we use `jsonschema` to validate configuration files 
    against a schema. We also need custom validators to enforce
    writing default values within "properties" or "patternProperties"
    attributes.

  * Currently, validators were customized at the place of use and with the
    recent introduction of environments that meant we were setting-up and
    using 2 different validator classes in two different modules.

  * This commit moves the set-up of a custom validator class in the
    `spack.schema` module and refactors the code in `spack.config` and
    `spack.environments` to use it.

* Added a custom validator to check if an attribute is a valid spec
  * Added a custom validator that can be used on objects, which yields an
    error if the attribute is not a valid spec.

* Updated the schema for modules.yaml

* Updated modules.yaml to fix a few inconsistencies:
  - a few attributes were not tested properly using 'anyOf'
  - suffixes has been updated to also check that the attribute is a spec
  - hierarchical_scheme has been updated to hierarchy

* Removed $ref from every schema
  * $ref is not composable or particularly legible
  * Use python dicts and regular old variables instead.
2019-01-01 00:11:49 -08:00
George Hartzell
e6b2f0c179 express: new version, use tags and fix gcc@6.0.0: (#10230)
* express: new version, use tags and fix gcc@6.0.0:

Express fails to build with gcc@6.0.0:.

The debian project [has a
fix](https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=811859) but
they don't seem to have pushed it upstream.

I've opened an issue and a PR in eXpress repo, but eXpress isn't
actively developed, so I'm fixing it here too.

Since the Spack package was created, the eXpress team tagged their
releases.  I've updated the package to use the tags.

Version 1.5.1 used to be known as 2015-11-29 (same commit).  1.5.2 is
new(er).

* Make flake8 happ{y,ier}
2018-12-31 20:28:15 -06:00
George Hartzell
fb52eb2a18 aspell builds with newer gcc's (#10227)
Apply fix from aspell issue (519) for a pointer dereference bug that
newer versions of gcc won't let slip past.

There hasn't been a release that includes the fix, this applies the
change to the latest release.
2018-12-31 16:13:03 -06:00
George Hartzell
51fbd315e9 fastx-toolkit builds with newer gcc's (#10228)
There's a missing break in a switch statement that newer gcc's
dislike.

Our #4696 simply disallowed newer gcc's.

This fixes the problem instead.

It's been [PR'ed upstream](https://github.com/agordon/fastx_toolkit/pull/22).

Tested with gcc@5.5.0 and gcc@8.2.0 on CentOS.
2018-12-31 16:12:51 -06:00
George Hartzell
7aeff18b6f bamutil builds with newer gcc's (#10229)
The most recent release of bamutil that we support uses an embedded
copy of libStatGen that has several issues that keep it from building
with newer releases of gcc.

They've all been fixed upstream and the latest release of bamutil
would pick them up if/when we support it.  The build process has
changed though, plus my team needs *this* version.

This commit backports those fixes.
2018-12-31 16:12:14 -06:00
Justin Stanley
7f528a5ed2 ds: new package at 9.8.0 (#9852)
* ds: new package at 9.8.0rc6

* ds: move patches to patch func

* ds: use built-in configure phase, remove autoreconf skip

* ds: revert to stable 9.8.0

* ds: remove unnecessary dep types

* ds: make url consistent with versions
2018-12-31 16:11:20 -06:00
Gary Klimowicz
a1d651e80f flang, llvm, pgmath: Add release for 2018-09-21 (#10224) 2018-12-31 11:50:04 -06:00
Geoffrey Oxberry
88417492f7 py-sphinxautomodapi: new python package (#10226) 2018-12-31 11:47:48 -06:00
Nichols A. Romero
54f76f7c51 Over specifying Quantum Espresso compiler variables causes problems in some corner cases. (#10216) 2018-12-30 11:29:28 -06:00
Sinan
70c5088a4c xgboost: make sure "libxgboost.so" is provided under prefix/lib (#10208) 2018-12-30 08:15:08 -08:00
Denis Davydov
309f70758b dealii: workaround concretization issue with PETSc (#10217) 2018-12-30 08:43:25 -06:00
Todd Gamblin
365387e929 stopgap: allow travis to fail for Python 2.6 again
- Travis still fails on `spack spec` in Python 2.6.
- Allow the failure until we get to the bottom of it.
2018-12-30 00:19:08 -08:00
Todd Gamblin
2e3303abd0 bugfix: nested directives were broken in python 3
- The nested directive implementation was broken for python 3

- directive results were not properly removed from the directive list
  when it was processed in the DirectiveMeta metaclass.

- the issue was that remove_directives only descended into a list or
  tuple, but in Python3, the initial value passed to the function is a
  view of dictionary values.

- make it a list to fix things, and add a regression test.
2018-12-30 00:19:08 -08:00
Todd Gamblin
d763e92141 commands: add spack resource command to inspect downloadable files
- currently just looks at patches
  - allows you to find out which package applied a patch to a spec

- intended to work with tarballs and resources in the future.

- add tab completion for `spack resource` and subcommands
2018-12-30 00:19:08 -08:00
Todd Gamblin
d2db978c7f tests: add a test to make sure that patched specs can be round-tripped
- previously, if a concrete sub-DAG with patched specs was written out
  and read back in, its patches would not be found because the dependent
  that patched it was no longer in the DAG.

- Add a test to ensure that the PatchCache handles this case.

- Also add tests to ensure that patch objects are properly created from
  Specs -- previously we only checked that the patches were on the Spec.
2018-12-30 00:19:08 -08:00
Todd Gamblin
d3ee6c977b patches: add a per-repository patch index
- this fixes a bug where if we save a concretized sug-DAG where a package
  had been patched by a dependent, and the dependent was not in the DAG,
  we would not read in all patches correctly.

- Rather than looking up patches in the DAG, we look them up globally
  from an index created from the entire repository.

- The patch cache is a bit tricky for several reasons:

  - we have to cache information from packages, specifically, the patch
    level and working directory.

  - FilePatches need to know which package owns them, so that they can
    figure out where the patch lives.  The repo can change locations from
    run to run, so we have to store relative paths and restore them when
    the cache is reloaded.

  - Patch files can change underneath the cache, because repo indexes
    only update on package changes.  We currently punt on this -- there
    are stub methods for needs_update() that will need to check patch
    files when packages are loaded.  There isn't an easy way to do this
    at global indexing time without making the FastPackageChecker a lot
    slower.  This is TBD for a future commit.

  - Currently, the same patch can only be used one way in a package. That
    is, if it appears twice with different level/working_dir settings,
    bad things will happen.  There's no package that current uses the
    same patch two different ways, so we've punted on this as well, but
    we may need to fix this in the future by moving a lot of the metdata
    (level, working dir) to the spec, and *only* caching sha256sums in
    the PatchCache.  That would require some much more complicated tweaks
    to the Spec, so we're holding off on that til later.

- This required patches to be refactored somewhat -- the difference
  between a UrlPatch and a FilePatch is still not particularly clean.
2018-12-30 00:19:08 -08:00
Todd Gamblin
a9b69fa902 ProviderIndex uses json instead of YAML
- indexes should use json, not YAML, to optimize for speed
- only use YAML in human-editable files
- this makes ProviderIndex consistent with other indexes
2018-12-30 00:19:08 -08:00
Todd Gamblin
c1d7adaaac repo: refactor indexes to be more extensible
- virtual provider cache and tags were previously generated by nearly
  identical but separate methods.

- factor out an Indexer interface for updating repository caches, and
  provide implementations for each type of index (TagIndex,
  ProviderIndex) so that more can be added if needed.

- Among other things, this allows all indexes to be updated at once.
  This is an advantage because loading package files is the real
  overhead, and building the indexes once the packages are loaded is
  trivial. We avoid extra bulk read-ins by generating all package indexes
  at once.

- This can be extended for dependents (reverse dependencies) and patches
  later.
2018-12-30 00:19:08 -08:00
Todd Gamblin
527ff860f0 patches: clean up patch.py, directives, and package class properties
- cleanup patch.py:
  - make patch.py constructors more understandable
  - loosen coupling of patch.py with package

- in Package: make package_dir, module, and namespace class properties

  - These were previously instance properties and couldn't be called from
    directives, e.g. in patch.create()

  - make them class properties so that they can be used in class definition

  - also add some instance properties to delegate to class properties so
    that prior usage on Package objects still works
2018-12-30 00:19:08 -08:00
Todd Gamblin
19b7b15929 coverage: use kcov to get coverage for our cc script 2018-12-29 23:47:29 -08:00
George Hartzell
51cbc278aa Always build glib with iconv (#10219)
* Always build glib with iconv

My early PR, #10165, which added a variant to configure glib to use
libiconv and defaulted to false, seems to be causing more trouble than
the knob is worth.

This changes the glib package to always depend on and use libiconv.

* libiconv depends_on is no longer conditional
2018-12-29 16:01:08 -06:00
Todd Gamblin
c92ac70c72 bugfix: add codecov upload back to travis.yml (#10220)
Codecov upload was accidentally removed in #9805
2018-12-29 12:09:42 -08:00
Todd Gamblin
d65c6ba9b2 Use homebrew addon instead of manually invoking brew (#10213) 2018-12-29 06:12:02 +01:00
Adam J. Stewart
5f957920c4 Add GDAL 2.4.0 (#10215) 2018-12-28 21:20:13 -06:00
Eric
2c76e8feef salmon: Add version 0.12.0 (#10211) 2018-12-28 13:02:36 -06:00
Eric
ada8d5ce5c velvet: Add missing zlib dependency to fix installation errors (#10212) 2018-12-28 13:02:16 -06:00
Eric
722e7058f8 py-testinfra: Add version 1.18.0 (#10210) 2018-12-28 18:24:58 +01:00
Andrew Gaspar
69f1199c55 Add new versions of optional-lite and string-view-lite (#10179) 2018-12-27 17:03:21 +01:00
Justin Stanley
c451733f9a xgboost: new package at 0.81 (#9854) 2018-12-27 07:42:44 +01:00
Lukasz
25129d4a3b fix moab installation for version 5.0.2 removed from ftp (#10201)
* moab install from git repository, fix version 5.0.2 removed from ftp server

* add moab dependencies above verson 5.0.1
2018-12-26 16:18:32 -06:00
StackKorora
39589065b1 Add Stata package (#10189)
* First draft for installing Stata 15

I've tested this works on my systems and gives a successful install of STATA 15.

* Flake8 cleanup

* Another Flake8

* Update license header

* Various improvements

A lot of improvements as suggested by @adamjstewart

* flake8 check
2018-12-26 16:17:42 -06:00
Christoph Junghans
18b128e6c1 pgmath: depend on awk (#10200) 2018-12-26 13:46:52 -07:00
Adam J. Stewart
42de399b18 Fix pkgconf downloads (#10202) 2018-12-26 13:46:30 -07:00
Adam J. Stewart
fc48f65a0f Fix libxml2+python and libxslt+python import tests (#10196)
* Fix libxml2+python import tests

* Same for libxslt package
2018-12-26 10:36:59 -06:00
Christoph Junghans
58079b13eb mawk: added 1.3.4_p20171017 (#10197) 2018-12-26 08:41:26 -06:00
Satish Balay
0f2f0deee7 slepc: fix homepage URL (#10199) 2018-12-26 08:41:09 -06:00
Massimiliano Culpo
28fd1baa86 tests: run 'test_compiler_add' serially in Python 2 (#10127)
* Don't spawn processes during python 2.6/2.7 'test_compiler_add' unit tests
* Travis seems to choke on the excessive parallelism in `compiler find`
2018-12-25 23:47:46 -08:00
Denis Davydov
39b23d277b environment: ignore invalid files names in var/spack/environments (#10198) 2018-12-25 22:22:21 -08:00
Denis Davydov
d9da7c98a2 dealii: fix build with some Intel compilers (#10188) 2018-12-24 18:53:53 -06:00
Adam J. Stewart
376ef5f87a Add latest version of NCCL (#10194) 2018-12-24 17:27:15 -06:00
Adam J. Stewart
9c58dacaec Add PyTorch 1.0 (#10193) 2018-12-24 17:27:01 -06:00
Eric
791aab8564 manta: Add version 1.5.0 and add missing zlib dependency (#10178) 2018-12-24 21:04:18 +01:00
Todd Gamblin
35dd929651 bugfix: handle unicode properly in spack.util.executable (#10186)
- When returning string output, use text_type and decode utf-8 in Python
  2 instead of using `str`

- This properly handles unicode, whereas before we would pass bad strings
  to colify in `spack blame` when reading git output

- add a test that round-trips some unicode through an Executable object
2018-12-23 23:59:58 -08:00
Omar Padron
fcce8b8dc2 travis: fix pip install for docker stage (#10177) 2018-12-23 17:42:09 -08:00
Satish Balay
908ecf3e74 xsdk-0.4.0: add/update package versions: (#10038)
* xsdk-0.4.0: add/update package versions:
  hypre@2.15.1
  mfem@3.4.0
  superlu-dist@6.1.0
  trilinos@12.14.0-rc1
  petsc@3.10.3
  dealii@9.0.1
  pflotran@xsdk-0.4.0
  alquimia@xsdk-0.4.0
  sundials@3.2.1
  plasma@18.11.1
  magma@2.4.0
  amrex@18.10.1
  slepc@3.10.1
  omega-h@9.19.1
  strumpack@3.1.1
  pumi@2.2.0
  tasmanian@6.0
  phist@1.7.5
  dtk-3.0 [via trilinos features '+dtk+intrepid2+shards']

add option to disable omega-h build [wrt gcc-8 conflict]
  spack install xsdk~omega-h
add option to disable dealii build [wrt cori build error]
  spack install xsdk~dealii

* trilinos: default version should be the prior release
2018-12-23 17:35:03 -08:00
Neil Flood
75b83ef2a7 py-cftime: new package (#10066)
* py-cftime: new package

* Added dependency on py-setuptools, and version range for py-cython, thanks to the ever-vigilant @adamjstewart
2018-12-23 14:56:08 -06:00
Simone Bnà
e7e32cc2d6 openFOAM-paraview-catalyst (#10129)
* paraview: adding variants to use external packages as internal do not compile

* paraview: add latest paraview version

* catalyst: fixed libvtkexpat undefined reference linking error in Catalyst 5.5

* catalyst: add latest catalyst version

* catalyst: added ParaView_DIR env variable to catalyst module

* add paraview, catalyst patches

- https://gitlab.kitware.com/vtk/vtk-m/merge_requests/1166
- https://gitlab.kitware.com/paraview/paraview/merge_requests/2433
- https://gitlab.kitware.com/paraview/paraview/merge_requests/2436

* - Handle updated library paths for catalyst.

  Versions 5.4 and old places libraries under a paraview subdirectory.
  Eg, "lib/paraview-5.4", they are now placed directly under "lib"

- Minor code style cleanup

* Handle update library and python paths for ParaView-5.5

* catalyst: added ParaView_DIR path to spack_env

* BUG: applied the patch to the extracted catalyst source files

* paraview: added missing self to a member variable

* paraview: added Paraview_DIR to env

* catalyst: added osmesa variant

* of-catalyst: added new package

* add (FOAM,WM)_PROJECT_DIR  also to spack_env environment

* depends on first openfoam release supporting catalyst

* openfoam-com: added missing env variables to module generation

* openfoam: fixed flake8 errors

* of-catalyst: added full variant and openfoam version dependency

* paraview: adding variants to use external packages as internal do not compile

* catalyst: fixed libvtkexpat undefined reference linking error in Catalyst 5.5

* catalyst: added ParaView_DIR env variable to catalyst module

* add paraview, catalyst patches

- https://gitlab.kitware.com/vtk/vtk-m/merge_requests/1166
- https://gitlab.kitware.com/paraview/paraview/merge_requests/2433
- https://gitlab.kitware.com/paraview/paraview/merge_requests/2436

* - Handle updated library paths for catalyst.

  Versions 5.4 and old places libraries under a paraview subdirectory.
  Eg, "lib/paraview-5.4", they are now placed directly under "lib"

- Minor code style cleanup

* Handle update library and python paths for ParaView-5.5

* catalyst: added ParaView_DIR path to spack_env

* BUG: applied the patch to the extracted catalyst source files

* of-catalyst: added new package

* add (FOAM,WM)_PROJECT_DIR  also to spack_env environment

* depends on first openfoam release supporting catalyst

* paraview: added missing self to a member variable

* openfoam-com: added missing env variables to module generation

* openfoam: fixed flake8 errors

* paraview: added Paraview_DIR to env

* catalyst: added osmesa variant

* of-catalyst: added full variant and openfoam version dependency

* paraview-catalyst: use always external expat and netcdf

* of-catalyst: reformatted package description

* paraview-catalyst: removed duplicated function

* catalyst: fixed flake8 error

* of-catalyst: fixed license header

* of-catalyst: minor changes

* of-catalyst: renamed gitrepo with git

* of-catalyst: removed useless gitrepo parameter
2018-12-23 13:40:25 -06:00
Brian Van Essen
bdc9804078 Feature add breathe and m2r (#10180)
* Added a package for the MDAnalysis toolkit.

* Added python packages for breathe and m2r.  Updated versions and URL
for the sphinx package.

* Fixed flake8 error

* Updated package requirements based on feedback.

* Updated with requirements from the setup.py

* Switched it back to pypi.
2018-12-23 13:39:21 -06:00
Neil Flood
451bfbd1ab py-pynio: new package (#10074)
* py-pynio: new package

* Major re-working to add some of the optional dependencies, and make it conform to the approach described in the pynio setup.py comments. Much of it turned out to be too complicated, and I have added some notes in comments to explain this to future adventurers.

* Added variants for the hdf5 and gdal dependencies, which do seem to be genuinely optional. Also added absolute dependencies for jpeg and zlib, which setup.py says it wants, but were being found as the os-installed versions.

* Added descriptions for the new variants, and moved them to above the dependencies
2018-12-23 09:50:41 -06:00
Jim Galarowicz
93d9139ff6 Add missing module env variable setting causing OSS to fail. (#10182) 2018-12-22 17:24:44 -06:00
Justin Stanley
90dce26db9 r-corhmm: new package at 1.22 (#9859) 2018-12-22 19:09:20 +01:00
Satish Balay
fad4ecc90b petsc-3.10.3: syncs with superlu-dist-6.1. (#10166) 2018-12-22 10:40:08 -06:00
Levi Baber
ec2c5e5b0d gpgme: new package (#10174) 2018-12-21 12:17:45 -06:00
Jordan Ogas
b1944d4cbf add charliecloud 0.9.6 (#10176) 2018-12-21 12:17:33 -06:00
Matthias Wolf
a3ecdf1f41 py-numba: fix py-llvmlite version (#10175) 2018-12-21 11:34:32 -06:00
George Hartzell
7f095cee48 Add libiconv variant to glib (#10165)
Enable explicitly building glib with or without libiconv.

Heads up: if you build with ~iconv but there is something else in the
spec that includes libiconv then glib will *still* automagically
discover it and the build will fail.
2018-12-21 11:33:28 -06:00
Elsa Gonsiorowski, PhD
74a5d92f07 Remove /nfs/tmp2 from default build_stage locations (#10170)
* Remove /nfs/tmp2 from default configuration
* /nfs/tmp2 is going away from LC... and doesn’t exist for the rest of the world.
* update documentation to remove /nfs/tmp2 as well
2018-12-21 02:03:54 -08:00
Daryl W. Grunau
36ab7be406 R3D spackage (#10164)
* r3d spackage

* address Adam's review comments

* fix flake8: too many blank lines
2018-12-20 17:23:38 -06:00
Sajid Ali
e57ddda4cc update h5py to 2.9.0 (#10169)
* 	modified:   var/spack/repos/builtin/packages/py-h5py/package.py

* Update package.py

* Update package.py
2018-12-20 17:23:17 -06:00
thelfer
00d84b1978 Update TFEL package (#9995)
* add the tfel package

* fix the tfel package

* fix the tfel package

* fix the tfel package

* Taking Adam J. Steward' remarks into account

* fixes trailing white spaces

* Update description

* Update dependencies following @adamjstewart adices

* Style fixes

* Style fixes

* Add java optional support

* add the maintainers attribute (following @alalazo advice), disable interface not selected (following @adamjstewart advice)

* flake8 fixes

* Fix Cast3M and python-bindings support. Python detection is made compatible with cmake'FindPythonLibs module (at least how it is used in TFEL)

* Style fixes

* Style fixes

* Fix test on python version

* Follow @adamjstewart advices: code is much cleaner and readable

* Small fix

* Small fix

* Add comment

* Small fix in cmake option

* try again (trying to overcome Travis CI unstable build process)
2018-12-20 15:47:24 -06:00
Mark Olesen
7ded7fdbda OpenFOAM-v1812 - new version (#10167) 2018-12-20 13:18:51 -06:00
Omar Padron
60298787e4 Fix docker builds (#9805)
* move docker test logic to share/spack/qa
* update Dockerfile for archlinux
2018-12-20 11:17:46 -08:00
Omar Padron
56cb691fcc fix multiple issues with the docker images (#9718)
- fixed an issue where some undesirable parts of
   the spack source tree were being copied into
   the image context.

 - added a workaround for a tty ioctl warning on
   ubuntu

 - adjusted how the main images are built so that
   `RUN spack ...` works automatically for child
   images that base themselves on them.
2018-12-20 11:11:55 -08:00
Zack Galbreath
b90f619037 Performance improvements for CDash reporter
* Record build output as an array of lines rather than concatenating to a
  single large string.
* Use string.find to avoid running re.search on every line of output.
2018-12-20 09:23:08 -08:00
Zack Galbreath
6355ee208c Include accurate build time in CDash report 2018-12-20 09:23:08 -08:00
Zack Galbreath
8d0872083c Report current git commit of Spack to CDash
When using the CDash reporter, upload a Update.xml file that
indicates the hash of Spack's current git commit.
2018-12-20 09:23:08 -08:00
Scott Wittenburg
7217b4a4b9 Make sure to urlencode cdash submit parameters 2018-12-20 09:23:08 -08:00
Zack Galbreath
aed9a532c6 Get buildId from CDash at submit time
Pass extra data when submitting to CDash.  If CDash responds with a buildId,
construct and display helpful URL that links to the uploaded report.
2018-12-20 09:23:08 -08:00
Zack Galbreath
738d2bd77a Allow more customization for CDash reporter
Add new command line arguments to `spack install` that allow users
to set the build name, site name, and track in their CDash report.
2018-12-20 09:23:08 -08:00
Zack Galbreath
0bae6626a4 Avoid UnboundLocalError
Make sure cdash_phase is defined before referring to it.
2018-12-20 09:23:08 -08:00
jthies
9110c727bb packages/phist: add maintainer (#10162) 2018-12-20 13:23:35 +01:00
Greg Sjaardema
93c491f729 CGNS: Allow use of git branch versions (#10156)
* CGNS: Allow use of git branch versions

Add ability to use git `master` and `develop` branches of the CGNS library.  The `seacas` package sometimes needs to use the `master` or `develop` branch due to some new changes to the parallel I/O implementation in CGNS which has not yet been released.

* CGNS: Reorder to put newest version on top

Based on review comments, place newest version (develop) first in list.
2018-12-19 20:02:24 -06:00
Todd Gamblin
207c37759c env: all commands that disambiguate specs should be env-aware
- some commands were missed in the rollout of spack environments

- this makes all commands that need to disambiguate specs restrict the
  disambiguation to installed packages in the active environment, as
  users would expect
2018-12-19 17:49:51 -08:00
Mark W. Krentel
84b33523ec dyninst: patch to build dyninst with older gcc (#10160)
* dyninst: patch to build dyninst with older gcc

Add 'v9.3.2-auto.patch'.  This patch changes some 'auto t: type' usage
to the older but equivalent 'type.begin()'.  This allows building
dyninst 9.3.2 with gcc 4.4 which doesn't support the newer syntax.
This patch is harmless with newer gcc.

* Fix typo in patch.  (My bad for sloppy cut-and-paste.)

* Restrict the patch to gcc 4.7 and earlier.  gcc 4.8 supports the newer
usage and thus doesn't need the patch.
2018-12-19 17:24:43 -08:00
Michael Kuhn
84c547cf6e sqlite: add 3.26.0 (#10138) 2018-12-19 17:07:03 -06:00
Owen Solberg
6b1b9031ea updated checksum for kallisto (#10158) 2018-12-19 17:06:33 -06:00
Michael Kuhn
67ab73d381 fetch_strategy: improve GitFetchStrategy (#10153)
Currently, only the Git repsository's URL shows up in the `spack info`
output, which makes it hard to distinguish different versions:
```
Safe versions:
    develop    [git] https://github.com/LLNL/H5Z-ZFP.git
    0.8.0      [git] https://github.com/LLNL/H5Z-ZFP.git
    0.7.0      [git] https://github.com/LLNL/H5Z-ZFP.git
```

This change adds additional information as shown when cloning a Git
repository:
```
Safe versions:
    develop    [git] https://github.com/LLNL/H5Z-ZFP.git on branch master
    0.8.0      [git] https://github.com/LLNL/H5Z-ZFP.git at commit af165c4
    0.7.0      [git] https://github.com/LLNL/H5Z-ZFP.git at commit 58ac811
```
2018-12-19 14:33:58 -08:00
jthies
5f3d9a4076 phist tag 1.7.5 was moved (#10155) 2018-12-19 13:36:49 -06:00
sknigh
5adec7e491 Updated Dakota to 6.9 (#10157)
* Updated Dakota to 6.9

* Change comment wording
2018-12-19 13:03:14 -06:00
Adam J. Stewart
adfbe71b1b Add python bindings to libxslt (#10149) 2018-12-19 11:39:19 -06:00
Adam J. Stewart
654360d2ad Add missing libiconv dependency to libxml2 (#10148) 2018-12-19 11:38:14 -06:00
Adam J. Stewart
0fcca9f422 Add list_url to docbook-xml (#10146) 2018-12-19 11:37:54 -06:00
Adam J. Stewart
e19e176e67 Add latest version of docbook-xsl (#10147) 2018-12-19 11:37:35 -06:00
Adam J. Stewart
ed0ca18c3c Restrict patch to oldest version of libbsd (#10145) 2018-12-19 11:37:11 -06:00
Satish Balay
c1e562f333 PETSc: add version 3.10.3 (#10154) 2018-12-19 10:46:02 -06:00
Neil Flood
a6e2f1a96a mapserver: new package (#10067) 2018-12-19 10:04:25 +01:00
Massimiliano Culpo
e057500009 Added labels in github issue templates (#10128) 2018-12-19 09:56:26 +01:00
Adam J. Stewart
c1a99bf8ec Add additional info to MesonPackage docs (#10133)
* Add additional info to MesonPackage docs

* No Pygments lexer for Meson code, default to none
2018-12-18 21:51:42 -06:00
Elsa Gonsiorowski, PhD
b091fcdb8e fix for mpifileutils package (#10142)
* proper include & linking of libarchive

* due to linux headers, mfu can't build on mac

* hard code deps in configure line

rather than relying on pkg-config

* +xattr during config

* must also link the lib

* find mfu.h

* long lines
2018-12-18 21:51:24 -06:00
Dave
b27f81ac00 WarpX: Added dependency on fftw when +psatd (#10144) 2018-12-18 20:11:08 -06:00
Matthias Wolf
22d9938560 flatbuffers: add 1.10.0 (#10137)
Also unpin the version from the arrow package.
2018-12-18 10:53:02 -06:00
Adam J. Stewart
f8c650b9c4 Add pdf variant to cairo (#10135) 2018-12-18 16:39:36 +01:00
Justin Stanley
59d7854b89 clp: add build_directory, remove old hack (#10112)
* clp: add build_directory, remove old hack

* clp: use spack-build for building
2018-12-18 08:36:40 -06:00
Adam J. Stewart
d4b5fc141c Add latest version of libxkbcommon (#10134) 2018-12-17 19:27:58 -06:00
Alberto Chiusole
a41571a1b6 Add variant to ecflow to choose whether to use static boost libraries. (#9933)
When this variant is set, it requires boost to be built with the +pic variant.
2018-12-17 19:23:53 -06:00
David Hows
c70ea22c6f Add thread count variant to atlas (#9999)
* Add thread count variant

Atlas automatically configures itself and optimizes to run with a fixed number of threads. This can be overridden during compile by setting a flag and atlas will tune itself to use the specified number, rather than all system CPUs. 

Default value is the existing logic, autoconfigure.

* Fix Linting

* Another lint for longline
2018-12-17 19:12:00 -06:00
Jannek Squar
09d2df690a Add spack package for saga-gis (#10018)
* Add spack package for saga-gis

* Adjusted license header

* Adjust saga-gis package, added fixme comments

* Removed version constraint

* Fixed fixme comment
2018-12-17 19:10:50 -06:00
Matthias Diener
776f99a414 git: add version 2.20.1 (#10130) 2018-12-17 17:36:57 -06:00
Omar Awile
d313291c2d Added RocksDB package (#10084)
* Added rocksdb package

* Fixes based on @tristan0x and @pramodk comments

* Cleanup

* A couple minor fixes based on @adamjstewart 's advice

* Fixed flake8 errors
2018-12-17 17:36:45 -06:00
Adam J. Stewart
c2b546fa97 Add missing gettext dependency to at-spi2-core (#10124) 2018-12-17 14:00:53 -06:00
Todd Gamblin
37954a78ff Revert "mark: Create new package. (#7069)" (#10131)
This reverts commit 90b34c96d6.
2018-12-17 11:15:32 -08:00
Adam J. Stewart
bcd65906c9 Add latest version of gdk-pixbuf (#10126) 2018-12-17 13:04:40 -06:00
Adam J. Stewart
5964d14936 Add latest version of ghostscript (#10123) 2018-12-17 13:04:16 -06:00
Adam J. Stewart
fe73043170 Add missing libbsd dependency to libxdmcp (#10122) 2018-12-17 13:04:00 -06:00
Adam J. Stewart
9913b3b846 Add latest version of libbsd (#10121) 2018-12-17 13:03:43 -06:00
Adam J. Stewart
2d0ddd5d11 Add help messages to spack gpg subcommands (#10117) 2018-12-17 13:02:51 -06:00
Adam J. Stewart
d5d64bdf3b spack buildcache: --allow_root -> --allow-root (#10115) 2018-12-17 13:02:28 -06:00
Adam J. Stewart
29f26da04d Update Spack's Bash completion script (#10114)
* Update Spack's Bash completion script

* spack mirror create options changed
2018-12-17 13:02:09 -06:00
Adam J. Stewart
a8a0aee3f3 Add patch to fix windows.h include in freetype (#10075)
* Add patch to fix windows.h include in freetype

* Fix patch
2018-12-17 13:00:43 -06:00
Mark Olesen
cbedd507cf ENH: fixes and updates for openfoam-com build (#10065)
- previous removal of FOAM_EXT_LIBBIN (ThirdParty) from the environment
  during the build could lead to the system scotch library being found
  instead of the spack installation.

  Avoid this largely cosmetic change to the setting in favour of
  improved build robustness. These modifications will be largely
  superfluous in the 1812 release anyhow.

- Split the patching algorithm into 'regular' and '@:1806' since the
  next versions of openfoam will again need fewer patches.

- Add hook into foamCreateManpage to be used where available
2018-12-17 12:58:09 -06:00
Greg Sjaardema
ccce3b79ab SEACAS: Add preliminary support for seacas package (#9972)
* SEACAS: Add preliminary support for seacas package

* Eliminate leftover from package I copied from.

* And remove another stray line

Sorry, thought I had checked this better...

* SEACAS: Shorten long lines; fixup indentation

* SEACAS: Remove unused os import

* Add PLASMA version 18.11.0 and Lua variant (#9689)

* Add PLASMA 18.11.1 with optional Lua and test for headers

* New versions for a few python modules (#9969)

* py-jupyter-console: Add version 5.2.0

* py-jupyter-core: add version 4.4.0

* py-lxml: add version 4.2.5

* py-zmq: add version 17.1.2

* py-terminado: add version 0.8.1

* py-pexpect: add version 4.6.0

* py-pytables: add version 3.4.4

* SEACAS: Default to mpi on

* SEACAS: Modify to reduce variants

Instead of using an `allpkgs` or explicitly specifying each individual subset,
changed to minimize variants:
 * By default, the exodus and IOSS libraries are built and a few
   executables directly related to the IOSS library.
 * variant `common` defaults to True and builds the "common" seacas
   applications.  This is based on my definition, so there may be
   could be some discussion on what belongs here.
 * variant `legacy` defaults to True and builds the remainder of the
   seacas applications.  These are still used, but mainly in more
   esoteric areas.  Might be better to default to False, but I wanted
   default to just build everything which is what other SEACAS builds
   always do...

Removed the `kokkos` variants for now as I need to do some more
thinking on how best to support this.  Not often used currently,
so shouldn't be an issue.

Cleaned up other issues raised by Adam and found by me.

* SEACAS: Address flake8 issues

* SEACAS: Clean up variant package logic

Fixed package variant logic.
Consolidated some other variant handling logic
Other minor refactors for hopefully better readability

* SEACAS: Fix flake8 error

Missing whitespace around operator fixed.
2018-12-17 12:57:31 -06:00
Ricardo Silva
f979b974a5 GDL: python integration fixes (#9936)
* GDL: python integration fixes

* renamed python-related variants to follow the convention
* building the Python module requires patches currently targetting 0.9.8 othwerwise asking for the Python module *only* builds the Pyhton module
* building the python module also requires patching the vendored (with the GDL) antlr to be built as a shared library

* Typo

Co-Authored-By: rmsds <ricardo.d.silva@gmail.com>

* Rename embed-python variant to embed_python
2018-12-17 12:47:16 -06:00
TZ
a02cf107b5 zoltan: rely on MPI wrappers instead of guessing MPI libraries (#8986)
* zoltan: only add gussed MPI libs if no MPI wrappers are used

- if MPI-wrappers are used for compilation, we can assume that
  linking works without manually specifying MPI libs
  (guessing may result in wrong libs, cf. #8979)
- thus, only guess the NPI libs and add them explicitly if no
  MPI-wrappers are used
- use llnl.util.filesystem.find_libraries instead of a locally
  defined routine to guess the MPI libs if needed
  (cf. #8979)

* zoltan: rely on MPI-wrappers to know the required MPI libs
2018-12-17 12:45:49 -06:00
lingnanyuan
90b34c96d6 mark: Create new package. (#7069)
* mark: Create new package.

* mark: change description.

* mark: change description.

* mark: Delete set_up environment.

* mark: replace join_path(prefix.bin, mark) with prefix.bin.mark
2018-12-17 12:34:16 -06:00
Adam J. Stewart
ae307f5b0f Add latest version of atk (#10125) 2018-12-17 08:48:31 +01:00
jthies
17c77533ee packages/phist: new version 1.7.5 (#10120) 2018-12-16 13:35:44 -06:00
Peter Scheibel
0217a651c8 mirrors: patches are now properly added to mirrors (#8993)
* This fixes a number of bugs:

  * Patches were not properly downloaded and added to mirrors.

  * Mirror create didn't respect `list_url` in packages

  * Update the `spack mirror` command to add all packages in the
    concretized DAG (where originally it only added the package specified
    by the user). This is required in order to collect patches that are specified
    by dependents. Example:
      * if X->Y and X requires a patch on Y called Pxy, then Pxy will only
        be discovered if you create a mirror with X.

  * replace confusing --one-version-per-spec option for `spack mirror create`
    with --versions-per-spec; support retrieving multiple versions for 
    concrete specs

* Implementation details:

  * `spack mirror create` now uses regular staging logic to download files 
    into a mirror, instead of reimplementing it in `add_single_spec`.

  * use a separate resource caching object to keep track of new
    resources and already-existing resources; also accepts storing
    resources retrieved from a cache (unlike the local cache)

  * mirror cache object now stores resources that are considered
    non-cachable, like (e.g. the tip of a branch);

  * the 'create' function of the mirror module no longer traverses
    dependencies since this was already handled by the 'mirror' command; 

  * Change handling of `--no-checksum`:

    * now that 'mirror create' uses stages, the mirror tests disable
      checksums when creating the mirror

    * remove `no_checksum` argument from library functions - this is now
      handled at the Spack-command-level (like for 'spack install')
2018-12-16 10:15:22 -08:00
Matthias Diener
9f528ccba0 env setup: support --help for cd/env commands (#10069) 2018-12-15 17:47:05 -08:00
Justin Stanley
87615d54cc r-multitaper: new package at 1.0-14 (#10110) 2018-12-15 20:08:33 +01:00
Massimiliano Culpo
61239257f9 Store ccache directory explicitly in Travis. (#10119)
* Store ccache directory explicitly in Travis.

Despite we started using ccache on `develop`, it seems the cache itself
is not stored from one CI build to the next. This might be du to the
fact that our language on Travis is Python and not C nor C++.

Hence here we store the ccache directory explicitly.
2018-12-15 17:53:51 +01:00
Justin Stanley
c973d761e9 r-popgenome: new package at 2.6.1 (#10108) 2018-12-15 08:44:20 -06:00
Justin Stanley
3b59bf9efa r-xnomial: new package at 1.0.4 (#10111)
* r-xnomial: new package at 1.0.4

* r-xnomial: add list_url
2018-12-15 08:43:08 -06:00
Adam J. Stewart
1424830378 spack pkg add: add help message (#10116) 2018-12-15 11:44:37 +01:00
Christoph Junghans
71a86bb840 .travis.yml: enable ccache (#6370) 2018-12-15 10:52:31 +01:00
Adam J. Stewart
caf94253e0 Add latest version of libsigcpp (#10103) 2018-12-14 21:09:33 -06:00
Adam J. Stewart
a55976747e Add latest version of bdw-gc (#10100) 2018-12-14 21:09:19 -06:00
Adam J. Stewart
316df3cd37 Add latest version of libatomic-ops (#10099) 2018-12-14 21:09:04 -06:00
Levi Baber
7a0c334d81 pbsuite: pythonpath should be prepended not set (#10113) 2018-12-14 18:12:51 -08:00
Justin Stanley
6469f8953d clp: add explicit datadir (#10109) 2018-12-14 16:20:47 -06:00
Andrew Gaspar
e9281cc436 Updates to Google Test: (#10079)
- Add version 1.8.1
- Change to sha256 checksums
2018-12-14 13:23:08 -06:00
Michael Kuhn
f224f4a57e qt: fix openssl dependency for older versions (#10106) 2018-12-14 11:11:31 -06:00
Adam J. Stewart
34499c9b82 Add latest version of libxslt (#10098) 2018-12-14 10:47:23 -06:00
Adam J. Stewart
d7b4160e67 Add latest version of poppler (#10101) 2018-12-14 10:47:07 -06:00
Adam J. Stewart
bfdbadf2bb Add latest version of cairo (#10102) 2018-12-14 10:46:52 -06:00
Massimiliano Culpo
020a01b18f Updated the Travis environment to xenial (#10090)
* Updated the Travis environment to xenial.
* Python 2.6 needs to remain on Trusty (can't be installed from Xenial)
2018-12-14 08:43:58 -08:00
Massimiliano Culpo
488e513e84 Turn on verbose output for MPICH builds in Travis (#10105)
Lately many CI runs for PRs are failing due to the `mpich` build that
times out on Travis (10 mins. without output). As the timeout seems to
happen consistently during the build phase, increasing the verbosity of
that test can help working around the issue.
2018-12-14 08:43:04 -08:00
Greg Becker
d2d0ab06b7 Fix spack package inheritance for module variables (#10097)
* we weren't properly setting module variables for the root package in a DAG -- just for transitive dependencies.
2018-12-14 08:37:22 -08:00
Adam J. Stewart
05f9c68c30 Add latest version of meson (#10104) 2018-12-14 09:10:55 -06:00
Elsa Gonsiorowski, PhD
76bfdd65fc make dtcmp an autotools spackage (#10095)
* make dtcmp an autotools spackage

* better code
2018-12-14 09:08:57 -06:00
Adam J. Stewart
3432a71430 Add new packages for ELSD and ELSDc (#10072) 2018-12-13 22:05:24 -06:00
Matthias Diener
289ad8f375 cmake: add version 3.13.2 (#10092) 2018-12-13 17:35:58 -06:00
Miles Perry
b7a2192f91 Feature/spm (#10053)
* extract spm12.ctf to get binaries and libraries

* flake8 edits

* flake8 edits

* spm: updates

* spm: previous version
2018-12-13 12:43:45 -06:00
Eric
7f60226662 trf: add version 4.07b and install fixes (#10093)
* trf: add version 4.07 and install fixes

* suggested fixes
2018-12-13 12:42:26 -06:00
Satish Balay
e87d394038 superlu-dist: update v6.1.0 checksum (#10078) 2018-12-13 09:05:47 -06:00
Jon Rood
5dd9a321a4 Add CUDA_HOME variable to cuda module file. (#10088) 2018-12-13 08:05:13 +01:00
Christoph Junghans
0b42cf4d96 lammps: add new stable version (#10086) 2018-12-12 11:08:59 -06:00
Denis Davydov
7d5058ebe4 boost: add 1.69.0 (#10083)
signals (v1) was removed in 1.69.0
2018-12-12 10:14:47 -06:00
Eric
ce00c13297 LEMON: Create new package (#10077) 2018-12-11 23:08:45 -06:00
Elsa Gonsiorowski, PhD
2b483f24f1 added sha256 for scr v1.2.0-2 (#10082) 2018-12-11 22:56:23 -06:00
Mark W. Krentel
ab8870fd51 gcc: fix sys_ustat.h patch for gcc 4.8 and 4.9 (#10081)
The sys_ustat.h.patch to file sanitizer_platform_limits_posix.cc from
PR #10046 does not apply cleanly to gcc 4.8 or 4.9 (or earlier).

GCC up to 4.8.x either don't have libsanitizer or else don't include
ustat.h in sanitizer_platform_limits_posix.cc.

GCC 4.9.x includes ustat.h, but needs a slightly different patch.

The patch applies to GCC 5.x up to 6.4, and 7.x up to 7.3 and also
8.1.0.

The patch is already included in the tar files for gcc 6.5.0, 7.4.0
and 8.2.0.
2018-12-11 22:54:12 -06:00
Stephen Herbein
92229e46e3 flux-core & flux-sched: fix compilation and dependencies (#10049)
* flux-sched: fix compilation errors

configure was being run twice becuase the staging symlinks were
confusing autotools

mirror flux-core in building in a subdirectory to avoid other common
compilation problems, like the one in PR #3543

* flux-core: update dependencies

munge is no longer a dependency

provide hints for lua version so that `spack install flux-core` works
"out-of-the-box". Currently, when no explicity version is provided, the
concretizer attempts to use lua@5.3, which is invalid. Closes #10000
2018-12-11 22:34:58 -06:00
Brian Van Essen
abd575f273 Update LBANN generator and bug fix (#9906)
* Added a package for the MDAnalysis toolkit.

* Added Ninja as the generator for LBANN, Hydrogen, and Aluminum.  Also
fixed a bug in how the Conduit variant is included in LBANN.  Added
new versions for Hydrogen and LBANN.

* Updated lbann package so that the CMAKE parameters are set when the
variant is on and off.
2018-12-10 15:12:43 -08:00
Adam J. Stewart
ad046402b6 Make downloads from list_url deterministic (#10047) 2018-12-10 14:36:55 +01:00
Lukasz
22446d7303 mofem: add new releases and minor changes (#9138) 2018-12-10 14:33:31 +01:00
Matthias Diener
2670823c1e cloc: URLs are now consistent (#10068)
Fixed in upstream:
https://github.com/AlDanial/cloc/issues/352
2018-12-10 14:28:52 +01:00
Tom Payerle
8f0fc259c8 metis: Fix issues with gcc6 and misleading indentation (#10058)
Added patch to GKlibSystem.cmake to disable warnings (which get
promoted to errors) due to -Wmisleading-indentation being added
to -Wall in gcc 6
2018-12-09 13:08:38 -06:00
Matthias Diener
f0326c0ccf gcc: add versions 7.4, 6.5 (#10061) 2018-12-08 09:22:28 -06:00
Jon Rood
2f80432f62 OpenMPI: adding static libraries with slurm support for latest versions. (#10055) 2018-12-08 13:49:09 +01:00
Abhinav Bhatele
05155cbc59 TraceR: add release tag/version (#10054) 2018-12-08 01:09:48 -06:00
Cameron Smith
130706d1b8 pumi: shared variant (#10057) 2018-12-08 01:08:58 -06:00
Matthias Diener
718379eea1 eztrace: add new package (#10060) 2018-12-08 01:06:28 -06:00
Justin Stanley
3955f7cba5 r-expint: new package at 0.1-5 (#10043) 2018-12-07 18:21:40 -08:00
Axel Huebl
892ae2043f Fix Catch2 Single Header (#10022)
Fix the install of the single header amalgate in catch2.

The public API for catch < 2.3.0 was "#include <catch.hpp>".
For 2.3.0+ it is "#include <catch2/catch.hpp>"
2018-12-07 18:13:40 -08:00
James Clark
1650e9c0b2 gcc: Add patch to build GCC with glibc 2.28 and later (#10046) 2018-12-07 18:06:07 -08:00
Justin Stanley
4471f9ea32 pbsuite: new package at 15.8.24 (#10059) 2018-12-07 18:01:44 -08:00
Justin Stanley
4d5b136270 scallop: new package at 0.10.3 (#10041) 2018-12-07 17:39:07 -08:00
Justin Stanley
76ab54caec r-sseq: new package at 1.20.0 (#10042) 2018-12-07 11:24:55 -06:00
Justin Stanley
d72ba01a71 r-blockmodeling: new package at 0.3.1 (#10044) 2018-12-07 11:24:43 -06:00
Mario Melara
138d74f40c Spades: Add version 3.13.0 (#10033)
* Spades: Add version 3.13.0

In version 3.13.0 the CmakeLists.txt dir is at a different location than
in other versions. Versions up to 3.12.0 are located in "src" whereas
3.13.0 is a level deeper at "assemblers/src".

* Remove git and add new version hash
2018-12-07 11:24:17 -06:00
Justin Stanley
fb5880ab14 clp: new package at 1.16.11 (#10040) 2018-12-06 19:31:33 -08:00
Michael Kuhn
6ec8e4146f cdo: fix URLs (#10025) 2018-12-06 18:04:50 -06:00
Gregory Becker
b072c9b457 multimethod: slight refactoring, documentation for code review 2018-12-06 15:48:23 -08:00
Gregory Becker
2621af41d1 fix MRO for multimethod.__call__ using iterative algorithm.
Add tests MRO for inherited multimethods with multiple inheritance
Add tests for inherited and overridden multimethods
2018-12-06 15:48:23 -08:00
Todd Gamblin
43d94d4a30 tests: fully parametrize multimethod test
- all multimethod tests are now run for both `multimethod` and
  `multimethod-inheritor`

- do this with a parameterized fixture (pkg_name) that runs the same
  tests on both
2018-12-06 15:48:23 -08:00
Todd Gamblin
61b859193d multimethod uses Spec() instead of parse_anonymous_spec()
- simplify logic in multimethod
- remove the requirement of multimethod invocations to walk up the stack.
2018-12-06 15:48:23 -08:00
Todd Gamblin
88cb11758b spec: refactor and clean up Spec initialization
- Since early Spack versions, the SpecParser has (weirdly) been
  responsible for initializing Spec fields.

- This refactors initialization to take place in Spec.__init__, as it
  probably should have originally.

- This makes the code easier to read, the parser easier to understand,
  and removes the use of __new__ in the parser to initialize the Spec.

- This also makes it possible to make a completely empty Spec with
  `Spec()` -- this is an abstract Spec that will match anything.
2018-12-06 15:48:23 -08:00
Todd Gamblin
e0d22519cd remove spurious print in zlib patch method 2018-12-06 15:48:23 -08:00
Gregory Becker
7bb7b94666 Added test for multimethod inheritance 2018-12-06 15:48:23 -08:00
Satish Balay
f35a91a88a superlu-dist: update to version 6.1.0 (#10037) 2018-12-06 09:46:17 -06:00
Jon Rood
bba6df4a1f Adding patch to remove unicode character from pyrope readme file (#9988)
* Adding new versions of py-rope.
2018-12-06 11:11:23 +01:00
Nichols A. Romero
298da8e2c4 Quantum ESPRESSO update - Nov 2018 (#9853)
* Add mising QE releases.

* Update QE dependencies and conflicts.

* QE 6.3 install method requires a patch to work properly.

* include QE git develop branch

* QE HDF5 needs Fortran support. HDF5 versions prior to 1.8.16 leads to QE runtime errors.

* Number of MKL related conflicts for QE.

* Flake8 fixes for QE for hdf5 lines.

* Pass in all compilers properly to QE configure

* Fixed external BLAS/LAPACK linkage in QE.

* Library search was problematic in QE.

* Add section headings to QE package.

* External FFTW compatible libraries properly detected in QE.

* Flake8 fixes for QE

* QE configure defaults to False for ELPA, thus Spack package should as well.

* QE depends on FFTW3 provider instead of FFTW explictly.

* Primary QE repo is gitlab.com, not github.com. Github mirror lags behind gitlab site.

* Support both 6.3-backports branch and develop branch in QE.

* QE patch needed for proper MKL detection. MKL_ROOT is detected and preferred, still falls back to finding first MKL installation in /opt/intel.

* Use FFTW-API provider versioned interface for specify QE FFT dependency.

* QE FFTW conflicts no longer need thanks to FFTW-API provider versioned interface.

* Flake8 3.6.0 fix in support of https://github.com/spack/spack/pull/9853

* Fix QE conflict with ilp64 variant in support of https://github.com/spack/spack/pull/9853

* Remove custom url_for_version for QE package and use builtin url instead. In support of https://github.com/spack/spack/pull/9853

* Use FFTW builtin flags for QE instead of custom Python code. In support of https://github.com/spack/spack/pull/9853

* Fix typo in QE package comments. In support of https://github.com/spack/spack/pull/9853

* Future proof QE package patches in anticipation of QE >= 6.3.1. In support of https://github.com/spack/spack/pull/9853
2018-12-06 10:57:52 +01:00
Eric
dcb27c008a DIAMOND: Add version 0.9.23 (#10030) 2018-12-05 19:16:51 -06:00
Jannek Squar
8951cc5d77 Fix doxygen package (#10021) 2018-12-05 19:02:38 -06:00
Matthias Diener
0009854e33 cloc: add version 1.80 (#10029) 2018-12-05 18:55:27 -06:00
sknigh
060d1944d4 Rewrite Rust package (#9998) 2018-12-05 20:15:45 +01:00
Matthias Diener
5434a25076 openblas: add version 0.3.4 (#10016) 2018-12-05 08:41:58 -06:00
Christoph Junghans
d149ab63a9 pfunit: add mpi-test patch (#9387) 2018-12-05 06:15:16 -07:00
Jon Rood
583617ed67 Hwloc and numactl updates (#9987)
* Adding version 2.0.12 of numactl.

* Adding new versions of hwloc.

* Adding NVML variant to hwloc.

* Adding gl variant to hwloc.

* Updating hwloc numactl dependency and gl dependency.

* Using gl virtual package in hwloc.
2018-12-05 10:26:53 +01:00
Justin Stanley
87bf5296c3 biobloom: new package at 2.2.0 (#10014) 2018-12-04 17:20:24 -06:00
Justin Stanley
68a0305e13 sdsl-lite: new package at 2.1.1 (#10013) 2018-12-04 17:20:10 -06:00
Miles Perry
6020123a0b added bwa runtime dep (#10012) 2018-12-04 17:19:56 -06:00
Matthias Diener
deda7fdd60 ffmpeg: add version 4.1 (#10015) 2018-12-04 17:19:40 -06:00
Denis Davydov
121362383b dealii: do not hardcode prefix.include for BLAS/LAPACK (#10008)
* dealii: do not hardcode prefix.include for BLAS/LAPACK

* dealii: rename lapack_blas -> lapack_blas_libs
2018-12-04 16:55:41 -06:00
HAOCHENG LIU
ce485731bb Remove openmp version guard in vtkm and add precision options (#10005)
Clang 8.0 now supports openmp 4.5 and many commerical compilers also support
openmp >= 4.0. This commit removes the openmp version guard and rely on CMake
to throw errors out when openmp version requirement is not satisified.

It also add options for precision control.
2018-12-04 11:53:17 -08:00
Greg Sjaardema
9f8e445510 CGNS: Add option for 64-bit integers (#9990)
* CGNS: Add option for 64-bit integers

Added the `int64` variant which will build the library using 64-bit integers for certain values.  This gives the capability to have models with more than 2 billion cells and/or nodes.  

Beginning with CGNS-3.1.0, two new typedef variables have been introduced to support 64-bit mode. The `cglong_t` typedef is always a 64-bit integer, and `cgsize_t` will be either a 32-bit or 64-bit integer depending on how the library was built. Many of the C functions in the MLL have been changed to to use `cgsize_t` instead of `int` in the arguments. These functions include any that may exceed the 2Gb limit of an` int`, e.g. zone dimensions, element data, boundary conditions, and connectivity. In Fortran, all integer data is taken to be `integer*4` for 32-bit and `integer*8` for 64-bit builds.
2018-12-04 18:13:49 +01:00
Greg Sjaardema
ec67bbec2f EXODUS: Update version and dependencies (#9971)
* EXODUS: Update version and dependencies

Allow pulling master version from git.  Note that I hope to have better versioning "soon"

Add requirement to use Netcdf-4.6.1 or later as those versions no longer require changing the `maxdims` or `maxvars` defines in the netcdf.h include file.  With these versions, Exodus can use an unmodified NetCDF.  These versions of NetCDF are also better than previous versions (code quality, performance, robustness).

It is still possible to run exodusII with previous NetCDF versions, but I don't know how to specify that the dependency where maxdims/maxvars variants are only needed for versions prior to 4.6.0.  

I also removed the explicit dependency on HDF5 as that dependency should be applied through the NetCDF dependency.

* Remove white-space on blank line
2018-12-04 09:48:15 -06:00
Axel Huebl
427993b951 c-blosc: 1.15.0 (#10009)
Add latest version of c-blosc.
2018-12-04 09:10:08 -06:00
Kelly (KT) Thompson
4d26faac81 Provide a new spackage for py-pint. (#9991)
* Provide a new spackage for py-pint.

Pint is a Python package to define, operate and manipulate physical quantities:
the product of a numerical value and a unit of measurement. It allows arithmetic
operations between them and conversions from and to different
units. https://pint.readthedocs.io/en/latest/

* Switch hash from md5 to sha256.
2018-12-04 08:58:11 -06:00
Greg Sjaardema
b471e2768b MATIO: New versions (#9993)
Add several new versions so that current functionality can be accessed.  Current version is now 1.5.13.

Update `url`, `list_url`, and `list_depth` so spack can find available versions
2018-12-04 08:53:15 -06:00
Oliver Breitwieser
3cf998a5db Add tmux@2.8 (#10010) 2018-12-04 08:37:09 -06:00
Greg Sjaardema
231888f3e9 PNETCDF: Update with current versions (#9982)
* PNETCDF: Update with current versions

Added latest versions. (1.10.0, 1.9.0, 1.8.1)

* PNETCDF: Revert version change in url

Reverted the change in the url variable version since not required.
2018-12-04 08:31:41 -06:00
Greg Sjaardema
6e3b016aa2 NETCDF: Add new versions and update url (#9970)
* NETCDF: Add new versions and update url

Added the 4.6.2 version which was recently released.
Changed the url to point to the official Unidata site and added option to retrieve master version from git.

* NETCDF: checksum and version updates

Reverted back to use of previous URL.  The `https://github.com/Unidata/netcdf-c/archive/v4.6.2.tar.gz` location is newer, but spack does not seem to be able to access all of the versions at that location -- only goes back to 4.5.0.  Since several installations are still providing 4.4.0, thought it best to go back to previous url.  However, it looks like the naming convention has changed since 4.6.2, so need to provide explicit url for 4.6.2.  Probably best to go to a `url_for_version()` scheme if that naming convention stays in place?
2018-12-04 15:03:25 +01:00
Bert Wesarg
262b3f859e boost: 1.68 also needs boost_1.67.0_pgi.patch (#9980)
Its in upstream with the upcoming 1.69 release though.
2018-12-04 14:49:20 +01:00
Peter Scheibel
34f64f1f3f improved constraint conflict error message (#9975) 2018-12-04 14:19:57 +01:00
Matthias Wolf
e3aa36f4cb fix: adapt junit template to escape std{out,err} (#9935) 2018-12-04 14:05:45 +01:00
George Hartzell
0c3f220fb1 Disallow bcl2fastq2 on OS X (#9966)
* Disallow bcl2fastq2 on OS X

[Illumina's computing requirements][reqs] claim support for RHEL/CentOS and
go on to say:

> May be possible to install and run on other 64-bit Linux distributions or Unix variants.

The sufficient issue is its reliance of malloc.h.  There may be more.

[reqs]: https://support.illumina.com/sequencing/sequencing_software/bcl2fastq-conversion-software/computing-requirements.html

* Add an informative msg for the user
2018-12-04 13:44:15 +01:00
Neil Flood
e3d204cb8f Expand dependency on qt to allow qt4 (#9964) 2018-12-04 13:37:37 +01:00
Satish Balay
808c2ea5ce petsc: when petsc is built with fortran [default in spack] its best to use hdf5+fortran (#9986) 2018-12-04 13:32:30 +01:00
Neil Flood
47b7016ea7 r-optparse: new package (#9967) 2018-12-04 13:20:08 +01:00
Nick Forrington
9551b34cb5 pgi: Add checksum for PGI 18.10 (#9985) 2018-12-04 13:12:20 +01:00
Matthias Diener
dfb02fd078 cmake: add version 3.13.1 (#9983) 2018-12-04 13:09:49 +01:00
Levi Baber
27e8fcb945 abyss: new version (#9981) 2018-12-04 13:02:36 +01:00
sknigh
a9695bac50 Added missing libtool dependencies to libvterm and unibilium (#10007) 2018-12-04 13:01:37 +01:00
Robert Maynard
0d033a042c Download CMake sources from the Github releases (#10003)
Now that CMake is providing CMake release artifacts on github,
we should prefer those as they have better download speeds and
uptime.
2018-12-03 12:35:51 -06:00
jthies
3a2045b7c0 Phist 1.7.4 (#9996)
* packages/phist: new version 1.7.4 with new variant 'host' to enable/disable host-specific optimizations.
2018-12-03 09:40:51 -06:00
HAOCHENG LIU
66a62d82c4 Bump vtkm to version 1.3 and add new features (#9968)
This commit allows users to enable openmp, rendering, logging and mpi
in vtkm. Meanwhile, it adds support for cuda architecture selection.

[VTK-m 1.3 Release notes](https://gitlab.kitware.com/vtk/vtk-m/tags/v1.3.0)
2018-11-30 19:48:22 -08:00
Mark W. Krentel
cc5446f25c hpctoolkit: overhaul to use spack dependencies (#9946)
Overhaul hpctoolkit to AutotoolsPackage and to build its dependencies
directly from spack instead of using hpctoolkit-externals.

Remove hpctoolkit-externals since it's no longer needed.
2018-11-30 18:11:12 -08:00
jwallior
930debcf35 New versions for a few python modules (#9969)
* py-jupyter-console: Add version 5.2.0

* py-jupyter-core: add version 4.4.0

* py-lxml: add version 4.2.5

* py-zmq: add version 17.1.2

* py-terminado: add version 0.8.1

* py-pexpect: add version 4.6.0

* py-pytables: add version 3.4.4
2018-11-28 21:44:15 -06:00
Piotr Luszczek
8375b5b571 Add PLASMA version 18.11.0 and Lua variant (#9689)
* Add PLASMA 18.11.1 with optional Lua and test for headers
2018-11-28 16:59:05 -06:00
Ondřej Čertík
62f1cf3678 Add f18 package (#9183)
* Add f18 package

* Fix flake8 errors

* Install the f18 binary into prefix.bin by hand

* Add spack-build into the path

* Fix the license header
2018-11-28 14:13:30 -06:00
Massimiliano Culpo
e998a399da Injected flags have a consistent order (#9960)
Fixes #9908

Spack was assembling flags in a manner that could in different
orderings for repeated concretizations of the same spec and config
2018-11-28 10:23:38 -08:00
Michael Kuhn
5cea4a75d7 glib: disable SELinux explicitly (#9956) 2018-11-28 10:06:17 +01:00
George Hartzell
e4e980ee97 bcl2fastq2 package: recursively delete after copy (#9959)
Fixes #9944

73c978d replaced a move with a copy, which cased rmdir to fail (as
it expects an empty directory). This switches to use `shutil.rmtree`
instead.
2018-11-27 17:22:14 -08:00
Scott Wittenburg
33b112a60d Expose option to save all dependencies when writing spec.yaml (#9965) 2018-11-27 17:13:39 -08:00
Jon Rood
4c3091b05e Fixing problems with lammps dependencies voropp and latte (#9909)
* Fixing problems with lammps dependencies voropp and latte.

* Always replacing CFLAGS in voropp and specifying voropp+pic dependency in lammps.
2018-11-27 16:55:21 -07:00
Matthias Diener
2164181d0a git: add version 2.19.2 (#9961)
Also fixes instructions for new releases
2018-11-27 16:32:22 -06:00
Neil Flood
8a78c9c6bc Rename py-proj to py-pyproj, consistent with Spack's current naming conventions (#9962) 2018-11-27 16:31:30 -06:00
thelfer
2e04f3daab new package: add support for the tfel package (#9930) 2018-11-27 07:16:55 +01:00
Michael Kuhn
16d3e44515 py-pygobject: add missing pkgconfig dependency (#9955) 2018-11-26 21:41:44 -06:00
Axel Huebl
b26c85301d OpenMPI: Prefer Last 3.X (#9945)
The latest OpenMPI release, v4.0.0, does not build with many GCC
variants. Since this is our default, a lot of users get hit.

Let's wait for some point releases.
2018-11-26 16:46:04 -06:00
Eric
20a6dde10b GATK: Add version 4.0.11.0 (#9953) 2018-11-26 14:54:05 -06:00
Eric
d9046e70c1 minced: Add version 0.1.6 (#9951) 2018-11-26 14:22:17 -06:00
Matthias Diener
bab3d7734a hdf5: add version 1.8.21 (#9952) 2018-11-26 12:56:44 -06:00
Michael Kuhn
7df14134c1 go: add 1.11.2 (#9948) 2018-11-26 11:33:55 -06:00
Eric
5cd8233139 metabat: Add version 2.11.2 (#9950) 2018-11-26 11:32:14 -06:00
Miles Perry
28e93a7a79 Feature/gatk (#9872)
* added 3.8-1 version

* fixed flake8 stuff
2018-11-26 11:30:21 -06:00
Adam J. Stewart
06dcf72f14 Uncomment dependencies previously disallowed by concretizer (#9942) 2018-11-26 09:11:16 +01:00
Sinan
096922c39d Package/py scikit learn (#9843)
* add v0.20 specific dependency versions, also add cython and py-test as dependencies

* make flake8 happy

* make cython a build-only dependency
2018-11-24 19:03:30 -06:00
Neil Flood
4c1733bff4 py-pygresql: new package (#9922)
* py-pygresql: new package

* Added dependency on py-setuptools, as the build will use it if present
2018-11-24 17:45:27 -06:00
Neil Flood
e3e01ab3d7 py-psycopg2: new package (#9926)
* py-psycopg2: new package

* Added dependency on py-setuptools, as the build will use it if present
2018-11-24 17:45:16 -06:00
Denis Davydov
058a772a52 p4est: fix a typo (#9932) 2018-11-24 17:45:04 -06:00
Matthias Diener
9d2ea84112 mc: add version 4.8.21 (#9943) 2018-11-24 17:42:46 -06:00
Matthias Diener
e86a28aff7 intel-parallel-studio: add missing updates to 2019.1 (#9941) 2018-11-24 15:44:57 -06:00
Neil Flood
9945a59c47 py-geopandas: New package. (#9919)
* py-geopandas: New package, including packages for its dependencies

* Trailing whitespace removed, etc

* One more trailing whitespace

* Removed some extraneous dependencies. No idea why I thought I needed them, but it now builds fine without them.

* Added a variant +plotting, to include the dependencies required for plotting, as these are large-ish if not being used.

* Added explicit dependency on py-matplotlib
2018-11-24 15:44:44 -06:00
Matthias Diener
25b9938ad1 cmake: add version 3.13.0 (#9940) 2018-11-24 14:23:10 -06:00
Neil Flood
a0fc573ff4 r-geor: new package, and a couple of its dependencies (#9920)
* r-geor: new package, and a couple of its dependencies

* Update to new copyright header

* Include the list_url for the R package archive dir

* Added explicit version ranges on dependencies, as per the relevant CRAN pages

* Correct dependency types in r-splancs.
2018-11-24 14:21:54 -06:00
Andreas Baumbach
862d1799fb new version 18.1 for py-pip (#9938)
Change-Id: Ie462e802049dd6150767dc555fb5708999e081ec
2018-11-23 18:09:20 -06:00
Neil Flood
2e510413c3 r-compositions: new package, including its dependencies (#9921)
* r-compositions: new package, including its dependencies

* Include the list_url for the R package archive dir

* Added explicit version ranges on dependencies, as per the relevant CRAN pages
2018-11-23 18:06:57 -06:00
Neil Flood
3557b6e149 libspatialite: new package (#9923) 2018-11-22 13:54:52 -06:00
Nicholas Labello
13f2e68688 munge: update versions and url format to reflect switch to .xz format… (#9916)
* munge: update versions and url format to reflect switch to .xz format in recent releases

* package:munge remove unneeded version-specific urls
2018-11-22 13:13:40 -06:00
Eric
be92d46962 minced: add version 0.3.2 and fix install paths (#9918) 2018-11-22 13:13:06 -06:00
Neil Flood
c42ceb886c qca: new package (#9924) 2018-11-22 12:45:42 -06:00
Neil Flood
b6e664846a qjson: new package (#9925) 2018-11-22 12:45:17 -06:00
Denis Davydov
0f6f3ece95 p4est: apply patches to 2.0 only (#9928) 2018-11-22 12:40:22 -06:00
Michael Kuhn
f7a445e4b0 multitime: new package (#9929) 2018-11-22 12:39:51 -06:00
Michael Kuhn
ffaf617e74 flecsale: add missing dependencies and fix flecsi runtime model (#9774) 2018-11-22 12:38:59 -06:00
Ken Raffenetti
0eb8cd9a8f Add MPICH version 3.3 (#9915) 2018-11-21 14:42:52 -06:00
Mark W. Krentel
27ad0f1269 dyninst: overhaul package.py to CMakePackage (#9871)
Drop versions 8.1.x.  These were > 5 years old, no other spack package
uses them, and they used autotools.  Packages 'stat' and 'mitos' still
use 8.2.1, so we keep that.

Switch class Dyninst to CMakePackage.

Clean up how the versions depend on various packages.  For example,
Dyninst used libelf up to 9.2, and then elfutils starting with 9.3.
This makes things easier going forward.

Add variant 'openmp' (default True) to enable openmp support for
ParseAPI.  This was added in 10.0.0.

Add variant 'static' (default False) to also build static libraries.
This goes back to 9.1.0.

Disable cotire for the 9.3.x versions.  Cotire has no real use in a
one-time build and can break parallel builds with both static and
shared libs.
2018-11-21 10:47:19 -08:00
Elsa Gonsiorowski, PhD
1c5688fcbc correct sha for axl v1.1 (#9907) 2018-11-20 19:28:47 -06:00
Tom Scogland
ba5a251896 package: add asciidoctor gem (#9905)
* package: add asciidoctor gem

Faster, easier to use, less impossible to install correctly
implementation of asciidoc.

* ritual sacrifice of EOF whitespace to flake8
2018-11-20 14:32:44 -06:00
Tiziano Müller
84bc1d6654 CP2K related fixes and update (#9308)
* openblas: enable parallel builds

* cp2k: enable parallel builds

* cp2k: fix building on multilib/Suse distros

use the actual directory path where files where installed to instead of
the default prefix+'/lib'

* cp2k: ensure we have a non-header-only libxsmm

* openblas: disable max num CPU detection on virtualized build

* cp2k: install data and set compiled-in DATA_DIR

* cp2k: make libxc an optional dependency (enabled by default)

* cp2k: link libint statically

* cp2k: declare statically linked library deps as type=build

* cp2k: add support for PGI compiler

* cp2k: rename smm=none to smm=blas for clarification

* cp2k: blacklist unsupported compilers

* cp2k: mark wannier90 a build-time dep since statically linked

* cp2k: make pexsi and elpa optional

* cp2k: add support for v6.1

* libxc: add version 4.2.3

* cp2k: use pkg-config to link properly to libxsmm

* cp2k: fix OpenMP support by making it explicit

Previously, CP2K accepted threaded ELPA or BLAS, leading to #(CPU) processes
being spawned even though no explicit OpenMP was requested. Now the
`popt` variant should truly be thread free while the `psmp` variant uses
threads also internally.

* cp2k: source tarballs moved to GitHub
2018-11-20 09:23:01 -08:00
dorier
13b95b8ae6 Package: Mercury (#9903)
* added mercury package

* updating mercury package to satisfy flake8

* improved mercury package
2018-11-20 11:14:30 -06:00
Jon Rood
128af27c21 Add 2019.1 and 2018.4 version of the Intel performance libraries. (#9899)
* Add 2019.1 and 2018.4 version of the Intel performance libraries.

* Fixing typo.
2018-11-20 09:30:53 -06:00
Adam Moody
5127bb590f mpifileutils: add v0.8.1 (#9346) 2018-11-19 20:48:50 -06:00
Michael Kuhn
44d1d928e8 openssl: make 1.1.1 the default version (#9836)
* openssl: add 1.0.2p, 1.1.0i and 1.1.1

* openssl: make 1.1.1 the default version
2018-11-19 20:46:38 -06:00
Justin Stanley
7bb9020227 added several new perl modules (#9760) 2018-11-19 20:44:44 -06:00
Justin Stanley
9dfea8ee17 circos: new package starting at 0.69-6 (#9761)
* circos: new package starting at 0.69-6

* circos: add homepage, simplify paths

* circos: simplified more paths
2018-11-19 20:44:01 -06:00
Sinan
0a0e5642df gdk-pixbuf: explicitly disable building of gtk-docs (#9882) 2018-11-19 20:42:56 -06:00
Levi Baber
535035b223 r-rrpp: new package (#9887) 2018-11-19 20:42:45 -06:00
Jon Rood
1972376865 Adding openmpi version 4.0.0 (#9888) 2018-11-19 20:42:34 -06:00
Eric
177c5f3c6d breseq: Add version 0.33.1 (#9889) 2018-11-19 20:42:21 -06:00
Sinan
47a641f13b package/harfbuzz: disable building of gtk-docs, add new version (#9891) 2018-11-19 20:42:08 -06:00
Levi Baber
561a561d23 r-crosstalk: remove unnecessary constraint (#9892) 2018-11-19 20:41:41 -06:00
Levi Baber
71943703f2 r-geomorph: new version (#9890)
* r-geomorph: new version

* r-geomorph: min r version
2018-11-19 20:41:19 -06:00
Levi Baber
43a26d0850 r-diversitree: new package (#9893)
* r-diversitree: new package

* r-diversitree: system reqs
2018-11-19 20:41:01 -06:00
Levi Baber
7e1f96c0aa r-paleotree: new package (#9895) 2018-11-19 20:39:42 -06:00
Sinan
000bb8ca39 package/pango: disable gtk-docs (#9896) 2018-11-19 20:38:52 -06:00
Sinan
71464a8b0a package/gtkplus: disable gtk-docs (#9897) 2018-11-19 20:38:34 -06:00
Mark C. Miller
a6efd22e60 Explicitly set FC= empty for non-fortran builds (#9898) 2018-11-19 20:38:06 -06:00
Eric
0c1988ffdf Trimmomatic: Add version 0.38 (#9883) 2018-11-19 15:56:49 -06:00
Jon Rood
c8a1a81a87 Adding intel-parallel-studio cluster 2019.1 version (#9884) 2018-11-19 15:56:31 -06:00
Daniel Topa
7402112b1f Add UCX v1.4.0 (#9881)
Verification build
dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ spack install ucx % gcc @ 4.8.5
==> Installing libsigsegv
==> Installing m4
==> Installing pkgconf
==> Installing ncurses
==> Installing readline
==> Installing gdbm
==> Installing perl
==> Installing autoconf
==> Installing automake
==> Installing libtool
==> Installing numactl
==> Installing zlib
==> Installing openssl
==> Installing diffutils
==> Installing bzip2
==> Installing xz
==> Installing libxml2
==> Installing tar
==> Installing gettext
==> Installing help2man
==> Installing bison
==> Installing flex
==> Installing libnl
==> Installing rdma-core
==> Installing ucx
==> Successfully installed ucx
  Fetch: 1.17s.  Build: 40.59s.  Total: 41.76s.
[+] /scratch/users/dantopa/new-spack/pr.ucx.spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/ucx-1.4.0-ilfonxj2f5my4ur65li3sr7kuvfg3kim

dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ spack spec ucx
Input spec
--------------------------------
ucx

Concretized
--------------------------------
ucx@1.4.0%gcc@4.8.5 arch=linux-centos7-x86_64
    ^numactl@2.0.11%gcc@4.8.5 patches=592f30f7f5f757dfc239ad0ffd39a9a048487ad803c26b419e0f96b8cda08c1a arch=linux-centos7-x86_64
        ^autoconf@2.69%gcc@4.8.5 arch=linux-centos7-x86_64
            ^m4@1.4.18%gcc@4.8.5 patches=3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00,c0a408fbffb7255fcc75e26bd8edab116fc81d216bfd18b473668b7739a4158e,fc9b61654a3ba1a8d6cd78ce087e7c96366c290bc8d2c299f09828d793b853c8 +sigsegv arch=linux-centos7-x86_64
                ^libsigsegv@2.11%gcc@4.8.5 arch=linux-centos7-x86_64
            ^perl@5.26.2%gcc@4.8.5+cpanm patches=0eac10ed90aeb0459ad8851f88081d439a4e41978e586ec743069e8b059370ac +shared+threads arch=linux-centos7-x86_64
                ^gdbm@1.18.1%gcc@4.8.5 arch=linux-centos7-x86_64
                    ^readline@7.0%gcc@4.8.5 arch=linux-centos7-x86_64
                        ^ncurses@6.1%gcc@4.8.5~symlinks~termlib arch=linux-centos7-x86_64
                            ^pkgconf@1.5.4%gcc@4.8.5 arch=linux-centos7-x86_64
        ^automake@1.16.1%gcc@4.8.5 arch=linux-centos7-x86_64
        ^libtool@2.4.6%gcc@4.8.5 arch=linux-centos7-x86_64
    ^rdma-core@20%gcc@4.8.5 build_type=RelWithDebInfo arch=linux-centos7-x86_64
        ^cmake@3.12.4%gcc@4.8.5~doc+ncurses+openssl+ownlibs patches=dd3a40d4d92f6b2158b87d6fb354c277947c776424aa03f6dc8096cf3135f5d0 ~qt arch=linux-centos7-x86_64
            ^openssl@1.0.2o%gcc@4.8.5+systemcerts arch=linux-centos7-x86_64
                ^zlib@1.2.11%gcc@4.8.5+optimize+pic+shared arch=linux-centos7-x86_64
        ^libnl@3.3.0%gcc@4.8.5 arch=linux-centos7-x86_64
            ^bison@3.0.5%gcc@4.8.5 arch=linux-centos7-x86_64
                ^diffutils@3.6%gcc@4.8.5 arch=linux-centos7-x86_64
                ^help2man@1.47.4%gcc@4.8.5 arch=linux-centos7-x86_64
                    ^gettext@0.19.8.1%gcc@4.8.5+bzip2+curses+git~libunistring+libxml2 patches=9acdb4e73f67c241b5ef32505c9ddf7cf6884ca8ea661692f21dca28483b04b8 +tar+xz arch=linux-centos7-x86_64
                        ^bzip2@1.0.6%gcc@4.8.5+shared arch=linux-centos7-x86_64
                        ^libxml2@2.9.8%gcc@4.8.5~python arch=linux-centos7-x86_64
                            ^xz@5.2.4%gcc@4.8.5 arch=linux-centos7-x86_64
                        ^tar@1.30%gcc@4.8.5 arch=linux-centos7-x86_64
            ^flex@2.6.3%gcc@4.8.5+lex arch=linux-centos7-x86_64

Environment:
dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ echo $HOSTNAME
darwin-fe2.lanl.gov

dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ grep -i 'model name' /proc/cpuinfo | sort | uniq
model name      : Intel(R) Xeon(R) CPU E5-2695 v3 @ 2.30GHz

dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ lsb_release -d
-bash: lsb_release: command not found

dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ uname -a
Linux darwin-fe2.lanl.gov 4.18.8-1.el7.elrepo.x86_64 #1 SMP Sat Sep 15 10:10:09 EDT 2018 x86_64 x86_64 x86_64 GNU/Linux

dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ date
Mon Nov 19 10:47:47 MST 2018

dantopa@darwin-fe2.lanl.gov:pr.ucx.spack $ pwd
/scratch/users/dantopa/new-spack/pr.ucx.spack

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2018-11-19 13:20:22 -06:00
Andrea Negri
494d48f012 new package: mongo-cxx-driver (#9880)
* new package: mongo-cxx-driver

* fixed url
2018-11-19 13:19:19 -06:00
Eric
36b4758a97 samtools: make zlib/bzip2 dependencies unconditional (#9866) 2018-11-19 10:36:48 -08:00
Andrea Negri
9aa9359604 libmongoc: updated versions (#9877) 2018-11-18 20:35:24 -06:00
Alberto Chiusole
c61250e2ef New package: ecFlow, a work flow manager. (#9867)
* New package: ecFlow, a work flow manager.

* Fix pep8 style issues.
2018-11-18 10:13:31 -06:00
Sajid Ali
c45080398c Add +x variant to petsc. (#9830)
* 	modified:   var/spack/repos/builtin/packages/petsc/package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2018-11-17 21:35:37 -06:00
simo-tuomisto
93879e575d mixcr: Added a new package for MiXCR. (#9864)
* mixcr: Added a new package for MiXCR.

* mixcr: Fixed spack license string.
2018-11-17 21:19:04 -06:00
Christoph Junghans
26e51ff170 lammps package: added new versions (#9868) 2018-11-16 14:52:26 -08:00
Sinan
22cd6494be py-cython: add new versions (#9846) 2018-11-16 13:20:34 -08:00
Justin Stanley
9dff444570 new package: r-gensa (starting at 1.1.7) (#9858) 2018-11-16 13:13:48 -08:00
Eric
dc2911208f py-ply: fix download url (#9862) 2018-11-16 13:12:05 -08:00
Eric
61adf39fe1 vt package: add zlib dependency (#9870) 2018-11-16 12:52:15 -08:00
Denis Davydov
abd7b185f7 intel-mkl: fix usage of openmp_libs and tbb_libs (#9863)
* intel-mkl: fix usage of openmp_libs and tbb_libs
* intel-mkl: remove trailing whitespace from openmp lib
2018-11-16 10:25:15 -08:00
Levi Baber
0a57f90d75 r-rgl: update url, add new version (#9796) 2018-11-16 15:26:09 +01:00
Michael Kuhn
c645c8e2a6 py-cffi: add missing pkgconfig dependency (#9784) 2018-11-15 19:38:52 +01:00
Michael Kuhn
d4f8bd5b8d py-cryptography: add 2.3.1 (#9785)
Required for openssl@1.1 compatibility.
2018-11-15 18:27:29 +01:00
Michael Kuhn
480951c231 krb5: add missing bison dependency for yacc (#9778) 2018-11-15 17:54:51 +01:00
Michael Kuhn
4d426e63f0 globus-toolkit: add missing pkgconfig dependency (#9775) 2018-11-15 17:54:22 +01:00
Justin Stanley
5be2169c9b hybpiper: add 1.3.1 (#9762) 2018-11-15 17:41:56 +01:00
Hadrien G
d7983e2aa4 Fix and update verrou (#9847)
* Fix verrou-python integration

* Add verrou 2.1.0

* Patch level changed in v2.1.0
2018-11-15 10:22:13 -06:00
Denis Davydov
32884dbc03 dbcsr: minor fixes due to upstream changes (#9799) 2018-11-15 17:10:50 +01:00
Leonhard Reichenbach
2b64047e07 Updated protobuf and py-protobuf to version 3.6.1 (#9536)
* Updated protobuf and py-protobuf to version 3.6.1

also updated the download link as the repository has moved

* protobuf: modified conflict
2018-11-15 16:59:04 +01:00
Adam J. Stewart
2723db9f73 Add GMT, CitcomS, and fstrack packages (#9768)
* Add initial packages for citcoms and dependencies

* Ignore Pythia imports

* Add py-merlin package

* Add GMT package

* Fixes to get GMT working

* Get hc package building

* Get CitcomS 3.2.0 working

* Add fstrack package

* Fix hash
2018-11-14 23:30:44 -06:00
Levi Baber
b9c50249cf r-cairo: new package (#9794)
* r-cairo: new package

* Update var/spack/repos/builtin/packages/r-cairo/package.py

Co-Authored-By: baberlevi <baberlevi@gmail.com>
2018-11-14 21:44:55 -06:00
dorier
8a41cbf813 Argobots: added @develop version and +valgrind variant (#9664)
* added develop version in argobots package and added valgrind variant

* made autotools required only for develop version

* corrected style

* Added --disable-valgrind

Added --disable-valgrind to explicitly disable it when +valgrind isn't provided.
2018-11-14 21:39:35 -06:00
Justin Stanley
12177e41f0 r-phytools: new package at 0.6-60 (#9766)
* r-phytools: new package at 0.6-60

* r-phytools: add list_url

* r-phytools: add deps, dep versions
2018-11-14 21:39:05 -06:00
Geoffrey Oxberry
605dc8bf85 openblas: add headers property (#9831)
This commit adds only the public headers from the full list of headers
installed by OpenBLAS; this list of headers is the same as in
netlib-lapack.
2018-11-14 21:35:42 -06:00
Mark W. Krentel
b53eb2026a elfutils: add version 0.174. (#9812)
Pass cflags to configure so that configure gets the values from the
spack install line.

Disable -Werror so that we don't fail the build over a stray warning.
2018-11-14 19:05:08 -06:00
Mark W. Krentel
2554e24d09 libunwind: add version for current snapshot (#9770)
Libunwind releases are few and far between, so we need access to
recent snapshots from the git repository.

Pass cflags to configure so that make will respect the value from the
spack install line.
2018-11-14 18:56:52 -06:00
Sergey Kosukhin
75e86a61fe netcdf-fortran: add LDFLAGS to fix contents of libnetcdff.la. (#9647) 2018-11-14 09:40:16 -06:00
Levi Baber
6a08eb88b1 new package: time (#9842) 2018-11-14 09:38:37 -06:00
Michael Kuhn
9a7a532084 node-js: add 10.13.0 and 11.1.0 (#9781)
Required for openssl@1.1 compatibility.
2018-11-13 11:39:52 -06:00
Michael Kuhn
e20efb3f8f cmake: add 3.12.4 (#9758) 2018-11-13 11:34:09 -06:00
Michael Kuhn
eddba22e1c perl-net-ssleay: fix build (#9783)
- Add 1.85
- OPENSSL_PREFIX has to be set in the environment, otherwise Spack's
  openssl will not be found
2018-11-13 11:30:04 -06:00
Justin Stanley
e1f9ddd574 erne: new package starting at 2.1.1 (#9676)
* erne: new package starting at 2.1.1

* erne: remove unused configure args

* erne: remove unused prefix arg

* erne: add explicit mpi disable
2018-11-13 11:02:39 -06:00
Luigi Calori
4f27bb4f4e Fix #9673 : build fonts on powerpc architecture (#9683)
* use AutotoolsPackage so config.guess get updated by autoreconf step, fix build problem on ppc #9673

* same error, same fix under ppc arch
2018-11-13 11:01:46 -06:00
Douglas Duckworth
ab48a96149 added r-bindr v 0.1.1 (#9717) 2018-11-13 10:58:31 -06:00
Levi Baber
b668e66b81 r-genomeinfodbdata: url fix (#9732) 2018-11-13 10:57:04 -06:00
Matthias Diener
8b1a5a8e6c intel-parallel-studio: add missing updates (#9742)
* intel-parallel-studio: add missing updates

* add 2018.4
2018-11-13 10:56:31 -06:00
Levi Baber
25d71e68f2 Packages/trinotate fix (#9745)
* trinotate: fix perl location

* trinotate: not where that is

* trinotate: glob

* trinotate: needs perl-dbd-sqlite
2018-11-13 10:55:59 -06:00
Alberto Chiusole
7938ff9653 Add pic variant to cflags in boost. (#9750)
* Add pic variant to cflags in boost.

* Improve description in pic variant of boost, see #9750.
2018-11-13 10:55:01 -06:00
Miles Perry
63535542a1 new version (#9752) 2018-11-13 10:53:47 -06:00
Michael Kuhn
05a4d5a0c6 glib: add 2.56.3 (#9754) 2018-11-13 10:52:56 -06:00
Michael Kuhn
55f8dbbba0 sqlite: add 3.25.3 (#9756) 2018-11-13 10:50:54 -06:00
Michael Kuhn
c7f2c819a1 gdbm: add 1.18.1 (#9757) 2018-11-13 10:50:30 -06:00
Michael Kuhn
52e990dfa1 lmdb: add 0.9.22 (#9759) 2018-11-13 10:49:24 -06:00
Daryl W. Grunau
ff30ab462b eospac version bump (#9763) 2018-11-13 10:47:11 -06:00
Justin Stanley
c26a965c3b r-combinat: new package at 0.0-8 (#9764)
* r-combinat: new package at 0.0-8

* r-combinat: add list_url
2018-11-13 10:41:54 -06:00
Michael Kuhn
a852028b02 glib: explicitly disable gtk-doc (#9771)
glib should not use the globally installed gtk-doc. Otherwise, gtk-doc
can fail with Python errors such as `ImportError: No module named site`.

This is due to the fact that Spack sets `PYTHONHOME`, which can confuse
the global Python installation that is used by gtk-doc.
2018-11-13 10:37:19 -06:00
Michael Kuhn
fe8c287036 nginx: add 1.15.6 (#9780)
Needed to compile with gcc@8 and recent versions of glibc.
2018-11-13 10:25:00 -06:00
Eric
3cd3631fb6 DIAMOND: add version 0.9.22 (#9790) 2018-11-13 10:20:53 -06:00
Eric
4b63b93485 stringtie: add version 1.3.4d (#9791) 2018-11-13 10:20:30 -06:00
Hans Pabst
23c2d5af38 LIBXSMM 1.10 (#9813)
* LIBXSMM 1.10

* Accurately replaced MD5 with SHA256 sums (libxsmm).
2018-11-13 10:09:47 -06:00
Eric
fea0722daa aragorn: add version 1.2.36 (#9817) 2018-11-13 10:09:14 -06:00
Eric
5ba76cf908 minimap2: Add versions 2.10 and 2.14 (#9818)
* Also add missing zlib dependency
2018-11-13 10:08:42 -06:00
Quinn
2f454c5317 New Package: Nyancat (#9819)
* nyancat: adding the most important piece of software ever written

* nyancat: some formatting updates

* nyancat: flake8 error fix
2018-11-13 10:07:54 -06:00
Matthias Diener
6743aef554 charm++: add version 6.9.0 (#9827) 2018-11-13 10:03:22 -06:00
Christoph Junghans
78c7a8218c gromacs: added 2018.[34] (#9828) 2018-11-13 10:02:59 -06:00
Geoffrey Oxberry
f1e5f8e37b hypre: patch only @2.13.0 and @2.14.0 on darwin (#9832) 2018-11-13 09:54:09 -06:00
Michael Kuhn
3f0fc98062 wt: add missing pkgconfig dependency and fix boost version range (#9835)
wt does not build with newer versions of boost.
2018-11-13 09:53:44 -06:00
Michael Kuhn
59a6eada53 libssh: fix fetching and add 0.8.5 (#9779)
Required for openssl@1.1 compatibility.
2018-11-13 09:51:57 -06:00
Michael Kuhn
68222f2639 libevent: add 2.1.8 and 2.0.22 (#9777)
- 2.1.8 is required for openssl@1.1 compatibility
- Introduce url_for_version since the URL has changed starting with
  version 2.0.22
2018-11-13 09:51:26 -06:00
Valentin Clement (バレンタイン クレメン)
1388f6e907 Add new version 1.2.0 to the package (#9837) 2018-11-13 09:49:08 -06:00
Matthias Diener
86b7e6abc3 man-db: add missing gdbm dependency (#9751) 2018-11-13 09:41:43 -06:00
Michael Kuhn
cc928481f8 openssh: add 7.9p1 (#9782)
- Required for openssl@1.1 compatibility
- Fix openssh's privilege separation path to be below the prefix
2018-11-13 09:41:17 -06:00
Jon Rood
b4c7ffd424 Adding Paraview version 5.6. (#9788) 2018-11-13 09:36:18 -06:00
Michael Kuhn
86e00e7294 ruby: add 2.5.3 (#9793)
Required for openssl@1.1 compatibility.
2018-11-13 09:35:47 -06:00
Michael Kuhn
66ef3c2b18 thrift: add missing pkgconfig dependency (#9834)
Without pkgconfig, Spack's openssl cannot be found.
2018-11-13 09:34:51 -06:00
Eric
f48820a71e barrnap package: Add versions 0.6 and 0.7 (#9820) 2018-11-13 09:33:56 -06:00
Adam J. Stewart
b771b4015a Fix bugs in Modules Tutorial (#9821)
Found a couple bugs while trying to copy and paste the exact
tutorial content.
2018-11-13 09:31:09 -06:00
Phil Tooley
16aa37bdfe New package: openimageio (#9715) 2018-11-13 00:14:29 -06:00
Phil Tooley
ff09fd5a85 New package: dcmtk (#9716) 2018-11-13 00:08:29 -06:00
Michael Kuhn
f56f6d4e38 Fix pkg-config dependencies (#9738)
Replace dependencies on specific pkgconfig implementation (e.g. pkgconf)
with dependency on pkgconfig virtual package
2018-11-13 00:01:41 -06:00
Michael Kuhn
077e509dda gplates package: improvements (#9735)
- Add version 2.1.0
- Now that #9264 has been merged, gplates seems to build fine with newer
  versions of gcc (tested with gcc@8)
- When using the ninja generator, gplates can be built in parallel
2018-11-12 23:56:59 -06:00
Alberto Chiusole
c7c3fab744 Add 'pic' variant to netcdf packages (#9605) 2018-11-12 23:54:11 -06:00
Peer-Timo Bremer
91302f89e4 TALASS package: replace old version with new version (#9703)
New version has bug fixes
2018-11-12 23:38:03 -06:00
Manav Bhatia
0b86675879 libMesh: new version and dependency updates (#9709)
* added v1.3.1 checksum
* added vtk and petsc variants
* bugfix: enable petsc when slepc variant is specified
2018-11-12 23:29:58 -06:00
Daniel Topa
79ad078f78 Open MPI: add versions 3.1.3, 3.0.3, update checksums (#9734)
All checksums are now sha256
2018-11-12 23:26:39 -06:00
Michael Kuhn
47d74f3bca pkgconf: Add 1.5.4 (#9737) 2018-11-12 23:22:34 -06:00
Matthias Diener
dbdee8e542 chrpath: add new package (#9708) 2018-11-12 23:21:56 -06:00
Phil Tooley
02cdfd654e version/dependency updates for ilmbase and openexr (#9714)
* include zlib dependency for openexr, fixes #7274
* version bump to openexr/ilmbase 2.3.0
2018-11-12 23:18:54 -06:00
Cameron Stanavige
230bdce34e new package: flatcc (#9695) 2018-11-12 23:11:52 -06:00
Axel Huebl
152346f275 nlohmann-json: add new version 3.4.0 (#9692) 2018-11-12 23:08:40 -06:00
Ross Miller
7c267e8534 py-numba: update dependencies and versions (#9706)
The latest version of py-numba (0.40.1) wants a newer version of
py-llvmlite.  Had to add that version to py-llvmlite/package.py.
2018-11-12 23:07:40 -06:00
Justin Stanley
87df41e0ca migrate: new package starting at 3.6.11 (#9707) 2018-11-12 23:05:54 -06:00
Sinan
9e67216593 new package: PyH5glance (#9700) 2018-11-12 18:55:49 -06:00
Sinan
ec7e5d3b8b new package: python htmlgen (#9699) 2018-11-12 18:47:04 -06:00
Denis Davydov
e04adbca66 gnuplot: add X11 dependency and QT terminal (#9722) 2018-11-12 18:45:27 -06:00
Justin Stanley
553cecaade r-manipulatewidget: new package at 0.10.0 (#9826) 2018-11-12 18:41:03 -06:00
Justin Stanley
2ee0d98be1 r-webshot: new package at 0.5.1 (#9824) 2018-11-12 18:38:48 -06:00
Levi Baber
dcb696bd3f r-callr: adding new dependencies (#9730) 2018-11-12 18:38:03 -06:00
Justin Stanley
5ed3873f2f r-convevol: new package at 1.3 (#9767) 2018-11-12 18:36:31 -06:00
Justin Stanley
8357c1e0bc r-miniui: new package at 0.1.1.1 (#9823) 2018-11-12 18:34:56 -06:00
Justin Stanley
407bfbc2cb r-clustergeneration: new package at 1.3.4 (#9765) 2018-11-12 18:34:03 -06:00
Adam J. Stewart
7bca5b9c61 Fix typos in Build Systems Tutorial (#9822) 2018-11-12 18:32:13 -06:00
Todd Gamblin
2efaf1b6f7 docs: update tutorial slide link for SC18 2018-11-12 09:44:47 -06:00
Todd Gamblin
d079a5c73e version bump: v0.12.0 2018-11-12 06:04:17 -06:00
Todd Gamblin
f92349ff8c docs: add environments tutorial
- tutorial goes through three sections:
  - installing and uninstalling environments
  - dealing with many specs
  - spack.yaml and spack.lock and workflows
2018-11-12 05:57:08 -06:00
Adam J. Stewart
a1676ab012 Updates to Configuration Tutorial for SC18 (#9811)
* Updates to Configuration Tutorial for SC18

* Suggested rewording
2018-11-11 22:50:59 -08:00
Adam J. Stewart
71561f9d2b Consistent capitalization of Build Caches docs for SC18 (#9810) 2018-11-11 21:13:01 -08:00
Adam J. Stewart
49c66db2fa Minor changes to Build Settings docs (#9808) 2018-11-11 21:12:37 -08:00
Adam J. Stewart
c227e1f02e Minor changes to Basic Settings docs for SC18 (#9809)
Grammar/spelling issues
2018-11-11 23:10:05 -06:00
Greg Becker
dfd0e96508 Update basic usage and modules tutorial (#9807)
* "spack install" now uses cache by default, update examples accordingly
* Replace some example packages with others
* Packing tutorial reference to "spack env" replaced with "spack build-env"
* Command line prompts in examples are shortened
* Example output (including paths) are updated to be more relevant to training environment
2018-11-11 22:58:50 -06:00
Peter Scheibel
2a5d5fda26 Advanced packaging tutorial: reorganize for binary caches (#9804)
Update all examples that need an MPI provider to build with MPICH; reorganize so that fixing MPICH (as part of environment section) comes first in the tutorial (most examples in the tutorial use an MPI provider).
2018-11-11 21:31:51 -06:00
Todd Gamblin
a8e8d80750 env: uninstall just removes specs that are still needed by other envs
- previously, uninstall would complain if a spec was needed by an
  environment.

- Now, we analyze dependents and dependent environments and simply remove
  (not uninstall) specs that are needed by environments
2018-11-11 18:32:24 -06:00
Todd Gamblin
87aec4134d bugfix: preserve abstract specs when installing an environment
- `spack install` was setting the root to be the concrete spec
- abstract spec is now preserved
2018-11-11 18:32:24 -06:00
Todd Gamblin
0f2bfd7492 env: fix display of concretized specs in spack find
- fix highlighting of roots in concretized specs in `spack find`
- tighten up the `spack find` output in environments
2018-11-11 18:32:24 -06:00
Todd Gamblin
8d92fd6640 env: make spack config edit and spack config get environment-aware
- with no arguments, these commands will now edit or dump the
  environment's `spack.yaml` file.

- users may not know where named environments live

- this makes it convenient for users to get to the spack.yaml
  configuration file for their named environment.
2018-11-11 18:32:24 -06:00
Todd Gamblin
25f8abb963 bugfix: make defaults consistent --use-cache and --no-cache (#9803) 2018-11-11 17:18:21 -06:00
Mario Melara
7d98c73e40 Update buildsystem tut (#9795)
* Update Makefile to use property methods ("build_targets"/"install_targets")
  to demonstrate their usage
* Fix highlighting
* Change cbench example to ESMF:
  CBench package file was changed and no longer uses the example shown in
  the old docs
2018-11-11 14:21:54 -06:00
Adam J. Stewart
d366e642e4 Updates to Configuration Files docs for SC18 (#9801)
Scopes added with -C are now referred to as "custom scopes"
rather than "command line scopes". "command line scope" now refers
to specific config options that are set on the command line (like
"--insecure")
2018-11-11 10:57:46 -08:00
Todd Gamblin
6141ae49fd install: add --use-cache back so that existing tooling does not break (#9797)
- default is still to use the cache, but we've added back the
  `--use-cache` argument so that scripts that used it are still correct.

- `--no-cache` is stil present and is mutually exclusive with `--use-cache`
2018-11-09 16:41:48 -08:00
Jim Galarowicz
5dc0b65719 Update Dyninst package file for TBB dependency (#9728)
* Update Dyninst package file for TBB dependency

Dyninst master and 10.0 release
versions require the tbb package.  This mod
updates the tbb versions adding the one that
dyninst uses and adds the required spack package
changes to dyninst/package.py.

* Put new version of tbb in proper location, per reviewer comment.

* Only depend on tbb if building the development version.

* Changes for the release of Dyninst 10.0.0
2018-11-09 13:35:11 -08:00
Todd Gamblin
88a3393462 travis: allow Python 2.6 to fail until we figure out why Travis hangs (#9776) 2018-11-09 09:29:13 -08:00
Nichols A. Romero
236b34f3df Introduce fftw-api virtual package for Intel-MKL and FFTW (#9618)
* Introduce FFTW2 and FFT3 providers for Intel-MKL and FFTW Spack packages.

* make fftw default package for fftw-api virtual package

* virtual package test assertion now provides location of default virtual packages.

* Change name of virtual package to fftw-api and used versioned interface.
2018-11-09 08:16:11 -08:00
Greg Becker
988d37757f buildcache: update spack install to use build cache by default (#9772) 2018-11-09 00:59:28 -08:00
Todd Gamblin
423d3e75ab env: clean up command access to the active environment
- all commands (except `spack find`, through `ConstraintAction`) now go
  through get_env() to get the active environment

- ev.active was hard to read -- and the name wasn't descriptive.
  - rename it to _active_environment to be more descriptive and to strongly
    indicate that spack.environment manages it
2018-11-09 00:31:24 -08:00
Todd Gamblin
562482d9cc env: only add concrete attribute to abstract specs
- to aovid changing spec hashes drastically, only add this attribute to
  differentiated abstract specs.

- othherwise assume that read-in specs are concrete
2018-11-09 00:31:24 -08:00
Todd Gamblin
13164b114a env: make environment search more consistent; simplify code
- spack.yaml files in the current directory were picked up inconsistently
  -- make this a sure thing by moving that logic into find_environment()
  and moving find_environment() to main()

- simplify arguments to Spack command:
  - remove short args for infrequently used commands (--pdb/-D, -P, -s)
  - `spack -D` now forces an env with a directory
2018-11-09 00:31:24 -08:00
Todd Gamblin
3f68d8c53a externals: bugfix in ruamel for ordereddict in Python 2.6
- args weren't being delegated properly from CommentedMap to OrderedDict
2018-11-09 00:31:24 -08:00
Todd Gamblin
62f8ea1a75 env: rename EnvError to SpackEnvironmentError 2018-11-09 00:31:24 -08:00
Todd Gamblin
13aca774e3 bugfix: preserve patch ordering when specs are copied
- The `Spec` class maintains a special `_patches_in_order_of_appearance`
  attribute on patch variants, but it is was preserved when specs are
  copied.

- This caused issues for some builds

- Add special logic to `Spec` to preserve this variant on copy

- TODO: in the long term we should get rid of the special variant and
  make it the responsibility of one of the variant classes.
2018-11-09 00:31:24 -08:00
Todd Gamblin
a41bce2148 fix bad regular expressions and docstrings with '\' 2018-11-09 00:31:24 -08:00
Todd Gamblin
1137b183e3 commands: rework command categories and arguments
- split 'environment' section into 'environments' and 'modules'
- move location to 'query packages' section
- move cd to developer section

- --env-dir no longer has a short optino (was -E)
- -E now means "run without an environment" (no longer same as --env-dir)
- -D now means "run with this directory environment"
- remove short options for may infrequently used top-level commands
2018-11-09 00:31:24 -08:00
Todd Gamblin
efad7ac81b env: consolidate most of spack env status into spack find
- `spack env status` used to show install status; consolidate that into
  `spack find`.

- `spack env status` will still print out whether there is an active
  environment
2018-11-09 00:31:24 -08:00
Todd Gamblin
26a55ff749 env: move env uninstall into spack uninstall
- uninstall now:
  - restricts its spec search to the current environment
  - removes uninstalled specs from the current environment
  - reports envs that still need specs you're trying to uninstall

- removed spack env uninstall command
- updated tests
2018-11-09 00:31:24 -08:00
Todd Gamblin
7136274f4b env: move spack env stage into spack stage command 2018-11-09 00:31:24 -08:00
Todd Gamblin
e62506571f env: spack env destroy is now spack env remove 2018-11-09 00:31:24 -08:00
Todd Gamblin
8b549f664c env: move add, remove, and concretize to top-level commands 2018-11-09 00:31:24 -08:00
Todd Gamblin
e63b45b293 env: moved all spack env install functionality into spack install
- moved get_env from cmd/env.py to environment.py

- spack install will now install into the active environment when no
  arguments are provided.  It looks:
  1. at the command line
  2. for a local spack.yaml file
  3. for any currently activated environment
2018-11-09 00:31:24 -08:00
Todd Gamblin
08e4720ed9 env: remove all -e arguments on subcommands
- add and remove now require an active environment
- update tests to use with <ENV> instead of -e
2018-11-09 00:31:24 -08:00
Todd Gamblin
d483e6e17b env: currently activated environment cannot be destroyed 2018-11-09 00:31:24 -08:00
Todd Gamblin
40af955b94 env: prevent any active environments from interfering with tests
- ensure that `SPACK_ENV` is unset before tests
- ensure that `spack.environment.active` is deactivated if set
2018-11-09 00:31:24 -08:00
Todd Gamblin
c27b78ee36 env: remove upgrade() and relocate() for now
- these won't be in the first release of environments
- they'll be added back in later
2018-11-09 00:31:24 -08:00
Todd Gamblin
36623a27fd env: add test to ensure config precedence is high-to-low 2018-11-09 00:31:24 -08:00
Todd Gamblin
66aa3426ac env: make install_status output more concise 2018-11-09 00:31:24 -08:00
Todd Gamblin
a1818f971f env: environments can be named or created in directories
- `spack env create <name>` works as before

- `spack env create <path>` now works as well -- environments can be
  created in their own directories outside of Spack.

- `spack install` will look for a `spack.yaml` file in the current
  directory, and will install the entire project from the environment

- The Environment class has been refactored so that it does not depend on
  the internal Spack environment root; it just takes a path and operates
  on an environment in that path (so internal and external envs are
  handled the same)

- The named environment interface has been hoisted to the
  spack.environment module level.

- env.yaml is now spack.yaml in all places.  It was easier to go with one
  name for these files than to try to handle logic for both env.yaml and
  spack.yaml.
2018-11-09 00:31:24 -08:00
Todd Gamblin
9fb37dfd76 env: spack install SPEC installs into currently active environment.
- install will now add (if necessary), concretize, and install a single
  spec into the active environment.
2018-11-09 00:31:24 -08:00
Todd Gamblin
3fd9fc8994 env: spack env install automatically concretizes specs 2018-11-09 00:31:24 -08:00
Todd Gamblin
d14f7b82bb env: add spack env activate/deactivate and shell support
- `spack env activate foo`: sets SPACK_ENV to the current active env name

- `spack env deactivate`: unsets SPACK_ENV, deactivates the environment

- added support to setup_env.sh and setup_env.csh

- other env commands work properly with SPACK_ENV, as with an environment
  arguments.

- command-line --env arguments take precedence over the active
  environment, if given.
2018-11-09 00:31:24 -08:00
Todd Gamblin
15c5c36eaf env: bugfix: spack env list won't fail if var/spack/environments doesn't exist 2018-11-09 00:31:24 -08:00
Todd Gamblin
ce230fa3f4 env: rework environments
- env.yaml is now meaningful; it contains authoritative user specs

  - concretize diffs user specs in env.yaml and env.json to allow user to
    add/remove by simply updating env.yaml

  - comments are preserved when env.yaml is updated by add/unadd

  - env.yaml can contain configuration and include external configuration
    either from merged files or from config scopes

  - there is only one file format to remember (env.yaml, no separate init
    format)

- env.json is now env.lock, and it stores the *last* user specs to be
  concretized, along with full provenance.
  - internal structure was modified slightly for readability
  - env.lock contains a _meta section with metadata, in case needed

- added more tests for environments

- env commands follow Spack conventions; no more `spack env foo install`
2018-11-09 00:31:24 -08:00
Todd Gamblin
6af5dfbbc2 config: allow env.yaml to contain configuration in a single file
- add `SingleFileScope` to configuration, which allows us to pull config
  sections from a single file.

- update `env.yaml` and tests to ensure that the env.yaml schema works
  when pulling configurtion from the env file.
2018-11-09 00:31:24 -08:00
Todd Gamblin
9ee2623486 env: rename spack env list to spack env status 2018-11-09 00:31:24 -08:00
Todd Gamblin
c19000038b schemas: rework schemas so that they can be included from other files
- Each schema now has a top-level `properties` and `schema` attribute.

- The `properties` is a fragment that can be included in other
  jsonschemas, via Python, not via '$ref'

- Th `schema` is a complete `jsonschema` with `title` and `$schema`
  properties.
2018-11-09 00:31:24 -08:00
Todd Gamblin
83323f4e71 bugfix: Avoid KeyError in compilers.yaml version check 2018-11-09 00:31:24 -08:00
Todd Gamblin
84140c6cd3 env: add -e as global spack argument, make spack -e <env> spec work
- add -E/--exact-env instead of --use-env-repo
- simplify env handling in `spack find`
2018-11-09 00:31:24 -08:00
Todd Gamblin
180d804615 env: add --env argument to spack location 2018-11-09 00:31:24 -08:00
Todd Gamblin
47e60d5ef8 env: add --env argument to spack find
- add a common argument for `-e/--env`
- modify the database to support queries on subsets of hashes
- allow `spack find` to be filtered by hashes in an environment
2018-11-09 00:31:24 -08:00
Todd Gamblin
ea7648ff84 bugfix: identical specs with different DAG hashes don't shadow each other
- logic used in `spack find` was hiding duplicate installations if their
  hashes were different

- short hash doesn't work in this scenario, since specs are structurally
  identical

- ConstraintAction always works on a DB query, so use the DAG hash to
  ensure uniqueness
2018-11-09 00:31:24 -08:00
Todd Gamblin
3e94c4d573 env: move main Environment class and logic to spack.environment
- `spack.environment` is now the home for most of the infrastructure
   around Spack environments

- refactor `cmd/env.py` to use everything from spack.environment

- refactor the cmd/env test to use pytest and fixtures
2018-11-09 00:31:24 -08:00
Todd Gamblin
0e60fcccfb utils: merge spack.environment into spack.util.environment
- `spack.util.environment` is the new home for routines that modify
  environment variables.

- This is to make room for `spack.environment` to contain new routines
  for dealing with spack environments
2018-11-09 00:31:24 -08:00
Todd Gamblin
cd075b04d2 env: refactor imports in cmd/env.py and tests 2018-11-09 00:31:24 -08:00
Todd Gamblin
b738b7b05b env: refactor subparsers in env.py
- Instead of one method with all parsers, each subcommand gets two
  functions: `setup_<cmd>_parser()` and `environment_<cmd>()`

- the `setup_parser()` and `env()` functions now generate the parser
  based on these and a list of subcommands.

- it is now easier to associate the arguments with the subcommand.
2018-11-09 00:31:24 -08:00
Peter Josef Scheibel
31cb2041c3 env: add spack env command, along with env.yaml schema and tests
Co-authored-by: Elizabeth Fischer <rpf2116@columbia.edu>
2018-11-09 00:31:24 -08:00
Peter Josef Scheibel
4b2f51d063 env: preserve command_line as the scope of highest precedence
Co-authored-by: Elizabeth Fischer <rpf2116@columbia.edu>
2018-11-09 00:31:24 -08:00
Elizabeth Fischer
d1cce990cd env: refactor common arguments 2018-11-09 00:31:24 -08:00
Elizabeth Fischer
037457adc9 specs: save/restore concrete & patches when exporting/importing Specs 2018-11-09 00:31:24 -08:00
Peter Josef Scheibel
7f224b616d specs: _concrete should never be cleared when copying Specs 2018-11-09 00:31:24 -08:00
Peter Josef Scheibel
acdb391931 specs: add convenience function for reading spec dependencies from node dict 2018-11-09 00:31:24 -08:00
Peter Josef Scheibel
4daa164fbf specs: allow writing full spec (including build deps) to dict 2018-11-09 00:31:24 -08:00
Peter Josef Scheibel
e6c6ab64b8 env: rename 'spack env' command to 'spack build-env' 2018-11-09 00:31:24 -08:00
Peter Josef Scheibel
bb8da72f0c env: renamed 'environment' test 2018-11-09 00:31:24 -08:00
Justin Stanley
d1b17e8207 canu: use built-in makefile install (#9726) 2018-11-08 10:28:10 +01:00
Denis Davydov
8f4d6caf32 muparser: minor fixes to 2.2.5 and add 2.2.6 with CMake (#9724)
* muparser: minor fixes to 2.2.5 and add 2.2.6 with CMake
* dealii: make muparser optional
2018-11-08 10:05:52 +01:00
Michael Kuhn
da193a07a3 ncl: Add 6.5.0 (#9736) 2018-11-08 10:03:29 +01:00
Levi Baber
55b6105af7 r-delayedarray: new dep in latest vers (#9731) 2018-11-07 10:27:08 -06:00
Valentin Clement (バレンタイン クレメン)
768111c365 Use the raw compiler path for the preprocessing pass in CLAW driver (#9748) 2018-11-07 15:24:24 +01:00
Ricardo Silva
eed5bdad68 sra-toolkit: improvements and new version (#9465)
* files under `bin` were copied 3 times instead of symlink'ed
* sha256 checksums
* new release 2.9.2 of July 24, 2018
2018-11-07 10:52:43 +01:00
Peter Scheibel
7d97e8b067 New repo for advanced packaging tutorial (#9711)
* modified tutorial packages

* update hint in hdf5 tutorial file (typo for suggested argument)

* add repo.yaml to tutorial repository

* update tutorial docs to refer user to tutorial package repository

* flake edits

* recommend site scope vs. defaults

* you don't specify the repo's name when adding a repo, just the path
2018-11-06 19:57:32 -08:00
Peter Scheibel
058cf81312 Binary caching: remove symlinks, copy files instead (#9747)
* omit symlinks and create file copies when making a binary cache of a package

* unrelated flake edits involving regexes that recent flake is now angry about
2018-11-06 19:56:03 -08:00
Zack Galbreath
30eda8b837 cdash: report clean results to CDash server (#9564)
* Record stdout for packages without errors

  Previously our reporter only stored stdout if something went wrong
  while installing a package.  This prevented us from properly reporting
  on steps where everything went as expected.

* More robustly report all phases to CDash

  Previously if a phase generated no output it would not be reported to CDash.
  For example, consider the following output:

    ==> Executing phase: 'configure'
    ==> Executing phase: 'build'

  This would not generate a report for the configure phase. Now it does.

* Add test case for CDash reporting clean builds

* Fix default directory for CDash reports

  The default 'cdash_report' directory name was getting overwritten
  by 'junit-report'.

* Upload the build phase first to CDash

  Older versions of CDash expect Build.xml to be the first file uploaded
  for any given build.

* Define cdash_phase before referring to it
2018-11-06 16:09:47 -08:00
Massimiliano Culpo
a474d83d58 bugfix: work around ruamel.yaml vendoring issues (#9725)
- Delete references to ruamel.yaml at Spack start-up, if they are present

- ruamel.yaml generates a .pth file when installed via pip that has the
  effect of always preferring the version of this package installed at
  site scope (effectively preventing us from vendoring it).

- This mechanism triggers when implicitly importing the 'site' module
  when the python interpreter is started. In this PR we explicitly delete
  references to 'ruamel.yaml' and 'ruamel' in sys.modules, if any, after
  we set 'sys.path' to search from the directory where we store vendored
  packages. This ensures that the imports after those statements will be
  done from our vendored version.

- See #9206 for further details
2018-11-06 16:06:18 -08:00
Massimiliano Culpo
05779d911f Adapted the code of the non-daemonic pool to recent python versions
fixes #9739

The non-daemonic pool relies heavily on implementation details of the
multiprocessing package. In this commit we provide an implementation
that fits recent python versions.
2018-11-06 16:02:37 -08:00
Levi Baber
4ba3c81bc8 snpeff: add wrapper for SnpSift.jar (#9674) 2018-11-06 08:36:47 -06:00
sknigh
d5327d8d4b Add OpenMPI 3.1.3 and a bug patch (#9680) 2018-11-06 09:12:48 +01:00
Gregory Lee
e6eb2b960e py-backports-functools-lru-cache: add to 'backports' namespace (#9720) 2018-11-05 16:01:03 -08:00
Justin Stanley
d7c9128875 new package: homer (starting at 4.9.1) (#9669) 2018-11-02 18:18:05 -07:00
Eric
b471a3626e freetype: enable-freetype-config build option for 2.9.1 (#9653)
This builds the 'freetype-config' binary which can be used to get
configuration information about the freetype install, used by some
dependents.
2018-11-02 18:06:40 -07:00
Tim Law
a33d123e2e Add version 2.0.2 of BookLeaf_Cpp and version 3.0.2 of Typhon. (#9662) 2018-11-02 13:30:52 -07:00
Nick Forrington
9f5865a68d compilers: add arm compiler detection to Spack
- added arm.py with support for detecting `armclang` and `armflang`

Co-authored-by: Srinath Vadlamani <srinath.vadlamani@arm.com>
2018-11-02 12:53:50 -07:00
Dmitriy
36ddcc2e97 henson: new package (#9657)
* henson: new package

* henson: change github path to henson-insitu

* henson: make mpi-wrappers=off by default

* henson: remove unsued variable and spaces to make linter happy

* henson: rename version master to develop
2018-11-01 18:15:12 +01:00
Thomas Stitt
6a3552274f xeus: new package (#9682)
* xeus: new package
cppzmq: add version 4.3.0
zeromq: make libsodium optional, on by default

* xeus: add patch so it builds, add new version
nlohmann-json: add more versions
cryptopp: add more versions

* xeus: flake8

* xeus: fix license
2018-10-31 20:23:44 -07:00
Tim Fuller
fc25ba1b22 Parse the ${NAMESPACE} format string in a spec's format method. (#9686)
This allows installing software on a namespace basis by including ${NAMESPACE} in `install_path_scheme`. e.g.,

```
cat ~/.spack/config.yaml
config:
  install_path_scheme:
      "${ARCHITECTURE}/${NAMESPACE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}"
```
2018-10-31 20:07:07 -07:00
Satish Balay
fb849a4b7f static_to_shared_library: separate options from option values (#9690)
The 'static_to_shared_library' function takes a compiler Executable,
which is intended to be invoked with a list of arguments; the
arguments must be separated from their values in the list, given
the way that 'Executable.__call__' invokes the underlying executable.
'static_to_shared_library' was not doing this, which this commit fixes.
2018-10-31 12:49:04 -07:00
Abhinav Bhatele
939ce40032 ecp-proxy-apps: disable building CANDLE Benchmarks by default (#9691)
add as a variant
2018-10-31 12:50:37 -06:00
Federico Ficarelli
383cda2c90 lbzip2: add new package (#9688) 2018-10-31 18:08:00 +01:00
Kelly (KT) Thompson
a3ff21eb2b Provide a newer doxygen version. (#9681)
* Provide a newer doxygen version.

+ Also provide a patch that allows collaboration diagrams to work properly with
  C++ std::shared_ptr<T>. Ref:
  6c380ba91a
2018-10-31 18:03:13 +01:00
健美猞猁
79e70afed4 Packmol: a new package. (#9687) 2018-10-31 17:32:09 +01:00
Justin Stanley
abad2c9743 r-dismo: new package starting at 1.1-4 (#9675) 2018-10-31 11:28:09 +01:00
Todd Gamblin
2912cf3e17 compilers: update clang fortran compiler wrapper selection (#9678)
Clang has support for using different fortran compilers with the Clang executable.

Spack includes logic to select a compiler wrapper symlink which refers to the fortran executable (since some build systems depend on the name of the compiler, e.g. 'gfortran' or 'flang').

This selection was previously based on the architecture, and chose incorrectly in some situations (e.g. for clang/gfortran on Linux). This replaces architecture-based wrapper selection with a selection that is based on the name of the Fortran compiler executable.
2018-10-30 23:00:43 -07:00
Jim Galarowicz
c10d432a2e Update openspeedshop and cbtf-krell module creation code (#9234)
* Add the setting of CBTF_MPI_IMPLEMENTATION to the cbtf-krell
  and openspeeedshop package files, so that the mpi implementation
  can be found by the tool.  This allows users to not have to
  set this manually if only one mpi implementation is specified
  in the build.
* Update version ranges for dependencies of cbtf packages
2018-10-30 18:41:08 -07:00
Levi Baber
72fa122101 tests: add test for FIXME boilerplate to package_sanity (#9285)
* package_sanity: add test_no_fixme
* cleanup & better assert message
2018-10-30 13:44:25 -07:00
Ross Miller
718be8a645 Update dependencies for py-llvmlite (#9668)
Change dependency on llvm from >=6.0 to 6.0:6.99.

Refs #9667
2018-10-30 21:33:43 +01:00
Alberto Chiusole
f602fd8ea4 New package: RegCM, regional climate model. (#9655) 2018-10-30 13:32:59 -07:00
Axel Huebl
33b65ecca0 GCC: ISL and mpfr upper bounds (#9513)
* GCC: constrain version 6, 7, and 8 to build with ISL version at
  most 0.18
* GCC version 9 (not yet released) will be compatible with
  ISL version 0.20 so future GCC releases are constrained to build
  with ISL version at most 0.20
* ISL: Add v0.15, replace all md5 sums with sha256 sums for ISL
  versions
* GCC versions before 6 were constrained to build with ISL 0.14
  but have been confirmed to work with ISL 0.15
* GCC: Place an upper bound on GCC's mpfr dependency
2018-10-30 13:26:41 -07:00
Ruben Di Battista
3c387bfa39 vtk: remove redundant option setting (#9597)
This eliminates duplicates for a couple options which are set
multiple times.
2018-10-30 12:47:48 -07:00
Abhinav Bhatele
26bacbcb8c caliper: specify path to libunwind (#9670) 2018-10-30 18:37:44 +01:00
Dave
be48d41ab1 warpx: Fixes for building on NERSC (#9671) 2018-10-30 18:25:32 +01:00
jthies
38a1732c5a Jthies/xsdk add phist (#8980)
* packages/phist: add variant 'fortran' to enable/disable building the Fortran bindings

* xsdk: add phist

* packages/xsdk: add a comment reg. updating phist dependency

* packages/phist: +fortran variant is only for versions 1.7:

* packages/phist: update comments

* xsdk: forgot to specify kernel library for phist (picked tpetra, assuming trilinos+tpetra will be installed)

* packages/phist: add variant 'openmp' to allow disabling OpenMP

* phist: fix compile error due to missing -lm

* flake8: fix warnings

* packages/phist: fix cmake flag: XSDK_ENABLE_Fortran (rather than XSDK_BUILD_Fortran)

* packages/phist: allow disabling building the scamac matrix generator (which causes trouble on some systems)

* packages/xsdk: disable scamac within phist because it caused problems for @balay and is not essential for now

* packages/phist: actually disable scamac via cmake if ~scamac

* phist: disable openmp from xsdk
2018-10-30 08:12:15 -05:00
jthies
930d6af815 packages/phist: new version 1.7.3 (#9672) 2018-10-30 11:13:11 +01:00
Dan Han
2209d571ea R rjags - new version (#9568)
* REMOVED: -callr: updated to newest version, added sha256, added listurl

* r-rjags: updated

* r-rjags: fix new version
2018-10-29 16:12:20 -05:00
snehring
1e54a42cc9 hoomd-blue: fixing issue during build with newer cmakes (#9543)
* Constrain to build with CMake <= 3.9.6
* Specify installation prefix to match install prefix format of
  other Spack python libraries
2018-10-29 13:46:35 -07:00
Satish Balay
8d4c15e0bd strumpack: update to version 3.1.1 (#9666) 2018-10-29 15:34:14 -05:00
Satish Balay
6eef6a1d77 slepc: update to version 3.10.1 (#9665) 2018-10-29 15:33:50 -05:00
Miles Perry
2bd453c4a7 add package Feature/sentieon (#9557)
* added package sentieon

* change file location

* updated spack header license and added license_vars

* fixed flake8 error

* fixed license header

* fix license header

* license

* added import os.path

* edits

* flake8 edits
2018-10-29 15:02:27 -05:00
Justin Stanley
c46a39179b orca: new package starting at 4.0.1.2 (#9297)
* orca: new package starting at 4.0.1.2

* orca: fix typo

* orca: fix boilerplate

* orca: reorder deps, add openmpi runtime dependency

* orca: license update
2018-10-29 14:49:58 -05:00
David Wells
c96c38a08f Expand the libMesh dependency list (#9642)
This commit overhauls the libMesh package script in a number of ways:

* We now inherit from AutotoolsPackage.
* libMesh contains about a dozen third-party dependencies that can
  only be provided by the copy bundled with libMesh. This  patch
  enumerates all such bundled dependencies and disables all of them
  by default.
* libMesh supports compilation with external installations of boost,
  eigen, hdf5, slepc, and tbb; this patch adds all of them to
  package.py.
* libMesh will look for a few system executables (xz, bzip, gdb) by
  default. This is now disabled.
* libMesh will now used a copy of perl installed by spack instead of
  trying to find the system copy.
* Compilation with non-system MPI installations requires an additional
  flag (--with-mpi=); this has been added.
2018-10-29 11:50:43 -07:00
Bert Wesarg
c43689deb0 setup-env: Avoid different output format of ps (#9629)
setup-env includes a call to 'ps' to determine what shell is being
used. 'ps' can be instructed to use a different default output format
via the 'PS_FORMAT' env variable. Thus unset this variable before
calling 'ps'.
2018-10-29 11:16:55 -07:00
Dmitriy
be5c92f7cd diy: new package (#9628) 2018-10-29 10:20:46 +01:00
Denis Davydov
23726617ba Updated octave and gnuplot versions (#9660)
* octave: add 4.2.2, 4.4.0 and 4.4.1
* gnuplot: add 5.2.5
2018-10-29 09:32:30 +01:00
Todd Gamblin
b27fbfb379 config: spack config blame now colors filenames in config output (#9656)
- it was hard to distinguish all-gray filenames
- added rotating colors to `spack config blame`
2018-10-26 22:19:11 -07:00
Todd Gamblin
daab8d9109 docker: allow docker build to fail until it's fixed (#9658) 2018-10-26 21:50:28 -07:00
Denis Davydov
d191cb0102 pyfypp: add setuptools build dependency (#9650) 2018-10-26 19:41:10 -07:00
dorier
c8092b3ab7 damaris: add support for VisIt and Catalyst (#9651) 2018-10-26 19:40:25 -07:00
Justin Stanley
91aed716f9 new package: phyluce (starting at 1.6.7) (#9633) 2018-10-26 19:33:32 -07:00
dorier
13e5c3fbe2 VisIt: build vtk without mpi support (#9649)
VisIt cannot use VTK built with mpi support (which was enabled by
default starting in #9494)
2018-10-26 19:01:39 -07:00
Denis Davydov
c3ffd4e1cf valgrind: add 3.14.0 (#9648) 2018-10-26 18:59:16 -07:00
Justin Stanley
718ceb5e85 new package: msmc (starting at 1.1.0) (#9654) 2018-10-26 18:23:45 -07:00
Jonas Lippuner
70bdcd703a kokkos: add pic option (#9643)
Since kokkos only compiles a static library, the -fPIC compiler flag
is required to link kokkos into a Fortran executable
2018-10-26 18:13:48 -07:00
Federico Ficarelli
8d288cd8eb fmt: add new versions and update constraints (#9634)
Update versions and constraints on cmake and supported toolchains
(as stated by the documentation).
2018-10-26 18:08:56 -07:00
Omar Padron
aa1c814c75 docker: unite Dockerfiles; auto-deploy images to DockerHub (#9329)
* Unite Dockerfiles - add build/run/push scripts
* update docker documentation
* update .travis.yml
* switch to using a preprocessor on Dockerfiles
* skip building docker images on pull requests
* update files with copyright info
* tweak when travis builds for docker files are done
2018-10-26 10:15:05 -07:00
Christoph Junghans
734d903b03 cabana: added v0.1.0 (#9644) 2018-10-26 11:18:42 +02:00
Todd Gamblin
ad405085ce license: add copyright to MIT license and SPDX in README (#9645)
- also remove analytics beacon in README, which is not that useful
  anymore.
2018-10-26 00:49:35 -07:00
Ross Miller
49b652780d Fix issue with miniconda attempting to install the incorrect version (#9589)
The install() function in the miniconda2 & 3 package.py files referenced
self.url, which is hard-coded to 4.3.11.  That's not necessary the
version that the user requested, though.  Changed the install() function
to reference self.stage.archive_file.  Also added a version string for
4.5.11.
2018-10-25 18:16:23 -07:00
Will Furnass
6e261b4186 nag: fix NAG Fortran Compiler MD5 checksum for 6.1; add 6.2 checksum (#9617) 2018-10-25 18:14:30 -07:00
sknigh
a7bb03c7a3 LLVM: add older version and gcc constraint (#9614)
- Added v 5.0.2
- Added conflict with gcc 8 for versions that do not build
2018-10-25 18:05:26 -07:00
dorier
3fc7dd160d updated URL format for Catalyst package when version is greater or equal to 5.6 (#9611) 2018-10-25 18:03:56 -07:00
Justin Stanley
58b98738e1 r-goplot: fix r-rcolorbrewer version format (#9631) 2018-10-25 17:58:07 -07:00
jkelling
84e6fb3a64 package nccl: Fix install_targets for verison 2.3.5-5: (#9623) 2018-10-25 17:57:41 -07:00
Justin Stanley
b1e84d4cdc r-argparse: remove unnecessary r-getopt version (#9638)
There is no checksum for r-getopt@1.19 and this package is compatible
with the latest version anyway.
2018-10-25 17:55:22 -07:00
Justin Stanley
b7973d01ef spades: add conflict with older gcc (#9640) 2018-10-25 17:54:27 -07:00
Miles Perry
837dc22a0b new package: karma (#9571) 2018-10-25 17:53:22 -07:00
Cameron Stanavige
e91f8f5f82 unifycr: new package (#9594) 2018-10-25 17:50:45 -07:00
Matthias Diener
df7cd00c47 hdf5: add version 1.10.4 (#9625) 2018-10-25 17:22:45 -07:00
Denis Davydov
fb86598b35 suite-sparse: add GCC version constraint (#9622)
Move suite-sparse gcc version constraint from dealii to suite-sparse
package and update it (gcc 4.9 is required as of version 5.2.0 rather
than 5.1.0). The constraint is now expressed as a conflict rather
than a dependency.
2018-10-25 17:20:25 -07:00
Massimiliano Culpo
0d6e73771b flake8: explicitly allow line break before or after binary operator (#9627)
W503 and W504 are issued for line breaks before or after binary
operators (respectively). This allows either approach (explicitly
instructing flake8 to ignore both of these cases).
2018-10-25 15:11:22 -07:00
Massimiliano Culpo
da537d2211 Fix autoload of direct dependencies for python (#9630)
fixes #9624

merge_config_rules was using `strict=False` to check if a spec
satisfies a constraint, which loosely translates to "this spec has
no conflict with the constraint, so I can potentially add it to the
spec". We want instead `strict=True` which means "the spec satisfies
the constraint right now".
2018-10-25 23:56:03 +02:00
dorier
534b71bdf1 Package VisIt: updated visit package (#9433)
* updated visit package

* make hdf5 and silo conflict with ~gui variant

* Changed parallel => mpi and quotes in description

* Corrected +mpi variant in VisIt package

The previous commit introduced a bug (+parallel variant wasn't renamed +mpi), and the +mpi variant wasn't True by default. This is corrected.
2018-10-25 23:53:29 +02:00
Federico Ficarelli
8d27c1fea1 spdlog: add new versions (#9636) 2018-10-25 12:45:09 +02:00
Matthias Diener
0fdd47b947 git: add new version 2.19.1 (#9637) 2018-10-25 12:43:22 +02:00
Todd Gamblin
a1f90d5b8c bugfix: use OS default permissions for mkdirp when mode is not provided (#9604)
- #8773 made the default mode 0o777, which is what's documented but
   mkdirp actually takes the OS default or umask by default

- revert to the Python default by default, and only set the mode when
  asked explicitly.
2018-10-24 11:36:41 -07:00
Jon Rood
a0fb2838ea Add pic variants to tioga, openfast, nalu-wind, and nalu. (#9560) 2018-10-24 14:39:12 +02:00
Matthias Wolf
8767167c79 py-pyarrow: new package (#9416)
arrow: add missing dependency for python build

The Parquet library moved into the Arrow organisation, hence add a
parquet flavor and adapt dependencies.
2018-10-24 12:53:32 +02:00
Dave
6738352700 Warpx: non-conditional dependency on MPI (#9587) 2018-10-24 12:44:28 +02:00
Javier Cervantes
02f67b5c16 Fix typo in help message (#9599) 2018-10-24 12:40:35 +02:00
dorier
d33c1a14d7 New package: Damaris (#9601) 2018-10-24 10:28:39 +02:00
Stephen Herbein
49c705aebe flux-core & flux-sched: update versions and dependencies, fix git tags (#9610)
* flux: ensure git tags are always available

previous `--unshallow` would only run when `--depth 0` was used.  If
1--single-branch` was used, then the `.git/shallow` file would not exist
and `--unshallow` would not work.

add v0.6.0 and update dependencies accordingly

update dependencies to match latest flux versions

adds support for python 3
increases precision of czmq version required for older flux versions
adds new lz4 dependency
2018-10-24 10:06:34 +02:00
Cameron Smith
19207549ad pumi: add version 2.2.0 (#9606) 2018-10-22 22:21:50 -05:00
Gregory Lee
e4a24c3fbc added stat version 4.0.1 (#9607)
* Add stat version 4.0.1
* stat 4.0.1: requires py-xdot
* stat versions at or above 4.0.0 dont require python 2 (it still
  requires python but can build with 2 or 3)
* stat versions at or above 4.0.0 dont require py-pygtk and py-enum34
* Replace py-xdot version 0.9.1 with 1.0
* py-xdot: use lib directory vs. lib64 for atk dependency
2018-10-22 18:59:44 -07:00
Satish Balay
79e25032e8 Bug fix: Module PATH check (#9574)
#9100 added a warning message when a path extracted from a module file
did not appear to be a valid filesystem path. This check was applied
to a variable which could be a list of paths, which would erroneously
trigger the warning. This commit updates the check to run at the
actual point where the path has been extracted.
2018-10-22 18:10:49 -07:00
Satish Balay
31bed8f8f2 plasma: add 18.10.0 and fix URL (#9608) 2018-10-22 18:00:39 -07:00
Satish Balay
1a69bb474f hypre: update to version 2.15.1 (#9602) 2018-10-22 18:05:23 -05:00
Satish Balay
408c156544 sundials: update to version 3.2.1 (#9603) 2018-10-22 18:04:53 -05:00
Piotr Luszczek
01913fb34d PLASMA: add version 18.9.0 (w/CMake) (#9489)
* Add version 18.9.0 (w/CMake)
* Add version dependent install methods to handle transition from
  Make-based package (17.1) to CMake-based package, using the NEST
  package as an example
* Remove unnecessary build_targets method for older Make-based
  version
* Don't retrieve just the C/Fortran interfaces for netlib-lapack -
  blas/lapack libs are now handled the same for all implementations
* Remove netlib-lapack detection patch
2018-10-22 11:26:23 -07:00
Todd Gamblin
ccd5a5fb7b license: exclude ignored files from the license check (#9578)
Previously, if you built the docs, you'd get license errors for
generated .rst files. This removes them from the list of licensed
files.
2018-10-22 11:13:30 -07:00
Pieter Ghysels
db98418fef Update STRUMPACK package: (#9580)
* add new version 3.1.0
* add conflict for parmetis without mpi
* strumpack >= 3.1.0 uses -DTPL_ENABLE_<package> instead of
  -DSTRUMPACK_USE_<package>
* require cmake at least 3.2
2018-10-22 11:05:14 -07:00
Peter Scheibel
c50fdbc058 py-gtk needs to build with python@2.7 and also requires atk, so the atk python dependency cannot be unconditionally constrained to @3: (#9596) 2018-10-22 10:08:17 -07:00
Daniel Topa
531c29bd8b PMIX: replace md5 hash with sha256 for recent versions (#9585) 2018-10-19 18:28:19 -07:00
Ricardo Silva
d0c38f0473 plumed: libmatheval support (#9586)
* plumed: add libmatheval dependency (used by the 'function' module)
* guile: add variant to build with threads interface
* libmatheval: add flex dependency
2018-10-19 18:18:56 -07:00
Justin Stanley
187dfb61a3 new package: trimal (starting at 1.4.1) (#9592) 2018-10-19 18:01:55 -07:00
Justin Stanley
29cb82c988 new package: lastz (starting at 1.04.00) (#9593) 2018-10-19 17:57:46 -07:00
Justin Stanley
d048bbb7ee bcftools: add version 1.9 (#9595) 2018-10-19 17:30:52 -07:00
Ricardo Silva
53678d4f2f New package: DFT-FE (#9197) 2018-10-19 15:04:15 -07:00
Denis Davydov
20d830f8df new package: dbcsr (#9491)
Also add its dependency, py-fypp
2018-10-19 14:59:46 -07:00
Justin Stanley
e219bc39dc jdk: added version 11.0.1 (#9583) 2018-10-19 10:51:38 -07:00
Dave
343ad17383 warpx: new package (#9584) 2018-10-19 13:31:22 +02:00
Dan Han
5f482b3c14 r-biom-utils: changed MD5 to SHA, added list_url (#9539) 2018-10-18 18:27:24 -07:00
sknigh
df7c9c2e7b binutils: add older version 2.25.1 (#9579)
Added version available in RHEL/Centos 7
2018-10-18 13:42:32 -07:00
Jordan Moxon
7d06d446f0 blaze package: add versions 3.3 and 3.4 (#9546) 2018-10-18 13:41:21 -07:00
Dan Han
92df7b0020 r-matr and r-callr: add new versions, list_urls (#9562) 2018-10-18 13:40:38 -07:00
Neil Flood
b5815e2629 qt4: Patch configure to allow webkit with recent gcc (#9264) 2018-10-18 13:28:53 -07:00
Geoffrey Oxberry
38111dc68e llvm: rename "trunk" version to "develop" (#9320) 2018-10-18 13:22:56 -07:00
David Wells
caab0d53a2 Update samrai 2.4.4 (#9311)
* Add support for samrai+silo.
* Add patch for SAMRAI 2.4.4
2018-10-18 13:20:07 -07:00
Justin Stanley
37056edb56 r-rmarkdown: add r-catools dependency (#9470) 2018-10-18 13:15:01 -07:00
Matthias Wolf
b1849f9c8b parquet: add -fPIC option (#9367)
This adds a pic variant and also exports all compiler flags as CMake
arguments
2018-10-18 13:12:56 -07:00
Michael Kuhn
48c7ee37c1 qt: addversion 5.11.2 (#9555) 2018-10-18 13:02:32 -07:00
Michael Kuhn
7070d9fcd4 Allow setting language of compiler messages (#9486)
* Add a build_language config.yaml option which controls the language
  of compiler messages
* build_language defaults to "C", in which case the compiler messages
  will be in English. This allows Spack log parsing to detect and
  highlight error messages (since the regular expressions to find
  error messages are in English)
* The user can use the default language in their environment by setting
  the build_language config variable to null or ''
2018-10-18 12:55:58 -07:00
Matt Belhorn
0f5f49f751 spark: set JAVA_HOME for hadoop CLASSPATH fetching (#9439)
Sets the `JAVA_HOME` in the `hadoop` subprocess called during
`spark.setup_environment`.
2018-10-18 12:45:11 -07:00
Justin Stanley
a2dc958248 new package: trinotate (starting at 3.1.1) (#9471) 2018-10-18 11:47:46 -07:00
Matthias Diener
3228f0af57 byobu: add new version 5.127 (#9529) 2018-10-18 11:45:01 -07:00
Dan Han
aecdcaad34 ranimation: added list_url (#9538) 2018-10-18 11:44:47 -07:00
Michael Kuhn
6f21c7f87c freetype: Add version 2.9.1 (#9551) 2018-10-18 11:44:16 -07:00
Levi Baber
162246188f braker: add missing deps (#9573) 2018-10-18 11:43:55 -07:00
Cameron Smith
fbbe4968f0 add pumi version docstring (#9577) 2018-10-18 11:42:25 -07:00
Matthias Wolf
572bbfda6d py-seaborn: add version 0.9.0 (#9553) 2018-10-18 11:40:58 -07:00
Matthias Wolf
8738268e0a py-hdfs: new package (#9575) 2018-10-18 11:39:54 -07:00
Brian Van Essen
659d845185 lbann: add aluminum dependency (#9523)
* Added support for the Aluminum library to LBANN and Hydrogen. Also
  fixed several bugs in the grouping of dependencies of both packages.
* Updated the conduit package to have the proper dependency on the
  python variant.
* Added new versions for NCCL
* Fixed a bug in how Hydrogen set the path for OpenBLAS.
* Added support for conduit in LBANN.
2018-10-18 11:22:17 -07:00
Ruben Di Battista
d1db12e153 vtk: add support for Xdmf IO. (#9510)
* vtk: add variants for Xdmf IO support, ffmpeg support, and MPI
* vtk: depends on boost when Xdmf support is enabled
* vtk: add backported patch for python3.7
* vtk: New policy only for cmake >= 3.12
* mesa: add py-argparse dependency (for build)
* lz4: use MOREFLAGS instead of LIBS to add -lrt
2018-10-18 10:18:05 -07:00
Javier Cervantes
3d32e8add2 Add new python package: hepdata-validator (#9547)
* Add new python package: hepdata-validator

* Update to new license header
2018-10-18 03:53:44 -07:00
Levi Baber
286f0c8236 Revert "py-hdfs: new package (#9421)" (#9572)
This reverts commit 5a7d0c458b.
2018-10-17 19:26:59 -05:00
Leonhard Reichenbach
ea033d4b71 py-numpy: update to version 1.15.2 (#9535) 2018-10-18 01:30:04 +02:00
Michael Kuhn
e0e54c0073 scalasca: add 2.4 (#9556)
scalasca actually requires cubew, not the full cube bundle. However,
cubew@4.4 causes the build of previous versions to fail because there is
no cube-config script anymore.
2018-10-18 01:27:08 +02:00
Matthias Wolf
5a7d0c458b py-hdfs: new package (#9421) 2018-10-17 18:10:20 -05:00
Todd Gamblin
1b6eb88763 relicense: remove outdated blurb in README.md
- all of Spack is Apache-2.0/MIT
- no packages are LGPL-2.1
2018-10-17 15:12:15 -07:00
Todd Gamblin
1e1ea54bad relicense: update COPYRIGHT, LICENSE-*, README, CONTRIBUTING, and NOTICE
This updates Spack's top-level metadata files to reflect the new
Apache-2.0 and MIT licenses.
2018-10-17 14:42:06 -07:00
Todd Gamblin
e2e0b5df1c relicense: add spack license command
- `spack license list-files`: list all files that should have license headers
- `spack license list-lgpl`:  list files still under LGPL-2.1
- `spack license verify`:     check that license headers are correct

- Added `spack license verify` to style tests
2018-10-17 14:42:06 -07:00
Todd Gamblin
7cb5638516 relicense: add Apache2/MIT header to spack create 2018-10-17 14:42:06 -07:00
Todd Gamblin
eea786f4e8 relicense: replace LGPL headers with Apache-2.0/MIT SPDX headers
- remove the old LGPL license headers from all files in Spack
- add SPDX headers to all files
  - core and most packages are (Apache-2.0 OR MIT)
  - a very small number of remaining packages are LGPL-2.1-only
2018-10-17 14:42:06 -07:00
Todd Gamblin
3501bc9124 relicense: remove LGPL-2.1-only farmhash package
- we did not get consent for this package
2018-10-17 14:42:06 -07:00
Todd Gamblin
7ba4c6200c relicense: remove significant contributions from peetsv
- This is bundled into one commit to make it easy to revert if we do get
  consent from peetsv's company to relicense these contributions.

- Revert "dialign-tx adding patch for gcc@5.4.0 (#6413)"
  - This reverts commit 09eeb991a2.

- Remove the following LGPL-2.1 packages because we have not gotten
  consent to relicense them:
  - fast-gbs
  - igv
  - metasv
  - perl-xml-libxml
  - py-cnvkit
  - py-crossmap
  - py-pybedtools
  - py-pyfaidx
  - py-pyvcf
  - py-vmd-python
  - r-cghflasso
  - r-dismo
  - r-proc
  - r-spatial
  - r-utf8
2018-10-17 14:42:06 -07:00
Dan Ibanez
470a45c516 omega-h: fix dependencies (#9552)
* omega-h: fix dependencies

1. Remove Gmodel altogether. Omega_h doesn't
   actually call Gmodel for anything, it was
   more or less just doing additional unit
   testing for Gmodel

2. Make Trilinos off by default. Most codes do
   not need the ParameterList interface, and
   Kokkos through Trilinos is not well explored
   in Spack

3. Use modern CMake style to choose the zlib
   dependency
2018-10-17 13:30:19 -05:00
Satish Balay
4225dc106b omega-h: update to versions 9.19.0, 9.19.1 (#9548)
* omega-h: update to versions 9.19.0, 9.19.1

* omega-h: add build conflict for gcc-8
2018-10-17 10:28:48 -05:00
Satish Balay
da3f45eb6b pflotran: switch to parallel build (#9554) 2018-10-17 09:57:20 -05:00
Satish Balay
62d821d843 amrex: add version 18.10.1 (#9550) 2018-10-17 09:12:49 -05:00
Satish Balay
9838f9609c gmodel: switch from .zip to .tar.gz to avoid unzip dependency (#9549) 2018-10-17 09:11:43 -05:00
Dan Ibanez
bc213074cd Fixes to Omega_h C++ compiler flags (#9545)
* omega-h: fix CMake CXX flag options

* omega-h: turn warnings off by default
2018-10-17 07:49:00 -05:00
Mark W. Krentel
e5e8d89ad9 docs: add note about compilers with modules (#9520)
compilers.yaml can track a module that is needed for a compiler, but
Spack does not fill this in automatically. This adds a note to the
documentation informing the user how to do this.
2018-10-16 15:34:22 -07:00
Justin M Wozniak
1597d67629 stc and turbine: fix depends_on(type) (#9537) 2018-10-16 13:27:23 -07:00
Jordan Moxon
ef11d27f7f libsharp: new package (#9530) 2018-10-16 11:24:42 -07:00
Leonhard Reichenbach
118f616b19 py-setuptools: add version 40.4.3 (#9534) 2018-10-16 11:03:03 -07:00
snehring
8e2015121b sspace-standard: use Getopt::Std instead of getopts.pl (#9516)
getopts.pl is not listed as a Spack dependency of sspace-standard,
so without this change, this package was only working on systems
where getopts.pl was already installed.
2018-10-15 19:07:36 -07:00
Andreas Baumbach
aae994258c update py-mock dependencies based on requirements.txt (#9496) 2018-10-15 18:27:13 -07:00
Daniel Topa
c5185b18cc pmix package: add new versions (#9532) 2018-10-15 18:21:02 -07:00
Christoph Junghans
79c44ddf20 cabana: initial commit (#9444)
* cabana: initial commit

* Cabana: added v0.1.0-rc0
2018-10-15 15:45:56 -06:00
Jordan Moxon
9176dc29b0 ssht: new package (#9518) 2018-10-15 12:44:09 -07:00
snehring
ac68ed8fa8 redundans: replace incorrect hard-coded path for sspace-standard (#9483) 2018-10-15 12:43:02 -07:00
Matthias Diener
13c83b8ca4 cmake: add version 3.12.3 (#9528) 2018-10-15 12:40:38 -07:00
Michael Kuhn
cc6e765d28 meson: explicitly add --libdir (#9504)
If we do not specify libdir explicitly, Meson chooses something like
lib/x86_64-linux-gnu, which causes problems when trying to find libraries
and pkg-config files.
2018-10-15 11:14:59 -07:00
Ricardo Silva
24865fccdc sra-toolkit: new version and preserve symlinks (#9525)
Before this, the same files were copied 3 times
2018-10-15 11:09:00 -07:00
Jon Rood
3a2088b4f7 Build Nalu-Wind and Trilinos statically on Darwin (#9522)
* Added conflict in Trilinos for STK when building as shared on Darwin.
* Created shared variant for Nalu and Nalu-Wind to automatically build
  Trilinos as static library on Darwin. 
* Moved ECP tags from Nalu to Nalu-Wind (the latter is the official
  ECP application).
2018-10-15 11:03:11 -07:00
Leonhard Reichenbach
91f9a25905 py-scikit-learn: added version 0.20.0 (#9526) 2018-10-15 10:25:05 -07:00
Justin M Wozniak
ec81ec5f54 Swift/T Release 1.3 (#4641)
New release of Swift/T along with turbine, adlbx, and exmcutils
dependencies. Update URLs for archive downloads.
2018-10-12 17:32:27 -07:00
Andreas Baumbach
028391c0a3 py-spyder: update dependencies and fix build (#9207)
* Remove py-setuptools dependency from py-spyder (fixes #9205)
* Add constraint on transitive qt dependency to build with webkit
  extension (required for this package)
* Update pycodestyle dependency constraints
* reordered dependencies (py-zmq, py-chardet) to confirm to the
  ordering in setup.py
2018-10-12 10:57:32 -07:00
Peter Scheibel
6977d933c8 buildcache install: generate modules (#9509)
Spack packages installed using spack buildcache were not running
post-install hooks, which create module files and manage licenses
(if necessary).

This was already occurring for Spack packages installed with
spack install --use-cache
2018-10-12 10:43:06 -07:00
Leonhard Reichenbach
b0430457aa Added py-pandas@0.23.4 and py-bottleneck@1.2.1 (#9515) 2018-10-12 18:52:39 +02:00
Michael Kuhn
84f4e86358 Update scorep and friends (#9495)
- cube: Add 4.4.2, add conflicts for ~gui, build 4.4 from cubegui tar
- cubelib: Add 4.4.2
- cubew: Add 4.4.1
- opari2: Add 2.0.4
- scorep: Add 4.1
2018-10-12 18:51:52 +02:00
Satish Balay
e38f39e4ea superlu-dist: fix v5.3.0 buid - its attempting to build internal blas (#9517)
https://github.com/spack/spack/issues/9514
2018-10-12 10:58:37 -05:00
Lars Bilke
6db1472c58 vtk: Added mpi variant (#9494) 2018-10-12 11:33:01 +02:00
Michael Kuhn
24c75d39e4 codes, dia, nest: fix pkg-config dependency (#9498)
pkgconfig is the virtual provider, pkg-config is a specific
implementation.
2018-10-12 09:57:44 +02:00
Michael Kuhn
cfd0b46941 at-spi2-atk: add missing pkgconfig dependency (#9503) 2018-10-12 09:56:44 +02:00
Michael Kuhn
1200b19b52 dbus: add missing pkgconfig dependency (#9497) 2018-10-12 09:55:33 +02:00
sknigh
a7dc725e2d Ease nlohmann-json conflict with gcc 4.8 (#9506) 2018-10-12 09:45:54 +02:00
Michael Kuhn
2ae75702c0 libepoxy: fix build (#9508)
- Add missing pkgconfig dependency
- Explicitly disable egl
2018-10-12 09:34:09 +02:00
Denis Davydov
5196c1a51a dealii: add 9.0.1 and update to sha256 (#9511) 2018-10-12 09:17:26 +02:00
Greg Becker
d1a5113cfe permissions: add permission configuration to packages.yaml (#8773)
Spack can now be configured to assign permissions to the files installed by a package.

In the `packages.yaml` file under `permissions`, the attributes `read`, `write`, and `group` control the package permissions. These attributes can be set per-package, or for all packages under `all`. If permissions are set under `all` and for a specific package, the package-specific settings take precedence.  The `read` and `write` attributes take one of `user`, `group`, and `world`.

   packages:
    all:
      permissions:
        write: group
        group: spack
    my_app:
      permissions:
        read: group
        group: my_team
2018-10-11 14:29:07 -07:00
Satish Balay
91fbc59f22 amrex: add in new version for xsdk [18.09.1, 18.10] (#9501) 2018-10-11 12:47:21 -05:00
Miroslav Stoyanov
a3ffaefebd updated tasmanian package with v6.0, improved depend_on and conflicts information (#9438) 2018-10-11 11:25:20 -05:00
Satish Balay
0226546c29 superlu-dist: switch to sha256sum (#9499)
replace 5.1.1 with 5.1.2 as 5.1.1 does not build for me. [and 5.1.3 is preferable in this 5.1 series anyway]
2018-10-11 10:59:27 -05:00
Gustavo Chávez
4b50928a36 Update superlu-dist package.py to support latest release v6.0.0 (#9445)
* superlu-dist: Update package.py for superlu-dist v6.0.0 using CMake

* superlu_dist: Update the header of package.py

* Specify lapack_blas and DCMAKE_INSTALL_LIBDIR
disable support for superlu-dist before v5
2018-10-11 10:06:43 -05:00
Denis Davydov
a6fb2fdea4 trilinos: disable superlu-dist by default (#9492)
current stable releases of PETSc and Trilinos have non-overlapping
requirements on Superlu-dist. For now turn it off by default in
Trilinos, which requires older versions.
2018-10-11 08:19:32 -05:00
Michael Kuhn
d8414dd770 go: Add 1.11.1 (#9493) 2018-10-11 12:08:42 +02:00
Zack Galbreath
bc8bb9dfaf Make CDash reporting easier to use (#9357)
* Better default CLI arguments for CDash reporting

--log-format=cdash is now implied if you specify the --cdash-upload-url
option to spack install.

We also now default to writing CTest XML files to cdash_report/ when using
the CDash reporter if no --log-file argument was specified.

* Improved documentation on how to use the CDash reporter
2018-10-10 22:29:14 -07:00
Robert Blake
b18fea6c83 ncdu: add new versions (#9477) 2018-10-10 19:15:33 -07:00
Piotr Luszczek
b100d1fc40 Magma: add version 2.4.0 (#9478) 2018-10-10 19:14:31 -07:00
Denis Davydov
2914644b30 openblas: patch experimental USE_TLS makefile option for 0.3.3 (#9474) 2018-10-10 18:58:47 -07:00
Greg Becker
7ece1a8676 Correct name for install_path_scheme in defaults config.yaml (#9482)
Default config.yaml mis-named `install_path_scheme` as `directory_layout`.
This commit corrects the error.
2018-10-10 18:54:58 -07:00
Phil Carns
312de47594 update rdma-core package to specify rundir (#9370) 2018-10-10 18:51:19 -07:00
sknigh
aac8d52075 vtk: added v8.1.1, added option to disable libharu (#9475)
* Added VTK 8.1.1, added option to disable libharu
* Add variant description to vtk+libharu
2018-10-10 14:57:28 -07:00
Serban Maerean
113b750b89 Update compile flags for netlib-lapack when building with the XL compiler. (#9318)
We need to use -O3 -qstrict -qnohot. Modified ibm-xl.patch and netlib-lapack
package file.
2018-10-10 14:16:50 -07:00
sknigh
013d4ad6a0 Added sst-core and variant for core to sst-macro. (#9380) 2018-10-10 11:02:18 -07:00
Levi Baber
53b19e7919 perl-scalar-util-numeric: new package (#9466) 2018-10-10 12:35:37 -05:00
Gregory Lee
7699419fc1 new xdot.py package and necessary updates to GUI libs (#9179)
* new xdot.py package and necessary updates to GUI libs

* new xdot.py package and necessary updates to GUI libs
2018-10-10 19:07:51 +02:00
Michael Kuhn
e176f2a2f5 Fix missing dependencies and glibc build failures (#9106)
* bison: Add missing build dependencies

bison also depends on cmp, which is currently not available in Spack.

* help2man: Add missing build dependency

* m4: Fix build with newer versions of glibc

* openssl: Add missing build dependency

openssl's configure script is actually a Perl script.

* texinfo: Add missing perl dependency

* diffutils: New package

* findutils: Fix build with newer versions of glibc

* mvapich2, mpich: Add missing findutils dependency
2018-10-10 14:17:12 +02:00
Michael Kuhn
b85a910463 rdma-core: Fix checksum for @17.1 (#9480) 2018-10-10 14:06:51 +02:00
Seth R. Johnson
8ab6539c0e Add important variants to MOAB and Geant4 (#9409)
* Add option to disable threads for Geant4
* Add option to enable DagMC in MOAB
* Explicitly add OFF flag when threading is disabled
* Fix unintentional enabling of C++14 in Geant4
  The following always evaluated to True:
    'c++14' or 'c++1y' in spec:
2018-10-09 17:05:49 -07:00
Dan Han
aede227580 matlab: new version (#9427) 2018-10-09 16:58:52 -07:00
Levi Baber
3e565a734a braker: add missing deps (#9468) 2018-10-09 16:55:28 -07:00
sknigh
03231a39db Added nlohmann-json v3.3.0 (#9463) 2018-10-09 16:54:59 -07:00
Justin Stanley
6c4e0b1bf1 sspace-standard: add perl-perl4-corelibs dep, fix perl scripts (#9473)
perl scripts were pointing to /usr/bin/perl, changed to point to
the spack-installed perl
2018-10-09 16:54:32 -07:00
Greg Becker
ca0d9ae7f0 Make builtin flag handlers available in package scope (#8668)
* Push default flag handlers into module scope

* Preserve backwards compatibility of builtin flag handler names

Ensure Spack continues to work for packages using the `Package.env_flags` idiom and equivalent.

* update docs and tests to match

* Update packages to match new syntax
2018-10-09 15:18:31 -07:00
Mark W. Krentel
54bd049d99 xerces-c: add variant for transcoder, rework config flags. (#9393)
* xerces-c: Add variant for choice of transcoder (gnuiconv, iconv, icu,
  macos, windows).  It's important to specify a --enable-transcoder
  option on the configure line or else xerces may make a different
  choice when multiple transcoders are available.
* Pass the compile flags to configure.  For cflags and cxxflags, this is
  necessary to respect the value from the spack install line.
  Otherwise, xerces (and any autotools package) will choose a default
  value that overrides the spack compiler wrapper.
* Add xerces version 3.2.2.
* icu4c needs the --enable-rpath configure option on Darwin
2018-10-09 15:12:34 -07:00
Dan Han
5cafe1b4e8 blastplus: newest version 2.7.1 (#9472) 2018-10-09 13:22:34 -07:00
Satish Balay
5e4264ed89 xsdk: reorder develop version statements (#9469) 2018-10-09 14:19:29 -05:00
Denis Davydov
ab099e9ba3 trilinos: extend TPetra explicit instantiations and fix missing Teuchos counterparts (#9448) 2018-10-09 12:07:13 -07:00
Chris Green
5ebdc6076f New package: pythia6 (#9340)
Includes optional extra code for compatibility with Root.
2018-10-09 11:56:43 -07:00
Satish Balay
9ee8a1055b petsc: add petsc-3.10.2 (#9467) 2018-10-09 13:14:41 -05:00
Robert Pavel
9c221228ef Removed gtk dependency from Candle (#9451)
After talks with candle dev, removed unsatisfiable conflict with
candle-benchmark and opencv by disabling gtk in the candle spec
2018-10-09 11:38:54 -06:00
Levi Baber
f12b42e8e6 Autofact: new package (#9317)
* autofact: new package

* autofact: typo

* autofact: syntax

* autofact: deps

* autofact: perl mods path

* autofact: edit->patch and script path
2018-10-09 12:26:46 -05:00
Justin Stanley
817ee344c5 perl-perl4-corelibs: new package (#9459) 2018-10-09 09:17:21 -05:00
Ricardo Silva
36941ffb45 New package: tldd (#9434)
* New package: tldd

* https://gitlab.com/miscripts/tldd

* Improvements

* make it prefetchable by specifying a hash based version
* specify the constraints on pstreams versions (from INSTALL)

* Improvements

* Make it a Makefile Package and only overwrite the install_targets
* Remove the URL as there's really no downloadable 'tar ball' version
2018-10-09 09:15:42 -05:00
Justin Stanley
22a56d86ae energyplus: new package starting at 8.9.0 (#9262)
* energyplus: new package starting at 8.9.0

* energyplus: fix misleading comment

* energyplus: remove redundant version url
2018-10-09 08:45:13 -05:00
Pieter Ghysels
838337da37 STRUMPACK: new package (#9429)
* Initial commit for new package STRUMPACK, a linear solver library.

* Update to STRUMPACK version 3.0.3.
This adds a check for OpenMP task priority support (since OpenMP 4.5)
2018-10-09 08:44:49 -05:00
Justin Stanley
8f4123e564 r-proto: added 1.0.0 (#9456)
* r-proto: added 1.0.0

* r-proto: reorder versions
2018-10-09 08:44:17 -05:00
Justin Stanley
b17fb74e5f ant: add tested 1.10.0, switch build target (#9358) 2018-10-08 17:09:56 -05:00
Justin Stanley
80100ffc39 treesub: new package starting at 0.2 (#9361)
* treesub: new package starting at 0.2

* treesub: fix ant build, add exec script

* treesub: use portable octal format

* treesub: add license header

not sure how it even went missing.
2018-10-08 16:26:51 -05:00
Miles Perry
4e20b16dbe added list URL for r-rodbc (#9460) 2018-10-08 16:25:52 -05:00
Justin Stanley
b8e0d5824e r-edger: add r-rcpp dependency (#9457)
* r-edger: add r-rcpp dependency

* r-edger: add r-rcpp to link deps
2018-10-08 16:25:31 -05:00
Simon Flood
84046b79b2 New package: pplacer (#9112)
* New package: pplacer

Simple package - copies files and directory out of a zip file

* Update package.py
2018-10-08 16:02:12 -05:00
Justin Stanley
b2e255fe5a figtree: new package starting at 1.4.3 (#9359)
* figtree: new package starting at 1.4.3

* figtree: add java dep

* figtree: use portable octal format

* figtree: remove boilerplate
2018-10-08 16:00:21 -05:00
snehring
c379f4ee24 sspace-standard: adding threads variant to perl dependency (#9452) 2018-10-08 15:41:36 -05:00
Justin Stanley
b62571ecdf r-readxl: added 1.1.0 (#9454) 2018-10-08 15:40:45 -05:00
Strahinja Trecakov
cf52083b74 perl-module-build new version (#9404) 2018-10-08 09:12:13 +02:00
dorier
e51b48d9a1 Catalyst Package: made Python mandatory at build time (#9432)
The build process of Catalyst requires Python at build time (see line 86) even when the +python variant is not selected.
When the +python variant is selected, Python becomes required at build, link, and run time. There doesn't seem to be any restriction on the version of Python required when +python is not selected.
2018-10-08 09:10:03 +02:00
dorier
baa664ffaa Fix: bug in VTK package (#9431)
* Fix: bug in VTK package

Fix for issue 9423 (https://github.com/spack/spack/issues/9423): compilers other than clang don't have the `is_apple` property.

* VTK package: removing trailing whitespace

So flake8 stops complaining.
2018-10-08 09:08:50 +02:00
Matthias Wolf
c0249eddb1 py-pyspark: new package (#9419) 2018-10-08 09:03:31 +02:00
Jon Rood
2e11d5914c Update HYPRE with version 2.15.0. (#9443) 2018-10-08 08:58:02 +02:00
DDevHan
75fe3a5436 Pacvim new (#9273)
* pacvim: new package

* pacvim: removed fixme's

* pacvim: added full docstring

* pacvim: fixing docstring
2018-10-05 12:07:22 -05:00
Matthias Wolf
d77ed45bfe py-jprops: new package @ 1.0.2 (#9417) 2018-10-05 10:58:49 -05:00
DDevHan
b8fcc4d230 Canu-Updated to lastest version:1.7.1 (#9413)
* Canu-Updated to lastest version:1.7.1

* canu: added sha256 hash as comment above version

* canu: changed to sha256
2018-10-05 10:56:03 -05:00
Reid Priedhorsky
7c35c70217 add Charliecloud 0.9.2 and 0.9.3 (#9441) 2018-10-05 11:16:07 +02:00
Justin Stanley
011ad24950 salmon: remove static link to libstdc++ (#9343) 2018-10-04 20:57:33 -05:00
Patrick Gartung
d981f28a80 Davix version update (#9304)
* Replace old version with new version
* Remove patch only needed by CMS
2018-10-04 16:12:53 -07:00
Patrick Gartung
5a20217a54 VecGeom: add versions and cxxstd variant (#9303) 2018-10-04 16:11:28 -07:00
Patrick Gartung
9b5f3d77f3 Valgrind: add ubsan and only64bit variants. (#9302)
* Add conflict for +ubsan when building with clang on MacOS
* only64bit is enabled by default
2018-10-04 16:06:10 -07:00
Matthias Wolf
2b3e7dbd93 py-py4j: add version 0.10.6 (#9418) 2018-10-04 15:32:54 -05:00
dorier
872e3c76f6 Package mesa: added dependency on zlib (#9424) 2018-10-03 19:48:42 -07:00
Denis Davydov
600acbbe66 python: add details on missing library to error message (#9332)
When a library cannot be found, the exception now includes the name
of the library that was requested.
2018-10-03 19:46:14 -07:00
Cody Balos
219846684b SUNDIALS: add new versions (#9401)
* Add SUNDIALS 3.2.0 and 4.0.0-dev.2 releases.
* Update CMake dependency version constraints
* Update CMake args to find raja dependency
2018-10-03 19:37:54 -07:00
Daryl W. Grunau
7f4b436ab6 ParaView: add versions (#9428) 2018-10-03 19:34:38 -07:00
Geoffrey Oxberry
98cdd616ca py-flake8: enum34 not required for python 3.4 and up (#9415)
py-flake8 only requires py-enum34 when using a python version
earlier than 3.4
2018-10-03 19:33:22 -07:00
Robert Pavel
479e71a832 Specified Maximum Matplotlib for Candle (#9425)
Specifying that Candle-benchmarks requires matplotlib 2.x due to
matplotlib 3.x requiring python 3.x
2018-10-03 11:47:17 -06:00
Valentin Clement (バレンタイン クレメン)
a97e9cb282 CLAW Compiler: Add Spack Package (#9405) 2018-10-03 17:17:13 +02:00
Matthias Wolf
fe60b2f6de py-progress: new package. (#9420) 2018-10-03 17:12:30 +02:00
Christoph Junghans
63844a97f8 openmc: version bump (#7974)
* openmc: version bump

* s/mit-crpg/openmc-dev/
2018-10-03 09:12:14 -06:00
Satish Balay
297f8537b5 trilinos: superlu_dist patch is now in trilinos develop - so removing it (#9422)
https://github.com/trilinos/Trilinos/pull/3209
2018-10-03 09:52:12 -05:00
Satish Balay
846e2c7ca9 PETSc: configure use CFLAGS,FFLAGS,CXXFLAGS from spack (#9383) 2018-10-03 08:19:43 -05:00
alcharal
c46a7a61f0 Abyss: added variant maxk (#9280) 2018-10-02 17:27:25 -07:00
dorier
8f29fbb605 Adding new versions to Catalyst package (#9267) 2018-10-02 17:25:56 -07:00
Mario Melara
eff3ad3346 Spades: add version 3.12 (#9286) 2018-10-02 17:24:39 -07:00
sknigh
d056427a00 Added cudnn 7.3 (#9400) 2018-10-02 17:24:13 -07:00
sknigh
89ccaa2472 Added perl 5.28 (#9379) 2018-10-02 15:48:28 -07:00
Abhinav Bhatele
0352b4808e [WIP] Release 2.0 of the ECP Proxy Apps suite (#9368)
* Release 2.0 of the ECP Proxy Apps suite

* update laghos version

* make install dir structure consistent across all ecp-proxy-apps

* minor

* update macsio version
2018-10-02 16:35:41 -06:00
Gregory Lee
676b3b0364 added py-matplotlib version 3.0.0 (#9335) 2018-10-02 15:35:06 -07:00
Abhinav Bhatele
d962e65cf2 PICSAR: new package (#9411) 2018-10-02 16:04:49 -06:00
rvinaybharadwaj
46a9121f00 Spackage for Thornado-mini (#9363) 2018-10-02 16:03:58 -06:00
Greg Becker
97d0dd2390 Update Spack on Cray docs for singularity platform=linux workaround (#9398) 2018-10-02 14:58:40 -07:00
Abhinav Bhatele
f6fb176d10 PICSARlite: actually builds PICSARlite now instead of PICSAR (#9410)
also removed variants which shouldn't be there
2018-10-02 15:46:31 -06:00
Abhinav Bhatele
1ba061f6ec MACSio: update package (#9412) 2018-10-02 15:46:09 -06:00
David Orman
e8af5847a0 Intel parallel studio 2019 cluster edition (#9295)
* untracking file

* intel-parallel-studio: added 2019 cluster edition and checksum
2018-10-02 13:04:57 -05:00
Abhinav Bhatele
25be114f75 new package: TraceR (#9298) 2018-10-02 11:04:11 -07:00
Justin Stanley
4e031d25a4 raxml: build all matching variants (#9377) 2018-10-02 09:20:47 -05:00
Prasanna Balaprakash
658e42ae3f ytopt: new package (#9403) 2018-10-01 23:16:32 -07:00
Geoff Womeldorff
922c1a5652 kokkos: bugfix for case wherein kokkos backends enabled in spack but not parsed correctly (#9396) 2018-10-01 17:36:55 -06:00
Matthias Diener
f38bfde6f3 nvptx-tools: add new package (#9378)
* nvptx-tools: add new package

* Update package.py

* Update package.py
2018-10-01 16:55:41 -05:00
Ricardo Silva
d031bd7461 patching p4est to select the proper openmp lib (#9381)
* patching p4est to select the proper openmp lib

* For when compiler.openmp_flag isn't supported

* authored by @nrichart, I only tested it

* Adding openmp variant

Signed-off-by: Ricardo Silva <ricardo.silva@epfl.ch>
2018-10-01 22:43:40 +02:00
Geoff Womeldorff
57236fa2ce kokkos: add serial backend explicitly. add kokkos options and kokkos cuda options. (#9276) 2018-10-01 10:24:43 -06:00
Justin Stanley
691a19226c redundans: add py-numpy dep, snap-berkeley version constraint (#9354) 2018-10-01 05:54:50 -05:00
Abhinav Bhatele
a6ab5edea6 Laghos: add version 1.1 (#9389) 2018-09-30 05:38:52 -06:00
Justin Stanley
bf757bd231 lighttpd: install to bin vs sbin (#9337) 2018-09-28 18:38:51 -07:00
Justin Stanley
ad13a9989f gsnap: add 2018-07-04 (#9356) 2018-09-28 17:07:08 -05:00
Levi Baber
017199b5d6 py-flake8-polyfill: removing unnecessary build_args (#9284) 2018-09-28 14:49:45 -05:00
Levi Baber
6ac167a891 libsigcpp: add a real homepage (#9282) 2018-09-28 14:48:31 -05:00
Aronnax, Miles V. [ISU/LAS]
e9863f56f3 Gapfiller 1.10 f01 (#9163)
* GapFiller.pl fixes: line endings, env perl, convert to Getopt::Std, requires perl with threads.

* GapFiller.pl fixed source path, install location.

* Fixed missing space.
2018-09-28 14:45:54 -05:00
Justin Stanley
d6daa8fab5 perl-dbd-sqlite: new package starting at 1.56 (#9338) 2018-09-28 14:08:14 -05:00
Levi Baber
6d0b3f0e71 r-biocparallel: new link dependency added in last version (#9274) 2018-09-28 13:56:46 -05:00
Levi Baber
5d3fb74e24 r-misc3d: add a real homepage (#9283) 2018-09-28 13:54:50 -05:00
Justin Stanley
43ae3bd2c9 perl-cgi: new package starting at 4.37 (#9339) 2018-09-28 13:53:40 -05:00
Justin Stanley
a5d6f79fe0 r-rots: fix package type (#9344) 2018-09-28 13:11:09 -05:00
Serban Maerean
2ac648407e Add PETSc 3.10.1 to PETSc's spackage file (#9382)
* Add version 3.10.1 to the PETSc spackage file.
* Makefile changes required for building PETSc native tests with the XL compiler.
2018-09-28 10:46:21 -07:00
snehring
3c713661b8 gmap-gsnap: set default value for simd variant (#9366)
Also add zlib/bzip2 dependencies.
2018-09-28 10:41:41 -07:00
Mark W. Krentel
f641a72a8b libpfm4: add version and compiler flags (#9291)
Set default optimization level (-O2) if not specified in cflags.
2018-09-28 10:36:27 -07:00
Denis Davydov
2cd7783e9e mpich: fix 3.2 patch (#9330)
patch does not apply to 3.2.1 (released in late 2017).
Given that it fixes the issue discussed in May 2016, most likely
it shall apply only to 3.2
2018-09-28 08:18:55 -05:00
Peter Scheibel
28f6a4a095 Module path parsing: CRAY_LD_LIBRARY_PATH and PACKAGE_DIR (#9374)
Fix two bugs with module file parsing:

* Detection of the CRAY_LD_LIBRARY_PATH variable was broken by #9100.
  This fixes it and adds a test for it.
* For module names like "foo-bar/1.0", the associated PACKAGE_DIR
  environment variable name would be "FOO_BAR_DIR", but Spack was not
  parsing the components and not converting "-" to "_"
2018-09-27 19:40:22 -07:00
Eric Müller
1e75aef0e9 Bazel: update env handling, add versions (#9369)
Building bazel yielded errors since commit cd9691d. The first commit
fixes the build for older bazel versions, the second commit adds new
versions and ports the patches to these versions.
2018-09-27 19:37:31 -07:00
sknigh
bd801da1bf Set libs property for tcl and tk (#9372) 2018-09-27 19:34:18 -07:00
sknigh
496bc3cd23 Added legacylaunchers variant to openmpi (#9336)
Lots of programs still have mpiexec/mpirun baked in.
2018-09-27 19:29:15 -07:00
sknigh
5047d86732 yaml-cpp: conflict with gcc 4.7 instead of 4.8 (#9371)
4.8 has c++11 support, and RHEL/Centos 7 still use 4.8.5
2018-09-27 13:37:36 -07:00
sknigh
7db31c6671 Added slurm 17.11 and 18.08 (#9345) 2018-09-27 13:34:41 -07:00
sknigh
2155163a37 Added Cuda 10 (#9310) 2018-09-27 13:33:53 -07:00
Abhinav Bhatele
37918e0536 ember: put all READMEs into docs and add executables in bin (#9362) 2018-09-27 05:49:15 -06:00
dorier
9e448d4c4f py-pybind11: add version 2.2.4 (#9355) 2018-09-26 19:19:46 -07:00
Denis Davydov
12c59c5b55 arpack-ng: add version 3.6.3 (#9331) 2018-09-26 19:12:41 -07:00
Justin Stanley
e41677b560 new package: r-processx (#9342) 2018-09-26 19:12:06 -07:00
Justin Stanley
bf4ac40ade new package: r-ps (#9341) 2018-09-26 19:08:55 -07:00
Justin Stanley
b35dccf875 paml: remove old version, added 4.9h (#9360) 2018-09-26 19:03:35 -07:00
Daniel Topa
c9d8226bc6 new package versions: ucx, libhio, and hwloc (#9365) 2018-09-26 18:53:54 -07:00
Abhinav Bhatele
d0ed39f51a miniVite: new package (#9348) 2018-09-26 19:48:34 -06:00
Abhinav Bhatele
41b35a783e fix build errors, make mpi variant default and add openmp variant (#9364) 2018-09-26 19:47:51 -06:00
Peer-Timo Bremer
2f28bd7d7f new package: TALASS (#9326) 2018-09-26 18:15:47 -07:00
Abhinav Bhatele
d5cdb1a2a7 update URLs for Laghos and MACSio (#9351) 2018-09-26 17:22:05 -06:00
dorier
4be8ae2b70 VTK package: don't require "+llvm" for mesa dependency (#9256) 2018-09-26 11:20:01 -07:00
lingnanyuan
f88735c1eb gmap-gsnap: Add variant for different cpu support. (#8087)
* gmap-gsnap: Add variant for different cpu support.

* gmap-gsnap: fix flake8 error.

* gmap-gsnap: remove sys import.

* Change variant type to multi-valued.

* remove if-statement.

* gmap-gsnap: Build in seperate directories.

* gmap-gsnap: remove make distclean.

* gmap-gsnap: rewrite the recipe.
2018-09-26 11:56:39 -05:00
Peter Scheibel
28c0dd9148 Increase and customize lock timeouts (#9219)
Fixes #9166

This is intended to reduce errors related to lock timeouts by making
the following changes:

* Improves error reporting when acquiring a lock fails (addressing
  #9166) - there is no longer an attempt to release the lock if an
  acquire fails
* By default locks taken on individual packages no longer have a
  timeout. This allows multiple spack instances to install overlapping
  dependency DAGs. For debugging purposes, a timeout can be added by
  setting 'package_lock_timeout' in config.yaml
* Reduces the polling frequency when trying to acquire a lock, to
  reduce impact in the case where NFS is overtaxed. A simple
  adaptive strategy is implemented, which starts with a polling
  interval of .1 seconds and quickly increases to .5 seconds
  (originally it would poll up to 10^5 times per second).
  A test is added to check the polling interval generation logic.
* The timeout for Spack's whole-database lock (e.g. for managing
  information about installed packages) is increased from 60s to
  120s
* Users can configure the whole-database lock timeout using the
  'db_lock_timout' setting in config.yaml

Generally, Spack locks (those created using spack.llnl.util.lock.Lock)
now have no timeout by default

This does not address implementations of NFS that do not support file
locking, or detect cases where services that may be required
(nfslock/statd) aren't running.

Users may want to be able to more-aggressively release locks when
they know they are the only one using their Spack instance, and they
encounter lock errors after a crash (e.g. a remote terminal disconnect
mentioned in #8915).
2018-09-25 18:58:51 -07:00
Justin Stanley
6c0f0dbdfd qt: fix dbus builds (#9315) 2018-09-25 11:33:19 -05:00
Satish Balay
2c4a057fe4 petsc: add new versions 3.9.4 and 3.10.0 (#9319)
* petsc: add new versions 3.9.4 and 3.10.0

* petsc:update superlu_dist dependency for version 3.10 [might have to change this later for xsdk]

* slepc: add in new releases 3.9.2 and 3.10.0
2018-09-24 23:57:38 -05:00
Satish Balay
6b1b84267d superlu_dist: (master) has cxx11 sources - so update make.inc to list cxx11 compilers (#9316) 2018-09-24 21:53:14 -05:00
Justin Stanley
43b0948457 lighttpd: new package starting at 1.4.50 (#9325) 2018-09-24 21:33:39 -05:00
Denis Davydov
79eaa16118 intel: add 2019.0 (#9328) 2018-09-24 21:27:43 -05:00
Todd Gamblin
5aa05b8ef4 travis: require sudo in an attempt to avoid build timeouts (#9327)
- Many container builds are timing out frequently during Spack tests in
  Travis CI.

- Travis recommends to try `sudo: required` to see whether this is an
  infrastructure issue or something else.

- added `sudo: required` to all Linux builds.

- added --verbose to `spack test` invocation so that we can see more
  easily what tests it's timing out on.

Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
2018-09-24 14:55:36 -07:00
Denis Davydov
d2bd5177da macos: add mojave (#9322) 2018-09-24 12:20:49 -07:00
Strahinja Trecakov
8947b6b909 New package: r-animation (#9314)
* adding r-animation package
2018-09-24 11:28:05 -07:00
Strahinja Trecakov
82f19f72f7 new versions of r-dplyr,r-plogr,r-rlang (#9313) 2018-09-24 11:22:04 -07:00
rvinaybharadwaj
e227542500 Spack package for PICSARlite (#9288) 2018-09-24 11:12:01 -06:00
rvinaybharadwaj
2656ed63eb Spack package for Ember (#9292) 2018-09-21 13:04:39 -06:00
Andrew Gaspar
72be5c86fa Add newer versions of spdlog (#9290) 2018-09-20 17:53:15 +02:00
sknigh
2bc895083b Added llvm 7.0.0 (#9296) 2018-09-20 17:21:42 +02:00
Axel Huebl
9e2ff95ec5 Catch2: 2.3.0+ (#9300)
* Catch2: 2.3.0+

Add the latest two releases of Catch2.
In 2.3.0+, the include changed to a future-proof
`<catch2/catch.hpp>` path which dependent projects will break upon.

* openPMD-api: Catch2 2.3.0+

openPMD-api just updated to use the new, future-proof Catch2
headers `<catch2/catch.hpp>`.
2018-09-20 15:55:18 +02:00
scheibelp
95850a7a5e report error if failed process captures stderr (#9293)
When a Spack Executable was configured to capture stderr and the
process failed, the error messages of the process were discarded.
This made it difficult to understand why the process failed. The
exception is now updated to include the stderr of the process when
the Executable captures stderr.
2018-09-19 17:29:15 -07:00
Christoph Junghans
7b2b2fb969 sw4lite: add v1.1 (#9289) 2018-09-19 13:30:28 -06:00
Adam J. Stewart
133dd7a4ac Fix version parsing for cistem package (#9260)
Adds 'code' to the list of suffixes that are excluded from version
parsing of URLs, such that if a URL contains the string
'cistem-1.0.0-beta-source-code', a version X will substitute in to
produce a URL with cistem-X-source-code ('source' was already excluded).
The 'cistem' package version is updated to make use of this (and fix
a fetching bug with the cistem package). A unit test is added to check
this parsing case.
2018-09-18 19:29:18 -07:00
sknigh
467d501060 sst-macro package: add versions and variants (#9271)
Added variants for: mpi support, clang skeletonizer, building as
static and/or shared, and more.
2018-09-18 19:06:13 -07:00
Geoffrey Lentner
3f04ebf600 hadoop package: fix url and checksum (#9263) 2018-09-18 18:49:52 -07:00
Geoffrey Oxberry
c971f6f1eb apple-libunwind: update path to library (#9265) 2018-09-18 18:48:53 -07:00
Levi Baber
d14971b061 new package: rclone (#9268) 2018-09-18 18:39:07 -07:00
Howard Pritchard
21884d804f libhio: add patch for 1.4.1.2 release (#9270)
Turns out that there was a configury problem in libhio
which caused issues building the package on non-cray
systems, aka when using mpicc and friends.

Signed-off-by: Howard Pritchard <hppritcha@gmail.com>
2018-09-18 17:26:34 -06:00
Christoph Junghans
41de79a1b6 xsbench: added v18 (#9269) 2018-09-18 14:07:37 -06:00
Christoph Junghans
5135f03c03 Packages/candle benchmarks (#9266)
* candle-benchmarks: added v0.1

* ecp-proxy-apps: v1.0 now depends on candle-benchmarks@0.0
2018-09-18 13:02:03 -06:00
Douglas Duckworth
842d754338 star - added latest versions with shasum (#9257)
* star - added latest versions with shasum

* star - added latest versions with shasum
2018-09-16 15:44:33 -05:00
Geoffrey Oxberry
f9aed03e83 coinhsl: add @2015.06.23, explain versions, SHA256 (#9258) 2018-09-16 15:03:26 -05:00
Pramod Kumbhar
50378c15a9 Update rdma-core : new version and conflict with intel (#9255)
* Update rdma-core : new version and conflict with intel

* address review comments
2018-09-15 19:42:45 -05:00
toffer93
b3bdf92f26 changed to new install_tree formalism (#9181) 2018-09-15 09:40:50 -05:00
Matthias Diener
4942237278 gdb: add lzma support by default (#9247)
This is required at least on RedHat/Fedora.

Many (most?) other people distribute gdb with this support enabled:
http://tomszilagyi.github.io/2018/03/Remote-gdb-with-stl-pp
https://bugzilla.redhat.com/show_bug.cgi?id=1596490
2018-09-15 09:06:16 -05:00
Levi Baber
3f9fc0f765 breakdancer: fix several issues (#9251)
* add perl dependencies
* put bam2cfg in path
* fix perl dir
2018-09-14 20:11:34 -07:00
Miles Perry
301643bdc4 Feature/py picrust (#9184) 2018-09-14 17:24:17 -07:00
Michael Kuhn
c2f6c98ed9 rdma-core: Fix missing pkg-config dependency (#9195)
rdma-core requires pkg-config, otherwise libnl can not be found.
2018-09-14 17:21:05 -07:00
Justin Stanley
b09ece58f6 jdk: added 10.0.2_13 (#9203) 2018-09-14 17:17:32 -07:00
Jon Rood
8f80ee7a40 Updating amrvis to allow building with profiling support. (#9204)
* Updating amrvis to allow building with profiling support.
* Setting MPI default to true.
2018-09-14 17:16:35 -07:00
Stephen Hudson
ae1420bffc Update py-libensemble package to v0.3.0 (#9210) 2018-09-14 17:15:31 -07:00
Stephen McDowell
ea3c59ed37 add eigen@3.3.5 (#9212) 2018-09-14 17:14:46 -07:00
Geoffrey Oxberry
affea920cf hypre: patch +shared@2.13.0: on darwin (#9220) 2018-09-14 17:14:30 -07:00
snehring
fa5bf11f16 plumed: updating plumed to latest version (#9227) 2018-09-14 17:13:22 -07:00
Sergey Kosukhin
a9c434d7d7 Build Python 3.7 with external libffi. (#9245) 2018-09-14 17:07:13 -07:00
Stephen McDowell
0b800720b1 add opencv@3.4.3 (#9213) 2018-09-14 17:05:05 -07:00
Stephen McDowell
4c41413550 patch flann // gcc // cmake@3.11+ (#9214)
See: https://github.com/mariusmuja/flann/issues/369
2018-09-14 17:01:58 -07:00
Abhinav Bhatele
055b0a442c Charmpp: rename charm to charmpp according to ++ conventions (#9216)
* Charmpp: rename charm to charmpp according to ++ conventions
* modify packages that depend on charmpp
2018-09-14 17:01:07 -07:00
Levi Baber
e07aef88f8 py-spectra: new version (#9224) 2018-09-14 16:59:50 -07:00
Mario Melara
5b9cbb518a OpenCoarrays: update v2.2.0 (#9215)
This commit adds a patch that prevents the package from hanging. The package would hang because CMakeLists would look for a system MPI. This patch changes the behavior.
2018-09-14 16:59:19 -07:00
Christoph Junghans
9661748900 miniamr: added v1.4.1 (#9225) 2018-09-14 16:56:59 -07:00
Adam J. Stewart
cca6b673db py-h5py: add version 2.8.0 (#9231) 2018-09-14 15:56:44 -07:00
Justin Stanley
8276256875 portcullis: new package starting at 1.1.2 (#9218) 2018-09-14 15:55:58 -07:00
Abhinav Bhatele
3bb12e3804 miniQMC: add newer releases and ecp-proxy-app tag (#9233) 2018-09-14 15:54:21 -07:00
Geoffrey Oxberry
69a9a3291a ipopt: add debug variant (#9223) 2018-09-14 15:53:25 -07:00
Geoffrey Oxberry
a76aa36481 hypre: add debug variant (#9222) 2018-09-14 15:53:06 -07:00
Levi Baber
62208afdb9 py-multiqc: needs newer py-spectra (#9226) 2018-09-14 15:52:29 -07:00
Levi Baber
3c33b5efef py-networkx: new version (#9241) 2018-09-14 15:52:02 -07:00
Levi Baber
617ff8f125 py-decorator: new version (#9240) 2018-09-14 15:51:43 -07:00
Levi Baber
49aed4584b py-markdown: fix url and hashes (#9235) 2018-09-14 15:51:20 -07:00
Levi Baber
f52812e571 perl-gdgraph-histogram: new package (#9250) 2018-09-14 15:50:18 -07:00
Ken Raffenetti
881af613b3 bolt: new package starting at 1.0b1 (#9253) 2018-09-14 15:49:36 -07:00
Justin Stanley
31da752402 metasv: add required dependencies (#9254)
* add runtime deps
* revert to strict dep versions
2018-09-14 15:49:11 -07:00
Ken Raffenetti
17d4005a4f argobots: new package starting at 1.0b1 (#9238) 2018-09-14 15:48:40 -07:00
Justin Stanley
dda27fc0d1 rmats: new package starting at 4.0.2 (#9243)
* new package starting at 4.0.2
2018-09-14 14:54:26 -07:00
Douglas Duckworth
716ed92e32 motioncor2 - added version 1.1.0 and removed old, unlisted versions (#9229) 2018-09-14 13:57:22 -07:00
Matthias Diener
36f396ad5b gdb: add version 8.2 (#9246) 2018-09-14 13:56:15 -07:00
Justin Stanley
ff6b9b99fa gatk: new version (#9202)
* gatk: added 4.0.8.1, fixed binary install
* gatk: fix flake8 conflict
* gatk: improve comments and modify install
2018-09-14 13:55:52 -07:00
Justin Stanley
451328d6e6 mxnet: added 1.3.0 (#9236)
* add version 1.3.0
* change build parameters, install process
  * mxnet will not compile against spack's nnvm and dmlc so we must use
    the distributions provided by the source package.
* also removed 'bin' installation as mxnet is just a shared library.
* improve BLAS linking
* remove unnecessary args
* added variant for python bindings
2018-09-14 11:01:30 -07:00
sknigh
24dd24600c Added Kibana package, added Elasticsearch to 6.4.0 (#9239)
* Added kibana, updated elasticsearch
* Update elastic search to 6.4
2018-09-14 10:50:20 -07:00
Daniel Topa
056960870b Hwloc add update 2.0.2 (#9244)
Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2018-09-14 10:48:38 -07:00
Levi Baber
0ed58374e7 py-colormath: new version, requires newer networkx (#9237)
* py-colormath: new version requires newer networkx
2018-09-14 10:35:45 -07:00
Matthias Diener
466bc20874 cmake: add version 3.12.2 (#9248) 2018-09-14 09:36:39 -07:00
Neil Flood
1122fc3d1e r-nloptr: Explicit depends_on(nlopt). Previously there was a hidden d… (#9176)
* r-nloptr: Explicit depends_on(nlopt). Previously there was a hidden dependency, masked by the package's configure script.

* r-nloptr: Change spelling of variables to satisfy pyflake8

* r-nloptr: Break a long line to satisfy pyflake8

* r-nloptr: larger indent on continuation, to satisfy pyflake8

* r-nloptr: another attempt at larger indent on continuation, to satisfy pyflake8

* r-nloptr: now a smaller indent on continuation, to satisfy pyflake8

* r-nloptr: Another attempt at right amount of indent.

* r-nloptr: Another attempt at right amount of indent.

* Use the correct attributes for finding the nlopt includes and libs.

* Lines too long, split into pieces
2018-09-14 08:11:16 -05:00
Christoph Junghans
98d8c4d7ca py-espresso: apply patch to v4.0.0 only (#9196) 2018-09-13 10:00:21 +00:00
scheibelp
22fbb3dba7 Bug fix: module file path parsing (#9100)
Improve Spack's parsing of module show to eliminate some false
positives (e.g. accepting MODULEPATH when it is in fact looking for
PATH). This makes the following changes:

* Updates the pattern searching for several paths to avoid the case
  where they are prefixes of unwanted paths
* Adds a warning message when an extracted path doesn't exist (which
  may help catch future module parsing bugs faster)
* Adds a test with the content mentioned in #9083
2018-09-12 18:15:31 -07:00
Abhinav Bhatele
1e2b3b0768 AMG: update version (#9228) 2018-09-12 14:11:05 -06:00
Ricardo Silva
62977662e9 petsc: fix compilation with intel (#9198)
* mpiifort doesn't automatically link all run-time libraries
* scalapack was being picked up accidentaly if intel-mkl was in the spec
2018-09-12 11:18:41 -07:00
Abhinav Bhatele
ff13f3953e ecp-proxy-apps: update dependencies for release 1.0 and 1.1 (#9217) 2018-09-11 15:10:49 -06:00
Tristan Carel
6d0933b2a0 steps: new package starting at 3.3 (#9173) 2018-09-11 14:43:15 +02:00
Adam J. Stewart
ccbff6e0cd Improve spec['python'].command support for bwpy (#9157) 2018-09-10 17:14:57 -05:00
Christoph Junghans
3dcbe50eb7 py-espresso: added v4.0.0 (#9192)
Added v4.0.0 and workaround for cmake bug
2018-09-10 08:55:32 +02:00
Satish Balay
a537d7b56e trilinos: disable xlf_tpetra.patch for trilinos@develop (#9193)
This patch does not apply cleanly anymore and breaks clang/Mac builds

balay@asterix /home/balay/git-repo/github/trilinos (develop=)
$ patch -Np1 < /home/balay/git-repo/github/spack/var/spack/repos/builtin/packages/trilinos/xlf_tpetra.patch
can't find file to patch at input line 3
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|--- a/packages/tpetra/core/src/Tpetra_Details_libGemm.cpp
|+++ b/packages/tpetra/core/src/Tpetra_Details_libGemm.cpp
--------------------------
File to patch:
2018-09-08 23:51:16 -05:00
Satish Balay
8afc630e96 assimp: fix compile issues with intel compilers on knl/linux [a depen… (#9191)
* assimp: fix compile issues with intel compilers on knl/linux [a dependency for dealii]

Fixes issue #9189

* assimp: add variant 'shared' with default value 'True'
2018-09-08 16:18:37 -05:00
Denis Davydov
ffca064778 xsdk: disable assimp in deal.II (#9190) 2018-09-08 16:07:37 -05:00
Josh Deaton
7295c8aaad libMesh: New variant and updated recent versions. (#9186)
* libmesh: Added SLEPC eigensolver variant.

* libmesh: Added new versions.

* Corrected flake8 errors.

* Corrected SLEPc variant with proper config & conflicts.
2018-09-07 21:13:34 -07:00
Mike Pozulp
e678266550 Tanim (#9158)
* Added jdk version, added r-ks and r-multicool packages, made some r packages less conservative in their r version requirement

* flake8 fixes

* fix formatting in jdk version cmd

* Added type=('build', 'run') to some R package dependencies,
added some missing dependencies to r-ks. Thanks Adam.

* fix flake8 error
2018-09-07 16:00:52 -05:00
Denis Davydov
18ca196753 xsdk: add dealii (#7529) 2018-09-06 19:22:17 -05:00
Satish Balay
b6b8c7058a Balay/xsdk trilinos develop (#9182)
* xsdk: update xsdk@develop dependency on trilinos@develop

* trilinos: enable tpetra, ifpack2, zoltan2, amesos2
2018-09-06 12:01:53 -05:00
Michael Kuhn
add0c8fe11 test: Make flag_handlers tests use mock repo (#9132)
Without this change, openssl's new perl dependency makes the tests fail.
2018-09-06 18:41:26 +02:00
Tristan Carel
733458347a gmodel: new package starting at 2.1.0 (#9170) 2018-09-06 10:48:08 +02:00
Tristan Carel
26b68a2bc5 gmsh: add git master and 4.0.0 versions (#9172) 2018-09-06 10:42:40 +02:00
Axel Huebl
901d76ef53 openPMD-api: ^py-numpy@1.15+ (#9178)
Due to an internal bug regarding the handling of scalars
(ndim must be 0) in numpy prior to 1.15.0, openPMD-api
will require the latest numpy 1.15+.

Since there is a small regression with datetime pickling in
1.15.0 from the required fix and spack only packages 1.15.1
currently, we depend on 1.15.1 in the recipe.
2018-09-06 10:41:45 +02:00
becker33
f6fff8f343 Spack environment updates take precedence (#9107)
Spack originally handled environment modifications in the following
order:

 1. clear environment variables
    (unless Spack was invoked with --dirty)
 2. apply spack-specific environment variable updates,
    including variables set by Spack core like CC/PKG_CONFIG_PATH
	and those set by installed dependencies (e.g. in
	setup_dependent_environment)
 3. load all external/compiler modules

1 and 2 were done together. This splits 1 into its own function and
imposes the following order for environment modifications:

 1. clear environment variables
 2. load all external/compiler modules
 3. apply spack-specific environment variable updates

As a result, prepend-path actions taken by Spack (or installed Spack
dependencies) take precedence over prepend-path actions from compiler
and external modules. Additionally, when Spack (or a package
dependency) sets/unsets an environment variable, that will override
the actions of external/compiler modules.
2018-09-05 17:28:39 -07:00
Tristan Carel
a779e87442 omega-h: add versions and variants (#9169)
* add 5 most recent versions and git master branch
* add trilinos, gmodel, throw, examples, optimize, symbols,
  and warnings variants
* disable XSDK so that Trilinos dependencies are found.
2018-09-05 11:01:45 -07:00
Sergey Kosukhin
f9617b2ad8 Extended set of environment modification commands. (#8996) 2018-09-05 10:56:45 -07:00
健美猞猁
501669faba Pack dlang's stdlib into dmd. (#9131)
* Update dmd.

* Build dmd and druntime.

* Build dmd.

* Restore edit.

* Flake8.
2018-09-04 14:49:28 -05:00
健美猞猁
8b9b89b931 Onedrive: a new package. (#9130)
* skilion-onedrive: a new package.

* Fix flake8 issues.
2018-09-04 14:35:49 -05:00
健美猞猁
9fe7000dda Bamdst: a new package. (#9113)
* Bamdst: a new package.

* Remove duplicate make() in install().
2018-09-04 14:35:33 -05:00
Levi Baber
5737155dd0 trinity: full dependencies (#9064) 2018-09-04 14:35:06 -05:00
Levi Baber
059daa2012 r-summarizedexperiment: new version (#9054)
* r-summarizedexperiment: new version

* r-summarizedexperiment: add ending range for r3.4 dep

* r-summarizedexperiment: fix range
2018-09-04 14:34:45 -05:00
Miles Perry
447db2fe8d Feature/py pycogent New-Version (#9095)
* added py-pycogent

* flake8 edits

* added type=('build', 'run') to deps, changed py-matplotlib and mpi4py

* changed python min version to 2.6

* fixed cython to py-cython dep

* fixed mpi4py to py-mpi4py

* fixed py-sqlalchemy

* added 1.5.3 version

* fixed version 1.5.3 install

* changed deps names to reflect convention

* added variants

* changed download URL and added SHA256 hash

* fixed deps

* added github url for 1.5.3

* removed unneeded deps

* doesn't require py-setuptools

* fixed url and added py-setuptools specific to version 1.9

* fixed variant names and changed cython to normal dependency instead of variant

* removed cython dep, failed to build when it was present. Changed variant name 'mpi4py' to 'mpi' and changed sqlalchemy variant name to mpi

* fixed dependencies and added py-pymysql dep

* added setup-environment step

* changed download url for 1.5.3 to pypi

* fixed flake8 issue

* updated

* added changes
2018-09-04 14:34:18 -05:00
Francesco Di Natale
e85f737d1f py-maestrowf: Addition of new releases. (#9135)
* Addition of latest maestrowf releases.

* Addition of filelock to dependencies.

* Addition of when clause to depends_on for filelock and tabulate.

* Correction of the tar url.
2018-09-04 14:33:55 -05:00
Chris Green
dd27662b40 Enable testing in parallel when using CMake. (#8484)
* Add 'extra_env' argument to Executable.__call__: this will be added
  to the environment but does not affect whether the current
  environment is reused. If 'env' is not set, then the current
  environment is copied and the variables from 'extra_env' are added
  to it.
* MakeExecutable can take a 'jobs_env' parameter that specifies the
  name of an environment variable used to set the level of parallelism.
  This is added to 'extra_env' (so does not affect whether the current
  environment is reused).
* CMake-based Spack packages set 'jobs_env' when executing the 'test'
  target for make and ninja (which does not use -j)
2018-09-04 11:37:19 -07:00
Adam J. Stewart
0ca69fef42 Better warning message when fetching non-existent URL 2018-09-03 20:42:01 -07:00
Levi Baber
3c9b0ee2ea r-genomicalignments: new version (#9055)
* r-genomicalignments: new version

* r-genomicalignments: ending range for r3.4 dep

* r-genomicalignments: fix range
2018-09-03 21:04:22 -05:00
Levi Baber
35d87bdf09 r-biomart: new version; (#9058)
* r-biomart: new version;

* r-biomart: ending range for r3.4 dep

* r-biomart: fix version range
2018-09-03 21:03:47 -05:00
Levi Baber
cb9a95fc37 r-deseq2: new version (#9062)
* r-deseq2: new version

* r-deseq2: fix r 3.4 dep range
2018-09-03 21:03:08 -05:00
Hadrien G
930e266a36 New package: AIDA (#9094)
* Trying to package old AIDA

* Document the incompleteness

* Install the jars too
2018-09-03 21:02:06 -05:00
Miles Perry
cb9e8eda8f Feature/py picrust New Package (#9096)
* added py-picrust

* flake8 edits

* fixed boilerplate, added type='build', 'run'

* fixed errors

* added deps

* fixed error

* fixed numpy max version

* fixed future version

* fixed version issues
2018-09-03 20:58:49 -05:00
Neil Flood
ee14d273e5 nlopt: Only support release>=2.5.0, since earlier release tarballs were actually AutoTools, not CMake. (#9110) 2018-09-03 20:56:48 -05:00
Miles Perry
ad8fbe3c7f aperture-photometry: new package (#9119) 2018-09-03 20:52:11 -05:00
Miles Perry
585c69b94c py-pymysql: new package (#9122)
* py-pymysql: new package

* added type build and run
2018-09-03 20:50:39 -05:00
Geoffrey Oxberry
4bdfa19d97 openblas: add @0.3.1, patch CMake export bug in @0.3.1:0.3.2 (#9123)
* openblas@0.3.1:0.3.2: patch CMake export bug

See https://github.com/xianyi/OpenBLAS/pull/1703.

* openblas@0.3.1: new version
2018-09-03 20:49:45 -05:00
Abhinav Bhatele
ed657e97fa New package: CODES simulation framework (#9133)
* New package: CODES simulation framework

* CODES: add comments

* CODES: remove -fi from extra autoreconf flags
2018-09-03 20:43:50 -05:00
Edoardo Aprà
187e110ab0 NWChem 6.8.1 (#9140) 2018-09-03 20:36:49 -05:00
rice31
6e7af3362e added version for kull support (#9141) 2018-09-03 20:36:15 -05:00
Timo Heister
89c77051fe aspect: new version (#9146) 2018-09-03 20:35:45 -05:00
Jim Galarowicz
ccd96a2fed Update openspeedshop and cbtf version numbers (#9150)
Update the version numbers and now depend on
the develop version of dyninst because of a
feature in openspeedshop depends on new code
in the dyninst develop tree.  Without dyninst
develop, openspeedshop will not build.
2018-09-03 20:35:25 -05:00
Levi Baber
e3bae8f936 py-matplotlib: incorporate 8532 w/ version range (#9151)
* py-matplotlib: Add patch to fix FreeType library detection

Adds patch to add $CPATH to locations searched for FreeType header file

Patch has been upstreamed:
https://github.com/matplotlib/matplotlib/pull/11457

* py-matplotlib: Add patch to fix FreeType library detection

* Make patch only apply to versin 2.2.2 (as already upstreamed)
* Fix flake8 format issue

* py-matplotlib: add range to freetype patch

* py-matplotlib: whitespace
2018-09-03 20:34:41 -05:00
Adam Moody
801f1a0a7d mpifileutils: add v0.8 (#9152) 2018-09-03 20:34:07 -05:00
Matthias Wolf
4df60caf5b msgpack-c, snappy: explicitly depend on googletest (#9167) 2018-09-03 20:25:17 -05:00
David Wells
734d6306a2 Fix two dependencies with silo. (#9153)
1. I presently get errors of the sort

==> Error: KeyError: 'No spec with name mpi in silo@4.10.2%gcc@8.1.0+fortran+mpi
[...]
$HOME/spack/var/spack/repos/builtin/packages/silo/package.py:84, in configure_args:
         81                'FCFLAGS={0}'.format(self.compiler.pic_flag)]
         82
         83        if '+mpi' in self.spec:
  >>     84            config_args.append('CC=%s' % self.spec['mpi'].mpicc)
         85            config_args.append('CXX=%s' % self.spec['mpi'].mpicxx)
         86            config_args.append('FC=%s' % self.spec['mpi'].mpifc)

without the extra explicit MPI dependency.

2. Silo uses zlib, so we should explicitly depend on it.
2018-09-03 16:43:00 +02:00
Todd Gamblin
940e35059e travis: bring back macOS test in unit test stage 2018-09-03 07:27:21 -07:00
Todd Gamblin
03542f2a07 travis: clean up .travis-ci.yml wrapping and indentation
- fix line wrapping in travis.yml to make parts more legible
- Travis can handle multi-line if statements if you use semicolos.
2018-09-03 07:27:21 -07:00
Todd Gamblin
e58c6e1b73 travis: fix macOS builds, avoid brew autoupdate 2018-09-03 07:27:21 -07:00
Adam J. Stewart
4920f1cff1 Vim: add version 8.1.0338 (#9155) 2018-09-01 08:12:14 -05:00
Adam J. Stewart
c5c3b65c60 GDAL: add version 2.3.1 (#9156) 2018-09-01 07:32:24 -05:00
Cody Balos
e7df911026 SUNDIALS: add new versions, update hashes, and apply clang fix (#9115)
Added SUNDIALS 3.1.2 and 4.0.0-dev.1 versions and relevant dependencies
(3.1.2 requires CMake 2.8.12). Updated all versions to use sha256 hashes.
Addressed issue specific to clang compiler on macOS.
2018-08-31 12:14:15 -07:00
Francesco Di Natale
3d92b975f3 py-filelock: new package (#9136)
* Addition of py-filelock and first page of versions.

* Addition of setup.py patch for setuptools.

* flake8 failure fixes.

* Reduced url declaration to a single line.

* Correction to py-filelock to use distutils.
2018-08-31 11:21:55 -07:00
Geoffrey Oxberry
d54a91fd2b openblas@0.3.3: new version (#9143) 2018-08-31 11:14:37 -07:00
rice31
20a914374e libpng package: add version (#9142) 2018-08-31 10:26:13 -07:00
Levi Baber
535b09d811 singularity: new version 2018-08-31 08:47:24 -07:00
Michael Sternberg
d95fdc8441 Update instructions to initialize Spack-global license files (#8991)
* Suggest adding contents before the explanatory comment to avoid
  issue #6534
* Mention that the license file may not need to be edited
2018-08-29 22:04:14 -07:00
Michael Sternberg
a86f22d755 Intel prefixes (#7469)
Consolidate prefix calculation logic for intel packages into the
IntelPackage class.

Add documentation on installing Intel packages with Spack an
(alternatively) adding them as external packages in Spack.
2018-08-29 21:09:34 -07:00
Mark W. Krentel
e860307c31 binutils: add variant 'nls' for native language support (#9124)
Add variant 'nls' for native language support with default True.
The default inside binutils was always on, but this gives a way of
turning it off, if desired.

Adjust the dependencies.  Flex is never used for a one-time build.
Bison and m4 should not be needed, except that prior to rev 2.30, gold
did not include its generated files, so bison is needed when +gold.

Drop configure option --enable-interwork.  This option does not exist.
2018-08-29 20:32:41 -07:00
Adam J. Stewart
1383834d15 Add MDB driver support to GDAL (#8614) 2018-08-29 12:35:56 -05:00
Andreas Baumbach
1e0c337fe9 New package: NEST Simulator (#9092) 2018-08-29 13:30:29 -04:00
Abhinav Bhatele
23f89ccc0b ROSS package: fix build error and add v7.0.0 (#9128) 2018-08-29 13:13:50 -04:00
Andreas Baumbach
5aded248a5 spack view suggests -I option for merge conflict (#9035) 2018-08-29 13:10:55 -04:00
Andrew Gaspar
ebf21d1d87 Adds a package for optional-lite header-only library (#9117) 2018-08-29 18:14:59 +02:00
Christoph Junghans
5de47da740 flecsi: fix build (#9129) 2018-08-29 09:23:02 -06:00
Andrew Gaspar
f540b2ca1b Adds a package for span-lite header-only library (#9118) 2018-08-29 11:01:35 +02:00
Geoffrey Oxberry
eeaa924a6f hdf5@1.10.3: new version (#9121) 2018-08-29 10:58:24 +02:00
Geoffrey Oxberry
c7a8b47e74 ipopt@3.12.10: new version (#9120) 2018-08-29 10:58:05 +02:00
Massimiliano Culpo
cf807f6fd1 New package: channelflow (#9111) 2018-08-29 10:54:34 +02:00
Douglas Duckworth
1a7e9e58d0 added star 2.6.1a (#9103) 2018-08-29 07:34:04 +02:00
Michael Kuhn
3d7457edde go: Update to 1.11 (#9101) 2018-08-29 07:00:40 +02:00
Andrew Gaspar
168c6d9428 Add string-view-lite package for header only library (#9125) 2018-08-29 06:54:20 +02:00
Christoph Junghans
cefc1069e6 gasnet:version bump (#9127) 2018-08-29 06:48:52 +02:00
Jannek Squar
b78ccb74d8 atk package: hotfix #9099 (#9102)
Adds explicit python3 dependency for meson
2018-08-28 16:35:30 -04:00
Adam J. Stewart
be42b8df19 Java updates: new versions, classpath, and JAVA_HOME (#8613)
This PR includes the following changes:

* Added JDK 10
* Changed the JDK version numbers according to the consensus reached
  in #2284
* Added spec['java'].home and spec['java'].libs, similar to #3367
  (JDK and IcedTea)
* Added a check to prevent people from installing JDK on macOS
* Set CLASSPATH for packages depending on Java (JDK and IcedTea)
* Add TODO for extending virtual packages (not currently possible)
* Add TODO for adding Java dependents to views
* Add TODO for packages which extend multiple packages (e.g. Java
  and Python)
2018-08-28 14:35:13 -04:00
Douglas Duckworth
04c25ac468 perl-star-fusion package: update latest version (#9104) 2018-08-28 13:22:18 -04:00
Andreas Baumbach
7d61ef5078 import spack load error message (#9088)
It now additionally prints spec hash and options
2018-08-27 21:26:24 -04:00
Massimiliano Culpo
6f5a68a58d Moved functions returning default scopes to spack.config
The functions returning the default scope to be modified or listed
have been moved from spack.cmd to spack.config.

Lmod now writes the guessed core compiler in the default modify scope
instead of the 'site' scope.
2018-08-27 14:49:50 -07:00
Massimiliano Culpo
8ecf5ae2ee Spack can guess lmod core compilers, if none is already present
closes #8916

Currently Spack ends with an error if asked to write lmod modules files
and the 'core_compilers' entry is not found in `modules.yaml`. After
this PR an attempt will be made to guess that entry and the site
configuration file will be updated accordingly.

This is similar to what Spack already does to guess compilers on first
run.
2018-08-27 14:49:50 -07:00
Sasha Nícolas
2fdfa46735 dyninst: add dependency on libiberty (#8806)
* Adding dependency of libiberty to Dyninst package configuration.
* Now it depends on libiberty package and not binutils.
2018-08-27 14:34:05 -07:00
Alan Williams
c56992587e Add line in trilinos/stk configuration to enable stk_ngp package. (#9082)
The Trilinos/stk configuration is pretty Nalu specific right
now (and is acknowledged as such in a comment in package.py), and
this commit enables a module that Nalu will be needing.
2018-08-26 19:49:35 -05:00
Levi Baber
bba5967dcc r-goseq: new package (#8939)
* r-goseq: new package

* r-goseq: git not url

* r-goseq: adding packages needed at runtime

* r-goseq: package type

* r-goseq: dep types

* r-goseq: one more
2018-08-26 19:45:23 -05:00
lingnanyuan
7c06492d94 braker: add new version 2.1.0 (#8946)
* braker: add new version 2.1.0

* Set verison in descending order.

* Update URL.

* url

* braker: change url format.
2018-08-26 19:44:53 -05:00
TZ
2ae1bfd283 patch for OF.com@18.06 to correctly find KAHIP (#8982)
- OpenFOAM-v1806/wmake/scripts/have_kahip must check
  $KAHIP_ARCH_PATH instead of $METIS_ARCH_PATH to detect the KAHIB
  library
- use a local patch file until the issue is hopefully fixed upstream
2018-08-26 19:44:06 -05:00
Adam J. Stewart
cc01e89d6b Update to latest version of pytest and dependencies (#9087)
* Update to latest version of pytest and dependencies

* Fix bug in installation tests
2018-08-25 14:12:46 -05:00
Todd Gamblin
3c292de6bd bugfix: 'submodules' attribute should imply git fetch
- 'submodules' wasn't properly declared as an optional attribute for git
  fetcher

- add it and add a test.
2018-08-25 10:20:39 -07:00
Todd Gamblin
3f0e6d04e0 commands: add spack url stats command
This command prints out stats about all package versions, like so:

$ spack url stats
==> 6070 total versions for 2827 packages:
------------------------------------
url                    5411    89.1%
  schemes
    https              3822    70.6%
    http               1527    28.2%
    ftp                  27     0.5%
    file                 35     0.6%
  checksums
    sha512                6     0.1%
    sha256              163     3.0%
    sha1                 81     1.5%
    md5                5161    95.4%
------------------------------------
svn                       3     0.0%
------------------------------------
hg                        5     0.1%
------------------------------------
go                        1     0.0%
------------------------------------
git                     650    10.7%
  security
    no commit           384    59.1%
    commit              266    40.9%
------------------------------------
2018-08-25 10:20:39 -07:00
Todd Gamblin
82820efe37 Remove Python 3.3 from testing.
- Support for Python 3.3 isn't really needed, as nothing uses it as the
  default system Python, and nearly everyone will have a newer Python 3
  version installed.
2018-08-24 16:22:37 -07:00
Hadrien G
a7f3fa01d5 new package: GSL - C++ Guideline Support Library (#9091)
Since "GSL" is a highly overloaded acronym, the package name is "cppgsl".
2018-08-24 17:45:18 -04:00
Hadrien G
afff196a06 Update the pocl package (#9090)
* Update the pocl package

* Use url_for_version

* Clarify hwloc version requirements

* Apply hwloc dependency suggestion
2018-08-24 12:26:17 -05:00
Hadrien G
b7e4be4d29 Add new CLHEP releases and move to sha256 hashes (#9089) 2018-08-24 09:49:38 -05:00
Hadrien G
4fbcecd0cd range-v3 package (#9093)
* Add first version of a Range-v3 package

* Add C++ standard variant to range-v3 package
2018-08-24 09:41:25 -05:00
Matthias Diener
95ca99bbdd htop: add version 2.2.0 (#9086) 2018-08-23 18:50:01 -05:00
Matthias Diener
30cbca2c32 bison: add new version (#9085) 2018-08-23 17:00:26 -05:00
Christoph Junghans
ca2e1e9019 lammps: add v20180822 (#9081) 2018-08-23 12:17:27 -05:00
Brian Spilner
87c2214b02 add cdo releases 1.9.4 and 1.9.5 (#9079) 2018-08-23 10:27:35 -05:00
Adam J. Stewart
7f419d34ac Set DYLD_LIBRARY_PATH on macOS (#9073) 2018-08-23 15:39:44 +02:00
Michael Kuhn
983957f7c0 mvapich2: Use rdma-core for mrail and nemesis*ib* fabrics (#9072) 2018-08-23 07:32:46 -05:00
Adam J. Stewart
5e8a9ddaed More consistent colored messages from activate/deactivate (#9036)
* More consistent colored messages from activate/deactivate

* Make 'activating' the default, make 'activated' the debug
2018-08-22 22:09:51 -07:00
Daniel Topa
05c4ff4e92 Open mpi add v3.1.2 (#9078)
* Add latest release 3.0.2
https://www.open-mpi.org/software/ompi/v3.0/:x

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* 1. Added correct md5 sum for Open MPI v3.1.1 (https://www.open-mpi.org//software/ompi/v3.1/)
2. Made v3.1.1 the default version
3. Added libmpiso versions for v3.1.1 and 3.0.2

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* Added Open MPI v2.14 to version list; Tested build; Added libmpi.so version

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* Open MPI 3.1.2 built and tested

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2018-08-22 23:17:48 -05:00
Sam Gutiérrez
8c89e67669 libquo: Packaging updates. (#9076)
* libquo: Packaging updates.

This commit accomplishes a few things:
* Changes distribution fetch source
* Removes a deprecated version (1.2.9)
* Changes dependencies based on version type
* Adds a custom autoreconf stage when using the 'develop' version,
  omitting this step when building from a distribution

* Reintroduce v1.2.9.
2018-08-22 23:17:15 -05:00
Michael Kuhn
a6826a7a2d glib: Add 2.56.2 (#9071)
This should finally fix build failures on RHEL6-based distributions.
Also fix the patch to apply to the correct versions and distributions.
2018-08-22 14:21:54 -05:00
Sam Gutiérrez
66971f6ac8 libfabric: Add develop version option. (#9074)
Add develop version option to libfabric, conditionally bringing in
additional build dependencies: m4, autoconf, automake, libtool.
2018-08-22 14:21:30 -05:00
Michael Kuhn
0b2a4aea6d leveldb: Fix header installation (#9069)
leveldb headers are typically included via <leveldb/c.h>. The migration
to install_tree in 73c978ddd9 caused the
headers to end up in prefix.include, which breaks existing applications.
2018-08-22 09:46:11 -05:00
Levi Baber
8b092c242f r-genefilter: new version (#9063)
* r-genefilter: new version

* r-genefilter: fix version in dep
2018-08-22 09:45:56 -05:00
Levi Baber
0b47741400 r-annotate: new version (#9061) 2018-08-22 09:45:11 -05:00
Levi Baber
51b3edc4f4 r-geneplotter: new version (#9060) 2018-08-22 09:44:48 -05:00
Levi Baber
96913f1876 r-qvalue: new version (#9059) 2018-08-22 09:44:21 -05:00
Levi Baber
b474e0bdc9 r-rtracklayer: new version (#9056) 2018-08-22 09:43:25 -05:00
Levi Baber
bfe58cd4a9 r-genomicfeatures: new version (#9057) 2018-08-22 09:41:38 -05:00
Levi Baber
711c3d7d69 r-delayedarray: new version (#9053) 2018-08-22 09:39:52 -05:00
Levi Baber
9a98f45064 r-genomicranges: new version (#9052) 2018-08-22 09:39:23 -05:00
Levi Baber
c0aabecbb1 r-genomeinfodb: new version (#9051) 2018-08-22 09:38:28 -05:00
Levi Baber
a38e7c783d r-genomeinfodbdata: new version (#9050) 2018-08-22 09:37:56 -05:00
Levi Baber
b1a619fdeb r-rsamtools: new version (#9049) 2018-08-22 09:37:03 -05:00
Matthias Diener
6ca7654df9 intel-parallel-studio: add version 2018.3 (#9047)
* intel-parallel-studio: add version 2018.3

* update intel package too
2018-08-22 09:36:33 -05:00
Denis Davydov
3a041b3fea dealii: patch boost 1.68.0 (#9070)
* dealii: patch boost 1.68.0

* indent for readability
2018-08-22 09:34:47 -05:00
Massimiliano Culpo
85f84aabed Added a new target message to comply with newer versions of GNU Make (#9068)
#fixes 9067

Unit tests were failing on a system with GNU Make v 4.1
2018-08-22 09:32:25 -05:00
Levi Baber
2f6a6a45a9 r-biostrings: new version (#9048) 2018-08-22 12:21:43 +02:00
Todd Gamblin
c0855d9bd5 tests: add tests for warnings in build output
- add tests for build warnings and error messages
- simplify some code in build environment with plural() function
2018-08-21 21:21:53 -07:00
Adam J. Stewart
0b0887f48f Display warnings if no errors are found in build log 2018-08-21 21:21:53 -07:00
Adam J. Stewart
f97550e149 Fix error caused by missing spack-build.out build log 2018-08-21 14:16:50 -07:00
Levi Baber
db508a8f89 r-iranges: new version (#9041)
* r-iranges: new version

* r-iranges: typo
2018-08-21 15:02:52 -05:00
Levi Baber
db09b71be1 r-biobase: new version (#9038)
* r-biobase: new version

* r-biobase: reordering versions
2018-08-21 14:15:42 -05:00
Levi Baber
1340abf1bc r-biocgenerics: new version (#9039)
* r-biocgenerics: new version

* r-biocgenerics: reordering versions
2018-08-21 14:15:30 -05:00
Levi Baber
2c92d50495 r-annotationdbi : new version (#9040)
* r-annotationdbi: new version

* r-annotationdbi: dep type

* r-annotationdbi: reordering versions
2018-08-21 14:15:17 -05:00
Sam Gutiérrez
c9fdb610f2 Add 1.6.1 release. (#9042) 2018-08-21 14:14:17 -05:00
Levi Baber
c62c9257d7 r-s4vectors: new version (#9043) 2018-08-21 14:14:05 -05:00
Levi Baber
efbb2c0733 r-zlibbioc: new version (#9044) 2018-08-21 14:13:52 -05:00
Levi Baber
eb74f49363 r-xvector: new version (#9045) 2018-08-21 14:13:39 -05:00
Levi Baber
af2dc7f3d3 r-biocparallel: new version (#9046) 2018-08-21 14:13:27 -05:00
Andreas Baumbach
df172001cc fix numbering in build error template (#9030)
The original numbering was not incorrect markdown but this is easier to read.
2018-08-21 12:37:24 -04:00
Todd Gamblin
63004e3de1 yaml: use ruamel.yaml instead of pyyaml
- ruamel.yaml allows round-tripping comments from/to files
- ruamel.yaml is single-source, python2/python3 compatible
2018-08-20 16:36:04 -07:00
Adam J. Stewart
2e8a820afd Even better Makefile target parsing (#8819)
#8223 replaced regex-based makefile target parsing with an invocation of
"make -q". #8818 discovered that "make -q" can result in an error for some
packages.

Also, the "make -q" strategy relied on interpreting the error code, which only
worked for GNU Make and not BSD Make (which was deemed acceptable at
the time). As an added bonus, this implementation ignores the exit code and
instead parses STDERR for any indications that the target does not exist; this
works for both GNU Make and BSD Make.

#8223 also updated ninja target detection to use "ninja -t targets". This does
not change that behavior but makes it more-explicit with "ninja -t targets all"

This also adds tests for detection of "make" and "ninja" targets.
2018-08-20 17:42:28 -04:00
Massimiliano Culpo
2cd3e3fa76 Introduce templates for specific issue types (#8842)
This replaces the single github issue-reporting template with templates for the
following types of issues:

* Build issues
* Spack command errors
* Feature request

Each template includes suggestions which are generally useful for the type of
issue encountered.
2018-08-20 15:24:42 -04:00
Denis Davydov
271633ee93 dealii: add constraint on suite-sparse for old gcc (#9026) 2018-08-20 10:43:30 -05:00
Denis Davydov
5aa126d850 dealii: blacklist boost 1.68.0 due to segmentation fault in serialization lib (#9023) 2018-08-20 09:40:10 -05:00
Denis Davydov
4ba8c0cb58 update Intel packages (2018.u5 for TBB and 2018.u3 for the others) (#8928) 2018-08-20 07:56:53 -05:00
Daniel Topa
11d94f4c4f Open MPI: add v2.1.5 (#9021)
Final fix for v2.1 (hopefully)
Test build on LANL CCSCS4, Desktop

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2018-08-18 22:44:14 -05:00
Daniel Topa
31380204c9 Openmpi add v2.1.4 (#9006)
* Add latest release 3.0.2
https://www.open-mpi.org/software/ompi/v3.0/:x

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* 1. Added correct md5 sum for Open MPI v3.1.1 (https://www.open-mpi.org//software/ompi/v3.1/)
2. Made v3.1.1 the default version
3. Added libmpiso versions for v3.1.1 and 3.0.2

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* Added Open MPI v2.14 to version list; Tested build; Added libmpi.so version

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2018-08-18 20:34:05 -05:00
Abhinav Bhatele
9628181bd4 chatterbug: new spack package (#8994) 2018-08-18 16:18:50 -07:00
Nichols A. Romero
f4ee07527c QMCPACK Spack Package Update (Summer 2018) (#9008)
* QMCPACK now supports QE 6.3. Dropped QE 5.3 due to incompatibilities.

* QMCPACK general clean-up of depends_on.

* Add QMCPACK 3.5.0

* More robust support of MKL detection in QMCPACK.
2018-08-18 11:26:17 -05:00
Abhinav Bhatele
412832159b scorep: make optional packages variants (#9011)
* scorep: make optional packages variants

add packages for cube sub-components: cubew, cubelib

* fix style errors
2018-08-18 11:25:05 -05:00
Adam J. Stewart
d14991a261 Fix missing makefile variable in clapack package (#9016) 2018-08-18 11:19:40 -05:00
Adam J. Stewart
879bdec285 CBLAS: Don't hardcode BLAS library name (#9017) 2018-08-18 11:19:24 -05:00
Michael F. Herbst
ce68216574 Update bohrium version (#9020) 2018-08-18 09:22:16 -05:00
scheibelp
638cc64571 install_tree: symlink handling and add 'ignore' option (#9019)
Fixes #9001

#8289 added support for install_tree and copy_tree to merge into an existing
directory structure. However, it did not properly handle relative symlinks and
also removed support for the 'ignore' keyword. Additionally, some of the tests
were overly-strict when checking the permissions on the copied files.

This updates the install_tree/copy_tree methods and their tests:

* copy_tree/install_tree now preserve relative link targets (if the symlink in the
  source directory structure is relative, the symlink created in the destination
  will be relative)
* Added support for 'ignore' argument back to copy_tree/install_tree (removed
  in #8289). It is no longer the object output by shutil.ignore_patterns: you pass a
  function that accepts a path relative to the source and returns whether that
  path should be copied.
* The openfoam packages (currently the only ones making use of the 'ignore'
  argument) are updated for the new API
* When a symlink target is absolute, copy_tree and install_tree now rewrite the
  source prefix to be the destination prefix
* copy_tree tests no longer check permissions: copy_tree doesn't enforce
  anything about permissions so its tests don't check for that
* install_tree tests no longer check for exact permission matching since it can add
  file permissions
2018-08-17 22:08:38 -04:00
Jim Galarowicz
a7a6745120 qtgraph and cbtf-argonavis create proper library paths in modules (#8797) 2018-08-17 15:58:08 -07:00
Adam J. Stewart
99492dc910 Specify Python executable in VTK package (#9000) 2018-08-17 14:51:49 -05:00
Michael Kuhn
e04fb382b1 libmongoc: Fix build (#9012)
libmongoc requires pkg-config to detect several of its dependencies.
2018-08-17 08:22:30 -05:00
Mark W. Krentel
c06c02bce5 libunwind: add version 1.3-rc1 and variant xz (#8989)
* libunwind: add version 1.3-rc1 and variant xz

Version 1.3-rc1 is the latest published snapshot from libunwind.

Variant xz adds spack-built support for reading compressed symbol
tables, or else disables this feature.  Without the variant, libunwind
will look for liblzma in /usr/lib.

* Add preferred=True to version 1.2.1 as the last official stable
release.
2018-08-17 08:22:04 -05:00
Geoffrey Oxberry
e92e14e330 gperftools@2.7: new version; homepage, URL, hash updates (#9010)
* gperftools@2.7: new version

* gperftools: update homepage & url

The URL in the homepage field of the gperftools package redirects to
its GitHub repo, and the URL for version 2.3 returns a 404 error. This
commit updates both fields to the most recent sensible values.

* gperftools: update commit hashes to sha256

This commit deletes the url field for all listed versions because it
is no longer needed as a result of updating the package url field. In
addition, all commit hashes are updated to SHA256.
2018-08-16 19:38:02 -05:00
Tom Merrick
f5b4209543 Packages/atk (#9002)
* initial atk update

* Add coreqs

* Fixed flake8 errors

* corrected gnome's version URLs

* Added correct list_url's

* Changed list_depth
2018-08-16 18:11:52 -05:00
Geoffrey Oxberry
e8e672972a binutils@2.31.1: new version (#9007) 2018-08-16 18:10:08 -05:00
Todd Gamblin
39c9bbfbbb imports: spack uses importlib instead of imp when available
- `imp` is deprecated and seems to have started having some weird
  issues on certain Linux versions.
  - In particular, the file argument to `load_source` is ignored on
    arch linux with Python 3.7.

- `imp` is the only way to do imports in 2.6, so we'll keep it around for
  now and use it if importlib won't work.

- `importlib` is the new import system, and it allows us to get
  lower-level access to the import implementation.

- This consolidates all import logic into `spack.util.imp`, and make it
  use `importlib` if it's avialable.
2018-08-16 16:00:44 -07:00
Michael F. Herbst
f838b5e8c0 libcint: New version 3.0.12 (#9003) 2018-08-16 15:59:26 -05:00
rvinaybharadwaj
2f8168c778 fix for issue #8845 (#8988) 2018-08-16 13:22:44 -06:00
Sajid Ali
cde5116bb2 Add blis package (#8925) 2018-08-16 11:26:43 -05:00
Douglas Duckworth
be11608732 added relion version 3 (beta) (#8872)
* added relion 3 beta - WIP

* added relion 3 beta - WIP

* more relion changes - still WIP

* more changes for relion

* more changes

* now correctly handling cuda_arch

* now correctly handling cuda_arch

* fixed flake8 syntax errors

* fixed flake8 syntax errors

* merge

* fixed flake8 errors again

* relion 3 finished

* added print message to cuda_arch exception

* relion - shortened explination

* still need tag=2.0.3 for v 2.0.3 - removed @develop since it no longer exists

* correct cuda versions now used properly

* relion 3 done

* added tags back

* fixed exception message

* relion - added develop back as master
2018-08-16 10:51:58 -05:00
TZ
cd446a9668 openfoam-com: correctly use foam_add_lib() (#8969)
- foam_add_lib() must be used instead of the undefined foamAddLib()
  for adding VTK
2018-08-16 08:44:30 -07:00
Tom Merrick
d099eba8c4 glib: patch for rhel6, centos6, and sl6 (#8947) 2018-08-16 08:43:56 -07:00
Adam J. Stewart
ac6d929897 Fix spack versions behavior when no URL (#8967)
* Fix spack versions behavior when no URL
* Unit test packages without URLs or safe versions
2018-08-16 08:42:23 -07:00
Andreas Baumbach
ead9363bee add patch for gcc@8 for python 2.7.14 (#8990)
* add gcc8 patch for python 2.7.14

Change-Id: I48cb5e717577d8158d1f7f1fe270156a01940d8a

* add explaining comment

Change-Id: Ia46168e2269d7de47d7ec8d0bf9e3b7696ea8e31

* remove unnecessary part of the patch

Change-Id: Iee763effe2439f0f160c1547640eca4bb9451a68
2018-08-16 07:51:09 -05:00
Adam J. Stewart
5be5c486ac Download GNU packages from mirrors (#8992) 2018-08-15 23:27:21 -07:00
dorier
44e13b0478 ROSS: added ROSS package (#8964) 2018-08-15 14:24:28 -07:00
Sergey Kosukhin
ae2ef7b63b libtool: recursive cloning for the develop version. (#8987) 2018-08-15 13:45:29 -05:00
Adam J. Stewart
73c978ddd9 install_tree, copy_tree can install into existing directory structures (#8289)
Replace use of `shutil.copytree` with `copy_tree` and `install_tree` functions in `llnl.util.filesystem`.

- `copy_tree` copies without setting permissions.  It should be used to copy files around in the build directory.
- `install_tree` copies files and sets permissions.  It should be used to copy files into the installation directory.
- `install` and `copy` are analogous single-file functions.
- add more extensive tests for these functions
- update packages to use these functions.
2018-08-15 09:30:09 -07:00
TZ
c0699539d5 zoltan: fix building with Intel compilers (#8985)
* zoltan: fix building with Intel compilers

- building with the Intel compilers may require explicit linking
  with the Intel Fortran library (libifcore)

* simplify code; get rid of format() for static strings
2018-08-15 10:40:58 -05:00
Ricardo Silva
ce16011427 grass improvement: specify proj data directory (#8984) 2018-08-15 09:54:08 -05:00
Todd Gamblin
62026ce302 tests: make the dependency patching test more complete
- dependency patching test didn't attempt to apply patches; just to see
  whether they were on the spec.

- it applies the patch now and verifies that that patch was applied.
2018-08-14 14:33:50 -07:00
Adam J. Stewart
85d00c5ef4 Change bzip2 download URL (#8976)
* Change bzip2 download URL

* bzip2.org -> bzip.org
2018-08-14 10:46:15 -06:00
Levi Baber
3d1cfaeb39 r-rots: new package (#8941)
* r-rots: new package

* r-rots: hash is a commit

* r-rots: dep types
2018-08-14 07:14:06 -05:00
Matthias Diener
a1e08f009d Csh: fix load/use commands (#8971) 2018-08-14 09:28:43 +02:00
Satish Balay
783435c1de xsdk: add slepc and amrex [and handle clang conflict wrt amrex] (#8932) 2018-08-13 22:17:17 -07:00
Levi Baber
2b727796da r-argparse: new package (#8944)
* r-argparse: new package

* r-argparse: dep types
2018-08-13 22:21:30 -05:00
Levi Baber
221a1293aa r-genelendatabase: new package (#8938)
* r-genelendatabase: new package

* r-genelendatabase: git not url

* r-genelendatabase: add runtime deps and fix package type

* r-genelendatabase: dep type
2018-08-13 22:21:03 -05:00
Levi Baber
7fd6291d59 r-glimma: new package (#8940)
* r-glimma: new package

* r-glimma: git not url

* r-glimma: adding runtime deps

* r-glimma: dep types
2018-08-13 22:20:41 -05:00
Levi Baber
e1ebc02676 r-edger: new version (#8951) 2018-08-13 22:18:34 -05:00
Levi Baber
8f7b51aa5c r-limma: new version (#8952) 2018-08-13 22:18:12 -05:00
Julien Adam
ae1a9baade git: v2.18.0 (#8965) 2018-08-13 08:06:19 -05:00
Levi Baber
4582567315 r-ctc: new package (#8936)
* r-ctc: new package

* r-ctc: fixing package directory name

* r-ctc:  git not url

* r-ctc: dep types
2018-08-12 19:46:14 -05:00
健美猞猁
7a5d54760e Add samtools 1.9 (#8961)
* Add smtools 1.9.

* Add hstlib 1.9.
2018-08-12 18:54:50 -05:00
健美猞猁
c68fa10e6b Install headers and lib files to destination for legacy apps (#8960)
* Install sam.h and libbam.a for legacy apps.

* Install bam.h.

* Remove which(mkdir).
2018-08-12 11:58:25 -05:00
George Hartzell
0b9434b4ba Add package for fasta (#8953)
* Add package for fasta

Add a package for the fasta sequence alignment tools.

The build system is novel (fasta is "venerable", so...).  The source
tree includes nearly 50 variant Makefiles, the installer is expected
to pick one that's appropriate and then edit the "XDIR" variable to
specify the installation path.  I can only test 64 bit darwin and
linux, so that's all I've included.  I'm also assuming that every
64bit x86 system we'll see supports the SSE2 extensions.  Other
situations can be dealt with when someone has a test case.

* Switch to MakefilePackage and clean up a bit

- Clean up the description
- Switch to MakefilePackage
  - generalize the path to the chosen Makefile
  - implement separate `edit`, `build`, and `install` phases.

* Fix call to format()

* Fix broken if logic
2018-08-11 11:38:31 -05:00
Levi Baber
2a4b7a4dc4 r-goplot: new package (#8942) 2018-08-11 09:26:16 -05:00
Levi Baber
d4349b4945 r-findpython: new package (#8943) 2018-08-11 09:23:34 -05:00
Levi Baber
8ef5beebbf r-sm: new package (#8945) 2018-08-11 09:22:21 -05:00
健美猞猁
c4c84b7567 Add version 5.1.5 for gromacs. (#8948) 2018-08-11 09:21:32 -05:00
Tom Merrick
3addf5c380 Add version 1.12.8 to dbus (#8949) 2018-08-11 09:21:20 -05:00
Levi Baber
08addef275 r-bindrcpp: add new version (#8950)
* r-bindrcpp: add new version

* r-bindrcpp: version ordering and removing r version restriction
2018-08-11 09:21:05 -05:00
健美猞猁
84675e50d1 Add new versions for cmake. (#8955) 2018-08-11 08:38:20 -05:00
健美猞猁
c1daedfdbf Gromacs conflicts with cmake@3.10: . (#8956) 2018-08-11 08:37:51 -05:00
Levi Baber
c2b913d709 r-biasedurn: new package (#8937)
* r-biasedurn: new package

* r-biasedurn: add list_url
2018-08-10 16:08:31 -05:00
Levi Baber
7e1e689e4c r-amap: new package (#8935)
* r-amap: new package

* r-amap: add list_url

* r-amap: dep type
2018-08-10 15:21:22 -05:00
Levi Baber
b78c198b62 r-fastcluster: new package (#8934)
* r-fastcluster: new package

* r-fastcluster: add list_url
2018-08-10 15:01:12 -05:00
jthies
14f6b13a7b Phist 1.6.1 (#8933)
* packages/phist: new version 1.6.1

* packages/phist: depends on Python 3.x for generating Fortran and C++ bindings

* packages/phist: new version 1.7.2

* phist: depend on python@3 only for versions later than 1.7

* packages/phist: depend on python@3: rather than 3

* phist: python dependency is type='build', thans @adamjstewart
2018-08-10 12:53:18 -05:00
Tom Merrick
b1182741d4 Branch with the meson build-system (#8467)
* Branch with the meson build-system

* Fix build_environment for dual loads and add create code

* Add documentation

* Fixed option list

* Update build_system_guess for meson

* Fixed documentation errors

* Added meson to build and configure and updated documentation

* fix typos
2018-08-10 12:52:09 -05:00
Denis Davydov
2a94d59433 boost: add 1.68.0 (#8931) 2018-08-09 17:08:20 -05:00
Scott Wittenburg
2278c65d0a spec: make full_hash look like dag_hash (#8911) 2018-08-09 09:00:49 -07:00
Gregory Lee
bbcb2bb8ca add fgfs variant to stat and develop version (#8919) 2018-08-09 10:56:08 -05:00
Levi Baber
a4d0e62dbd perl6-slurp: new package (#8672)
* perl6-slurp: new package

* perl-perl6-slurp: changing perl version dependency
2018-08-09 10:35:54 -05:00
Hadrien G
9e981fc73f Remove duplicate variant in Boost package (#8923) 2018-08-09 10:29:57 -05:00
Todd Gamblin
ed79d6a11b bugfix: cc handles spaces in flag variables properly
- cc cleanup caused a parsing regression in flag handling

- We added proper quoting to array expansions, but flag variables were
  never actually converted to arrays. Old code relied on this.

This commit:
- Adds reads to convert flags to arrays.
- Makes the cc test check for improper space handling to prevent future
  regressions.
2018-08-09 08:00:22 -07:00
Mark W. Krentel
393d3c64fc libiberty: new package (#8912)
* libiberty: new package

The libiberty.a library from GNU binutils.  Libiberty provides
demangling and support functions for the GNU toolchain.

This package uses the binutils tarfile but only builds the libiberty
subdirectory.  This is useful for other packages that want the
demangling functions without the rest of binutils.

Add variant 'fpic' to compile with -fPIC.

Addresses some issues raised in PR #8806.

* libiberty: change variant name to 'pic'.

Allow libiberty to install the library in lib64 and don't try to copy
it to lib.
2018-08-09 08:19:09 -05:00
Elsa Gonsiorowski, PhD
1cd33e7052 ECP VELOC Package update (#8910)
* update of veloc & dep versions (replace old non-working versions)

* veloc doesn't work with gcc <= 4.9.3

* explicitly pass MPI to CMake for veloc build
2018-08-08 21:40:38 -04:00
Satish Balay
2e891a6312 superlu_dist should be built with 'HAVE_PARMETIS=TRUE'. (#8917) 2018-08-08 20:50:48 -04:00
Todd Gamblin
bb5d83890d cc: refactor flag adding so that it's not in reverse order
- flags were prepended in reverse order to args, but this makes it hard
  to see what order they'll be in on the final command line.

- add them in the order they'll appear to make cc easier to maintain.

- simplify code for assembling the command line

- fix separator used in SPACK_SYSTEM_DIRS test
2018-08-08 01:51:51 -07:00
Todd Gamblin
4210f839e2 cc: restore ccache support in the wrapper, add a regression test
- Add back ccache support to the wrapper.
- Add a regression test to make sure ccache is working properly.
2018-08-08 01:51:51 -07:00
Todd Gamblin
62089d43ef cc: run shellcheck linter on the cc compiler script, minor cleanup
- This corrects most of the issues found by shellcheck

- This also uses ':' as the delimiter for SPACK_SYSTEM_DIRS, for
  consistency with other variables.
2018-08-08 01:51:51 -07:00
Todd Gamblin
b84067f6db cc: don't use sed to filter system directories
- filtering using sed causes most builds to slow down quite a bit, as the
  compiler wrapper has to run sed many times, and *it* runs many times

- do the system directory parsing directly in bash
2018-08-08 01:51:51 -07:00
Todd Gamblin
0e81f6cba5 refactor: clean up and fix the cc test
- Add tests to ensure that RPATHs are not added in cc mode, which can
  cause some builds to fail.

- Change cc.py to use pytest style

- Instead of writing out all the flags, break the flags down into
  variables so that it's easy to read what each test is supposed to
  check. This should make cc.py more maintainable in the future.
2018-08-08 01:51:51 -07:00
Todd Gamblin
c8fb9b5479 bugfix: cc should not add -L or -Wl,-rpath in compile-only mode
- Adding -L and -Wl,-rpath to compile-only command lines ("cc mode" or
  "-c") causes clang (if not also other compilers) to emit warnings that
  confuse configure systems.

- Clang will print warnings about unused command-line arguments.

- This fix ensures that -L and -Wl,-rpath are not added if the compile
  line is just building an object file with -c

- This also cleans up the cc script in several places.
2018-08-08 01:51:51 -07:00
Gregory Becker
683c7fbf3b Restore cc: package search paths come before dependency paths (#4692)
Spack currently prepends include paths, library paths, and rpaths to the
compile line.  This causes problems when a header or library in the package
has the same name as one exported by one of its dependencies.  The
*dependency's* header will be preferred over the package's, which is not
what most builds expect.  This also breaks some of our production codes.

This restores the original cc behavior (from *very* early Spack) of parsing
compiler arguments out by type (`-L`, `-I`, `-Wl,-rpath`) and reconstituting
the full command at the end.

`<includes> <other_args> <library dirs> <rpaths>`

This differs from the original behavior in one significant way, though: it
*appends* the library arguments so that dependency libraries do not shadow
those in the build.

This is safe because semantics aren't affected by *interleaving* `-I`, `-L`,
and `-Wl,-rpath` arguments with others, only with each other (so the order of
two `-L` args affects the search path, but we search for all libraries on the
command line using the same search path).

We preserve the following:
1. Any system directory in the paths will be listed last.
2. The root package's include/library/RPATH flags come before flags of the
   same type for any dependency.
3. Order will be preserved within flags passed by the build (except system
   paths, which are moved to be last)
4. Flags for dependencies will appear between the root flags and the system
   flags, and the flags for any dependency will come before those for *its*
   dependencies (this is for completeness -- we already guarantee this in
   `build_environment.py`)
2018-08-08 01:51:51 -07:00
Mark W. Krentel
f152063898 elfutils: update version and add variants (#8891)
* elfutils: update version and add variants

Add latest version 0.173.

Add variants bzip2, xz and zlib to support reading compressed DWARF
sections, default True.

Move maintainer-mode to a variant with default False.  This is only
useful for developers who want to modify the source for generated
files.

* Add dependency on zlib for reading compressed DWARF sections.

Add variants to use bzip2 and xz for compressed sections.

Remove maintainer mode and the dependencies on flex and bison.
These are not used for one-time builds.

Be sure to squash both the commits and the commit messages.
2018-08-07 14:04:05 -05:00
Micheal Quinn
203bd555a4 Fixing the addition curly brackets to conform to the rest of the templates usage of a literal curly bracket 2018-08-07 19:56:11 +02:00
Micheal Quinn
d163be6a13 Adding logic to the autoload if statement so it only fire if the module is being loaded. 2018-08-07 19:56:11 +02:00
cedricchevalier19
3301e21f06 Fix performance issue when compiling. (#8828)
* Fix performance issue when compiling.

Spack was doing active wait when compiling, spoiling one core.
My fix consists in not setting any timeout for select, instead of
the previous 0 second.

* Fix comments about select.select timeout
2018-08-07 09:13:07 -07:00
Adam J. Stewart
79e7359f4d Add libs attribute to mesa and mesa-glu packages (#8904)
Also fix dependency version in glvis package.
Fixes build errors mentioned in #8454.
2018-08-07 10:18:05 +02:00
Paul Chelarescu
6ef2eb8f7e libstdc++ detection uses os.path.realpath instead of os.readlink (#8865) 2018-08-06 22:30:29 -07:00
Geoffrey Malcolm Oxberry
e380b08bab spack general packages.yaml defaults: add unwind
This commit adds 'libunwind' as the default 'unwind' provider in
spack. This preference should be overridden by the
darwin/packages.yaml file on macOS. Continues the changes discussed in
2018-08-06 22:01:50 -07:00
Geoffrey Malcolm Oxberry
4f251345fb caliper: update to use unwind virtual package 2018-08-06 22:01:50 -07:00
Geoffrey Malcolm Oxberry
6d92a88eb4 gperftools: use unwind virtual package 2018-08-06 22:01:50 -07:00
Geoffrey Malcolm Oxberry
f395aaa71d mfem+libunwind: use "unwind" virtual package 2018-08-06 22:01:50 -07:00
Geoffrey Malcolm Oxberry
ec0050a1bb darwin packages.yaml defaults: add unwind provider
This commit adds default unwind providers to the default packages.yaml
for darwin. Compiler versions are supplied with the apple-unwind
package so that apple-unwind is only used with Apple's clang fork, and
not with LLVM's clang.
2018-08-06 22:01:50 -07:00
Geoffrey Malcolm Oxberry
163fc4cd18 apple-libunwind: new package, provides unwind
This commit continues the changes discussed in #8823 by creating a new
"apple-libunwind" placeholder package that supplies instructions for
how to configure packages.yaml to register Apple's libunwind
implementation with spack. This package also provides the "unwind"
virtual package representing the libunwind base API. The clang-apple
compiler version should be specified in packages.yaml so that
apple-unwind is only used with Apple's clang compiler, not the stock
LLVM compiler.
2018-08-06 22:01:50 -07:00
Geoffrey Malcolm Oxberry
853a3f14c7 Make libunwind provider of unwind virtual pkg
This commit begins addressing the ideas discussed in #8823. The
libunwind library now provides the "unwind" virtual package, which
represents the "libunwind base API" common to LLVM libunwind, Apple's
LLVM libunwind, and non-GNU libunwind.
2018-08-06 22:01:50 -07:00
Levi Baber
ea6918c1bf py-crossmap: needs py-setuptools (#8898)
* py-crossmap: needs py-setuptools

* py-crossmap: additional deps

* py-crossmap: make bx build/run
2018-08-06 17:43:14 -05:00
Reid Priedhorsky
ed9a1b7a45 add Charliecloud 0.9.1 (#8902) 2018-08-06 17:43:00 -05:00
Adam J. Stewart
5f10d9239b Remove default variant bug from list of known issues (#8900) 2018-08-06 16:56:45 -04:00
George Hartzell
4e985051c0 Docstring typo: builing -> building (#8896) 2018-08-06 13:36:57 -04:00
健美猞猁
a816397322 Bump R to v3.5.1. (#8895) 2018-08-06 11:16:27 -05:00
Sergey Kosukhin
7cc11debdd Libtool: version 'develop' (#8894)
* libtool: add version 'develop'.

* libtool: patch: correct parsing of compiler output when collecting predeps and postdeps.
2018-08-06 10:43:26 -05:00
Sajid Ali
3fc1a65867 modified: var/spack/repos/builtin/packages/py-pytest/package.py (#8890) 2018-08-06 09:21:49 -05:00
Thomas Roehl
377e957f3b LIKWID: Switch to perf_event backend to allow user installations but with limited features (#8886)
* Switch to perf_event backend to allow user installations but with limited features.

* Fix flake8 issues

* Fix flake8 issues remove filter for INSTALL_CHOWN

* Incorporate the comments
2018-08-06 09:21:30 -05:00
健美猞猁
4dc8936b63 Bump mvapich2 to the latest v2.3 release. (#8892) 2018-08-06 12:03:33 +02:00
George Hartzell
9c2c6c7f7e Add unzip runtime dependency to lua package (#8831)
* Add unzip to lua-luaposix

I ended up on an [Ubuntu] system that hadn't had unzip employed
and discovered lua-luaposix requires it (while buildig Lmod).

Closes #8533

* Move unzip prereq to lua, type=run

Rather than touching up each of the lua rocks (packages)
that need unzip, make it available as a run dependency in
lua.

Tested by building lmod on a minimal Ubuntu system.
2018-08-05 13:26:22 -05:00
Adam J. Stewart
7e0bd152b7 Generate coverage reports for all unit and build tests 2018-08-04 21:18:49 -07:00
Todd Gamblin
5cc2309330 revert cd9691de5 (#4692) while we work on a fix. 2018-08-04 20:31:55 -07:00
Christoph Junghans
abd1dfc333 kim-api: initial commit (#8873)
* kim-api: initial commit

* Update package.py
2018-08-04 16:47:35 -05:00
Tin Huynh
eb39d0c729 Package/flang: Updated to use own version of llvm (#8766)
Flang now uses its own version of llvm and clang (called flang-driver). This is
handled by adding flang-specific versions of the LLVM package and updates flang
to depend on those versions.
2018-08-03 20:35:09 -04:00
Todd Gamblin
b5071312c4 spack spec: no extra newline with --yaml; error with no specs
- `spack spec` now returns an error if given no specs

- removed superfluous trailing newline from `spack spec --yaml` output
  (only one newline now)
2018-08-03 15:18:34 -05:00
Christoph Junghans
c73d237d08 simplemoc: version bump (#8884) 2018-08-03 14:31:06 -05:00
Mark W. Krentel
69641851ea libmonitor: update version and add variant to configure (#8834)
* libmonitor: update to version 2018.07.18 and add variant to configure
for hpctoolkit.

* Specify the @2013.02.18 version in cbtf-argonavis and cbtf-krell,
since this is no longer the default version.  These are the only
other packages that use libmonitor.
2018-08-03 14:00:12 -04:00
Adam J. Stewart
4de301ebf2 Update bash completion with new spack arch flags 2018-08-03 11:32:08 -05:00
Adam J. Stewart
4f76e80925 Add spack arch --operating-system and --target flags 2018-08-03 11:32:08 -05:00
Abhinav Bhatele
febfa60935 Update broken codesign.llnl.gov urls (#8880)
* amg2013: fix homepage and url

* kripke: fix homepage and url

* lcals: fix homepage and url

* lulesh: fix homepage and move to git

* urls on single line
2018-08-03 10:25:10 -05:00
Geoffrey Oxberry
0c01f42a9f arpack: add version 3.6.2 (#8881) 2018-08-03 09:53:44 -05:00
健美猞猁
8e1cc26be7 dmd: a new package. (#8826)
* dmd: a new package.

* Install src for dmd.

* Install src to prefix.src.

* Replace copy_tree with install_tree.
2018-08-02 22:07:01 -05:00
Todd Gamblin
43c77ac3cb libdwarf: remove use of hide_files()
- This was a nasty workaround due to the way our compiler wrappers used
  to work.  We don't want to have to modify our elfutils installation to
  install libdwarf.

- Since cd9691de5, we no longer need this because the package will always
  come before dependencies in our include order.
2018-08-02 19:00:52 -07:00
dorier
1ec06e6111 new package: XSD (#8784) 2018-08-02 16:28:19 -04:00
Stephen Herbein
3b0983a217 flux: update flux-core package and add a flux-sched package (#8818)
Renames the flux package to flux-core and updates its dependencies, versions,
and variants. Adds a flux-sched package.

This also updates two flux-core dependencies: lua and czmq.
2018-08-02 16:20:55 -04:00
Dan FitzGerald
e554add64b Change MUMPS to allow it to build with clang+xlf compiler combination (#8388)
The mumps package was unable to build using the llvm clang compiler
suite, as it defaulted to using mpif90 for linking and mpif90 cannot
be used for linking shared library code. This PR modifies the MUMPS
package.py to allow it to use IBM XL Fortran for linking. It also
eliminates the need for the existing MUMPS IBM XL patches by having
package.py specify the compiler-dependent "shared" flag to the
linker, and always using the compiler suite's Fortran compiler
for linking.
2018-08-02 14:23:37 -04:00
Tom Merrick
51aa604ed2 Fix openmpi to work with slurm/pmi and mxm (#8427)
* Add binutils+libiberty for mxm fabric
* Help find the pmi library when using the slurm scheduler
2018-08-02 14:06:39 -04:00
Levi Baber
c94109c34c Package py-biom-format fixes (#8727)
* py-biom-format: needs py-setuptools at runtime
* py-biom-format: needs py-pyqi
2018-08-02 13:51:51 -04:00
Yifan Zhu
6f2a739053 New package: GRNBoost (#8763) 2018-08-02 13:46:36 -04:00
Michael Kuhn
12fb1cdbe5 Replace pkg-config dependencies with virtual (#8783)
Several packages specified pkg-config as a dependency, which is
a specific implementation of the pkgconfig virtual. Most packages
do not request a specific implementation. The current concretizer
may choose a different implentation of pkgconfig for the nonspecific
dependents, which conflicts with the request for pkg-config. This
replaces all requests for a specific implementation of pkgconfig
with the virtual package as a temporary solution to the issue.
2018-08-02 13:29:04 -04:00
Matthias Wolf
b1c35e1e13 package neovim: add info for version 0.3.1 (#8866) 2018-08-02 13:04:59 -04:00
Adam J. Stewart
d07e9e13ab Update homepage for laghos (#8864) 2018-08-02 13:03:52 -04:00
Matthias Wolf
1aa01873c7 Adding lazy property python module (#47) (#8867) 2018-08-02 11:44:16 -05:00
Michael Kuhn
ec3ffd9d28 sz: fix checksum for 2.0.2.0 (#8868) 2018-08-02 11:43:59 -05:00
Kelly (KT) Thompson
d68338cc8c Trilinos: Update rules for superlu-dist version compatibility. (#8851) 2018-08-02 11:25:30 -05:00
Takayuki Kobayashi
3a919c6abb Update and Bugfix for pexsi/package.py (#8822)
* Update and Bugfix for pexsi/package.py

1. pexsi@0.10.2 is not compatible with superlu-dist@5.4.0 due to [Change LargeDiag to LargeDiag_MC64; Add LargeDiag_AWPM](d7dce5a348).
2. In the 'edit' phase, '@MPICXX_LIB' must be substituted before '@MPICXX' is substituted.

* change dict to list of tuples

Use a list of tuples to remember the order of `substitutions`.

* Update package.py

* Update package.py
2018-08-02 11:24:57 -05:00
Douglas Duckworth
da959ba220 added py-setuptools as dependency (#8843)
* added py-setuptools as dependency

* more changes
2018-08-02 11:24:26 -05:00
Sergey Kosukhin
ec174dae69 CMake: patch for NAG. (#8869) 2018-08-02 11:17:15 -05:00
Michael Kuhn
4a6a19be85 adios2: add 2.2.0 (#8871)
This also enables the bzip2 and zfp variants. The sz variant is
currently broken.
2018-08-02 11:16:17 -05:00
Sergey Kosukhin
03dc78a894 netcdf-fortran: enforce autoreconf when building with NAG. (#8844)
* netcdf-fortran: enforce autoreconf when building with NAG.

* netcdf-fortran: patch the configure script instead of running autoreconf to get rid of additional dependencies.

* netcdf-fortran: add comment for the patch.
2018-08-02 08:32:20 -05:00
Geoffrey Oxberry
c79cd5fe51 suite-sparse: add version 5.3.0 (#8837) 2018-08-02 07:25:57 +02:00
Geoffrey Oxberry
e793f29173 openblas: add version 0.3.2 (#8833) 2018-08-01 19:14:48 -05:00
Kelly (KT) Thompson
432a5ecd36 Dia needs access to gettext and pkg-config. (#8840)
When using spack on a ubuntu baseline system, I was unable to build dia with
adding these build dependencies on gettext and pkg-config.
2018-08-01 19:12:17 -05:00
Sergey Kosukhin
abfb16af78 Small patch for netlib-lapack. (#8854) 2018-08-01 18:55:07 -05:00
Sergey Kosukhin
23b6850849 Conflict for cmake 3.11.x and Intel. (#8855) 2018-08-01 18:53:53 -05:00
becker33
cd9691de53 cc: package search paths come before dependency paths (#4692)
Spack currently prepends include paths, library paths, and rpaths to the compile line.  This causes problems when a header or library in the package has the same name as one exported by one of its dependencies.  The *dependency's* header will be preferred over the package's, which is not what most builds expect.  This also breaks some of our production codes.

This restores the original cc behavior (from *very* early Spack) of parsing compiler arguments out by type (`-L`, `-I`, `-Wl,-rpath`) and reconstituting the full command at the end.

`<includes> <other_args> <library dirs> <rpaths>`

This differs from the original behavior in one significant way, though: it *appends* the library arguments so that dependency libraries do not shadow those in the build. 

This is safe because semantics aren't affected by *interleaving* `-I`, `-L`, and `-Wl,-rpath` arguments with others, only with each other (so the order fo two `-L` args affects the search path, but we search for all libraries on the command line using the same search path).

We preserve the following:
1. Any system directory in the paths will be listed last.
2. The root package's include/library/RPATH flags come before flags of the same type for any dependency.
3. Order will be preserved within flags passed by the build (except system paths, which are moved to be last)
4. Flags for dependencies will appear between the root flags and the system flags, and the flags for any dependency will come before those for *its* dependencies (this is for completeness -- we already guarantee this in `build_environment.py`)
2018-08-01 15:48:00 -07:00
Holly
38062a8abc docs: minor text changes (#8858) 2018-08-01 13:59:51 -07:00
Stephen Herbein
de60e9d582 lmod: fix use of custom separator in prepend_path etc. (#8737)
fixes #8736
2018-08-01 12:58:54 +02:00
Geoffrey Oxberry
db79c86ed6 lmod: add version 7.8 (#8838) 2018-07-31 23:19:41 -07:00
Stephen Herbein
cdbc545793 docs: update spack view argument synatx (#8839)
The `--dependencies` and `--exclude` flags are now arguments to the `spack view`
comand rather than the `spack view symlink` command.
2018-07-31 10:41:41 -07:00
Geoffrey Oxberry
f7761d1081 slepc: add blopex variant (#8820) 2018-07-30 18:18:36 -05:00
Jon Rood
15d96f0166 Add extra_rpaths to OpenMPI wrappers (#8687)
If the OpenMPI build finds the infiniband drivers in /usr/lib64, it adds
-Wl,-rpath -Wl,/usr/lib64 to the OpenMPI wrappers. If the wrappers are using
a compiler outside of /usr, and the OpenMPI wrappers are used to build software
outside of Spack, they will rpath /usr/lib64 into the executable which then has
GLIBC, GLIBCXX runtime errors due to it picking up GCC libraries in /usr/lib64.

This adds the directories specified in "extra_rpaths" to the OpenMPI wrappers,
which allows them to use the correct compiler when invoked outside of Spack
builds.
2018-07-30 15:02:09 -04:00
Kelly (KT) Thompson
13cf6d55e4 GSL: 2.5 is a new version. (#8827) 2018-07-30 08:38:37 +02:00
Todd Gamblin
2c45c3c5b3 spec: Spec.tree() merges deptypes when only covering nodes (#8821)
- previously, output could be confusing when deptypes were only shown for
  one dependent when a node had *multiple* dependents

- also fix default coverage of `Spec.tree()`: it previously defaulted to
  cover only build and link dependencies, but this is a holdover from
  when those were the only types.
2018-07-29 11:54:20 -07:00
Geoffrey Oxberry
dba7f715cf libunwind: document platform=darwin conflict (#8824) 2018-07-29 08:44:17 -07:00
Miroslav Stoyanov
71f85cff2c added Tasmanian versions 5.1 and development, enabled the Tasmanian options through +~ flags (#8804) 2018-07-27 10:10:32 -05:00
健美猞猁
440a5fbfcb Skip update check. (#8683)
* Skip update check.

* mkefile -> makefile.

* Fix emboss.
2018-07-27 09:57:05 -05:00
Massimiliano Culpo
1fd9574353 Fixed a typo in the docs (the docker image to pull was wrong) (#8814) 2018-07-27 09:56:01 -05:00
Michael Kuhn
d02c4bbd9a gcc: Add 8.2.0 (#8813) 2018-07-27 08:14:49 -05:00
Michael Kuhn
53ddefa0df Fix shift warning on zsh (#8805)
When using zsh, trying to shift when there are no arguments left results
in warnings like this: spack:shift:22: shift count must be <= $#
2018-07-27 08:14:01 -05:00
Oliver Breitwieser
90f7fca194 py-numpy: Add CPATH in modulefile (#8466)
Also fix setup_dependent_package to include the ".egg-less"-include
path.

Change-Id: I06e66a505ece25cba8896f47e69a5be374bac6d2
2018-07-26 17:50:00 -05:00
Neil Flood
3494c6e403 Updated llvm to version 6.0.1. The previous 6.0.0 had an incorrectly … (#8801)
* Updated llvm to version 6.0.1. The previous 6.0.0 had an incorrectly declared symbol, discussed at https://reviews.llvm.org/D44140, which, amongst other things, broke py-numba. This version works fine with py-numba.

* Flag the conflict between py-numba and llvm@6.0.0

* Removed a single trailing space to satisfy checks
2018-07-26 17:47:18 -05:00
Sheng Di
bf2c232756 sz: new version 2.0.2.0 (#8786) 2018-07-26 17:46:48 -05:00
Michael Kuhn
3d86c7fef5 hdf5: Fix build with %gcc@8 (#8788) 2018-07-26 15:58:00 -05:00
lingnanyuan
d25866a8f8 halc: Create new package. (#8795)
* halc: Create new package.

* fix flake8 error.

* Modification
2018-07-26 15:55:43 -05:00
Hadrien G
c03dcdedb1 FTGL package workarounds (#8812)
* FTGL package workarounds

* Remove blank line

* Only require doxygen at build time
2018-07-26 15:54:46 -05:00
mic84
61aa1831e3 AMReX: update package.py (#8697) 2018-07-26 13:29:03 -05:00
Hadrien G
8b718e7cd6 Templight package (#8782)
* First draft of a templight recipe

* Let's be explicit for now, we can be clever later on

* The clang6 version does not work, drop it

* Reorder FIXMEs more logically

* Add patch for current templight develop branch

* Create an artificial stable release of templight

* Take some additional inspiration from llvm package

* Added the templight supporting tools

* Remove old notes from the no-url branch

* Avoid unnecessary join_path
2018-07-26 11:19:14 -05:00
Simon Flood
80741bc427 hmmer: added version 3.2.1 & updated URL (#8787)
Add HMMER 3.2.1 and updated URL then removed url_for_version function as no longer required - all HMMER downloads available from updated URL.
2018-07-26 10:07:55 -05:00
Michael Kuhn
643a4fbb59 papi: Update to 5.6.0 and fix build with %gcc@8 (#8796) 2018-07-26 10:02:07 -05:00
Mario Melara
cb410b3003 Add package DMTCP (#8808) 2018-07-26 09:47:55 -05:00
Satish Balay
d5957f147b mfem: mfem-3.3-3.4-petsc-3.9.patch is not needed for latest develop version (#8809) 2018-07-26 09:47:28 -05:00
Todd Gamblin
ab1cd6577c readme: add our @spackpm Twitter handle (#8810) 2018-07-26 09:45:32 -05:00
Mark W. Krentel
af60f962cd intel-tbb: Add tm variant to disable transactional memory. (#8799)
* intel-tbb: Add variant `tm` to disable transactional memory.

Some AMD or very old Intel systems don't support transactional memory. This commit adds a variant `tm` that defaults to `True`, but can be switched off to allow running on those systems.
2018-07-25 23:14:17 -07:00
Adam J. Stewart
7902f3eb49 Add docs on new top-level VCS attributes 2018-07-25 23:10:10 -07:00
Adam J. Stewart
5d07042f23 Unit test fixes 2018-07-25 23:10:10 -07:00
Adam J. Stewart
68c2bdfaf6 Further improvements to version parsing 2018-07-25 23:10:10 -07:00
Adam J. Stewart
e948a54d8e All git URLs end in .git 2018-07-25 23:10:10 -07:00
Adam J. Stewart
31417bf66c Replace git=git with explicit branch names 2018-07-25 23:10:10 -07:00
Adam J. Stewart
3f18c04865 Add top-level attributes for git R-Z packages 2018-07-25 23:10:10 -07:00
Adam J. Stewart
a1572bb999 Add top-level attributes for git R (Bioconductor) packages 2018-07-25 23:10:10 -07:00
Adam J. Stewart
908d2dcd4d Add top-level attributes for git M-P packages 2018-07-25 23:10:10 -07:00
Adam J. Stewart
4c6aca533a Add top-level attributes for hg, svn, and git A-L packages 2018-07-25 23:10:10 -07:00
Todd Gamblin
5f00056490 tests: convert mirror test to pytest with free functions. 2018-07-25 23:10:10 -07:00
Todd Gamblin
020c34e136 tests: add checks and tests for consistent version() arguments
- Previously, Spack didn't check the arguments you put in version()
  directives.

- So, you could do something like this, where there are arguments for a
  URL fetcher AND for a git fetcher:

  version('1.0', md5='abc123', git='https://foo.bar', commit='feda2343')

- Now, we check the arguments before constructing a fetcher, to ensure
  that each package has *only* arguments for a single type of fetcher.

- Also added `test_package_version_consistency()` to the `package_sanity`
  test, so that all builtin packages are required to have valid
  `version()` directives.
2018-07-25 23:10:10 -07:00
Todd Gamblin
6f7eaecfa0 tests: correct name of check_db to check_repo
- this test is checking the package *repository*, not the database.
2018-07-25 23:10:10 -07:00
Todd Gamblin
773cfe088f core: differentiate package-level fetch URLs by args to version()
- packagers can specify two top-level fetch URLs if one is `url`
  - e.g., `url` and `git` or `url` and `svn`

- allow only one VCS fetcher so we can differentiate between URL and VCS.

- also clean up fetcher logic and class structure
2018-07-25 23:10:10 -07:00
Todd Gamblin
04aec9d6f8 core: add check for conflicting top-level fetch attributes in packages
- ensure that packages can't have more than one of git, hg, svn, or url
2018-07-25 23:10:10 -07:00
Todd Gamblin
6837da2ad7 style: clean up exception definitions in package.py 2018-07-25 23:10:10 -07:00
Todd Gamblin
498d8cf04b core: fixes and tests for handling of fetcher attributes in packages
- Packages can remove the top-level `url` attribute and still work

- These are now legal:
  - Packages with *only* version-specific URLs (even with gaps)

  - Packages with a top-level git/hg/svn attribute and `version`
    directives for that.

- If a package has both a top-level hg/git/svn attribute AND a top-level
  url attribute, the url attribute takes precedence.
2018-07-25 23:10:10 -07:00
Adam J. Stewart
5792a805fc core: quick fix for packages without URLs
Some packages do not have a `url` and are instead downloaded via `git`,
`hg`, or `svn`. Some packages like `spectrum-mpi` cannot be downloaded at
all, and are placeholder packages for system installations. Previously,
`__init__()` in `PackageBase` crashed if a package did not have a `url`
attribute defined.

I hacked this section of code out, but I have no idea what the
repercussions of that are.
2018-07-25 23:10:10 -07:00
Satish Balay
f59666587b hypre: 'master' is branch - not a tag 2018-07-25 22:17:37 -07:00
sknigh
b0499cf45e Added latest version of charliecloud (#8792) 2018-07-26 06:54:09 +02:00
Adam J. Stewart
13c52066a5 Fix order of regexes reported by spack url summary 2018-07-24 21:02:28 -07:00
Todd Gamblin
656e935e50 core: make spack.util.crypto initialization less expensive.
- This hard-codes the hash lengths rather than computing them on import.

- Also cleans up the code in `spack.util.crypto` to make it easier to
  understand.
2018-07-24 18:35:02 -07:00
Todd Gamblin
674eb00e53 bugfix: spack module -m error message (#8794)
Fix this output error:

```
$ spack -m module loads mpileaks
==> Error: `spack module loads -m t -m c -m l ...` has been moved. Try this instead:

    $ spack module t loads mpileaks
    $ spack module c loads mpileaks
    $ spack module l loads mpileaks
```
2018-07-24 16:12:47 -07:00
Massimiliano Culpo
5b8b7a5873 The auto-completion file is now consistent with spack module 2018-07-24 11:27:17 -07:00
Massimiliano Culpo
6bb2256043 Die with a meaningful error if a deprecated command is used
In case a deprecated form of the module command is used, the program
will exit non-zero and print an informative error message suggesting
which command should be used instead.
2018-07-24 11:27:17 -07:00
Massimiliano Culpo
35cef16974 Grouped all the module commands under spack module
As requested in the review all the commands meant to manage module
files have been grouped under the `spack module` command.

Unit tests have been refactored to match the new command structure.
2018-07-24 11:27:17 -07:00
Massimiliano Culpo
7cbe1aedb7 module file tutorial: rebuilt docker image and updated the script 2018-07-24 11:27:17 -07:00
Massimiliano Culpo
576f0c98d2 Added --dependencies to the help text of spack load
fixes #6321
2018-07-24 11:27:17 -07:00
Massimiliano Culpo
443d702971 spack load exits with 1 if module does not exist or is not installed
fixes #2215
fixes #2570
fixes #6676
fixes #7281
closes #3827

This PR reverts the use of `spack module loads` in favor of
`spack module find` when loading module files via Spack. After this PR
`spack load` will accept a single spec at a time, and will be able
to interpret correctly the `--dependencies` option.
2018-07-24 11:27:17 -07:00
Massimiliano Culpo
c0d9de240a Revert "Fix recursive module loading."
This reverts commit 732c24f603.
2018-07-24 11:27:17 -07:00
Massimiliano Culpo
7a49ba56b6 Added blacklisting of implicit modules in docs + regression tests
fixes #4400

The feature requested in #4400 was already part of the module file
configuration, but it was neither tested nor documented. This
commit takes care of adding a few lines in the documentation and a
regression test.
2018-07-24 11:27:17 -07:00
Massimiliano Culpo
ff83003eaf Renamed 'patch_configuration' fixture to 'module_configuration'
This just because the fixture has been moved one level above the one
it was originally defined. In this more general context there's more
than one configuration file that could be patched for tests.
2018-07-24 11:27:17 -07:00
Massimiliano Culpo
008f171a7e Added a unit test for 'spack lmod setdefault' 2018-07-24 11:27:17 -07:00
Massimiliano Culpo
e81c0c3e2c Updated references to spack module in the documentation. 2018-07-24 11:27:17 -07:00
Massimiliano Culpo
6ab57571c2 Added 'setdefault' subcommand to 'spack lmod'
Added a subcommand that sets the default module to be loaded, if
multiple installations of the same package are present.
2018-07-24 11:27:17 -07:00
Massimiliano Culpo
0457c1fbee Split 'spack module' into multiple commands
'spack module' has been split into multiple commands, each one tied to a
specific module type. This permits the specialization of the new
commands with features that are module type specific (e.g. set the
default module file in lmod when multiple versions of the same package
are installed at the same time).
2018-07-24 11:27:17 -07:00
Todd Gamblin
fdcaf5c4c8 bugfix: fix spack spec --yaml
- repo membership test was broken by the refactor of spack/__init__.py

- refactor singleton so that 'spec in repo' works again for `spack.repo.path`

- fix spec command and add basic tests for `spack spec` and `spack spec --yaml`
2018-07-24 11:25:34 -07:00
Massimiliano Culpo
6ba1c82858 tests: Add python 3.7 to Travis CI (#8778)
* Test Spack on Python 3.7 as part of Travis CI
* Currently using xenial to pull-in python 3.7
    * As xenial is not officially supported yet, Travis tolerates failures on it.
2018-07-23 23:07:36 -07:00
Todd Gamblin
e2e8108dc4 packages: do not use generic checksum= in version() directives
- This is very old usage -- preparing to deprecate this in favor of being
  explicit about checksums.
2018-07-23 11:57:52 -07:00
Todd Gamblin
d4c4effb5e docs: update old docs for spack.package.PackageBase
- There was a lot of documentation in `PackageBase` dating back to the
  very first versions of Spack.

- It was repetitive and out of date, and the docs at spack.readthedocs.io
  are better.

- Remove the outdated specifics, and leave the minimal useful set of
  developer docs in `package.py`.
2018-07-23 11:57:52 -07:00
Todd Gamblin
bd3ffc7b76 core: use sha256 instead of md5 for spack checksum and spack create
- This changes `get_checksums_for_versions` to generate code that uses an
  explicit `sha256` argument instead if the bare `md5` hash we used to
  generate.

- also use a generic digest parameter for the `version` directive, rather
  than a specific `md5` parameter.
2018-07-23 11:57:52 -07:00
Todd Gamblin
305c95b69f tests: move doc tests to the unit test stage
- Frequently, the documentation build will fail mysteriously in some
  spack command.

- The cause is some new bug introduced by the PR, but this is not
  apparent because the unit tests haven't run and the doc tests aren't
  targeted at code bugs.

- Users end up puzzled by doc failures when they're really code failures.

- Move the doc tests parallel with the code tests, so that we can more
  easily see bugs like this.
2018-07-23 07:27:48 -07:00
Levi Baber
0cef7b4355 Trinity plugins (#8516)
* trinity: fix plugin installation

* trinity: flake8

* trinity: more specific types for dependencies
2018-07-22 17:17:44 -05:00
Levi Baber
5acdc2e335 beast1: add libbeagle support (#8525) 2018-07-22 17:17:03 -05:00
Levi Baber
8b890db50f libbeagle: add java dependency so jni hooks get built (#8524)
* libbeagle: add java dependency so jni hooks get built

* libbeagle: set BEAST_LIB instead of LD_LIBRARY_PATH

* libbeagle: use BEAST_LIB
2018-07-22 17:16:43 -05:00
Roberto Villegas-Díaz
8a35687d31 Augustus updated to version 3.3.1 (#8588)
* Augustus updated to version 3.3.1

* Augustus - Version-specific URLs replaced by list_url

* Augustus - Adding tool versions back
2018-07-22 17:11:37 -05:00
g-mathias
eecef8d4a7 fix to build libmatheval with guile@2.0: (#8680)
* fix to build libmatheval with guile@2.0:

* fixed formatting issues

* fixed formatting issues2

* fixed check for autoreconf and renaming of configure.in

* fixed force_autoreconf

* now patching configure, which is hopefully more robust

* minimal patches for guile 2.0 and 2.2 (disabeling unit testing for libmatheval)

* minimal patches for guile 2.0 and 2.2 (disabeling unit testing for libmatheval)
2018-07-22 17:07:44 -05:00
Nasr S. Hassanein
2386ce4995 Ncl update (#8747)
* fix ncl url and hash

* adding ncl version 6.5.0

* remove 6.5.0

* using github archive url
2018-07-22 16:54:06 -05:00
Jon Rood
777a0fe5df Make read only source file writeable in perl before patch to avoid failures on lustre filesystem. (#8764) 2018-07-22 16:51:59 -05:00
Patrick Gartung
c9147aad80 Remove extra Scientific Linux docker build left after merge. (#8770) 2018-07-22 16:46:26 -05:00
Lukasz
dcaa675957 add necessary dependence on lapacak, and fix ld_flags for blas (#8776) 2018-07-22 16:32:47 -05:00
Lukasz
a18a642074 add MoFEM packages (#8700)
* add mofem-cephas package

* add mofem fracture module

* add user modules build and fracture modyle

* add minimal surface module

* add slepc variant

* bump mofem core lib version

* bump mofem core lib version

* bump version

* fix bug

* set upper bound to petsc version  and other chanes

* fix indentation

* add minimal med file installation

* chcekc with flake8 and installation with spack packages

* add variants to med package

* upper bound to adol-c and remove obsolete internal package install

* fix basic module install

* module install from external source in extended prefix

* remove obsolte code and reverse to variant doxygen

* fix git adress

* improve packaging for mofem users modules

* fix flake8

* move dependencies after variants

* move  root_cmakelists_dir right before cmake_args

* remove unused variants

* use append for single element

* replace root_cmakelists_dir

* use install_tree instead copy tree

* simplify code

* remove phase and mkdirp

* add run tests

* instal ext modules to ext_users_modules directory

* move version below url

* simplify directory name

* use underscore in variant name

* remove unused variable

* fix link to blas libs

* add missing boost dependence

* fix problem with copying module source code

* change variant name form doxygen to docs

* add expanded description

* make installation consistent with spack

* fix flake8

* make extensions installed

* code comments and minor corrections

* make slepc variant false by default
2018-07-22 15:26:30 -05:00
Todd Gamblin
a1d6909864 bugfix: stage test no longer modifies ~/.spack/config.yaml
- two stage tests weren't properly using the mutable_config fixture.
- this caused running `spack test` to modify the user's config.yaml
2018-07-21 17:12:36 -07:00
Christoph Junghans
0e4909cad8 votca: add more deps (#8771)
* votca: add more deps

* Update package.py
2018-07-21 16:45:01 -05:00
Todd Gamblin
b2f3b07ec0 docs: doucment spack config blame 2018-07-21 14:04:18 -07:00
Todd Gamblin
331da779f8 docs: updates to spack config get docs for command-line scopes 2018-07-21 14:04:18 -07:00
Elizabeth Fischer
46f87cb9f2 docs: command-line scopes
Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2018-07-21 14:04:18 -07:00
Elizabeth Fischer
52fbbdf5a1 config: allow user to add configuration scopes on the command line.
- Add command-line scope option to Spack

- Rework structure of main to allow configuration system to raise
  errors more naturally

Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2018-07-21 14:04:18 -07:00
Todd Gamblin
2b0d944341 locks: fix bug when creating lockfiles in the current directory.
- Fixes a bug in `llnl.util.lock`

- Locks in the current directory would fail because the parent directory
  was the empty string.

- Fix this and return '.' for the parent of locks in the current
  directory.
2018-07-21 10:39:47 -07:00
Adam J. Stewart
1a136d6db2 Add kealib 1.4.10 (#8769) 2018-07-19 21:21:06 -05:00
lingnanyuan
9653dc2aac r-qorts: Create new package. (#8744)
* r-qorts: Create new package.

* Change dependency to java, change package name.

* Remove some join_path.
2018-07-19 17:58:36 -05:00
sknigh
2a12c3bf07 Packaged iperf2 (#8765) 2018-07-19 17:55:06 -05:00
sknigh
3299d41ef9 Packaged iperf3 (#8762) 2018-07-19 16:02:55 -05:00
Matthias Diener
76b54a214e Py-lark-parser: new package (#8761) 2018-07-19 14:00:19 -05:00
Matthias Diener
9a9998dd2d pycparser: add version 2.18 (#8760) 2018-07-19 12:49:05 -05:00
Levi Baber
b0a0649d2c nwchem: add link type to python dep (#8759) 2018-07-19 12:03:40 -05:00
Christoph Junghans
e0d05d23a1 votca*: update dependencies (#8757) 2018-07-19 11:06:16 -05:00
Hadrien G
f227cf0545 New package: Verrou, a floating point error checker (#8738)
* New package: Verrou, a floating point error checker

* Clean up usage of patch

* Account for future patches in version ranges

* Manual call to autogen is not needed anymore, but extra dependencies are needed

* Use trick from automake to evade shebang length limit

* Use a glob instead of an explicit file list

* Turns out conflict() does not do what I want...

* Suggestions from @citibeth reviews

- Use 'develop' convention for the master branch
- Prefer tarballs over git repositories
- Increase robustness against default configuration

* Drop a couple of older releases with a different patching procedure

* Playing coding style golf

* Various bug squashing

- Missed master -> develop substitution
- Turns out manually calling autogen.sh is needed after all
- Missed + in spec

* More style golfing to fit in 80 columns

* Remove unnecessary mention of the develop branch
2018-07-19 09:57:53 -05:00
Todd Gamblin
d0a808944e style: bring packages in compliance with pep8-naming 2018-07-19 00:41:36 -07:00
Todd Gamblin
20e4038a72 style: make core comply with pep8-naming 2018-07-19 00:41:36 -07:00
Scott Wittenburg
1713cb37da style: Add pep8-naming plugin to flake8
Enforce PEP8 naming conventions for things like variables, methods,
classes, etc.

See the table here:

https://pypi.org/project/pep8-naming/

...for error codes emitted, in case some should be added as
exceptions in the flake8 configuration files.
2018-07-19 00:41:36 -07:00
Todd Gamblin
264761ccb8 add py-pep8-naming package 2018-07-19 00:41:36 -07:00
Neil Flood
23d911d1a0 py-pytest: Added dependency on py-setuptools-scm, as well as py-setup… (#8750)
* py-pytest: Added dependency on py-setuptools-scm, as well as py-setuptools, to prevent the build from silently installing its own copy of setuptools-scm

* py-pytest: Dependency on setuptools-scm only needs to be 'build'
2018-07-18 22:52:44 -05:00
Neil Flood
186d3669c6 py-snuggs: Added depends_on py-parsing. The build uses setuptools, which would otherwise silently try to install pyparsing itself, presumably into the python home dir (obviously not ideal). (#8748) 2018-07-18 21:42:57 -05:00
Neil Flood
ab262ca916 py-pkgconfig: Made nose dependency type=build,test instead of just type=test, to prevent setuptools from silently installing its own copy of nose (#8749) 2018-07-18 21:42:04 -05:00
Cyrus Harrison
290125f893 openmpi: add c++ exceptions cfg option variant (#8743)
* openmpi: add c++ exceptions cfg option variant

* address review comments
2018-07-18 14:54:12 -05:00
Adam J. Stewart
a67139f6c5 Better Makefile target detection (#8223)
Replace regex-based target detection for Makefiles with a preliminary "make -q"
to check if a target exists. This does not work for NetBSD make; additional work
is required to detect if NetBSD make is present and to use a regex in that case.
The affected makefile target checks are only performed when the "--test" flag is
added to a "spack install" invocation.
2018-07-18 11:11:10 -07:00
Adam J. Stewart
af8dde4dda shell: Add spack to PATH before calling spack in setup-env.csh (#8740) 2018-07-18 09:36:22 -07:00
Massimiliano Culpo
33aa06e1cf shell: fixed a typo in spack --print-shell-vars (#8732) 2018-07-17 17:03:45 -07:00
Matthias Diener
111512ce7b Cmake: add version 3.12.0 (#8731) 2018-07-17 17:56:04 -05:00
Levi Baber
2ce6299c2b py-pyqi: new package (#8726)
* py-pyqi: new package

* py-pyqi: cleanup
2018-07-17 16:07:38 -05:00
Jon Rood
956faa50cc Confine the xlf_seacas.patch for trilinos to version 12.12.1 (#8725)
* The xlf_seacas.patch fails on the latest trilinos develop branch so confine it up to version 12.12.1.

* Fixing likely mistak in seacas patch version range.
2018-07-17 14:45:39 -05:00
Massimiliano Culpo
373b3d2444 Packages must be added to DB to be considered installed (#8038)
Fixes #8036

Before this PR Package.installed was returning True if the spec prefix
existed, without checking the DB. This is wrong for external packages,
whose prefix exists before being registered into the DB. Now the property
checks for both the prefix and a DB entry.
2018-07-17 11:43:30 -07:00
Adam J. Stewart
8ce62ba513 Add documentation on build systems (#5015)
Spack provides a number of classes based on commonly-used build systems
that users can extend when writing packages; the classes provide functionality
to perform the actions relevant to the build system (e.g. running "configure" for
an Autotools-based package). This adds documentation for classes supporting the
following build systems:

* Makefile
* Autotools
* CMake
* QMake
* SCons
* Waf

This includes build systems for managing extensions of the following packages:

* Perl
* Python
* R
* Octave

This also adds documentation on implementing packages that use a custom build
system (e.g. Perl/CMake).

Spack also provides extendable classes which aggregate functionality for related
sets of packages, e.g. those using CUDA. Documentation is added for
CudaPackage.
2018-07-17 11:28:38 -07:00
Christoph Junghans
25062d0bd4 lammps: added v20180629 (#8695) 2018-07-17 11:13:04 -06:00
Christoph Junghans
ab60e2258f fftw: version bump (#8723)
* fftw: version bump

* fftw: add gcc-8 conflict for v3.3.7
2018-07-17 11:11:19 -05:00
Lukasz
9f0f18dad6 fix link to blas libs (#8721) 2018-07-17 08:24:52 -05:00
James Dickson
0a80d94a46 Add fix for bug causing MACSio build failure when hdf5 or typhonio enabled (#8722)
* Add fix for bug causing build failure when hdf5 enabled

* Added correct hdf5 dependency to typhonio
2018-07-17 08:24:16 -05:00
Levi Baber
b12d5aecaa r: add memory profiling variant (#8717)
* r: add memory profiling variant

* r: change memory_profiling to underscores
2018-07-16 22:23:09 -05:00
Todd Gamblin
06418a3dcd add spack --print-shell-vars to speed up setup-env.[c]sh (#8101)
- The setup-env.sh script currently makes two calls to spack, but it
  should only need to make one.

- Add a fast-path shell setup routine in `main.py` to allow the shell
  setup to happen in a single, fast call that doesn't load more than it
  needs to.

- This simplifies setup code, as it has to eval what Spack prints

- TODO: consider eventually making the whole setup script the output of a
  spack command
2018-07-16 15:43:44 -07:00
健美猞猁
d006139e3c aspera-cli: a new package. (#8715)
* aspera-cli: a new package.

* flak8.
2018-07-16 13:53:23 -05:00
Matthias Diener
dfc1f70aa4 Charm: set default backend to netlrts (#8714)
This allows building MPI applications on top of charm/AMPI without
to specify another backend.
2018-07-15 16:41:36 -05:00
Matthias Diener
badf913fc4 Charm: more info about build targets (#8713)
* Charm: more info about build targets

* fix whitespace
2018-07-15 16:41:25 -05:00
Matthias Diener
b25187bfa6 Scotch: update package (#8711) 2018-07-15 15:54:28 -05:00
Matthias Diener
067c8466bd yasm: add develop version (#8712) 2018-07-15 15:54:13 -05:00
Matthias Diener
4df673e401 charm: provide MPI (#8647)
* Charm: provide MPI
* add mpicc wrappers
* clarify MPI comment
2018-07-15 08:33:57 -07:00
Andreas Baumbach
79b407f59e clean up of spack clean (#8610)
* update help of `clean --all` to include `-p`
* remove old orphaned `.pyc` removal
* restrict removal or orphaned pyc files to `lib/spack` and `var/spack`
2018-07-14 17:20:49 -07:00
Jon Rood
5192a3d6d6 Fixing error in amrvis package. (#8710) 2018-07-14 18:19:26 -05:00
Matthias Diener
da5663a52a Py-opentuner: new package (#8707) 2018-07-14 13:51:58 -05:00
Jon Rood
e367d1fb3a Unset F90 and F90FLAGS in mvapich2 (#8698)
* Unset F90 in mvapich2 when using intel compilers.

* Fixing typo.

* Unset F90 and F90FLAGS for mvapich2 at all times.

* Adding comment.
2018-07-13 20:32:02 -05:00
Matthias Diener
4c5cbfeb29 py-fn: new package (#8705) 2018-07-13 20:31:39 -05:00
Levi Baber
44c999e2e1 mothur: mpi not used (#8706) 2018-07-13 20:31:25 -05:00
Matthias Diener
2cf9c7955c Scotch: fix compilation of 6.0.5a (#8704)
Prevent this error:

metis_graph_part.c:301:7: error: non-void function 'METIS_PartGraphVKway' should return a value
      [-Wreturn-type]
2018-07-13 15:51:04 -05:00
Sajid Ali
aec91d1cca update version for numexpr (#8702)
* 	modified:   package.py

* 	deleted:    var/spack/repos/builtin/packages/py-numexpr/numexpr-2.6.5.tar.gz
2018-07-13 15:50:21 -05:00
Sajid Ali
4c5e4cb960 Add py-backcall (#8701)
* 	new file:   var/spack/repos/builtin/packages/py-backcall/package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2018-07-13 10:59:02 -05:00
Christoph Junghans
d569a9c124 flang: add support for llvm-6 (#8073)
* flang: add support for llvm-6

* flang: review changes

* pgmath: make flake8 happy
2018-07-12 18:37:50 -06:00
Todd Gamblin
650786c812 locks: improve errors and permission checking
- Clean up error messages for when a lock can't be created, or when an
  exclusive (write) lock can't be taken on a file.

- Add a number of subclasses of LockError to distinguish timeouts from
  permission issues.

- Add an explicit check to prevent the user from taking a write lock on a
  read-only file.
  - We had a check for this for when we try to *upgrade* a lock on an RO
    file, but not for an initial write lock attempt.

- Add more tests for different lock permission scenarios.
2018-07-12 19:59:53 +02:00
Todd Gamblin
ab794fa741 locks: llnl.util.lock now only writes host info when in debug mode
- write locks previously wrote information about the lock holder (host
  and pid), and read locks woudl read this in.

- This is really only for debugging, so only enable it then

- add some tests that target debug info, and improve multiproc lock test
  output
2018-07-12 19:59:53 +02:00
Todd Gamblin
b9af52a888 tests: Separate tests for llnl.util.lock and spack.util.lock
- llnl.util.lock tests are now independent of Spack
2018-07-12 19:59:53 +02:00
Todd Gamblin
7626ec4579 refactor: move spack.util.multiproc to llnl.util.multiproc
- multiproc doesn't depend on Spack
- llnl.util.lock test uses it, but shouldn't use parts of Spack.
2018-07-12 19:59:53 +02:00
Todd Gamblin
fe0fe1caa1 tests: add lib/spack/spack/test/.cache to gitignore for pytest
- this shoudl have been moved when we moved pytest.ini to lib/spack/spack/test
2018-07-12 19:59:53 +02:00
Tim Law
2a27a37597 Add Git development versions for Typhon and BookLeaf_Cpp. (#8694) 2018-07-12 07:37:42 -05:00
Nicolas Richart
d8921ac323 First try on pytorch (#8649)
* initial version of the package pyTorch (#171)

* adding version 0.4

* flake8 correction

* reordering version, removing run dependecies

* Changing depends_on type to default
2018-07-12 07:30:59 -05:00
Levi Baber
1846bc5ed6 mitofates: more deps and a patch to make it functional (#8686)
* mitofates: more deps and a patch to make it functional
2018-07-12 10:23:22 +02:00
Adam J. Stewart
ecff47538e Remove unnecessary version-specific URL overrides (#8693) 2018-07-12 07:28:11 +02:00
Levi Baber
2561d1d656 transdecoder: needs perl-uri-escape (#8690) 2018-07-11 17:38:58 -05:00
Levi Baber
f29c1d9096 beast1: new version (#8691) 2018-07-11 17:07:20 -05:00
Levi Baber
feb4701ae3 mothur: new version (#8692) 2018-07-11 17:07:02 -05:00
Massimiliano Culpo
10e628a5a0 py-ply: added version 3.11 (#8383) 2018-07-11 22:21:55 +02:00
Massimiliano Culpo
e3a556cd2a Don't propagate version-specific URL overrides to newer versions (#8565)
When a user specifies a URL for a specific version of a package, Spack originally
would use that URL for all newer versions of the package. This behavior has
proven to be generally more harmful than useful, so this PR removes the feature
such that a version-specific URL override affects only that version.
2018-07-11 13:12:19 -07:00
Levi Baber
aa9bb06b89 py-cutadapt: needs py-setuptools at runtime (#8689) 2018-07-11 14:53:35 -05:00
Howard Pritchard
be9dfc2d73 openmpi: add 3.1.1 (#8684)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2018-07-11 12:42:00 -05:00
Jannek Squar
6a3f36c4e3 Adjusted sublime-text package (#8685) 2018-07-11 12:41:48 -05:00
Levi Baber
d27133b3cd perl-math-cephes: new package (#8671) 2018-07-11 12:40:39 -05:00
Jimmy Tang
5780eadf64 Update kaldi (#8682)
* Update kaldi

always use the --fst-version otherwise it does the wrong thing with
selecting the fst version.

also enable speex by default

* Give version a more meaningful name

* Update older version with a date string instead
2018-07-11 12:38:06 -05:00
健美猞猁
a985dc859c New packages: libbeato bwtool. (#8681) 2018-07-11 10:33:44 -05:00
Adam J. Stewart
f036f17f61 Retire the py-dev package (#8679) 2018-07-11 10:26:38 -05:00
Sergey Kosukhin
6479ec6def Patch for 'netlib-lapack'. (#8677) 2018-07-11 08:52:21 -05:00
健美猞猁
391d89a853 Bump gromacs versions. (#8676) 2018-07-11 08:05:39 -05:00
Jon Rood
a1bfa8eca0 Adding psm as a dependency of mvapich2. (#8674) 2018-07-10 19:32:50 -05:00
Kshitij Mehta
3c4ef576d9 Gtkorvo updates (#8663)
* gtkorvo-atl: Updated to version 2.2

* gtkorvo-dill: Updated to version 2.4

* gtkorvo-enet: Updated to version 1.3.14

* libevpath: Updated to version 4.4.0

* libffs: Updated to version 1.5

* gtkorvo-atl: Bugfix: Fixed cmake args

* gtkorvo-enet: Switched order of versions to have the latest version on the top

* gtkorvo-atl: Cleaned up cmake_args. Added conditional self.run_tests

* gtkorvo-dill: Cleaned up cmake_args. Added conditional self.run_tests

* libffs: Correction in dependency versions. Cleaned up cmake_args. Added conditional self.run_tests

* libevpath: Correction in dependency versions. Cleaned up cmake_args. Added conditional self.run_tests

* gtkorvo-atl: Removed unused option from cmake args
2018-07-10 12:50:10 -05:00
Matthias Diener
90042749e8 fetch: remove 'trying' when cloning repos (#8651)
* fetch: remove 'trying' when cloning repos

This makes it similar to what the URL strategy prints.

* change svn/hg names
2018-07-10 10:22:51 -05:00
Michael Kuhn
00c3331de9 libxshmfence: Update to 1.3 (#8667)
libxshmfence@1.2 does not compile with recent versions of glibc.
2018-07-10 07:58:44 -05:00
Matthias Diener
bc5168e4b1 charm: add possibility to run tests (#8665) 2018-07-09 16:16:27 -05:00
Levi Baber
4ed7931200 libnova: new package (#8666)
* libnova: new package

* libnova: flake8
2018-07-09 16:16:09 -05:00
Christoph Junghans
8bc3f7d726 Add ccache support (#3761)
If the user sets "ccache: true" in spack's config.yaml, Spack will use an available
ccache executable when compiling c/c++ code. This feature is disabled by default
(i.e. "ccache: false") and the documentation is updated with how to enable
ccache support
2018-07-09 14:06:10 -07:00
Sergey Kosukhin
8770957b7a Make 'netlib-lapack' a CMakePackage. (#8661)
* Make 'netlib-lapack' a CMakePackage.

* Add a comment.

* Some refactoring.
2018-07-09 13:21:55 -05:00
Levi Baber
25c9a5216f express: bamtools lib handling (#8552)
* express: bamtools lib handling

* express: use libs property

* express: remove old comment
2018-07-09 13:21:38 -05:00
Andrey Prokopenko
de4b6e6100 trilinos: update dtk dependencies (#8660) 2018-07-08 15:45:21 -05:00
Andreas Baumbach
21a46fb2ce fix typo in help of spack clone prefix is singular (#8658)
Change-Id: I3bfe5b4ba497fae57d5382502ea9a1b054688fdb
2018-07-08 20:28:46 +02:00
Miles Perry
53c0c5701c blasr: new package (#8367)
* blasr: new package

* blasr: changed version release, created list with 9 things, seperated make into build phase.

* blasr: fixed build phase by adding :

* blasr: fixed syntax for configure_args

* blasr: flake8 edits

* blasr-libcpp: fixed configure_args syntax

* blasr: fixed install issues resulting from PacBio changes

* blasr: removed accidental blasr-libcpp upload

* blasr: removed accidental blasr-libcpp upload

* blasr: removed blasr-libcpp

* blasr: edited out comment
2018-07-07 10:05:57 -05:00
Elsa Gonsiorowski, PhD
c907937ff4 ECP VELOC (#8581)
* kvtree package file

* MPI is default on

* proper mpi compiler

* rankstr package

* better rankstr description

* typo

* redset package

* shuffile package

* er package

* axl package

* proper pythor

* mpi is default on

* alpha releases and master versions

* veloc package with boost headers dep

* cmake version

* added C++11 requirement

* flake8

* flake8

* ecp tag

* axl: better async api option handling

* veloc package description

* prettier args list

* C++11 flag handler

* v1.0 of veloc
2018-07-07 09:56:56 -05:00
estebanpauli
891aa6ad7a Added support for uncrustify 0.67. (#8655)
* Added support for uncrustify 0.67.

Since the build system changed for uncrustify at version 0.64,
I had to change the package from an AutotoolsPackage to a plain
Package and use @when annotations to build the packages differently.

* Removed blank line at end of file

* Added support for python2.6 in uncrustify configuration.
2018-07-06 19:59:34 -05:00
George Hartzell
64d5847f05 Fix security issue in singularity + misc cleanups (#8657)
- Versions before 2.5.2 suffer from a serious security problem
  (https://nvd.nist.gov/vuln/detail/CVE-2018-12021).  Deleted all
  versions prior to v2.5.2.
- Update homepage (looks like singularity's going Freemium).
- Use release tarball instead of automagically generated archive
  tarball (digest values are more stable).
- No longer need autotools for released versions, just @devel.
- Install needs to be single-threaded, otherwise when installed as
  root the various 'chmod' operations race against the copies.
2018-07-06 19:59:17 -05:00
George Hartzell
71076bc9c5 Fix digests for git@2.17.0 and git@2.17.1 (#8652)
The entries for git@2.17.1 and git@2.17.0 were swapped.

This fixes them.
2018-07-06 14:57:45 -05:00
George Hartzell
48c0ce2b04 Update nettle package with info for v3.4 (#8653) 2018-07-06 14:57:32 -05:00
George Hartzell
7f814971a5 Clear up a bit of modules/dotkit confusion (#8650)
`use` is an overloaded word between dotkit, modules and spack.  Add additional words to make the distinction clear in the docs.
2018-07-06 12:06:53 -05:00
Adam J. Stewart
cf140b5f4c Add url_for_version and list_url to Ruby package (#8216) 2018-07-06 07:22:38 -05:00
Mark Olesen
f946a83c8c precice: new package (issue #8643) (#8644)
preCICE (Precise Code Interaction Coupling Environment) is a
  coupling library for partitioned multi-physics simulations.
  Partitioned means that preCICE couples existing programs (solvers)
  capable of simulating a subpart of the complete physics involved in
  a simulation.

of-precice: new package

  preCICE adapter for OpenFOAM
2018-07-06 07:19:30 -05:00
Andreas Baumbach
7098937c03 switch git to kernel.org source and sha256 (#8580)
* switch git to kernel.org source and sha256

Change-Id: I5fe15689adb1163e9ed2b7127b52c95bd0d48564

* fix forgotton md5s

Change-Id: Ib01f21e20678d9aac3344b6ee311134a90b87bdd

* remove old url

Change-Id: I717a084a0357a84b83bc6c8542749aac7e04f68b
2018-07-06 07:16:54 -05:00
Adam J. Stewart
c31ac174c6 Glog: make is a function (#8648) 2018-07-06 07:15:47 -05:00
twang15
4b15391dab cleverleaf: Intel compiler fails compilation without c++11 flag (#8550) (#8598) 2018-07-05 21:54:05 -05:00
Adam J. Stewart
7fa3e7a9aa Add missing dependencies and variants to wcslib (#8603)
* Add missing dependencies and variants to wcslib

* Add flex version requirement
2018-07-05 21:36:29 -05:00
lingnanyuan
1fa2212543 ncbitoolkit: Create new package. (#8591)
* ncbitoolkit: Create new package.

* Fix Flake8 Error.

* Add version constraints and change format.

* Fix version constraints.
2018-07-05 21:34:38 -05:00
Gregory Lee
f8f3fe5b8f added rpy2 2.9.4 and added py-jinja2 dependency (#8645) 2018-07-05 21:33:32 -05:00
Michael Kuhn
8a1bbc5d84 gcc: Fix build of older versions with recent versions of glibc (#8510) 2018-07-04 07:39:07 -05:00
Matthias Wolf
81668c524b Parquet: new packages (#8601)
* parquet: new package

Includes the following dependencies:

* arrow
* flatbuffers

Changes for compilation:

* snappy
* thrift
* zstd

* parquet: improve recipes (including dependencies)

* arrow: remove unused import in recipe

* parquet: fix line length for flake8/py27

* parquet, arrow: fix py26 format strings

* Address review comments.

* arrow: simplify recipe
2018-07-04 07:24:38 -05:00
becker33
aab5488154 disable openblas intel openmp patch for versions > 0.2.20, fixed upstream (#8638) 2018-07-03 16:25:12 -05:00
健美猞猁
9a60698ef8 Add new versions for log4cplus. (#8621)
* Add new versions for log4cplus.

* Update log4cplus versions.

* Add urls.

* Add url_for_version.

* Remove url_for_version.
2018-07-03 10:08:22 -05:00
健美猞猁
52a997208c Bump sbt to 1.1.6. (#8634) 2018-07-03 10:03:49 -05:00
Adam J. Stewart
6c24f686ce Fix base class for py-pyserial (#8633) 2018-07-02 22:47:56 -05:00
Matthias Diener
30a6a17507 Pxz: new package (#8631) 2018-07-02 21:33:44 -05:00
Matthias Diener
c987987ca4 screen: update package (#8630) 2018-07-02 16:03:22 -05:00
Satish Balay
b0f8b7130f petsc: add in latest release 3.9.3. (#8627)
xl related fixes are 3.9.3 so remove xlc-test-3.9.0.diff
2018-07-02 15:48:13 -05:00
Matthias Diener
6f7e012cab byobu: update package (#8628) 2018-07-02 15:17:39 -05:00
健美猞猁
2601fd66f6 Bump gradle to 4.8.1. (#8625) 2018-07-02 12:46:46 -05:00
Jon Rood
f98657491d Add Amrvis package (#8590)
* First draft of amrvis package file.

* More additions to amrvis.

* Formatting.

* Forcing compiler environment variables to point to spack mpi compilers when using mpi.

* Disabling intel compiler for amrvis.

* Comments.

* Refining amrvis package file.

* Moving library and include locations variables to be inserted at the first lines of the makefile.

* Globbing amrvis binary instead of constructing its name.

* Making env variable setting consistent and fixing globbing of executable.

* Using iglob instead of glob.

* Turning MPI on by default for Amrvis.
2018-07-02 11:42:09 -05:00
Mark Olesen
a4ca2bb889 ENH: Building OpenFOAM sub-packages (issue #8579) (#8592)
* ENH: Building OpenFOAM sub-packages (issue #8579)

* Some support for packages building with OpenFOAM

- Adjust the wrappers calling the OpenFOAM Allwmake script. Have them
  look for a Allwmake-spack file first, which is assumed to contain
  special adjustments for compiling with spack.

  This file could be delivered as part of a tarball (which is unlikely)
  or generated on the fly by the spack sub-package as part of its
  patch or configure stage.

CONFIG: change the default paraview variant for openfoam to be False

- the different combinations of paraview backends, off-screen etc
  make it difficult to suggest that building with paraview as
  a standard dependency makes much sense.
  Additionally, building paraview with qt can become quite an issue.
  So it makes much more sense to only enable that upon request.

ENH: add a +vtk variant.

- for VTK with off-screen rendering to be used by the runTimePostProcessing
  function object, which is a fairly simple framework for generating images of
  some OpenFOAM derived objects (eg, sampling planes).

SPACK spec problem:

- reflect the flex restriction impose by the scotch dependency within
  the openfoam spec as well, as partial workaround for buggy or annoying
  spec resolution.

OTHER:

- updated the backstop foamEtcFile file to include args handling
  as per the OpenFOAM-v1806 updates.

* new version: OpenFOAM-v1806

- https://www.openfoam.com/releases/openfoam-v1806/
2018-07-02 10:02:48 -05:00
健美猞猁
bd3f981fbb A new package: xhmm. (#8620)
* A new package: xhmm.

* Flake8.

* Support general BLAS.
2018-07-02 07:54:41 -05:00
Adam J. Stewart
a0c13229e8 Add Python 3.7.0 (#8619) 2018-06-29 16:25:39 -05:00
Stephen Hudson
02b8502212 Update py-libensemble package (#8617) 2018-06-29 14:51:30 -05:00
Christoph Junghans
ec46c7c4a6 numactl: fix build with glibc-2.26 (#8615) 2018-06-29 14:41:52 -05:00
Christoph Junghans
b1d7fd886a latte: version bump (#8611) 2018-06-29 09:19:24 -05:00
Paul Chelarescu
719f324423 Removed duplicate word (#8609) 2018-06-29 07:44:23 -05:00
健美猞猁
13ee2c04e1 r-aer: a new package. (#8567)
* r-aer: a new package.

* Flake8.

* Add list_url and dependency versions.
2018-06-28 15:40:00 -05:00
Ian Lee
e792c148bc Added nmap version 7.70 (#8606) 2018-06-28 15:32:43 -05:00
Adam J. Stewart
8b3bcd189d Add CFITSIO 3.450 (#8602) 2018-06-28 11:28:22 -05:00
Adam J. Stewart
795e701ae3 Add kealib 1.4.9 (#8597) 2018-06-28 10:51:30 -05:00
David Böhme
51bd319fcf Add Caliper 1.7.0 and Gotcha 1.0.2 (#8572)
* Update Gotcha and Caliper versions

* caliper: Use spack-built gotcha

* caliper: Enable sampling support on Linux

* More robust check for Linux
2018-06-27 17:21:23 -05:00
Mark Olesen
e3f208e4cb New version mesa-18.1.2 (#8589)
- compiles with newer LLVM.

  The older mesa-17 versions balk at the changes in the llvm::FastMath
  class, where a member function has been removed.
2018-06-27 14:57:55 -05:00
Andreas Baumbach
8966a4987d Provide new version of sbt (simple build tool) (#8576) 2018-06-27 10:43:24 -07:00
Andreas Baumbach
b495c43783 Add package tcl-itcl (#8578)
* Add package tcl-itcl

Change-Id: I0eeaefe0554d0b62614f56204d635e3d8d216e4a

* fix naming

Change-Id: Id8adc7299f41b217b48999304a74827525533598

* and fix name of file accordingly

Change-Id: I0f32f8b66f2695fd99eee4a326353cd5af4aa334
2018-06-27 10:05:00 -05:00
Cameron Smith
da011bc7fb pumi: add fortran variant (#8584) 2018-06-27 10:03:46 -05:00
Cameron Smith
cdf9823599 zoltan: depends on metis.h and libmetis (#8583)
the parmetis build system does not install metis.h and libmetis
2018-06-26 23:29:22 -07:00
scheibelp
3560f6dbe9 views: packages can customize how they're added to views (#7152)
Functional updates:

- `python` now creates a copy of the `python` binaries when it is added
  to a view

- Python extensions (packages which subclass `PythonPackage`) rewrite
  their shebang lines to refer to python in the view

- Python packages in the same namespace will not generate conflicts if
  both have `...lib/site-packages/namespace-example/__init__.py`

  - These `__init__` files will also remain when removing any package in
    the namespace until the last package in the namespace is removed


Generally (Updated 2/16):

- Any package can define `add_files_to_view` to customize how it is added
  to a view (and at the moment custom definitions are included for
  `python` and `PythonPackage`)

  - Likewise any package can define `remove_files_from_view` to customize
    which files are removed (e.g. you don't always want to remove the
    namespace `__init__`)

- Any package can define `view_file_conflicts` to customize what it
  considers a merge conflict

- Global activations are handled like views (where the view root is the
  spec prefix of the extendee)

  - Benefit: filesystem-management aspects of activating extensions are
    now placed in views (e.g. now one can hardlink a global activation)

  - Benefit: overriding `Package.activate` is more straightforward (see
    `Python.activate`)

  - Complication: extension packages which have special-purpose logic
    *only* when activated outside of the extendee prefix must check for
    this in their `add_files_to_view` method (see `PythonPackage`)

- `LinkTree` is refactored to have separate methods for copying a
  directory structure and for copying files (since it was found that
  generally packages may want to alter how files are copied but still
  wanted to copy directories in the same way)


TODOs (updated 2/20):

- [x] additional testing (there is some unit testing added at this point
  but more would be useful)

- [x] refactor or reorganize `LinkTree` methods: currently there is a
  separate set of methods for replicating just the directory structure
  without the files, and a set for replicating everything

- [x] Right now external views (i.e. those not used for global
  activations) call `view.add_extension`, but global activations do not
  to avoid some extra work that goes into maintaining external views. I'm
  not sure if addressing that needs to be done here but I'd like to
  clarify it in the comments (UPDATE: for now I have added a TODO and in
  my opinion this can be merged now and the refactor handled later)

- [x] Several method descriptions (e.g. for `Package.activate`) are out
  of date and reference a distinction between global activations and
  views, they need to be updated

- [x] Update aspell package activations
2018-06-26 16:14:05 -07:00
Andreas Baumbach
1276ce0585 Add version 3.904 of verilator (#8577)
* Add specific version to package verilator

Change-Id: If7645410ec192f92a5eed83ee9b317b569576b4a

* fix dependency types

Change-Id: Ib36c72257c1fa6678c8553225ca21a010d7ae6d1
2018-06-26 17:51:45 -05:00
Sajid Ali
729bed3fd3 Add py-imageio for python3 (#8553)
* 	new file:   var/spack/repos/builtin/packages/py-imageio/package.py

* 	modified:   var/spack/repos/builtin/packages/py-imageio/package.py

* Update package.py
2018-06-26 12:55:10 -05:00
Omar Padron
911b6d7671 Docker dedupe (#8441)
* Add Dockerfile for Scientific Linux 7 (RHEL7 recompile)

* revert version change

* remove duplicate docker-related files
2018-06-26 07:37:28 -07:00
Todd Gamblin
a48bdfaf1d bugfix: fix macos incompatibility in lock test (#8573)
- Spack was assuming that a group with gid == current uid would always exist.
- This was breaking the travis build for macos.

- also fix issue with the DB tarball test finding coverage filesx
2018-06-26 14:51:02 +02:00
Patrick Gartung
bdd5aab8be Add Dockerfile for Scientific Linux 7 (RHEL7 recompile) (#8422)
* Add Dockerfile for Scientific Linux 7 (RHEL7 recompile)
2018-06-26 01:10:13 -07:00
Todd Gamblin
e5a6832760 refactor: move pytest.ini and top-level conftest.py to lib/spack/spack/test
- removes two files from root of repository
- `spack test` still works fine to run tests
2018-06-25 23:02:06 -07:00
健美猞猁
9a0af8a5ce HiC-pro depends on python+ucs4. (#8564) 2018-06-25 12:04:00 -05:00
健美猞猁
808a53c0df A new perl package: perl-io-compress. (#8566)
* A new package: perl-compress-raw-zlib.

* A new package: perl-compress-raw-bzip2.

* A new perl package: perl-io-compress.

* flake8.

* Add zlib and bzip2 dependency.
2018-06-25 12:02:04 -05:00
Todd Gamblin
6afe309fdf refactor: move issue_template.md to .github directory 2018-06-25 09:03:32 -07:00
Todd Gamblin
d04e9fd272 coreutils: add version 8.29 2018-06-24 16:39:04 -07:00
Todd Gamblin
c4c1d37fcd refactor: move templates from root to share/spack
- This complies with the unix directory hierarchy standard (which Spack
  attempts to follow)
- Also unclutters the repo root directory.
2018-06-24 16:38:36 -07:00
Satish Balay
6517dabbce sowing: update to version used by current petsc -i.e 1.1.25-p1 (#8561) 2018-06-24 17:02:39 -05:00
Todd Gamblin
15910debb2 tests: test file/line attribution in config errors 2018-06-24 14:21:52 -07:00
Todd Gamblin
970b558f7f tests: add a test for spack debug command 2018-06-24 14:21:52 -07:00
Todd Gamblin
175de19f2d tests: test html output for spack list
- make list test use SpackCommand
- convert to pytest
- add a test for HTML output
2018-06-24 14:21:52 -07:00
Todd Gamblin
f476e60c01 Add spack -H shortcut for spack help --all
- I keep typing this based on `spack test -h` and `spack test -H`
- This finally makes my fingers happy
2018-06-24 10:19:07 -07:00
Satish Balay
df45b6f56d Balay/petsc remove boost dependency (#8508)
* petsc: remove dependency on boost - its required only as a dependency on trilinos

Also set COPTFLAGS='' etc - this way CFLAGS is the primary way optimization flags are set by spack

* petsc: update pkgs with petsc~boost dependency

* fix flake8

* boost is optional for trilinos - so adjust petsc dependency on boost [via trilinos] accordingly

* do not add boost dependency on petsc [due to trilinos requirement]. Trilinos adds this dependency anyway.
2018-06-24 10:52:14 -05:00
Satish Balay
f6140375e9 xsdk: update xsdk@develop to use plasma@develop (#8555)
plasma@develop has another flag 'DHAVE_MKL' that needs to be disabled [for non-mkl build]

add dependency on gcc-6.0

add in new dependency on readline

plasma: requires both LIBS in make.inc and command line?

If cmd line is missing -some internal values from plasma makefile gets used - causing link errors [on Mac]

tools/lua-5.3.4/src/Makefile:   $(MAKE) $(ALL) SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -lreadline"

if make.inc is missing - I get:

/usr/bin/ld: cannot find -lmkl_intel_lp64
/usr/bin/ld: cannot find -lmkl_sequential
/usr/bin/ld: cannot find -lmkl_core
collect2: error: ld returned 1 exit status

Also add a new dependency -ldl
2018-06-24 08:08:44 -05:00
George Hartzell
1e92721ab5 Fix m4 on OS X highsierra (#8559)
m4 exited immediately (causing the nettle build to fail).

```
(alice)[11:09:46]spack>>/Users/hartzell/tmp/spack-mac/spack/opt/spack/darwin-highsierra-x86_64/clang-9.1.0-apple/m4-1.4.18-caxsf7l5yd7qbq2bown6bzi5el3ltfwf/bin/m4
Abort trap: 6
(alice)[11:10:18]spack>>fg
```

Tracked down a fix via the Homebrew recipe.  I'll send a note to the
`bug-m4@gnu.org` list to ensure that upstream knows about it.
2018-06-23 20:34:04 -05:00
George Hartzell
4864005483 Fix gcc@5.5.0 on OS X 10.13.5 (#8540)
* Fix gcc@5.5.0 on OS X 10.13.5

gcc@5.5.0 failed to build on my OS X 10.13.5 box.

I found/modified a patch in the MacPorts world that traced back to
Homebrewy, https://trac.macports.org/ticket/56502#no1

The issue has also been reported to gcc,
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83531

I eventually discovered a nearly identical version of the patch at
Homebrew.

https://github.com/Homebrew/formula-patches/blob/master/gcc%405/10.13_headers.patch

gcc builds with this and I can compile many things, but e.g. curl and
cmake both fail.  As @davydden and others observed in #1847, it seems
to be an apple thing.

* Fix mistaken change to patch when clause (added :)

I mistakenly deleted a colon from the
'darwin/gcc-7.1.0-headerpad.patch'.
2018-06-23 19:40:42 -05:00
Geoff Womeldorff
a72f240f95 kokkos: add support for version 2.7.00 of kokkos (#8521) 2018-06-23 12:12:12 -05:00
Satish Balay
e1661ff662 omega-h: fix -std=c++11 build error (#8543)
cd /tmp/balay/spack-stage/spack-stage-joxtpr/omega_h-9.13.4/spack-build/src && /home/balay/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openmpi-3.1.0-7ws4tgx4z3o
ru5g5skjrxs5sobpeiyef/bin/mpic++   -Domega_h_EXPORTS -I/home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/src -I/tmp/bala
y/spack-stage/spack-stage-joxtpr/omega_h-9.13.4/spack-build/src -I/home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/tpl
-I/home/balay/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/zlib-1.2.11-5nus6knzumx4ik2yl44jxtgtsl7d54xb/include  -O2 -g -DNDEBUG -fPIC   -o CMakeFiles/omega_h.di
r/Omega_h_map.cpp.o -c /home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/src/Omega_h_map.cpp
In file included from /usr/include/c++/5/chrono:35:0,
                 from /home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/src/Omega_h_timer.hpp:4,
                 from /home/balay/spack/var/spack/stage/omega-h-9.13.4-th4b67fz5es6cbgcar742jxamjt3tqjb/omega_h-9.13.4/src/Omega_h_timer.cpp:1:
/usr/include/c++/5/bits/c++0x_warning.h:32:2: error: #error This file requires compiler and library support for the ISO C++ 2011 standard. This support must be enabled with the -std=c++11 or -std=gnu++11 compiler options.
 #error This file requires compiler and library support \
  ^
2018-06-23 07:25:33 -05:00
Michael Kuhn
c2d56b0b10 Fix version detection for gcc@8 (#8511) 2018-06-22 18:03:43 -05:00
Tom Merrick
bef60f6d7e Package/grass (#8505)
* Add the grass74 GIS system.

* Correct flake8 errors

* Made requested changes

* added correct types to python
2018-06-22 18:03:05 -05:00
Jon Rood
e18359bd82 Updating py-pillow with change in checksum for version 5.1.0. (#8547) 2018-06-22 18:02:27 -05:00
Yifan Zhu
8b0d29bec4 New package ncbi-magicblast (#8517)
* ncbi-magicblast: new package

* updated package.py

* updated ncbi-magicblast
2018-06-22 17:48:32 -05:00
Nick Forrington
259b1834f1 silo: Make silo use AutotoolsPackage (#8551)
To benefit from updates to config.guess for newer architectures.

More info: https://github.com/spack/spack/issues/2063
2018-06-22 17:19:03 -05:00
Gregory Lee
ae8645e27d added ReMPI version 1.1.0 (#8548) 2018-06-22 17:03:41 -05:00
Paul Chelarescu
3e7f5250c0 Added minuit package (#8536)
* Added minuit package

* Removed default method and template

* Different URLs for old versions

* Patches for versions down to 1.5.0

* Reverted ROOT package changes

* Removed print statement

* Added checksums for older versions

* Consistent version names
2018-06-22 11:27:25 -05:00
Massimiliano Culpo
d5e8cabe75 Fixed linking of R with MKL + configure issue in a dep (pixman) (#8449) 2018-06-22 08:03:47 -05:00
Denis Davydov
8e3d49cf35 elpa: add 2018.05.001.rc1 and 2017.11.001 (#8512)
* elpa: add 2018.05.001.rc1 and 2017.11.001

* elpa: shift preferred
2018-06-22 07:52:40 -05:00
Mike Pozulp
3c627ea655 new packages: workrave and its dependencies (#7753) 2018-06-21 18:25:26 -07:00
Todd Gamblin
8f2918813d Add tags for ECP applications that are in Spack.
- All now have both 'ecp' and 'ecp-apps' tags.
- ECP ST projects will eventually also have ecp and ecp-software tags.
2018-06-21 16:07:47 -07:00
Jon Rood
9f22bb61ac Correcting position independent code setting for boxlib and amrex. (#8537) 2018-06-21 16:37:10 -05:00
Cyrus Harrison
645c640f38 use new valgrind repo (#8538) 2018-06-21 16:35:07 -05:00
Matthias Diener
a14b1cac9e cmake: update package (#8539) 2018-06-21 15:34:33 -05:00
Daniel Topa
70a0ea910f openmpi: add latest release 3.0.2 (#8452)
* Add latest release 3.0.2
https://www.open-mpi.org/software/ompi/v3.0/:x

Signed-off-by: Daniel Topa <dantopa@lanl.gov>

* Add in library version in comment
2018-06-21 12:55:17 -05:00
Denis Davydov
e378d4ee34 dealii: add msg= to conflicts statements (#8509) 2018-06-21 18:24:05 +02:00
Peter Doak
5be89bfb7f poppler needs it test repo URL updated (#8519) 2018-06-20 16:04:22 -05:00
Todd Gamblin
398afa460a pytest: add _pytest/_version.py and LICENSE
- pytest was not reporing the correct version from pytest.__version__.
  It reported 'unknown'

- this fixes issues on some systems where system-installed pytest plugins
  would try to use the version and convert it to an int
2018-06-20 14:35:10 -05:00
Todd Gamblin
137456fbf3 externals: move spack.util.ordereddict to external/ordereddict_backport 2018-06-20 14:35:10 -05:00
Chris Green
508bbf407b New package xxhash. (#8530)
* New package xxhash.

* Change requested by @adamjstewart.
2018-06-20 13:51:53 -05:00
Adam J. Stewart
b477868a5f Add kealib 1.4.8 (#8522) 2018-06-20 13:51:33 -05:00
Axel Huebl
5b309ea6ac openPMD-api: update dependencies (#8528)
update the dependencies of openPMD-api
2018-06-20 11:24:41 -05:00
Michael Kuhn
e6834301b9 glib: Update to 2.56.1 (#8523) 2018-06-20 11:20:04 -05:00
Levi Baber
f9683419f9 mitofates: needs perl at runtime (#8526) 2018-06-20 11:17:14 -05:00
Chuck Atkins
5c731f54b8 Bump ZeroMQ from v4.2.2 to v4.2.5 (#8514)
This addresses some build issues with GCC 8 and the addition of the
-Werror=stringop-truncation warning.
2018-06-20 16:33:17 +02:00
Douglas Duckworth
818e7481a6 added albacore version 2.3.1 (#8513) 2018-06-19 11:16:41 -05:00
Adam J. Stewart
55d0d1814c Allow docs to be built with Sphinx 1.7.1+ (#8500)
* Allow docs to be built with Sphinx 1.7.1+

* Allow docs to be built with Sphinx 2.0+
2018-06-18 17:17:21 -07:00
Jon Rood
3e2636e10f Percept requires googletest to be a static library. (#8506) 2018-06-18 16:34:39 -05:00
twang15
ec1b2d0a3a samrai: update package for 3.12.0 and fix compilation bugs for earlier versions (#8501)
* SAMRAI: remove dependency on boost for samrai 3.12.0 or later versions, but keep the older versions ccontinuing working with boost 1.64.0 or earlier. Also, the older versions cannot compile with boost 1.65.0 or above. (#8491)

* SAMRAI: fix typos of comments and remove obsolete code.
2018-06-18 13:52:24 -05:00
Glen Hansen
d98d45ec50 Albany: Add Albany package. (#8332)
* Add package.py to support the Albany GitHub project builds.
2018-06-18 13:50:26 -05:00
Jon Rood
ef002a25fa Updates to Nalu package(s) (#8492)
* Updating Nalu now that it can build with shared libraries and adding the new Nalu-Wind wind energy focused application.

* Explicitly turn off TPLs for Nalu when not enabled.
2018-06-18 12:04:11 -05:00
Samuel Fux
46bf21f05e Adding patch to Opencv (3.3.0-3.4.1) for fixing conflict between CUDA and OpenCV dnn header file (#8502)
* Adding patch for OpenCV to fix a conflict between an OpenCV and a CUDA header file

* Added patch command to package.py file for OpenCV SPACK package.

* Adding version range for patch.

* shortening comment lines, since testsuite failed
2018-06-18 09:53:48 -05:00
George Hartzell
cb11e1b8ee There's only one 'u' in "configuration" (#8498) 2018-06-17 19:11:16 -05:00
Pramod Kumbhar
98f11b9def Add new versions for TAU and PDT package (#8497) 2018-06-17 17:21:00 -05:00
Jim Galarowicz
ec66e0fb7e Add changes to the Krell packages with version updates and ranges for the latest release. (#8468)
* Add changes to the Krell packages with version updates and ranges for the latest release.

* Add reviewer requested changes.  Remove preferred clauses and update the qt version for the cbtf-argonavis-gui@develop

* Trigger integration/test restart
2018-06-17 09:49:27 -05:00
Todd Gamblin
afe7964670 docs: remove vendored sphinx_rtd_theme (#8496) 2018-06-17 01:13:56 -07:00
Jon Rood
129e03a2e0 Trilinos needs parallel-netcdf as an explicit dependency to avoid concretization errors when netcdf is an external. (#8493) 2018-06-16 14:11:07 -05:00
Satish Balay
fe0fd6ef34 superlu_dist: 'master' is branch - not tag (#8495)
==> Trying to clone git repository: https://github.com/xiaoyeli/superlu_dist at tag master
Fetching tags only, you probably meant:
  git fetch --tags
2018-06-16 08:18:01 -05:00
Jon Rood
4e4457f820 SAMRAI: new versions, handle deprecation of boost in latest version. (#8494) 2018-06-15 22:53:59 -07:00
Adam J. Stewart
cea5d04a1e Fix GDAL Python bindings and add import tests (#8482) 2018-06-15 10:14:50 -05:00
Pramod Kumbhar
a3a9b2ab2b Add newer likwid versions 4.3.1 and 4.3.2 (#8488) 2018-06-15 10:14:00 -05:00
Matthias Maiterth
a85981b250 Package/geopm: Update to version 0.5.0 (#8487) 2018-06-15 08:17:17 -05:00
Veselin Dobrev
a3c989ef3a [mfem] Add BLAS+LAPACK to the required dependencies of SuperLU_DIST. (#8485) 2018-06-15 11:34:04 +02:00
Todd Gamblin
5f852634cd openssl: add new version 1.0.2o (#8486) 2018-06-15 09:54:52 +02:00
Dan FitzGerald
d182d85dd1 Update the clang compiler definition to use IBM XL Fortran compiler (#8389)
on CORAL systems (linux-rhel7-ppc64le).
2018-06-14 20:51:45 -07:00
Dan FitzGerald
54aab585c4 Patch trilinos for xlf when using clang (#8391)
* Add patching for xlf when %clang.  Changes are effective only when Fortran compiler is 'XL'.
* Use the right version for trilinos when patching for seacas.
2018-06-14 20:48:43 -07:00
Dan FitzGerald
64d20a3955 Use no mangling for all spack compiler definitions that use the XL (#8392)
Fortran compiler.
Clang can build with IBM XL Fortran compiler as well, so the name
mangling shoud be avoided for that case as well.
2018-06-14 20:46:09 -07:00
Dan FitzGerald
a67b2e2942 Use the name of the Fortran compiler to determine what name mangling (#8393)
setting to use, instead of the spack compiler.

%clang can use multiple Fortran compilers with different options, so
we need to know what compiler is used in order to provide the correct
options.
2018-06-14 20:45:21 -07:00
健美猞猁
98d8bdebbe A new package: megahit. (#8471) 2018-06-14 13:45:12 -05:00
Matthias Wolf
75c0007cf8 neovim: add info for v0.3.0 (#8472) 2018-06-14 13:44:40 -05:00
Denis Davydov
53517c60b6 oce: add 0.18.3 (#8477) 2018-06-14 13:44:14 -05:00
Praveen C
34c08ed362 netgen should depend on zlib (#8473) 2018-06-14 13:43:43 -05:00
Denis Davydov
b5fcd62891 openblas: add 0.3.0 (#8478) 2018-06-14 13:43:05 -05:00
Denis Davydov
484e54d78e petsc: add 3.9.1 and 3.9.2 (#8479) 2018-06-14 13:42:12 -05:00
Denis Davydov
df657275e4 slepc: add 3.9.1 (#8480) 2018-06-14 13:41:52 -05:00
Denis Davydov
a878e76f93 superlu-dist: add 5.3.0 and 5.4.0 (#8481) 2018-06-14 13:41:35 -05:00
Serban Maerean
ee4050c58f boost package: patch dirent for pgi and boost 1.67 (#8313) 2018-06-13 15:53:14 -07:00
Satish Balay
eac8cf83bd xsdk: fix 'ChecksumError: md5 checksum failed' (#8440)
[error came up with the  prior url pointing to a 'master' branch. so fixing with a switch to a fixed tarball]
2018-06-13 13:46:38 -07:00
Satish Balay
2829ebd485 xsdk: update xsdk@develop dependency on mfem@develop (#8462) 2018-06-13 13:45:34 -07:00
Veselin Dobrev
a0c2a25a72 [mfem] new version: 3.4 (#8453)
* Add new version (3.4.0) with new variant (pumi).
* Fix an issue: skip the tests in examples/pumi as they require
files that are not included in the mfem distribution/repository.
* Use patches to fix the testing issues with PUMI and PETSc v3.9.
* Use the new bit.ly short link for v3.4.
2018-06-13 13:42:21 -07:00
Jim Galarowicz
674feb45f1 Add the ability to build the dyninst master branch under the develop version name. (#8455)
* Add the ability to build the dyninst master branch under the develop version name.  Fix elfutils and libdwarf to work with the various dyninst versions and vice-versa.

* Add reviewer suggested change to dyninst package file.  Remove colon in spec.satisfies clause.

* Add reviewer suggested change to dyninst package file. Remove duplicate lines.

* Add reviewer suggested change to dyninst package file. Encompass all versions under 10.0 with respect to using libdwarf in the build.
2018-06-13 13:35:32 -07:00
Timo Heister
758b813c36 new package: ASPECT (#8459)
* add ASPECT package

* add maintainer

* simplify
2018-06-13 14:42:29 -05:00
Axel Huebl
664f03e329 ADIOS: Revert Patch (#8463)
That patch is only a partial solution and does not solve the
issue. Revert is, unnecessary.
2018-06-13 14:42:13 -05:00
Axel Huebl
6d4909d69b Add: MPILander (#8464)
MPILander - There can only be one (MPI process)!

The final MPI implementation.
2018-06-13 14:40:51 -05:00
Michael Kuhn
04dce19155 gplates: new package (#8336)
This also adds an older 1.x version to gdal that is required by gplates.
2018-06-13 08:57:52 -05:00
Simone Bnà
470d4ddd96 openfoam-com: added submodule flag to git fetch (#8446) 2018-06-13 08:56:52 -05:00
Miles Perry
fa00a04e91 blasr-libcpp: new package (#8366)
* blasr-libcpp: new package

* blasr-libcpp: added version #, and moved make into build phase.

* blasr-libcpp: added prefix.include to PBBAM_INC, added version URL

* blasr-libcpp: indented comments, made list of configure_args, and added prefix.include

* blasr-libcpp: added setup_dependent_environment from blasr

* blasr-libcpp: fixed syntax for configure_args

* blasr-libcpp: fixed configure_args syntax

* blasr-libcpp: fixed syntax

* blasr-libcpp: syntaxtest

* blasr-libcpp: fixed def build error

* blasr-libcpp: edited dependent environment to move after install phase

* blasr-libcpp: rearranged build and install

* blasr-libcpp: added configure_args

* blasr-libcpp: fixed syntax error

* blasr-libcpp: removed .spec from INC and LIB alignment, pbdata, hdf

* blasr-libcpp: seperated configure args

* blasr-libcpp: edited configure and setup_dependent steps

* blasr-libcpp: added CPATH arg

* blasr-libcpp: C_INCLUDE_PATH

* blasr-libcpp: fixed install issues resulting from PacBio change
2018-06-13 08:55:31 -05:00
Satish Balay
c12855dce5 trilinos: use 'branch' option to specify branches such as develop/master [they are not tags] (#8448)
Fixes the following problem:

==> Installing trilinos
==> Warning: Suspicious requests to set or unset 'LD_LIBRARY_PATH' found
==> Warning: 	    	env.unset('LD_LIBRARY_PATH') at /home/balay/spack.new/lib/spack/spack/build_environment.py:269
==> Warning: 	--->	env.set('%s' % key, value) at /home/balay/spack.new/lib/spack/spack/build_environment.py:292
==> Trying to clone git repository: https://github.com/trilinos/Trilinos.git at tag develop
Fetching tags only, you probably meant:
  git fetch --tags
error: pathspec 'develop' did not match any file(s) known to git.
==> Fetching from [git] https://github.com/trilinos/Trilinos.git failed.
==> Error: FetchError: All fetchers failed for trilinos-develop-tgkpnctp6nn4imoizxlw4ymqyztcie4n
2018-06-13 08:54:53 -05:00
Timo Heister
b27da52e4b new package: dealii-parameter-gui (#8456) 2018-06-13 08:44:10 -05:00
Satish Balay
1d14ec7436 petsc: 'master' is a branch - not a tag - so fix it accordingly. (#8457) 2018-06-13 08:43:09 -05:00
Veselin Dobrev
683addc26d [GLVis] Add new version: 3.4 (#8454)
* [glvis] Add new version, 3.4; update all checksums to be SHA-256.

* [GLVis] Use the new bit.ly short link for v3.4.
2018-06-13 08:42:45 -05:00
Elizabeth Fischer
3cbae250f0 new package: pdftk (#8166) 2018-06-12 11:25:20 -07:00
Adam J. Stewart
0f1a1ae94e Add trailing slash when spidering URLs for versions (#8429)
By default, if a package does not specify a list_url and does not download from
a common repository, Spack runs dirname on the package URL. Given a URL
like https://root.cern.ch/download/root_v6.09.02.source.tar.gz, this returns
https://root.cern.ch/download. However, https://root.cern.ch/download
gives a 404, while https://root.cern.ch/download/ works just fine.

Note that some servers *don't* work with a trailing slash, so this tries with and
without the slash. This will double the number of URLs searched but the
slowdown should only affect the "spack versions" command.
2018-06-12 10:33:47 -07:00
Axel Huebl
583af6ef4f Package: ISAAC 1.4.0 (#8447) 2018-06-12 11:11:32 -05:00
Satish Balay
8e7d98c5fa superlu_dist: fix 'spack install superlu-dist@develop' (#8442)
Latest superlu_dist sources now use INCLUDEDIR.
This change should not affect older superlu_dist version builds
2018-06-12 08:21:10 -05:00
Massimiliano Culpo
004e9b8948 Fixed compilation of quantum-espresso (#8439)
The patch to select ELPA API needs to be applied to
version 6.2.0 too.

The link line of hdf5 is computed incorrectly from
the configuration part of the build-system. To fix
this the relevant file (make.inc) is patched.
2018-06-11 11:42:13 -05:00
Denis Davydov
d943754e92 boost: fix cxxstd=default (#8438) 2018-06-11 10:31:27 -05:00
Javier Cervantes
4ec3cb1ddb Add new package: unuran (#8397)
* Add new package: unuran

* Remove list_url and prng variant due to compilation problems

* Make shared library option more explicit
2018-06-11 08:41:32 -05:00
Denis Davydov
69ec8deec8 arpack-ng: add 3.6.0 (#8433) 2018-06-10 15:16:42 -05:00
健美猞猁
35a83540f0 A new package: axel. (#8434)
* A new package: axel.

* Remove duplicate pkgconf.
2018-06-10 15:16:16 -05:00
健美猞猁
80c1984e68 Bump miniconda to 4.5.4. (#8435) 2018-06-10 15:15:43 -05:00
toffer93
8a97aa4c51 py-projectq: Added new package and fixed its dependency py-pybind11 (#8378)
* py-pybind11: Additionally install python extensions e.g. run python setup

* py-projectq: Added new package for quantum computing

* py-projectq: corrected typos

* edited flake8 incompatibilities

* additional flake8 faults

* changes according to suggestions

* flake8 errors fixed

* typo and missing environment variable set

* py-pybind11:added setup_environemt

* py-projectq:changed version according to request

* flake8 correction

* py-pybind11:changed to setup_py and removed noop

* py-projectq:removed dependency and changed type of py-pytest dependency

* py-pybind11: flake8 error corrected

* py-projectq: Small error correction
2018-06-09 16:22:25 -05:00
Kelly (KT) Thompson
689e0cb24b Git's gitk needs TK's wish to be found in PATH (#8360)
* Git's gitk needs TK's wish to be found in PATH

* Add a _runtime_ dependency on `tk`
* Add an environment rule to add the path to TK's `wish` program to $PATH for
  the generated `git` modulefile.

* Make TclTk run environment an optional variant for git.

* Cleanup based on PR recommendations.
2018-06-09 16:16:35 -05:00
Chris Green
15c98fa57c compiler flags: add cxx98 standard support (#7601)
The following improvements are made to cxx standard support
(e.g. compiler.cxxNN_flag functions) in compilers:

* Add cxx98_flag property
* Add support for throwing an exception when a flag is not supported (previously
  if a flag was not supported the application was terminated with tty.die)
* The name of the flag associated with e.g. c++14 standard support changes for
  different compiler versions (e.g. c++1y vs c++14). This makes a few corrections
  on what flag to return for which version.
* Added tests to confirm that versions report expected flags for various c++
  standards (or raise an exception for versions that don't provide a given cxx
  standard)

Note that if a given cxx standard is the default, the associated flag property will
return ""; cxx98 is assumed to be the default standard so this is the behavior for
the associated property in the base compiler class.

Package changes:

* Improvements to the boost spec to take advantage of the improved standard
  flag facility.
* Update the clingo spec to catch the new exception rather than look for an
  empty flag to indicate non-support (which is not part of the compiler flag API)
2018-06-08 13:49:31 -07:00
Yifan Zhu
ceb2790f30 r-mice: new package (#8423)
* r-mice: new package

* flake8 fixed
2018-06-08 14:48:54 -05:00
Elizabeth Fischer
4a53942ee1 tcl package: Install sources (#8153)
The tcl package references the original sources upon install, and the tk build
requires the tcl sources. This updates the tcl package to install its sources following
the example of #4102, and also updates the tclConfig.sh file to properly reference
the installed sources (rather than the staging directory created by Spack).
2018-06-08 11:10:40 -07:00
Oliver Pola
cd860d7554 new version scotch@6.0.5a (#8254)
* new version scotch@6.0.5a

* patch metis headers on scotch@6.0.4 according to https://gforge.inria.fr/tracker/?func=detail&atid=1082&aid=19521&group_id=248
2018-06-08 08:39:03 -05:00
Ricardo Silva
9b2953939b GDL and missing dependencies (#8283)
* GDL and missing dependencies

Signed-off-by: Ricardo Silva <ricardo.silva@epfl.ch>

* GDL and GraphicsMagick improvements

* GDL: sort variants and dependencies, add descriptions
* GDL: add wx variant
* GDL: make variants explicit (in cmake args)
* GraphicsMagick: sort dependencies
* GraphicsMagick: cleanup boilerplate comments

Signed-off-by: Ricardo Silva <ricardo.silva@epfl.ch>

* Improvements/Fixes for gdl, plplot and graphicsmagick

* gdl:
  * variants:
    * openmp
    * be explicit about enabling/disabling x11
  * dependencies:
    * logic for plplot with/without wx
    * some previously missing (where being picked up from the system)

* graphicsmagick: previously missing dependencies (where being picked up from the system)

* plplot: more versions + variants + dependencies

Signed-off-by: Ricardo Silva <ricardo.silva@epfl.ch>

* GDL: hdf4/5 variants

* also sorted explicit enabling/disabling of cmake flags for readability

Signed-off-by: Ricardo Silva <ricardo.silva@epfl.ch>

* plplot: fix variant descriptions

Signed-off-by: Ricardo Silva <ricardo.silva@epfl.ch>

* Add tcl variant, use find_libraries for portability

Signed-off-by: Ricardo Silva <ricardo.silva@epfl.ch>

* plplot: flake8

Signed-off-by: Ricardo Silva <ricardo.silva@epfl.ch>
2018-06-08 08:35:28 -05:00
Michael Kuhn
7488ed4ff5 go: Update to 1.10.3 (#8426) 2018-06-08 07:35:43 -05:00
sknigh
7f6f83d173 Added elastic search (#8424) 2018-06-07 23:17:07 -05:00
Chris Green
25024b68d0 Update intel-tbb to 2018.3 and improve version URLs, dependencies and patching. (#7932)
* Update to 2018.3 and improve version URLs, dependencies and patching.

Improve to version -> URL translation to be algorithmic rather than manual.

Make binutils build dependency explicit where appropriate because we're sensitive to the assembler used.

Build's use of '-mrtm' is only patched away if it needs to be because the assembler is too old.

Incorporate @adamjstewart request to convert GCC version check to a conflict.

* Allow specification of C++ standard.

* Improve TBB patch per PR comments.

* Restrict RTM patch application to older OS only.

* New version 2018_U4.
2018-06-07 23:16:31 -05:00
Miles Perry
21ff3c9ac1 pbbam: new package (#8365)
* pbbam: new package

* pbbam: updated version

* pbbam: added option tests handling

* pbbam: flake8 edits
2018-06-07 22:44:30 -05:00
Corey McNeish
c8a3a650fa Fix hydrogen@develop build (#8262)
* Delete support for old versions of Elemental in Hydrogen

* Fix cmake_args versions in lbann

* Remove unused import (again)

* Revert elemental to pre-llnl fork

* Strip tailing whitespace from libgfortran.so

* Fix flake8

* Remove debug print

*  * Add back elemental@develop
 * Prohibit installation of hydrogen previous to 0.99

* Fix flake8

* Change cmake_args error to a conflicts for old versions of Hydrogen

* Use ~ not -
2018-06-07 18:08:23 -05:00
Yifan Zhu
1a8bb78824 Fermi Science Tools: New package (#8126)
* fermisciencetools: new package

* fermisciencetools: new package

* added comments about the error in building the source distribution; fixed flake8 errors
2018-06-07 14:07:39 -05:00
healther
980817575a add python cache removal to spack clean (#8419)
Remove .pyc and .pyo files along with __pycache__directory if the user provides
the -p/--python-cache option to "spack clean"
2018-06-07 10:33:38 -07:00
healther
1d3ad6ea7e add sqlitebrowser (#8418)
* add sqlitebrowser

Change-Id: I20cac709509e82d348cebc11b0d584b53b2ad3d4

* add message and clean up unnecessary code

Change-Id: Ib9d2229ee25d751274680d06824891ee78fa5970

* and make flake8 happy

Change-Id: I814eb89eefe1767af4d8043b08b61991750516df

* make gcc-independence great again

Change-Id: I75f7271757782a6735eb7f03c0551d190722974d

* remove explicit import of dso_suffix

Change-Id: I626c6391b22524895199db5508606c4cf22bf9b5
2018-06-07 11:34:29 -05:00
healther
af881b8c2e fix qt@5.8: build on systems without wayland (#8417)
* fix qt@5.8: build on systems without wayland

Change-Id: I56b83208edd46f50e003d82c071e296e905bfb15

* add links

Change-Id: Ia16fc20632690340f33df77fbdcb1a166d49cedc

* move 5.8 comparison into 5.7 configure block

Change-Id: I7dc606beeb5b5bf4e8263bc50d28de6591633c99
2018-06-07 10:50:05 -05:00
Daryl W. Grunau
a6e0837b31 googletest: add a shared variant for all supported versions (#8373)
* add a shared variant for all supported versions

* address comment from @citibeth about MacOS lib installs

* address additional comments from @citibeth about MacOS lib installs

* set +shared variant to be default behavior
2018-06-07 10:34:37 -05:00
healther
b5a48f44bc add commented test dependencies (#8407)
* add commented test dependencies

Change-Id: I38ffd3caa77a59f2a0a7ae92a9c8e8215cf5b4d6

* readd make('test') to openssl

Change-Id: Ia3733a3848a2a26729b4050c7d4439ea9de17b1a
2018-06-07 10:33:59 -05:00
Sajid Ali
f1ba43d4a4 modified: var/spack/repos/builtin/packages/py-psutil/package.py (#8420) 2018-06-07 10:26:48 -05:00
Javier Cervantes
f3cb8ee6cf Add new package: ftgl (#8416)
* Add new package: ftgl

* Check version using decorator
2018-06-07 08:48:27 -05:00
Axel Huebl
93791beb23 openPMD-api: Update Dependencies (#8330)
We need a newer version of HDF5 and dropped the boost dependency.

Modernize the test variant to the spack test functionality.
2018-06-07 08:12:18 -05:00
healther
7e649c1205 add package py-cartopy and dependencies (#8406)
* add package py-cartopy

Change-Id: Ifbe541e852921c384a381594a2c1110814556311

* fix comments and flake8

Change-Id: I8d5e994580e8252e00654e68ad79d74e06089939

* remove pip dependency... not sure why added in the first place

Change-Id: Ie2a788887dac30778cc43931a0732980a347514d

* move build, link, run to default dependencies

Change-Id: I1ec0cb7dc4a697c4ca9e68a0cc0d8694cc21c100
2018-06-07 08:10:39 -05:00
scheibelp
c97d058ce3 Fix bug where patches specified by dependents were not applied (#8272)
Fixes #7885

#7193 added the patches_to_apply function to collect patches which are then
applied in Package.do_patch. However this only collects patches that are
associated with the Package object and does not include Spec-related patches
(which are applied by dependents, added in #5476).

Spec.patches already collects patches from the package as well as those applied
by dependents, so the Package.patches_to_apply function isn't necessary. All
uses of Package.patches_to_apply are replaced with Package.spec.patches.

This also updates Package.content_hash to require the associated spec to be
concrete: Spec.patches is only set after concretization. Before this PR, it was
possible for Package.content_hash to be valid before concretizing the associated
Spec if all patches were associated with the Package (vs. being applied by
dependents). This behavior was unreliable though so the change is unlikely to
be disruptive.
2018-06-06 18:28:25 -07:00
Javier Cervantes
728351faae Add new package: davix (#8376)
* Add new package: davix

* Add list_url

* Remove extra spaces, add list_depth and specify dependency type
2018-06-06 18:54:07 -05:00
Sheng Di
8e161f1034 remove pwrType from the interface SZ_compress_args() (#8414) 2018-06-06 17:44:47 -05:00
Yifan Zhu
2c13e9c0e5 r-mitml: new package and its dependencies r-jomo and r-pan (#8412) 2018-06-06 17:44:32 -05:00
ynanyam
5c3adff49b libjpeg-turbo: updated checksums and added autoreconf for older versions (#8411) 2018-06-06 16:18:03 -05:00
Axel Huebl
0495b5474b ADIOS: Serial API with Parallel Lib (#8409)
Provides a patch for the fix in
  https://github.com/ornladios/ADIOS/pull/182

Installed ADIOS MPI-enabled libraries are with that able to also
perform serial I/O without the need to start the whole app via
`mpiexec`.
2018-06-06 15:38:36 -05:00
Javier Cervantes
8b261506cb Add new package: rngstreams (#8395)
* Add new package: rngstreams

* Remove unnecessary list_url
2018-06-06 12:10:56 -05:00
Axel Huebl
d1d731bf83 xsimd: test type (#8405)
Add the new type 'test` to the `googletest` dependency
of xsimd.
2018-06-06 12:10:34 -05:00
Javier Cervantes
34149e9a2b Add new package: prng (#8396)
* Add new package: prng

* Add missing dependencies and use force_autoreconf option

* Add dependency types
2018-06-06 12:07:16 -05:00
Axel Huebl
1a27f911d3 Fix ADIOS 1.13.1: Maxium SZ (#8408)
Fix the maximum accepted SZ version for the latest ADIOS release.
2018-06-06 11:58:15 -05:00
Axel Huebl
e6d2cd6ff0 numpy: nosetest (#8404)
the type 'test' exists now :-)
2018-06-06 10:33:31 -05:00
Axel Huebl
6449f5bde7 ISAAC Server 1.3.3 (#8403)
Forgot to bump this package with the library release.
2018-06-06 10:12:47 -05:00
Andrey Prokopenko
c86628880f Trilinos update (#8363)
* trilinos: add more package conflicts

This was done by putting in required lib dependencies from each
package's `cmake/Dependencies.cmake`.

* trilinos: added few more trilinos packages

* trilinos: hiccup fix
2018-06-06 08:04:33 -05:00
lingnanyuan
7c1231e7f8 r-splitstackshape: Create new package. (#8370)
* r-splitstackshape: Create new package.

* r-splitstackshape: Add version constraints.

* add list_url and change dependency type.
2018-06-06 08:03:23 -05:00
Sheng Di
b0b3b258c0 add 1.4.13.4 for SZ (#8375)
* add 1.4.13.4 for SZ

* undo spack link (change llnl/spack to spack/spack) and change .zip to .tar.gz

* revise package.py for SZ 1.4.13.4 based on Adam's comments.
2018-06-06 08:02:03 -05:00
Massimiliano Culpo
6cc4ad4caa py-mpmath: added version 1.0.0 (#8382)
* py-mpmath: added version 1.0.0

* Fixed checksum for version 0.19
2018-06-06 07:59:53 -05:00
Massimiliano Culpo
891a15f409 py-scikit-learn: added version 0.19.1 and updated dependencies (#8399)
py-numpy: added version 1.14.3
py-scipy: added version 1.1.0
2018-06-06 07:41:48 -05:00
Massimiliano Culpo
38ccc07a48 py-theano: added version 1.0.2 (#8400) 2018-06-06 13:58:20 +02:00
Massimiliano Culpo
e107a50d0a py-sympy: added version 1.1.1 (#8381) 2018-06-05 13:42:18 -05:00
Massimiliano Culpo
ee735e58a8 py-cython: added version 0.28.3 (#8379) 2018-06-05 13:36:29 -05:00
Massimiliano Culpo
88e18a3db7 Added py-pip 10.0.1 and py-setuptools 39.2.0 (#8377) 2018-06-05 13:36:09 -05:00
Massimiliano Culpo
e7f82163bf py-virtualenv: added version 16.0.0 (#8380) 2018-06-05 13:35:43 -05:00
Massimiliano Culpo
df1e23335c Preserve Spack CC/FC/F77/CXX settings when loading modules (#8346)
Fixes #8345

Spack environment modifications are applied before modules are loaded; this
includes settings to CC, FC, F77, and CXX, which point to the Spack compiler
wrappers. If the loaded modules set CC, this overrides the Spack compiler
wrappers. This PR adds a context manager to preserve the values of CC etc. that
are set by Spack: any effects on the CC, FC, F77, and CXX variables from modules
are undone and their original values are restored.
2018-06-05 11:26:30 -07:00
Daniel Topa
a226559347 added line 43 (#8369)
version('1.4.1.2', '38c7d33210155e5796b16d536d1b5cfe')

Signed-off-by: Daniel Topa <dantopa@lanl.gov>
2018-06-04 15:04:45 -05:00
Daryl W. Grunau
4ea16fe3e4 clean up version names (#8368) 2018-06-04 15:04:12 -05:00
Yifan Zhu
fcfcd7689a New package: phast (#7993)
* adding partially completed recipe for phast. will need clapack as dependency

* try to install phast

* seems to still need CLAPCK

* using CLAPACK instead

* phast: updated

* fixed flake8 error

* phast cannot build with clapack built with external blas?

* phast: depend on clapack built without external blas

* fixed flake8 errors

* phast: updated build_directory
2018-06-04 13:22:47 -05:00
Yifan Zhu
3144eb4039 New package: clapack (#7992)
* clapack: new package

* clapack: updated edit phase and fixed flake9 errors

* clapack: added description for variant

* clapack: updated

* removed .package.py.swo
2018-06-04 13:19:27 -05:00
Axel Huebl
add7f2b09a pybind11: test functionality (#8304)
* pybind11: test support

Add a test functionality to pybind11.

* CMake: test also on "make check"

Some projects use non-CTest manual targets for tests.
2018-06-04 09:50:02 -05:00
Mario Melara
20a89ca326 Add branch with bugfix (#8355) 2018-06-03 22:20:57 -05:00
Adam J. Stewart
f42afc6168 Less sensitive error detection in build logs (#8278)
* Less sensitive error detection in build logs
* Fix test_log_parser unit test
2018-06-02 21:07:02 -07:00
Adam J. Stewart
d6458a6ba7 Don't duplicate Python error messages (#8270) 2018-06-02 21:04:36 -07:00
Adam J. Stewart
fec11757d5 Fix coloring of error messages containing '}' symbol (#8277) 2018-06-02 21:02:28 -07:00
Adam J. Stewart
9862c97d38 Fix package error message line numbers (#8271)
Line numbers were reported as zero-indexed, but we need to adjust.
2018-06-02 20:53:18 -07:00
healther
ff56d739a0 add 2.17.1 for git (#8316) 2018-06-02 19:28:54 -06:00
Christoph Junghans
bfd9ebaa92 legion: version bump (#8352) 2018-06-02 19:27:46 -06:00
Matthias Diener
fed9cf0777 cmake: update version (#8357) 2018-06-02 16:24:37 -07:00
George Hartzell
b306493884 Fix digest for abyss@1.5.2 (#8341)
* Fix digest for abyss@1.5.2

The digest value for v1.5.2 appears to have changed.  This value works
for me, today.

The existing value v2.0.2 works as is.

* Use "download" URL for ABYSS

Following the suggestion of the project team, switch to using the
release tarballs from the "download" URL instead of the automagically
generated ones at the "archive" URL.

Converstation here: https://github.com/bcgsc/abyss/issues/232
2018-06-01 15:06:45 -05:00
Gregory Lee
9a486b9709 added avro and avro_json_serializer python packages (#8351) 2018-06-01 15:06:27 -05:00
Massimiliano Culpo
8d3a153331 Skip external specs when creating mirrors (#8084)
fixes #8083

External specs are supposed to be installed already, so there's no need
to try to download a tarball for them.
2018-06-01 12:27:11 -07:00
Gregory Lee
4395d21752 added py-cffi 1.11.5 (#8349) 2018-06-01 13:13:33 -05:00
George Hartzell
5de2f1ab75 Typo: an -> and (#8350) 2018-06-01 10:56:16 -07:00
Daryl W. Grunau
8d40f12853 make provision to install version 6.4.0beta.2 (#8338)
* make provision to install version 6.4.0beta.2

* drop flang.patch for the newer version per junghans
2018-06-01 10:49:26 -05:00
Michael Kuhn
bda05830da gmake: fix build with glibc 2.27 (#8344)
Also add an nls variant for gettext support.
2018-06-01 10:47:13 -05:00
Mayeul d'Avezac
287a43ce35 Adding nektar++ package (#8167)
* Adding nektar++ package

* - -> ~ and add explicit conflict with metis

* Add messages explaing nektar's conflicts
2018-06-01 09:30:06 -05:00
Denis Davydov
8285a1778f extend Prefix class with join() member to support dynamic directories (#8329)
* extend Prefix class with join() member to support dynamic directories

* add more tests for Prefix.join()

* more tests for Prefix.join()

* add docstring

* add example to docstring of Prefix class

* cleanup Prefix.join() tests

* use Prefix.join() in Packaging Guide
2018-06-01 07:16:09 -05:00
Massimiliano Culpo
16fb10bc7e subread: use compiler wrappers when compiling (#8328) 2018-06-01 10:30:47 +02:00
Nate Roberts
ed64b8dace Added dependency for hdf5 version number (known incompatibility with 1.10). (#8337) 2018-05-31 20:29:44 -05:00
George Hartzell
cff6255e56 Use GitHub URL for pigz, supports > 1 release (#8339)
The URL that we were using for pigz only provides the current
version.  When the author released v2.4 the package became
uninstallable (unless you have the tarball cached).

It turns out that their are tarballs of the tagged source tree
available on GitHub and they're sufficient to build things (no
additional bits needed).

This commit switches the URL to the GitHub archive URL.

Sadly, this changes the v2.3.4 digest, but that version was no longer
available/install-able anyway, so "net-net we're still in positive
territory".
2018-05-31 20:28:08 -05:00
George Hartzell
610835e646 Add missing expand=False for v2.18.3 (#8342)
Installing the current version of Picard fails with:

```
==> Error: Unable to parse extension from https://github.com/broadinstitute/picard/releases/download/2.18.3/picard.jar.

If this URL is for a tarball but does not include the file extension
in the name, you can explicitly declare it with the following syntax:

    version('1.2.3', 'hash', extension='tar.gz')

If this URL is for a download like a .jar or .whl that does not need
to be expanded, or an uncompressed installation script, you can tell
Spack not to expand it with the following syntax:

    version('1.2.3', 'hash', expand=False)
```

Fix it, but adding `expand=False`, like the other versions.
2018-05-31 20:24:33 -05:00
George Hartzell
a6867d5cd5 binary caching: skip check if old and new paths are identical (#8281)
Fixes #8217

Trying to relocate a distribution when the new and old paths are
equal leads to failure, because the test that ensures that no
unrelocated bits are left over always fails. As an example, this
occurs if a user installs a package, generates a binary with it
using 'spack buildcache', uninstalls it, and then attempts to
reinstall into the same spack installation using the generated
binary package.

This updates the relocation check to accept the presence of the
old prefix in binaries if the package is being reinstalled into
its original location.
2018-05-31 16:01:32 -07:00
Sinan
59633d5c95 fix missing -lrt for Centos6, issue: #7552 (#7597)
* fix missing -lrt for Centos6, issue: #7552

* fix missing -lrt for Centos6, issue: #7552

* fix using make() as opposed to patching

* remove patch, as the fix is provided withing package.py instead

* make flake8 happy
2018-05-31 15:24:38 -05:00
Denis Davydov
939eedcb37 improve Advanced Compiler Configuration part of tutorial (#8325) 2018-05-31 10:28:38 -07:00
Massimiliano Culpo
4e15d6f41b latte: specify blas and lapack explicitly (#8327) 2018-05-31 05:54:39 -06:00
scheibelp
43114c2e06 more-flexible user-specified dependency constraints (#8162)
* allow user to constrain dependencies that are added conditionally

* remove check for not-visited deps from normalize, move it to concretize. The check now runs after the concretization loop completes (so an error is only reported if the user-mentioned spec doesnt appear anywhere in the dag)

* remove separate full_spec_deps variable; rename spec_deps to all_spec_deps to clarify that it merges user-specified dependencies with derived dependencies

* add unit test to confirm new functionality
2018-05-30 11:07:13 -07:00
Eric
55e42dca2c trimgalore: Use perl from env (#8318) 2018-05-30 12:31:05 -05:00
Eric
5c56f2467b fastqc: Add version 0.11.7 (#8319) 2018-05-30 12:30:50 -05:00
Todd Gamblin
1a677e30f3 config: add spack config blame command (#8081)
- `spack config blame` is similar to `spack config get`, but it prints
  out the config file and line number that each line of the merged
  configuration came from.

- This is a debugging tool for understanding where Spack config settings
  come from.

- add tests for config blame
2018-05-30 10:25:22 -07:00
Adam J. Stewart
87223a531b Document specs with multiple version ranges (#8284) 2018-05-30 10:36:56 -05:00
George Hartzell
be8077367d Update package: add info for emacs@26.1 (#8302)
* Update package: add info for emacs@26.1

In addition to the digest, it needs gnutls (perhaps there's a way to
turn it off, but it seems like a Good Thing to encourage, so...).

* Clean up tls variant handling

- Don't to specify the dependency for @26.1:, just need to fix what's
  already there.
- Don't assume that configure will DTRT w.r.t. gnutls when it's
  discovered in the environmnet, use explicit configure switches.
- Clean up some unnecessary dependencies when +tls.  Why would you
  need libxpm when building +tls?  Will ask the original author about
  this.

* Use append when adding configure switches

* Add dependency on pcre

When one builds +X, Spack's pcre is pulled into the build via
the X dependencies.  When one builds without it, the build discovers
and links against the system library.

We might as well just depend on it and have a consistent outcome.
2018-05-30 10:36:20 -05:00
Daryl W. Grunau
97206cb60a paraview: set PARAVIEW_VTK_DIR in spack_env and run_env (#8308) 2018-05-30 10:35:39 -05:00
George Hartzell
8eb0f50219 Add info for bedops@v2.4.35 (#8310) 2018-05-29 14:46:42 -05:00
jthies
39415f57da new version: Phist 1.6.0 (#8312)
* gmp: add oldish version 5.1.3 with checksum

* new version phist 1.6.0
2018-05-29 14:46:12 -05:00
David Beckingsale
7559a808bc Add umpire package (#8229)
* Add umpire package

* Style fixes

* Add package URL
2018-05-29 14:41:09 -05:00
Michael Kuhn
064ae1e6e0 perl: Fix build on Fedora 28 (#8305) 2018-05-29 10:28:58 -05:00
Michael Kuhn
8af37d5d64 python: Update to 2.7.15 (#8306)
2.7.14 does not compile with GCC 8, see https://bugs.python.org/issue33374.
2018-05-29 10:28:32 -05:00
Michael Kuhn
79d529e9ab nasm: Fix compilation with GCC 8 (#8307) 2018-05-29 10:28:17 -05:00
nvarini
ff4f92fec7 Quantum espresso (#8183)
Changed the name from espresso to more appropriate quantum-espresso. Added github mirror.
2018-05-29 17:27:05 +02:00
Sajid Ali
80564fae5d py-pillow : update version and fix jpeg dependency (#8300)
* 	modified:   package.py

* as requested.
2018-05-28 20:15:18 -05:00
Jimmy Tang
627df0bcc1 Add far variant to openfst package (#8299)
* Add far variant

* Append instead of extend
2018-05-28 13:45:56 -05:00
Massimiliano Culpo
2be65a8618 abinit: added version 8.8.2 (#8294) 2018-05-28 08:11:43 -05:00
Massimiliano Culpo
7b6e3595a5 nwchem: added version 6.8 (#8295)
It seems that the new versions on github don't require the patching
that was needed in previous versions.
2018-05-28 08:11:22 -05:00
Massimiliano Culpo
dedfd4e89d plumed: added versions 2.4.1 and 2.3.5 (#8297) 2018-05-28 08:01:51 -05:00
Massimiliano Culpo
bdb5d17eb8 yambo: added versions 4.2.2 (#8298) 2018-05-28 08:01:29 -05:00
Adam J. Stewart
5490190b71 Add JasPer 2.0.14 (#8207)
* Add JasPer 2.0.14

* Remove no longer necessary patch

* Explicitly disable generation of documentation

* Re-add support for JasPer 1.900.1, add GDAL patch

* Remove GDAL patch
2018-05-26 10:37:48 -05:00
Adam J. Stewart
1549ee76e5 Add GDAL 2.3.0 (#8263)
* Add GDAL 2.3.0

* Add missing dependencies, change default variants, and add links

* GDAL requires old hacked version of JasPer

* Move JasPer patch to GDAL
2018-05-26 10:37:22 -05:00
Adam J. Stewart
7602fcd4d0 Fix compilation of FYBA with GCC 6 (#8273) 2018-05-26 10:36:34 -05:00
Elizabeth Fischer
8203c4f55b Fix gettext: Problem with libxml2 (#8132)
* See https://github.com/spack/spack/issues/2882

* code review

* Correctly access lib directory
2018-05-26 10:18:14 -05:00
Corey McNeish
7a741e7e08 Fix OpenCV JasPer disable (#8287)
The recipe previously did not include -DWITH_JASPER
Other edits:
 * BUILD_IPP_IW is BUILD instead of WITH; it was in a different section of the CMakeLists.txt. Move it to the top
 * Several options were missing :BOOL, add them
 * -DWITH_ZLIB doesn't actually exist as an option, at least in the latest version.
2018-05-26 00:44:18 -05:00
Nate Roberts
90d1478f50 Added new package Camellia. (#8190)
* Added new package Camellia.

* Fixed an issue with a missing blank line.

Added a couple more Trilinos packages (things I expect to depend on eventually).

* Fixed a couple issues raised by @adamjstewart.

* Specified 4.9.2 as the supported MOAB version.

5.0.0 causes build issues on Macs during the link of Camellia's drivers.  The issue is that we end up with -framework -lAccelerate in the link line, where it should read -framework Accelerate, I believe.  I'm not sure where this comes from, but 4.9.2 does not have this issue.

* Trimmed slightly the Trilinos requirements.

Also deleted a blank line that had spaces in it because the Travis-CI thing didn't like that.

* Reduced length of MOAB description (Travis-CI complained).

* Reduced the MOAB line further; didn't quite get there last time!

This is to satisfy Travis-CI's requirement that the description be less than 80 characters long (E501).

* Put in my GitHub handle, in place of an allusion to my email address.

Also added a new argument for Camellia build, and made the MOAB description longer (thanks to @adamjstewart's note that long lines are allowed so long as they are not split).

* Added MPI dependency.

Added explicit OFF for MOAB enablement when ~moab.

Swapped order of variant and version.
2018-05-25 23:06:05 -05:00
Levi Baber
1c2dc8f528 repeatmasker: fix bin location and dependency (#8286) 2018-05-25 18:22:25 -05:00
Andrey Prokopenko
3c10d160d0 flang: add non-develop version (#8276) 2018-05-25 14:01:19 -05:00
Levi Baber
6899c9e6c3 perl-text-soundex: new package (#8279)
* perl-text-soundex: new package

* perl-text-soundex: formatting
2018-05-25 14:00:12 -05:00
David Guibert
468570114f hdf5: add 1.10.2 (#8274) 2018-05-25 09:06:50 -05:00
George Hartzell
28e7248b06 Add Tophat v2.1.2, fixes automake issues (#8266)
* Add Tophat v2.1.2, fixes automake issues

The Tophat team merged the patch from
https://github.com/spack/spack/pull/8244 and release v2.1.2

This change requires the old automake if you're building the older
release and is relaxed about the automake it requires if you're
building the v2.1.2 release.

Building v2.1.1 and v2.1.2 works on a CentOS 7 system, I don't have
the necessary bit to actually test the resulting binaries.

Here's the commit note from the change that was ultimately merged
upstream.

Fixes #8025

> Tophat was failing to build with automake@1.16.1, it worked with the
> older automake@1.15.1. This commit adds a patch to Tophat's
> src/Makefile.am which cleans up a few things. The result builds
> successfully with both automake@1.15.1 and automake@1.16.1. I have no
> way to check that the resulting builds Do The Right Thing.
>
> It changes two things:
>
> the original Makefile.am had a rule for $(SAMPROG) with no
> actions, and since there was a directory there with a tempting name
> the newer automake was trying to do something with it, but lacked
> the appropriate clues. Since that target is actually made as a side
> effect of making the library (sigh...), it seems to work to just
> give that rule something harmless to do (the Peter Principle
> triumphs again...).
>
> a bunch of the targets need a libtophat.a and libgc.a; the older
> automake was probably able to guess what to do given the list of
> sources but the newer automake apparently won't make the necessary
> assumptions. This patch wires up a simple rule and cleans up the
> appropriate dependencies so that things work.
>
> While it may appear that I'm someone who understands automake, keep in
> mind that I only play such a person on a TV reality show. YMMV.

* Remove extraneous when constraint
2018-05-24 20:04:03 -05:00
Luca Heltai
c25759e1c8 Added gsl dependency to pnfft (#8255) 2018-05-24 16:24:47 -05:00
Michael Kuhn
c77bc613eb Fix missing spack.compiler import (#8240)
Fixes: #8258

#8090 altered import behavior so that import spack no longer
provides access to many other Spack modules. This addresses
a case which depended on the prior behavior and was not
updated as part of #8090. This particular import error only
came up when users were setting compiler flags on specs.

See also: #8194
2018-05-24 10:59:20 -07:00
Geoff Womeldorff
fdb2d6f493 kokkos: update kokkos spackage to add current host/gpu architectures. (#8226)
* kokkos: update kokkos spackage to add current host/gpu architectures.

* kokkos: simplify host/gpu architecture selection and make intent of arg population logic more clear.

* kokkos: mollify flake8.

* Make strings and logic more pythonic. Add error for GPU arch without CUDA.

* kokkos: simplify conflicts behaviour. make args population more pythonic.

* kokkos: move gpu values to list for use in variant and conflicts checking.

* kokkos: How fortunate the man with None.

* kokkos: fix gpu_arch conflict loop error. add conflict to guard against +cuda and 2.5.00:develop versions, until kokkos issue #1296 is resolved.

* kokkos: mollify flake8.

* kokkos: add descriptive message to version conflict with +cuda.
2018-05-24 10:53:58 -05:00
Matthias Diener
4c4e2866d8 Charm++: Add possibility to build git version (#8260) 2018-05-24 10:48:37 -05:00
Sajid Ali
5fff4da5b7 Add msgpack-c 3.0.1 (#8264)
* 	new file:   cpp-3.0.1.tar.gz
	modified:   package.py

* 	deleted:    cpp-3.0.1.tar.gz

* remove whitespace
2018-05-24 10:47:31 -05:00
Levi Baber
fdf889264e trf: make executable (#8265) 2018-05-24 10:47:17 -05:00
Chris Hadjigeorgiou
db4062b01f openfoam-org: add v2.4.0 (#7850)
Add 2.4.0 changes
2018-05-24 08:44:41 -07:00
jkelling
fa1153d116 Fix MD5 hash for opencv 3.2.0 and 3.1.0 release (#8241) 2018-05-24 08:59:11 -05:00
George Hartzell
80e4c7da0e Add info for datamash@1.3 (#8261) 2018-05-23 18:40:14 -05:00
Adam J. Stewart
9b9980256f Add kealib 1.4.7 (#8235)
* Add kealib 1.4.7

* Fix out-of-source builds

* Remove username from kealib hg clone
2018-05-23 18:36:12 -05:00
Adam J. Stewart
8f3d717a30 Add PROJ 5.0.1 (#8233)
* Add PROJ 5.0.1

* proj-datumgrid resource must be placed in nad directory
2018-05-23 13:29:08 -05:00
Massimiliano Culpo
0ea8c4f3b2 mvapich2: added a proper libs attribute (#8253) 2018-05-23 13:28:21 -05:00
Adam J. Stewart
13a1575452 Add pkgconf 1.4.2 (#8256) 2018-05-23 13:27:39 -05:00
Adam J. Stewart
f57ce38c41 Add ncurses 6.1 (#8257) 2018-05-23 13:27:22 -05:00
Edward Kim
011d1245fb charm: Update install script (#7291)
* charm: Update install script

* Addressed PR comments

* Removed destination and suffix variants

* Added back parallel support
2018-05-23 13:26:59 -05:00
Massimiliano Culpo
9fee111741 gromacs: added version 2018.1 (#8251) 2018-05-23 10:13:09 -05:00
Massimiliano Culpo
251019c5e4 cgal: added version 4.12 (#8252) 2018-05-23 10:11:03 -05:00
Tim Law
60df206648 Update BookLeaf_Cpp and Typhon packages. (#8249) 2018-05-23 07:28:15 -05:00
Leonhard Reichenbach
ace283d594 Add latest versions of bazel (#8250) 2018-05-23 07:27:45 -05:00
Sinan
bc73e85af8 Package/mirdeep/fix for new url take2 (#8247)
* rename: mirdeep -> mirdeep2

* fixes for new url
2018-05-23 07:25:42 -05:00
Leonhard Reichenbach
3712ac1f66 Create new package: memkind (#8242)
* Create new package: memkind

* some style changes

* fix type of numactl dependency

* fix flake8 errors

* use patch() instead of a custom build phase
2018-05-22 13:37:03 -05:00
Adam J. Stewart
4d3ed1ff13 Add py-docopt package (#8236) 2018-05-22 10:49:12 -05:00
Massimiliano Culpo
0106c6cab7 subread: added version 1.6.2 (#8239) 2018-05-22 14:16:06 +02:00
Axel Huebl
cd72312940 CUDA 9.2 (#8238)
Add the latest CUDA release, v9.2 and updated CUDA Compatibility Matrix
2018-05-22 12:45:47 +02:00
Tim Stavenger
b61175aeba Update GlobalArrays package to new releases (#7840)
* update globalarrays package to current releases

* rename class to Globalarrays to match package folder

* rename bytes to int64, minor cleanup of descriptions

* int64 False by default

* remove reference to external as we aren't supplying paths, and use args.append()

* correcting args.append syntax

* add conflicts
2018-05-21 20:06:29 -05:00
Elizabeth Fischer
68e7fd053e gdbm: Get working on CentOS5 and Other Older Systems (#8134)
* Fix #7691

* flake8

* code review
2018-05-21 16:24:38 -05:00
Elizabeth Fischer
90d36016ef netcdf-cxx4: Update to use CPPFLAGS (#8148)
* Fix bug; don't know why this ever worked in the first place.

* Add fix to netcdf-fortran too; flake8

* Simplify configure_args()

* netcdf-fortran: simplify that too
2018-05-21 16:23:35 -05:00
lingnanyuan
646771300d Create new package: fastgbs and its dependency platypus. (#8174)
* pushing partially done recipe for fast-gbs and platypus

* modify platypus

* change header

* fast-gbs: change dependency type.

* modify dependency type.

* modify dependency type.

* fast-gbs: Change dependency type to run.
2018-05-21 16:13:05 -05:00
peetsv
2cfde03a60 r-cghflasso v0 2 1 - new package (#8177)
* py-pyfaidx: adding new package

* updating the url

* r-cghflasso v0.2-1 new package

* correcting copy/paste error

* adding list_url
2018-05-21 16:12:35 -05:00
Jim Galarowicz
d7aaf4e193 Add urls into cbtf* and openspeedshop* package files and update the release versions for the Krell products (#8188) 2018-05-21 16:03:31 -05:00
Dan FitzGerald
8564be5479 Rename Tpetra C wrappers for *gemm Fortran functions in Trilinos 12.12.1 (#8228)
* Updated trilinos to compile/install with xl_r

* Undo PGI patch added as part of Trilinos XL fix

* Remove PGI related changes in Trilinos XL fix
2018-05-21 16:00:10 -05:00
Adam J. Stewart
fba365dc6a Add Python/Ruby bindings to GEOS package (#8218)
* Add python/ruby bindings to GEOS package

* Add comment on Python 3 support
2018-05-21 15:59:50 -05:00
Adam J. Stewart
ac2b0f3ac0 Add lcms 2.9 (#8219) 2018-05-21 15:59:11 -05:00
Adam J. Stewart
ed0f5e9b4c Add missing dependencies to poppler package (#8220) 2018-05-21 15:58:51 -05:00
Adam J. Stewart
729c3f9168 Add bmake 20180512 (#8221)
* Add bmake 20180512

* Re-add manpage patch
2018-05-21 15:58:11 -05:00
Eric
6ec603860a py-testinfra: Add versions 1.12.0 and 1.13.0 (#8222) 2018-05-21 15:57:25 -05:00
George Hartzell
e954686e5a Add info about haveged to gpg/randomness note (#8227) 2018-05-21 15:57:03 -05:00
mcneish1
15634c20fe Update the hash of libjpeg v9c. (#8230)
The maintainer redid the archive in March, removing a .directory file.
2018-05-21 15:53:55 -05:00
Adam J. Stewart
6bf9f66567 Add cryptopp 7.0.0 (#8224) 2018-05-21 11:52:25 -05:00
Massimiliano Culpo
e933ed2b50 Updated sbt to point to github. Added versions 1.1.4, 0.13.17. (#7951) 2018-05-21 16:58:23 +02:00
Adam J. Stewart
7e04b20f3e Add PCRE2 10.31 (#8214) 2018-05-20 15:05:47 -05:00
Adam J. Stewart
7b5c76552a Add PCRE 8.42 (#8213) 2018-05-20 15:05:29 -05:00
Adam J. Stewart
e0d7e8ebd2 Add sqlite 3.23.1 (#8212) 2018-05-20 15:05:11 -05:00
Adam J. Stewart
a5d2e59320 Add libxml2 2.9.8 (#8211) 2018-05-20 15:04:47 -05:00
Adam J. Stewart
478c99ce01 Add cURL 7.60.0 (#8210) 2018-05-20 15:04:28 -05:00
Adam J. Stewart
e0dad09ea2 Add Xerces-C++ 3.2.1 (#8208) 2018-05-20 15:04:06 -05:00
Adam J. Stewart
15d102acec Add FYBA package (#8205) 2018-05-20 15:03:38 -05:00
Adam J. Stewart
04687598c9 Add libgeotiff package (#8203) 2018-05-20 15:02:49 -05:00
Adam J. Stewart
0ccbc3a479 URL parsing: strip x86-64 from filename (#8200) 2018-05-20 15:01:58 -05:00
Adam J. Stewart
0a47db5088 Add xz 5.2.4 (#8202) 2018-05-20 15:01:33 -05:00
Adam J. Stewart
17e6260d4b Add libtiff 4.0.9 (#8201) 2018-05-20 15:01:11 -05:00
peetsv
1ec0f37897 r-utf8 v1.1.3 - New package (#8206)
* py-pyfaidx: adding new package

* updating the url

* r-utf8 v1.1.3 - New package

* adding list_url
2018-05-19 16:23:03 -05:00
peetsv
f9c35b2f04 r-spatial v7.3.11 - New package (#8204)
* py-pyfaidx: adding new package

* updating the url

* r-spatial v7.3.11 - New package
2018-05-19 13:12:47 -05:00
peetsv
96aedae886 r-proc v1 12 1 - New package (#8191)
* py-pyfaidx: adding new package

* updating the url

* r-proc v1.12.1 new package

* adding list_url
2018-05-19 11:26:44 -05:00
健美猞猁
2f5c4be3bf sleef: a new library. (#8198) 2018-05-19 11:26:31 -05:00
Todd Gamblin
22b551f84f fix leftover references to spack.<symbol>
- there were some leftover spack.* names being used after we removed
  globals and moved everything in the top-level namespace to spack.pkgkit

- point those references to their new homes
2018-05-19 07:37:24 -07:00
George Hartzell
9f85ad84ef neovim: add info for v0.2.2 (#8189) 2018-05-18 20:29:32 -05:00
Todd Gamblin
8d7873e8b2 imports: remove unnecessary import spack statements
- remove most `import spack` statements, except for files that need
  `spack_version`

- import spack is no longer sufficient to use submodules
  (e.g. spack.directives).

  - these submodules must be imported directly. Update references
    accordingly.
2018-05-18 16:06:21 -07:00
Todd Gamblin
6b2c49648a init: move symbols in spack to spack.pkgkit
- Spack packages were originally expected to call `from spack import *`
  themselves, but it has become difficult to manage imports in the
  Spack core.

- the top-level namespace polluted by package symbols, and it's not
  possible to avoid circular dependencies and unnecessary module loads in
  the core, given all the stuff the packages need.

- This makes the top-level `spack` package essentially empty, save for a
  version tuple and a version string, and `from spack import *` is now
  essentially a no-op.

- The common routines and directives that packages need are now in
  `spack.pkgkit`, and the import system forces packages to automatically
  include this so that old packages that call `from spack import *`
  will continue to work without modification.

- Since `from spack import *` is no longer required, we could consider
  removing ``from spack import *`` from packages in the future and
  shifting to ``from spack.pkgkit import *``, but we can wait a while to
  do this.
2018-05-18 16:06:21 -07:00
mcneish1
f2eb71ca20 Fix libjpeg library finding and opencv build with nonstandard library directories (#8160) (#8179)
* Use libs[0] and headers.directories[0] instead of hardcoded paths in opencv dependencies

* Fix library finding in libjpeg-turbo

* Use build_type=Debug instead of +debug to determine build_type
2018-05-18 15:30:25 -07:00
Todd Gamblin
54201e3c02 locks: add configuration and command-line options to enable/disable locks (#7692)
- spack.util.lock behaves the same as llnl.util.lock, but Lock._lock and
  Lock._unlock do nothing.

- can be disabled with a control variable.

- configuration options can enable/disable locking:
  - `locks` option in spack configuration controls whether Spack will use filesystem locks or not.
  - `-l` and `-L` command-line options can force-disable or force-enable locking.

- Spack will check for group- and world-writability before disabling
  locks, and it will not allow a group- or world-writable instance to
  have locks disabled.

- update documentation
2018-05-18 14:41:03 -07:00
Elizabeth Fischer
780cc9d72d antlr: Turn off CSharp (#8157)
Spack doesn't have a CSharp package, so the only time ANTLR would
succeed is if a system-installed CSharp was available. This disables
CSharp support, which enables building on systems without
system-installed CSharp.
2018-05-18 10:39:30 -07:00
Jon Rood
5641c1923b Turning off parallel during make install for parallel-netcdf. (#8186) 2018-05-18 12:12:43 -05:00
sknigh
c4cc6cde30 Added vim 8.1 (#8185) 2018-05-18 12:07:05 -05:00
Eric
e5b81dd566 task: Add version 2.5.1 (#8184) 2018-05-18 10:28:19 -05:00
Elizabeth Fischer
6d2617b05d nco: Find NetCDF (#8159)
* nco: Find NetCDF properly

* flake8
2018-05-18 07:51:21 -05:00
Levi Baber
29b695ed40 trinity: add perl+threads dependency (#8143) 2018-05-18 07:47:33 -05:00
Elizabeth Fischer
99f678035a libexpat: Fix for older systems, move to GitHub (#8135)
* PR #4945 did not make this work on SuSE 11.  Adding the latest version of libexpat did.  Also update for Expat's move to GitHub.

* Update package.py

* Update package.py

Move to url_for_version()
2018-05-17 20:04:57 -05:00
Levi Baber
e7d5421baf trinity: fixing jdk dependency (#8140) 2018-05-17 20:03:36 -05:00
Levi Baber
c06174a081 perl: adding threads variant (#8142) 2018-05-17 20:02:07 -05:00
Daryl W. Grunau
457dadaac8 silo: support version 4.10.2-bsd (#8164) 2018-05-17 19:55:00 -05:00
Michael Kuhn
c80333704c Update scorep and friends to newest versions (#8171) 2018-05-17 19:52:01 -05:00
Serban Maerean
a020a41298 Changed netlib-lapack to fix an error in the CMake setup. (#8172)
* Changed netlib-lapack to fix an error in their CMake setup. Changed
netlib-lapack spackage file to add Fortran flags correctly for XL
compiler.

* Fixed line length -- forgot abt flake8...

* Fix the package version where the ibm patch applies.
2018-05-17 19:51:34 -05:00
peetsv
9f12b5aed6 R dismo 1 1 4 - new package (#8176)
* py-pyfaidx: adding new package

* updating the url

* r-dismo: new package
2018-05-17 19:50:19 -05:00
Matthias Diener
f3f9d04c32 cmake: update version (#8178) 2018-05-17 19:48:46 -05:00
Todd Gamblin
5ef30e0a51 make check_for_compiler_existence an instance variable 2018-05-17 14:10:30 -07:00
Todd Gamblin
e9a3e3bfbb use os.path.join instead of join_path in core
- Spack core has long used llnl.util.filesystem.join_path, but
  os.path.join is pretty much the same thing, and is more efficient.

- Use os.path.join in the core Spack code from now on.
2018-05-17 14:10:30 -07:00
Todd Gamblin
f202198777 Convert lazy singleton functions to Singleton object
- simplify the singleton pattern across the codebase
- reduce lines of code needed for crufty initialization
- reduce functions that need to mess with a global

- Singletons whose semantics changed:
  - spack.store.store() -> spack.store
  - spack.repo.path() -> spack.repo.path
  - spack.config.config() -> spack.config.config
  - spack.caches.fetch_cache() -> spack.caches.fetch_cache
  - spack.caches.misc_cache() -> spack.caches.misc_cache
2018-05-17 14:10:30 -07:00
Todd Gamblin
3493f7e793 init: make spack.cmd.all_commands lazy
- `spack.cmd.all_commands` does a directory listing on
  `lib/spack/spack/cmd`, regardless of whether it is needed

- make this lazy so that the directory listing won't happen unless it's
  necessary.
2018-05-17 14:10:30 -07:00
Todd Gamblin
1fe5dbf338 init: only imoprt jsonschema if needed
- It turns out that jsonschema is one of the more expensive imports.

- move imports of jsonschema into functions to avoid the performance hits
  for calls that don't need config.
2018-05-17 14:10:30 -07:00
Todd Gamblin
6f2cac9565 init: initialize spack.store lazily
- spack.store was previously initialized at the spack.store module level,
  but this means the store has to be initialized on every spack call.

- this moves the state in spack.store to a singleton so that the store is
  only initialized when needed.
2018-05-17 14:10:30 -07:00
Todd Gamblin
c615d2be06 init: move spack.repo global variable into its own module
- spack.repository module is now spack.repo

- `spack.repo` is now `spack.repo.path()` and loaded lazily

- Added `spack.repo.get()` and `spack.repo.all_package_names()` as
  convenience functions to simplify the new lazy interface.

- updated tests and code
2018-05-17 14:10:30 -07:00
Todd Gamblin
2a09b627c9 tests: rename builtin_mock to "mock_packages" for clarity.
- rename `builtin_mock` and `refresh_builtin_mock` to the more clear
  `mock_packages` and `mutable_mock_packages`
2018-05-17 14:10:30 -07:00
Todd Gamblin
d1903f3bf3 init: convert spack.debug global variable to config option 2018-05-17 14:10:30 -07:00
Todd Gamblin
47dc96224d init: remove package_testing global
- refactor the way test dependencies are passed to the concretizer
- remove global state
- update tests
2018-05-17 14:10:30 -07:00
Todd Gamblin
bc9f5f084f init: remove dependency on spack.version
- no longer require `spack_version` to be a Version (it isn't used that
  way anyway)

- use a simple tuple `spack_version_info` with major, minor, patch
  versions

- generate `spack_version` from the tuple
2018-05-17 14:10:30 -07:00
Todd Gamblin
678639749c init: remove binary_cache_retrieved_specs global variable
- remove variable from spack/__init__.py
- clean up imports and some code structure in binary_distribution.py
2018-05-17 14:10:30 -07:00
Todd Gamblin
3e6d85c404 init: remove spack.concretizer global variable 2018-05-17 14:10:30 -07:00
Todd Gamblin
d4709673b5 init: remove build_jobs global variable 2018-05-17 14:10:30 -07:00
Todd Gamblin
2ab7b7a5a0 init: convert spack.dirty global to config option 2018-05-17 14:10:30 -07:00
Todd Gamblin
278933e824 init: remove template_dirs global
- remove template_dirs global variable from __init__.py

- also remove update_template_dirs fixture, which had no effect on test
  correctness
2018-05-17 14:10:30 -07:00
Todd Gamblin
77bd2dd706 init: replace global spack.do_checksum with config option 2018-05-17 14:10:30 -07:00
Todd Gamblin
73ab0e5dd7 init: replace spack.insecure global with spack.config.get 2018-05-17 14:10:30 -07:00
Todd Gamblin
863ccd5e94 config: simplify configuration API to just get and set
- replace `spack.config.get_configuration()` with `spack.config.config()`

- replace `get_config`/`update_config` with `get`, `set`

- add a path syntax that can be used to refer to specific config options
  without firt getting the entire configuration dict

- update usages of `get_config` and `update_config` to use `get` and `set`
2018-05-17 14:10:30 -07:00
Todd Gamblin
c9ea957563 config: create internal config scope for commands to use. 2018-05-17 14:10:30 -07:00
Todd Gamblin
eee502cc3b init: Move file cache initialization out of __init__.py 2018-05-17 14:10:30 -07:00
Todd Gamblin
d3a1ccd2fa config: rework config system into a class instead of globals
- Current configuration code forces the config system to be initialized
  at module scope, so configs are parsed on every Spack run, essentially
  before anything else.

- We need more control over configuration init order, so move the config
  scopes into a class and reduce global state in config.py
2018-05-17 14:10:30 -07:00
Todd Gamblin
6e398c7f08 init: move editor from spack/__init__.py to spack.util.editor 2018-05-17 14:10:30 -07:00
Todd Gamblin
a4d276fbe4 init: factor paths out of spack/__init__.py and into spack.paths module 2018-05-17 14:10:30 -07:00
Todd Gamblin
74aee60f7d init: simplify import ordering in __init__.py 2018-05-17 14:10:30 -07:00
Denis Davydov
d579231967 flex: use 2.6.3. by default (#8154)
Fixes #8152

Flex 2.6.4 doesn't build with gcc@7:. This sets Flex 2.6.3 as the
preferred version. The flex package had a conflict directive for
this but originally the recorded conflict was specific to ubuntu;
this appears to be an issue on multiple operating systems so this
also updates the conflict to be more general and adds a comment
which links to the relevant issues.
2018-05-17 13:58:29 -07:00
lingnanyuan
a46f2b8e42 swap-assembler: Create new package. (#8144)
* swap-assembler: Create new package.

* swap-assembler: fix flake8 error.
2018-05-17 15:43:30 -05:00
Christoph Junghans
110511da92 pv: initial commit (#8147) 2018-05-17 15:40:54 -05:00
Levi Baber
0141581a66 r-rstan: new version and dependents (#8158)
* r-stanheaders: new version

* r-rstan: new version

* r-rcppeigen: new version

* r-rstan: requires newer version of r-rcppeigen
2018-05-17 15:26:38 -05:00
Serban Maerean
e24a56b8cb Add version 6.1. to ESSL spackage file. (#8170) 2018-05-17 15:04:28 -05:00
Jim Galarowicz
dfd168d557 cbtf-argonavis-gui: add openspeedshop-utils package to address qt conflicts (#8066)
Fixes #7946

Creates an openspeedshop-utils package that does not depend on qt3
and can be used to resolve the needs of cbtf-argonavis-gui.

Changes for creating a release versus develop build are also
included. There are package versions which are no longer relevant
(e.g. 1.3.0 for cbtf-argonavis-gui has been replaced with 1.3.0.0)
but these versions need to be kept to allow uninstalling them;
issue #8173 has been created to investigate this.
2018-05-17 12:04:33 -07:00
Adam J. Stewart
de7d13b0e8 Add dependencies for py-dask (#8120) 2018-05-16 22:54:33 -05:00
健美猞猁
b895386fd7 r-rcppcnpy: a new package. (#8139)
* r-rcppcnpy: a new package.

* Specify dependency versions.

* Update dependency.
2018-05-16 12:45:24 -05:00
Eric
218e32991d Add list_url to allow download of prior versions from cran archive (#8141) 2018-05-15 22:10:20 -05:00
David Böhme
e3035fb91a Add libunwind-1.2.1 (#8145) 2018-05-15 13:54:23 -07:00
Denis Davydov
e0dcd87af9 astyle: add 3.1 (#8137) 2018-05-15 09:43:27 -05:00
Zack Galbreath
f7d080b7fb Move report writers to separate classes 2018-05-15 05:43:07 -07:00
Zack Galbreath
49e37a5ecf Add test case for CDash reporting 2018-05-15 05:43:07 -07:00
Zack Galbreath
218331552c upload reports to CDash 2018-05-15 05:43:07 -07:00
Zack Galbreath
847c1216d0 Generate CDash reports for build/install step 2018-05-15 05:43:07 -07:00
Zack Galbreath
ae0ba373b8 CDash report for concretization errors
Capture any concretization errors and record them in a CTest Update.xml file.
2018-05-15 05:43:07 -07:00
Zack Galbreath
d7581697a5 CDash report for configure step
Generate CTest XML file containing configure output
2018-05-15 05:43:07 -07:00
Zack Galbreath
f35d5bbf2b Capture source line number in CTest log parser 2018-05-15 05:43:07 -07:00
Zack Galbreath
d174d6618f Fix typo in comment 2018-05-15 05:43:07 -07:00
Zack Galbreath
072f907831 Add CDash as a valid reporting format 2018-05-15 05:43:07 -07:00
Zack Galbreath
e4e8c72fa1 Initialize report generator before parsing specs
This will allow us to generate reports for concretization errors
2018-05-15 05:43:07 -07:00
Zack Galbreath
de01d70ae4 Allow --overwrite and --log-format to be used together
Restructure the logic of the spack install command to allow these two
command-line arguments to be used at the same time.
2018-05-15 05:43:07 -07:00
Zack Galbreath
6c5dbdd9cd Format-agnostic data structure for reports
Replace the JUnit-specific terms 'testsuite' and 'testcase' with
'spec' and 'package', respectively.
2018-05-15 05:43:07 -07:00
Serban Maerean
0598f70de2 patch petsc test cases for XL compiler (#8091)
- After spack install, these test cases are built in a seperate step, outside of spack, but they need to patched after staging so users don't have to do it in a seperate step.

- The test cases are installed under `<petsc install directory>/share/petsc/examples` and can be built and executed by invoking `gmake -f gmakefile.test` in that directory.
2018-05-14 23:53:05 -07:00
Robert Pavel
b956608631 Added Shim to Support hdf5+mpi in Spack Silo (#8130)
* Added Shim to Support hdf5+mpi in Spack Silo

Added compatibility for hdf5+mpi to silo spackage to support spackages
with dependency chains that include silo and hf5+mpi

* Fixed fixable flake8 issue with silo spackage

Fixed missing whitespace around operator

* Setting MPI Variant to Default to True

As per guidance changing variant to default to MPI builds
2018-05-14 20:29:03 -05:00
snehring
538d617d14 salmon: adding in version restriction for boost (#8129)
1.67 does not work with this
2018-05-14 18:48:28 -05:00
Cameron Smith
3a7fadd67e prenek missing X.h (#8121) 2018-05-14 18:19:46 -05:00
lingnanyuan
34a2d35e50 lordec: Create new package. (#8095)
* lordec: Create new package.

* lordec: Add homepage, change to MakefilePackage.

* Modify dependency type.
2018-05-14 16:56:49 -05:00
Eric
6cf1d25d14 r-fit-models: Create new package (#8122) 2018-05-14 16:50:54 -05:00
Eric
c5b1336b69 r-vipor: Create new package (#8128) 2018-05-14 16:38:59 -05:00
Brian Van Essen
281e22ed73 LBANN: add hydrogen as optional dependency (#8085)
Add Hydrogen package for fork of Elemental library. Update LBANN
to use either Hydrogen or Elemental.
2018-05-14 11:58:34 -07:00
Eric
e7a737621f r-shinydashboard: Create new package (#8116) 2018-05-14 13:00:18 -05:00
Eric
28982bd103 r-picante: Create new package (#8117)
* r-picante: Create new package

* Remove dependency already included in RPackage base class
2018-05-14 13:00:03 -05:00
Eric
f2cc7f769b r-squash: Create new package (#8118)
* r-squash: Create new package

* Remove dependency already included in RPackage base class

* remove extra file
2018-05-14 12:59:49 -05:00
Sajid Ali
a47ff73c6e Update py-llvmlite to reflect llvm@6 requirement for versions >0.23.0 (#8109)
* 	new file:   package.py

* corrected using pep8online.com

* Update package.py

* correct typo

* as requested

* 	modified:   package.py

* Update package.py
2018-05-14 11:26:01 -05:00
Levi Baber
b5d578a5e1 Aegean: new package (#8113)
* aegean: new package

* genometools: set dependent env for aegean
2018-05-14 11:10:19 -05:00
Christoph Junghans
1aef372fbf charliecloud: fix copyright (#8115) 2018-05-14 11:09:57 -05:00
Denis Davydov
42137d59ef dealii: another fix for quick tests only in 9.0 and thus hash (#8114) 2018-05-14 11:07:19 -05:00
健美猞猁
341132a87f A new pacakge: Kaiju. (#8111)
* A new package: kaiju.

* Replace ftp:// with https://.
2018-05-14 11:07:00 -05:00
Levi Baber
32662c4edb hisea: new package (#8112) 2018-05-14 09:46:54 -05:00
Sajid Ali
0dabe81a20 Add numexpr 3 (#8107)
* 	new file:   package.py

* corrected using pep8online.com

* Update package.py

* correct typo

* as requested
2018-05-14 09:46:14 -05:00
Denis Davydov
635f3e2969 dealii: update hash due to upstream changes (#8105) 2018-05-14 10:49:26 +02:00
healther
05cd983e10 add version 0.6.2 to yaml-cpp (#7931) 2018-05-14 10:44:27 +02:00
Sajid Ali
36b4c899fb Add cmake for newer version of libjpeg-turbo (#8102)
* 	modified:   package.py

* add official build reference.

* Update package.py

* Update package.py

* Update package.py

* fixed with pep8online.com

* update make to make()

* change homepage
2018-05-13 22:01:36 -05:00
Christoph Junghans
9f4c2a65a8 charliecloud: initial commit (#8106) 2018-05-13 22:00:18 -05:00
dorier
e758820ed7 boost: added the +numpy variant which enables building libboost_numpy (#8104)
* added the +numpy variant which enables building the libboost_numpy libraries

* Update package.py

Added `type=('build', 'run')`
2018-05-13 21:54:12 -05:00
Jon Rood
2d53043361 Create custom PATH that texlive requires in its module. (#8064)
* Create custom PATH that texlive requires in its module.

* Updating texlive to 2018 distribution.

* Using platform instead of sys for easier portability across linux and osx.
2018-05-12 18:40:36 -05:00
Yifan Zhu
8270344042 plink: new source version 1.9-beta5 (#8076)
* plink: new source version 1.9-beta5

* plink: replace version 1.9 with 1.07
2018-05-12 18:38:22 -05:00
George Hartzell
8dd5ac357c Add package for "bumpversion" (#8078)
* Add package for "bumpversion"

bumpversion is a tool that automagically increments version numbers
for projects.  It can update files and do other magic along the way.

* Remove py- package prefix and use pypi.io URL

Renamed the package 'bumpversion'.

Fetch the package from pypi.io.

* Add version info for bumpverion@0.5.3
2018-05-12 18:37:10 -05:00
Yifan Zhu
97f1b36c07 r-cdcfluview: new package (#8089)
* r-cdcfluview: new package

* updated package.py
2018-05-12 18:28:18 -05:00
Massimiliano Culpo
867bd9b48c nfft: added version 3.4.1 Moved package to github (#8099) 2018-05-12 17:25:28 +02:00
Massimiliano Culpo
36ee0cbf88 netcdf: added version 4.6.1 (#8098) 2018-05-12 17:24:59 +02:00
Yifan Zhu
262de64792 shoremap: new package (#7343) 2018-05-12 08:22:45 +02:00
Denis Davydov
e271f14493 dealii: add 9.0.0 (#8096) 2018-05-11 21:59:25 -05:00
Howard Pritchard
efbc230742 pmix: add 1.2.5 and 2.0.3 bug fix releases (#8097)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2018-05-11 21:58:29 -05:00
Levi Baber
35e1af9acc masurca: new version (#8094)
* masurca: new version

* masurca: reorder versions
2018-05-11 14:43:21 -05:00
scheibelp
79669ac647 llvm: replace @when with internal check in @run_before (#8092)
Fixes #8088

#7012 added a @when condition for a @run_before check to constrain
that check to only run on Darwin. @when is intended to be used to
choose one of several different implementations of a given function
and cannot be used to conditionally deactivate a check altogether.

This replaces the external decorator with a check that executes at
the beginning of the function.
2018-05-11 12:32:26 -07:00
Mayeul d'Avezac
5bc970f9b6 adds new version to swiftsim (#8093) 2018-05-11 10:32:30 -05:00
Denis Davydov
28bebe13a8 dealii: disable tpetra when +cuda; check for '' in cuda_arch (#7958)
* dealii: disable tpetra when +cuda; check for '' in cuda_arch

* trilinos: fix Kokkos CUDA

* Revert "trilinos: fix Kokkos CUDA"

This reverts commit 6aae894bc7d49c9e736c06f65b81b8c219443920.

* update according to @aprokop comments

* minor

* fix flake8
2018-05-11 08:50:35 -05:00
Denis Davydov
206e61bafd gmsh: add netgen and tetgen (#8060)
* gmsh: add netgen and tetgen
dealii: require gmsh+netgen+tetgen
netgen: use http instead of https

* dealii: add oce requirement to gmsh
2018-05-11 14:22:12 +02:00
Yifan Zhu
55473dd321 r-mmwrweek: new pacakge (#8086) 2018-05-10 17:32:58 -05:00
David Wootton
9c4522ecbd petsc: specify number of processors used for test case (#8015)
For Spectrum MPI, if -np is omitted, the default behavior is to
assign one process per process slot, where the default process slot
allocation is one per core. On systems with many cores, the number
of processes can exceed the size of the grid specified when the
testcase is run and the test case fails. This specifies a small
number of processes when running the test case to prevent failure.
2018-05-10 10:49:18 -07:00
healther
f4a46f4fc3 wireshark: stop cmake from picking up /usr paths (#8053)
* stop cmake from picking up /usr paths if spack has corresponding packages

Change-Id: I7217122562697c7a642cded2b4bfb606d2e35ffb

* add libpcap dependency

Change-Id: If0d5c2c94b2c2d1cbb9b19e31e44f870b71ba88b

* make cmake actually pick up pcap

Change-Id: I67b87fd9282c26f5ff4e0a5aedd8bbbae39a5960

* add libtool build dependency

Change-Id: I5c6d14dca7ccbe457318903dd170bb19d004e952

* use .libs for pcap

Change-Id: Ibe78f8765524385f9da4a8f9963f2c61632cc9f7

* explicitly add bison build dependency

Change-Id: I47112778abdf4c0de81789685a7eca4dddb20f77

* add lua explicitly

Change-Id: I8e306e1e4cfa0e16138f3a5109ddcfe912120946

* fix libs usage

Change-Id: I8c1e03f10df69e3ef74326a13cacaf0e5498e6aa

* add minimal version requirement

Change-Id: I4dd181389f9a63067df541b982bc0727f974d4ce
2018-05-10 06:58:43 -05:00
David Gardner
1f8fc574d9 Add new Sundials versions (#8075)
* Add new Sundials versions, update minimum cmake version required

* specify which versions require a newer cmake

* revise cmake dependency

* remove develop, add 4.0.0-dev version
2018-05-09 20:53:25 -05:00
mcneish1
cadf9242ba Add 3.5.2; Add optional cpp implementation enable for py-protobuf (#8069)
* Add 3.5.2; Add optional cpp implementation enable for py-protobuf

* Make flake8 happy

* Give all required install_args
2018-05-09 20:52:39 -05:00
Eric
ef731cc511 perl-extutils-pkgconfig: Add pkg-config dependency (#8045)
* perl-extutils-pkgconfig: Add pkg-config dependency

* perl-extutils-pkgconfig: fix build dependency

* perl-extutils-pkgconfig: fix build dependency
2018-05-09 13:10:36 -05:00
Geoffrey Oxberry
7dfc0278e7 llvm+lldb plaform=darwin: check for lldb_codesign certificate (#7012)
* llvm+lldb plaform=darwin: check for lldb_codesign

Building LLVM with LLDB requires that the "lldb_codesign" code
certificate be created (see
https://llvm.org/svn/llvm-project/lldb/trunk/docs/code-signing.txt for
details). This commit checks for this certificate on Darwin if LLDB is
to be built, and returns an informative error message if this
certificate is unavailable.
2018-05-09 15:04:06 +02:00
mcneish1
4277b42ddc Add gdb@8.1; add optional lzma dependency for debug information support (#8068) 2018-05-08 21:08:39 -05:00
Brian Van Essen
a9e47b763e opencv updates for lbann (#6502)
Add variants to control building of many 3rd-party modules in opencv.
They are enabled by default, which matches the defaults chosen by
opencv when these options are not set explicitly. This also updates
the lbann opencv dependency to disable most of these new variants by
default in order to build faster.
2018-05-08 17:55:12 -07:00
Massimiliano Culpo
b4859e10e2 Packages can tune the list of files to be archived at the end of install (#7760)
Fixes #2781

This PR introduces a new attribute for packages called
`archive_files`, which designates files that should be saved from
a package build (e.g. the config.log generated during autotools
builds).

The attribute contains a list of glob expressions; Any file that
matches will be archived in the `<prefix>/.spack/archived-files`
directory. Errors that occur when archiving files are collected and
reported in a file named `<prefix>/.spack/archived-files/errors.txt`.

`AutotoolsPackage` and `CMakePackage` provide a sensible default
override for this attribute.
2018-05-08 17:40:53 -07:00
peetsv
50a95c57c7 Py cnvkit: updating dependencies (#8057)
* py-pyfaidx: adding new package

* updating the url

* identifying dependencies
2018-05-08 17:54:15 -05:00
Gregory Lee
c12dd61358 intltool requires patching for newer perl versions (#8061) 2018-05-08 17:53:50 -05:00
Gregory Lee
804a7991e0 added stat version 4.0.0 (#8062) 2018-05-08 17:52:38 -05:00
Gregory Lee
16adf144c2 added shared-mime-info version 1.9 (#8063) 2018-05-08 17:52:02 -05:00
Andrew Gaspar
29b11f624f Updates to Google Benchmark package: (#8056)
- Adds v1.3.0 and v1.4.0
- List explicit CMake version dependency (from Benchmark CMake files)
- Disable the building of tests. Starting in v1.4.0 this introduced a dependency on GoogleTest

Tested by building all versions on macOS High Sierra
2018-05-08 13:04:19 -05:00
Ce Qin
bb5ef39ad2 Fix superlu-dist with PETSc 3.9.0 (#8048) 2018-05-08 12:44:38 -05:00
Axel Huebl
7ff034a55d pybind11: v2.2.3 (#8051)
* pybind11: 2.2.3

new release for pybind11, v.2.2.3:

https://github.com/pybind/pybind11/blob/v2.2.3/docs/changelog.rst#v223-april-29-2018

* pybind11: compiler support

mark older versions as conflicts
2018-05-08 12:43:38 -05:00
Geoffrey Oxberry
ca9ce8048c googletest: add variant to enable/disable threads (#8052)
Add Google Test variant to enable/disable building with threads.
2018-05-08 12:42:57 -05:00
Levi Baber
0ac777b88e openmpi: new version (#8055) 2018-05-08 12:35:44 -05:00
Yifan Zhu
3a5f68c078 r-genie3: new package (#8044) 2018-05-07 17:23:45 -05:00
Eric
d6c6a7016f manta: Create new package (#8043)
* manta: Create new package

* manta: Create new package

* manta: fix dependency types
2018-05-07 17:22:43 -05:00
Eric
fa93df49bd py-pysqlite: Create new package (#8042) 2018-05-07 13:42:24 -05:00
Denis Davydov
3a88227c83 perl: add 5.26.2 (#7984)
* perl: add 5.26.2

* perl: add 5.22.4

* move Misc releases to EOL
2018-05-07 13:40:32 -05:00
Christoph Junghans
b5c6bbb2a2 pkgconf: use alpine linux mirror to avoid ssl error (#8039) 2018-05-07 10:46:58 -06:00
anne-glerum
9557a6881f Add patch (#8034) 2018-05-07 09:51:27 -05:00
Andrey Prokopenko
231664e22c trilinos: minor cleanup (#7987) 2018-05-07 06:45:49 -05:00
Eric
df575382ba py-dlcpar: Add package description (#8032) 2018-05-07 06:44:16 -05:00
Massimiliano Culpo
ff3205d21e Specs add a space before dependencies (#7942)
fixes #7941

Modified string representation of Specs to add a space before deps
Unit-tests have been modified accordingly
Added a test for regression on #7941
2018-05-07 09:05:50 +02:00
Stephen McDowell
506f8e9f3e add opencv 3.4.1 (#8031) 2018-05-06 21:40:27 -05:00
Eric
0dddb98869 metabat: Create new package (#7991)
* metabat: Create new package

* fix Perl script shebangs and BOOST_ROOT environment

* add perl script fix function

* add perl dependency and fix positional argument for Python 2.6
2018-05-06 10:56:03 -05:00
健美猫
c451644f12 Support *.TAR.gz extension. (#7973) 2018-05-06 09:34:16 -05:00
healther
17ce5fd912 Add package wireshark and dependencies (#8024)
* add wireshark

Change-Id: I1ef674ff286db2e06baaf9fca65982d1145cfa79

* fix qt4 build

Change-Id: Ieb9989b9fec1a0e02388197f971ee66b591d45c5

* remove commented lines

Change-Id: Ia67bfaf1beba06dd710cee56aec06bc36b293d34

* flake8 fix

Change-Id: Ica1b2cce2be2faca82a4177c3cdc3a0bb005c031

* remove clutter

Change-Id: I6061fe56a88f8c7b7e03fdce5e3eae04036ad2d8

* fix dependencies

Change-Id: I8160c70c9333c9f5e82ed5fc73633455df568972

* use dot syntax instead of join_path

Change-Id: Id1f737299b603fa4093b58571d46a64b0dd84895
2018-05-06 09:32:06 -05:00
Adam J. Stewart
b83be5f2d4 macOS-specific patch no longer applies to GCC 8 (#8029) 2018-05-06 09:28:33 -05:00
Elizabeth Fischer
f3c9b98bbd py-udunits: New package (#7998)
* py-udunits: update

* Use standard py-netcdf4

* Remove unnecssary import?

* Suggested simplifications

* flake8
2018-05-05 17:33:44 -05:00
Adam J. Stewart
3a29cc3f5c Fix coloring of URLs containing @ symbol (#7799)
* Fix coloring of URLs containing @ symbol

* Fix coloring of descriptions containing @ symbol
2018-05-05 17:27:40 -05:00
Adam J. Stewart
8d681925b2 Change default elf provider on macOS (#7939) 2018-05-05 17:27:13 -05:00
Adam J. Stewart
5af4d4f0ac Set default provider for every virtual package (#7784)
* Set default provider for every virtual package

* Add unit test to ensure that every virtual package has a default provider explicitly set
2018-05-05 17:26:47 -05:00
健美猫
e499a4d071 A new library: libshm. (#8028) 2018-05-05 17:16:48 -05:00
健美猫
dfe0752807 Bump pysam to 0.14.1. (#7988)
* py-pysam requires curl.

* py-pysam conflicts with htslib@1.7.

* Bump py-pysam versions.

* Add more dependencies.
2018-05-04 22:11:26 -05:00
sknigh
4fe6d9acee Added GCC 8.1.0 (#8026)
Built once on Centos 7 w/ external GCC 4.8.5 compiler
2018-05-04 18:52:03 -05:00
Jungwon Kim
cd80c7cf18 a new package: papyrus. (#8023)
* a new package: papyrus.

* removed the empty cmake_args

* changed md5 checksum for v1.0.0

* make a long line short

* one long line url
2018-05-04 18:51:37 -05:00
健美猫
c53541e448 Bump samtools, hstlib and bcftools to version 1.8. (#8020)
* Bump samtools and hstlib to version 1.8.

* rm .bak.

* Bump bcftools to 1.8.

* bcftools@1.8 depends on libzip.
2018-05-04 16:27:54 -05:00
Elizabeth Fischer
490cde87dd py-more-itertools: new package (#8004)
* py-more-itertools: new package

* code review
2018-05-04 16:27:14 -05:00
健美猫
51c2dbb707 Hic-Pro: fix a typo and replace hard-coded version. (#8022)
* Fix a typo and replace hard-coded version.

* version -> self.version.
2018-05-04 10:56:04 -05:00
Massimiliano Culpo
0570b075d4 openmpi: don't build static libraries if slurm is activated (#8021)
According to this comment:

    https://github.com/open-mpi/ompi/issues/4338#issuecomment-383982008

on an OpenMPI issue, using `--enable-static` silently disable slurm
support.
2018-05-04 16:27:54 +02:00
Elizabeth Fischer
593ad23a9f gdal: update (#8008)
* gdal: update

* Remove unneeded depends(python)
2018-05-03 22:55:31 -05:00
健美猫
0812fd1635 Bump r-rcpp versions. (#8016) 2018-05-03 22:54:45 -05:00
Elizabeth Fischer
ea4829880f pism: new package (#8010)
* pism: new package

* Implement code review

* Remove pointless docstring5

* Fixed missing trailing quote
2018-05-03 22:54:00 -05:00
Elizabeth Fischer
d52eb8b34d py-numpy: update (#8003)
* py-numpy: update

* Better constrain when can / cannot parallel build.

* Update SciPy parallel logic to be specific to Python 3.5+, same as in Numpy.
2018-05-03 22:53:41 -05:00
Elizabeth Fischer
60c1e41e4c py-bsddb3: update (#8006)
* py-bsddb3: update

* Change py-setuptools to build dependency
2018-05-03 19:20:14 -05:00
Elizabeth Fischer
ffcf3ef2c8 pfunit: update (#7994) 2018-05-03 17:02:20 -05:00
Elizabeth Fischer
28adaa4e55 Everytrace: update (#7995) 2018-05-03 17:00:21 -05:00
Elizabeth Fischer
7542fbfefd py-yamlreader: new package (#7997) 2018-05-03 16:58:40 -05:00
Elizabeth Fischer
5656529974 gmp: update (#7999) 2018-05-03 16:53:19 -05:00
Elizabeth Fischer
bf896c5a43 py-scipy: update (#8000) 2018-05-03 16:52:46 -05:00
Elizabeth Fischer
e93c880a79 py-pyside: update (#8002) 2018-05-03 16:50:55 -05:00
Elizabeth Fischer
ebca867496 py-cython: update (#8005) 2018-05-03 16:46:15 -05:00
Eric
2aea56da07 genomefinisher: Create new package (#7989) 2018-05-03 13:11:00 -05:00
Eric
a128fa88c5 py-crispresso: Create new package (#7990)
* py-crispresso: Create new package

* py-crispresso: Create new package
2018-05-03 13:09:59 -05:00
Kelly (KT) Thompson
7846dfa817 New Package: ruby-svn2git (#7979)
* New Package: svn2git

https://github.com/nirvdrum/svn2git

svn2git is a tiny utility for migrating projects from Subversion to Git while
keeping the trunk, branches and tags where they should be. It uses git-svn to
clone an svn repository and does some clean-up to make sure branches and tags
are imported in a meaningful way, and that the code checked into master ends up
being what's currently in your svn trunk rather than whichever svn branch your
last commit was in.

* Actually requires +perl variant of subversion.

* fix style issue.
2018-05-03 10:12:57 -05:00
健美猫
c8157e31e1 A new package: nanopb. (#7981)
* A new package: nanopb.

* flake8.

* Remove py-pytorch.
2018-05-03 10:12:37 -05:00
健美猫
78d8bd7d40 Bump pgi to 18.4. (#7980)
* Bump pgi to 18.4.

* Remove the empty line.

* Update.
2018-05-03 10:12:17 -05:00
健美猫
05f51c46dd Bump gatk version to 4.0.4.0. (#7985)
* Bump gatk version to 4.0.4.0.

* Update.

* Fixed.

* Fixed.
2018-05-03 10:08:48 -05:00
健美猫
fb9898230e A new package: py-openslide-python. (#7907)
* A new package: py-openslide-python.

* Update.

* Remove py-pytorch package.

* Remove nektar package.

* Remove install_time_test_callbacks
2018-05-03 08:37:52 -05:00
Michael Kuhn
937ab7d5cc go: Update to 1.10.2 (#7982) 2018-05-03 12:14:52 +02:00
Elizabeth Fischer
cbd77e3a8d make symlinking python3->python optional (#7960)
* Make symlinking python3->python optional
* Added reference to PEP 394
2018-05-02 12:26:30 -07:00
Adam Moody
7909e15d83 mvapich2: add 2.3rc2 (#7976) 2018-05-02 14:23:32 -05:00
Elizabeth Fischer
f054fa2f43 sphinx: Updated to v1.7.4 (#7977)
* sphinx: Updated to v1.7.4

* Update package.py
2018-05-02 14:23:02 -05:00
Tim Law
73ded1a60c Added BookLeaf_Cpp and Typhon packages. (#7969) 2018-05-02 10:45:30 -05:00
Michael F. Herbst
f1ce2e3351 Add libcint version 3.0.12 (#7972) 2018-05-02 10:44:58 -05:00
Eric
fdc6ea0645 bedops: Create new package (#7956)
* bedops: Create new package

* fix install method
2018-05-02 08:14:00 -05:00
David Wootton
c23387e89b Fix Spectrum MPI package spec file for PGI compilers (#7964)
* Added magma package

* Incorporated Serban's change

* Remove deleted files

* argparse.py

* Sync forked Spack repo in github

* Use reported version of IBM XL Fortran compiler for compiler versions
>= 16.0.

Starting with the April 2018 release, the IBM XL C and Fortran
compilers report the same version, 16.0.  Consequently, there is
no need to downgrade the Fortran compiler version to match that
of the C compiler.

* Eliminate blank lines.

* Update the Spectrum MPI package.py file to specify the correct compilation
scripts for the PGI compilers.
2018-05-02 08:12:08 -05:00
Christoph Junghans
9d1456393f openmc is not a proxy (#7968)
https://github.com/spack/spack/issues/7965#issuecomment-385953224
2018-05-02 06:48:16 -06:00
scheibelp
d17372290d Fix initialization of defaults in yaml schema validation (#7959)
Fixes #7924

Spack's yaml schema validator was initializing all instances of
unspecified properties with the same object, so that updating the
property for one entry was updating it for others (e.g. updating
versions for one package would update it for other packages).

This updates the schema validator to instantiate defaults with
separate object instances and adds a test to confirm this behavior
(and also confirms #7924 without this change).
2018-05-01 17:23:27 -07:00
Adam Moody
29b47e0e01 mvapich2: add registration cache and file systems variants (#7948)
* mvapich2: add registration cache and file systems variants, avoid empty --with-pm= if no process manager is specified, add missing leading dash in --disable-silent-rules
2018-04-30 18:12:13 -07:00
Adam Moody
2db4beac12 mpifileutils: roll back to dtcmp v1.0.3, add option to build master branch (#7949)
* mpifileutils: roll back to dtcmp v1.0.3 due to API change, add option to build master branch

* add comment to explain why certain dtcmp is required, rename version for git branch

* dtcmp v1.0.2 is missing github tarball
2018-04-30 18:46:17 -05:00
Eric
7088e547a3 vt: Create new package (#7947) 2018-04-30 12:11:06 -05:00
健美猫
094eb5f9a8 Build shared libs for tinyxml. (#7914) 2018-04-30 10:03:24 -05:00
Kelly (KT) Thompson
d02b5b96d3 Patch eospac package to allow compilation with %clang. (#7928)
When building eospac with %clang, spack's Fortran compiler wrapper is called
'flang', which is rejected by the eospac build system..Allow compilation with
%clang by patching the eospac build system.

My testing only covers %clang where flang is actually gfortran.  However, this
patch only registers 'flang' as a known Fortran compiler and does not set any
flags or options that are compiler specific.
.
2018-04-29 18:40:27 -06:00
Adam J. Stewart
c1febf8d9c Document how to run unit tests with print statements (#7860) 2018-04-28 17:59:33 +02:00
Christoph Junghans
810fe884d0 mfem: fix concretization (#7923)
* mfem: fix concretization

* Fix hypre deps again

* Update package.py
2018-04-28 07:16:43 -05:00
Chris Green
dec7a10249 Update with recent versions through 4.8.3 and add variants. (#7933)
Add configurable HTTP, Python and readline support.

Add previously missing dependencies.

Minor patch to improve Python support (see https://github.com/xrootd/xrootd/pull/695).
2018-04-27 10:11:33 -05:00
Levi Baber
dfc4a2aef1 bcftools: new version (#7930) 2018-04-26 22:48:01 -05:00
Sinan
581a240c86 add versions 3.4.3. and 3.5.0 (#7929) 2018-04-26 21:12:17 -05:00
Chris Green
6cc79f8142 Allow len(Version) to return number of split components. (#7918) 2018-04-26 15:38:43 -07:00
Levi Baber
310addea91 samtools: new version (#7921) 2018-04-26 17:17:00 -05:00
serbanmaerean
963c103a67 XL Fortran compiler >= 16.0 is synced with C compiler version (#7887)
* Use reported version of IBM XL Fortran compiler for compiler versions >= 16.0.

Starting with the April 2018 release, the IBM XL C and Fortran compilers report the same version, 16.0.  Consequently, there is no need to downgrade the Fortran compiler version to match that of the C compiler.
2018-04-26 14:50:14 -07:00
Sergey Kosukhin
0f35f00b6e Use GitLab's API endpoint for fetching a git snapshot. (#7881)
* Use GitLab's API endpoint for fetching a git snapshot.

* More GitLab packages use the API.

* find_list_url for GitLab's API URLs.

* Flake8

* Url for 'hacckernels'.

* Check GitLab API regexps before the non-API ones.
2018-04-26 16:40:11 -05:00
healther
8afdaa5805 add patch to get aspell to build on OSX (#7919) 2018-04-26 15:19:52 -05:00
健美猫
9dad069e89 config_args does NOT apply to CMakePackage. (#7917) 2018-04-26 13:03:45 -05:00
Simon Flood
6a99ca362f Add Trinity package (#7828)
* Add Trinity package

New package to install Trinity - another odd installer (assumes installation to /usr/local/bin and doesn't copy dot files hence deleting them)

* Update package.py

added dependencies from https://github.com/trinityrnaseq/trinityrnaseq/wiki/Installing-Trinity

* Update package.py

Copy tree to prefix.bin so that PATH can correctly be set for the Trinity command - can't split it off as it seems everything needs to stay together.

* Update package.py

Fixed over-length lines and space before comma
2018-04-26 09:11:58 -05:00
Sergey Kosukhin
fd85c1f0c0 Package 'gdbm': do not set CC. (#7912) 2018-04-26 08:44:17 -05:00
Geoffrey Oxberry
d54ceb6ce7 mfem: add valid range of hypre version numbers (#7903)
This commit fixes #7900.

In short: in the absence of constraints to the contrary, spack will
download the preferred version of a package, which is usually the most
recent non-develop version. On a clean spack installation without
hypre installed, `spack install mfem` will download hypre 2.14.0,
which is API-incompatible with mfem 3.3.2 (and earlier versions of
mfem), so spack will throw compiler errors re: the API mismatch.

This commit fixes that error by restricting mfem release versions
3.3.2 and earlier to hypre version 2.10.b to 2.13.999 (only 2.13.0
currently exists, but if it has a non-2.14.x maintenance release,
these versions of hypre should also be permitted).
2018-04-26 08:43:20 -05:00
Denis Davydov
2ec701d1dd adol-c: add boost optional dependency (#7905) 2018-04-26 08:42:03 -05:00
健美猫
3b82124d96 A new package: loki. (#7908)
* A new package: loki.

* Flake8.
2018-04-26 08:37:03 -05:00
Massimiliano Culpo
50122a585a Added the latest versions of a few packages (#7910)
* automake: added version 1.16.1

* lmod: added version 7.7.29

* git: added version 2.17.0

* tmux: added version 2.7

* scala: added version 2.12.5, fixed typo in version 2.10.6

* Added spark@2.3.0, hadoop@3.1.0, jdk@8u172-b11

* picard: added version 2.18.3

* tar: added version 1.30
2018-04-26 14:46:45 +02:00
健美猫
e2092896b9 A new package: openslide. (#7906) 2018-04-26 07:17:15 +02:00
Bruno Turcksin
de9894a063 Add boost 1.67.0 (#7889)
* Add boost 1.67.0

* Remove boost 1.67.0 release candidate and the associated patch
2018-04-25 21:00:22 -05:00
mcneish1
94afb2430c Additional r packages (#7892)
* Add r-bbmisc

* Add r-dicekriging

* Add r-lhs

* Add r-mco

* Add r-misc3d

* Add r-mlr

* Remove boilerplate from r-mlr package

* Add r-mlrMBO

* Add r-parallelmap

* Add r-paramhelpers

* Add r-plot3d

* Add r-rgenoud

* Add r-smoof

* Add r-rinside 0.2.14

* Fix flake8 issues

* Add specific required versions

* Add more up-to-date versions of r-{mco, mlr, mlrMBO, smoof}
2018-04-25 20:59:46 -05:00
Robert Pavel
28901c8104 Added OpenMP Variant for Kokkos (#7902)
Added OpenMP variant for kokkos that can be disabled to build and test
on platforms where OpenMP is not available or desired. Also updated
version list
2018-04-25 10:50:58 -05:00
Levi Baber
a4e786a415 openmpi: libfabric support, ucx cleanup (#7842)
* openmpi: libfabric support, ucx cleanup

* openmpi: remove unnecessary parentheses
2018-04-25 10:37:48 -05:00
Levi Baber
7120e59c6a Libfabric: updating fabrics & adding deps (#7838)
* libfabric: mxm deprecated, adding mlx aka ucx

* libfabric: adding dependencies that we have in spack
2018-04-25 10:35:36 -05:00
Levi Baber
14e0307f04 ucx: needs numactl and rdma-core (#7836) 2018-04-25 10:34:55 -05:00
Levi Baber
a7ecb0364a psm: new package (#7834)
* psm: new package

* psm: setting latest stable to preferred
2018-04-25 10:34:31 -05:00
Levi Baber
0b284b45db rdma-core: new package (#7835)
* rdma-core: new package

* rdma-core: change to platform conflict
2018-04-25 10:33:30 -05:00
Levi Baber
a21571e737 libnl: new package (#7833)
* libnl: new package

* libnl: change platform constraint to a conflict
2018-04-25 10:33:01 -05:00
Sajid Ali
24f15a5f4b Added checksums for newer versions of numpy (#7853)
*  Committer: sajid <sajid@xrmlite.phys.northwestern.edu>

	modified:   var/spack/repos/builtin/packages/py-numpy/package.py

* Corrected typo

* removing whitespace

* remove whitespace

* remove whitespace, if not will do this in vim
2018-04-25 10:30:25 -05:00
Eric
4fdd24effa py-testinfra: Create new package (#7883)
* py-testinfra: Create new package

* py-testinfra: flake8 fixes

* py-testinfra: fix pytest version dependency

* py-testinfra: fix py-importlib version dependency
2018-04-25 10:29:45 -05:00
Levi Baber
0d5dd96762 fabtests: new package (#7837)
* fabtests: new package

* fabtests: fix hashes for github archive behavior & add libfabric dep

* fabtests: both versions confirmed working

* fabtests: use developer provided archive
2018-04-25 10:29:29 -05:00
健美猫
48a3cc67fc Add a new package: gloo. (#7894)
* Add a new package: gloo.

* Remove dependencies.
2018-04-25 10:05:16 -05:00
健美猫
fca267468e Add a new package: cpuinfo. (#7895) 2018-04-25 10:04:45 -05:00
健美猫
7095d4f414 Add a new package: fp16. (#7896) 2018-04-25 07:30:07 -05:00
Daniel Topa
82ac1571c2 Openmpi update multithread (#7893)
--enable-mpi-thread-multiple option not viable in Open MPI 3.0+

Signed-off-by: Dan Topa <dantopa@lanl.gov>
2018-04-25 07:01:17 +02:00
Eric
5f04b0c538 new package: py-weblogo (#7886) 2018-04-24 19:31:37 -07:00
René Widera
caa0c5c687 environment shell: fix spack load (#7747)
Fix `spack load` with extended packe specifications those includes spaces.
Solved by using perfectly parameter forwarding via temporary array.

example:
```
$ spack install zlib
$ spack install zlib cppflags='-O3 -march=native'
$ spack install zlib cppflags='-O2 -march=native'

$ spack find -d -L -f zlib
==> 3 installed packages.
-- linux-linuxmint18-x86_64 / gcc@5.4.0 -------------------------
k5hg4kkxiutkfl6n53ogz5wnlbdrsdtf    zlib@1.2.11%gcc

mse2fyzdxciszdhiqi4b5kl6fxkps3fh    zlib@1.2.11%gcc cppflags="-O2 -march=native"

vrnvj2fikcbxqxrymctnlpmud7wbuahk    zlib@1.2.11%gcc cppflags="-O3 -march=native"

$ spack load zlib cppflags='-O3 -march=native'
==> Error: Unexpected token
['zlib', 'cppflags=-O3', '-march=native']
```
2018-04-24 13:43:32 -07:00
Denis Davydov
f7da156879 petsc and slepc: add 3.9.0; hypre: add 2.14 (needed by petsc) (#7877) 2018-04-24 07:10:46 -05:00
Eric
8e1a7eaafa ARAGORN: Create new package (#7875) 2018-04-23 16:51:42 -05:00
Eric
e3c708fafe prinseq-lite: Create new package (#7873)
* prinseq-lite: Create new package

* prinseq-lite: set variant description and add dependency type
2018-04-23 16:11:27 -05:00
Ross Miller
b5d9a44e17 7851 pmix aarch64 (#7852)
* Fix build issue with PMIx on aarch64

Work around a bug in PMIx that causes build issues on aarch64.  Bug was
fixed in PMIx 2.1.1, so the spack package checks both the architecture
and the PMIx version.  Workaround is to just not build the PMIx test and
example code.

* Minor code cleanups

Minor corrections to make 'spack flake8' happy.

* Add support for version 2.1.1
2018-04-23 14:09:52 -05:00
Mark Olesen
50fb9352f0 New colm, ragel packages (#7867)
- Ragel is a parser and finite state machine generator that can be
  used as an alternative means for solving parsing problems without
  Flex.
2018-04-23 10:50:58 -05:00
健美猫
b33f01c799 Add a new version 5.4.1.7 for mono. (#7866) 2018-04-23 07:31:29 -05:00
Dan Ibanez
130d0c8b2e omega-h: new package (#7861)
* omega-h: new package

* omega-h: fix multiple package.py issues

* omega-h: use tarball checksum to avoid warning

* omega-h: wrap lines for flake8
2018-04-22 17:26:52 -05:00
Sinan
af82f5529d new package: racon (bioinformatics) (#7726)
* new package: racon (bioinformatics)

* add cmake_arg method
2018-04-22 07:54:48 -05:00
健美猫
708fe9f676 Add a new pacakage: HiC-Pro. (#7858)
* HiC-Pro: a new package.

* Flake8.

* Update.

* Remove nektar.
2018-04-21 13:08:56 -05:00
健美猫
b91b4a6c4d A new pacakge: IMP. (#7859) 2018-04-21 13:08:44 -05:00
lingnanyuan
f939895b1b py-mg-rast-tools: Create new package and its dependencies. (#7816)
* r-matr: Create new package.

* shocklibs: Create new package.

* r-biom-utils: Create new package.

* r-mgraster: Create new package

* py-poster: Create new package.

* py-requests-toolbelt: Create new package.

* perl-libwww-perl: Create new package.

* py-mg-rast-tools: Create new package.

* mg-rast-tools: Fix version constraints for dependencies.

* Change dependency type of py-setuptools.
2018-04-21 10:28:44 -05:00
Levi Baber
3274f16780 py-pymol: new package (#7823)
* py-pymol: new package

* py-pymol: needs python+tk
2018-04-21 10:28:09 -05:00
healther
8cc24fa20b add variant htmlreport to package cppcheck (#7824)
Change-Id: I31766d3ceb4fa8852b9bdc82444e36514e760f4b
2018-04-21 10:26:37 -05:00
Denis Davydov
5794f432a9 gnuplot: add 5.2.2 (#7831) 2018-04-21 10:24:36 -05:00
Denis Davydov
2dfd61080b dealii: disable +slepc with ~petsc (#7832) 2018-04-21 10:22:10 -05:00
Eric
a808553fa1 DIAMOND: Add version 0.9.20 (#7847)
* DIAMOND: Add version 0.9.20

* DIAMOND: add version 0.9.21
2018-04-21 09:57:06 -05:00
Levi Baber
5ae960c476 jellyfish: fixing url for v2 package retrieval (#7849) 2018-04-21 09:56:38 -05:00
健美猫
c8e3c94c6f self has no attribute named satisfies. (#7826) 2018-04-19 12:43:12 -05:00
Axel Huebl
26e9b3b74d openPMD-api (#7765)
* openPMD-api

Add a new package for openPMD-api.

openPMD is a meta-data standard (markup, schema) for hierarchical,
scientific particle and mesh based data.

openPMD-api is a library wrapping the underlying backends (HDF5,
ADIOS, ...) into a single, object-aware API.

* Repository: https://github.com/openPMD/openPMD-api
* Project: https://github.com/openPMD http://www.openPMD.org

* mpi variant forwarding: fix concretization
2018-04-19 09:04:07 -05:00
Levi Baber
d65fbf4c68 libxml2: adding subdir to cpath for deps (#7819)
* libxml2: adding subdir to cpath for deps

* libxml2: no join_path

* libxml2: fix cpath for run_env

* libxml2: typo
2018-04-19 09:01:11 -05:00
Levi Baber
7219f4a2aa freetype: adding subdir to cpath for deps (#7818)
* freetype: adding subdir to cpath for deps

* freetype: no join_path

* freetype: fix cpath for run_env
2018-04-19 09:00:49 -05:00
Kelly (KT) Thompson
4869b7312a Suite-sparse: provide patch to fix builts with clang@6.0.0. (#7811)
+ I am unable to build suite-sparse@5.2.0 with clang@6.0.0.  The build fails
  with the error:

```
     2397    [ 99%] Linking C executable wildtype_demo
     2398    make[4]: Leaving directory
  `/tmp/kellyt/spack-stage/spack-stage-w0XYhK/SuiteSparse/GraphBLAS/build'
  >> 2399    libgraphblas.so.2.0.1: undefined reference to `__fpclassify'
  >> 2400    clang-6.0: error: linker command failed with exit code 1 (use -v to
  see invocation)
  >> 2401    make[4]: *** [wildtype_demo] Error 1
```

+ This error appears because libgraphblas.so requires `-lm`, but that link
  dependency is not explicitly listed in GraphBLAS\CMakeLists.txt.
+ A patch file is provided to add this dependency.  The patch is only applied
  when the compiler is `%clang`.
2018-04-19 08:59:55 -05:00
healther
6d1097f99b add variants and conflicts for curl (#7804)
* add variants and conflicts for curl

* darwinssl - Apple's SSL/TLS implementation
* libssh    - use libssh implementation
* add darwin conflict for libssh{,2}
* add linux conflict for darwinssl

* remove openssl when +darwinssl

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2018-04-19 07:23:16 -05:00
Levi Baber
4ed613d7e1 freeglut: new package (#7820) 2018-04-18 19:49:42 -05:00
Levi Baber
ecdb3065ed glew: adding gl dependency (#7817) 2018-04-18 17:58:45 -05:00
Matthew Scott Krafczyk
1b38631781 Add -d option to diy to specify source path move -j to common args (#5963) 2018-04-18 17:26:14 -05:00
Elizabeth Fischer
d3c1463b0a Fix bug/oversight in formatting error message. (#7810) 2018-04-18 15:05:37 -05:00
Jim Galarowicz
0fc51a9c3e Simple updates to the Krell Institute OpenSpeedShop and CBTF components build package files. (#7812) 2018-04-18 14:05:53 -05:00
Levi Baber
5d39e76353 xrandr: needs randrproto (#7814)
* xrandr: needs xrandrproto

* xrandr: fix typo
2018-04-18 14:02:04 -05:00
Axel Huebl
5f73c2759d ADIOS 1.13.1 & SZ 1.4.12.3 (#7808)
* ADIOS 1.13.1

ADIOS 1.13.1 fixes several issues with zero-sized block
reading and writing when compression transports are used.

* SZ 1.4.12.3

Add the lastest SZ release used in ADIOS1.
2018-04-18 10:52:13 -05:00
Matteo Guglielmi
247f24e015 bcl2fastq2: package update (#7794)
* bcl2fastq2: package update

* package/bcl2fastq2: homepage fix

* package/bcl2fastq2: glob fix

* package/bcl2fastq2: code clean up

* package/bcl2fastq2: code clean up #2
2018-04-18 10:11:44 -05:00
Loic Hausammann
87747b888f Add grackle 3.1 (#7805) 2018-04-18 07:23:09 -05:00
Matthias Diener
d950aeee09 cmake: update version (#7802) 2018-04-17 17:26:03 -05:00
Eric
1b32a4e3a5 DIAMOND: add zlib dependency (#7801) 2018-04-17 15:59:23 -05:00
Adam J. Stewart
5854acd233 Add latest version of cURL (#7800) 2018-04-17 14:33:08 -06:00
Eric
b84424e879 bismark: Create new package (#7795)
* bismark: Create new package

* bismark: fix dependency types
2018-04-17 14:45:10 -05:00
Yifan Zhu
b4bdf0db80 psmc: new package (#7773)
* psmc: new package

* psmc: changed version number

* psmc: overwrite build phase
2018-04-17 13:30:30 -05:00
Eric
8e58bf21cf perl-statistics-pca: Create new package (#7796)
* perl-statistics-pca: Create new package

* perl-statistics-pca: fix dependency types
2018-04-17 13:30:12 -05:00
Matteo Guglielmi
8afdf3d148 r-biomart: package update (#7787) 2018-04-17 12:55:36 -05:00
Matteo Guglielmi
65da62751f r-delayedarray: package update (#7788) 2018-04-17 12:55:20 -05:00
Eric
d49182cb7a DIAMOND: add versions 0.9.19, 0.8.38, 0.8.26 (#7789) 2018-04-17 12:55:08 -05:00
Matteo Guglielmi
abbd51cd21 r-summarizedexperiment: package update (#7790) 2018-04-17 12:54:56 -05:00
Matteo Guglielmi
02181c951a r-genomicalignments: package update (#7791) 2018-04-17 12:54:36 -05:00
Matteo Guglielmi
025e608fd5 r-bsgenome: package update (#7792) 2018-04-17 12:54:04 -05:00
Matteo Guglielmi
7171f31425 r-topgo: package update (#7793) 2018-04-17 12:53:37 -05:00
Matteo Guglielmi
c392bfc7d6 r-s4vectors: package update (#7779)
* r-s4vectors: package update

* r-s4vectors: dependencies fix
2018-04-17 10:04:37 -05:00
Matteo Guglielmi
5272ed5ad0 r-biobase: package update (#7785) 2018-04-17 10:04:24 -05:00
Matteo Guglielmi
8907161c93 Package/r-iranges (#7780)
* r-iranges: package update

* r-iranges: package update

* r-iranges: dependencies fix
2018-04-17 09:36:12 -05:00
Matteo Guglielmi
c2559bdef3 r-genomicranges: package update (#7782)
* r-genomicranges: package update

* r-genomicranges: dependencies fix
2018-04-17 09:33:24 -05:00
Adam J. Stewart
ef37cdb380 Autocomplete spack providers (#7783) 2018-04-17 09:33:04 -05:00
Matthias Maiterth
ed4d0c5a87 Package/geopm (#7560)
* geopm: Added initial files for package geopm
and py-natsort dependency

* geopm: Updated variants for hwloc and mpi defaults

* geopm: Cleaned up unwanted hyphenation in description.

* geopm: updates according to change request.

* geopm: Updated minor change requests.

Clarification for ruby-ronn dependency included as a TODO.
This requires changes in the current configure and build process
which will be changed in a future version.

* geopm: changed to AutotoolsPackage and fixed hwloc

The changes for hwloc required to add a specific version bc of a
conflicting version of openmpi's hwloc dependency being below
1.99. This works but updates to this package should check if this
restriction is still required. (Thus TODO added)

* geopm: Added link dependencies (thanks for pointing this out).

Also removed empty line below class definition.

* geopm: Fixed depends_on according to package guide.

Removed wrong type 'run' and removed types for numactl, mpi and hwloc
to use default build & link type.

* geopm: Fixed and updated +doc dependencies

new pacakge ruby-ronn (package specified as in ruby-narray package)
Updated second +doc dependency doxygen.

* geopm: Changed args for Autotools specific feature.

Added enable_or_disable and with_or_without instead of if cascade.
Added overhead variant.
Also added missing dependency (default: build&link) for json-c).
2018-04-17 07:51:56 -05:00
Geoffrey Oxberry
40f0305bfa glvis@3.3: new package (#7166)
* glvis@3.3: new package

* mesa-glu: now provides 'glu' (GL Utility library)

* openglu: add package, provides glu

* [GLVis] Use MakefilePackage as base. Add 'develop' version.

Small tweaks in the makefile arguments.

* [GLVis] Locate the X11, GL and GLU libraries within their respective
prefixes. Set the C compiler in the makefile arguments.

* [GLVis] Fix a bug: the same variable was used for two different things.

* [libx11] Add the libs property

* [OpenGL] Add the libs property

* [OpenGLU] Add the libs property

* [GLVis] Use the libs properties of libx11, opengl, and openglu
2018-04-17 07:48:48 -05:00
George Hartzell
669b85e6bc Activation of activated package just msg's (#7752)
Activating a package that is already activated now sends a `tty.msg`
and returns.

```
-bash-4.2$ ~/spack/bin/spack activate aspell6-en
==> Package aspell6-en/lc4v24f is already activated.
```
2018-04-17 07:44:08 -05:00
Matteo Guglielmi
07ebcb7f6b r-biocgenerics: package update (#7778) 2018-04-17 07:43:26 -05:00
Matteo Guglielmi
f4cc57261b r-genomeinfodb: package update (#7781) 2018-04-17 07:43:11 -05:00
Massimiliano Culpo
4bf7ce7d99 Better error message for spack providers (#7748)
* Better error message for spack providers

fixes #1355

`spack providers` now outputs a sensible error message if non-virtual
specs are provided as arguments:
```
$ spack providers mpi zlib petsc
==> Error: non-virtual specs cannot be part of the query [zlib, petsc]
```

Formatting of the output changed slightly.

* Calling 'spack providers' without arguments print the virtual pkg list

Also, the error message in case of a wrong parameter has been improved
to show the list of valid packages.

* Avoid printing headers if stdout is not a tty

* The provider list is formatted with colify if not in a tty

* Added a test to check the list of providers returned from the command
2018-04-17 07:30:32 -05:00
Matteo Guglielmi
1c8df39024 r-htmltable: package update (#7767)
* r-htmltable: package update

* r-htmltable: dependency fix

* r-htmltable: dependency fix #2

* r-htmltable: dependency fix #3
2018-04-17 07:26:37 -05:00
Christoph Junghans
b6d3feba20 ospac: fix compiler usage and install (#7776) 2018-04-16 15:56:37 -06:00
Yifan Zhu
e94808a560 miniasm: new package (#7772) 2018-04-16 16:06:09 -05:00
Yifan Zhu
625ead40e3 fermikit: new package (#7775) 2018-04-16 15:54:05 -05:00
Matteo Guglielmi
385a209ff9 r-limma: package update (#7763)
* r-limma: package update

* r-limma: dependency fix
2018-04-16 11:49:40 -05:00
Michael F. Herbst
61b3e60f1f Add libcint version 3.0.11 (#7764) 2018-04-16 11:49:13 -05:00
Matteo Guglielmi
63d8f87f54 r-hmisc: package update (#7766) 2018-04-16 10:16:00 -05:00
Matteo Guglielmi
be934c5781 r-data-table: package update (#7768) 2018-04-16 10:14:20 -05:00
Matteo Guglielmi
3ae6dd9f64 r-matrix: package update (#7769) 2018-04-16 10:14:00 -05:00
Matteo Guglielmi
33f2200bf7 r-deseq2: package update (#7770) 2018-04-16 10:13:45 -05:00
healther
d0c388ca68 add version 2.0.9 to py-slurm-pipeline (#7771)
Change-Id: I6b597076b0740d65b8aeaebf95f459745b1b1503
2018-04-16 10:13:06 -05:00
Christoph Junghans
826c1f88a3 votca-moo: removal (#7762)
votca-moo is now part of votca-ctp (see votca/ctp#93)
2018-04-14 16:18:11 -06:00
Christoph Junghans
dae4653920 eospac: initial commit (#7761)
* eospac: initial commit

* eospac: add stable version
2018-04-14 14:14:38 -05:00
Eric
c8f78676eb perl-moose: Add versions 2.2007,2.2009,2.2010 (#7758) 2018-04-13 19:08:13 -05:00
Eric
1d0ecce49f perl-devel-overloadinfo: Add version 0.005 (#7754) 2018-04-13 16:58:50 -05:00
Eric
b6a130703d prank: Add version 170427 (#7755) 2018-04-13 16:58:39 -05:00
Eric
d602d04d46 tcl: Add version 8.6.8 (#7756) 2018-04-13 16:58:25 -05:00
Eric
eaaf1666ba tk: Add version 8.6.8 (#7757) 2018-04-13 16:58:13 -05:00
Cameron Smith
e6d3ab8405 cray: add comment about module use in packages.yaml (#7751)
This advises users to prefer `modules:` entries in `packages.yaml` on Cray.
2018-04-13 11:53:26 -07:00
becker33
b9c8cdcbe3 Fix when_spec inheritance for extensions (#7746)
Popping the when spec from kwargs in the extends directive breaks
class inheritance. Inheriting classes do not find their when spec.

We now get the when spec from kwargs instead, leaving it to be found
by any downstream package classes.
2018-04-13 11:38:34 -07:00
Massimiliano Culpo
94fbd7b60d flux: changed default value for doc variant to False (#7749)
fixes #2095
2018-04-13 15:58:58 +02:00
Raghu Raja
ef253f9db4 libfabric: added v1.6.0 and v1.5.3 (#7742) 2018-04-13 09:09:54 +02:00
Adam J. Stewart
b9b19e1660 Fix www.example.com homepages (#7744) 2018-04-13 07:08:10 +02:00
Eric
21914d36be py-illumina-utils: Create new package (#7745)
* py-illumina-utils: Create new package

* fix dependency types
2018-04-12 22:45:21 -05:00
Eric
0091fda57b perl-contextual-return: Create new package (#7741)
* perl-contextual-return: Create new package

* perl-contextual-return: Fix homepage url
2018-04-12 15:56:07 -05:00
Yifan Zhu
7d8e6b2eda New package r-tmixclust (#7658)
* r-tmixclust: new package

* r-cluster: hash changed

* r-cluster: removed 2.0.6 and added the latest 2.0.7-1
2018-04-12 14:51:51 -05:00
Howard Pritchard
f5e4befcac UCX: update for release 1.3.0 (#7740)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2018-04-12 14:51:25 -05:00
Eric
11cbee6e92 perl-perlio-utf8-strict: Create new package (#7738) 2018-04-12 14:02:37 -05:00
Yifan Zhu
fde1e0ecb8 supernova: new package (#7719)
* runing a test

* supernova: new package

* removed with working_dir line
2018-04-12 13:31:18 -05:00
Veselin Dobrev
7f46ec49e7 Specify default providers for the glu virtual package. (#7733) 2018-04-12 13:30:49 -05:00
Eric
89b5403b79 perl-text-simpletable: Create new package (#7739) 2018-04-12 13:29:51 -05:00
Yifan Zhu
8a4268837e New package r-spem (#7657)
* r-truncnorm: new package added

* r-solnp: new package added

* r-spem: new package added

* r-truncnorm: removed dependency r-testthat
2018-04-12 12:55:10 -05:00
Eric
61875784df perl-math-matrixreal: Create new package (#7737) 2018-04-12 12:53:53 -05:00
healther
bc379ab919 fix dependencies for matplotlib@2.2.2 (#7735) 2018-04-12 12:53:30 -05:00
Eric
41867cf007 perl-want: Create new package (#7734) 2018-04-12 12:24:28 -05:00
Geoffrey Oxberry
bbdf586d14 glu: new virtual package; openglu: new package (#7162)
* mesa-glu: now provides 'glu' (GL Utility library)

* openglu: add package, provides glu

* openglu: add custom fetcher, remove nonsense url

Change openglu package to look like the opengl package in GitHub PR

* [OpenGLU] Fix a typo
2018-04-12 07:16:16 -07:00
Geoffrey Oxberry
0e4e7d05e4 opengl: make error throw on install, not fetch (#7063)
* opengl: make error throw on install, not fetch

* opengl: add configuration advice for darwin

* opengl: add more versions of GL/OpenGL

* opengl: improve documentation in comments

* [OpenGL] Fix formatting
2018-04-12 07:14:38 -07:00
Massimiliano Culpo
fa07f95a71 Fixes conflicts in OSX nightly tests (#7732)
fixes #7593

Unit tests on OSX are trying to concretize mpileaks, and they fail due
to a conflict in the package:

"%gcc@7.2.0:" conflicts with "elfutils@0.163"

This solves the issue asking explicitly to concretize against
elfutils@1.170
2018-04-12 14:11:36 +02:00
healther
3608c4d3b5 add package py-gdbgui (#7715)
* add package py-gdbgui

Change-Id: I553e1e4c4f6385348190817199e05b25522b57b4

* fix alignment

* add setuptool runtimedependency

* add gdb run dependency
2018-04-11 21:30:23 -05:00
Massimiliano Culpo
1307ad3979 Package.provides account for v deps that are provided conditionally (#7716)
fixes #7705

Package.provides now checks constraints to ensure that a spec provides
a given virtual package. Note that 'strict=True' is not passed to
satisfies as this function is also used during concretization.
2018-04-11 21:50:03 +02:00
healther
3b44a2ff40 Add package py-slurm-pipeline (#7681)
* add package py-slurm-pipeline

Change-Id: Iade405a7e96f04e476cea76e460cac2ebdf21f95

* add missing py-six dependency

Change-Id: I382fa4139880c1a61af3f314c74ed6e7c2e88c5b

* Update package.py

* Update package.py

* Update package.py

* fix flake8
2018-04-11 14:25:08 -05:00
Simon Flood
ed5f68211e Add ANTs package (#7717)
* Add ants package

Add a package for ANTs (version 2.2.0)

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2018-04-11 14:22:23 -05:00
healther
a23e319dac add package py-python-socketio (#7721)
* add package py-python-socketio

* fix indention

* add description to eventlet variant

* fix dependencies

Change-Id: I425ae165dfcce30df6cbbd671cd6ef1bef5078dc

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2018-04-11 14:21:37 -05:00
peetsv
af13236d68 py-cnvkit: add new package (#7688)
* py-cnvkit: add new package

* updating dependencies

* correcting flake8 error

* adding py-setuptools dependency
2018-04-10 20:25:32 -05:00
healther
9ba7ecb1de add package py-gevent (#7712)
* add package py-gevent

Change-Id: I49722e02a961f20b9177ae8575b78b42bf6c01c9

* fix alignment

* add cffi dependency
2018-04-10 20:24:11 -05:00
healther
4eeec729ea add package py-eventlet (#7722) 2018-04-10 20:22:45 -05:00
healther
70754c5d21 add package py-greenlet (#7720)
* add package py-greenlet

* remove optional setuptools dependency
2018-04-10 20:22:28 -05:00
healther
6508a2c3d3 add package py-python-engineio (#7723)
* add package py-python-engineio

* flake8 fix
2018-04-10 20:21:57 -05:00
Christoph Junghans
45ddfe83ef lammps: add v20180316 (#7725)
* lammps: add v20180316

* add latte@1.1.1 and make lammps use it
2018-04-10 20:21:35 -05:00
Daniel Topa
dbb7f8e13a hwloc: add v 2.0.1 (#7724)
Signed-off-by: Dan Topa <dantopa@lanl.gov>
2018-04-10 20:20:09 -05:00
Michael Kuhn
e7760f1f59 go: Update to 1.10.1 (#7708)
Also update go-bootstrap to the 20171003 snapshot.
2018-04-10 14:41:52 -05:00
healther
8dac669a87 add package py-pygdbmi (#7711)
* add package py-pygdbmi

Change-Id: I9850ccecebb1d46e983cda39c371caab23ad61e9

* add runtime setuptools dependency (from distutils import)

* remove unnecessary run dependency
2018-04-10 14:35:26 -05:00
thecorkscrew
3bd74f1858 Added C-Lime Package (#7707)
* Added C-Lime Package

* Small fix
2018-04-10 12:05:05 -05:00
healther
f278f512cc add py-cython@0.28.1 (#7709)
Change-Id: I7e3931f8224a367ce1657256b3100139abcc4f86
2018-04-10 12:03:51 -05:00
healther
ab7e2a5c9e add py-flask@0.12.2 (#7710)
Change-Id: I51887f661e6dd896a9f740b51f4e81bdf532f9b4
2018-04-10 12:03:17 -05:00
healther
a59aef7c78 add package py-flask-compress (#7713)
* add package py-flaks-compress

Change-Id: Ia67f292364f339907c7c0a5bd707a7a1e69877be

* fix alignment

* linebreak to make flake8 happy
2018-04-10 11:58:35 -05:00
healther
431a3068b6 add package py-flask-socketio (#7714)
* add package py-flask-socketio

Change-Id: Ib9bb41b9c3de06f07ffb47449edf02476827b610

* fix alignment

* add missing werkzeug dependency
2018-04-10 11:57:06 -05:00
peetsv
f8765593e0 Perl file copy recursive 0.40 (#7718)
* perl-file-copy-recursive: add newer version v0.40
2018-04-10 11:48:02 -05:00
Adam J. Stewart
eac2defed5 Add latest versions of libxcb and xcb-proto (#7650) 2018-04-10 11:47:02 -05:00
Adam J. Stewart
69f94f18a3 Fix GCC 6/7 build on APFS (#7696) 2018-04-10 11:46:44 -05:00
lingnanyuan
ecc481a9a7 fermi: Create new package. (#7702)
* fermi: Create new package.

* fermi: Add missing dependency.

* fermi: Change dependency type of perl to run.
2018-04-10 08:52:21 -05:00
lingnanyuan
dc8c8311c6 wgsim: Create new package. (#7674)
* wgsim: Create new package.

* fix flake8 error.

* wgsim: change cc compiler to spack_cc.

* add missing dependency.
2018-04-09 14:23:11 -05:00
Sinan
c1e3e5de5c new package "DSRC" (bioinformatics) (#7680)
* new package "DSRC" (bioinformatics)

* remove uncommented line

* get rid of unnecessary import

* convert to MakefilePackage class

* get rid of make() in install phase, remove spaces

* make flake8 happy!
2018-04-08 08:21:02 -05:00
Axel Huebl
2b0252ccb3 Add Package: nlohmann_json (#7690)
Adds a spack package for the JSON C++ library
  https://github.com/nlohmann/json
2018-04-07 11:00:00 -05:00
Axel Huebl
5c98b8bde5 Catch2: make install (#7668)
Add a proper install variant for Catch(2).

This allows to use Catch2 downstram with `pkg-config` and
CMake's `find_package` commands via standard environment hints.
2018-04-07 10:36:10 +02:00
peetsv
3bf863bb06 py-pyfaidx: adding new package (#7684)
* py-pyfaidx: adding new package

* updating the url
2018-04-06 20:07:35 -05:00
carns
e1856f3129 Darshan 3.1.6 (#7686)
* update darshan-util to 3.1.6, add bzip2 option

* add darshan-runtime 3.1.6
2018-04-06 16:49:07 -05:00
Eric Müller
58a57bf391 Fix build of xerces-c (#7611)
The build requires libiconv (but it doesn't find it when not providing
LDFLAGS).
2018-04-06 15:46:47 -05:00
Sergey Kosukhin
c328c667c0 Package 'serf': link to the spack provided zlib installation. (#7667) 2018-04-06 15:44:39 -05:00
lingnanyuan
fa3edd4af0 hapdip: Create new package and its dependency k8. (#7685)
* k8: Create new package.

* hapdip: Create new package.

* Change description.
2018-04-06 15:40:58 -05:00
lingnanyuan
27b1069e0c readfq: Create new package. (#7673)
* readfq: Create new package.

* fix flake8 error
2018-04-05 17:23:25 -05:00
Adam J. Stewart
bde69177be Don't prepend Tcl/Python to PATH if in system directory (#7677) 2018-04-05 14:39:05 -07:00
healther
a63450bc45 add package py-discover (#7671)
Change-Id: I67b9e4eb4dfd3a962b7fe8840f5eb012fcd009cc
2018-04-05 09:18:07 -05:00
peetsv
ceab7e5f54 rsync: adding version 3.1.3 (#7669) 2018-04-04 18:13:50 -05:00
healther
6a0f9ccf82 make view understand hashes (#7573)
Fixes #7548

This updates the "spack view" command to use the same parsing logic
as "spack install" on the user-provided specs. For example you can
provide a DAG hash to refer to an exact installed spec instead of
specifying name, compiler, etc.
2018-04-04 10:40:56 -07:00
Denis Davydov
3f14212ded octopus: add 7.3 (#7666) 2018-04-04 16:35:03 +02:00
Massimiliano Culpo
79251dde40 mvapich2: added version 2.3rc1 + variant to use alloca if available (#7595)
* mvapich2: added version 2.3rc1 + variant to use alloca if available

* mvapich2: removed version 1.9 + cleaned recipe
2018-04-04 09:41:37 +02:00
Adam J. Stewart
c50628ebdf Fix bug in test_find_with_globbing unit test (#7652) 2018-04-03 22:27:17 -07:00
Zack Galbreath
f613437a44 Do not call sys.exit() in except block (#7659)
When an invalid spec is encountered by `parse_specs()` we now raise a
`SpackError` instead of calling `sys.exit()`
2018-04-03 22:22:28 -07:00
lingnanyuan
b1a5764956 soapdenovo-trans: Create new package. (#7649)
* soapdenovo-trans: Create new package.

* change header

* soapdenovo-trans: change package type to makefile.

* soapdenovo-trans: fix flake8 error.
2018-04-03 17:46:25 -05:00
Denis Davydov
338fa8d7d6 fix dealii dependencies for Clang 9.1.0 C++17 (#7644)
* fix boost and muparser for Clang 9.1.0 with C++17

* muparser: add C++11 flags

* dealii: temporary disable python by default

* dealii: make CMake find right python
2018-04-03 10:15:09 -05:00
Matthias Diener
17ace14751 lsof: create new package (#7660) 2018-04-02 21:29:19 -05:00
Howard Pritchard
32c8237256 Open MPI: add 3.0.1 (#7661)
Open MPI 3.0.1 bug fix release is out the door!

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2018-04-02 19:22:59 -05:00
Robert Pavel
a759fcf33e Current versions of kokkos conflict with hwloc 2.x (#7654)
* Current versions of kokkos conflict with hwloc 2.x

Current versions of kokkos cannot build with hwloc v2.x due to changes
in the associated structs. Requiring v1.11.9 for the time being
until it becomes clear what the kokkos model will be

* Explicitly commenting fix for posterity

Explicitly commented version number of hwloc dependency for kokkos for
posterity purposes and to pass code coverage for speedy merging

* Generalized Kokkos's Hwloc Dependency

Generalized dependency to v1.x of hwloc

* Fixed Flake8 issue

Fixed comment to conform to flake8

* Fixed ordering for Version Requirements

Fixed ordering to indicate <= 1.11.9, not >1

* Generalized kokkos dependency
2018-04-02 19:22:46 -05:00
Yifan Zhu
d9e057842a r-flexclust: new package (#7656) 2018-04-02 16:29:59 -05:00
Yifan Zhu
9d8ab78b32 r-gss: new package (#7655) 2018-04-02 16:29:20 -05:00
Adam J. Stewart
cdefbd7475 Avoid double 'lib' for packages whose name already starts with lib (#7651) 2018-03-31 17:33:41 +02:00
David Orman
5106efe495 Features/pindel (#7619)
* added htslib 1.7 and checksum

* pindel:  added new package pindel

* pindel: added package pindel

* removed py-pybind11 edit

* made flake8 happy

* fixed additional flake8 errors

* added comments about Makefile2 and removed FIXME template section

* spelling
2018-03-31 10:24:47 -05:00
David Orman
c032b2d9db Features/py breakseq2 (#7642)
* added htslib 1.7 and checksum

* py-breakseq2: new package!!!!

* py-breakseq2: fixed whitespace

* py-breakseq2: added additional dependencies

* py-breakseq2: fixed build/run  depends

* py-breakseq2: added additonal dependencies
2018-03-31 10:24:16 -05:00
healther
42c14e0fdb Fix build of boost@:1.58.999 +python (and +mpi) (#7630)
* explicitly specify user-config.jam as it isn't found
  via the environment variable on older boost versions
  (cf. what debian/rules does)
  => fixes +mpi build
* fix "error: Ambiguous key" error on :1.58.999 boost
  (cf. https://github.com/boostorg/boost/blob/boost-1.59.0/bootstrap.sh#L357)
2018-03-31 07:36:56 -05:00
Aaron Fisher
b62ed20f3f CEED 1.0 (#7423)
* ceed bundle package including OCCA, MAGMA, Nek5000, mfem, and PETSc

Very preliminary, a lot of ad hoc decisions, fragile, missing functionality
All packages do build on my MacOS laptop with Cuda

Funded-by: ECP
Project: CEED
Time: 4 hours
Reported-by: Tzanio Kolev <kolev1@llnl.gov>

* Some adjustments in a few CEED-related packages.

This is still very preliminary, but with these changes I'm able to build from
scratch on a Mac laptop and a Linux desktop (RHEL7).

Note that there doesn't seem to be a good way to support CUDA in Spack, so
you'll have to install that manually yourself. You will also need a Fortran
compiler, in particular on a Mac where you also have to make sure that it
is being picked up in ~/.spack/darwin/compilers.yaml.

* ceed bundle package including OCCA, MAGMA, Nek5000, mfem, and PETSc

Very preliminary, a lot of ad hoc decisions, fragile, missing functionality
All packages do build on my MacOS laptop with Cuda

Funded-by: ECP
Project: CEED
Time: 4 hours
Reported-by: Tzanio Kolev <kolev1@llnl.gov>

* Reverting Mac-related CUDA checks in the OCCA and MAGMA packages.

A much better solution is to install CUDA manually and add it to
~/.spack/darwin/packages.yaml:

packages:
    cuda:
        paths:
            cuda@8.0.54: /usr/local/cuda

* Fix flake8 warnings

Funded-by: CEED
Project: CEED/Spack

* remove unneeded commented out code

Funded-by: CEED
Project: CEED/Spack

* Don't have PETSc use MUMPS to speedup install time, try parallel installs for Magma

Funded-by: CEED
Project: CEED/Spack

* Added libceed package and made changes to get the ceed metapackage up and running.

* Get the ceed package up and running and added installing the .h file in the libceed package.

* All packages are now pointed at specific versions (either tagged or git hashed.

* Changed some of the specific versions in the CEED metapackage.

* Some version updates.

* Applied Cameron Smith's patch for the latest pumi.

* Merge

* Nek5000: Use tarball instead of git tag

* Major update of the mfem package - needs more testing. Add a testing
shell script for mfem, test_builds.sh, in the mfem directory. It builds
a number of mfem configurations to ensure they all work.

Add 'suite-sparse' variant to petsc.

Add 'develop' version of libceed.

Add 'metis' variant of laghos.

Update the dependencies of ceed.

* Changes in petsc's handling of zlib to make the latest build work on Mac.

* [MFEM] When using '+libunwind', mfem needs '-ldl'.

* [OCCA] Remove debug print statements.

* [PETSc] Replace the check ('zlib' in spec) with ('+zlib' in spec) - the
latter checks if 'zlib' variant of petsc is enabled which is incorrect;
the former checks if petsc is configured to depend on 'zlib'.

* [MFEM] Add conduit variant.

* [libCEED] Enable testing using 'make prove'.

* [MFEM] Tweak test_builds.sh - all builds pass on fedora 27.

* Add a post install test

* Add a post installation check for NekCEM

* pumi: bump git hash, remove unused patch

* Fixed testing of Laghos package

* Adding variants in CEED package

* Empty file for URL didn't work on LLNL/LC. Replacing with bundle-package.txt -> README.md.

* [MFEM] If the spec defines the 'cxxflags' compiler flags, use that value
to set the CXXFLAGS value in the mfem build system.

* Disabling HDF5 by default.

You can still build it with "spack install ceed+hdf5".

* libceed: fix use of prefix versus DESTDIR

* Added cuda variant for libCEED (off by default)

* [libCEED] When building v0.1, fix ceed.pc before installing it.

* [CEED] Add variants for OCCA and PUMI. Replace the hdf5 variant with
a variant called quickbuild that disables variants in packages to
speedup the build - currently hdf5, boost, and superlu-dist in PETSc.

* [libCEED] Remove unused 'import os'.

* [MAGMA] Add version 2.3.0.

* [OCCA] Major update of occa/package.py.

* [libCEED] Several improvements.

* [CEED] Use fixed versions for occa and libceed.

* [OCCA] Fix a bug in CUDA setup.

* NekCEM doesn't need depends_on('python')

* [OCCA,libCEED,MFEM,CEED] Update occa and libceed versions plus a few
tweaks in occa and mfem.

* Switching to gslib-1.0.2 to fix summitdev bug.

* [Nek5000] Use the Fortran 77 compiler instead of the 'fc' compiler.
Propagate any 'fflags' and 'cflags' specifications to the Nek tools.

* [MFEM] Tweak for 'ppc64le'.

* attempt to override fips compatibility error for md5

* Compiler option changes in libCEED to fix summitdev build.

* Disable the nekcem install test until it can be fixed.

* [NekCEM] Major update of the package to fix various issues.

* [NekCEM] Fix formatting

* zoltan: remove non-portable -g0 flag

the pgi compiler does not accept it

* pumi: specify dependency on cmake > 3

* [Nek5000] Add dependency on libx11 when needed. Various hacks to
support IBM XL compilers.

* [NekCEM] Link with the pthreads library - it is required.

* [MAGMA] Add a patch for magma v2.3.0 when building with gcc <= 4.8.
Add dependency on BLAS.

* [CEED] Update to magma 2.3.0. When building with gcc < 4.9 constrain
the used suite-sparse version to <= 5.1.0 - starting with v5.2.0,
suite-sparse requires gcc >= 4.9.

* Small updates

* [libceed, gslib] Fix style

* [Nek5000] Need 'libxt' as a dependency as well.

* [MUMPS] Temporary workaround for ray.

* Updating occa and libceed to laters pre-1.0.0 and pre-0.2 hashes

* petsc: add pkg-config patch for variable quoting

Variable definitions in pkg-config are processed more like make than a
shell, so don't need quoting.  Older versions of pkg-config (<= 0.28)
did not remove the quotes when printing the value.

Freedesktop #67904 (https://bugs.freedesktop.org/show_bug.cgi?id=67904)

Reported-by: Tzanio Kolev <kolev1@llnl.gov>

* petsc: add 3.8.4 and myself as co-maintainer

* Updating libceed to latest pre-0.2 hash.

* [PETSc] Add the 'headers' and 'libs' properties.

* [MFEM] Explicitly add rpaths to link flags for external packages.
This is necessary when MFEM's exported options (in config.mk) are
used outside of Spack for linking against MFEM.

* Unset MFEM_DIR before building MFEM

* [PETSc] As observed by @jedbrown, there is no need to define the 'libs'
property explicitly - the default handler works fine too.

* Build MAGMA shared by default, install a few additional headers

* Forgot a self

* Switching to OCCA tag v1.0.0-alpha.4.

Adding urls for OCCA and libCEED ('spack uninstall' complains otherwise).

* Removed FIXMEs for OCCA tag

* [occa] Cleaned up tagged versions

* [libceed] Updated occa to v1.0.0-alpha.5

* [ceed] Updated occa to v1.0.0-alpha.5

* [libCEED] Always define the 'NDEBUG' makefile option based on the
'debug' variant setting - this should always work regardless of the
default setting inside the libceed makefile.

* [MUMPS] Revert a temporary workaround.

* [CEED, libCEED] Minor tweaks.

* libCEED v0.2 release

* [CEED] Use version 0.2 of libCEED.

* [HPGMG] Remove duplicate version.

* [CEED] Update the hpgmg version

* hpgmg: use tarball for 0.3

The Git repository contains somewhat heavy documentation so the tarballs
are much faster.

* hpgmg: +fe was default for the 0.3 release

* hpgmg: explicitly name build directory to avoid use of ambient PETSC_ARCH

* [HPGMG] Fix flake8 formatting

* libceed@0.2: work around occaFree issue
2018-03-31 00:47:32 -07:00
Veselin Dobrev
b3f6015e32 Merge pull request #7532 from spack/v-dobrev/mumps-impovements
[MUMPS] Various improvements in the package
2018-03-30 18:13:28 -07:00
David Orman
87e2e66417 Features/mindthegap (#7648)
* added htslib 1.7 and checksum

* mindthegap:  New package
2018-03-30 15:21:14 -05:00
healther
d414d302f6 Fix log4cxx dependencies (#7570)
* Add ignore_conflicts to package activation

includes:
* with_dependency flag for do_activate
* ignore_conflicts flag for do_activate
* start of cleanup of activate cmd

* ensure that apr is picked up

* Update package.py

* add apr explicitly as dependency

* remove unnecessary newlines

* Update package.py

fixing dependencies
2018-03-30 14:58:08 -05:00
healther
9b5492ca19 add version 3.6.5 to python (#7643) 2018-03-30 12:20:16 +02:00
Matthias Diener
d71386cb53 ltrace: create new package (#7641)
* ltrace: create new package

* Update package.py

* Update package.py
2018-03-29 17:48:34 -05:00
Matthias Diener
9fa169baa6 strace: create new package (#7640) 2018-03-29 17:03:33 -05:00
Adam J. Stewart
499ed2385c Fix Python3 bug in tut (#7627)
* Fix Python3 bug in tut

* Revert URL change
2018-03-29 14:43:12 -05:00
Yifan Zhu
90c0c12f2a gurobi: new package (#7639)
* gurobi: new pacakge

* fixed flake8 errors
2018-03-29 14:42:36 -05:00
scheibelp
5e758b979e update tests: concretize mpileaks with gcc (#7635)
Fixes #7593

By default MacOS concretizes using the clang compiler. The unit tests
include a call to "spack spec mpileaks", which has elfutils as a
dependency; #7096 added a conflict in elfutils to avoid building
with clang, which lead to the MacOS unit tests to start failing.
This updates the concretization to force using gcc when concretizing
mpileaks.
2018-03-29 12:24:35 -07:00
Will Furnass
e4b5097375 Add Julia 0.6.2 + checksum (#7577) 2018-03-29 11:44:25 +02:00
Matthias Diener
1dc7b3d346 cmake: update package (#7633) 2018-03-29 11:36:55 +02:00
Howard Pritchard
cdd3f76bd1 libhio: add libhio package to spack (#7468)
spack brought out some configury/make issues with
libhio, so some patches come along for the ride.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2018-03-28 20:20:46 -05:00
Axel Huebl
4c6199923e mirrors.yaml: does not expand ~ (#7631)
Use `$HOME` for cli commands in `mirrors.yaml` and add
"username" example strings in the file itself.
2018-03-28 14:30:18 -05:00
Michael F. Herbst
fa7e92fa0a Update libcint versions (#7623) 2018-03-28 10:46:07 -05:00
Levi Baber
a6aa172072 gmap-gsnap: new version with numerous bug fixes (#7625) 2018-03-28 10:45:47 -05:00
Levi Baber
16f93464e7 R-snowfall: new package (#7464)
* r-snowfall: dep for phantompeakqualtools

* r-snowfall: fix version number

* r-snowfall: fix hash
2018-03-28 10:30:38 -05:00
Adam J. Stewart
4230c95093 Fix download URL for SCons and add latest version (#7614) 2018-03-28 10:29:44 -05:00
Michael F. Herbst
843e9f13a1 Add recent bohrium version (#7624) 2018-03-28 10:21:36 -05:00
Eric Müller
70a8219f92 Adds liblockfile (and patch to avoid need for root) (#7621)
* --enable-shared *additionally* builds shared libraries
  (and it builds fast, so no variant here)
2018-03-28 07:54:40 -05:00
Massimiliano Culpo
8e998247a3 openmpi: updated package (#7574)
Modifications:
* Added zlib dependency, starting from version 3.0.0
* Added memchecker support  for debugging
* Remove mpirun and similar links if slurm is selected as a scheduler
2018-03-28 10:13:56 +02:00
Denis Davydov
388bb2ab3e petsc: add 3.8.4 (#7616) 2018-03-27 17:41:17 -05:00
David Orman
b5c02a2145 added htslib 1.7 and checksum (#7617) 2018-03-27 17:40:57 -05:00
Nils Deppe
bac47ece70 Add Catch v2.2.1 and v1.12.1 (#7615)
Catch v1 and v2 are maintained independently since v2 requires C++11
support. Updating both to the latest.
2018-03-27 17:40:26 -05:00
Veselin Dobrev
b1628f0af1 [MUMPS] When building '+shared' put the 'inject_libs' after the object
files to get proper linking - this was needed on Ubuntu 14.04.
2018-03-27 14:31:00 -07:00
Patrick Gartung
52d55ea317 Fix buildcache relocate: only skip if rpaths are relative (#7605)
This fixes a check that decides when to skip buildcache relocation.
Originally the check was flawed in two ways: it would skip if the
source prefix matched the destination prefix, which no longer
matters since the source prefix is replaced with a placeholder
(so it always needs to be updated); it also would skip relocation
if the rpaths were not relative, when in fact it should be the
opposite (binaries without relative rpaths *should* be relocated,
and those without don't need it).
2018-03-27 10:54:26 -07:00
Leonhard Reichenbach
0d07be278a spades: fix build (#7608)
Version 3.11 works with gcc7
see: https://github.com/ablab/spades/issues/26
2018-03-27 07:22:34 -05:00
Yifan Zhu
d88f0b8e6d New package r-tidyverse and r-tidyselect (#6507)
* r-rlang: added version 0.1.4

* r-lubridate: added version 1.7.1 and dependency

* r-tidyselect: new package

* r-dplyr: added version 0.7.4

* r-rstudioapi: added version 0.7

* r-tidyr: added version 0.7.2 and other dependencies

* r-tidyverse: new package

* r-tidyr: updated dependencies

* r-tidyverse: added dependency r-rlang

* r-tidyverse: edited docstring

* r-tidyverse: fixed typo

* fix typo again
2018-03-26 14:27:12 -05:00
Eric Müller
28e49fa184 Add missing X-libs dependencies to vim+x (#7599) 2018-03-26 10:24:50 -05:00
Michael Kuhn
2a36c61d0f adios2: add support for Fortran bindings (#7600) 2018-03-26 16:16:38 +02:00
健美猫
658896a7a5 Remove pmi from the fabric list. (#7226) 2018-03-26 13:14:51 +02:00
Michael Kuhn
aeb73f958f zeromq: fix build (#7596)
pkg-config is also required for release versions.
2018-03-26 12:22:07 +02:00
Michael Kuhn
1aed76002a openssl: Add variant to use system certificates (#6396) 2018-03-26 12:20:55 +02:00
Massimiliano Culpo
a119a2d2d8 mpich: added version 3.2.1 (#7598) 2018-03-26 12:19:37 +02:00
Sinan
9f7dbd7f2d new package: Seqan (bioinformatics) (#7588)
* new package: Seqan (bioinformatics)

* add compiler requirements as conflicts

* fix typo

* add dependency types

* correct checksum
2018-03-25 08:50:17 -05:00
healther
9f07300982 fix outdated comments in config.yaml (#7594)
* `spack purge` now is `spack clean`
2018-03-25 08:49:55 -05:00
Adam J. Stewart
4332e75986 Various updates to Spack's Bash completion (#7590)
* Various updates to Spack's Bash completion

* Equals sign messes up tab completion
2018-03-25 08:03:29 -05:00
Massimiliano Culpo
dffd8f384c python: added a variant to enable PGO + using --with-icc if compiled with Intel (#7496)
Added a variant to enable default optimizations for production builds.
Uses --with-icc if built with Intel compilers.
2018-03-25 09:10:40 +02:00
健美猫
8890dbe3d9 Add a new packag: sofa-c. (#7470) 2018-03-24 20:51:02 +01:00
Todd Gamblin
54f97d1dec Update copyright on LLNL files for 2018. (#7592) 2018-03-24 12:13:52 -07:00
健美猫
756cb4e6d7 Add a new package: graph500. (#7499)
* Add a new package: graph500.

* Remove leading comments.

* graph500 is a MakefilePackage.

* Update.

* Update.
2018-03-24 11:48:31 -05:00
Todd Gamblin
af0f94a1af Avoid stat-ing all packages at startup. (#7587)
- FastPackageChecker was being called at startup every time Spack runs,
  which takes a long time on networked filesystems.  Startup was taking
  5-7 seconds due to this call.

- The checker was intended to avaoid importing all packages (which is
  really expensive) when all it needs is to stat them.  So it's only
  "fast" for parts of the code that *need* it.

- This commit makes repositories instantiate the checker lazily, so it's
  only constructed when needed.
2018-03-24 07:39:10 -07:00
Todd Gamblin
998b5a6482 Remove case consistency check at startup. (#7585)
- This was needed when we transitioned to all lowercase packages because
  git didn't handle case changes well on case-insensitive filesystems.

- Now it just adds extra stat calls to startup, and we check for
  all-lowercase package names in tests, so we'll remove it.

- people using really old versions of Spack can re-clone.
2018-03-23 22:38:31 -07:00
Mario Melara
385622953d Cray clean environment (#7582)
* Create unload_module method

Extract code from load_module into unload_module.

* Unload modules to create a clean env on Cray

removes cray-libsci, cray-mpich and darshan to prevent any silent
linking with those packages.
2018-03-23 14:53:52 -07:00
Adam J. Stewart
666e8e3a9b Increment Spack version (#7565) 2018-03-23 14:43:22 -07:00
becker33
1c169ead8b Grab crayos version from PrgEnv module versions (#7583) 2018-03-23 14:41:43 -07:00
Adam J. Stewart
5b810579fa Only add python flag for newer versions of glib (#7579) 2018-03-23 15:35:09 -05:00
Jon Rood
04358f827f Adding bc and ed packages. (#7578)
* Adding bc package.

* Adding ed package which is actually a dependency of bc.
2018-03-23 15:24:35 -05:00
xfzhao
9799e6062d beast1: new package (#7544)
* beast1: new package

* beast1: taking suggestion
2018-03-23 15:19:26 -05:00
Mario Melara
2970a50ef6 Add the ability to separate architecture in path scheme (#4329)
* Add format to separate target and os for path

spec format can now handle separations of target and os for setting
up the path.

* Added ${PLATFORM} et al to spec.format()

${PLATFORM}, ${OS}, ${TARGET}

* Update tests

Updated tests and got rid of unnecessary code.

* Also update documentation to reflect this new ability.

* Add default path scheme to config.yaml

Added default path scheme to config.yaml. Users can overwrite this
section if they want.
2018-03-23 12:05:07 -07:00
healther
1391f0db44 add matplotlib version 2.2.2 (#7572) 2018-03-23 14:40:18 +01:00
Denis Davydov
adf972e7ff intel performance libraries: add 2018.2 (#7569) 2018-03-23 13:49:59 +01:00
Federico Ficarelli
213a3de539 Fix tclsh command for transitive dependencies (#7566) 2018-03-23 10:05:54 +01:00
Alfredo Adolfo Gimenez
a37acfc1e9 Dyninst links broken, everything switched to github (#6066) 2018-03-22 20:29:17 -05:00
Veselin Dobrev
4ddbc96c7b Speedup the default 'libs' property search ... (#7553)
* Speedup the default 'libs' property search - important for external
packages.

* As advised by @alalazo, use tuples instead of lists inside
_libs_default_handler.
2018-03-22 20:04:28 -05:00
Matthias Diener
a0494003a2 mc: create new package (#7564)
* mc: new package

* Update package.py

* Update package.py

* Update package.py
2018-03-22 19:48:48 -05:00
Veselin Dobrev
3858d4a3a3 [hypre] add the 'headers' property (#7278)
* [hypre] Add the 'headers' property plus a small tweak in the 'libs'
property.

* [hypre] Add fallbacks for searching for '.libs' in 'prefix.lib64' and
in all of 'prefix'.

* [hypre] Fix style.

* [hypre] Use find_headers instead of find + HeaderList.
2018-03-22 19:43:23 -05:00
jthies
2e4378bcd0 added a new package file for PHIST (Pipelined, Hybrid-parallel Iterat… (#7361)
* added a new package file for PHIST (Pipelined, Hybrid-parallel Iterative Solver Toolkit)

* packages/phist: fix some formatting errors (too long lines etc)
and set allowed values for option "outlev"

* packages/phist: fix some more flake8 errors

* add headers  property to netlib-lapack and intel-mkl

* ghost: fix finding cblas header and libs (at least for mkl and netlib-lapack, which provide headers())

* added a new package file for PHIST (Pipelined, Hybrid-parallel Iterative Solver Toolkit)

* packages/phist: fix some formatting errors (too long lines etc)
and set allowed values for option "outlev"

* packages/phist: fix some more flake8 errors

* phist: use headers property to find lapacke include dir

* phist: fix flake8 error

* phist: be more specific about dependencies and update version

* phist: state trilinos minimum version when building with Tpetra kernels

* gmp: add oldish version 5.1.3 with checksum

* phist: get rid of the 'petsc+complex' variant, it can be installed by kernel_lib=petsc ^petsc+complex

* phist: new version

* phist: fix version checksum

* Revert "add headers  property to netlib-lapack and intel-mkl"

This reverts commit d8cb62905e.

* Revert "ghost: fix finding cblas header and libs (at least for mkl and netlib-lapack, which provide headers())"

This reverts commit d406a77ed7.

* phist: remove unused function

* phist: reorder package file versions/variants/depends_on/rest

* phist: some minor changes requested by @adamjsteward
2018-03-22 19:42:38 -05:00
Eric
9a3a9860df perl-json: Create new package (#7431) 2018-03-22 19:41:50 -05:00
Adam J. Stewart
666341599c Add py-cvxopt package (#7527)
* Add py-cvxopt package

* Flake8 fixes
2018-03-22 19:38:46 -05:00
Adam J. Stewart
1f23693877 Fix giflib unit tests on macOS/BSD (#7519)
* Fix giflib unit tests on macOS/BSD

* Unit tests occasionally fail when run in parallel
2018-03-22 19:38:17 -05:00
Adam J. Stewart
f721fb3e4c Fix error raising during install with Python 3 (#6894)
* Fix error raising during install with Python 3

* Fix env_path too
2018-03-22 19:37:49 -05:00
Adam J. Stewart
32a78eae73 Add latest version of MPFR and patches for older versions (#7545)
* Add latest version of MPFR and patches for older versions

* Fetch and checksum patches instead of storing them

* Fix bug, version attribute was being overridden
2018-03-22 19:37:01 -05:00
Sinan
8d4ef999d7 package/py-pyutilib: create new package (#7555) 2018-03-22 21:49:07 +01:00
Gregory Lee
be3f08d0de llvm+python+lldb depends on py-six for versions 5 and up (#7056) 2018-03-22 15:42:41 -05:00
Massimiliano Culpo
0d7652c508 Used names with __ in class level constructs to avoid rebinding (#7563)
fixes #3129
2018-03-22 15:41:55 -05:00
Adam J. Stewart
06e1fdb237 Add latest version of MPC (#7546) 2018-03-22 21:10:58 +01:00
Adam J. Stewart
9c0fb6ccee Add latest version of ISL (#7547) 2018-03-22 21:09:43 +01:00
Sinan
5e7fc91d8a add versions 1.9.6 1.9.7 (#7562) 2018-03-22 21:07:34 +01:00
Massimiliano Culpo
5655895865 Record installation date and time in DB (#7334)
* Added installation date and time to the database

Information on the date and time of installation of a spec is recorded
into the database. The information is retained on reindexing.

* Expose the possibility to query for installation date

The DB can now be queried for specs that have been installed in a given
time window. This query possibility is exposed to command line via two
new options of the `find` command.

* Extended docstring for Database._add

* Use timestamps since the epoch instead of formatted date in the DB

* Allow 'pretty date' formats from command line

* Substituted kwargs with explicit arguments

* Simplified regex for pretty date strings. Added unit tests.
2018-03-22 11:07:27 -07:00
Massimiliano Culpo
6699ba8769 Recover the old patching order for packages. (#7558)
fixes #7543

This is very likely an hot-fix, while a more permanent solution is
needed. See this comment for more insight:

 https://github.com/spack/spack/pull/7193#discussion_r176448831

on the problem.
2018-03-22 10:09:43 -07:00
Levi Baber
c8a8079c34 meme: fix errors (#6736)
* meme: added perl-xml-parser dependency, resolved issue. still need to fix ghostscript or image-magick, conversion not working.

* meme: fixed issue with libxslt/libxml2 conflict, and added imagemagick support

* meme: removing libxslt/libxml2 dependency lines

* meme: configure args

* meme: separating configure args

* meme: removing a comment, and hoping for travis to rebuild. site seems back up.

* meme: make image-magick optional

* meme: add comment referencing PR

* meme: bah flake8
2018-03-22 12:06:24 -05:00
Federico Ficarelli
9280eba214 tcl-tclxml: new package (#7557) 2018-03-22 07:36:59 -05:00
Adam J. Stewart
aa84ddffed Add latest version of eigen (#7530)
* Add latest version of eigen

* Fix bug in ptscotch detection
2018-03-22 07:25:26 -05:00
Federico Ficarelli
e71681458b tcl-tcllib: new package (#7481) 2018-03-22 06:35:37 +01:00
becker33
f8657e3fd9 Propagate architecture information during concretization (#7412)
This updates architecture concretization to

* Search for the nearest parent in the DAG for architecture information
  rather than defaulting to the root of the DAG
* Propagate architecture settings transitively, such that if for
  example the target is set at the root of the dag it will set the
  same target on indirect dependencies (assuming no intermediate
  dependency specifies a separate target). Previously this occurred
  in general but under some conditions did not, for example if an
  intermediate dependency specified some subset of architecture
  properties.
2018-03-21 18:14:01 -07:00
Veselin Dobrev
6f0472ea87 [MUMPS] Remove the injection of rpath_args through the inject_libs
variable. This should happen automatically through the Spack compiler
wrapper.
2018-03-21 17:55:04 -07:00
Michael Sternberg
726c7e0f06 Opt avx (#7486)
* Promote to Autotools for simplicity; broaden Intel CPU opt targeting from SSE4.2 to AVX2

* make Intel CPU opt targeting same as in ../libxc

* flake8 W291

* use canonical means to pass (ahem) the test phase, h/t @adamjstewart

* revert f25d598 (unrelated merge)

* re-merge
2018-03-21 19:53:19 -05:00
Leonhard Reichenbach
973a131dac Add latest versions of bazel (#7542)
* Add latest versions of bazel

* Added java as dependency to run bazel
2018-03-21 19:52:28 -05:00
Eric Müller
f5afc98cc2 libXi requires pkgconfig and fixesproto (#7480) 2018-03-21 19:51:58 -05:00
Levi Baber
b0ecd0fd0b py-pybedtools: fix hash for 0.6.9 (#7492) 2018-03-21 19:51:34 -05:00
Levi Baber
383c2aa2d6 Singularity: new version (#7551)
* singularity: new version

* singularity: hash
2018-03-21 19:50:53 -05:00
Eric
81dcd1b33a perl-module-implementation: Create new package (#7549) 2018-03-21 17:16:24 -05:00
Julien Adam
a81ebfc2ba New Package: jchronoss (#7207)
* New Package: jchronoss

* jchronoss: Fix flake8 errors

* jchronoss: Fix according to recommendations

* jchronoss: Remove FIXME

* jchronoss: Fix another flake8 error
2018-03-21 16:56:20 -05:00
lingnanyuan
a2b885d0ba r-dirichletmultinomial: Create new package. (#7227)
* r-dirichletmultinomial: Create new package.

* Change description.

* Change description.
2018-03-21 16:55:35 -05:00
scheibelp
6548f2db5c Enable creation of mirrors for systems with different compilers (#5153)
* Create mirror for system with different compilers

Spack concretizes the spec provided by the user in
"spack mirror create" to ensure downloading the right
dependencies. Under normal circumstances concretization
requires that the chosen compiler exists on the system,
but this is not required when creating download mirrors
for other systems, so this requirement is removed in that
case.

* Add test for disabling compiler existence check

* Update compiler existence checking logic

* improve test for disabling compiler existence check
2018-03-21 14:55:26 -07:00
Eric
88fb67768d py-python-levenshtein: Create new package (#7426)
* py-python-levenshtein: Create new package

* py-python-levenshtein: fix flake8 errors

* py-python-levenshtein: Use pypi.io per packaging guide
2018-03-21 16:54:51 -05:00
Eric
08f3ebf859 perl-cairo: Create new package (#7432)
* perl-cairo: Create new package

* perl-cairo: Add cairo dependency
2018-03-21 16:54:25 -05:00
Levi Baber
5e8370e093 bamutil: needs zlib (#7444) 2018-03-21 16:53:55 -05:00
Sinan
6c23b82d6b package/JAGS: new version (4.3) (#7456)
* package/JAGS: new version (4.3)

* fix typo

fix typo
2018-03-21 16:53:11 -05:00
Levi Baber
720a4854c2 pandaseq: needs bzip and libtool as link (#7465) 2018-03-21 16:52:46 -05:00
Jon Rood
de52c175de Using self.prefix in Trilinos to avoid global name prefix undefined bug (#7478)
* Using self.prefix in Trilinos to avoid global name prefix undefined bug during module refreshing.

* Fixing flake8 errors.
2018-03-21 16:52:08 -05:00
Howard Pritchard
f59a447f71 Open MPI: add 2.1.3 (#7535)
note the libmpi.so itself didn't have changes, only other
components of the package had updates.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2018-03-21 16:49:31 -05:00
Denis Davydov
75c9083139 suite-sparse: add cmake dependency (#7538) 2018-03-21 16:49:01 -05:00
健美猫
71055a8ef4 Generate spack docset for Dash. (#6981) 2018-03-21 16:37:26 -05:00
Gregory Lee
7504e9997d make py-setuptools a run-time-only dep for py-basemap and patch pytho… (#6989)
* make py-setuptools a run-time-only dep for py-basemap and patch python package to only apply setuptools flag for build deps

* py-qtconsole does not require setuptools
2018-03-21 16:34:27 -05:00
Yifan Zhu
55f4bbb111 snphylo: new package (#7045)
* pushing partially done recipe for snphylo

* r-snphylo: try

* phylip: added version 3.697

* snphylo: updated package.py

* snphylo: flake8 error fixed
2018-03-21 16:21:55 -05:00
scheibelp
e8a0637606 Support MD5 with a warning when OpenSSL is compiled in FIPS mode (#7531)
* This allows Spack to work with MD5 hashes on machines with openssl in FIPS mode.
* We are still using MD5 for validation in many places, and a later PR will replace all uses of MD5 with SHA256.
* This is a quick fix until that happens.
2018-03-21 14:11:54 -07:00
Geoffrey Oxberry
6127b02324 elfutils: document conflict with clang (#7096) 2018-03-21 16:00:49 -05:00
Mark W. Krentel
154401de76 intel-xed: new package (#7106)
* intel-xed: new package

The Intel X86 Encoder Decoder library for encoding and decoding
x86 machine instructions.

* intel-xed: style fixes for flake8.

* intel-xed: better style fix

* intel-xed: update to version 2018.02.14, add PYTHONPATH for
building with python 3, cleanup the opt flag.
2018-03-21 14:39:06 -05:00
lpoirel
9d2fce4544 scotch%intel: remove restrict (#7148)
The restrict compilation option with icc causes deadlock when multithreading is used. This issue has already been reported to the Scotch development team, but for current versions it is more reliable not to use the restrict compilation option.
2018-03-21 14:22:50 -05:00
Geoffrey Oxberry
935cc30c17 librom: new package (#7180)
* libtool: actually do symlinking correctly on darwin

Version 4 of the libtool/darwin debacle:

AutotoolsPackage hardcodes libtool & libtoolize into the autoreconf
stage, so the commands `libtool` and `libtoolize` MUST be present, and
shimming in glibtoolize into AutotoolsPackage when sys.platfrom ==
'darwin' does not work.

join_path(spec['libtool'].prefix.bin, 'libtool') still shadows system
BSD libtool (in apple-cctools, see PR #7177), but this shadowing could
be okay, depending on the combination of dependent specs.

* librom: new package
2018-03-21 14:16:36 -05:00
Eric
e07ed2ab97 py-backports-functools-lru-cache: add version 1.5 (#7206)
* py-backports-functools-lru-cache: add version 1.5

* py-backports-functools-lru-cache: fix conflicts
2018-03-21 14:09:55 -05:00
Jon Rood
3d7930a379 Adding unzip package. (#7446)
* Adding unzip package.

* Removing bzip2 dependency in unzip and raising an error when on Cray.

* Fixing error.

* Using conflicts statement for Cray detection in unzip package.
2018-03-21 13:59:39 -05:00
lingnanyuan
011d407132 Xorg-server: Add dependencies and fix installation. (#7220)
* xorg-server: Add several dependencies.

* libepoxy: Add dependendies mesa and meson.

* mesa: Add dependencies for hwrender.

* mesa: undo some changes.
2018-03-21 13:53:26 -05:00
Eric Müller
647c4a1507 py-py{gobject,gtk} require pkgconfig for build (#7380) 2018-03-21 13:22:08 -05:00
scheibelp
849078e95a remove cray-specific path modifications from pkgconfig providers (now handled in cray platform) (#7406) 2018-03-21 13:20:40 -05:00
Gregory Lee
500ac793bc patch config.guess for ARM (aarch64) (#7427) 2018-03-21 13:13:38 -05:00
Levi Baber
29e429e525 orfm: needs zlib (#7466) 2018-03-21 12:55:47 -05:00
Eric
64f15957ce new package: perl-module-runtime (#7494) 2018-03-21 10:35:28 -07:00
peetsv
71802a57cf VMD-python v2.0.10 - new package (#7490)
* VMD-python v2.0.10 - new package

* removing extraneous comments

* flake8 error - trailing blank lines removed
2018-03-21 11:08:58 -05:00
Leonhard Reichenbach
8c9a5a95d8 Add latest version of patch (#7539) 2018-03-21 08:16:41 -05:00
健美猫
9b1d69c934 A new package: wcslib. (#7463) 2018-03-20 22:16:55 -05:00
jthies
35e7b9ac44 Ghost as cuda package (#7501)
* add headers  property to netlib-lapack and intel-mkl

* ghost: fix finding cblas header and libs (at least for mkl and netlib-lapack, which provide headers())

* fix flake8 errors

* ghost: remove unnecessary query parameter

* fix flake8 errors

* ghost: make it a CudaPackage (as suggested by @davydden, thanks!)

* ghost: missing whitespace
2018-03-20 11:23:45 -05:00
Denis Davydov
ed4640c75b alglib: fix on Darwin (#7534) 2018-03-20 08:33:14 -05:00
Peter Scheibel
6458b15bb1 spec: support "full" hashes
This hash includes the content of the package itself as well as the DAG
for the package.
2018-03-20 00:29:54 -07:00
Peter Scheibel
3501f2f4b5 package: add a content_hash method for packages
This calculates a hash which depends on the complete content of the
package including sources and the associated `package.py` file.
2018-03-20 00:29:54 -07:00
Peter Scheibel
e97c28e5b3 package: ensure patches are applied in-order
This helps to ensure that patches are applied consistently and will also
be used as the source for the patch part of full package hashes.
2018-03-20 00:29:54 -07:00
Peter Scheibel
2379ed54b9 package_hash: add code to generate a hash for a package file
This will be included in the full hash of packages.
2018-03-20 00:29:54 -07:00
Peter Scheibel
db81d19ddd PackageBase: add a list of metadata attributes
These attributes are ignored when doing a content hash of a package.
2018-03-20 00:29:54 -07:00
Peter Scheibel
39cb9d0397 fetch_strategy: add a source_id to fetches
This will be included in the full hash of packages.
2018-03-20 00:29:54 -07:00
Adam J. Stewart
6058cc1770 Add latest version of py-setuptools (#7523) 2018-03-20 07:18:20 +01:00
Adam J. Stewart
c11b46ae99 Add DSDP package (#7526) 2018-03-20 07:08:18 +01:00
Veselin Dobrev
ae795d8184 [MUMPS] Various improvements in the package.
* Fix a bug when checking for 'xl' or 'xl_r' compiler.
* Add support for parallel build - the 's', 'c', 'd', and 'z' targets
  are build separately allowing parallel builds.
* When build '+shared', inject all dependencies into the link lines of
  the mumps libraries.
* Run the examples only when installing with the '--test' Spack option.
2018-03-19 15:57:03 -07:00
Axel Huebl
106827db03 pocl: fix spec (#7461)
It seems there has been a change in concretization that resulted in
a request for a llvm latest (5.0.1) while not satisfying the later
more precise request for a version.

Remove the first line and only rely on the last.
2018-03-19 16:44:01 -05:00
Eric
4ea0c16f36 picard: Add version 2.18.0 (#7528) 2018-03-19 16:21:04 -05:00
Adam J. Stewart
869cb69985 Add latest version of SuiteSparse (#7525) 2018-03-19 16:19:44 -05:00
Massimiliano Culpo
c14c0d8e74 python: dbm module + version 3.6.4 (#7520)
A build of python@3.X had the following in the logs:
```
The necessary bits to build these optional modules were not found:
_dbm                  _gdbm                 _tkinter
```
As Tkinter is already a variant, we adopt the same strategy for dbm.
2018-03-19 22:19:26 +01:00
Adam J. Stewart
3874871512 Add latest version of py-six (#7524) 2018-03-19 16:19:19 -05:00
Adam J. Stewart
aea0b84e90 Add latest version of py-packaging (#7522) 2018-03-19 16:19:05 -05:00
Adam J. Stewart
a84cfb9ad4 Add latest version of GLPK (#7521) 2018-03-19 16:18:42 -05:00
Federico Ficarelli
72fae99a9e modern-wheel: new package (#7514)
#Fix imports
2018-03-19 10:43:22 -05:00
Adam J. Stewart
2e9f158a79 Add latest version of libjpeg-turbo (#7518) 2018-03-19 10:41:37 -05:00
Adam J. Stewart
9e4bd6267f Add latest version of libjpeg (#7517) 2018-03-19 10:41:17 -05:00
Adam J. Stewart
967194ce26 Add latest version of libpng (#7516) 2018-03-19 10:40:56 -05:00
Adam J. Stewart
bb591e675c Add latest version of nasm (#7515) 2018-03-19 08:50:02 -05:00
Massimiliano Culpo
b2822b2582 glib: updated package and fixed issues with dtrace (#7493)
fixes #6965
closes #6968
2018-03-19 06:38:42 +01:00
Jimmy Tang
ba1b3fdc9d Update the patches to work with bazel 0.9.0 (#7013)
Some code got moved around so the patches needed to be updated
2018-03-18 08:53:57 -05:00
Hans Pabst
e61b239a8a LIBXSMM 1.9 (#7495) 2018-03-17 18:29:17 -05:00
jthies
e064927fab gmp: add oldish version 5.1.3 with checksum (#7510) 2018-03-17 18:22:42 -05:00
Eric
5a04ad1273 py-multiqc: Add version 1.5 (#7506) 2018-03-17 18:22:12 -05:00
Massimiliano Culpo
49feddf71e py-performance: added package (#7500) 2018-03-17 20:33:13 +01:00
Massimiliano Culpo
e1290b438b hwloc: constrain dependency on numactl (#7509)
fixes #7505
2018-03-17 18:18:35 +01:00
Massimiliano Culpo
cf4b3f2af6 hwloc: updated package (#7483)
This includes:

* Added latest available versions (1.11.9, 2.0.0)
* Added variants to enable graphical output from lstopo
* Enabled build of the bundled netloc package if @2.0.0:
* Added dependency from numactl if @:1.11.9
* Added a constraint to avoid using  hwloc@2.0.0 with openmpi
2018-03-15 10:16:33 +01:00
Robert Pavel
30b8dfbeba Added Tagged Release of ExaMiniMD (#7485) 2018-03-14 18:37:21 -06:00
Michael Kuhn
423f2341bc cube: Fix qt detection (#7242)
cube's configure only recognizes qt versions with single digit version
components and breaks with qt 5.10. Patch the configure files directly
to avoid having to regenerate them.
2018-03-14 09:01:11 +01:00
Levi Baber
1cde74656b phylip: new version (#7467) 2018-03-14 08:56:15 +01:00
Sinan
e378044f16 postgresql: add newest version 10.3 (#7455) 2018-03-14 08:54:02 +01:00
Federico Ficarelli
b5879d7d07 Fix extends('tcl') environment (#7473) 2018-03-14 07:02:50 +01:00
Matthias Diener
73dd58b68a Xterm: Fix URL (#7476) 2018-03-14 06:58:42 +01:00
Kelly (KT) Thompson
86f9c9fc73 Provide new package: mscgen. (#7477)
Mscgen is a small program that parses Message Sequence Chart descriptions and
produces PNG, SVG, EPS or server side image maps (ismaps) as the output.

See http://www.mcternan.me.uk/mscgen/
2018-03-14 06:56:11 +01:00
Yifan Zhu
5bd8ec8160 r-tfbstools: new package (#7243) 2018-03-13 12:40:41 +01:00
Stephen McDowell
6f76c2124a llvm 6.0.0 released as stable (#7459)
Relase notes: http://releases.llvm.org/6.0.0/docs/ReleaseNotes.html
2018-03-13 11:34:19 +01:00
Cyrus Harrison
f8d3a0225f add an option to build tbb statically (#7407) 2018-03-13 08:08:02 +01:00
f-sim
1329f3baca Fix dependency conflict in FEniCS. (#7404) 2018-03-13 08:04:09 +01:00
Federico Ficarelli
b594f89d5e Treat tcl as extendable (#7410)
* Make tcl package extendable

* Let tk extend tcl

* Fix environment for Tcl extensions
2018-03-13 10:31:03 +09:00
Todd Gamblin
b4a9e37a98 Fix bugs in spack dependencies command (#7435)
- transitive dependencies were not being handled correctly

- restructure code to do recursion and mark visited packages properly

- add `-V` option to *not* expand virtuals in spack dependencies
2018-03-12 17:26:58 +09:00
Massimiliano Culpo
a1c8ce82f2 Constructing a SpecBuildInterface from another gives no inconsistent MRO (#7457)
fixes #7239
2018-03-12 17:07:08 +09:00
Denis Davydov
a4ed76c207 arpack-ng: add develop (#7458) 2018-03-12 09:06:37 +01:00
Levi Baber
39bfa12f22 astral: needs zip (#7443) 2018-03-10 10:56:59 +09:00
Patrick Gartung
82aa54151a Fix bug in lua package instroduced by PR #7434 (#7450)
Fixes issue #7449
2018-03-09 16:57:46 -08:00
Levi Baber
3945b2adb4 Augustus hash (#7447)
* augustus: 3.3 package hash changed

* augustus: bamtools libraries now seem to be in lib64

* augustus: fix lib problem with older bamtools
2018-03-09 16:05:39 -08:00
Patrick Gartung
a4e75c7f0e spack buildcache: allow unsigned tarballs (#7440)
This re-adds the option to create and install unsigned tarballs, now
with the -u option (--unsigned) rather than the -y option.

This also changes the "keys" command, replacing the -y/--yes-to-all
option with the -t/--trust option (which has the same effect but is
more-clearly named).
2018-03-09 15:29:10 -08:00
Levi Baber
38bb0e3e7d resource: convert symlink to real path (#7417)
Fixes #7130

shutil.move expects a source path like "/x/y/" to be a directory and
fails if "/x/y" is a symlink. This invokes realpath on the source
path to avoid the issue.
2018-03-09 12:40:57 -08:00
sknigh
9d3d7d3216 new package: tcptrace (#6993)
Also added missing deps for libpcap: bison and flex
2018-03-09 10:46:57 -08:00
Levi Baber
1eeb918f0d new package: cistem (#7438) 2018-03-09 10:19:10 -08:00
Eric
d2f0e57771 new package: py-bcbio-gff (#7129) 2018-03-09 10:14:53 -08:00
Eric
2f97aea4e4 new package: deconseq-standalone (#7290) 2018-03-09 10:13:41 -08:00
scheibelp
f27f20e5b3 replace dash with underscore in os name/version (#7381)
Fixes #7356

In some cases OperatingSystem (e.g. LinuxDistro) was getting
instantiated with a version that contains dashes. This breaks because
the concretizer later converts this value to a string and re-parses
it, and the '-' character is used to separate architecture components.
This adds a guard in the initializer to convert '-' to '_'.
2018-03-09 10:03:58 -08:00
Axel Huebl
869c654c37 Boost: More Bintray (#7389)
There are two additional releases moved to bintray.
Change to bintray for 1.64 and 1.65 as well since SF downloads are
too instable.
2018-03-09 09:57:41 -08:00
Federico Ficarelli
8ad40babd6 cmake: new version (#7429) 2018-03-09 09:18:58 +01:00
Yifan Zhu
b6440fd10e r-cner: new package (#7228) 2018-03-09 08:36:26 +01:00
Patrick Gartung
331f5f27eb lua package: add lib64 to LUA_PATH and LUA_CPATH (#7434)
This is needed when using system lua on RHEL and clones where lua
is installed in /usr/lib64. Note that the path entry for lua in
packages.yaml should specify the major/minor version of lua (since
this is used to calculate the lua lib directory)
2018-03-08 20:18:55 -08:00
Michael Kuhn
74bb15285b json-c: Update to 0.13.1 (#7419)
* json-c: Update to 0.13.1

0.12.1 does not compile with GCC 7.

* json-c: Add patch to make 0.12.1 build with gcc 7
2018-03-08 14:25:29 -08:00
jthies
bcde37633d Added new package: ghost (#7362) 2018-03-08 11:16:51 +01:00
Brock Palen
732432df50 hoomd-blue version bump and compiler updated (#7021)
updated hoomd-blue to latest tagged release in repo.  This version also supports newer gcc6 compilers, so added constraint for older version to avoid breaking existing installs.
2018-03-08 09:35:59 +01:00
zenln
ad183f652f Added compiler conflict to prank (#7168) 2018-03-08 08:47:46 +01:00
Kelly (KT) Thompson
ac7fef3253 Help newer versions of trilinos/zoltan2 successfully configure. (#7059)
+ Newer versions of zoltan2 are doing test compiles that link to parmetis.  If
  these checks don't find `metis.h`, the check fails.
+ This small tweak ensures that the zoltan2 configure step can find `metis.h`
  that is provided by spack.
2018-03-08 08:39:35 +01:00
Yifan Zhu
66c46ae655 New package r-phangorn and its dependencies (#7034) 2018-03-08 08:30:02 +01:00
Levi Baber
98808196cb star: needs zlib (#7418) 2018-03-08 08:27:41 +01:00
Yifan Zhu
64f1fbb2e2 dislin: new package (#7305) 2018-03-08 06:38:17 +01:00
Robert Pavel
1cf451b62c Generalized ExaSP2 Install (#7422)
Generalized ExaSP2 Install to use glob due to changes in naming
convention between previous release and current development branch
2018-03-07 15:46:53 -08:00
Levi Baber
13e6fc730d cdbfasta: needs zlib (#7413) 2018-03-07 15:42:37 -08:00
snehring
cb64e32296 gcta: new package (#7425) 2018-03-07 15:40:51 -08:00
Jim Galarowicz
7f3a72fb33 OpenSpeedShop package: add support for building on cray (#7338) 2018-03-07 14:26:07 -08:00
lingnanyuan
f393a2c146 orthofinder: Create new package. (#7364) 2018-03-07 20:45:45 +01:00
Federico Ficarelli
ef310d9f66 fmt: add version (#7415) 2018-03-07 13:59:20 +01:00
Massimiliano Culpo
d77dd298eb Changed CudaPackage base class to PackageBase (#7416)
CudaPackage is always used as a mixin. As such it should inherit from
PackageBase, and not Package.
2018-03-07 13:45:11 +01:00
simo-tuomisto
da48d3113c py-gpaw package with variants for MPI, FFTW and ScaLAPACK (#7373) 2018-03-07 09:30:47 +01:00
Douglas Duckworth
0f114d9718 Relion 2.1 - Using CudaPackage class (#6707) 2018-03-07 07:45:48 +01:00
Christoph Junghans
95b2738549 lammps: add version 20180222 (#7408) 2018-03-07 06:32:06 +01:00
Patrick Gartung
f5467957bc Improved binary relocation: error checking and reporting (#7314)
Fixes #7237
Fixes #6404
Fixes #6418
Fixes #6369

Identify when binary relocation fails to remove all instances of the
source prefix (and report an error to the user unless they specify
-a to allow the old root to appear). This check occurs at two stages:
during "bincache create" all instances of the root are replaced with
a special placeholder string ("@@@@..."), and a failure occurs if the
root is detected at this point; when the binary package is extracted
there is a second check. This addresses #7237 and #6418.

This is intended to be compatible with previously-created binary
packages.

This also adds:

* Better error messages for "spack install --use-cache" (#6404)
* Faster relocation on Mac OS (using a single call to
  install_name_tool for all files rather than a call for each file)
* Clean up when "buildcache create" fails (addresses #6369)
* Explicit error message when the spack instance extracting the binary
  package uses a different install layout than the spack instance that
  created the binary package (since this is currently not supported)
* Remove the option to create unsigned binary packages with -y
2018-03-06 18:02:53 -08:00
Christoph Junghans
360feb4193 minighost: rework link logic (#7402) 2018-03-06 15:51:12 -07:00
Mike Pozulp
b0795d84c7 adds patches required to build hdf5 1.8.10 (#7386)
For hdf5 `1.8.10` and some compilers, the hdf5 build system adds the
'-ansi' flag. hdf5 1.8.10 is not actually ansi compliant so this
adds a patch to modify the places where it violates ansi
compatibility (which ends up being a few comments).
2018-03-06 12:49:36 -08:00
Eric
ea7879bce5 bowtie2: Add version 2.3.4.1 (#7252) 2018-03-06 18:48:48 +01:00
Geoffrey Oxberry
5ed6e6f184 pnmpi@1.7: new package (#7051)
Add PnMPI, a dynamic MPI tool infrastructure that builds on top of the
PMPI interface.
2018-03-06 18:48:28 +01:00
健美猫
c0f6cb5393 Add the libssh2 variant for curl. (#6980) 2018-03-06 18:41:22 +01:00
Eric
2be8712406 perl-net-scp-expect: Create new package (#7028) 2018-03-06 18:39:13 +01:00
Christoph Junghans
274036bfed gromacs: add v2018 (#7050) 2018-03-06 18:37:45 +01:00
Simon Flood
fa5911af83 Update package.py (#7327)
Add versions released after 3.5.0 (3.4.3, 3.5.1, and 3.6.x)
2018-03-06 18:28:02 +01:00
peetsv
d649fda48a py-crossmap: adding new package (#7108) 2018-03-06 18:27:03 +01:00
Sergey Kosukhin
8d6738a3e6 Setup dependent environment for pkgconf. (#7102) 2018-03-06 18:25:00 +01:00
Elizabeth Fischer
02bed55007 py-rasterio: Added with dependencies. (#7156) 2018-03-06 18:21:34 +01:00
Geoffrey Oxberry
45e78a42cf sosflow: add missing dependencies (#7182)
SOSflow depends on MPI and pkg-config, but neither of these
dependencies are currently in the spack package, so this commit adds
them.
2018-03-06 18:17:49 +01:00
Paschalis Korosoglou
ceb8963362 Add cmor version 3.3.0 (#7197) 2018-03-06 18:16:52 +01:00
Eric
d77a2eecbe perl-graph-readwrite: Create new package (#7284) 2018-03-06 18:12:06 +01:00
mcneish1
642484caeb Add sqlite 3.22.0 (#7335) 2018-03-06 18:09:09 +01:00
healther
b106c86fa3 Fix apr pick up of log4cxx (#7347) 2018-03-06 18:08:51 +01:00
Michael Kuhn
17772fcd43 likwid: Fix build (#7244)
likwid uses the current directory when building the paths to its
internal libraries. Spack overwrites PWD, causing likwid to not find
hwloc.h.
2018-03-06 18:07:37 +01:00
Veselin Dobrev
65a1655022 mumps: add the libs property (#7264) 2018-03-06 18:05:58 +01:00
Ricardo Silva
4a54178ff8 Make neuron package more generic (#7393)
Make neuron package more generic

* find the bin directory dynamically for use in run_env and spack_env
* replace filter_compilers after install with filter_compiler_wrappers
* update checksum for _current_ 7.5 version
* make +python conflict with ~shared
* prepend the architecture specific lib directory to the LD_LIBRARY_PATH

Signed-off-by: Ricardo Silva <ricardo.silva@epfl.ch>
2018-03-06 16:31:28 +01:00
Matthias Diener
8f350d0002 Colordiff: new package (#7070) 2018-03-06 13:14:29 +01:00
Eric
bcae9c3506 py-bitstring: Create new package (#7190) 2018-03-06 13:04:16 +01:00
Veselin Dobrev
7482cf1d9f suite-sparse: add a package-specific 'libs' property (#7269) 2018-03-06 10:09:20 +01:00
Yifan Zhu
9c828f3068 trnascan-se: new package (#7351) 2018-03-06 09:58:05 +01:00
Axel Huebl
c7a8c4a44c libSplash 1.7.0: Root Fix (#7368)
Fix installs as "root" user for the last libSplash release.
Missing quoting of string compares resulted in a CMake error
when run as root (e.g. in a Docker build).
2018-03-06 09:38:40 +01:00
lingnanyuan
7aff7cbaec snpEff: Create new package. (#7382) 2018-03-06 09:34:22 +01:00
Eric Müller
2f06292abc mosh build depends on pkg-config (#7365) 2018-03-06 09:34:00 +01:00
Eric
c2d1344c51 perl-file-slurper: Create new package (#7378) 2018-03-06 09:28:37 +01:00
Christoph Junghans
ca367b4de3 exasp2: add v1.0 (#7398) 2018-03-06 09:01:53 +01:00
Yifan Zhu
d90b03db09 braker: added list_url (#7058) 2018-03-06 08:51:43 +01:00
Massimiliano Culpo
94c22092a8 Save sources in a mirror and cache it in Travis (#7392) 2018-03-06 06:49:43 +01:00
Yifan Zhu
4a7e88cc71 r-sf: new package (#6547)
* r-sf: new package

* r-sf: added version requirements for dependencies
2018-03-05 23:45:19 -06:00
Christoph Junghans
96f9576426 minighost: another Ubuntu fix (#7359) 2018-03-05 17:39:21 -07:00
Christoph Junghans
94c8299a1e minismac2d: fix build with external Debian MPI (#7318) 2018-03-05 16:07:41 -07:00
Eric
35115127bc perl-extutils-depends: Create new package (#7376) 2018-03-05 21:32:22 +01:00
Federico Ficarelli
fa442ed61a rapidjson: new package (#7391) 2018-03-05 21:10:02 +01:00
Mario Melara
ccb24b1438 Fix pkgconf on Crays (#7171)
This updates Cray.setup_platform_environment to use cray-specific
pkgconfig paths so that all providers of 'pkgconfig' have access
to them (previously the 'pkg-config' provider had this but the
'pkgconf' provider did not).
2018-03-05 12:08:11 -08:00
Adam J. Stewart
89a591eb3b Fix version-specific URLs for Python packages (#7394) 2018-03-05 12:00:49 -08:00
Veselin Dobrev
e4597f09be openmpi: add package-specific 'headers' property (#7267)
* [OpenMPI] Add the 'headers' property. This removes some redundant
headers from sub-directories, returned by the default '.headers'
handler.

* [OpenMPI] In the .headers property, add a fallback to search all of
prefix for the mpi.h header. Recommended by @junghans to support some
external configurations, see #7268.
2018-03-05 12:53:36 -07:00
Federico Ficarelli
3cf2cda4ec tclap: new package (#7390) 2018-03-05 14:53:42 +01:00
scheibelp
8b0552bc23 only filter compiler paths for binaries provided by the compiler (#7369) 2018-03-05 14:43:43 +01:00
Eric
ca336b60fa bracken: Create new package (#7375) 2018-03-05 14:16:27 +01:00
Mike Pozulp
90c8243113 add -ldl to silo ldflags when building with static hdf5 in order to fix #7384 (#7385) 2018-03-05 13:28:37 +01:00
Cyrus Harrison
d59ee8d07d update for conduit 0.3.1 release (#7344) 2018-03-05 11:04:21 +01:00
Eric Müller
1a77884c07 fix ruby build on gcc >= 7 (#7387)
* pkgconfig fixes a "libffi.a requires -fPIC" build error
* the patches solve the mentioned problem on GCC 7.x
2018-03-05 10:01:23 +01:00
Axel Huebl
189d9ec138 Rsync package: Fix Src Link (#7367)
Fix the source link to rsync downloads.

The old link only contained the latest release, the new link
contains all.
2018-03-01 22:42:26 -08:00
junkudo
6213463aeb new package: hiop (#7039) 2018-03-01 15:26:28 -08:00
Eric
86afd0e851 new package: perl-parallel-forkmanager (#7049) 2018-03-01 12:37:16 -08:00
healther
1ac0bce3e9 help gdb pick up python3 (#7104)
* Update gdb to autotools package
* Help gdb find python libraries for python 3
2018-02-28 23:13:06 -08:00
Omri Mor
b4b01b82ac mpich@develop: needs git submodules (#7357) 2018-02-28 19:48:57 -06:00
Eric
da2d6cccd6 new package: py-goatools (#7328) 2018-02-28 17:41:22 -08:00
Veselin Dobrev
d3ed46e958 [spack/spec.py] raise a query failure error if a property query returns None (#7277)
* [SPACK/spec.py] When a query through ForwardQueryToPackage returns
'None', treat that as query failure and raise RuntimeError with
suitable message. This overrides the current behavior to raise an
AttributeError which is now triggered only when no suitable query
property is found and there is no default handler.

* [spack/spec.py] Fix style.

* [SPACK/spec.py] In case of query failure, i.e. property returning
'None', raise AttributeError instead of RuntimeError in order to
pass the unit test. Also, small update in the logic distinguishing
query failure and lack of relevant property/attribute handling.
2018-02-28 15:25:29 -07:00
Denis Davydov
98949bd79b change recurse into recursive in a few places (#7342) 2018-02-28 20:15:26 +01:00
Christoph Junghans
3089207ced minighost: fix build on Ubuntu (#7354)
* minighost: fix build on Ubuntu

* minighost: append -lgfortran only for gcc
2018-02-28 09:37:01 -08:00
Christoph Junghans
6c2fe27f41 examinimd: fix a typo (#7352) 2018-02-28 10:02:33 -07:00
healther
f302d64235 add package verilator (#7332)
* add verilator package

* try to add environment variable and include folder

* manually install existing scripts and patch out spack's CXX wrapper

* added some comments

* make flake8 happy
2018-02-27 23:46:02 -08:00
Mario Melara
14e3eb78a7 Fix class name in build system tutorials (#7346)
AutoTools -> Autotools
2018-02-27 20:15:35 -08:00
Mark C. Miller
0e326c9687 updating zfp version (#7304) 2018-02-27 21:49:04 +01:00
Robert Pavel
5689fd304c Added initial Spackage for examinimd (#7350) 2018-02-27 11:42:35 -07:00
Christoph Junghans
2244e43e2b minighost package: fixed a typo (#7349) 2018-02-27 10:23:33 -08:00
Geoffrey Oxberry
ae1759eb16 aspcud@1.9.4: new package (#7094) 2018-02-27 13:16:40 +01:00
Axel Huebl
0c85aa09af MPark.Variant (#7251)
Adds Michael Park's C++11 `std::variant` (a C++17 stdlib feature).
2018-02-27 13:15:59 +01:00
Christoph Junghans
cba5457d62 minighost: fix mpi build (#7310) 2018-02-27 13:02:47 +01:00
Christoph Junghans
f04837b03e snbone: fix build gcc-4.8 (#7317) 2018-02-27 13:02:04 +01:00
Denis Davydov
03cf03e581 spglib: add new package (#7321) 2018-02-27 13:00:07 +01:00
Omar Padron
3a9cd2614e Docker-Based Developer Resource (#5871)
* add docker-based development resources

* incorporate feedback from @ax3l

* fix docs/improve ssh handling

* experiment with custom prompt

* add arch/fix missing core_compilers key

* add centos/minor tweaks

* make prompt experiment optional

* workaround problem with latest fedora docker image

* add docker documentation page to index toc

* try another documentation fix

* switch arch linux base to base/archlinux

* update the git urls in the Dockerfiles

* add opensuse

* switch CUSTOM_PROMPT variable to simply "PROMPT"
2018-02-27 00:36:14 -08:00
Axel Huebl
072e78dd52 cpu_features (#7302)
Adds Google's new cpu_features library.

Install was added recently, so don't take the `0.1.0` release but
the current `master` until a new version is published.
2018-02-26 20:47:22 +01:00
healther
3683ab87b5 llvm package: update python dependency (#7100)
llvm versions >= 5 can use python 3.x
2018-02-26 10:33:40 -08:00
Christoph Junghans
5b3e149f08 branson: needs mpi-2 (#7319) 2018-02-26 06:35:47 -07:00
Christoph Junghans
4b63ecd075 ebms: needs mpi-2 (#7320) 2018-02-26 06:35:34 -07:00
Christoph Junghans
dbcf243d37 hpgmg: more sane defaults for a proxy (#7330) 2018-02-26 06:35:17 -07:00
Mike Pozulp
8157f978b0 llvm and llvm-lld package updates (#7313)
* Combined llvm and llvm-lld: removed the separate llvm-lld package
  and added llvm-lld as an optional add on to the llvm package (the
  way several other llvm tools are maintained e.g. lldb)
* Added more lld hashes to llvm package
* The 'CppBackend' target doesn't exist for version 3.9.0 or later
  so exclude it for later versions
* Was incorrectly specifying 'sparc' as a target for the 'sparc'
  architecture - needed to specify 'Sparc'
* Fix issue #7248 building llvm: don't make the LLVMDemangle target
  for llvm < 4.0.0
2018-02-23 19:50:23 -08:00
Massimiliano Culpo
990f178341 accfft: added new package (#7213) 2018-02-23 23:29:12 +01:00
Massimiliano Culpo
9c7d4e34f7 Pin Sphinx version to v1.7.0 (#7337)
Later versions of Sphinx fail due to possible clashes with our custom
argparse.
2018-02-23 12:09:01 -08:00
scheibelp
4a807fca08 Make fix_darwin_install_name python3-compatible (#7329)
This updates the fix_darwin_install_name function to use the Spack
Executable object to run install_name_tool, which ensures that
process output is formatted as a 'str' for python2 and python3.
Originally fix_darwin_install_name was invoking subprocess.Popen
directly.
2018-02-23 10:24:59 -08:00
Nichols A. Romero
7db35ff05c QMCPACK - General Improvements (#6958)
* No longer need to patch CMake. Using CMAKE_CXX_FLAGS to include BLAS/LAPACK/MKL header files properly.

* Backport two patches to QMCPACK versions prior to 3.3.0:   https://github.com/QMCPACK/qmcpack/pull/621, https://github.com/QMCPACK/qmcpack/pull/623

* Insufficient to include lapack_dir in CMAKE_CXX_FLAGS, CMAKE_C_FLAGS is also needed.

* Make patched Espresso a default variant instead of a hard dependency. This is easier on computer architectures where Espresso is hard to build.

* Fix patching with QE variant. Now using correct form of patch command.

* Add QMCPACK v3.4.0

* Backport patch to QMCPACK versions prior to 3.3.0: https://github.com/QMCPACK/qmcpack/pull/643
2018-02-23 09:52:46 -08:00
healther
c2a4751237 fix url finding of lru-cache (#7118)
Change-Id: I65a93e3d5d1ea52a0be56bbc664c6b5d405e2bf4
2018-02-23 07:41:14 -06:00
Francesco Di Natale
0d0de09121 maestrowf: new package (#7300)
* Add Maestro Workflow Conductor to Spack

* Removal of a trailing whitespace character.
2018-02-22 16:01:18 -08:00
Jon Rood
d7b826a0aa nalu package: update dependency (#7245)
Yaml-cpp hasn't tagged a release in over 2 years, yet they have fixed
many things and now have the ability to use find_package in CMake.
Since we use this feature in Nalu, we require the latest yaml-cpp
until they tag a new release. I have also deprecated the now
unnecessary ENABLE_INSTALL flag.
2018-02-22 14:14:39 -08:00
Christoph Junghans
c4fcc245e2 remove dead Exact proxies (no fetch possible) (#7312) 2018-02-22 10:27:27 -08:00
Brian Van Essen
2dd93ed5fa ECP-CANDLE benchmark script (#7271)
* Added a package for the MDAnalysis toolkit.

* Added a variant to the candle benchmark to make MPI support optional.

* Added py-requests package.
2018-02-22 09:54:46 -08:00
Brian Van Essen
8bd7712da3 Added virtualenvwrapper python package (#7270)
* Added a package for the MDAnalysis toolkit.

* Adding a package for the Python virtualenvwrapper pacakge.  Included
dependent virtualenv-clone and stevedore packages. Updated py-pbr with
a new version to support this.

* Added extra necessary dependencies and fixed the file download paths.
2018-02-22 09:47:05 -08:00
Brian Van Essen
22d9a7e0ea Fixed Theano GPU support (#7325)
* Added a package for the MDAnalysis toolkit.

* Added a new package for pygpu, which is the python front end of the
libgpuarray.  Additionally changed the dependency for theano so that
it properly picks up the pygpu library.

* Added the libcheck package.  Fixed flake8 errors in py-pygpu recipe
and removed spurious dependency on cudnn for libgpuarray.
2018-02-22 09:45:37 -08:00
Christoph Junghans
1401d8a308 bml: enable MPI by default (#7324) 2018-02-22 09:04:49 -07:00
Christoph Junghans
c62f1d4722 bml: add version 1.2.3 (#7308) 2018-02-22 06:08:54 -07:00
Massimiliano Culpo
72c270419f yambo: added new package (#7301) 2018-02-22 12:11:51 +01:00
Christoph Junghans
dba0c9ab6b cohmm: use more sane defaults (#7296) 2018-02-21 15:03:53 -07:00
Denis Davydov
82aa76a867 mkl: fix order of libs (#7280) 2018-02-21 19:14:34 +01:00
Christoph Junghans
41aada9821 clamr: needs cmake-3.1 (#7297)
Found in proxyapps/proxy-ci#2
2018-02-21 09:11:50 -08:00
Christoph Junghans
17b7f05975 nut: needs cmake-3.0 (#7298)
Found in proxyapps/proxy-ci#2
2018-02-21 09:10:14 -08:00
Massimiliano Culpo
9ab80cc268 cbench set its environment using setup_environment (#7236)
The edit phase of cbench was used to set environment variables. Though
this works, the variables set this way are not dumped to build.env.
This commit fixes the issue by setting those variables in the
`setup_environment` function.
2018-02-21 06:42:51 +01:00
peetsv
3d68b7510b py-pyvcf: versions 0.6.7 and 0.6.8 (#6743)
* py-pyvcf: versions 0.6.0 and 0.6.7

* adding dependencies

* Changing location of source tarball

* updating url to eliminate embedded checksum
2018-02-20 17:14:06 -06:00
Yifan Zhu
0166d09ee2 new package: Soapdenovo2 (#7047) 2018-02-20 10:33:41 -08:00
Eric
c3e8df6c93 perl-text-csv: Create new package (#7258) 2018-02-19 22:13:50 -08:00
Mark C. Miller
2bab19d121 hdf5: fixing ~/+ fortran builds; updated to version 0.8.0 (#7260) 2018-02-19 22:13:13 -08:00
Veselin Dobrev
95fe8f7e07 sundials: add the 'headers' and 'libs' properties (#7282)
* [SUNDIALS] Add the 'headers' and 'libs' properties, plus a couple of
small tweaks.

* [SUNDIALS] Revert incorrectly changed conflicts() directive. Fix style.
2018-02-19 22:11:04 -08:00
snehring
e179883a5b updating package: gmap-gsnap (#7285)
* updating package: gmap-gsnap

* fixing version order
2018-02-19 22:09:05 -08:00
Levi Baber
12a670a556 Augustus update hash (#7286)
* augustus: 3.3 package hash changed

* augustus: bamtools libraries now seem to be in lib64
2018-02-19 22:06:40 -08:00
Eric
d9bec1a1f7 py-quast: Create new package (#7254) 2018-02-18 14:33:59 +01:00
Veselin Dobrev
dbf849240e netlib-scalapack: add the libs property (#7265) 2018-02-18 10:19:03 +01:00
Christoph Junghans
d849740b8b Silo: depend on Non-mpi hdf5 (#7275)
See #7255 for discussion
2018-02-17 19:37:06 -07:00
Sinan
151f305ddc add new version (10.2) (#7272) 2018-02-17 07:27:26 +01:00
Sergey Kosukhin
819ceb4f6d Package 'cdo': new versions. (#7250) 2018-02-16 13:39:56 +01:00
Pramod S Kumbhar
8ae50ae8bb Use abspath to avoid permission errors(#7241)
Fixes #5189

When working with non-normalized paths containing ".." on some
file systems, Spack was found to encounter a permission error when
writing to the path. This normalizes a path written by the
intel-parallel-studio package and also normalizes all paths
written by the license install hook (for all packages) to avoid
this issue for intel-parallel-studio.
2018-02-15 17:26:37 -08:00
Eric
557e6ba2f9 new package: igvtools (#6974) 2018-02-15 16:27:46 -08:00
Eric
11e064d7d1 new package: pilon (#7033) 2018-02-15 16:23:59 -08:00
Geoffrey Oxberry
1810fac25f mfem: have hypre link line also link lapack+blas (#7165)
Spack's hypre package depends on LAPACK and BLAS, so linking to hypre
requires linking to the LAPACK and BLAS libraries used to build hypre.
2018-02-15 14:59:07 +01:00
Howard Pritchard
87043679ae pmix: add 2.1.0 and more (#7191)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2018-02-14 16:26:49 -08:00
Axel Huebl
001106884b ADIOS 2.1.0 (#7240)
Adds the first stable API release of ADIOS2, v.2.1.0.

Also adds a missing `pybind11` CMake flag for proper Python
selection (needed in both the new and previous version).
2018-02-14 13:54:13 -08:00
Geoffrey Oxberry
277ab2d355 libtool: symlink correctly on darwin (#7179)
To accommodate build systems on Darwin which look for glibtool/ize,
#7060 attempted to provide glibtool/ize symlinks for libtool/ize
but accidentally created the same symlink twice. #7073 reverted this
and replaced libtool/ize with glibtool/ize on Darwin. This led to
#7163 since AutotoolsPackages depend on the presence of the 'libtool'
binary, so this returns to the approach of #7160 but makes the
correct symlinks.
2018-02-14 13:52:44 -08:00
Geoffrey Oxberry
a7b8d26fa7 xbraid: add libs method (#7233)
XBraid installs `libbraid.a`, but the default `libs` method
implementation will search for `libxbraid`, which does not exist. This
commit fixes the behavior of the `libs` method for the `xbraid`
package by overriding package's `libs` method.
2018-02-14 10:40:56 +01:00
Yifan Zhu
f36e83fa5f r-seqlogo: new package (#7229) 2018-02-14 09:42:40 +01:00
Geoffrey Oxberry
24beadbdd2 stow: new package (#7235) 2018-02-14 09:42:05 +01:00
Geoffrey Oxberry
e5bc6e7056 hypre: add libs method (#7234) 2018-02-14 09:21:13 +01:00
Yifan Zhu
cb702ebcb1 r-tfmpvalue: new package (#7230) 2018-02-14 08:49:09 +01:00
peetsv
e981e6bd19 py-pybedtools: adding older version 0.6.9 (#7107) 2018-02-14 08:46:10 +01:00
Geoffrey Oxberry
c7274eb1f5 gdbm: fix lmod global name 'spack_cc' undefined (#7225)
Prior to this commit, running `spack module refresh` with `gdbm`
installed throws the warning:

```console
==> Warning: Could not write module file [/Users/oxberry1/spack/share/spack/lmod/darwin-sierra-x86_64/Core/gdbm/1.14.1.lua]
==> Warning:    --> global name 'spack_cc' is not defined <--
```

This warning is repeated for every `gdbm` installation in Spack.

The cause of the issue seems to be the same as in spack/spack (#6089):
using `spack_cc`, `spack_cxx`, or similar inside `configure_args`
causes the warnings to throw when module files are generated.

Moving the use of `spack_cc` into `setup_environment` seems to fix the
problem, even though it's a bit of a kludge.
2018-02-14 08:41:50 +01:00
Geoffrey Oxberry
8766daf9de ipopt: fix lmod global name 'prefix' undefined bug (#7224)
Running `spack module refresh -m lmod --delete-tree -y` throws the
following warning:

```console
==> Warning: Could not write module file [/Users/oxberry1/spack/share/spack/lmod/darwin-sierra-x86_64/openblas/0.2.20-ibhtl5q/clang/5.0.1/ipopt/3.12.9.lua]
==> Warning:    --> global name 'prefix' is not defined <--
```

This warning arises because the variable expansions in
`spack.modules.BaseFileWriter` occur at module/package scope. Even
though `prefix` is an argument to `install` methods in e.g.,
`MakefilePackage`, so using this argument within package methods is
legal, doing so defeats the introspection logic in
`spack.modules.BaseFileWriter`. Replacing `prefix` with `self.prefix`
resolves the problem, because the introspection logic in
`spack.modules.BaseFileWriter` can use introspection to query IPOPT's
prefix.
2018-02-14 08:40:47 +01:00
peetsv
5bb18c79bf vardictjava: Adding version 1.4.4 (#7223) 2018-02-14 08:38:06 +01:00
Yifan Zhu
501520c818 r-powerlaw: new package (#7222) 2018-02-14 08:36:34 +01:00
lingnanyuan
8c921e946c r-jaspar2018: Create new package. (#7221) 2018-02-14 08:35:16 +01:00
Massimiliano Culpo
9ea9a4063a fftw package: improved libs implementation (#7212)
Add query parameters to retrieve libraries based on precision (e.g.
double or quad) and mpi/openmp support.
2018-02-13 18:26:15 -08:00
peetsv
1f731cd787 R package: add version v3.2.5 (#7139) 2018-02-13 12:11:52 -08:00
Yifan Zhu
f8a8e2ba10 r-rcppblaze: new package (#7209) 2018-02-13 14:07:18 +01:00
Veselin Dobrev
9c7e82a348 Fix for building METIS 4.0.3 with '~shared'. (#7202) 2018-02-13 02:22:25 -08:00
Keita Teranishi
d393e3d702 Added Nox for Trilinos installation by xSDK (#7219)
* Added Nox for Trilinos installation by xSDK

* Enable NOX only for Develop copy
2018-02-13 02:20:59 -08:00
alalazo
e72b69732e Changed keyword argument 'recurse' to 'recursive' 2018-02-13 02:18:28 -08:00
alalazo
efd2a95781 find has been changed to accept glob expressions
Following the discussion with Todd and Adam, find has been modified to
accept glob expressions. This should not affect performance as every
glob implementation I inspected has 3 cases (no wildcard, wildcard but
no directories involved, wildcard and directories involved) and uses
fnmatch underneath.

Mixins have been changed to do by default a non-recursive search (but
a recursive search can still be triggered using the recursive keyword).
2018-02-13 02:18:28 -08:00
alalazo
c62b3eef55 filter_compiler_path: added the possibility to narrow search path
Following a comment from Todd, the search path for the files listed in
`filter_compiler_wrappers` can now be narrowed. Anyhow, the function
implementation still makes use of `find`, the rationale being that we
have already seen packages that install artifacts in e.g. architecture
dependent folders. The possibility to have a relative search path might
be a good compromise between the previous approach and the one suggested
in the review.

Also: 'ignore_absent' and 'backup' keyword arguments can be optionally
forwarded to `filter_file`.
2018-02-13 02:18:28 -08:00
alalazo
4e48bae096 mixins: moved debug logs to 'filter_file'. Renamed shadowed variable name.
Following comments from Todd:

- the call to tty.debug has been moved deeper, to log the filtering of each file
- the shadowing on the name "kwargs" is avoided
2018-02-13 02:18:28 -08:00
alalazo
a01a68218c mvapich2: ported 2e6a735b00 2018-02-13 02:18:28 -08:00
alalazo
eae7263838 mixins: flush method dictionaries after registration. 2018-02-13 02:18:28 -08:00
alalazo
22def01adf mixins: implemented declarative syntax
Implemented a declarative syntax for the additional behavior that can
get attached to classes. Implemented a function to filter compiler
wrappers that uses the mechanism above.
2018-02-13 02:18:28 -08:00
alalazo
8e0f9038ab Improved naming of properties and classes (per Denis comments). 2018-02-13 02:18:28 -08:00
alalazo
28e129b087 Added mixins to modularize common behaviors across build-systems.
Modifications:
  * added a mixin to filter compiler wrappers from files
  * modified hdf5, openmpi, mpich, mvapich2 to use it
2018-02-13 02:18:28 -08:00
Massimiliano Culpo
4d97b540a8 FFTW: expose optimization handles via variants (SIMD + FMA) (#7038) 2018-02-13 02:06:58 -08:00
Todd Gamblin
b98cdf098a Rework command reference in docs, add spack commands command
- command reference now includes usage for all Spack commands as output
  by `spack help`.  Each command usage links to any related section in
  the docs.

- added `spack commands` command which can list command names,
  subcommands, and generate RST docs for commands.

- added `llnl.util.argparsewriter`, which analyzes an argparse parser and
  calls hooks for description, usage, options, and subcommands
2018-02-12 20:25:17 -08:00
Todd Gamblin
1b998cbeee Fix issues with spack [cmd] -h help output
- Shorten Spack command usage for short options. Short options are now
  shown as [-abc] instead of as [-a] [-b] [-c]

- fix bug that mixed long and short options for top-level `spack help`
2018-02-12 20:25:17 -08:00
Todd Gamblin
fff3cc695d Fix section labels for some commands in the docs 2018-02-12 20:25:17 -08:00
Todd Gamblin
39e6d54956 make defaults in command help look like standard argparse 2018-02-12 20:25:17 -08:00
Todd Gamblin
8f52de32b6 Add help for buildcache, reorganize command help categories
- Add proper help for `spack buildcache` subcommands

- Reorganize the help categories of Spack commands so that buildcache is
  in packaging and diy and setup are now in build.
2018-02-12 20:25:17 -08:00
Todd Gamblin
2b7dfcd19f Clean up help metavar for --scope configuration options
- previously commands with this argument showed a long list of choices
  that were platform specific.

- use a better metavar: {defaults,system,site,user}[/PLATFORM]
2018-02-12 20:25:17 -08:00
Levi Baber
de3c047105 new package: Glfmultiples (#7055) 2018-02-12 19:35:57 -08:00
Loikki
5fef8b6963 grackle package: add float option (#7196) 2018-02-12 14:32:24 -08:00
Luigi Calori
aa15235058 fluxbox lightweight window manager (#7169) 2018-02-12 19:35:18 +01:00
David Beckingsale
a403a1ca68 RAJA package: add versions and CUDA/openmp support (#7201) 2018-02-12 10:34:54 -08:00
Cyrus Harrison
e4ba199fc1 updates to conduit and ascent packages (#7040)
* Remove variants disabling blas and lapack for py-numpy, issues
  building these have been resolved
* For CMake greater than 3.10, FindMPI changed, so use
  MPIEXE_EXECUTABLE instead of MPIEXE for 3.10 and newer
2018-02-12 10:20:46 -08:00
Massimiliano Culpo
ef270615f0 Use python3.6 to test building docs (#7218)
I think the main issue here is that we ship a custom version of a system
library (`argparse`), and this is prone to fail if `argparse` is
imported before we hack `sys.path` internally.

Probably a better solution would be not to customize argparse, but
instead have a wrapper on top of whatever the system provides.
2018-02-12 12:18:51 +01:00
Massimiliano Culpo
b7baeb542d Set a default python that is consistent with the libraries in PYTHONHOME (#7157)
fixes #7128

Before this PR packages that were indirectly dependent on python might
have failed due to inconsistency between the python found in the
environment and the standard libraries set in PYTHONHOME
2018-02-11 23:08:45 -08:00
Eric
7e9a369dec shortbred: Create new package (#7210) 2018-02-11 22:26:35 +01:00
Eric
fb7a5b279d glimmer: Create new package (#7208) 2018-02-11 22:22:34 +01:00
Axel Huebl
ee70551e10 xtensor-python (#7217)
pybind11 bindings for seamlessly using xtensor in python
2018-02-11 22:21:45 +01:00
Axel Huebl
f0aa4641f9 pybind11: 2.2.[1,2] & develop (#7216)
Add the latest release of `pybind11` and its `develop` version.
2018-02-11 18:00:22 +01:00
Axel Huebl
266a3593ce Xtensor 0.15.1 (#7215)
Add the latest xtensor release and its dependencies.
2018-02-11 17:56:08 +01:00
Eric
912e661056 new package: diffsplice (#7187) 2018-02-09 20:15:58 -08:00
Jed Brown
74ffd8b6be hpgmg package: add debug option and new version (#7175)
This adds a static version of hpgmg (up to now only the latest commit
from the master branch was available). This also adds a debug variant
and sets optimization flags for ~debug when the compiler is gcc,
intel, or clang
2018-02-09 19:01:49 -08:00
Jed Brown
ec162e69b2 petsc: use spack-built python for configure (#7176)
Make sure to use Spack-built python to run petsc configure script
(in particular since petsc requires python@2.6:2.8)
2018-02-09 13:11:03 -08:00
Geoffrey Oxberry
deb1a93f81 xbraid@2.2.0: new package (#7205) 2018-02-09 19:49:31 +01:00
Geoffrey Oxberry
5defe9ab00 git-imerge@1.1.0: new package (#7203) 2018-02-09 19:48:11 +01:00
Eric
0d34cdd77f py-checkm-genome: Create new package (#7200) 2018-02-09 19:37:16 +01:00
David Gardner
9d304ad585 fix petsc int64 metis dependencies (#7195) 2018-02-09 12:29:10 +01:00
Axel Huebl
e98bcaf3f5 libSplash: 1.7.0 (#7199)
Adds the latest release of libSplash (1.7.0) and newly learned
CMake flags for explicit dependency control.

Modifies HDF5 dependency: non-MPI splash does (and did) never run
with a parallel HDF5, due to it's internal cross-dependencies on
MPI.
2018-02-09 12:27:13 +01:00
Christoph Junghans
20225edde4 comd: more sane default (#7046)
Avoid useless deps.
2018-02-08 12:36:23 -05:00
becker33
8913c3465c Change location of public key in basic tutorial (#7192)
* Change location of public key in basic tutorial

* Change tuturial version number to 11.2
2018-02-07 08:45:29 -08:00
Hans Pabst
8f5ece9ace LIBXSMM 1.8.3 (#7183) 2018-02-06 14:31:18 +01:00
Eric
26ff36f05f samblaster: Create new package (#7188) 2018-02-06 13:54:05 +01:00
Eric
167b5dc5d3 py-localcider: Create new package (#7189) 2018-02-06 13:52:37 +01:00
Geoffrey Oxberry
49e58992db oclint: new package (#7076) 2018-02-06 06:35:17 +01:00
Levi Baber
e25406c26b angsd: new version, and conflict for newer htslib with old version (#7122) 2018-02-05 18:33:12 +01:00
Mark Meredith
6c21d0bf31 Update fish url for fish 2.7.1 (#7089) 2018-02-04 09:05:44 +01:00
Thilina Rathnayake
970a4b2815 Update Nek5000 package to Version 17 (#7178)
and minor polishing
2018-02-03 17:05:14 -06:00
Erik Schnetter
927af929f4 highfive: Update to version 1.5 (#7041) 2018-02-03 10:22:03 +01:00
健美猫
caba978aa6 A new package: libcroco. (#7154) 2018-02-03 10:07:02 +01:00
Elizabeth Fischer
be5fa8f6c2 macOS Fix for GDAL (#7155) 2018-02-03 10:06:35 +01:00
Geoffrey Oxberry
4c9521b52b clingo@5.2.2: new package (#7091) 2018-02-03 10:05:06 +01:00
Eric
b6f1e0611c stringtie: add version 1.3.4a (#7164) 2018-02-03 09:52:51 +01:00
healther
e3951c2a21 Fix ignore-conflicts for extensions in views (#7167)
Fixes #7159

When activating extensions in external views, the --ignore-conflicts
option was being ignored. In this particular issue the conflict was
for the duplicate __init__ file for multiple python packages in the
same namespace, but in general any conflict for extensions would
cause an error whether or not --ignore-conflicts was set.

This also renames the 'force' option of do_activate to
'with_dependencies' and updates views to call do_activate with this
set to False (since it traverses the dependency dag anyway). This
isn't strictly required, it just avoids redundant calls.
2018-02-02 14:45:21 -08:00
Eric
0b6d7f7397 new package: perl-exporter-tiny (#7030) 2018-02-02 10:28:45 -08:00
scheibelp
71483d9390 Update tutorial on advanced packaging (#7144)
This reorganizes most sections and rewords a significant portion of
the content (including all introductions) but keeps all the examples.

* Remove section 'What happens at subscript time' from tutorial:
  it is too detailed for a tutorial
* Move the 'Extra query parameters' and 'Attach attributes to other
  packages' sections into a separate grouping 'Other packaging topics'
* move the 'Set variables at build time yourself' section after
  'Set environment variables in dependents' section since the latter
  is more motivating
* start the 'set environment variables at build-time for yourself'
  section with qt as an example
* renamed section 'specs build interface' to 'retrieving library
  information' and updated section introduction
* renamed section 'a motivating example' to 'accessing library
  dependencies'; split out the material which deals with implementing
  .libs for netlib-lapack into a separate section called 'providing
  libraries to dependents'. consolidated in material from the section
  'single package providing multiple virtual specs' since
  netlib-lapack is an example of this (this removes the material
  about intel-parallel studio)
2018-02-01 12:10:25 -08:00
Feiyi Wang
27b033587b Efficient array of booleans, C extension (#7135) 2018-02-01 18:48:32 +00:00
Todd Gamblin
df758e1cfc Improve log parsing performance (#7093)
* Allow dashes in command names and fix command name handling

- Command should allow dashes in their names like the reest of spack,
  e.g. `spack log-parse`
  - It might be too late for `spack build-cache` (since it is already
    called `spack buildcache`), but we should try a bit to avoid
    inconsistencies in naming conventions

- The code was inconsistent about where commands should be called by
  their python module name (e.g. `log_parse`) and where the actual
  command name should be used (e.g. `log-parse`).

- This made it hard to make a command with a dash in the name, and it
  made `SpackCommand` fail to recognize commands with dashes.

- The code now uses the user-facing name with dashes for function
  parameters, then converts that the module name when needed.

* Improve performance of log parsing

- A number of regular expressions from ctest_log_parser have really poor
  performance, most due to untethered expressions with * or + (i.e., they
  don't start with ^, so the repetition has to be checked for every
  position in the string with Python's backtracking regex implementation)

- I can't verify that CTest's regexes work with an added ^, so I don't
  really want to touch them.  I tried adding this and found that it
  caused some tests to break.

- Instead of using only "efficient" regular expressions, Added a
  prefilter() class that allows the parser to quickly check a
  precondition before evaluating any of the expensive regexes.

- Preconditions do things like check whether the string contains "error"
  or "warning" (linear time things) before evaluating regexes that would
  require them.  It's sad that Python doesn't use Thompson string
  matching (see https://swtch.com/~rsc/regexp/regexp1.html)

- Even with Python's slow implementation, this makes the parser ~200x
  faster on the input we tried it on.

* Add `spack log-parse` command and improve the display of parsed logs

- Add better coloring and line wrapping to the log parse output.  This
  makes nasty build output look better with the line numbers.

- `spack log-parse` allows the log parsing logic used at the end of
  builds to be executed on arbitrary files, which is handy even outside
  of spack.

- Also provides a profile option -- we can profile arbitrary files and
  show which regular expressions in the magic CTest parser take the most
  time.

* Parallelize log parsing

- Log parsing now uses multiple threads for long logs
- Lines from logs are divided into chnks and farmed out to <ncpus>
- Add -j option to `spack log-parse`
2018-01-31 21:57:56 -08:00
Geoffrey Oxberry
514f0bf5c5 lz4 platform=darwin: fix dylib name (#7112) 2018-01-31 16:12:44 -08:00
Geoffrey Oxberry
7959c5ffd2 libdwarf: fix linking, fix build on Darwin (#7124)
* libdwarf: fix linker flags

* libdwarf: fix header install names

* libdwarf: add zlib dependency

Prior to this commit, libdwarf was linked to the system zlib. This
commit links it to spack-installed zlib.

* libdwarf: fix dynamic library suffix for Darwin
2018-01-31 16:12:25 -08:00
healther
bddc1556e1 symlink python3 to python (#7103)
* symlink python3 to python

* otherwise not all autotools are smart enough

* Update package.py
2018-01-31 16:11:25 -08:00
sknigh
ec7d069ba5 Added osu-micro-benchmarks@5.4 (#7149) 2018-01-31 16:10:14 -08:00
Brian Van Essen
c3034b53e3 Adding support for the Accelerate library on OS X (#7068)
* Adding support for the Accelerate library on OS X

* Fixed guard on variable and added another depends_on statement to make sure that openblas gets selected even when openmp_blas variant is not turned on.
2018-01-31 11:10:42 -08:00
Eric
fa65725263 fr-hit: Create new package (#7132) 2018-01-31 19:28:48 +01:00
Brian Van Essen
bc0f683e64 Protobuf fix (#7110)
* Fixed a bug where when using shared libraries OS X does not set the RPATH correctly
2018-01-31 09:39:53 -08:00
Brian Van Essen
06758fe5cb LBANN OS X (#7105)
* Added a package for the MDAnalysis toolkit.

* Added some flags to fix the build RPATHs and OpenMP for LBANN on OS X.

* Fixed Hydrogen branch of Elemental to find OpenMP on OS X.
2018-01-31 09:38:53 -08:00
Eric
60cc0b0b90 py-setuptools-git: Create new package (#7131) 2018-01-31 16:52:34 +01:00
Axel Huebl
cb5919b981 PNGwriter: 0.7.0 (#7026)
Adds the latest release of PNGwriter, including
Windows and CMake config package support.
2018-01-31 14:34:52 +01:00
sknigh
770100765f Added v1.4.2 to libfabric package (#7053) 2018-01-31 14:02:21 +01:00
Levi Baber
b59c3bcf02 abyss: added missing libtool dependency (#7054) 2018-01-31 14:01:49 +01:00
Axel Huebl
0d5ad7d843 openPMD-validator (#7064)
Adds the new package for openPMD validator tools.
2018-01-31 13:59:38 +01:00
Geoffrey Oxberry
ebaa106d7a ocaml@4.06.0: new version (#7078) 2018-01-31 13:49:17 +01:00
Geoffrey Oxberry
e8b4de7b4c re2c@1.0.3: new package (#7092) 2018-01-31 13:46:17 +01:00
Geoffrey Oxberry
b8b2c67b9c opam: new package (#7079) 2018-01-31 13:44:09 +01:00
Geoffrey Oxberry
148a2f0238 bmake@20171207: new package (#7099) 2018-01-31 13:42:41 +01:00
Geoffrey Oxberry
ae589c22f2 gcc: add version 7.3.0 (#7097) 2018-01-31 13:41:12 +01:00
Geoffrey Oxberry
804a6c5e1a lz4@1.8.1.2: new version (#7111) 2018-01-31 13:40:32 +01:00
Geoffrey Oxberry
a5758d97b3 libarchive@3.3.2: new version (#7113) 2018-01-31 13:39:58 +01:00
Denis Davydov
35746fdde1 rtags: add 2.17 and for now comment-out 2.12 (#7126) 2018-01-31 13:36:22 +01:00
lingnanyuan
cef4c2fa1c maq: Create new package. (#7133) 2018-01-31 13:12:43 +01:00
Eric
cd084d02ce rna-seqc package: JAVA_{ARGS,OPTS} for helper script (#6972) 2018-01-29 20:23:59 -08:00
Massimiliano Culpo
7368586f0d Mark slow unit tests (#6994)
* Marking database tests as slow

* Marking url command tests as slow

* Marking every test that uses database as slow

* Marking tests that import files as slow

* Marking gpg tests as slow

* Marking all versions and one list tests as slow

* Added more markers to unit tests + cli option to skip slow tests

Following a discussion with Axel, the generic 'slowtest' marker has been
split into 'db', 'network' and 'maybeslow'. A brief description of the
meaning of each marker has been added to pytest.ini.

A command line option to run only fast tests has been added to
'spack test'

* Don't use classes to group tests together

Reverted grouping tests under a class, as required in the review

* Minor style changes
2018-01-29 06:19:50 -08:00
scheibelp
f27c5e74ed Remove Package instance caching in Repo (#6367)
This attempts to address one of the complaints at #5996 (comment):

> Repo currently caches package instances by Spec, and those Package instances have a Spec. 
> This is unnecessary and causes confusion. I think I thought that we'd need to cache instances 
> after loading package classes, but really just caching the classes is fine.

With this update, Repo's package cache is removed and Specs cache the package reference themselves. One consequence is that Specs which compare as equal will store separate instances of a Package class (not doing this creates issues for #4595 (comment)).

There were several references to Spec.package that could be replaced with Spec.package_class without any additional modifications. There are still a couple remaining references to Spec.package in Spec that would require adding functionality before replacing (e.g. calling Package.provides and Package.installed).

Note this makes it difficult to mock fetchers for tests which invokes code that reconstructs specs. test_packaging was one example of this where the updates caused a failure (in that case the error was avoided by not making an unnecessary call).

Details:
* Replace instances of spec.package with spec.package_class where a class method is being called
* Remove instances of Repo.get where Spec.package_class can be used in its place
* remove Repo.get caching instances of Package class for specs
* remove redundant check (which is also incorrect now that each spec stores its own copy of its package)
* avoid creating mirror with specs because it copies specs and those copies dont refer to the mocked fetcher (and it is also not required for the test)
* remove checks that are no longer necessary since repo doesn't cache specs
2018-01-28 16:58:08 -08:00
Adam J. Stewart
f7f4bae154 Fix gfortran 7 detection (#7017) 2018-01-28 16:29:48 -08:00
Massimiliano Culpo
5af9256d4f Cleaned up JUnit report generation on install (#6977)
* Cleaned up JUnit report generation on install

The generation of a JUnit report was previously part of the install
command. This commit factors the logic into its own module, and uses
a template for the generation of the report.

It also improves report generation, that now can deal with multiple
specs installed at once. Finally, extending the list of supported
formats is much easier than before, as it entails just writing a
new template.

* Polished report generation + added tests for failures and errors

The generation of a JUnit report has been polished, so that the
stacktrace is correctly displayed with Jenkins JUnit plugin. Standard
error is still not used.

Added unit tests to cover for installation failures and installation
errors.
2018-01-28 12:07:59 -08:00
Geoffrey Oxberry
784234ae8e libtool, binutils: fix darwin linking (#7073)
* libtool: fix linking of libtool on darwin

* binutils, libtool: fix conflicts w/ BSD tools, v2

Fix namespace conflicts with BSD tools in a more elegant fashion,
using a program prefix, similar to Homebrew.
2018-01-28 15:36:24 +01:00
George Hartzell
970c7e8f45 Tell R's configure about tcltk config (#7085)
* Tell R's configure about tcltk config

Add configure arguments that specify the location of
the tcl and tk config scripts.

Fixes #7072

* Flake8 cleanup
2018-01-26 20:51:38 -06:00
Brian Van Essen
1cd03e0f36 new package: essl (#6335)
Added support for the IBM ESSL math library.Updated Elemental to be
able to build with ESSL.
2018-01-26 10:38:37 -08:00
Massimiliano Culpo
7cb43e3d05 Bzip2 now uses 'spack_cc' as a compiler, instead of plain 'cc' (#7074)
Looking at build logs, it seems that prior to this commit bzip2 was
using 'cc', and relying on the PATH to be set correctly to find Spack
wrappers. This commit improves the robustness of the recipe, by using
the absolute path of the wrapper.
2018-01-26 09:52:04 +01:00
Federico Ficarelli
1f39afe475 Enable install of multiple specs from yaml files (#6984) 2018-01-26 08:33:53 +01:00
Brian Van Essen
8bc5916b68 Protobuf package: allow building shared library (#7067)
This adds a +shared variant for building shared libraries in the
protobuf package and enables it by default.
2018-01-25 12:14:48 -08:00
Brian Van Essen
82d4d58ca7 Lbann package: bug fix (#7066)
Fixed a bug in the guard on cub functionality.  Reduced the
requirements on hwloc to make it simpler to build on Power systems.
2018-01-25 12:10:37 -08:00
Axel Huebl
85c887a939 Python Installs: No User Site Dir (#7065)
Avoid adding an "outside" (local home's) python user site directory
during python package installs.

Implements #6611

Fixes packages with auto-find side effects such as `py-setuptools`
that cause `py-matplotlib` to fail to build #6558
2018-01-25 17:50:50 +01:00
Geoffrey Oxberry
e0082e0564 libtool: symlink libtool{ize} to glibtool{ize} (#7060)
On Darwin and other BSD systems, the system 'libtool' and 'libtoolize'
are BSD libtool and libtoolize, respectively. Some build systems
require the GNU versions of these commands, so BSD package systems
tend to name the GNU versions 'glibtool' and 'glibtoolize',
respectively, to avoid namespace collisions.

A problem with the current libtool package is that it installs the GNU
libtool commands as 'libtool' and 'libtoolize', respectively, but
build systems on BSD platforms will attempt to run 'glibtool' and
'glibtoolize'. The expedient solution to this problem is to symlink
'libtool' to 'glibtool' and 'libtoolize' to 'glibtoolize', because
attempting to patch the detection logic one build system at a time
seems impractical.
2018-01-24 18:48:28 -08:00
Geoffrey Oxberry
b5daa51c06 netlib-xblas 1.0.248: new package (#7024)
* netlib-xblas@1.0.248: new package

* netlib-lapack: add xblas option
2018-01-24 08:28:05 +01:00
Brian Van Essen
a62e1a0451 Lbann update (#6987)
* Added new link line flag

* Refactored some of the common components out of the different
version's build commands.  Also corrected the when commands to
properly capture non-numeric names such as local.

* Added support to the Elemental package for the Hydrogen branch.
2018-01-23 17:05:54 -08:00
Federico Ficarelli
8bdf7e6baa Fix gtkplus build by hardcoding X11 support (#6971)
* Fix gtkplus build by hardcoding X11 support

* Remove +X variant from gtkplus dependents
2018-01-23 15:24:20 -08:00
Federico Ficarelli
dceb66741c Fix +readline handling (#7048) 2018-01-23 23:01:58 +01:00
Geoffrey Oxberry
d6a43f180b argp-standalone@1.3: new package (#7014)
Adds a package for the standalone version of the argp argument parsing
interface from glibc for unix-style command options.
2018-01-23 22:49:17 +01:00
Alastair Harrison
eb0f5c6efe Fix error message typo in 'spack create' cmd (#7042)
- Previously would print the spec's namespace twice, rather
  than printing the spec's namespace, followed by the repo's namespace.
2018-01-23 14:00:18 -06:00
Thilina Rathnayake
3223186729 new package: gslib (#6328) 2018-01-23 10:42:06 -08:00
Benedikt Riedel
d8c105a7b1 Fix GEANT4 and make more portable and flexible (#6956)
* Turning off default Qt support. Restricting Qt version to <= 4.9 else geant4 won't build

* Making vecgeom optional

* Differentiating between cxx11 and cxx14 support

* Making vecgeom optional. Part 2. forgot to move usolids option

* Adding explicit CXX11 and CXX14 support

* Adding more clhep version to support newer GEANT4 versions

* Adding GEANT4 versions 10.03.p03 and 10.04

* Checkpoint. Adding opengl and x11 variant. Lead up to more changes to enable X11 support

* Adding dependency on fixesproto for newer versions

* Making the X11 dependent pieces work without requiring X11 on the system

* Adding motif
2018-01-23 10:13:08 +01:00
Geoffrey Oxberry
2e09501fc5 netlib-lapack: add versions 3.7.0, 3.7.1, 3.8.0 (#7025) 2018-01-23 09:59:33 +01:00
健美猫
e6afb9db77 A new package: log4cplus. (#7015) 2018-01-23 09:47:34 +01:00
Marty McFadden
02b74519e3 Version update for cfitsio (#7032) 2018-01-23 09:44:40 +01:00
Yifan Zhu
92b20bfdba r-snprelate: new package (#7036) 2018-01-23 09:43:22 +01:00
Yifan Zhu
30aaa37472 r-gdsfmt: new package (#7035) 2018-01-23 09:42:10 +01:00
Scott Wittenburg
d2c3441527 Update gl/qt options for vtk package (#6551)
This provides options for hardware and software rendering with the
gl API and updates the vtk package to make use of those options:

* Create new "gl" virtual package, provided by mesa
* Add external-only "opengl" package, which represents a system
  install that provides gl
* For vtk: prefer system gl implementation by default to get speed
  up from hardware rendering. When software rendering is specifically
  requested (+osmesa), try to use the llvmpipe approach, as it is
  much faster.
* Make qt dependency optional for vtk
* Add basic support for VTK on osx
* qt: Depend on virtual gl package, rather than mesa impl
2018-01-22 10:46:44 -08:00
Kelly (KT) Thompson
55c3451b87 Version update for 2.22 (#7023) 2018-01-22 07:12:00 +01:00
Eric
cfd68e48a4 perl-graph: Create new package (#7022) 2018-01-22 07:10:58 +01:00
Eric
1733dff977 perl-array-utils: Create new package (#7020) 2018-01-22 07:10:17 +01:00
Eric
02b9cf5085 perl-app-cmd: Create new package (#7019) 2018-01-22 07:09:34 +01:00
Eric
cd82a9e050 perl-perlio-gzip: Create new package (#7018) 2018-01-22 07:08:41 +01:00
Geoffrey Oxberry
227b58bb67 Visit 2.13.0 (#6947)
* visit: add version 2.12.3

* visit: add version 2.13.0

* visit: enable building with hdf5+mpi

* visit: add qwt dependency

Building VisIt requires Qwt, which is not part of Qt. Prior to this
commit, this dependency was not included in the VisIt spack package,
resulting in a configure-time bug with an error message indicating a
missing Qwt dependency.

This commit fixes this bug by adding Qwt dependency information.
2018-01-21 09:16:23 -06:00
Hans Pabst
202c413ae0 LIBXSMM 1.8.2 (#6896)
* Included LIBXSMM 1.8 into the list of available versions.

* LIBXSMM 1.8.1

* LIBXSMM 1.8.2 (release notes: https://github.com/hfp/libxsmm/releases/tag/1.8.2).

* LIBXSMM: Use join_path instead of hard-coding the separator. Install "version.txt" into the documentation directory. Removed installing "README.md" from LIBXSMM's root directory as it overrides README.md provided there. The latter uses correct relative references to the other documentation parts.

Note: Apparently, "FC=/path/to/gfortran spack install libxsmm" is currently needed for Spack since does not pick-up the Fortran compiler (but incorrectly uses the C compiler instead).

* LIBXSMM: converted Package into MakefilePackage (to address https://github.com/spack/spack/pull/6896#discussion_r160993923).

* LIBXSMM: account for changed file set in 1.8.2 onward (addresses https://github.com/spack/spack/pull/6896#pullrequestreview-88670974).

* Fixed incorrect behavior of "+header-only", which did not install the "src" folder. Addressed https://github.com/spack/spack/pull/6896#discussion_r162783180 and https://github.com/spack/spack/pull/6896#discussion_r162783221.

* Use conflicts msg argument to present a friendly error message.
2018-01-21 09:14:26 -06:00
Denis Davydov
6170ca863d dealii: update CMake dependency (#7010) 2018-01-20 21:59:24 +01:00
sknigh
27bb18bae2 Added libgit2@0.26.0 (#6952) 2018-01-20 21:57:41 +01:00
sknigh
e98a85c807 Added added libssh2@1.8.0 (#6951) 2018-01-20 21:56:55 +01:00
Michael Kuhn
9f0e17a538 flex: restrict GCC conflict to newer Ubuntu releases (#6963)
flex 2.6.4 compiles fine with GCC 7 on (at least) Ubuntu 16.04 and Fedora 27.
2018-01-20 21:36:45 +01:00
Geoffrey Oxberry
9d84e7eb5c llvm: add version 5.0.1 (#6957) 2018-01-20 21:09:31 +01:00
Michael Kuhn
2fc3e23e47 gtkplus: Update to 2.24.32 (#6964) 2018-01-20 19:42:21 +01:00
Yifan Zhu
7fc654b6a3 r-getopt: new package (#6973) 2018-01-20 19:18:07 +01:00
Geoffrey Oxberry
b83936a1f9 ipopt: add version 3.12.9 (#6982) 2018-01-20 19:11:18 +01:00
Eric
2192644071 perl-list-moreutils: Create new package (#6997) 2018-01-20 19:09:23 +01:00
peetsv
e3b8d6ef08 sniffles: add version 1.0.7 (#7004) 2018-01-20 18:39:29 +01:00
健美猫
0dee143c72 A new package: lumpy-sv. (#7009) 2018-01-20 18:38:31 +01:00
Ondřej Čertík
40ab8fe31f Add Abinit 8.6.3 (#6959) 2018-01-20 10:20:00 -06:00
Bruno Turcksin
62d53b2a5b Add boost 1.66.0 (#7000) 2018-01-20 17:10:25 +01:00
Massimiliano Culpo
621388e5ae Restore multiprocessing in unit tests (#6949)
* Revert "Travis: use --concurrency=multiprocessing only on build tests (#6872)"

This reverts commit 596d463714.

* Removing 'coverage combine' in test script

According to what was discovered in #6887, one of the problems is
calling 'coverage combine' twice without the '-a' flag. This removes
the first call within our test scripts.
2018-01-20 16:10:25 +01:00
Geoffrey Oxberry
cf736ae911 qt@4 : update corewlan patch for OS X 10.1[23] (#6943)
Update the qt4 CoreWLAN patch to apply to macOS/OS X 10.12 and 10.13,
which both still use the CoreWLAN framework in their SDKs (although
it's apparently deprecated?!). Without this patch update, `spack
install qt@4.8.6` fails on macOS/OS X 10.12 because the linker
cannot find headers from the CoreWLAN framework.
2018-01-20 07:53:50 -06:00
Geoffrey Malcolm Oxberry
7c4c6e72ad vtk@:6.1.0 : disable Obj-C gc for XCode >= 5.1
Apple removed support for Objective-C garbage collection in binaries
in XCode 5.1, but VTK 6.1.0 and earlier set flags for garbage
collection, resulting in a compile-time bug when compiling VTK using
any recent version of XCode (i.e., Apple Clang).

This commit fixes this bug by removing the garbage collection flags
via setting the variable `VTK_REQUIRED_OBJCXX_FLAGS` to the empty
string. This variable has the same value (i.e., the empty string) in
the root-level CMakeLists.txt file for VTK 6.2.0 and later.
2018-01-19 13:44:36 -08:00
Geoffrey Malcolm Oxberry
48ae4c22b2 vtk@:6.1.0 : fix NetCDF C++ bindings detection
VTK 6.1.0 and earlier do not use paths stored in `NETCDF_CXX_ROOT` to
detect the presence of NetCDF C++ headers and libraries. Consequently,
VTK 6.1.0 does not build.

This commit fixes this bug by setting the advanced variables
`NETCDF_CXX_INCLUDE_DIR` and `NETCDF_CXX_LIBRARY` at the command line
to specify the directory containing headers and the full library path
for the NetCDF C++ bindings.
2018-01-19 13:44:36 -08:00
Levi Baber
8d2e340e16 Add --full-path option to module find (#6838) 2018-01-19 20:08:36 +01:00
Christoph Junghans
a102177db7 miniqmc: initial commit (#6991) 2018-01-19 09:38:21 -07:00
Massimiliano Culpo
a389bff949 Added a setter to the Spec.prefix property (#6814)
This commit removes logic from Spec that was there only to be used in
tests, and allows to set a new prefix cleanly in user's code.
2018-01-19 09:31:19 +01:00
becker33
3686c250ed 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.
2018-01-18 17:55:44 -08:00
Howard Pritchard
568db965cf ucx: update for release 1.2.2 (#6990)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2018-01-18 13:41:16 -07:00
Massimiliano Culpo
de679abd67 Added flags to unit tests + OSX build done once per day (#6988)
* Adding flags to codecov reports

* OSX builds are triggered once a day
2018-01-18 20:06:26 +01:00
junkudo
9704369f17 ipopt package: set compiler flags in configure (#6714)
This makes use of the new flag_handler logic from 28d8784a to set
compiler flags for ipopt by passing them as arguments to the build
system rather than injecting them into the compiler wrappers. This
avoids conflicts between flags that are chosen by the build system
and flags that are set by the user.
2018-01-18 10:39:08 -08:00
Todd Gamblin
4dd6ee25d6 Fix logo link in README.md to point to the develop branch. (#6969) 2018-01-17 09:06:14 -08:00
Todd Gamblin
84b2cc0823 Final changes for v0.11.0 (#6318) 2018-01-16 22:25:08 -08:00
Massimiliano Culpo
4d7e7f25c4 Fix installing specs from yaml file (#6906)
The feature added in #4611 is currently broken. This commit fixes the
behavior of the command and adds unit tests to ensure the basic semantic
is maintained.

It also changes slightly the behavior of Spec.concretized to avoid
copying caches before the concretization (as this may result in a
wrong hash computation for the DAG).
2018-01-16 08:03:10 -06:00
Todd Gamblin
50ca4979e1 Speed up doc builds with spack list --format=html (#6945)
- Generating the HTML from for >2300 packages from RST in Sphinx seems to
  take forever.

- Add an option to `spack list` to generate straight HTML instead.

- This reduces the doc build time to about a minute (from 5 minutes on a mac laptop).
2018-01-16 00:12:11 -08:00
Massimiliano Culpo
1fb38c9e04 Vendor ordereddict for python2.6 only (#6931)
* Vendor ordereddict for python2.6 only

This commit substitutes the custom module 'ordereddict_backport' with
the more known 'ordereddict' and vendors it only for python 2.6. Other
supported versions of python will use 'collections.OrderedDict'.

* Use absolute imports also for python 2.6

See PEP-328 for more information on the subject

* Added provenance of vendored ordereddict
2018-01-16 07:00:39 +01:00
Adam J. Stewart
498c522a31 Add url_for_version to pango package (#6939) 2018-01-15 14:05:27 -06:00
Geoffrey Oxberry
48b127a225 ipopt: add version 3.12.8, relax metis version requirements (#6936)
* ipopt: add version 3.12.8

* ipopt: allow linking with metis 5
2018-01-15 09:31:50 -06:00
Geoffrey Oxberry
67219a1340 ruby: fix +openssl & +readline variants (#6935)
* ruby: fix +openssl & +readline variants

Fix "unqualified variable spec['openssl']" error in the ruby package
that arises when trying to install the `+openssl` variant by
referencing the `spec` field in the `Ruby` class. A similar error
arises when trying to install the `+readline` variant; this error is
also fixed by this patch.

* ruby: make +openssl variant default to on

Ruby's gem command will fetch gems from HTTPS resources by default
(e.g., gem install bundler). Without openssl, request to fetch gems
bounce back with the error

```
ERROR:  While executing gem ... (Gem::Exception)
    Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
```

Without the ability to install gems -- required for some spack
packages -- the ruby installation has limited utility for many users.

* ruby: update rubygems ssl cert to fix ssl errors

The SSL certificate bundled with Ruby 2.2.0 is outdated, so e.g., `gem
install erubis` will fail with an SSL certificate error. This commit
installs the updated SSL certificate to the proper directory so that
gems can be downloaded and installed from RubyGems.
2018-01-15 09:00:07 -06:00
Federico Ficarelli
6093d6df7d Reworked the graphviz package (#6865)
The url in graphviz has been fixed and its version has been 
updated to the latest available (2.40.1). Added variants for 
expat, qt, gtk+ and ghostscript.
2018-01-15 15:26:14 +01:00
Milton Woods
43190a6bf6 Py-fparser: python parser for Fortran code (#6794)
* py-fparser: parser for Fortran 77..2003 code

* py-fparser: guard against external pytest.ini

* py-fparser: define 'develop' version as latest master branch

* py-fparser: fetch tagged versions from git repo

* py-fparser: add latest release 0.0.6

* py-fparser: whitespace adjustments for flake8

* py-fparser: inherit python dependency from PythonPackage

* py-fparser: rely on spack to resolve sub-dependencies

* py-fparser: try type='test' for py-pytest

* py-fparser: fetch release tarballs instead of git commits

* py-fparser: test deptype is available, remove comment

* py-fparser: limit versions that use py-six

* py-fparser: version ranges do not need a lower bound
2018-01-14 15:42:17 -06:00
lingnanyuan
f7db5d9cac r-rappdirs: Create new package. (#6891)
* r-rappdirs: Create new package.

* r-rappdirs: Add version constraints.
2018-01-14 15:41:32 -06:00
Milton Woods
a11765dbdf Qt fixes for RHEL6/7 (#6895)
* qt: move licence acceptance from qt3krell.patch to qt3accept.patch

* qt: ensure that ptrdiff_t is defined for qt@3.3.8b

* qt: disable webglplugin for qt@5.10~opengl

* qt: depend on libxext (for qt@3 and @4)

* qt: avoid X dependencies on darwin platforms

* Revert "qt: avoid X dependencies on darwin platforms"

This reverts commit 05ce08de94.

* qt: limit range of versions depending on libxext
2018-01-14 15:41:17 -06:00
healther
8f6fe9e030 Fix installation of bash-completion (#6911)
* Fix installation of bash-completion

* use run_before decorator instead of overriding install method
2018-01-14 15:40:22 -06:00
healther
e583d789d6 Update py-backports-functools-lru-cache to 1.4 (#6915)
* Update py-backports-functools-lru-cache to 1.4

* fix old url
2018-01-14 15:39:53 -06:00
healther
a03674ebbd make vim python3 compatible (#6925) 2018-01-14 15:39:33 -06:00
David Pérez-Suárez
0adcb610fe Updated catch to newer version (up to 2.1.0) (#6933)
Also updated all the sums from previous versions
2018-01-14 15:39:10 -06:00
healther
d30dc2bf15 Add version 1.81 of cppcheck (#6912) 2018-01-14 08:14:55 -06:00
Simone Bnà
e2908af9b4 Catalyst package (#6834)
* catalyst: added catalyst package

* catalyst: missing libx11 and libxt dependencies

* catalyst: added std cmake args

* catalyst: override paraview git describe cmake variable

* catalyst: fixed flake8 errors
2018-01-13 22:20:39 -06:00
Michael Kuhn
df7876ab54 Do not construct path to perl command manually (#6927)
Instead, use spec['perl'].command.path.
2018-01-13 22:10:42 -06:00
healther
589ea856a5 Add PyNN 0.9.1 (#6926) 2018-01-13 22:10:10 -06:00
healther
b3c96e2e40 Update checksum for version 0.5.3 of yaml-cpp (#6924) 2018-01-13 22:09:36 -06:00
healther
47b554a959 Add py-pyflakes versions up to 1.6.0 (#6923) 2018-01-13 22:09:17 -06:00
healther
b87f9ae5d4 Add py-pycodestyle versions up to 2.3.1 (#6922) 2018-01-13 22:08:51 -06:00
healther
7c4a193b3f Update py-neo to 0.5.2 (#6921) 2018-01-13 22:08:38 -06:00
healther
a2d7939e27 Add py-mccabe versions up to 0.6.1 (#6920) 2018-01-13 22:08:18 -06:00
healther
176814373c add version 1.26 to py-git-review and fix run_env (#6919)
* Update py-git-review to version 1.26.0

* Fix py-git-review package

TypeError: object of type 'Version' has no len()
2018-01-13 22:08:05 -06:00
healther
c6a7979cfd Update py-flake8 to 3.5.0 (#6918) 2018-01-13 22:07:46 -06:00
healther
8c648a73bc py-doxypy conflicts python3 (#6916)
* py-doxypy conflicts python3

* change conflicts to depends_on
2018-01-13 22:07:14 -06:00
healther
25bcabec98 Update py-autopep8 to 1.3.3 (#6914)
* Update py-autopep8 to 1.3.3

* Update package.py
2018-01-13 22:05:44 -06:00
Michael Kuhn
d8b03d1e37 glib: Fix python handling (#6910)
Newer versions of glib require python. Fix up the python sbangs the same
way we already fix up the perl ones.

Fixes #6899
2018-01-13 08:50:06 -06:00
healther
e8df0ddce4 add patch for gccxml with gcc@5: (#6913) 2018-01-13 08:46:00 -06:00
healther
715a173688 Update py-elephant to 0.4.1 (#6917) 2018-01-13 08:44:43 -06:00
scheibelp
278901c02c Handle test dependencies that are python extensions (#6904)
See #6794

This fixes cases where test-only dependencies were omitted from
consideration when modifying the environment at build time. This
includes an update to the python package definition to add
testing-related python extensions to its specialized environment
setup.
2018-01-12 19:02:54 -08:00
Geoffrey Oxberry
761b8f76d2 coinhsl: add version 2014.01.10 (#6909)
* coinhsl: add version 2014.01.10 (stable)

* coinhsl: make 2014.01.10 preferred version

Make Harwell Subroutines Library for IPOPT version 2014.01.10 the
preferred version because it is the latest stable version released.

* coinhsl: add option to link w/ BLAS libraries
2018-01-12 17:27:52 -06:00
scheibelp
f4101550d1 Relax conflict checks for externals (#6907)
This updates the conflict-checking logic to require that the conflict
spec matches exactly and that all fields mentioned in the conflict
spec are present in the concretized spec in order to report a
conflict. This will automatically skip all conflict checks for
dependencies of externals (since externals strip dependencies). This
will not affect non-external packages since all fields and
dependencies are fully specified for such packages.
2018-01-12 10:53:11 -08:00
健美猫
9e3f8c0d79 A new package: ethminer. (#6908) 2018-01-12 07:50:07 -06:00
Adam J. Stewart
03ff2a32ae Reduce verbosity of build tests (#6901) 2018-01-11 16:14:26 -06:00
Michael Kuhn
070bcab7f2 libbson, libmongoc: Update to 1.9.1 (#6900) 2018-01-11 10:19:44 -06:00
stefanosoffia
5dd7baa61d Updated misc devel tools. (#6897) 2018-01-11 10:06:53 -06:00
Gregory Lee
5d49fe4b4c fix ips 2018 vtune directory name (#6893) 2018-01-11 09:51:14 -06:00
lingnanyuan
637165eef8 r-biocstyle: Create new package. (#6503)
* r-biocstyle: Create new package.

* r-biocstyle: add version constraints.
2018-01-10 23:13:31 -06:00
lingnanyuan
88d9e6bd21 r-bookdown: Create new package. (#6504)
* r-bookdown: Create new package.

* r-bookdown: add version constraints.
2018-01-10 23:13:12 -06:00
lingnanyuan
d2eecf5774 r-rprojroot: Create new package. (#6505)
* r-rprojroot: Create new package.

* r-rprojroot: add version constraints.

* r-rprojroot: Add list_url.
2018-01-10 23:12:54 -06:00
lingnanyuan
384b8f43a2 r-rmarkdown: Update version to 1.7 (#6506)
* r-rmarkdown: Update version to 1.7

* r-rmarkdown: add version constraints.
2018-01-10 23:12:35 -06:00
Massimiliano Culpo
a4c4739626 Travis: upload the coverage data as part of the script (#6877)
According to Travis docs the exit code of after_success doesn't affect
the build result. Instead, uploading the coverage data as the last step
of the script will cause the job to fail if the command exits with
non-zero.

https://docs.travis-ci.com/user/customizing-the-build/#Breaking-the-Build
2018-01-10 20:41:19 -06:00
snehring
d07b83237d discovardenovo: adding new package (#6888) 2018-01-10 20:40:41 -06:00
Adam J. Stewart
d7920ab4f3 Keep track of source and versions for external libraries (#6803)
* Keep track of source and versions for external libraries

* Note source of more obscure libraries

* We aren't upgrading jsonschema after all

* Add note on modifications made to pytest
2018-01-10 19:14:19 -06:00
Adam J. Stewart
57c71aea89 Update to pytest 3.2.5 (#6801)
* Update to pytest 3.2.5

* Get pytest to pass Python 2.6 compatibility checks
2018-01-10 17:41:50 -06:00
Adam J. Stewart
10ee7d6d81 Add suggestion to Contribution Guide to activate flake8 (#6886) 2018-01-10 13:02:33 -06:00
jkelling
da01c8a541 package libharu: Add build deps (#6883)
... libtool,autoconf,automake
2018-01-10 12:28:32 -06:00
stefanosoffia
8a7525064d Updated i3 dependencies. (#6885) 2018-01-10 11:02:07 -06:00
Massimiliano Culpo
596d463714 Travis: use --concurrency=multiprocessing only on build tests (#6872)
On a local workstation, it seems that tracking multiple processes during
coverage may result in malformed coverage reports for unit tests and not
for build tests.

Given that multiple processes make a difference in coverage mainly for
build tests, try to disable the tracking for unit tests to see if we get
more stable coverage results.
2018-01-10 10:14:17 -06:00
Adam J. Stewart
d17a10c6ac Update to the latest version of jinja2 (#6790) 2018-01-10 10:06:04 -06:00
Adam J. Stewart
4fdf08e51c Update to py 1.4.34 (#6789)
* Update to the latest version of py

* Revert back to py 1.4.34
2018-01-10 10:05:39 -06:00
Adam J. Stewart
e4c0ed8540 Add unit tests for spack versions command (#6774)
* Add unit tests for spack versions command

* Fix bug in web spidering for Python 2.6
2018-01-10 10:04:47 -06:00
Adam J. Stewart
2f0dd02c10 Update to the latest version of six (#6787) 2018-01-10 10:04:07 -06:00
Adam J. Stewart
cab34d7d3b Fix bug in placeholder spack cd command and add unit tests (#6776) 2018-01-10 10:03:45 -06:00
Adam J. Stewart
db42d080f7 Geant4: fix qt dependency (#6828) 2018-01-10 09:48:15 -06:00
Adam J. Stewart
ab4e20a49c Older versions of libiconv don't work with newer versions of GCC (#6829) 2018-01-10 09:47:33 -06:00
Levi Baber
c1117f0593 opa-psm2: new package (#6874)
* opa-psm2: new package

* opa-psm2: installs now. think the module file needs work

* opa-psm2: module file seems good now

* opa-psm2: remove fixme

* opa-psm2: flake8 fixes

* opa-psm2: removing unnecessary make in install phase
2018-01-10 09:45:34 -06:00
健美猫
b733ce1e5f bcftools is a AutotoolsPackage. (#6881) 2018-01-10 09:45:05 -06:00
Geoffrey Oxberry
77a29f09f9 emacs: on darwin, do not build Cocoa app (#6882)
Building emacs on darwin throws an error when trying to build an Emacs
app in the nextstep/Emacs.app path of the build tree. For now, disable
building this app.

It's possible to enable building the app also; Homebrew offers options
to this effect, and also adds Mac-specific options for starting the
emacs daemon. However, for the sake of simplicity and getting a
workable up-to-date emacs installation on my machine as quickly as
possible, this commit focuses on a minimal viable modification.
2018-01-10 09:44:35 -06:00
健美猫
ac5b5724c6 Add a new package: unblur. (#6867)
* Add a new package: unblur.

* Add a new package: unblur.

* Add a new package: unblur.

* Add a new package: unblur.

Conflicts:
	var/spack/repos/builtin/packages/unblur/package.py

* Add a new package: unblur.
2018-01-10 09:35:00 -06:00
Adam J. Stewart
ba84630caf Add unit tests for spack arch command (#6775) 2018-01-10 13:53:55 +01:00
Adam J. Stewart
f7bf73a458 Add unit tests for spack graph command (#6778) 2018-01-10 13:52:34 +01:00
Adam J. Stewart
5f6df40f3b Fix bash tab completion for spack install (#6868) 2018-01-10 13:51:04 +01:00
Adam J. Stewart
824e078140 Fix a typo in fetch_strategy error message formatting (#6878) 2018-01-10 13:49:16 +01:00
Adam J. Stewart
8555947e05 Explicitly cast Version to str in openfoam-org (#6880) 2018-01-10 13:48:22 +01:00
Adam J. Stewart
4d4fc8760d Fix tests for git package (#6869) 2018-01-10 13:47:38 +01:00
Yifan Zhu
f498f52a2d casper: new package (#6873)
* casper: create package

* jellyfish: added version 2.2.7

* casper: new package

* casper: depends on jellyfish 2.2.3 or higher

* casper: moved depends_on above install

* casper: updated package.py

* fixing download url for 1.11.1

* casper: set up environment

* casper: add conflicts gcc@7.1.0, cannot install with 7.1.0

* capser: flake8 error corrcted

* casper: create package

* jellyfish: added version 2.2.7

* casper: new package

* casper: depends on jellyfish 2.2.3 or higher

* casper: moved depends_on above install

* casper: updated package.py

* fixing download url for 1.11.1

* casper: set up environment

* casper: add conflicts gcc@7.1.0, cannot install with 7.1.0

* capser: flake8 error corrcted
2018-01-09 22:07:05 -06:00
Eric
15111177a2 prodigal: Create new package (#6870) 2018-01-09 12:57:58 -06:00
健美猫
2dd0749b5f A new package: jbigkit. (#6847)
* A new package: jbigkit.

* A new package: jbigkit.

* Add a new package: jbigkit.
2018-01-09 10:03:31 -06:00
BenBrands
9ef39163d8 changed url for astyle (#6863)
* changed url for astyle

* use SourceForge
2018-01-09 09:40:27 -06:00
George Hartzell
ffa20d2171 [WIP] Fix git gettext/libintl handling (builds on ubuntu) (#6859)
* Fix git on ubuntu, first cut

Spack needs to pass information about where the linker
can find `libintl`.  We're currently using `LDFLAGS` to do so.
The `LDFLAGS` info is pasted into the command line upstream
of the a file (`libgit.a`) that includes unresolved symbols that
need that library.  This fails on Ubuntu, although it seems to
work on CentOS (see #6841).

This change allows git to build on a Ubuntu 16.04.3 droplet.

TODO: test on other platforms...

* Add a bit of useful commentary
2018-01-09 09:40:09 -06:00
Federico Ficarelli
43f98dc0d5 Fix missing dependency in ghostscript (#6866) 2018-01-09 08:43:53 -06:00
Adam J. Stewart
eb42013727 Remove std_cmake_args from VTK definition (#6856) 2018-01-09 08:56:00 +01:00
Eric
697f1061c5 perl-xml-simple: Create new package (#6849)
* perl-xml-simple: Create new package

* perl-xml-simple: fix homepage url
2018-01-08 19:36:04 -06:00
Eric
785389be58 perl-digest-md5: Create new package (#6852) 2018-01-08 19:35:48 -06:00
Eric
c99ad2b4a5 barrnap: Create new package (#6855) 2018-01-08 19:35:31 -06:00
Eric
e72c5ee8a3 perl-swissknife: Create new package (#6851) 2018-01-08 18:46:51 -06:00
Eric
6cf530f28d perl-time-piece: Create new package (#6853) 2018-01-08 18:46:16 -06:00
Eric
8935a0b90b perl-text-unidecode: Create new package (#6854) 2018-01-08 18:45:58 -06:00
Axel Huebl
257d23581c Cleanup: Remove Dbl Brackets (#6848)
Remove unnecessary double brackets in ADIOS2 and gearshifft packages.
2018-01-08 19:42:51 +01:00
Bryce Allen
747dbcb82b fix swift-t packages dependencies (#6530) 2018-01-08 17:25:15 +01:00
Kelly (KT) Thompson
eb66aca9ae Upgrade recipe for parmetis to be a CMakePackage (#6807)
* Upgrade recipe for parmetis to be a CMakePackage

+ Eliminate `install` method (use the one from CMakePackage).
+ Move configure options to new method `cmake_args`
+ Move special install instructions for DarwinOS to a `run_after` method.

* Fix run_after section; Remove variant +debug.
2018-01-08 09:18:42 -06:00
Axel Huebl
298f5562c9 Rmlab: Control PNG (#6846)
Control the find_package of the PNG variant explicitly.
This avoids picking up an "external" PNGwriter install in
case `~png` is picked by changing the default "AUTO" search
to explicit "ON" (required) of "OFF" (ignore if exists).
2018-01-08 09:14:38 -06:00
Adam J. Stewart
ffd435bad7 Add documentation on Codecov (#6842) 2018-01-07 08:28:56 -08:00
Michael Kuron
38fabce2aa Siesta: only apply patch to <4.1 and fix Intel compiler (#6466)
* Siesta: add 3.2 and don't apply patch to 4.1

* siesta: fix bad optimization with Intel compiler

* siesta: Fix download URL

* siesta: build utilities too

* siesta: fix binary name collision

* siesta: Cleanup
2018-01-06 12:03:54 -06:00
Milton Woods
ce0c77c991 Blitz 1.0.1 (#6765)
* blitz: update to version 1.0.1

* blitz: change URL for release tarballs

* blitz: update checksum of @1.0.0 after changing URL
2018-01-06 12:02:41 -06:00
Milton Woods
3c43a2d79c py-psyclone: Parallelisation System for climate models (#6797)
* py-psyclone: Code generation for the PSyKAl framework from the GungHo project

* py-psyclone: add installation tests based on py.test

* py-psyclone: define 'develop' version as latest master branch

* py-psyclone: extract tagged version 1.5.1 from git repo

* py-psyclone: whitespace adjustments for flake8

* py-psyclone: use compatible versions of py-fparser

* py-psyclone: use type='test' for selected dependencies
2018-01-06 12:02:13 -06:00
Jon Rood
8813b3fbd3 Updating OpenFAST to use explicit lapack and blas libraries from Spack. (#6824)
* Updating OpenFAST to use explicit lapack and blas libraries from Spack.

* Simplifying openfast blas lib logic and fixes flake8 errors.

* Changing order of blas and lapack libs in openfast package.
2018-01-06 12:01:06 -06:00
Eric
4cd9bdedd7 sailfish: Create new package (#6827)
* sailfish: Create new package

* sailfish: fix tbb dependency

* sailfish: fix dependency type
2018-01-05 15:08:45 -06:00
Eric
ea6ebedd0e py-pybedtools: Create new package (#6487)
* py-pybedtools: Create new package

* py-pybedtools: add py-six requirement

* py-pybedtools: remove py-cython dependency for release version

* py-pybedtools: include minimum version of py-pysam
2018-01-05 15:08:22 -06:00
Massimiliano Culpo
d978cfbb1a Fixes the bug in spack configure spotted in #6833 (#6837) 2018-01-05 15:07:51 -06:00
Adam J. Stewart
d1aee2c2f2 Fix spack configure output (#6835) 2018-01-05 14:26:43 -06:00
健美猫
fc1c7c2db7 Add a package: ctffind. (#6836)
* Add a package: ctffind.

* Add a package: ctffind.
2018-01-05 13:46:48 -06:00
Kelly (KT) Thompson
322b016230 Provide build_type variant for Metis. (#6808)
* Provide build_type variant for Metis.

+ Ideally, we would make Metis a CMakePackage, but `metis@:5` doesn't use CMake.
+ For now, provide a `build_type=` variant similar what is found in
  CMakePackage.
+ There is a potential for duplicate specification of `CMAKE_BUILD_TYPE` if both
  variants `+debug` and `build_type=` are specified. I am looking for advice on
  how this can be resolved.

* Update metis recipe in response to flake8 and user comments.

+ Wrap comment lines that used more than 80 columns.
+ Change `+debug` variant to avoid potential for multiple `-DCMAKE_BUID_TYPE=`
  arguments provided to cmake.  Specifying this variant no longer appends this
  configure option.  However, if `+debug` is specified, require
  `build_type=Debug` to maintain expected behavior.

* For metis, remove +debug variant; use build_type= instead.

+ Update recipe for metis@4 to extract `build_type=` values and set `OPTFLAGS`
  accordingly.
+ For metis@5:, the behavior from the previously supported variant `+debug` can
  be obtained with the options `+gdb build_type=Debug`

* Conflicts added for metis@4 when build_type != Release|Debug.

* Use spack function conflicts instead of 'raise InstallError'.
2018-01-05 13:45:21 -06:00
David Hows
d4e4755ec9 Fix pymongo package (#6832)
And update to 3.6
2018-01-05 08:47:36 -06:00
健美猫
d438e9da4b Create a symbolic link to the MotionCor2_x.x.x executable. (#6826)
* Create a symbolic link for MotionCor2.

* Create a symbolic link for MotionCor2.

* Create a symbolic link for MotionCor2.

* Create a symbolic link for MotionCor2.
2018-01-04 21:27:59 -06:00
Adam J. Stewart
a7f0da53f7 Revert "openssl: Add perl dependency" (#6831)
* Revert "Added i3 and its dependencies. (#6805)"

This reverts commit a00a09a234.

* Revert "Adding NEURON simulator package (#5097)"

This reverts commit d24782c86d.

* Revert "openssl: Add perl dependency (#5188)"

This reverts commit 395ee97f3b.
2018-01-04 16:46:24 -06:00
stefanosoffia
a00a09a234 Added i3 and its dependencies. (#6805) 2018-01-04 14:45:25 -06:00
Pramod S Kumbhar
d24782c86d Adding NEURON simulator package (#5097)
* Adding NEURON package widely used in computational neuroscience community

* flake8 fixes

* Add rx3d variant

* Addressed review comments from Adam

* Addressed 2nd review comments

* Added check for +mpi on bg-q

* Filter spack compiler wrappers in NEURON scripts
Add gcc march=native flag to make front-end build robust

* Make develop as preferred version due to bug in long filename handlings in <= v7.4

* Avoid use of gcc in cross compiling environment
Use arch specific options on cray and bg-q arch

* Simplify cross compiling build:
    - v7.5 added and no longer need develop as preferred version
    - legacy cray related options removed
    - cross compiling args reduced
    - python arguments reduced as neuron finds proper libraries

* Simplify bg-q configurations

* Cleanup and unify arch options

* Make sure to add commonly available packages as dependency

* Arch path added to dependent_environment as nrniv needed at runtime

* Support for Power 8 architecture

* Fix python3 on OS X

* flake8 fix

* remove unnecessary conflcist directives
2018-01-04 09:55:30 -06:00
Michael Kuhn
395ee97f3b openssl: Add perl dependency (#5188)
perl is required for the configure script.
2018-01-04 09:51:55 -06:00
Brian Van Essen
45188d6d96 Protobuf intel patch (#5233)
* Added a package for the MDAnalysis toolkit.

* Added a patch file to get rid of compiler warnings with intel compiler
and inlining.  Added checksum values for other versions of protobuf.

* Added dependency on Intel compiler for intel patch
2018-01-04 09:48:22 -06:00
Simone Bnà
3f9ed72f68 Fix build of paraview (#5802)
* added variant examples to paraview package.py

* qt: added libxt dependency

* add variant to use external hdf5, this is needed when compiling with gcc@4.8.5

* paraview: added python dependecies to PYTHONPATH
2018-01-04 09:47:17 -06:00
Todd Gamblin
dab2dc24a5 make nghttp2 optional for curl, as it does not build for older compilers. (#5977) 2018-01-04 09:45:45 -06:00
Thilina Rathnayake
9a595ca312 Adding Nek5000 to Spack (#6153)
* Start adding Nek5000 package

* Add tools to install: genmap, prenek, postnek

* Address comments by @davydden

* Use install_tree (thanks @junghans) and polish

* Update url

* Fix flake formatting errors

* Change F77 and CC compilers

Apparently spack compilers can't be called outside spack and we
have an underscore test in our Nek5000/core/makenek.inc file which
calls F77 compiler.

* Add support for visit and profiling options

* Fix a typo

* Fix a typo

* Remove the C check

* Add visit variant

* Update the install of int_tp tool

* Let MAXNEL to be set during installation
2018-01-04 09:41:53 -06:00
lingnanyuan
d62555875a r-rgraphviz: Create new package. (#6316) 2018-01-04 09:37:00 -06:00
serbanmaerean
8f6935d53f Set SMPI library path in dependent packages (#6548)
* Added magma package

* Incorporated Serban's change

* Remove deleted files

* argparse.py

* Sync forked Spack repo in github

* Add spectrum-mpi lib path to LD_LIBRAY_PATH in spack_env.
As a result of supporting alternate installation directories, spectrum-mpi does
not use rpath anymore, so we need to set LD_LIBRARY_PATH in spack_env to allow
MPI programs to run during dependent package configuration.

* Fix flake8 error (blank line at EOF)
2018-01-04 09:10:37 -06:00
Eric
521e9da053 RNA-SeQC: Create new package (#6555)
* RNA-SeQC: Create new package

* RNA-SeQC: Fix flake8 error

* RNA-SeQC: Fix Travis error
2018-01-04 09:07:29 -06:00
lingnanyuan
414287a52e r-rgeos: Create new package. (#6592) 2018-01-04 09:01:17 -06:00
Denis Davydov
cef711458e qt: add 5.10.0, fix macOS build, clean-up comments/TODOs (#6766)
* qt: add 5.10.0, fix macOS build, clean-up comments/TODOs

* qt: fix pkgconfig files

* qt: restore-pc-files.patch

* add version constraint to the patch

* qt: adjust url_for_version for 5.10.0
2018-01-04 09:00:01 -06:00
Milton Woods
70d589a14e xios: I/O management for climate models (#6796)
* xios: XML-IO-SERVER library for IO management of climate models

* xios: install to prefix directory

* xios: add a test case

* xios: define versions to use cache and mirror directories

* xios: use proper svn URL for version 910

* xios: package url must be defined, otherwise uninstall fails

* xios: add trunk version to allow building latest revision

* xios: enable parallel build

* xios: allow installation with mpif90 compiler wrappers

* xios: use mpi variants of dependencies

* xios: allow user to specify MPI launcher via MPIRUN environment variable

* xios: prefer spack versions of blitz and boost (needed for gcc@7)

* xios: enable builds with clang+gfortran on OSX

* xios: use numeric versions for releases, @develop for trunk

* xios: different patches required for @1.0 and @develop

* xios: patch function for clang works across revisions

* xios: link blitz library

* xios: workaround bug 17782 in llvm

* xios: whitespace adjustments for flake8

* xios: avoid bare except clause

* xios: netcdf-fortran inherits ^netcdf+mpi from xios dependencies
2018-01-04 08:58:24 -06:00
Eric
75f1a91821 py-umi-tools: Create new package (#6823)
* py-umi-tools: Create new package

* py-umi-tools: fix dependencies
2018-01-04 08:55:37 -06:00
Loikki
229db0f1c7 Update grackle (#6822) 2018-01-03 21:35:17 +01:00
Mark Olesen
f07ce6094e package openfoam-com: add version 1712 and update patches (#6820)
* combine all patches for 1612 into a single file, with additional
  comments to explain the rational.

* Add kahip decomposition variant.

* Add support for ARM64 architecture.

* filter instead of patching etc/config.*/settings. This eliminates
  patch files for 1706, perhaps for the future as well.

* URLs at or before version 1612 have a different structure, so
  provide a url_for_version implementation to handle this
2018-01-03 11:30:10 -08:00
Sinan
2f551908b8 package/r-rjags: create new package (#6804)
* package/r-rjags: create new package

* fix typo

fix typo

* package/r-rjags small fix to pass flake8 tests

* package/r-rjags: more fixes to satisfy flake8 tests
2018-01-03 10:17:15 -06:00
健美猫
34c9f08c2c fltk depends on libx11. (#6816) 2018-01-03 10:14:51 -06:00
健美猫
ce317674bf Add a new version and runtime dependency for MotionCor2. (#6817)
* Update motioncor2 to 1.0.4 and add libtiff dependency.

* Add comments for libtiff dependency in MotionCor2.
2018-01-03 10:03:35 -06:00
健美猫
ec2c0b3e65 Add libtiff@3. (#6818) 2018-01-03 10:02:45 -06:00
Denis Davydov
e623bbb679 suite-sparse: support 64bit BLAS (#6767)
* suite-sparse: support 64bit BLAS

* use double quotes instead of escaped quotes
2018-01-03 09:58:19 -06:00
stefanosoffia
2ed914aa1b Flex v2.6.4 conflicts with gcc@7.2.0 (#6819) 2018-01-03 09:46:57 -06:00
Douglas Duckworth
d466d8f3d3 singularity - added master branch (#6631)
* singularity - added master branch as this has latest fixes - 2.4 does not compile on centos 6 without use of this branch

* renamed to develop

* added master branch properly
2018-01-02 21:47:21 -06:00
Axel Huebl
5d2f752c1b New Package: py-adios (#5686)
The ADIOS1 numpy bindings depend on an installed, fully loaded
ADIOS C library + its config tools to build properly.
2018-01-02 21:37:59 -06:00
Brian Van Essen
3c63710532 Intel mkl dnn (#6268)
* Added a package for the MDAnalysis toolkit.

* Added a package for the Intel MKL-DNN project.

* Fixed flake8 errors.

* Fixed Flake8
2018-01-02 21:27:34 -06:00
Michael Kuhn
01bec7976b Fix HTML detection (#6394)
Some servers report a content-type header instead of Content-Type.
2018-01-02 21:21:36 -06:00
Eric
d2c3b3884b rsem: update version 1.3.0 md5sum (#6650) 2018-01-02 21:15:40 -06:00
Michael Kuron
2c5c7a37cb atom-dft: new package plus dependencies (#6653)
* atom-dft: new package plus dependencies

* Indentation fix

* Use the compiler wrappers

* Pass variables instead of using FileFilter
2018-01-02 20:32:37 -06:00
Jimmy Tang
ea6b6ef1ff Install all the cli tools from all the sub-directories (#6705)
* Install all the cli tools from all the sub-directories

* Satisfy pep8
2018-01-02 20:14:39 -06:00
Feiyi Wang
8ed1c84539 py-lrudict: a LRU-based cache dictionary (#6734)
* add py-lrudict

* style fix

* style fix: add blank lines
2018-01-02 20:10:49 -06:00
Feiyi Wang
8221265c3c py-scandir: a better directory iterator, backport to 2.7 (#6739) 2018-01-02 20:08:58 -06:00
Levi Baber
59cd2db8f3 gatk: boilerplate cleanup (#6744) 2018-01-02 20:05:04 -06:00
Denis Davydov
4b5fe75bc3 add OctavePackage (#6746)
* add OctavePackage

1. remove import CudaPackage which is not needed anymore
2. mention CudaPackage and OctavePackage in packaging guide
3. adjust OctavePackageTemplate
4. add clue file for Octave build
5. sanity check on self.prefix

* use setup_environment
2018-01-02 20:03:27 -06:00
Feiyi Wang
fd6b9ac3af py-xattr: a python interface to access extended file attribute (#6747)
* py-xattr: a python interface to access extended file attribute

* py-xattr: style fix
2018-01-02 20:02:03 -06:00
Brian Van Essen
a92268d62a Lbann update (#6751)
* Added a package for the MDAnalysis toolkit.

* Updated the LBANN recipe to use the revised cmake environment being
rolled out.

* Flake8 errors
2018-01-02 20:01:23 -06:00
Denis Davydov
3d257e8280 likwid: add stable 4.3.0 (#6761) 2018-01-02 19:59:14 -06:00
Denis Davydov
cc74da5aab mesa: disable binutils on macOS (#6763) 2018-01-02 19:58:38 -06:00
Levi Baber
353870fe50 jags: lapack fix (#6764)
* jags: fixing openblas thows a lapack error when compiling. atlas works. other lapack providers may work. also adding tags

* changing blas/lapack reference

* removing openblas conflict

* jags: whitespace cleanup for flake8
2018-01-02 19:57:54 -06:00
Milton Woods
6922ea5889 Esmf fixes for Cray, OSX and mpich (#6768)
* esmf: put .mod files in the spack compiler search path

* esmf: allow building with Cray mpi

* esmf: create run-path dependent libraries on osx

* esmf: link fortran interface libraries when building with mpich
2018-01-02 19:43:55 -06:00
Jon Rood
e1e24ff80e Adding option to build Nalu with Hypre support. (#6782) 2018-01-02 19:42:47 -06:00
peetsv
fef93d2221 perl-xml-libxml: adding perl module (#6783)
* perl-xml-libxml: adding perl module

* line length change
2018-01-02 19:42:09 -06:00
Sinan
7f319b9f84 create perl-file-which package (#6800)
* create perl-file-which package

* trivial edits for package.py so

trivial edits for package.py so that flake8 will not complain
2018-01-02 19:36:59 -06:00
stefanosoffia
2aaba189ed Updated 'nginx' from v1.12.0 to v1.13.8. (#6810)
This fixes build issues with most recent gcc versions.
See issue #6252.
2018-01-02 19:29:47 -06:00
Eric
958abe5b29 py-pyani: Create new package (#6811) 2018-01-02 19:27:42 -06:00
Eric
7db7b5b596 MinCED: Create new package (#6815) 2018-01-02 19:25:08 -06:00
Levi Baber
08ea9808c6 adding specific version url for augustus 3.3 due to old folder structure (#6813) 2018-01-02 19:24:28 -06:00
Jon Rood
285538a78d Tioga package: Explicitly list MPI compilers for Cmake (#6741) 2018-01-02 13:14:22 -08:00
Jon Rood
2812644ed7 paraview package: Explicitly specify MPI compilers in Cmake (#6738) 2018-01-02 13:06:25 -08:00
Milton Woods
5dd5dc01c2 new package: Pfunit: unit testing framework for Fortran (#6795) 2018-01-02 12:18:08 -08:00
Eric
e483f9297a new package: DIAMOND (#6793) 2018-01-02 12:03:45 -08:00
Eric
8271f0e271 new package: tantan (#6792) 2018-01-02 12:00:13 -08:00
Adam J. Stewart
b10098dc53 Cython only needed for develop version of mpi4py (#6780) 2018-01-02 11:34:24 -08:00
Adam J. Stewart
464ca87879 Add more unit tests for spack clean command (#6777) 2018-01-02 11:31:38 -08:00
Eric
9ac9017589 new package: py-rseqc (#6773) 2018-01-02 11:10:55 -08:00
Eric
e8b1e79fbf package py-biopython: remove py-mx dependency (#6772) 2018-01-02 10:59:21 -08:00
Eric
caa39d08d4 package r-rcurl: boilerplate cleanup (#6771) 2018-01-02 10:58:03 -08:00
Eric
c3b003e698 bamtools: Add version 2.5.1 (#6770) 2018-01-02 10:55:07 -08:00
Adam J. Stewart
05ce8407af Add unit tests for spack help command (#6779)
* Add unit tests for spack help command
* Work around issue with using `spack help` twice in tests
2017-12-30 22:55:49 -08:00
Adam J. Stewart
088c193a78 Update to the latest version of argparse (#6786)
* Update to the latest version of argparse

* Re-add colified logic
2017-12-30 16:08:35 -08:00
Adam J. Stewart
010334bf22 Update to distro 1.0.4 (#6788)
* Update to the latest version of distro

* Update distro to 1.0.4
2017-12-30 15:44:19 -08:00
Axel Huebl
da93c9b870 Add: lines-are-beautiful (#6784)
Adds the C++ File API library "lines-are-beautiful" for the
reMarkable e-ink tablet.
2017-12-30 12:29:27 -08:00
Nichols A. Romero
24743b7e5a QMCPACK package: update blas/lapack detection (#6753)
* Fix detection of blas and lapack: provide libraries/includes as
  arguments to CMake rather than using CMake's auto-detection.
  This includes a patch to QMCPACK's CMake files to refer to
  Spack-built blas/lapack implementations. This also includes
  special-case logic for the intel-mkl implementation of blas/lapack

* Break up unit tests and short tests. Only hard failure if the unit
  tests fail, if short tests fail issue a warning only.

* Add QMCPACK 3.3.0, get rid of 3.0.0
2017-12-22 16:47:49 -08:00
Adam J. Stewart
0c1f4a7997 Add more unit tests for spack list command (#6750) 2017-12-22 10:29:20 -08:00
Massimiliano Culpo
d3913709bb spack mirror remove: fix no-update error (#6559)
Fixes #4573 

"spack mirror remove" was not actually removing mirrors from the
configuration.
2017-12-22 10:28:23 -08:00
Denis Davydov
f764ac4573 dealii: support 64bit BLAS (#6758) 2017-12-22 15:55:04 +01:00
Andrey Prokopenko
937f68c359 clang,flang: update CC, CXX environment in installation module (#6737) 2017-12-22 07:32:10 +01:00
peetsv
d1786779c4 gmap-gsnap: adding version 2014_12_28 (#6720) 2017-12-22 06:56:58 +01:00
Adam J. Stewart
1ce0c1b556 Fix python3 compatibility bug in spack edit command (#6748)
In Python 2, filter() returns a list, but in Python 3, filter()
returns an iterator, and iterators have no length.
2017-12-21 17:45:15 -08:00
becker33
feb4f1b387 separate stdout and stderr for module loading (#6713) 2017-12-21 16:27:52 -08:00
Levi Baber
f2e061debf Feature/fasttree (#6227)
* fasttree: new package

* fasttree: better version handling

* fixing line length for flake8
2017-12-20 19:10:24 -08:00
Patrick Gartung
e5d6f28b4e binary caching: handle files misidentified as needing relocation (#6679)
* Only specify a file as needing relocation if it contains the spack
  root as a text string (this constraint also applies to binaries)
* Don't fail if there is an error retrieving RPATH information from a
  binary (even if it is specified as requiring relocation)
2017-12-20 18:21:41 -08:00
becker33
28d8784ab9 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
2017-12-20 15:40:38 -08:00
Mark Olesen
ef2e51571d ENH: better handling of mpich for openfoam packages
- define MPICH_SKIP_MPICXX, link libmpich instead of libmpi
  (as per disussion in PR #4990)

ENH: more flexible editing/patching of openfoam env files

CONFIG: comment out requirement for openmpi+thread_multiple

- was originally slated for the 1712 release and beyond, but there are
  reportedly unstable version/network combinations.
  Leave as comment for future reference, since it may be arise again.

STYLE: renamed openfoam-site.patch as 1706-site.patch (and reformatted)

- to preserve against impending changes in the layout of
  config.{csh,sh}/settings
2017-12-20 11:32:33 -08:00
Mark Olesen
235c3c1025 ENH: improved openfoam module creation (issue #4942)
- post-install module settings for openfoam-com and foam-extend.
2017-12-20 11:32:33 -08:00
Eric
6ea4614dbd picard: Add version 2.17.0 (#6729) 2017-12-20 13:28:37 +01:00
Denis Davydov
ea5f8c7382 octave: add optim and struct packages (#6733) 2017-12-20 13:27:50 +01:00
Gregory Lee
241ea77229 sqlite package: apply B0 patch to additional versions (#6728) 2017-12-19 11:06:39 -08:00
Denis Davydov
0ef741d291 slepc: add 3.8.2 (#6724) 2017-12-19 15:40:30 +01:00
Denis Davydov
e462d39afe intel-tbb: add 2018.2 (#6725) 2017-12-19 15:39:42 +01:00
Denis Davydov
98f220b304 hypre: add 2.13.0 (#6726) 2017-12-19 15:39:27 +01:00
Denis Davydov
599094abbd suite-sparse: add 5.1.0 (#6727) 2017-12-19 15:39:12 +01:00
Jack Morrison
720ad57bcd Added GDB verison 8.0 (#6704) 2017-12-19 09:54:18 +01:00
peetsv
d0a10edb67 nextflow: adding version 0.21.0 (#6722) 2017-12-19 09:07:33 +01:00
Peter Doak
d4c84be91b Emacs: added gnutls variant (tested on Centos 7) (#6711) 2017-12-19 08:36:54 +01:00
Denis Davydov
69f959ec0b gmsh: add 3.0.6 (#6718) 2017-12-19 08:31:23 +01:00
junkudo
d69d692203 CoinHSL : Prevent CoinHSL from building in parallel (#6715)
CoinHSL does not seem to be able to be built in parallel. This commit forces serial compilation.
2017-12-19 08:30:39 +01:00
Denis Davydov
548c225d45 dealii: add GMSH, add CMAKE_FIND_APPBUNDLE to CMakePackage (#6723)
* dealii: add GMSH dependency

* CMakePackage: add CMAKE_FIND_APPBUNDLE to prevent picking up binaries from /Applications
2017-12-19 08:28:55 +01:00
peetsv
e8de22ce46 lftp: adding version 4.6.4 (#6721) 2017-12-19 08:19:33 +01:00
Mark Olesen
b3e9192d18 openfoam-org: new version (#6686)
Add new version with a patch.
2017-12-18 19:47:49 -08:00
peetsv
f7a5a27138 IGV: new package (#6710) 2017-12-18 19:37:09 -08:00
Massimiliano Culpo
0192455885 spack install: make restaging the default (#6465)
Fixes #5940

This PR changes the option '--restage' of 'spack install' to
'--dont-restage', inverting its meaning and the default behavior
of the command.
2017-12-18 18:50:02 -08:00
Benedikt Riedel
36fa574779 globus-toolkit: add version and openssl dependency (#6617) 2017-12-18 15:23:56 -08:00
Douglas Duckworth
d3519af7de relion - added new stable version 2.1 (#6706) 2017-12-18 10:38:20 -08:00
healther
0cff0fba73 fix post install method for py3 in mercurial (#6497)
* fix post install method for py3 in mercurial

* Update package.py

* Update package.py

* use print_str instead of manual print detection

* Update package.py

* use only depends_on

* Update package.py

* Update package.py

State py3 compatibility for @4.3: according to setup.py from the 4.3.tar.gz from pypi
2017-12-17 12:00:58 -06:00
Sergey Kosukhin
576ef5e2b3 Package 'cdo': get rid of unnecessary dependency on MPI C++ library. (#6632) 2017-12-16 19:48:56 -07:00
nshtg
2a639097b0 Add new package signify (#6645)
OpenBSD tool to sign and verify signatures on files.

See https://github.com/aperezdc/signify
2017-12-16 19:47:59 -07:00
Eric
7d800a0fc2 breseq: Create new package (#6648) 2017-12-16 19:47:11 -07:00
fpruvost
6c81cf1a78 build lapacke with tmg (#6654) 2017-12-16 19:43:46 -07:00
David Orman
7b8d889d31 bwa: added version 0.7.16a and checksum (#6658) 2017-12-16 19:43:02 -07:00
Jack Morrison
d4cc1ac86b Hadoop: Replace broken url (#6671) 2017-12-16 19:42:03 -07:00
David Böhme
3467c207c8 Caliper update, add version 1.6.0 (#6680) 2017-12-16 19:39:52 -07:00
Eric
dac09dd5fb py-bx-python: Create new package (#6672) 2017-12-16 19:38:59 -07:00
Eric
d08dc0c019 py-tetoolkit: Create new package (#6673) 2017-12-16 19:38:36 -07:00
Eric
d3545ed1b3 py-pandas: add versions 0.19.2 and 0.21.1 (#6687) 2017-12-16 19:38:02 -07:00
Paschalis Korosoglou
a69cfd5f78 Add petsc version 3.8.3 (#6688) 2017-12-16 19:37:35 -07:00
Paschalis Korosoglou
61dbd3182d Add clanguage variant for petsc (#6689) 2017-12-16 19:37:20 -07:00
Eric
87420dccee bedtools2: Add version 2.27.1 (#6693) 2017-12-16 19:36:35 -07:00
peetsv
5d0e7abcc5 MetaSV: adding new package (#6691) 2017-12-16 19:36:11 -07:00
Eric
5539c94e67 PANDAseq: Create new package (#6694) 2017-12-16 19:35:48 -07:00
Eric
554d4045fa DeNovoGear: Create new package (#6699) 2017-12-16 19:34:53 -07:00
lingnanyuan
34cf796b54 mefit: Create new package. (#6700) 2017-12-16 19:34:30 -07:00
Denis Davydov
f78418d8bb moltemplate: add new package (#6702) 2017-12-16 19:33:28 -07:00
David Orman
176b518d4b new package: gatk (#6674) 2017-12-15 11:00:55 -08:00
Jon Rood
7369ba21bf new package: Percept (#6636)
This also adds the 'exception' boost library to the set of default
libraries built by boost.
2017-12-14 18:11:47 -08:00
scheibelp
020ce7735d Skip collection of compilers which report an empty version (#6684)
Fixes #6200

For compilers that successfully run a version detection script but
don't actually return a version, Spack was keeping track of the
empty version and then failing when attempting to construct a
compiler spec. This skips any attempt to add a compiler entry when
no version is reported (but logs when a compiler fails to report
a version).
2017-12-14 17:54:57 -08:00
Douglas Duckworth
1aed3f7c01 added breakdancer (#6319) 2017-12-14 14:43:32 -07:00
Massimiliano Culpo
6c1fa37e3d fftw: added version 3.3.7 (#6678) 2017-12-14 21:38:33 +01:00
Mark Olesen
5727054c4a misc fixes, changed to EnvironmentModifications (issue #6501) (#6541)
* Support pruning of vars with Env from_sourcing_file (issue #6501)

- Blacklist string literals or regular expressions of environment
  variables that are to be removed from consideration as being affect
  by the sourcing of the file. Conversely, whitelist modifications
  that should not ignored.  Whitelisted variables have priority over
  blacklisting.
  Eg,

      EnvironmentModifications.from_sourcing_file
      (
          bashrc
          blacklist=['JUNK_ENV', 'OPTIONAL_.*'],
          whitelist=['OPTIONAL_REQUIRED.*']
      )

This modification can be used to eliminate environment variables that
are not generalized for modules (eg, user-specific variables).

* BUG: module prepend-path in wrong order (fixes #6501)

* STYLE: module variables in sorted order (issue #6501)

- looks nicer and also helps when comparing the contents of different
  module files.

* ENH: remove duplicates from env paths when creating modules (issue #6501)

- this makes for a cleaner module environment and helps avoid some
  unnecessary changes to the environment that are only provoked by
  redundancies in the PATH.

  eg,
      before PATH=/usr/bin
      after  PATH=/usr/bin:/usr/bin:/my/application/bin

  should only result in /my/application/bin being added to the PATH
  and not /usr/bin:/my/application/bin

Activate via the 'clean' flag (default: False):

    EnvironmentModifications.from_sourcing_file(bashrc, clean=True,..
2017-12-14 21:24:06 +01:00
Jon Rood
b447c2ba51 Add TIOGA package and optional dependency of Nalu on TIOGA (#6638) 2017-12-14 11:46:25 -08:00
Scott Wittenburg
ce832fca59 libharu: Make dependencies on zlib and libpng explicit (#6682) 2017-12-14 08:58:42 +01:00
Douglas Duckworth
5a66065dfa relion: add version and cuda arch variant (#6317)
Add preferred version 2.0.3. Added beta version. Added conflict with
gcc versions >= 5 when building with cuda@8 (which is currently the
only supported cuda version). Added cuda architecture variant. Added
comment about current lack of cuda@9 support.
2017-12-13 10:30:38 -08:00
Denis Davydov
c0aa12111b tasmanian: add new package (#6659) 2017-12-13 16:01:51 +01:00
Axel Huebl
836bf65250 CUDA: 9.1 (#6663)
Add the latest CUDA release, 9.1
2017-12-13 14:43:40 +01:00
peetsv
2e4c9e47a8 py-pysam: adding old version 0.7.7 (#6675) 2017-12-13 09:01:45 +01:00
Eric
5fa9e61321 SPAdes: add version 3.11.1 (#6668) 2017-12-13 08:57:29 +01:00
David Orman
c5cb8ae159 picard: added version 2.13.2 (#6669) 2017-12-13 08:57:06 +01:00
Scott Wittenburg
6628b6ca01 Ignore log files that appear in root dir with "spack -d install ..." (#6670) 2017-12-13 08:35:39 +01:00
Audrey Thoma
45784af7f2 new packages: biopieces and dependencies (#6478)
This also adds the tcl, tk, and libx11 dependencies to ruby. All other
changes are new packages.
2017-12-12 18:35:13 -08:00
Christoph Junghans
27be66420a laghos: inject CXX (#6664) 2017-12-12 17:26:02 -07:00
Christoph Junghans
e80a27d713 swfft: inject CC/CXX (#6666) 2017-12-12 17:25:48 -07:00
Satish Balay
80284617a5 xsdk: update xsdk@develop to use sundials, plasma, magma (#6649)
Also update xsdk@0.3.0 to use a fixed version of magma
2017-12-12 09:31:08 -08:00
nshtg
e831ecbf3a Add new package minisign (#6644)
A dead simple tool to sign files and verify signatures.

See https://jedisct1.github.io/minisign
2017-12-11 17:27:40 -07:00
nshtg
45e8e4b4fb libsodium: Update to 1.0.15 (#6643) 2017-12-11 17:27:09 -07:00
nshtg
25aa21a7a7 git: Update to 2.15.1 (#6642) 2017-12-11 17:26:53 -07:00
nshtg
74938f58d2 openssl: Update to 1.0.2n (#6641)
From 07.12.2017, fixes CVE-2017-3737
2017-12-11 17:26:37 -07:00
Brian Van Essen
6fec473e9e Py h5py update (#6635) 2017-12-11 17:26:13 -07:00
becker33
9d8ea00966 add -d option for edit command (#6416)
* add -d option for edit command and improve suffix extrapolation from '.py' to use glob
2017-12-11 16:17:53 -08:00
健美猫
e19aa80734 intel-parallel-studio: restrict patch to versions > 2016 (#6523)
Fixes #6522

Patch psxevars.sh and psxevars.csh only when year > 2016.
pxevars.csh does not exist for versions before 2017. psxevars.sh
does not appear to require this patch for versions before 2017.
2017-12-11 13:14:24 -08:00
Massimiliano Culpo
bd5d6b2bfa Simplified "Environment-Modules" section in getting started guide. (#6410)
Fixes #2440

The "Getting started" guide should be short and sweet. This commit
simplifies the "Environment-Modules" section pruning:

 - outdated / wrong suggestions as noted in #2440
 - uncommon setups that are better treated in a reference guide
2017-12-11 11:34:39 -08:00
Johann Klähn
e83c3d1b6a bazel: include SPACK_DEBUG_LOG_ID in environment (#6562)
Fixes #6521.

Bazel's build system filters environment variables, including those
set by Spack for use by its compiler wrapper. This updates the patch
to include the SPACK_DEBUG_LOG_ID variable added in #5837.
2017-12-11 10:34:06 -08:00
Satish Balay
53b2ec356b disable plasma in xsdk 0.3.0 (#6621) 2017-12-10 17:51:54 -08:00
Adam J. Stewart
f41a263a28 Fix reference to self.versions in neovim package (#6639) 2017-12-10 21:43:49 +01:00
Cyrus Harrison
95a384f051 updates to conduit and ascent packages (new PR) (#6584)
* optional path to use spacks py-site-pkgs, install host-cfg for provenance

* add more comments and address review requests

* only use st-pkgs-dir when +python

* ascent does not need doxygen

* capture mpiexec if it exists

* added missing import

* flake8 fix

* default adios variant to False

* ascent develop now reqs conduit master

* optional path to use spacks py-site-pkgs, install host-cfg for provenance

* add more comments and address review requests

* only use st-pkgs-dir when +python

* ascent does not need doxygen

* capture mpiexec if it exists

* added missing import

* flake8 fix

* default adios variant to False

* ascent develop now reqs conduit master

* conduit: use hdf5 1.8 for wider output compat
2017-12-08 13:43:12 -08:00
Chris Green
e279299b9b Relax restriction on lua version. (#5886) 2017-12-08 20:52:00 +01:00
Thilina Rathnayake
c1bc1be2a7 Add NekCEM package to spack (#6509) 2017-12-08 10:30:42 -07:00
Thilina Rathnayake
d6db532095 Update the Nekbone package (#6508) 2017-12-08 10:29:58 -07:00
healther
4c02e7e9f4 add restriction to py-setuptools dependency on py-flake8 (#6589) 2017-12-08 10:22:52 -07:00
Eric
bb8e7ee023 Perl-statistics-descriptive: Create new package (#6588) 2017-12-08 10:22:16 -07:00
Axel Huebl
5bf19a9d84 Fix AstroPy: Missing Markupsafe (#6630)
`py-markupsafe` was missing during `spack install` as a build error.
2017-12-08 10:21:46 -07:00
Axel Huebl
353ea07040 Add: Py-Plotly (#6628)
* Add: Py-Plotly

The requirements of py-plotlit are rather strict fixed to specific
versions, so I did not add an "upper versions" `:` to the constrains.
See
  https://github.com/plotly/plotly.py/blob/master/requirements.txt

* Py-Requests, Py-Six, Py-Pytz: Older Versions

Add two older versions of requests, pytz and six for plotly.
2017-12-08 10:21:28 -07:00
Paschalis Korosoglou
5e8139cbd1 Fix in download url for package libaio (#6616) 2017-12-08 10:20:14 -07:00
nshtg
e283a79da6 Update zsh to 5.4.2 (#6609) 2017-12-08 10:19:40 -07:00
lingnanyuan
3474dd5d40 r-tidycensus: Create new package. (#6595) 2017-12-08 10:18:45 -07:00
lingnanyuan
cc20ad0eec r-rgdal: Create new package. (#6593) 2017-12-08 10:18:29 -07:00
lingnanyuan
85c4224474 r-tigris: Create new package. (#6591) 2017-12-08 10:18:11 -07:00
nshtg
173236dacf Update openSSL to 1.0.2m/1.1.0g (#6596) 2017-12-08 10:13:58 -07:00
nshtg
fd764b9946 Update openSSH to 7.6p1 (#6598) 2017-12-08 10:13:41 -07:00
nshtg
1954075091 Update tmux to 2.6 (#6597) 2017-12-08 10:13:22 -07:00
Tzanio Kolev
2343e5185d Updated hash for v1.0 tag of Laghos (#6626) 2017-12-08 10:12:33 -07:00
Sergey Kosukhin
bd92cc0a1a Package 'openjpeg': set INSTALL_NAME_DIR on MacOS for old versions. (#6603) 2017-12-08 13:36:20 +01:00
Paschalis Korosoglou
1bdea98978 r-rhtslib: added build dependency on autoconf (#6627) 2017-12-08 11:18:25 +01:00
Eric
1c72a5da3a py-cogent: Create new package (#6624) 2017-12-08 10:38:37 +01:00
Denis Davydov
23d56a75ab dealii: update boost dependency (#6586)
(i) blacklst 1.65.0 due to issues on Ubuntu with gcc 5.4.0
(ii) add a patch for 1.65.1 to fix serialization
(iii) simplify boost's depends_on()
2017-12-08 10:37:54 +01:00
lingnanyuan
96476a32e5 py-htseq: Create new package. (#6623) 2017-12-08 10:36:57 +01:00
Brian Van Essen
20fc7d56d7 Candle benchmarks update (#6619)
Added a dependency on HDF5 support for the CANDLE benchmarks.
2017-12-08 10:34:49 +01:00
Benedikt Riedel
df184c707a Adding openssl dependency to xrootd. Closes #6601 (#6618) 2017-12-08 10:33:08 +01:00
nshtg
17692d6c05 Update vim to 8.0.1376 (#6599) 2017-12-08 10:29:50 +01:00
Eric
6f34c68aff subread: Add version 1.6.0 (#6615) 2017-12-08 10:26:18 +01:00
Denis Davydov
26e109027b qrupdate: fix blas/lapack and compilation of macOS (#6614) 2017-12-08 10:24:44 +01:00
Eric
62d5bb41a8 py-reportlab: Create new package (#6612) 2017-12-08 10:22:46 +01:00
nshtg
636ed371d8 Update fish to 2.7.0 (#6608) 2017-12-08 10:15:40 +01:00
Eric
91eca9143e bedtools2: Add version 2.27.0 (#6606) 2017-12-08 10:13:13 +01:00
Kelly (KT) Thompson
147a12dd06 Provide a patch to allow hdf5@1.10.1 to build with intel/18.0.1. (#6583)
This is known issue.  See:

https://software.intel.com/en-us/forums/intel-fortran-compiler-for-linux-and-mac-os-x/topic/747951.
2017-12-08 09:55:06 +01:00
Sergey Kosukhin
a593553d48 Update for 'eccodes'. (#6604) 2017-12-08 09:34:37 +01:00
Sergey Kosukhin
a110a86ad6 Update for 'grib-api'. (#6605) 2017-12-08 09:33:30 +01:00
Jon Rood
69e76a0a89 Update openfast package to explicity pass MPI implementation during cmake configure. (#6590) 2017-12-08 09:09:35 +01:00
Axel Huebl
f49c186f4f wxWidgets: Fix builds (#6560)
- depends on GTK+ with X enabled
  (btw, non-X backends are deprecated/removed in GTK+)
- patch for 3.0.1-3.0.2: missing include caused multiple
  `error: call of overloaded ‘abs(XYPOSITION)’ is ambiguous`
  (seen in GCC 6.3.0); fixed in 3.0.3+
2017-12-07 08:33:08 +01:00
Massimiliano Culpo
05b10ce967 config.py: fixed comments that refer to variables following them (#6585)
According to the documentation here:

  http://www.sphinx-doc.org/en/stable/ext/autodoc.html

"For module data members and class attributes, documentation can either
be put into a comment with special formatting (using a #: to start the
comment instead of just #), or in a docstring after the definition."
2017-12-07 08:09:53 +01:00
lingnanyuan
3a4329c77d r-pathview: Create new package. (#6582) 2017-12-06 18:29:45 -07:00
lingnanyuan
c2ea795b08 r-kegggraph: Create new package. (#6580) 2017-12-06 18:29:22 -07:00
lingnanyuan
96c95db793 r-org-hs-eg-db: Create new package. (#6581) 2017-12-06 18:29:04 -07:00
Sergey Kosukhin
9a4dd413bb Package 'libszip': update checksum and list_depth. (#6587) 2017-12-06 18:28:11 -07:00
Sergey Kosukhin
bcb1630e39 CMAKE_INSTALL_RPATH is semicolon-separated. (#6577) 2017-12-06 08:07:11 +01:00
Eric
24d60a95c0 picard: Add version 2.16.0 (#6579) 2017-12-06 08:04:06 +01:00
Audrey Thoma
a97824df98 mrbayes: url now points to github + removed the deprecated sourceforge url (#6578) 2017-12-06 07:58:08 +01:00
Jon Rood
5c43090ceb Update CGNS and add CGNS capability to Trilinos (#6568)
* Update CGNS to be able to be used in Trilinos.

* Updating Trilinos to be able to use CGNS.

* Fixing wrong cmake defines in trilinos for enabling cgns and cleaning up cgns package.

* Changing cgns parallel variant to mpi. Removing explicit dependence on parallel-netcdf in trilinos.
2017-12-05 14:33:36 -07:00
nshtg
01ba69c635 Update gnupg to 2.2.3 (#6573)
Updated dependencies:

* libassuan 2.4.5
* libgcrypt 1.8.1
* npth 1.5
2017-12-05 14:29:20 -07:00
Axel Huebl
9e64fa53ed Add Maintainer (#6575)
Add myself as maintainer to the packages we contributed
and/or maintain the mainline from.
2017-12-05 14:27:56 -07:00
Jon Rood
67d7f3fc03 Add opennurbs package (#6570)
* Adding OpenNurbs package.

* Fixing flake8 error.

* Removing unused os import from opennurbs.
2017-12-05 10:33:55 -07:00
Axel Huebl
5a908a1c8a ADIOS 1.13.0: LZ4 & blosc support (#6572)
Add additional transform libraries to ADIOS.
Also modifies existing transforms to the versions they were
introduced (otherwise this was resulting in unknown configure flags).
2017-12-05 15:28:44 +01:00
Axel Huebl
e47d89a2ab ADIOS 1.13.0: Newer SZ Versions (#6561)
The latest release of ADIOS needs a newer version of SZ due to an upstream library naming change.
2017-12-05 12:50:22 +01:00
Axel Huebl
09e68c5c8a c-blosc: 1.12.1 (#6571)
Adds a newer release of c-blosc, adds the new flags for external library builds, adds missing dependencies.
2017-12-05 12:49:22 +01:00
Sergey Kosukhin
90c7bc7a24 OpenJPEG: all version tuples have the same length. (#6526) 2017-12-04 17:44:53 -07:00
Paschalis Korosoglou
b2c6306b94 Added package r version 3.4.3 (#6565) 2017-12-04 17:39:34 -07:00
Axel Huebl
9ad3b1a747 libpng: CPPFLAGS for -I (#6563)
Recent versions of `libpng` (e.g. 1.6.34) warn/abort that includes
for `zlib` need to be passed properly via `CPPFLAGS`. This fixes it.
2017-12-04 15:29:35 -07:00
Eric
6968777af7 bamtools: Add version 2.5.0 (#6553) 2017-12-04 10:38:30 -07:00
Denis Davydov
e9c66a76f0 dealii: add scalapack and various cleanups (#6552) 2017-12-04 08:02:05 +01:00
Chien-Chang Feng
f564e02301 py-h5py: fixed a typo in the name of a dependency (#6540) 2017-12-04 07:50:35 +01:00
Benedikt Riedel
6887107775 Adding zlib dependence to xrootd to resolve #6545 (#6550) 2017-12-03 16:22:44 -07:00
Eric
10ad2bc1bf py-multiqc: Add version 1.3 (#6554) 2017-12-03 16:21:27 -07:00
Yifan Zhu
1e702bfab0 r-fftwtools: new package (#6532) 2017-12-03 16:20:32 -07:00
Paschalis Korosoglou
79751729c9 Rename variant static to shared (#6543) 2017-12-03 16:19:32 -07:00
Denis Davydov
13dade60dd gcc: remove all variant (#5283) 2017-12-03 10:19:55 +01:00
Nils Deppe
07fcd0d115 Add Kvasir MPL (#6529) 2017-12-02 16:02:43 -07:00
Eric
6918ee3767 salmon: Add version 0.9.1 (#6516) 2017-12-02 12:45:10 -07:00
sknigh
80048ae4a9 Paraview expects qt to have opengl (#6520) 2017-12-01 13:46:39 -07:00
Patrick Gartung
f6c99d7beb 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.
2017-12-01 11:15:16 -08:00
Axel Huebl
d6863a2940 ADIOS: 1.13.0 (#6539)
New release of ADIOS: 1.13.0.
2017-12-01 11:09:37 -07:00
Stephen Hudson
d5c96dbd94 Add new package py-libensemble (#6525) 2017-12-01 11:01:08 -07:00
Eric
fa32f8f914 py-dendropy: Create new package (#6528) 2017-12-01 11:00:45 -07:00
Adam J. Stewart
0ffd7f8918 Remove reference to deprecated spack md5 command (#6537) 2017-12-01 14:31:40 +01:00
Paschalis Korosoglou
bd94be818a Added variant static for hwloc (#6538) 2017-12-01 06:25:23 -07:00
Yifan Zhu
e0264404b6 r-udunits2: new package r-udunits2 (#6533) 2017-12-01 11:16:35 +01:00
Yifan Zhu
4a55f81051 r-units: new package (#6531) 2017-12-01 05:26:05 +01:00
Massimiliano Culpo
23b1108451 gpg creation: added suggestion on how to set-up rngd (#6483) 2017-11-30 10:51:55 -08:00
Massimiliano Culpo
f7c0e24f0a 'spack install': make conflict messages as verbose as 'spack spec' (#6436)
"spack spec" was providing helpful error information about conflicts
that was missing from "spack install", this updates "spack install"
to provide the same information.
2017-11-30 10:41:24 -08:00
Adam J. Stewart
3dafbe901a Fix CGAL checksum and switch to more stable URL (#6511) 2017-11-30 09:18:54 +01:00
healther
130c56dbaa add package py-lazy-object-proxy (#6489) 2017-11-30 09:17:28 +01:00
lingnanyuan
5382279fa6 r-biomformat: Create new package. (#6517) 2017-11-30 09:14:12 +01:00
lingnanyuan
f9c820c39f r-phyloseq: Create new package. (#6518) 2017-11-30 09:13:31 +01:00
Yifan Zhu
86fbcc7140 r-nanotime: new package (#6519) 2017-11-30 09:12:58 +01:00
Michael Bentley
a097524281 Flit package (#6260)
Add initial build support for version 2.0-alpha.1
2017-11-30 09:05:40 +01:00
David Lukes
27b929bfe2 Improve docstring of spack.directives.extend (#6485)
The original docstring had confusing wording re: what is going to
symlinked and where when using the `extend` directive, and how exactly
the symlinking is performed (not automatically on install, but using
`spack activate`). See #5559.
2017-11-29 14:30:42 -08:00
Massimiliano Culpo
aa24858648 travis: removed /usr/local/include/c++ before installing gcc on OSX (#6515)
"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.
2017-11-29 11:33:00 -08:00
Stephen Hudson
02371d2ace Add new package nlopt (#6499) 2017-11-29 10:27:08 +01:00
healther
cc5d5295bd add missing build dependency to py-pytest-runner (#6490) 2017-11-28 16:52:18 -07:00
Yan Grange
b5f3ecf3fa Update globus package version and hash (#6482) 2017-11-28 16:51:35 -07:00
Michael Kuhn
9adcb0b4b1 libmongoc: Fix pkg-config file not containing snappy and zlib paths (#6467) 2017-11-28 16:47:12 -07:00
healther
f7fda19f5d remove breaking version and cleanup of dependencies (#6494) 2017-11-28 16:46:23 -07:00
healther
8013996661 add conflicts to py-enum34 (#6496) 2017-11-28 16:45:08 -07:00
healther
2190ae43a5 Fix astroid dependency and mark broken version (#6493) 2017-11-28 16:43:43 -07:00
healther
cab07d2562 add package py-editdistance (#6492) 2017-11-28 16:43:00 -07:00
healther
82adc403ad add package py-isort (#6491) 2017-11-28 16:42:47 -07:00
healther
64b121fa87 add package: py-backports-functools-lru-cache (#6488) 2017-11-28 13:54:40 -08:00
Adam J. Stewart
e01a16b992 Remove spack md5 and sha256 commands (#6428) 2017-11-28 13:41:46 -08:00
healther
dc8f587b61 add path to package.py in case of a syntax error (#6458) 2017-11-28 13:32:21 -08:00
becker33
acd80b16a8 update scr package for cray (#6407)
* update scr package for cray

* added info on scr version 1.2.0
2017-11-28 10:33:45 -08:00
Massimiliano Culpo
f6ead27b5b spack spec: don't show normalize + no hash for non concrete specs (#6417)
Showing "Normalize" on output doesn't give users additional information,
as this step is essentially an implementation detail of concretization.
This PR skips it and shows just the input spec and the concretized one.

Printing partial hashes for input spec has been disabled.
2017-11-28 09:03:32 -08:00
Denis Davydov
ddb55c2b26 py-numpy: add 1.13.3 (#6484) 2017-11-28 13:42:59 +01:00
Denis Davydov
fdb2386ba7 pi-scipy: add 1.0.0 (#6486) 2017-11-28 13:42:27 +01:00
Yifan Zhu
bec8ddcf81 r-classint: created new package (#6481) 2017-11-28 09:29:29 +01:00
Yifan Zhu
5cdf94233b r-rcppcctz: created new package (#6480) 2017-11-28 09:28:42 +01:00
lingnanyuan
8d64e192dc r-topgo: Create new package. (#6479) 2017-11-28 09:27:36 +01:00
Eric
6edd782d39 r-seurat: Create new package (#6477) 2017-11-28 09:27:14 +01:00
Eric
7f43411e59 Adding list_url to several R module packages (#6474) 2017-11-28 09:26:06 +01:00
Yifan Zhu
63a23b93c5 r-cli: new package (#6476) 2017-11-28 09:21:12 +01:00
Satish Balay
cd8da5a441 Xsdk 0.3.0 (#6277)
* xsdk:  Added MFEM rc package.

* xsdk: add version entry for xsdk-0.3.0-rc1 - and set it as preferred version

* xsdk: remove 'xsdk' from version - recommended by Todd.

Now the usage is:
 'spack install xsdk@0.3.0-rc1'

instead of the previous usage:
 'spack install xsdk@xsdk-0.2.0'

* xsdk: add petsc@3.8.0 as a dependency for xsdk-0.3.0-rc1

* mfem: fix dependency to use the corrected xsdk version

* Updated the mfem version tags.

* mfem: fix merge

* fix flake8 warning

* Modified xSDK scripts

* fixing the default package.yaml

* fix bad revert

* revert changes to superlu-dist so that the 5.2.1 update can be merged

* update xsdk to use superlu-dist-5.2.1

* update alquimia for xsdk

* fix whitespace

* update hypre for xsdk

* update sundials for xsdk

* update sundials for xsdk

* Fix checking for MKL and extend range of GCC versions

* pflotran: update to release branch

* plasma: fix spec -> self.spec

* Changes to enable mfem hooks into hypre, superlu-dist, and petsc.  Sundials hooks may come in the future.

* adding plasma with comment

* Bumped the version of mfem up to handle integration with sundials3.0.0.  Also enabled hypre in sundials.

* Turn on the plasma package definition for testing

* Fix conflict declaration to obey ordering rules

* xsdk: udate superlu-dist dependency to v5.2.2

* plasma: change gcc dependency to workarround potential spack bug #5778

* trilinos: update hdf5 dependency to use 'hdf5+hl'

Without this change - I get the following error [triggered by 161dca6d5 c9810f808 changes]

$ ./bin/spack install trilinos+hdf5
==> Error: An unsatisfiable variant constraint has been detected for spec:

    hdf5@1.10.1%gcc@7~cxx~debug~fortran~hl+mpi+pic+shared~szip~threadsafe arch=linux-fedora27-x86_64

while trying to concretize the partial spec:

    netcdf+mpi
        ^m4
        ^mpich@3.3a2%gcc@7 device=ch3 +hydra netmod=tcp +pmi+romio~verbs arch=linux-fedora27-x86_64
        ^zlib@1.2.11%gcc@7+optimize+pic+shared arch=linux-fedora27-x86_64

netcdf requires hdf5 variant +hl, but spec asked for ~hl

* plasma: add in -lm dependency per #6046

* update sundials version to 3.0.0

* Add fixes to support Netlib LAPACK

* mfem does not use cmake for builds [anymore] - so remove code corresponding to this dependency.

This enables mfem build on OSX [with xcode/clang compilers]

* mfem: update to v3.3.2-rc4

* add patch for building sundials on mac

* xsdk: enable plasma for gcc-4.9+ - same as what plasma/package.py does.

* magma: Fix for cuda-9.0  as it does not support sm20

nvcc fatal   : Unsupported gpu architecture 'compute_20'

* add in code for 'spack install xsdk+cuda' - which installs magma

* fix flake8 warning

* fix flake8 warnings

* Updated to the latest MFEM RC.

* alquimia: fix to use petsc-3.8.0+ versions

* petsc: update to version 3.8.1

* petsc: add in conflict between petsc-3.8.0 & mkl

* xsdk: update petsc to 3.8.1 to get MKL build fix

* petsc: fix superlu_dist dependency

* petsc: when hdf5 depends on zlib - petsc+hdf5 should also be configured with zlib

* petsc: fix dependency [of zlib to be on hdf5 - and not on petsc]

* petsc: fix pkgconfig error - with incorrect library link order that can break mfem examples with static build

* petsc: use the fact that hdf5/package.py has a hard dependency on zlib [so no need to check for this dependency in code]

recommended-by: @davydden

* petsc: change hdf5 dependency to 'hdf5+hl' as petsc configure is looing for -lhdf5_hl

https://github.com/spack/spack/issues/5846

* plasma: also detect -lgfortran

* update sundials version to 3.1.0

* alquimia: xsdk-0.3.0-rc -> xsdk-0.3.0

* petsc: update to version 3.8.2

Includes pkgconfig fix [for mfem static build failure]

* Revert "petsc: fix pkgconfig error - with incorrect library link order that can break mfem examples with static build"

This reverts commit d1afa8c20d.

* xsdk: update to use petsc-3.8.2

* Fixed a problem with MFEM trying to use mpicxx instead of the spack defined compiler.

* Minor changes to the mfem build and pointing at mfem's release branch that is currently undergoing internal testing.

* Enabling shared build for Plasma

* plasma: do not look for libgfortran on cray - spack finds the wrong one from the frontend

'-L/usr/lib64/gcc/x86_64-suse-linux/4.3 -L/usr/lib64 -lgfortran'

* Some changes to the mfem package that are in the process of being pulled into spack/develop.

* xsdk: switch from 0.3.0-rc1 to 0.3.0

* fix flake8 warnings

* plasma: extract plasma changes from xsdk-0.3.0

* plasma: cleanup per review
- netlib-lapack: add support for spec['lapack:c'].libs, spec['blas:c'].libs
- add getblaslapacklibs() to eliminate duplicate code in edit() and build_targets()
- eliminate string manipulation of ld_flags

- remove gfortran check (will check later)
- remove build() (will check later)

* netlib-lapack: fix tuple per review

* netlib-lapack: use  spec[lapack:c,fortran]
2017-11-27 22:08:08 -08:00
peetsv
52f46d2bee ViennaRNA: adding version 2.4.3 + disable swig (#6408)
* Adding version 2.4.3 to ViennaRNA

* Replaced tab indent with spaces

Flake8 error correction

* no swig for viennarna v2.4.3 only

* correcting version/argument conditional syntax error
2017-11-27 16:45:43 -07:00
Mark Berrill
e2abebe8a5 Adding new package amp (#6471) 2017-11-27 14:43:03 -07:00
Quinn
1268bc8f45 Adding list_url to r-hms package (#6473) 2017-11-27 14:40:02 -07:00
Michael F. Herbst
3d4e51fad2 Add two test examples to bohrium (#6459) 2017-11-27 13:55:29 -07:00
Eric
dbb329637b r-rtsne: Create new package (#6470)
* r-rtsne: Create new package

* r-rtsne: add rcpp dependency
2017-11-27 13:54:53 -07:00
Eric
ebd796110d r-pcapp: Create new package (#6468) 2017-11-27 13:54:36 -07:00
Satish Balay
23bedc276c plasma: extract plasma changes from xsdk-0.3.0 (#6280)
* plasma: extract plasma changes from xsdk-0.3.0

* plasma: cleanup per review
- netlib-lapack: add support for spec['lapack:c'].libs, spec['blas:c'].libs
- add getblaslapacklibs() to eliminate duplicate code in edit() and build_targets()
- eliminate string manipulation of ld_flags

- remove gfortran check (will check later)
- remove build() (will check later)

* netlib-lapack: fix tuple per review

* netlib-lapack: use  spec[lapack:c,fortran]
2017-11-27 11:38:10 -08:00
Adam Fidel
557309618f New Package: GAP Benchmark Suite (#6452) 2017-11-27 06:50:49 -07:00
Choong Jun Jin
45e1562162 fixed glog compilation for < 0.3.5 (#6463) 2017-11-27 06:50:26 -07:00
Massimiliano Culpo
eacaa1551e r-rcpp: adds new versions, fixes failing download in Travis CI (#6464) 2017-11-27 10:15:47 +01:00
Eric
fcf331f176 r-tsne: Create new package (#6461) 2017-11-27 09:30:52 +01:00
Eric
0bb789eb23 r-rcpp: fix list_url to install archived versions (#6462) 2017-11-27 09:20:49 +01:00
peetsv
09eeb991a2 dialign-tx adding patch for gcc@5.4.0 (#6413) 2017-11-26 16:14:18 -07:00
Adam J. Stewart
257d968259 Use long flag in spack help message (#6429) 2017-11-26 06:14:47 -07:00
Michael F. Herbst
41eb496021 New Package: Add libcint to spack (#6456)
* Add libcint to spack

* Clearifying comment
2017-11-25 21:01:30 -07:00
Michael F. Herbst
178381edf9 Implement opencv libs property (#6457) 2017-11-25 21:00:18 -07:00
Eric
9b5e3434ad r-sn: Create new package (#6433)
* r-sn: Create new package

* r-sn: fix whitespace and depends_on
2017-11-25 12:50:13 -07:00
Axel Huebl
a465bf3bec pocl: fix link to libtool (#6440)
libtool is also needed for linking, otherwise downstream
dependencies such as clfft will fail linking against pocl's
libOpenCL.so with errors such as:

```
  >> 182   /usr/bin/ld: warning: libltdl.so.7, needed by /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so, not found (try using -rpath or -rpath-link)
  >> 183   /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so: undefined reference to `lt_dlinit'
  >> 184   /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so: undefined reference to `lt_dlerror'
  >> 185   /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so: undefined reference to `lt_dlopen'
  >> 186   /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pocl-0.14-rwo73qzkcxfupndxoz3pcl2s34o5pt6i/lib/libOpenCL.so: undefined reference to `lt_dlsym'
  >> 187   collect2: error: ld returned 1 exit status
```
2017-11-25 11:55:08 -07:00
Gregory Lee
1f2867415a added intel 18.0.1 compilers (#6381) 2017-11-25 11:49:02 -07:00
Michael F. Herbst
25d7ef495c Expand bohrium package (#6438)
* GCC greater 4.7 required

* Add variant with opencv extmethods

* Fix and export the config path
2017-11-25 11:46:32 -07:00
healther
d7344d2987 add package py-linecache2 (#6448) 2017-11-25 11:42:16 -07:00
healther
8c5c46a7a2 add missing dependencies to py-pylint (#6445) 2017-11-25 11:41:45 -07:00
healther
835b1ff03d add missing build dependency to py-execnet (#6443) 2017-11-25 11:40:53 -07:00
Axel Huebl
ed685b0262 gearshifft: enable OpenCL (#6441)
With pocl builds fixed, we can now also use the OpenCL
implementations in gearshifft :)
2017-11-25 11:40:12 -07:00
healther
86e771bdb3 add missing dependency to py-scikit-image (#6446) 2017-11-25 11:39:16 -07:00
healther
ca90372f74 add missing dependency to py-unittest2 (#6447) 2017-11-25 11:38:42 -07:00
healther
65fd350eb4 add package py-setuptools-scm (#6449) 2017-11-25 11:38:10 -07:00
healther
0c7cf0c7a4 add package py-traceback2 (#6450) 2017-11-25 11:37:38 -07:00
健美猫
0d91f51a27 Python: add 3.6.3 . (#6454) 2017-11-25 11:34:24 -07:00
健美猫
086a1cfe7e r: add version 3.4.2. (#6455) 2017-11-25 11:34:05 -07:00
healther
7c174f11ec add new version to node-js (#6444) 2017-11-25 09:30:06 +01:00
Eric
be095fdb21 r-lars: Create new package (#6453) 2017-11-25 09:24:53 +01:00
Robert Cimrman
77bfda4da6 sfepy: Create new package (#6439) 2017-11-24 12:21:09 +01:00
健美猫
70adbaeeba Octave depends on qt+opengl. (#6437) 2017-11-24 09:40:48 +01:00
Massimiliano Culpo
cde5fdde20 Openblas needs FC, not F77 (#6435)
fixes #5591
2017-11-24 07:15:01 +01:00
Michael Kuron
ff4a4fcd9e siesta: add netcdf support (#6431) 2017-11-23 13:39:32 -07:00
George Hartzell
2a2670175d boost@1.54 alse needs the call_once patch (#6434) 2017-11-23 20:17:17 +01:00
Michael Kuhn
5bbbfe9446 Introduce virtual dependency pkgconfig (#5198)
There are two providers, pkgconf and pkg-config, with the former being
the default provider.
2017-11-23 08:05:38 -07:00
Sergey Kosukhin
7f0659f032 New version and patch for 'sqlite'. (#6303) 2017-11-23 08:04:41 -07:00
Audrey Thoma
cd7d812be9 express: new package (#6281) 2017-11-23 08:04:02 -07:00
Ondřej Čertík
7a2b3b2588 Add a patch for Intel 18.0.1 (#6392) 2017-11-23 07:28:35 -07:00
Michael F. Herbst
a955f63530 Add bohrium to spack (#6395)
* Add bohrium package.py

* Changes suggested by @davydden

* Add +cuda guard

* Specify required environment setup
2017-11-23 07:24:55 -07:00
Eric
1dba6435bd r-plotly: Create new package (#6423) 2017-11-23 07:17:17 -07:00
Denis Davydov
ddf10fa322 dealii: limit CMake to 3.9 as 3.10.0 is not supported yet (#6427) 2017-11-23 07:16:44 -07:00
sknigh
e2cf933ec1 gcc environment module will set CC, CXX, FC, F77, and F90 flags (#3954) 2017-11-23 12:44:55 +01:00
Cameron Smith
951679376e zoltan: add optional dependency on parmetis (#6387) 2017-11-23 09:03:02 +01:00
Eric
6fd1009081 r-mixtools: Create new package (#6421) 2017-11-23 09:01:10 +01:00
Eric
bdd8bb1fd9 r-ranger: Create new package (#6422) 2017-11-23 09:00:32 +01:00
Chien-Chang Feng
630d7e19db py-yt: Yt-project is moved. Add new version. (#6409) 2017-11-23 07:25:35 +01:00
Jon Rood
8b63cc6ad6 Using MPI environment compiler variables for pnetcdf. (#6424) 2017-11-22 21:34:21 -08:00
Massimiliano Culpo
0fc6611dc2 Changed every docs variant into doc as decided in #2663 (#6412)
fixes #2663
2017-11-22 15:06:59 +01:00
Adam J. Stewart
1b3b262776 Remove spack extensions from list of known issues (#6405) 2017-11-22 02:31:56 +01:00
Sergey Kosukhin
d4ab511f73 Script for 'eccodes' is compatible with Python 3. (#6402) 2017-11-21 15:59:04 -07:00
Audrey Thoma
a0df5ae3e0 phantompeakqualtools: new package (#6403) 2017-11-21 15:58:20 -07:00
Eric
9e013ee036 r-pbapply: Create new package (#6377) 2017-11-21 13:45:12 -07:00
Eric
5a72d30816 r-ggjoy: Create new package (#6399) 2017-11-21 13:44:25 -07:00
Eric
60b50a7bd2 r-ica: Create new package (#6400) 2017-11-21 13:43:02 -07:00
Eric
d6a5310df5 r-cppprogress: Create new package (#6398) 2017-11-21 13:42:44 -07:00
Eric
d725904803 r-sdmtools: Create new package (#6397) 2017-11-21 13:42:28 -07:00
BenBrands
27b9d2614c CMake: add 3.10.0 (#6393) 2017-11-21 08:04:53 -07:00
David Poliakoff
003f83db50 gotcha: new package (#6391)
* Initial stab at a package for Gotcha

* Commit with no boilerplate

* Flake8
2017-11-21 08:04:43 -07:00
Audrey Thoma
c4613b8e1f mira: new package (#6385) 2017-11-21 08:04:08 -07:00
Michael F. Herbst
f0c0243cd4 Fix to allow installing pocl 0.14 again (#6372)
* Resolve issue 4669

* Use prefix path magic attribute
2017-11-21 08:03:36 -07:00
Yifan Zhu
5250c8eb0a r-broom: new package (#6282) 2017-11-21 10:49:09 +01:00
Yifan Zhu
e3abc7bfa4 r-haven: created new package (#6293) 2017-11-21 09:54:43 +01:00
Yifan Zhu
b7189ecf9e r-psych: created new package (#6286) 2017-11-21 09:40:10 +01:00
Yifan Zhu
ef8429c99c r-modelr: created new package (#6289) 2017-11-21 09:26:44 +01:00
Eric
0743c5bde6 r-crosstalk: Create new package (#6383) 2017-11-20 21:52:58 -07:00
Eric
cd5e6a14bb r-fnn: Create new package (#6384) 2017-11-20 21:52:39 -07:00
Audrey Thoma
8b2abfb28b masurca: new package (#6386) 2017-11-20 21:51:35 -07:00
Eric
70ce7e2099 meme: add version 4.12.0 (#6388) 2017-11-20 21:50:46 -07:00
Eric
035cce2b81 py-biopython: add version 1.70 (#6389) 2017-11-20 21:50:25 -07:00
Eric
17e0b81463 r-ggridges: Create new package (#6376) 2017-11-20 14:18:16 -07:00
Eric
30b794254f py-pysam: add version 0.13 (#6382) 2017-11-20 14:08:25 -07:00
BenBrands
93d5a91a56 dealii: fix HDF5 dependency (#6374) 2017-11-20 11:57:53 -07:00
BenBrands
83db25967e Atlas: add 3.11.39 (#6375) 2017-11-20 11:57:34 -07:00
Eric
9040f34aba r-tclust: Create new package (#6380) 2017-11-20 11:57:04 -07:00
Eric
1d69dbe7ae r-diffusionmap: Create new package (#6378) 2017-11-20 11:56:47 -07:00
Eric
012acdc7a2 r-chemometrics: Create new package (#6379) 2017-11-20 11:56:33 -07:00
Denis Davydov
4e878c21cd elpa: add 2017.05.002 and 2017.05.003 (#5306)
* elpa: add 2017.05.002 and 2017.05.03
* add a variant for optimization flags
2017-11-20 11:17:22 -07:00
Denis Davydov
34da07db9b dealii: add cuda_arch variant via CudaPackage (#6070) 2017-11-19 12:39:13 -07:00
Adam J. Stewart
acbdf516f7 Add a new package for rlwrap (#6371) 2017-11-19 06:45:25 -07:00
lingnanyuan
cf3df2a321 r-dose: Create new package. (#6355) 2017-11-18 12:54:14 -07:00
Eric
20092adb94 r-vgam: Create new package (#6363) 2017-11-18 06:39:55 -07:00
Eric
618f4dff6d r-bindrcpp: Create new package (#6366) 2017-11-18 06:36:39 -07:00
Eric
1c55a401b1 r-dtw: Create new package (#6365) 2017-11-18 06:35:47 -07:00
Eric
ebfc7bd7aa r-som: Create new package (#6364) 2017-11-18 06:35:21 -07:00
Michael Kuron
e2fea1e1e6 siesta: new package (#6346)
* siesta: new package

* siesta: use libs instead of ld_flags everywhere
2017-11-17 19:01:15 -07:00
Stephen Hudson
b2f0306c6f Mpi4py update (#6342) 2017-11-17 19:00:36 -07:00
Javier Cervantes
21da747a5d hepmc: fix hash and urls, add new version 3.0.0 (#6348) 2017-11-17 18:59:52 -07:00
健美猫
8bc024d2d9 Add cluster.2017.5 and cluster.2018.1. (#6349) 2017-11-17 18:59:18 -07:00
lingnanyuan
9647038f27 r-rvcheck: Create new package. (#6351) 2017-11-17 18:59:00 -07:00
lingnanyuan
eda91bebd7 r-gosemsim: Create new package. (#6352) 2017-11-17 18:58:43 -07:00
lingnanyuan
d836d7e7ea r-do-db: Create new package. (#6353) 2017-11-17 18:58:23 -07:00
lingnanyuan
c604638681 r-fgsea: Create new package. (#6354) 2017-11-17 18:58:01 -07:00
lingnanyuan
5c06255b24 r-clusterprofiler: Create new package. (#6356) 2017-11-17 18:57:40 -07:00
sknigh
1f8f593dd6 Added libhio 1.4.0.0 (#6357) 2017-11-17 18:57:17 -07:00
Brian Homerding
17debcb9b2 NuT: Add Installation of lib and demo app (#6341) 2017-11-16 16:30:42 -07:00
Matthias Vogelgesang
a62f8698c3 Add UFO and dependencies (#6337)
* Add json-glib

* Add ufo-core

* Add ufo-filters
2017-11-16 09:37:17 -08:00
healther
ef3c909701 add package py-numba (#6323)
* add package py-numba

* Update package.py

* Update package.py

* Update package.py
2017-11-16 10:13:20 -07:00
Audrey Thoma
e941f33eaf meraculous: new package (#6292)
* meraculous: new package

* adding gcc version conflict

* Update package.py

* Update package.py
2017-11-16 09:40:46 -07:00
lingnanyuan
bb3d5fd313 r-rhdf5: Create new package. (#6330) 2017-11-16 09:40:15 -07:00
lingnanyuan
e732a554ff r-shortread: Create new package. (#6332) 2017-11-16 09:30:18 -07:00
lingnanyuan
cca06422fa r-sva: Create new package. (#6333) 2017-11-16 09:28:59 -07:00
David Hows
d89b09493c Minor package fixes (#6334)
* Add no-implicit-fallthrough to MsgpackC

* Add 0.2.1 of Neovim

* Lint
2017-11-16 09:28:40 -07:00
Massimiliano Culpo
9bffa96754 Reduce the calls to the python interpreter during initialization (#6312)
* Reduce the calls to the python interpreter during initialization

This should reduce the delay the users experience when sourcing the
setup file to activate shell support. It works by generating at once
all the commands that needs to evaluated (they are stored in
a string and later `eval`ed by the shell).

* setup_env.sh: changed `read` with an equivalent magic

For some reason `read` breaks when sourced from a running script.
Change the incantation we use to construct the unique python command
that will be evaluated.

* setup_env.sh: python command now constructed with `printf` for portability

This recovers the support for `zsh` that was broken in previous commits.
2017-11-15 17:38:40 -07:00
Stephen Hudson
9d1224e5d8 py-petsc4py: Update version to 3.8.0 and add dependencies (#5792)
* py-petsc4py: Update version to 3.8.0 and add dependencies

- Added explicit dependency on python and numpy

* Kept old version - and corrected minimal python version

* Update to 3.8.1
2017-11-15 16:49:36 -07:00
baip
697f3ea71d cp2k: add dependency on smm and libxc & new version 5.1 (#6194)
* cp2k: add libxsmm dependency

* cp2k: add libxc dependency

* cp2k: add smm variant to select from libxsmm or libsmm

* cp2k: add version 5.1
2017-11-15 16:49:08 -07:00
Christoph Junghans
7da8a02cbf git grep --files-with-matches github.com/llnl/spack | xargs sed -i '/github.com/s@llnl/spack@spack/spack@' (#6329) 2017-11-15 16:46:39 -07:00
Denis Davydov
cb5fd6035a intel: add 2018.1 (#6322) 2017-11-15 13:13:15 -07:00
Axel Huebl
d1a733bc86 xtensor, xtl, xsimd (#6315)
Adds the QuantStack libs (C++, header-only) needed for
xtensor.
2017-11-15 13:12:31 -07:00
Yifan Zhu
cde0570c56 r-janitor: created new package (#6313) 2017-11-15 13:09:24 -07:00
Yifan Zhu
0d9ab84ebb r-dbplyr: created new package (#6311) 2017-11-15 13:09:11 -07:00
Howard Pritchard
af1b93b3db Open MPI: add 2.0.4 release to package file (#6310)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-11-15 13:03:07 -07:00
健美猫
71f12597a7 Update pgi to 17.10 . (#6306) 2017-11-15 13:02:54 -07:00
Sergey Kosukhin
e77b11674f Update for 'magics' and 'libemos'. (#6275) 2017-11-15 13:01:23 -07:00
scheibelp
b9be9519e8 Fix truncated error messages in directives (#6320)
Fixes #6299

Error messages in 'directives' were split across multiple lines and not
properly concatenated, which led to truncated messages.
2017-11-15 10:33:59 -08:00
Benedikt Riedel
2eb7fabe62 Allow openblas to build on a VM (#6258)
This adds a "virtual_machine" boolean variant which adds build
options that enable building openblas on a VM.
2017-11-15 10:32:02 -08:00
Eric
9acf207023 picard: add versions and fix url format (#6309) 2017-11-14 16:41:27 -07:00
Michael Kuhn
ec5d366bcd likwid: Fix hash for 4.3.0 (#6307)
Prefer 4.2.1 for now because 4.3.0's hash changes regularly.
2017-11-14 16:41:05 -07:00
健美猫
d9a4e7a038 Update miniconda to 4.3.30. (#6233) 2017-11-14 12:11:53 -08:00
Adam J. Stewart
138e9d08c6 Add the latest version of Lmod (#6297) 2017-11-14 10:32:41 -08:00
koebbe
50957bd44f py-h5py: make sure to depend on the hl variant of hdf5 (#6304) 2017-11-14 09:26:58 -07:00
vishalkenchan
0692029273 update trilinos checksums (#6301) 2017-11-14 09:22:34 -07:00
Michael Kuhn
aa27432a1d ncl: Check for ncl binary after installation (#6298)
ncl's build system will happily continue in case of errors, which might
result in the ncl binary not being built.
2017-11-14 09:22:04 -07:00
Michael Kuhn
e31b997162 icu4c: Update to 60.1 (#6295)
Previous versions try to include xlocale.h, which fails on glibc >= 2.26.
2017-11-14 09:21:35 -07:00
Yifan Zhu
a8f9182ef3 r-forcats: created new package (#6291) 2017-11-14 09:21:21 -07:00
Michael Kuhn
93bca2f3a2 libbson, libmongoc: Update to 1.8.1 (#6290) 2017-11-14 09:21:05 -07:00
Eric
137a9e64ac trimgalore: add version 0.4.5 (#6288) 2017-11-14 09:20:20 -07:00
Yifan Zhu
392e25b7e6 r-mnormt: created new package (#6287) 2017-11-14 09:20:06 -07:00
Yifan Zhu
05eb287ed9 r-bindr: created new package (#6285) 2017-11-14 09:19:49 -07:00
Yifan Zhu
c042644b53 r-glue: created new package (#6283) 2017-11-13 16:25:52 -07:00
Douglas Duckworth
c7d2b4dbd6 relion 2.1 - update variant defaults (#6201)
Default precision should be double for CPU. Generally users also want
to use GPUs so the +cuda variant is now also enabled by default.
2017-11-13 12:29:43 -08:00
Massimiliano Culpo
2d6cccdc53 Added an issue template for Github (#6205)
The MD file has been added in the root folder, as CONTRIBUTING.md
2017-11-13 10:51:53 -07:00
Christoph Junghans
bde727e187 mpibash: move to autotools (#6253) 2017-11-13 10:48:31 -07:00
Christoph Junghans
02335fa849 ucx: initial commit (#6265) 2017-11-13 10:47:58 -07:00
Eric
306aca812d ont-albacore: add version 2.1.2 (#6278) 2017-11-13 10:47:40 -07:00
Todd Gamblin
9c93c4a42b Update tutorial slide links. (#6276) 2017-11-13 07:52:43 -07:00
5487 changed files with 241061 additions and 116560 deletions

View File

@@ -4,33 +4,13 @@ coverage:
range: 60...90
status:
project:
default: true
llnl:
threshold: 0.5
paths:
- lib/spack/llnl
commands:
threshold: 0.5
paths:
- lib/spack/spack/cmd
build_systems:
threshold: 0.5
paths:
- lib/spack/spack/build_systems
modules:
threshold: 0.5
paths:
- lib/spack/spack/modules
core:
threshold: 0.5
paths:
- "!lib/spack/llnl"
- "!lib/spack/spack/cmd"
default:
threshold: 0.3%
ignore:
- lib/spack/spack/test/.*
- lib/spack/env/.*
- lib/spack/docs/.*
- lib/spack/external/.*
- share/spack/qa/.*
comment: off

View File

@@ -7,9 +7,9 @@ branch = True
source = lib
omit =
lib/spack/spack/test/*
lib/spack/env/*
lib/spack/docs/*
lib/spack/external/*
share/spack/qa/*
[report]
# Regexes for lines to exclude from consideration

11
.dockerignore Normal file
View File

@@ -0,0 +1,11 @@
.git/*
opt/spack/*
/etc/spack/*
!/etc/spack/defaults
share/spack/dotkit/*
share/spack/lmod/*
share/spack/modules/*
lib/spack/spack/test/*

21
.flake8
View File

@@ -1,21 +1,32 @@
# -*- conf -*-
# flake8 settings for Spack core files.
#
# These exceptions ar for Spack core files. We're slightly more lenient
# These exceptions are for Spack core files. We're slightly more lenient
# with packages. See .flake8_packages for that.
#
# Let people line things up nicely:
# E1: Indentation
# - E129: visually indented line with same indent as next logical line
#
# E2: Whitespace
# - E221: multiple spaces before operator
# - E241: multiple spaces after ','
# - E272: multiple spaces before keyword
#
# Let people use terse Python features:
# - E731: lambda expressions
# E7: Statement
# - E731: do not assign a lambda expression, use a def
#
# W5: Line break warning
# - W503: line break before binary operator
# - W504: line break after binary operator
#
# These are required to get the package.py files to test clean:
# - F999: syntax error in doctest
#
# N8: PEP8-naming
# - N801: class names should use CapWords convention
# - N813: camelcase imported as lowercase
# - N814: camelcase imported as constant
#
[flake8]
ignore = E129,E221,E241,E272,E731,F999
ignore = E129,E221,E241,E272,E731,W503,W504,F999,N801,N813,N814
max-line-length = 79

View File

@@ -7,16 +7,18 @@
# wildcard import and dependencies can set globals for their
# dependents. So we add exceptions for checks related to undefined names.
#
# Note that we also add *per-line* exemptions for certain patters in the
# Note that we also add *per-line* exemptions for certain patterns in the
# `spack flake8` command. This is where F403 for `from spack import *`
# is added (beause we *only* allow that wildcard).
#
# See .flake8 for regular exceptions.
#
# Redefinition exceptions:
# F4: Import
# - F405: `name` may be undefined, or undefined from star imports: `module`
# - F821: undefined name `name` (needed for cmake, configure, etc.)
#
# F8: Name
# - F821: undefined name `name`
#
[flake8]
ignore = E129,E221,E241,E272,E731,F999,F405,F821
ignore = E129,E221,E241,E272,E731,W503,W504,F405,F821,F999,N801,N813,N814
max-line-length = 79

1
.gitattributes vendored Normal file
View File

@@ -0,0 +1 @@
*.py diff=python

View File

@@ -1,4 +1,4 @@
# Contributor Covenant Code of Conduct
# Spack Community Code of Conduct
## Our Pledge
@@ -30,7 +30,7 @@ Project maintainers have the right and responsibility to remove, edit, or reject
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the Spack project or its community. Examples of representing the project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of the project may be further defined and clarified by Spack maintainers.
## Enforcement

8
.github/CONTRIBUTING.md vendored Normal file
View File

@@ -0,0 +1,8 @@
# Contributing to Spack
All contributions to Spack must be made under both the Apache License,
Version 2.0 (Apache-2.0) and the MIT license (MIT).
Before contributing to Spack, you should read the
[Contribution Guide](https://spack.readthedocs.io/en/latest/contribution_guide.html),
which is maintained as part of Spack's documentation.

49
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,49 @@
---
name: Bug report
about: Report a bug in the core of Spack (command not working as expected, etc.)
labels: bug
---
*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
```console
$ spack <command1> <spec>
$ 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:
```console
$ spack -d --stacktrace <command1> <spec>
$ spack -d --stacktrace <command2> <spec>
...
```
that activate the full debug output.
### Information on your system
This includes:
1. which platform you are using
2. any relevant configuration detail (custom `packages.yaml` or `modules.yaml`, etc.)
-----
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!

78
.github/ISSUE_TEMPLATE/build_error.md vendored Normal file
View File

@@ -0,0 +1,78 @@
---
name: Build error
about: Some package in Spack didn't build correctly
labels: "build-error"
---
*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!
---
### Steps to reproduce the issue
```console
$ spack install <spec> # Fill in the exact spec you are using
... # and the relevant part of the error message
```
### Platform and user environment
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:
- `packages.yaml`
- `compilers.yaml`
to the issue
### 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.
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.
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:
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.

View File

@@ -0,0 +1,28 @@
---
name: Feature request
about: Suggest adding a feature that is not yet in Spack
labels: feature
---
*Please add a concise summary of your suggestion here.*
### Rationale
*Is your feature request related to a problem? Please describe it!*
### Description
*Describe the solution you'd like and the alternatives you have considered.*
### Additional information
*Add any other context about the feature request here.*
-----
If you want to ask a question about the tool (how to use it, what it can currently do, etc.), try the `#general` channel on our Slack first. We have a welcoming community and chances are you'll get your reply faster and without opening an issue.
Other than that, thanks for taking the time to contribute to Spack!

View File

@@ -0,0 +1,6 @@
FROM python:3.7-alpine
RUN pip install pygithub
ADD entrypoint.py /entrypoint.py
ENTRYPOINT ["/entrypoint.py"]

View File

@@ -0,0 +1,85 @@
#!/usr/bin/env python
#
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
"""Maintainer review action.
This action checks which packages have changed in a PR, and adds their
maintainers to the pull request for review.
"""
import json
import os
import re
import subprocess
from github import Github
def spack(*args):
"""Run the spack executable with arguments, and return the output split.
This does just enough to run `spack pkg` and `spack maintainers`, the
two commands used by this action.
"""
github_workspace = os.environ['GITHUB_WORKSPACE']
spack = os.path.join(github_workspace, 'bin', 'spack')
output = subprocess.check_output([spack] + list(args))
split = re.split(r'\s*', output.decode('utf-8').strip())
return [s for s in split if s]
def main():
# get these first so that we'll fail early
token = os.environ['GITHUB_TOKEN']
event_path = os.environ['GITHUB_EVENT_PATH']
with open(event_path) as file:
data = json.load(file)
# make sure it's a pull_request event
assert 'pull_request' in data
# only request reviews on open, edit, or reopen
action = data['action']
if action not in ('opened', 'edited', 'reopened'):
return
# get data from the event payload
pr_data = data['pull_request']
base_branch_name = pr_data['base']['ref']
full_repo_name = pr_data['base']['repo']['full_name']
pr_number = pr_data['number']
requested_reviewers = pr_data['requested_reviewers']
author = pr_data['user']['login']
# get a list of packages that this PR modified
changed_pkgs = spack(
'pkg', 'changed', '--type', 'ac', '%s...' % base_branch_name)
# get maintainers for all modified packages
maintainers = set()
for pkg in changed_pkgs:
pkg_maintainers = set(spack('maintainers', pkg))
maintainers |= pkg_maintainers
# remove any maintainers who are already on the PR, and the author,
# as you can't review your own PR)
maintainers -= set(requested_reviewers)
maintainers -= set([author])
if not maintainers:
return
# request reviews from each maintainer
gh = Github(token)
repo = gh.get_repo(full_repo_name)
pr = repo.get_pull(pr_number)
pr.create_review_request(list(maintainers))
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,57 @@
name: linux builds
on:
push:
branches:
- master
- develop
pull_request:
branches:
- master
- develop
paths-ignore:
# Don't run if we only modified packages in the built-in repository
- 'var/spack/repos/builtin/**'
- '!var/spack/repos/builtin/packages/lz4/**'
- '!var/spack/repos/builtin/packages/mpich/**'
- '!var/spack/repos/builtin/packages/tut/**'
- '!var/spack/repos/builtin/packages/py-setuptools/**'
- '!var/spack/repos/builtin/packages/openjpeg/**'
- '!var/spack/repos/builtin/packages/r-rcpp/**'
jobs:
build:
runs-on: ubuntu-latest
strategy:
max-parallel: 4
matrix:
package: [lz4, mpich, tut, py-setuptools, openjpeg, r-rcpp]
steps:
- uses: actions/checkout@v1
- name: Cache ccache's store
uses: actions/cache@v1
with:
path: ~/.ccache
key: ccache-build-${{ matrix.package }}
restore-keys: |
ccache-build-${{ matrix.package }}
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: 3.8
- name: Install System Packages
run: |
sudo apt-get -yqq install ccache gfortran perl perl-base r-base r-base-core r-base-dev findutils openssl libssl-dev libpciaccess-dev
R --version
perl --version
- name: Copy Configuration
run: |
ccache -M 300M && ccache -z
# Set up external deps for build tests, b/c they take too long to compile
cp share/spack/qa/configuration/*.yaml etc/spack/
- name: Run the build test
run: |
. share/spack/setup-env.sh
SPEC=${{ matrix.package }} share/spack/qa/run-build-tests
ccache -s

View File

@@ -0,0 +1,30 @@
name: python version check
on:
push:
branches:
- master
- develop
pull_request:
branches:
- master
- develop
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v1
- name: Setup Python
uses: actions/setup-python@v1
with:
python-version: 3.7
- name: Install Python Packages
run: |
pip install --upgrade pip
pip install --upgrade vermin
- name: Minimum Version (Spack's Core)
run: vermin --backport argparse -t=2.6- -t=3.5- -v lib/spack/spack/ lib/spack/llnl/ bin/
- name: Minimum Version (Repositories)
run: vermin --backport argparse -t=2.6- -t=3.5- -v var/spack/repos

8
.gitignore vendored
View File

@@ -1,6 +1,7 @@
/db
/var/spack/stage
/var/spack/cache
/var/spack/environments
/var/spack/repos/*/index.yaml
/var/spack/repos/*/lock
*.pyc
@@ -19,7 +20,10 @@
*.swp
/htmlcov
.coverage
#*
\#*
.#*
/.cache
lib/spack/spack/test/.cache
/bin/spackc
*.in.log
*.out.log
*.orig

View File

@@ -3,6 +3,7 @@ Adam Moody <moody20@llnl.gov> Adam T. Moody
Alfredo Gimenez <gimenez1@llnl.gov> Alfredo Gimenez <alfredo.gimenez@gmail.com>
Alfredo Gimenez <gimenez1@llnl.gov> Alfredo Adolfo Gimenez <alfredo.gimenez@gmail.com>
Andrew Williams <williamsa89@cardiff.ac.uk> Andrew Williams <andrew@alshain.org.uk>
Axel Huebl <a.huebl@hzdr.de> Axel Huebl <axel.huebl@plasma.ninja>
Ben Boeckel <ben.boeckel@kitware.com> Ben Boeckel <mathstuf@gmail.com>
Ben Boeckel <ben.boeckel@kitware.com> Ben Boeckel <mathstuf@users.noreply.github.com>
Benedikt Hegner <hegner@cern.ch> Benedikt Hegner <benedikt.hegner@cern.ch>
@@ -48,6 +49,7 @@ Robert D. French <frenchrd@ornl.gov> Robert D. French
Robert D. French <frenchrd@ornl.gov> Robert.French <frenchrd@ornl.gov>
Robert D. French <frenchrd@ornl.gov> robertdfrench <frenchrd@ornl.gov>
Saravan Pantham <saravan.pantham@gmail.com> Saravan Pantham <pantham1@surface86.llnl.gov>
Sergey Kosukhin <sergey.kosukhin@mpimet.mpg.de> Sergey Kosukhin <skosukhin@gmail.com>
Stephen Herbein <sherbein@udel.edu> Stephen Herbein <stephen272@gmail.com>
Todd Gamblin <tgamblin@llnl.gov> George Todd Gamblin <gamblin2@llnl.gov>
Todd Gamblin <tgamblin@llnl.gov> Todd Gamblin <gamblin2@llnl.gov>

9
.readthedocs.yml Normal file
View File

@@ -0,0 +1,9 @@
version: 2
sphinx:
configuration: lib/spack/docs/conf.py
python:
version: 3.7
install:
- requirements: lib/spack/docs/requirements.txt

View File

@@ -11,128 +11,126 @@ branches:
#=============================================================================
# Build matrix
#=============================================================================
dist: xenial
jobs:
fast_finish: true
include:
- stage: 'flake8'
python: '2.7'
- stage: 'style checks'
python: '3.8'
os: linux
language: python
env: TEST_SUITE=flake8
- stage: 'unit tests + documentation'
python: '2.6'
# Shell integration with module files
- python: '3.8'
os: linux
language: python
env: TEST_SUITE=unit
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.3'
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.4'
os: linux
language: python
env: TEST_SUITE=unit
- 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 ]
- os: osx
language: generic
env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7, COVERAGE=true ]
- python: '2.7'
- python: '3.8'
os: linux
language: python
env: TEST_SUITE=doc
# mpich (AutotoolsPackage)
- stage: 'build tests'
python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=mpich' ]
# astyle (MakefilePackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=astyle' ]
# tut (WafPackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=tut' ]
# py-setuptools (PythonPackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=py-setuptools' ]
# perl-dbi (PerlPackage)
# - python: '2.7'
# os: linux
# language: python
# env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=perl-dbi' ]
# openjpeg (CMakePackage + external cmake)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=openjpeg' ]
# r-rcpp (RPackage + external R)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=r-rcpp' ]
# mpich (AutotoolsPackage)
- python: '3.6'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=mpich' ]
- os: osx
language: generic
env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7, COVERAGE=true ]
if: type != pull_request
stages:
- 'style checks'
- 'unit tests + documentation'
#=============================================================================
# Environment
#=============================================================================
# Use new Travis infrastructure (Docker can't sudo yet)
sudo: false
# Docs need graphviz to build
addons:
# for Linux builds, we use APT
apt:
packages:
- ccache
- cmake
- gfortran
- mercurial
- graphviz
- gnupg2
- cmake
- kcov
- mercurial
- ninja-build
- perl
- perl-base
- realpath
- r-base
- r-base-core
- r-base-dev
- perl
- perl-base
- zsh
# for Mac builds, we use Homebrew
homebrew:
packages:
- python@2
- gcc
- gnupg2
- ccache
- dash
- kcov
update: true
cache: pip
# ~/.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:
- ~/.ccache
# Work around Travis's lack of support for Python on OSX
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions python > /dev/null || brew install python; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions gcc > /dev/null || brew install gcc; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions gnupg2 > /dev/null || brew install gnupg2; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then virtualenv venv; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then source venv/bin/activate; fi
- 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 codecov coverage==4.5.4
- pip install --upgrade flake8
- if [[ "$TEST_SUITE" == "doc" ]]; then pip install --upgrade -r lib/spack/docs/requirements.txt; fi
- 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.
@@ -140,18 +138,25 @@ before_script:
- git config --global user.name "Test User"
# Need this to be able to compute the list of changed files
- git fetch origin develop:develop
# Set up external dependencies for build tests, because the take too long to compile
- if [[ "$TEST_SUITE" == "build" ]]; then cp share/spack/qa/configuration/packages.yaml etc/spack/packages.yaml; fi
- git fetch origin ${TRAVIS_BRANCH}:${TRAVIS_BRANCH}
#=============================================================================
# Building
#=============================================================================
script: share/spack/qa/run-$TEST_SUITE-tests
script:
- share/spack/qa/run-$TEST_SUITE-tests
after_success:
- codecov --env PY_VERSION
- 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

451
CHANGELOG.md Normal file
View File

@@ -0,0 +1,451 @@
# v0.14.2 (2019-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 (2019-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 integreated 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 alread added patches (#13908)
* avoid re-fetching alread added patches (#13908)
* allow repeated invocations of `spack mirror create` on the same dir (#13908)
* bugfix for RHEL8 when `python` is unavailable (#14252)
* improve concretization performance in environments (#14190)
* improve installation performance in environments (#14263)
# v0.13.2 (2019-12-04)
This release contains major performance improvements for Spack environments, as
well as some bugfixes and minor changes.
* allow missing modules if they are blacklisted (#13540)
* speed up environment activation (#13557)
* mirror path works for unknown versions (#13626)
* environments: don't try to modify run-env if a spec is not installed (#13589)
* use semicolons instead of newlines in module/python command (#13904)
* verify.py: os.path.exists exception handling (#13656)
* Document use of the maintainers field (#13479)
* bugfix with config caching (#13755)
* hwloc: added 'master' version pointing at the HEAD of the master branch (#13734)
* config option to allow gpg warning suppression (#13744)
* fix for relative symlinks when relocating binary packages (#13727)
* allow binary relocation of strings in relative binaries (#13724)
# v0.13.1 (2019-11-05)
This is a bugfix release on top of `v0.13.0`. Specific fixes include:
* `spack find` now displays variants and other spec constraints
* bugfix: uninstall should find concrete specs by DAG hash (#13598)
* environments: make shell modifications partially unconditional (#13523)
* binary distribution: relocate text files properly in relative binaries (#13578)
* bugfix: fetch prefers to fetch local mirrors over remote resources (#13545)
* environments: only write when necessary (#13546)
* bugfix: spack.util.url.join() now handles absolute paths correctly (#13488)
* sbang: use utf-8 for encoding when patching (#13490)
* Specs with quoted flags containing spaces are parsed correctly (#13521)
* targets: print a warning message before downgrading (#13513)
* Travis CI: Test Python 3.8 (#13347)
* Documentation: Database.query methods share docstrings (#13515)
* cuda: fix conflict statements for x86-64 targets (#13472)
* cpu: fix clang flags for generic x86_64 (#13491)
* syaml_int type should use int.__repr__ rather than str.__repr__ (#13487)
* elpa: prefer 2016.05.004 until sse/avx/avx2 issues are resolved (#13530)
* trilinos: temporarily constrain netcdf@:4.7.1 (#13526)
# v0.13.0 (2019-10-25)
`v0.13.0` is our biggest Spack release yet, with *many* new major features.
From facility deployment to improved environments, microarchitecture
support, and auto-generated build farms, this release has features for all of
our users.
Spack grew by over 700 packages in the past year, and the project now has
over 450 contributors. Thanks to all of you for making this release possible.
## Major new core features
- Chaining: use dependencies from external "upstream" Spack instances
- Environments now behave more like virtualenv/conda
- Each env has a *view*: a directory with all packages symlinked in
- Activating an environment sets `PATH`, `LD_LIBRARY_PATH`, `CPATH`,
`CMAKE_PREFIX_PATH`, `PKG_CONFIG_PATH`, etc. to point to this view.
- Spack detects and builds specifically for your microarchitecture
- named, understandable targets like `skylake`, `broadwell`, `power9`, `zen2`
- Spack knows which compilers can build for which architectures
- Packages can easily query support for features like `avx512` and `sse3`
- You can pick a target with, e.g. `spack install foo target=icelake`
- Spack stacks: combinatorial environments for facility deployment
- Environments can now build cartesian products of specs (with `matrix:`)
- Conditional syntax support to exclude certain builds from the stack
- Projections: ability to build easily navigable symlink trees environments
- Support no-source packages (BundlePackage) to aggregate related packages
- Extensions: users can write custom commands that live outside of Spack repo
- Support ARM and Fujitsu compilers
## CI/build farm support
- `spack release-jobs` can detect `package.py` changes and generate
`.gitlab-ci.yml` to create binaries for an environment or stack
in parallel (initial support -- will change in future release).
- Results of build pipelines can be uploaded to a CDash server.
- Spack can now upload/fetch from package mirrors in Amazon S3
## New commands/options
- `spack mirror create --all` downloads *all* package sources/resources/patches
- `spack dev-build` runs phases of the install pipeline on the working directory
- `spack deprecate` permanently symlinks an old, unwanted package to a new one
- `spack verify` chcecks that packages' files match what was originally installed
- `spack find --json` prints `JSON` that is easy to parse with, e.g. `jq`
- `spack find --format FORMAT` allows you to flexibly print package metadata
- `spack spec --json` prints JSON version of `spec.yaml`
## Selected improvements
- Auto-build requested compilers if they do not exist
- Spack automatically adds `RPATHs` needed to make executables find compiler
runtime libraries (e.g., path to newer `libstdc++` in `icpc` or `g++`)
- setup-env.sh is now compatible with Bash, Dash, and Zsh
- Spack now caps build jobs at min(16, ncores) by default
- `spack compiler find` now also throttles number of spawned processes
- Spack now writes stage directories directly to `$TMPDIR` instead of
symlinking stages within `$spack/var/spack/cache`.
- Improved and more powerful `spec` format strings
- You can pass a `spec.yaml` file anywhere in the CLI you can type a spec.
- Many improvements to binary caching
- Gradually supporting new features from Environment Modules v4
- `spack edit` respects `VISUAL` environment variable
- Simplified package syntax for specifying build/run environment modifications
- Numerous improvements to support for environments across Spack commands
- Concretization improvements
## Documentation
- Multi-lingual documentation (Started a Japanese translation)
- Tutorial now has its own site at spack-tutorial.readthedocs.io
- This enables us to keep multiple versions of the tutorial around
## Deprecations
- Spack no longer supports dotkit (LLNL's homegrown, now deprecated module tool)
- `spack build`, `spack configure`, `spack diy` deprecated in favor of
`spack dev-build` and `spack install`
## Important package changes
- 3,563 total packages (718 added since 0.12.1)
- Spack now defaults to Python 3 (previously preferred 2.7 by default)
- Much improved ARM support thanks to Fugaku (RIKEN) and SNL teams
- Support new special versions: master, trunk, and head (in addition to develop)
- Better finding logic for libraries and headers
# v0.12.1 (2018-11-13)
This is a minor bugfix release, with a minor fix in the tutorial and a `flake8` fix.
Bugfixes
* Add `r` back to regex strings in binary distribution
* Fix gcc install version in the tutorial
# v0.12.0 (2018-11-13)
## Major new features
- Spack environments
- `spack.yaml` and `spack.lock` files for tracking dependencies
- Custom configurations via command line
- Better support for linking Python packages into view directories
- Packages have more control over compiler flags via flag handlers
- Better support for module file generation
- Better support for Intel compilers, Intel MPI, etc.
- Many performance improvements, improved startup time
## License
- As of this release, all of Spack is permissively licensed under Apache-2.0 or MIT, at the user's option.
- Consents from over 300 contributors were obtained to make this relicense possible.
- Previous versions were distributed under the LGPL license, version 2.1.
## New packages
Over 2,900 packages (800 added since last year)
Spack would not be possible without our community. Thanks to all of our
[contributors](https://github.com/spack/spack/graphs/contributors) for the
new features and packages in this release!
# v0.11.2 (2018-02-07)
This release contains the following fixes:
* Fixes for `gfortran` 7 compiler detection (#7017)
* Fixes for exceptions thrown during module generation (#7173)
# v0.11.1 (2018-01-19)
This release contains bugfixes for compiler flag handling. There were issues in `v0.11.0` that caused some packages to be built without proper optimization.
Fixes:
* Issue #6999: FFTW installed with Spack 0.11.0 gets built without optimisations
Includes:
* PR #6415: Fixes for flag handling behavior
* PR #6960: Fix type issues with setting flag handlers
* 880e319: Upstream fixes to `list_url` in various R packages
# v0.11.0 (2018-01-17)
Spack v0.11.0 contains many improvements since v0.10.0.
Below is a summary of the major features, broken down by category.
## New packages
- Spack now has 2,178 packages (from 1,114 in v0.10.0)
- Many more Python packages (356) and R packages (471)
- 48 Exascale Proxy Apps (try `spack list -t proxy-app`)
## Core features for users
- Relocatable binary packages (`spack buildcache`, #4854)
- Spack now fully supports Python 3 (#3395)
- Packages can be tagged and searched by tags (#4786)
- Custom module file templates using Jinja (#3183)
- `spack bootstrap` command now sets up a basic module environment (#3057)
- Simplified and better organized help output (#3033)
- Improved, less redundant `spack install` output (#5714, #5950)
- Reworked `spack dependents` and `spack dependencies` commands (#4478)
## Major new features for packagers
- Multi-valued variants (#2386)
- New `conflicts()` directive (#3125)
- New dependency type: `test` dependencies (#5132)
- Packages can require their own patches on dependencies (#5476)
- `depends_on(..., patches=<patch list>)`
- Build interface for passing linker information through Specs (#1875)
- Major packages that use blas/lapack now use this interface
- Flag handlers allow packages more control over compiler flags (#6415)
- Package subclasses support many more build systems:
- autotools, perl, qmake, scons, cmake, makefile, python, R, WAF
- package-level support for installing Intel HPC products (#4300)
- `spack blame` command shows contributors to packages (#5522)
- `spack create` now guesses many more build systems (#2707)
- Better URL parsing to guess package version URLs (#2972)
- Much improved `PythonPackage` support (#3367)
## Core
- Much faster concretization (#5716, #5783)
- Improved output redirection (redirecting build output works properly #5084)
- Numerous improvements to internal structure and APIs
## Tutorials & Documentation
- Many updates to documentation
- [New tutorial material from SC17](https://spack.readthedocs.io/en/latest/tutorial.html)
- configuration
- build systems
- build interface
- working with module generation
- Documentation on docker workflows and best practices
## Selected improvements and bug fixes
- No longer build Python eggs -- installations are plain directories (#3587)
- Improved filtering of system paths from build PATHs and RPATHs (#2083, #3910)
- Git submodules are properly handled on fetch (#3956)
- Can now set default number of parallel build jobs in `config.yaml`
- Improvements to `setup-env.csh` (#4044)
- Better default compiler discovery on Mac OS X (#3427)
- clang will automatically mix with gfortran
- Improved compiler detection on Cray machines (#3075)
- Better support for IBM XL compilers
- Better tab completion
- Resume gracefully after prematurely terminated partial installs (#4331)
- Better mesa support (#5170)
Spack would not be possible without our community. Thanks to all of our
[contributors](https://github.com/spack/spack/graphs/contributors) for the
new features and packages in this release!
# v0.10.0 (2017-01-17)
This is Spack `v0.10.0`. With this release, we will start to push Spack
releases more regularly. This is the last Spack release without
automated package testing. With the next release, we will begin to run
package tests in addition to unit tests.
Spack has grown rapidly from 422 to
[1,114 packages](https://spack.readthedocs.io/en/v0.10.0/package_list.html),
thanks to the hard work of over 100 contributors. Below is a condensed
version of all the changes since `v0.9.1`.
### Packages
- Grew from 422 to 1,114 packages
- Includes major updates like X11, Qt
- Expanded HPC, R, and Python ecosystems
### Core
- Major speed improvements for spack find and concretization
- Completely reworked architecture support
- Platforms can have front-end and back-end OS/target combinations
- Much better support for Cray and BG/Q cross-compiled environments
- Downloads are now cached locally
- Support installations in deeply nested directories: patch long shebangs using `sbang`
### Basic usage
- Easier global configuration via config.yaml
- customize install, stage, and cache locations
- Hierarchical configuration scopes: default, site, user
- Platform-specific scopes allow better per-platform defaults
- Ability to set `cflags`, `cxxflags`, `fflags` on the command line
- YAML-configurable support for both Lmod and tcl modules in mainline
- `spack install` supports --dirty option for emergencies
### For developers
- Support multiple dependency types: `build`, `link`, and `run`
- Added `Package` base classes for custom build systems
- `AutotoolsPackage`, `CMakePackage`, `PythonPackage`, etc.
- `spack create` now guesses many more build systems
- Development environment integration with `spack setup`
- New interface to pass linking information via `spec` objects
- Currently used for `BLAS`/`LAPACK`/`SCALAPACK` libraries
- Polymorphic virtual dependency attributes: `spec['blas'].blas_libs`
### Testing & Documentation
- Unit tests run continuously on Travis CI for Mac and Linux
- Switched from `nose` to `pytest` for unit tests.
- Unit tests take 1 minute now instead of 8
- Massively expanded documentation
- Docs are now hosted on [spack.readthedocs.io](http://spack.readthedocs.io)

View File

@@ -1,5 +0,0 @@
# Contributing to Spack
Before contributing to Spack you should read the
[Contribution Guide](https://spack.readthedocs.io/en/latest/contribution_guide.html),
which is maintained as part of Spack's documentation.

89
COPYRIGHT Normal file
View File

@@ -0,0 +1,89 @@
Intellectual Property Notice
------------------------------
Spack is licensed under the Apache License, Version 2.0 (LICENSE-APACHE
or http://www.apache.org/licenses/LICENSE-2.0) or the MIT license,
(LICENSE-MIT or http://opensource.org/licenses/MIT), at your option.
Copyrights and patents in the Spack project are retained by contributors.
No copyright assignment is required to contribute to Spack.
Spack was originally distributed under the LGPL-2.1 license. Consent from
contributors to relicense to Apache-2.0/MIT is documented at
https://github.com/spack/spack/issues/9137.
SPDX usage
------------
Individual files contain SPDX tags instead of the full license text.
This enables machine processing of license information based on the SPDX
License Identifiers that are available here: https://spdx.org/licenses/
Files that are dual-licensed as Apache-2.0 OR MIT contain the following
text in the license header:
SPDX-License-Identifier: (Apache-2.0 OR MIT)
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.
PackageName: argparse
PackageHomePage: https://pypi.python.org/pypi/argparse
PackageLicenseDeclared: Python-2.0
PackageName: ctest_log_parser
PackageHomePage: https://github.com/Kitware/CMake
PackageLicenseDeclared: BSD-3-Clause
PackageName: distro
PackageHomePage: https://pypi.python.org/pypi/distro
PackageLicenseDeclared: Apache-2.0
PackageName: functools
PackageHomePage: https://github.com/python/cpython/blob/2.7/Lib/functools.py
PackageLicenseDeclared: Python-2.0
PackageName: jinja2
PackageHomePage: https://pypi.python.org/pypi/Jinja2
PackageLicenseDeclared: BSD-3-Clause
PackageName: jsonschema
PackageHomePage: https://pypi.python.org/pypi/jsonschema
PackageLicenseDeclared: MIT
PackageName: markupsafe
PackageHomePage: https://pypi.python.org/pypi/MarkupSafe
PackageLicenseDeclared: BSD-3-Clause
PackageName: orderddict
Homepage: https://pypi.org/project/ordereddict/
PackageLicenseDeclared: MIT
PackageName: py
PackageHomePage: https://pypi.python.org/pypi/py
PackageLicenseDeclared: MIT
PackageName: pytest
PackageHomePage: https://pypi.python.org/pypi/pytest
PackageLicenseDeclared: MIT
PackageName: ruamel.yaml
PackageHomePage: https://yaml.readthedocs.io/
PackageLicenseDeclared: MIT
PackageName: six
PackageHomePage: https://pypi.python.org/pypi/six
PackageLicenseDeclared: MIT
PackageName: macholib
PackageHomePage: https://macholib.readthedocs.io/en/latest/index.html
PackageLicenseDeclared: MIT
PackageName: altgraph
PackageHomePage: https://altgraph.readthedocs.io/en/latest/index.html
PackageLicenseDeclared: MIT

503
LICENSE
View File

@@ -1,503 +0,0 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other
program which contains a notice placed by the copyright holder or
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

202
LICENSE-APACHE Normal file
View File

@@ -0,0 +1,202 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright [yyyy] [name of copyright owner]
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

20
LICENSE-MIT Normal file
View File

@@ -0,0 +1,20 @@
Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
Permission is hereby granted, free of charge, to any person obtaining a
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.

47
NOTICE
View File

@@ -1,32 +1,21 @@
########################################################################
LLNL NOTICE AND TERMS AND CONDITIONS OF THE GNU LGPL
########################################################################
This work was produced under the auspices of the U.S. Department of
Energy by Lawrence Livermore National Laboratory under Contract
DE-AC52-07NA27344.
LLNL Preamble Notice
This work was prepared as an account of work sponsored by an agency of
the United States Government. Neither the United States Government nor
Lawrence Livermore National Security, LLC, nor any of their employees
makes any warranty, expressed or implied, or assumes any legal liability
or responsibility for the accuracy, completeness, or usefulness of any
information, apparatus, product, or process disclosed, or represents that
its use would not infringe privately owned rights.
A. This notice is required to be provided under LLNL's contract with
the U.S. Department of Energy (DOE). This work was produced at the
Lawrence Livermore National Laboratory under Contract
No. DE-AC52-07NA27344 with the DOE.
Reference herein to any specific commercial product, process, or service
by trade name, trademark, manufacturer, or otherwise does not necessarily
constitute or imply its endorsement, recommendation, or favoring by the
United States Government or Lawrence Livermore National Security, LLC.
B. Neither the United States Government nor Lawrence Livermore
National Security, LLC nor any of their employees, makes any
warranty, express or implied, or assumes any liability or
responsibility for the accuracy, completeness, or usefulness of any
information, apparatus, product, or process disclosed, or
represents that its use would not infringe privately-owned rights.
C. Also, reference herein to any specific commercial products,
process, or services by trade name, trademark, manufacturer or
otherwise does not necessarily constitute or imply its endorsement,
recommendation, or favoring by the United States Government or
Lawrence Livermore National Security, LLC. The views and opinions
of authors expressed herein do not necessarily state or reflect
those of the United States Government or Lawrence Livermore
National Security, LLC, and shall not be used for advertising or
product endorsement purposes.
See the LICENSE file for the precise terms and conditions for copying,
distribution and modification.
########################################################################
The views and opinions of authors expressed herein do not necessarily
state or reflect those of the United States Government or Lawrence
Livermore National Security, LLC, and shall not be used for advertising
or product endorsement purposes.

View File

@@ -1,6 +1,7 @@
# <img src="https://cdn.rawgit.com/spack/spack/features/svg-logo/share/spack/logo/spack-logo.svg" width="64" valign="middle" alt="Spack"/> Spack
# <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)
[![Linux Builds](https://github.com/spack/spack/workflows/linux%20builds/badge.svg)](https://github.com/spack/spack/actions)
[![codecov](https://codecov.io/gh/spack/spack/branch/develop/graph/badge.svg)](https://codecov.io/gh/spack/spack)
[![Read the Docs](https://readthedocs.org/projects/spack/badge/?version=latest)](https://spack.readthedocs.io)
[![Slack](https://spackpm.herokuapp.com/badge.svg)](https://spackpm.herokuapp.com)
@@ -26,49 +27,43 @@ Then:
$ git clone https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install libelf
$ ./spack install zlib
Documentation
----------------
[**Full documentation**](http://spack.readthedocs.io/) for Spack is
the first place to look.
[**Full documentation**](http://spack.readthedocs.io/) is available, or
run `spack help` or `spack help --all`.
Try the
[**Spack Tutorial**](http://spack.readthedocs.io/en/latest/tutorial.html),
to learn how to use spack, write packages, or deploy packages for users
at your site.
Tutorial
----------------
See also:
* [Technical paper](http://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf) and
[slides](https://tgamblin.github.io/files/Gamblin-Spack-SC15-Talk.pdf) on Spack's design and implementation.
* [Short presentation](https://tgamblin.github.io/files/Gamblin-Spack-Lightning-Talk-BOF-SC15.pdf) from the *Getting Scientific Software Installed* BOF session at Supercomputing 2015.
We maintain a
[**hands-on tutorial**](http://spack.readthedocs.io/en/latest/tutorial.html).
It covers basic to advanced usage, packaging, developer features, and large HPC
deployments. You can do all of the exercises on your own laptop using a
Docker container.
Get Involved!
Feel free to use these materials to teach users at your organization
about Spack.
Community
------------------------
Spack is an open source project. Questions, discussion, and
contributions are welcome. Contributions can be anything from new
packages to bugfixes, or even new core features.
packages to bugfixes, documentation, or even new core features.
### Mailing list
Resources:
If you are interested in contributing to spack, join the mailing list.
We're using Google Groups for this:
* [Spack Google Group](https://groups.google.com/d/forum/spack)
### Slack channel
Spack has a Slack channel where you can chat about all things Spack:
* [Spack on Slack](https://spackpm.slack.com)
[Sign up here](https://spackpm.herokuapp.com) to get an invitation mailed
to you.
### Contributions
* **Slack workspace**: [spackpm.slack.com](https://spackpm.slack.com).
To get an invitation, [**click here**](https://spackpm.herokuapp.com).
* **Mailing list**: [groups.google.com/d/forum/spack](https://groups.google.com/d/forum/spack)
* **Twitter**: [@spackpm](https://twitter.com/spackpm). Be sure to
`@mention` us!
Contributing
------------------------
Contributing to Spack is relatively easy. Just send us a
[pull request](https://help.github.com/articles/using-pull-requests/).
When you send your request, make ``develop`` the destination branch on the
@@ -86,6 +81,13 @@ branching model. The ``develop`` branch contains the latest
contributions, and ``master`` is always tagged and points to the latest
stable release.
Code of Conduct
------------------------
Please note that Spack has a
[**Code of Conduct**](.github/CODE_OF_CONDUCT.md). By participating in
the Spack community, you agree to abide by its rules.
Authors
----------------
Many thanks go to Spack's [contributors](https://github.com/spack/spack/graphs/contributors).
@@ -101,11 +103,21 @@ If you are referencing Spack in a publication, please cite the following paper:
[**The Spack Package Manager: Bringing Order to HPC Software Chaos**](http://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf).
In *Supercomputing 2015 (SC15)*, Austin, Texas, November 15-20 2015. LLNL-CONF-669890.
Release
License
----------------
Spack is released under an LGPL license. For more details see the
NOTICE and LICENSE files.
``LLNL-CODE-647188``
Spack is distributed under the terms of both the MIT license and the
Apache License (Version 2.0). Users may choose either license, at their
option.
![Analytics](https://ga-beacon.appspot.com/UA-101208306-3/welcome-page?pixel)
All new contributions must be made under both the MIT and Apache-2.0
licenses.
See [LICENSE-MIT](https://github.com/spack/spack/blob/develop/LICENSE-MIT),
[LICENSE-APACHE](https://github.com/spack/spack/blob/develop/LICENSE-APACHE),
[COPYRIGHT](https://github.com/spack/spack/blob/develop/COPYRIGHT), and
[NOTICE](https://github.com/spack/spack/blob/develop/NOTICE) for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
LLNL-CODE-647188

View File

@@ -1,28 +1,10 @@
#!/bin/bash
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
#
# `sbang`: Run scripts with long shebang lines.
#
@@ -121,10 +103,10 @@ interpreter_f="${interpreter_v[0]}"
# Invoke any interpreter found, or raise an error if none was found.
if [[ -n "$interpreter_f" ]]; then
if [[ "${interpreter_f##*/}" = "perl" ]]; then
exec $interpreter_v -x "$@"
if [[ "${interpreter_f##*/}" = "perl"* ]]; then
exec $interpreter -x "$@"
else
exec $interpreter_v "$@"
exec $interpreter "$@"
fi
else
echo "error: sbang found no interpreter in $script"

View File

@@ -1,28 +1,26 @@
#!/usr/bin/env python
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#!/bin/sh
# -*- python -*-
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
# This file is bilingual. The following shell code finds our preferred python.
# Following line is a shell no-op, and starts a multi-line Python comment.
# See https://stackoverflow.com/a/47886254
""":"
# prefer python3, then python, then python2
for cmd in python3 python python2; do
command -v > /dev/null $cmd && exec $cmd $0 "$@"
done
echo "==> Error: spack could not find a python interpreter!" >&2
exit 1
":"""
# Line above is a shell no-op, and ends a python multi-line comment.
# The code above runs this file with our preferred python interpreter.
from __future__ import print_function
import os
@@ -43,38 +41,23 @@ sys.path.insert(0, spack_lib_path)
# Add external libs
spack_external_libs = os.path.join(spack_lib_path, "external")
if sys.version_info[:2] == (2, 6):
sys.path.insert(0, os.path.join(spack_external_libs, 'py26'))
sys.path.insert(0, spack_external_libs)
# Handle vendoring of YAML specially, as it has two versions.
if sys.version_info[0] == 2:
spack_yaml_libs = os.path.join(spack_external_libs, "yaml/lib")
else:
spack_yaml_libs = os.path.join(spack_external_libs, "yaml/lib3")
sys.path.insert(0, spack_yaml_libs)
# Here we delete ruamel.yaml in case it has been already imported from site
# (see #9206 for a broader description of the issue).
#
# Briefly: ruamel.yaml produces a .pth file when installed with pip that
# makes the site installed package the preferred one, even though sys.path
# is modified to point to another version of ruamel.yaml.
if 'ruamel.yaml' in sys.modules:
del sys.modules['ruamel.yaml']
# Quick and dirty check to clean orphaned .pyc files left over from
# previous revisions. These files were present in earlier versions of
# Spack, were removed, but shadow system modules that Spack still
# imports. If we leave them, Spack will fail in mysterious ways.
# TODO: more elegant solution for orphaned pyc files.
orphaned_pyc_files = [
os.path.join(spack_external_libs, 'functools.pyc'),
os.path.join(spack_external_libs, 'ordereddict.pyc'),
os.path.join(spack_lib_path, 'spack', 'platforms', 'cray_xc.pyc'),
os.path.join(spack_lib_path, 'spack', 'cmd', 'package-list.pyc'),
os.path.join(spack_lib_path, 'spack', 'cmd', 'test-install.pyc'),
os.path.join(spack_lib_path, 'spack', 'cmd', 'url-parse.pyc'),
os.path.join(spack_lib_path, 'spack', 'test', 'yaml.pyc')
]
for pyc_file in orphaned_pyc_files:
if not os.path.exists(pyc_file):
continue
try:
os.remove(pyc_file)
except OSError as e:
print("WARNING: Spack may fail mysteriously. "
"Couldn't remove orphaned .pyc file: %s" % pyc_file)
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

View File

@@ -1,28 +1,10 @@
#!/bin/sh
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
#
# spack-python
#

View File

@@ -16,43 +16,62 @@
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: ~/.spack/opt/spack
# Locations where templates should be found
template_dirs:
- $spack/templates
- $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
lmod: $spack/share/spack/lmod
dotkit: $spack/share/spack/dotkit
tcl: ~/.spack/share/spack/modules
lmod: ~/.spack/share/spack/lmod
# Temporary locations Spack can try to use for builds.
#
# Spack will use the first one it finds that exists and is writable.
# You can use $tempdir to refer to the system default temp directory
# (as returned by tempfile.gettempdir()).
# Recommended options are given below.
#
# A value of $spack/var/spack/stage indicates that Spack should run
# builds directly inside its install directory without staging them in
# temporary space.
# Builds can be faster in temporary directories on some (e.g., HPC) systems.
# Specifying `$tempdir` will ensure use of the default temporary directory
# (i.e., ``$TMP` or ``$TMPDIR``).
#
# The build stage can be purged with `spack purge --stage`.
# Another option that prevents conflicts and potential permission issues is
# to specify `~/.spack/stage`, which ensures each user builds in their home
# directory.
#
# A more traditional path uses the value of `$spack/var/spack/stage`, which
# builds directly inside Spack's instance without staging them in a
# temporary space. Problems with specifying a path inside a Spack instance
# are that it precludes its use as a system package and its ability to be
# pip installable.
#
# In any case, if the username is not already in the path, Spack will append
# the value of `$user` in an attempt to avoid potential conflicts between
# users in shared temporary spaces.
#
# The build stage can be purged with `spack clean --stage` and
# `spack clean -a`, so it is important that the specified directory uniquely
# identifies Spack staging to avoid accidentally wiping out non-Spack work.
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $spack/var/spack/stage
- $tempdir/$user/spack-stage
- ~/.spack/stage
# - $spack/var/spack/stage
# Cache directory already downloaded source tarballs and archived
# repositories. This can be purged with `spack purge --downloads`.
source_cache: $spack/var/spack/cache
# Cache directory for already downloaded source tarballs and archived
# repositories. This can be purged with `spack clean --downloads`.
source_cache: ~/.spack/var/spack/cache
# Cache directory for miscellaneous files, like the package index.
# This can be purged with `spack purge --misc-cache`
# This can be purged with `spack clean --misc-cache`
misc_cache: ~/.spack/cache
@@ -61,6 +80,20 @@ config:
verify_ssl: true
# Suppress gpg warnings from binary package verification
# Only suppresses warnings, gpg failure will still fail the install
# Potential rationale to set True: users have already explicitly trusted the
# gpg key they are using, and may not want to see repeated warnings that it
# is self-signed or something of the sort.
suppress_gpg_warnings: false
# If set to true, Spack will attempt to build any compiler on the spec
# that is not already available. If set to False, Spack will only use
# compilers already configured in compilers.yaml
install_missing_compilers: False
# If set to true, Spack will always check checksums after downloading
# archives. If false, Spack skips the checksum step.
checksum: true
@@ -71,7 +104,50 @@ config:
dirty: false
# The default number of jobs to use when running `make` in parallel.
# If set to 4, for example, `spack install` will run `make -j4`.
# If not set, all available cores are used by default.
# build_jobs: 4
# The language the build environment will use. This will produce English
# compiler messages by default, so the log parser can highlight errors.
# If set to C, it will use English (see man locale).
# If set to the empty string (''), it will use the language from the
# user's environment.
build_language: C
# When set to true, concurrent instances of Spack will use locks to
# avoid modifying the install tree, database file, etc. If false, Spack
# will disable all locking, but you must NOT run concurrent instances
# of Spack. For filesystems that don't support locking, you should set
# this to false and run one Spack at a time, but otherwise we recommend
# enabling locks.
locks: true
# The maximum number of jobs to use when running `make` in parallel,
# always limited by the number of cores available. For instance:
# - If set to 16 on a 4 cores machine `spack install` will run `make -j4`
# - If set to 16 on a 18 cores machine `spack install` will run `make -j16`
# If not set, Spack will use all available cores up to 16.
# build_jobs: 16
# If set to true, Spack will use ccache to cache C compiles.
ccache: false
# 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: 3
# How long to wait when attempting to modify a package (e.g. to install it).
# This value should typically be 'null' (never time out) unless the Spack
# instance only ever has a single user at a time, and only if the user
# anticipates that a significant delay indicates that the lock attempt will
# never succeed.
package_lock_timeout: null
# Control whether Spack embeds RPATH or RUNPATH attributes in ELF binaries.
# Has no effect on macOS. DO NOT MIX these within the same install tree.
# See the Spack documentation for details.
shared_linking: 'rpath'

View File

@@ -0,0 +1,23 @@
# -------------------------------------------------------------------------
# This is the default configuration for Spack's module file generation.
#
# Settings here are versioned with Spack and are intended to provide
# sensible defaults out of the box. Spack maintainers should edit this
# file to keep it current.
#
# Users can override these settings by editing the following files.
#
# Per-spack-instance settings (overrides defaults):
# $SPACK_ROOT/etc/spack/modules.yaml
#
# Per-user settings (overrides default and site settings):
# ~/.spack/modules.yaml
# -------------------------------------------------------------------------
modules:
prefix_inspections:
lib:
- DYLD_LIBRARY_PATH
- DYLD_FALLBACK_LIBRARY_PATH
lib64:
- DYLD_LIBRARY_PATH
- DYLD_FALLBACK_LIBRARY_PATH

View File

@@ -16,3 +16,12 @@
packages:
all:
compiler: [clang, gcc, intel]
providers:
elf: [libelf]
unwind: [apple-libunwind]
apple-libunwind:
paths:
# 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

View File

@@ -0,0 +1,21 @@
# -------------------------------------------------------------------------
# This is the default configuration for Spack's module file generation.
#
# Settings here are versioned with Spack and are intended to provide
# sensible defaults out of the box. Spack maintainers should edit this
# file to keep it current.
#
# Users can override these settings by editing the following files.
#
# Per-spack-instance settings (overrides defaults):
# $SPACK_ROOT/etc/spack/modules.yaml
#
# Per-user settings (overrides default and site settings):
# ~/.spack/modules.yaml
# -------------------------------------------------------------------------
modules:
prefix_inspections:
lib:
- LD_LIBRARY_PATH
lib64:
- LD_LIBRARY_PATH

View File

@@ -16,7 +16,6 @@
modules:
enable:
- tcl
- dotkit
prefix_inspections:
bin:
- PATH
@@ -28,16 +27,16 @@ modules:
- ACLOCAL_PATH
lib:
- LIBRARY_PATH
- LD_LIBRARY_PATH
lib64:
- LIBRARY_PATH
- LD_LIBRARY_PATH
include:
- CPATH
lib/pkgconfig:
- PKG_CONFIG_PATH
lib64/pkgconfig:
- PKG_CONFIG_PATH
share/pkgconfig:
- PKG_CONFIG_PATH
'':
- CMAKE_PREFIX_PATH

View File

@@ -15,23 +15,36 @@
# -------------------------------------------------------------------------
packages:
all:
compiler: [gcc, intel, pgi, clang, xl, nag]
compiler: [gcc, intel, pgi, clang, xl, nag, fj]
providers:
D: [ldc]
awk: [gawk]
blas: [openblas]
daal: [intel-daal]
elf: [elfutils]
fftw-api: [fftw]
gl: [mesa+opengl, opengl]
glx: [mesa+glx, opengl]
glu: [mesa-glu, openglu]
golang: [gcc]
ipp: [intel-ipp]
java: [jdk]
java: [openjdk, jdk, ibm-java]
jpeg: [libjpeg-turbo, libjpeg]
lapack: [openblas]
mariadb-client: [mariadb-c-client, mariadb]
mkl: [intel-mkl]
mpe: [mpe2]
mpi: [openmpi, mpich]
mysql-client: [mysql, mariadb-c-client]
opencl: [pocl]
openfoam: [openfoam-com, openfoam-org, foam-extend]
pil: [py-pillow]
pkgconfig: [pkgconf, pkg-config]
scalapack: [netlib-scalapack]
sycl: [hipsycl]
szip: [libszip, libaec]
tbb: [intel-tbb]
jpeg: [libjpeg-turbo, libjpeg]
unwind: [libunwind]
sycl: [hipsycl]
permissions:
read: world
write: user

View File

@@ -0,0 +1,7 @@
upstreams:
global:
install_tree: $spack/opt/spack
modules:
tcl: $spack/share/spack/modules
lmod: $spack/share/spack/lmod
dotkit: $spack/share/spack/dotkit

View File

@@ -1,5 +1,7 @@
package_list.rst
package_list.html
command_index.rst
spack*.rst
llnl*.rst
_build
.spack-env
spack.lock

View File

@@ -2,7 +2,7 @@
#
# You can set these variables from the command line.
SPHINXOPTS = -E
SPHINXOPTS = -W
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
@@ -17,7 +17,7 @@ ALLSPHINXOPTS = -d $(BUILDDIR)/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
# the i18n builder cannot share the environment and doctrees with the others
I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext apidoc
.PHONY: help clean html dirhtml singlehtml pickle json htmlhelp qthelp devhelp epub latex latexpdf text man changes linkcheck doctest gettext apidoc dashdoc
all: html
@@ -83,7 +83,7 @@ help:
@echo " doctest to run all doctests embedded in the documentation (if enabled)"
clean:
-rm -f package_list.rst command_index.rst
-rm -f command_index.rst
-rm -rf $(BUILDDIR)/* $(APIDOC_FILES)
html:
@@ -196,3 +196,9 @@ doctest:
$(SPHINXBUILD) -b doctest $(ALLSPHINXOPTS) $(BUILDDIR)/doctest
@echo "Testing of doctests in the sources finished, look at the " \
"results in $(BUILDDIR)/doctest/output.txt."
dashdoc:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/dashdoc
doc2dash -A -v -n spack -d $(BUILDDIR)/ -f -I index.html -j $(BUILDDIR)/dashdoc
@echo
@echo "Build finished. The Docset is in $(BUILDDIR)/dashdoc."

1
lib/spack/docs/_spack_root Symbolic link
View File

@@ -0,0 +1 @@
../../..

View File

@@ -1,17 +0,0 @@
"""Sphinx ReadTheDocs theme.
From https://github.com/ryan-roemer/sphinx-bootstrap-theme.
"""
import os
VERSION = (0, 1, 8)
__version__ = ".".join(str(v) for v in VERSION)
__version_full__ = __version__
def get_html_theme_path():
"""Return list of HTML theme paths."""
cur_dir = os.path.abspath(os.path.dirname(os.path.dirname(__file__)))
return cur_dir

View File

@@ -1,23 +0,0 @@
<div role="navigation" aria-label="breadcrumbs navigation">
<ul class="wy-breadcrumbs">
<li><a href="{{ pathto(master_doc) }}">Docs</a> &raquo;</li>
{% for doc in parents %}
<li><a href="{{ doc.link|e }}">{{ doc.title }}</a> &raquo;</li>
{% endfor %}
<li>{{ title }}</li>
<li class="wy-breadcrumbs-aside">
{% if pagename != "search" %}
{% if display_github %}
<a href="https://{{ github_host|default("github.com") }}/{{ github_user }}/{{ github_repo }}/blob/{{ github_version }}{{ conf_py_path }}{{ pagename }}{{ source_suffix }}" class="fa fa-github"> Edit on GitHub</a>
{% elif display_bitbucket %}
<a href="https://bitbucket.org/{{ bitbucket_user }}/{{ bitbucket_repo }}/src/{{ bitbucket_version}}{{ conf_py_path }}{{ pagename }}{{ source_suffix }}" class="fa fa-bitbucket"> Edit on Bitbucket</a>
{% elif show_source and source_url_prefix %}
<a href="{{ source_url_prefix }}{{ pagename }}{{ source_suffix }}">View page source</a>
{% elif show_source and has_source and sourcename %}
<a href="{{ pathto('_sources/' + sourcename, true)|e }}" rel="nofollow"> View page source</a>
{% endif %}
{% endif %}
</li>
</ul>
<hr/>
</div>

View File

@@ -1,40 +0,0 @@
<footer>
{% if next or prev %}
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
{% if next %}
<a href="{{ next.link|e }}" class="btn btn-neutral float-right" title="{{ next.title|striptags|e }}" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
{% endif %}
{% if prev %}
<a href="{{ prev.link|e }}" class="btn btn-neutral" title="{{ prev.title|striptags|e }}" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
{% endif %}
</div>
{% endif %}
<hr/>
<div role="contentinfo">
<p>
{%- if show_copyright %}
{%- if hasdoc('copyright') %}
{% trans path=pathto('copyright'), copyright=copyright|e %}&copy; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
{%- else %}
{% trans copyright=copyright|e %}&copy; Copyright {{ copyright }}.{% endtrans %}
{%- endif %}
{%- endif %}
<br/>
Written by Todd Gamblin (<a href="mailto:tgamblin@llnl.gov">tgamblin@llnl.gov</a>) and
many <a href="https://github.com/spack/spack/graphs/contributors">contributors.</a> LLNL-CODE-647188.
{%- if last_updated %}
<br/>
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
{%- endif %}
</p>
</div>
{%- if show_sphinx %}
{% trans %}Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>{% endtrans %}.
{%- endif %}
</footer>

View File

@@ -1,181 +0,0 @@
{# TEMPLATE VAR SETTINGS #}
{%- set url_root = pathto('', 1) %}
{%- if url_root == '#' %}{% set url_root = '' %}{% endif %}
{%- if not embedded and docstitle %}
{%- set titlesuffix = " &mdash; "|safe + docstitle|e %}
{%- else %}
{%- set titlesuffix = "" %}
{%- endif %}
<!DOCTYPE html>
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
<head>
<meta charset="utf-8">
{{ metatags }}
<meta name="viewport" content="width=device-width, initial-scale=1.0">
{% block htmltitle %}
<title>{{ title|striptags|e }}{{ titlesuffix }}</title>
{% endblock %}
{# FAVICON #}
{% if favicon %}
<link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
{% endif %}
{# CSS #}
{# OPENSEARCH #}
{% if not embedded %}
{% if use_opensearch %}
<link rel="search" type="application/opensearchdescription+xml" title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}" href="{{ pathto('_static/opensearch.xml', 1) }}"/>
{% endif %}
{% endif %}
{# RTD hosts this file, so just load on non RTD builds #}
{% if not READTHEDOCS %}
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
{% endif %}
{% for cssfile in css_files %}
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
{% endfor %}
{% for cssfile in extra_css_files %}
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
{% endfor %}
{%- block linktags %}
{%- if hasdoc('about') %}
<link rel="author" title="{{ _('About these documents') }}"
href="{{ pathto('about') }}"/>
{%- endif %}
{%- if hasdoc('genindex') %}
<link rel="index" title="{{ _('Index') }}"
href="{{ pathto('genindex') }}"/>
{%- endif %}
{%- if hasdoc('search') %}
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}"/>
{%- endif %}
{%- if hasdoc('copyright') %}
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}"/>
{%- endif %}
<link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}"/>
{%- if parents %}
<link rel="up" title="{{ parents[-1].title|striptags|e }}" href="{{ parents[-1].link|e }}"/>
{%- endif %}
{%- if next %}
<link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}"/>
{%- endif %}
{%- if prev %}
<link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}"/>
{%- endif %}
{%- endblock %}
{%- block extrahead %} {% endblock %}
{# Keep modernizr in head - http://modernizr.com/docs/#installing #}
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav" role="document">
<div class="wy-grid-for-nav">
{# SIDE NAV, TOGGLES ON MOBILE #}
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
<div class="wy-side-nav-search">
{% block sidebartitle %}
{% if logo and theme_logo_only %}
<a href="{{ pathto(master_doc) }}">
{% else %}
<a href="{{ pathto(master_doc) }}" class="icon icon-home"> {{ project }}
{% endif %}
{% if logo %}
{# Not strictly valid HTML, but it's the only way to display/scale it properly, without weird scripting or heaps of work #}
<img src="{{ pathto('_static/' + logo, 1) }}" class="logo" />
{% endif %}
</a>
{% include "searchbox.html" %}
{% endblock %}
</div>
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
{% block menu %}
{% set toctree = toctree(maxdepth=4, collapse=False, includehidden=True) %}
{% if toctree %}
{{ toctree }}
{% else %}
<!-- Local TOC -->
<div class="local-toc">{{ toc }}</div>
{% endif %}
{% endblock %}
</div>
&nbsp;
</nav>
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
{# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #}
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
<a href="{{ pathto(master_doc) }}">{{ project }}</a>
</nav>
{# PAGE CONTENT #}
<div class="wy-nav-content">
<div class="rst-content">
{% include "breadcrumbs.html" %}
<div role="main" class="document">
{% block body %}{% endblock %}
</div>
{% include "footer.html" %}
</div>
</div>
</section>
</div>
{% include "versions.html" %}
{% if not embedded %}
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT:'{{ url_root }}',
VERSION:'{{ release|e }}',
COLLAPSE_INDEX:false,
FILE_SUFFIX:'{{ '' if no_search_suffix else file_suffix }}',
HAS_SOURCE: {{ has_source|lower }}
};
</script>
{%- for scriptfile in script_files %}
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
{%- endfor %}
{% endif %}
{# RTD hosts this file, so just load on non RTD builds #}
{% if not READTHEDOCS %}
<script type="text/javascript" src="{{ pathto('_static/js/theme.js', 1) }}"></script>
{% endif %}
{# STICKY NAVIGATION #}
{% if theme_sticky_navigation %}
<script type="text/javascript">
jQuery(function () {
SphinxRtdTheme.StickyNav.enable();
});
</script>
{% endif %}
{%- block footer %} {% endblock %}
</body>
</html>

View File

@@ -1,205 +0,0 @@
{#
basic/layout.html
~~~~~~~~~~~~~~~~~
Master layout template for Sphinx themes.
:copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
#}
{%- block doctype -%}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
{%- endblock %}
{%- set reldelim1 = reldelim1 is not defined and ' &raquo;' or reldelim1 %}
{%- set reldelim2 = reldelim2 is not defined and ' |' or reldelim2 %}
{%- set render_sidebar = (not embedded) and (not theme_nosidebar|tobool) and
(sidebars != []) %}
{%- set url_root = pathto('', 1) %}
{# XXX necessary? #}
{%- if url_root == '#' %}{% set url_root = '' %}{% endif %}
{%- if not embedded and docstitle %}
{%- set titlesuffix = " &mdash; "|safe + docstitle|e %}
{%- else %}
{%- set titlesuffix = "" %}
{%- endif %}
{%- macro relbar() %}
<div class="related">
<h3>{{ _('Navigation') }}</h3>
<ul>
{%- for rellink in rellinks %}
<li class="right" {% if loop.first %}style="margin-right: 10px"{% endif %}>
<a href="{{ pathto(rellink[0]) }}" title="{{ rellink[1]|striptags|e }}"
{{ accesskey(rellink[2]) }}>{{ rellink[3] }}</a>
{%- if not loop.first %}{{ reldelim2 }}{% endif %}</li>
{%- endfor %}
{%- block rootrellink %}
<li><a href="{{ pathto(master_doc) }}">{{ shorttitle|e }}</a>{{ reldelim1 }}</li>
{%- endblock %}
{%- for parent in parents %}
<li><a href="{{ parent.link|e }}" {% if loop.last %}{{ accesskey("U") }}{% endif %}>{{ parent.title }}</a>{{ reldelim1 }}</li>
{%- endfor %}
{%- block relbaritems %} {% endblock %}
</ul>
</div>
{%- endmacro %}
{%- macro sidebar() %}
{%- if render_sidebar %}
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
{%- block sidebarlogo %}
{%- if logo %}
<p class="logo"><a href="{{ pathto(master_doc) }}">
<img class="logo" src="{{ pathto('_static/' + logo, 1) }}" alt="Logo"/>
</a></p>
{%- endif %}
{%- endblock %}
{%- if sidebars != None %}
{#- new style sidebar: explicitly include/exclude templates #}
{%- for sidebartemplate in sidebars %}
{%- include sidebartemplate %}
{%- endfor %}
{%- else %}
{#- old style sidebars: using blocks -- should be deprecated #}
{%- block sidebartoc %}
{%- include "localtoc.html" %}
{%- endblock %}
{%- block sidebarrel %}
{%- include "relations.html" %}
{%- endblock %}
{%- block sidebarsourcelink %}
{%- include "sourcelink.html" %}
{%- endblock %}
{%- if customsidebar %}
{%- include customsidebar %}
{%- endif %}
{%- block sidebarsearch %}
{%- include "searchbox.html" %}
{%- endblock %}
{%- endif %}
</div>
</div>
{%- endif %}
{%- endmacro %}
{%- macro script() %}
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '{{ url_root }}',
VERSION: '{{ release|e }}',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '{{ '' if no_search_suffix else file_suffix }}',
HAS_SOURCE: {{ has_source|lower }}
};
</script>
{%- for scriptfile in script_files %}
<script type="text/javascript" src="{{ pathto(scriptfile, 1) }}"></script>
{%- endfor %}
{%- endmacro %}
{%- macro css() %}
<link rel="stylesheet" href="{{ pathto('_static/' + style, 1) }}" type="text/css" />
<link rel="stylesheet" href="{{ pathto('_static/pygments.css', 1) }}" type="text/css" />
{%- for cssfile in css_files %}
<link rel="stylesheet" href="{{ pathto(cssfile, 1) }}" type="text/css" />
{%- endfor %}
{%- endmacro %}
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset={{ encoding }}" />
{{ metatags }}
{%- block htmltitle %}
<title>{{ title|striptags|e }}{{ titlesuffix }}</title>
{%- endblock %}
{{ css() }}
{%- if not embedded %}
{{ script() }}
{%- if use_opensearch %}
<link rel="search" type="application/opensearchdescription+xml"
title="{% trans docstitle=docstitle|e %}Search within {{ docstitle }}{% endtrans %}"
href="{{ pathto('_static/opensearch.xml', 1) }}"/>
{%- endif %}
{%- if favicon %}
<link rel="shortcut icon" href="{{ pathto('_static/' + favicon, 1) }}"/>
{%- endif %}
{%- endif %}
{%- block linktags %}
{%- if hasdoc('about') %}
<link rel="author" title="{{ _('About these documents') }}" href="{{ pathto('about') }}" />
{%- endif %}
{%- if hasdoc('genindex') %}
<link rel="index" title="{{ _('Index') }}" href="{{ pathto('genindex') }}" />
{%- endif %}
{%- if hasdoc('search') %}
<link rel="search" title="{{ _('Search') }}" href="{{ pathto('search') }}" />
{%- endif %}
{%- if hasdoc('copyright') %}
<link rel="copyright" title="{{ _('Copyright') }}" href="{{ pathto('copyright') }}" />
{%- endif %}
<link rel="top" title="{{ docstitle|e }}" href="{{ pathto('index') }}" />
{%- if parents %}
<link rel="up" title="{{ parents[-1].title|striptags|e }}" href="{{ parents[-1].link|e }}" />
{%- endif %}
{%- if next %}
<link rel="next" title="{{ next.title|striptags|e }}" href="{{ next.link|e }}" />
{%- endif %}
{%- if prev %}
<link rel="prev" title="{{ prev.title|striptags|e }}" href="{{ prev.link|e }}" />
{%- endif %}
{%- endblock %}
{%- block extrahead %} {% endblock %}
</head>
<body>
{%- block header %}{% endblock %}
{%- block relbar1 %}{{ relbar() }}{% endblock %}
{%- block content %}
{%- block sidebar1 %} {# possible location for sidebar #} {% endblock %}
<div class="document">
{%- block document %}
<div class="documentwrapper">
{%- if render_sidebar %}
<div class="bodywrapper">
{%- endif %}
<div class="body">
{% block body %} {% endblock %}
</div>
{%- if render_sidebar %}
</div>
{%- endif %}
</div>
{%- endblock %}
{%- block sidebar2 %}{{ sidebar() }}{% endblock %}
<div class="clearer"></div>
</div>
{%- endblock %}
{%- block relbar2 %}{{ relbar() }}{% endblock %}
{%- block footer %}
<div class="footer">
{%- if show_copyright %}
{%- if hasdoc('copyright') %}
{% trans path=pathto('copyright'), copyright=copyright|e %}&copy; <a href="{{ path }}">Copyright</a> {{ copyright }}.{% endtrans %}
{%- else %}
{% trans copyright=copyright|e %}&copy; Copyright {{ copyright }}.{% endtrans %}
{%- endif %}
{%- endif %}
{%- if last_updated %}
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
{%- endif %}
{%- if show_sphinx %}
{% trans sphinx_version=sphinx_version|e %}Created using <a href="http://sphinx-doc.org/">Sphinx</a> {{ sphinx_version }}.{% endtrans %}
{%- endif %}
</div>
<p>asdf asdf asdf asdf 22</p>
{%- endblock %}
</body>
</html>

View File

@@ -1,50 +0,0 @@
{#
basic/search.html
~~~~~~~~~~~~~~~~~
Template for the search page.
:copyright: Copyright 2007-2013 by the Sphinx team, see AUTHORS.
:license: BSD, see LICENSE for details.
#}
{%- extends "layout.html" %}
{% set title = _('Search') %}
{% set script_files = script_files + ['_static/searchtools.js'] %}
{% block footer %}
<script type="text/javascript">
jQuery(function() { Search.loadIndex("{{ pathto('searchindex.js', 1) }}"); });
</script>
{# this is used when loading the search index using $.ajax fails,
such as on Chrome for documents on localhost #}
<script type="text/javascript" id="searchindexloader"></script>
{{ super() }}
{% endblock %}
{% block body %}
<noscript>
<div id="fallback" class="admonition warning">
<p class="last">
{% trans %}Please activate JavaScript to enable the search
functionality.{% endtrans %}
</p>
</div>
</noscript>
{% if search_performed %}
<h2>{{ _('Search Results') }}</h2>
{% if not search_results %}
<p>{{ _('Your search did not match any documents. Please make sure that all words are spelled correctly and that you\'ve selected enough categories.') }}</p>
{% endif %}
{% endif %}
<div id="search-results">
{% if search_results %}
<ul>
{% for href, caption, context in search_results %}
<li>
<a href="{{ pathto(item.href) }}">{{ caption }}</a>
<p class="context">{{ context|e }}</p>
</li>
{% endfor %}
</ul>
{% endif %}
</div>
{% endblock %}

View File

@@ -1,9 +0,0 @@
{%- if builder != 'singlehtml' %}
<div role="search">
<form id="rtd-search-form" class="wy-form" action="{{ pathto('search') }}" method="get">
<input type="text" name="q" placeholder="Search docs" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
{%- endif %}

View File

@@ -1,2 +0,0 @@
.fa:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:FontAwesome;font-weight:normal;font-style:normal;src:url("../font/fontawesome_webfont.eot");src:url("../font/fontawesome_webfont.eot?#iefix") format("embedded-opentype"),url("../font/fontawesome_webfont.woff") format("woff"),url("../font/fontawesome_webfont.ttf") format("truetype"),url("../font/fontawesome_webfont.svg#FontAwesome") format("svg")}.fa:before{display:inline-block;font-family:FontAwesome;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .fa{display:inline-block;text-decoration:inherit}li .fa{display:inline-block}li .fa-large:before,li .fa-large:before{width:1.875em}ul.fas{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.fas li .fa{width:0.8em}ul.fas li .fa-large:before,ul.fas li .fa-large:before{vertical-align:baseline}.fa-book:before{content:""}.icon-book:before{content:""}.fa-caret-down:before{content:""}.icon-caret-down:before{content:""}.fa-caret-up:before{content:""}.icon-caret-up:before{content:""}.fa-caret-left:before{content:""}.icon-caret-left:before{content:""}.fa-caret-right:before{content:""}.icon-caret-right:before{content:""}.rst-versions{position:fixed;bottom:0;left:0;width:300px;color:#fcfcfc;background:#1f1d1d;border-top:solid 10px #343131;font-family:"Lato","proxima-nova","Helvetica Neue",Arial,sans-serif;z-index:400}.rst-versions a{color:#2980B9;text-decoration:none}.rst-versions .rst-badge-small{display:none}.rst-versions .rst-current-version{padding:12px;background-color:#272525;display:block;text-align:right;font-size:90%;cursor:pointer;color:#27AE60;*zoom:1}.rst-versions .rst-current-version:before,.rst-versions .rst-current-version:after{display:table;content:""}.rst-versions .rst-current-version:after{clear:both}.rst-versions .rst-current-version .fa{color:#fcfcfc}.rst-versions .rst-current-version .fa-book{float:left}.rst-versions .rst-current-version .icon-book{float:left}.rst-versions .rst-current-version.rst-out-of-date{background-color:#E74C3C;color:#fff}.rst-versions .rst-current-version.rst-active-old-version{background-color:#F1C40F;color:#000}.rst-versions.shift-up .rst-other-versions{display:block}.rst-versions .rst-other-versions{font-size:90%;padding:12px;color:gray;display:none}.rst-versions .rst-other-versions hr{display:block;height:1px;border:0;margin:20px 0;padding:0;border-top:solid 1px #413d3d}.rst-versions .rst-other-versions dd{display:inline-block;margin:0}.rst-versions .rst-other-versions dd a{display:inline-block;padding:6px;color:#fcfcfc}.rst-versions.rst-badge{width:auto;bottom:20px;right:20px;left:auto;border:none;max-width:300px}.rst-versions.rst-badge .icon-book{float:none}.rst-versions.rst-badge .fa-book{float:none}.rst-versions.rst-badge.shift-up .rst-current-version{text-align:right}.rst-versions.rst-badge.shift-up .rst-current-version .fa-book{float:left}.rst-versions.rst-badge.shift-up .rst-current-version .icon-book{float:left}.rst-versions.rst-badge .rst-current-version{width:auto;height:30px;line-height:30px;padding:0 6px;display:block;text-align:center}@media screen and (max-width: 768px){.rst-versions{width:85%;display:none}.rst-versions.shift{display:block}img{width:100%;height:auto}}
/*# sourceMappingURL=badge_only.css.map */

View File

@@ -1,7 +0,0 @@
{
"version": 3,
"mappings": "CAyDA,SAAY,EACV,qBAAsB,EAAE,UAAW,EAqDrC,QAAS,EARP,IAAK,EAAE,AAAC,EACR,+BAAS,EAEP,MAAO,EAAE,IAAK,EACd,MAAO,EAAE,CAAE,EACb,cAAO,EACL,IAAK,EAAE,GAAI,EC1Gb,SAkBC,EAjBC,UAAW,ECFJ,UAAW,EDGlB,UAAW,EAHqC,KAAM,EAItD,SAAU,EAJsD,KAAM,EAapE,EAAG,EAAE,qCAAwB,EAC7B,EAAG,EAAE,0PAAyE,ECZpF,SAAU,EACR,MAAO,EAAE,WAAY,EACrB,UAAW,EAAE,UAAW,EACxB,SAAU,EAAE,KAAM,EAClB,UAAW,EAAE,KAAM,EACnB,UAAW,EAAE,AAAC,EACd,cAAe,EAAE,MAAO,EAG1B,IAAK,EACH,MAAO,EAAE,WAAY,EACrB,cAAe,EAAE,MAAO,EAIxB,KAAG,EACD,MAAO,EAAE,WAAY,EACvB,sCAAiB,EAGf,IAAK,EAAE,MAAY,EAEvB,KAAM,EACJ,cAAe,EAAE,GAAI,EACrB,UAAW,EAAE,EAAG,EAChB,UAAW,EAAE,KAAM,EAEjB,YAAG,EACD,IAAK,EAAE,IAAI,EACb,oDAAiB,EAGf,aAAc,EAAE,OAAQ,EAG9B,cAAe,EACb,MAAO,EAAE,EAAO,EAElB,gBAAiB,EACf,MAAO,EAAE,EAAO,EAElB,oBAAqB,EACnB,MAAO,EAAE,EAAO,EAElB,sBAAuB,EACrB,MAAO,EAAE,EAAO,EAElB,kBAAmB,EACjB,MAAO,EAAE,EAAO,EAElB,oBAAqB,EACnB,MAAO,EAAE,EAAO,EAElB,oBAAqB,EACnB,MAAO,EAAE,EAAO,EAElB,sBAAuB,EACrB,MAAO,EAAE,EAAO,EAElB,qBAAsB,EACpB,MAAO,EAAE,EAAO,EAElB,uBAAwB,EACtB,MAAO,EAAE,EAAO,ECnElB,YAAa,EACX,OAAQ,EAAE,IAAK,EACf,KAAM,EAAE,AAAC,EACT,GAAI,EAAE,AAAC,EACP,IAAK,EC6E+B,IAAK,ED5EzC,IAAK,ECE+B,MAAyB,EDD7D,SAAU,EAAE,MAAkC,EAC9C,SAAU,EAAE,iBAAiC,EAC7C,UAAW,EEAyB,sDAAM,EFC1C,MAAO,EC+E6B,EAAG,ED9EvC,cAAC,EACC,IAAK,ECqE6B,MAAW,EDpE7C,cAAe,EAAE,GAAI,EACvB,6BAAgB,EACd,MAAO,EAAE,GAAI,EACf,iCAAoB,EAClB,MAAO,EAAE,GAAqB,EAC9B,eAAgB,EAAE,MAAkC,EACpD,MAAO,EAAE,IAAK,EACd,SAAU,EAAE,IAAK,EACjB,QAAS,EAAE,EAAG,EACd,KAAM,EAAE,MAAO,EACf,IAAK,ECiD6B,MAAM,EJgC1C,IAAK,EAAE,AAAC,EACR,iFAAS,EAEP,MAAO,EAAE,IAAK,EACd,MAAO,EAAE,CAAE,EACb,uCAAO,EACL,IAAK,EAAE,GAAI,EGrFX,qCAAG,EACD,IAAK,EClB2B,MAAyB,EDmB3D,0CAAQ,EACN,IAAK,EAAE,GAAI,EACb,4CAAU,EACR,IAAK,EAAE,GAAI,EACb,iDAAiB,EACf,eAAgB,ECQgB,MAAI,EDPpC,IAAK,EC0B2B,GAAM,EDzBxC,wDAAwB,EACtB,eAAgB,ECXgB,MAAO,EDYvC,IAAK,ECzB2B,GAAI,ED0BxC,yCAA8B,EAC5B,MAAO,EAAE,IAAK,EAChB,gCAAmB,EACjB,QAAS,EAAE,EAAG,EACd,MAAO,EAAE,GAAqB,EAC9B,IAAK,ECE6B,GAAwB,EDD1D,MAAO,EAAE,GAAI,EACb,mCAAE,EACA,MAAO,EAAE,IAAK,EACd,KAAM,EAAE,EAAG,EACX,KAAM,EAAE,AAAC,EACT,KAAM,EAAE,KAAM,EACd,MAAO,EAAE,AAAC,EACV,SAAU,EAAE,gBAA6C,EAC3D,mCAAE,EACA,MAAO,EAAE,WAAY,EACrB,KAAM,EAAE,AAAC,EACT,qCAAC,EACC,MAAO,EAAE,WAAY,EACrB,MAAO,EAAE,EAAqB,EAC9B,IAAK,ECjDyB,MAAyB,EDkD7D,sBAAW,EACT,IAAK,EAAE,GAAI,EACX,KAAM,EAAE,GAAI,EACZ,IAAK,EAAE,GAAI,EACX,GAAI,EAAE,GAAI,EACV,KAAM,EAAE,GAAI,EACZ,QAAS,ECkByB,IAAK,EDjBvC,iCAAU,EACR,IAAK,EAAE,GAAI,EACb,+BAAQ,EACN,IAAK,EAAE,GAAI,EACb,oDAA+B,EAC7B,SAAU,EAAE,IAAK,EACjB,6DAAQ,EACN,IAAK,EAAE,GAAI,EACb,+DAAU,EACR,IAAK,EAAE,GAAI,EACf,2CAAoB,EAClB,IAAK,EAAE,GAAI,EACX,KAAM,EAAE,GAAI,EACZ,UAAW,EAAE,GAAI,EACjB,MAAO,EAAE,IAAuB,EAChC,MAAO,EAAE,IAAK,EACd,SAAU,EAAE,KAAM,EGhDpB,mCAAsB,EHmDxB,YAAa,EACX,IAAK,EAAE,EAAG,EACV,MAAO,EAAE,GAAI,EACb,kBAAO,EACL,MAAO,EAAE,IAAK,EAClB,EAAG,EACD,IAAK,EAAE,GAAI,EACX,KAAM,EAAE,GAAI",
"sources": ["../../../bower_components/wyrm/sass/wyrm_core/_mixin.sass","../../../bower_components/bourbon/dist/css3/_font-face.scss","../../../sass/_theme_badge_fa.sass","../../../sass/_theme_badge.sass","../../../bower_components/wyrm/sass/wyrm_core/_wy_variables.sass","../../../sass/_theme_variables.sass","../../../bower_components/neat/app/assets/stylesheets/grid/_media.scss"],
"names": [],
"file": "badge_only.css"
}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,414 +0,0 @@
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg">
<metadata></metadata>
<defs>
<font id="fontawesomeregular" horiz-adv-x="1536" >
<font-face units-per-em="1792" ascent="1536" descent="-256" />
<missing-glyph horiz-adv-x="448" />
<glyph unicode=" " horiz-adv-x="448" />
<glyph unicode="&#x09;" horiz-adv-x="448" />
<glyph unicode="&#xa0;" horiz-adv-x="448" />
<glyph unicode="&#xa8;" horiz-adv-x="1792" />
<glyph unicode="&#xa9;" horiz-adv-x="1792" />
<glyph unicode="&#xae;" horiz-adv-x="1792" />
<glyph unicode="&#xb4;" horiz-adv-x="1792" />
<glyph unicode="&#xc6;" horiz-adv-x="1792" />
<glyph unicode="&#x2000;" horiz-adv-x="768" />
<glyph unicode="&#x2001;" />
<glyph unicode="&#x2002;" horiz-adv-x="768" />
<glyph unicode="&#x2003;" />
<glyph unicode="&#x2004;" horiz-adv-x="512" />
<glyph unicode="&#x2005;" horiz-adv-x="384" />
<glyph unicode="&#x2006;" horiz-adv-x="256" />
<glyph unicode="&#x2007;" horiz-adv-x="256" />
<glyph unicode="&#x2008;" horiz-adv-x="192" />
<glyph unicode="&#x2009;" horiz-adv-x="307" />
<glyph unicode="&#x200a;" horiz-adv-x="85" />
<glyph unicode="&#x202f;" horiz-adv-x="307" />
<glyph unicode="&#x205f;" horiz-adv-x="384" />
<glyph unicode="&#x2122;" horiz-adv-x="1792" />
<glyph unicode="&#x221e;" horiz-adv-x="1792" />
<glyph unicode="&#x2260;" horiz-adv-x="1792" />
<glyph unicode="&#xe000;" horiz-adv-x="500" d="M0 0z" />
<glyph unicode="&#xf000;" horiz-adv-x="1792" d="M1699 1350q0 -35 -43 -78l-632 -632v-768h320q26 0 45 -19t19 -45t-19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45t45 19h320v768l-632 632q-43 43 -43 78q0 23 18 36.5t38 17.5t43 4h1408q23 0 43 -4t38 -17.5t18 -36.5z" />
<glyph unicode="&#xf001;" d="M1536 1312v-1120q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v537l-768 -237v-709q0 -50 -34 -89t-86 -60.5t-103.5 -32t-96.5 -10.5t-96.5 10.5t-103.5 32t-86 60.5t-34 89 t34 89t86 60.5t103.5 32t96.5 10.5q105 0 192 -39v967q0 31 19 56.5t49 35.5l832 256q12 4 28 4q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf002;" horiz-adv-x="1664" d="M1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -52 -38 -90t-90 -38q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5 t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
<glyph unicode="&#xf003;" horiz-adv-x="1792" d="M1664 32v768q-32 -36 -69 -66q-268 -206 -426 -338q-51 -43 -83 -67t-86.5 -48.5t-102.5 -24.5h-1h-1q-48 0 -102.5 24.5t-86.5 48.5t-83 67q-158 132 -426 338q-37 30 -69 66v-768q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1664 1083v11v13.5t-0.5 13 t-3 12.5t-5.5 9t-9 7.5t-14 2.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5q0 -168 147 -284q193 -152 401 -317q6 -5 35 -29.5t46 -37.5t44.5 -31.5t50.5 -27.5t43 -9h1h1q20 0 43 9t50.5 27.5t44.5 31.5t46 37.5t35 29.5q208 165 401 317q54 43 100.5 115.5t46.5 131.5z M1792 1120v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf004;" horiz-adv-x="1792" d="M896 -128q-26 0 -44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5q224 0 351 -124t127 -344q0 -221 -229 -450l-623 -600 q-18 -18 -44 -18z" />
<glyph unicode="&#xf005;" horiz-adv-x="1664" d="M1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -21 -10.5 -35.5t-30.5 -14.5q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455 l502 -73q56 -9 56 -46z" />
<glyph unicode="&#xf006;" horiz-adv-x="1664" d="M1137 532l306 297l-422 62l-189 382l-189 -382l-422 -62l306 -297l-73 -421l378 199l377 -199zM1664 889q0 -22 -26 -48l-363 -354l86 -500q1 -7 1 -20q0 -50 -41 -50q-19 0 -40 12l-449 236l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500 l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41t49 -41l225 -455l502 -73q56 -9 56 -46z" />
<glyph unicode="&#xf007;" horiz-adv-x="1408" d="M1408 131q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5t43 97.5t62 81t85.5 53.5t111.5 20q9 0 42 -21.5t74.5 -48t108 -48t133.5 -21.5t133.5 21.5t108 48t74.5 48t42 21.5q61 0 111.5 -20t85.5 -53.5t62 -81 t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5z" />
<glyph unicode="&#xf008;" horiz-adv-x="1920" d="M384 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 320v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM384 704v128q0 26 -19 45t-45 19h-128 q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 -64v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM384 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45 t45 -19h128q26 0 45 19t19 45zM1792 -64v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1408 704v512q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-512q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1792 320v128 q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 704v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1792 1088v128q0 26 -19 45t-45 19h-128q-26 0 -45 -19 t-19 -45v-128q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1920 1248v-1344q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1344q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf009;" horiz-adv-x="1664" d="M768 512v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM768 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 512v-384q0 -52 -38 -90t-90 -38 h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90zM1664 1280v-384q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v384q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf00a;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 288v-192q0 -40 -28 -68t-68 -28h-320 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1152 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf00b;" horiz-adv-x="1792" d="M512 288v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM512 800v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 288v-192q0 -40 -28 -68t-68 -28h-960 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68zM512 1312v-192q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h320q40 0 68 -28t28 -68zM1792 800v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28 h960q40 0 68 -28t28 -68zM1792 1312v-192q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h960q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf00c;" horiz-adv-x="1792" d="M1671 970q0 -40 -28 -68l-724 -724l-136 -136q-28 -28 -68 -28t-68 28l-136 136l-362 362q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -295l656 657q28 28 68 28t68 -28l136 -136q28 -28 28 -68z" />
<glyph unicode="&#xf00d;" horiz-adv-x="1408" d="M1298 214q0 -40 -28 -68l-136 -136q-28 -28 -68 -28t-68 28l-294 294l-294 -294q-28 -28 -68 -28t-68 28l-136 136q-28 28 -28 68t28 68l294 294l-294 294q-28 28 -28 68t28 68l136 136q28 28 68 28t68 -28l294 -294l294 294q28 28 68 28t68 -28l136 -136q28 -28 28 -68 t-28 -68l-294 -294l294 -294q28 -28 28 -68z" />
<glyph unicode="&#xf00e;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-224q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v224h-224q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h224v224q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5v-224h224 q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5zM1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5 t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z" />
<glyph unicode="&#xf010;" horiz-adv-x="1664" d="M1024 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-576q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h576q13 0 22.5 -9.5t9.5 -22.5zM1152 704q0 185 -131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5t316.5 131.5t131.5 316.5z M1664 -128q0 -53 -37.5 -90.5t-90.5 -37.5q-54 0 -90 38l-343 342q-179 -124 -399 -124q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5t55.5 273.5t150 225t225 150t273.5 55.5t273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -220 -124 -399l343 -343q37 -37 37 -90z " />
<glyph unicode="&#xf011;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61t-298 61t-245 164t-164 245t-61 298q0 182 80.5 343t226.5 270q43 32 95.5 25t83.5 -50q32 -42 24.5 -94.5t-49.5 -84.5q-98 -74 -151.5 -181t-53.5 -228q0 -104 40.5 -198.5t109.5 -163.5t163.5 -109.5 t198.5 -40.5t198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5q0 121 -53.5 228t-151.5 181q-42 32 -49.5 84.5t24.5 94.5q31 43 84 50t95 -25q146 -109 226.5 -270t80.5 -343zM896 1408v-640q0 -52 -38 -90t-90 -38t-90 38t-38 90v640q0 52 38 90t90 38t90 -38t38 -90z" />
<glyph unicode="&#xf012;" horiz-adv-x="1792" d="M256 96v-192q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM640 224v-320q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1024 480v-576q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23 v576q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1408 864v-960q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v960q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1792 1376v-1472q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1472q0 14 9 23t23 9h192q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf013;" d="M1024 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1536 749v-222q0 -12 -8 -23t-20 -13l-185 -28q-19 -54 -39 -91q35 -50 107 -138q10 -12 10 -25t-9 -23q-27 -37 -99 -108t-94 -71q-12 0 -26 9l-138 108q-44 -23 -91 -38 q-16 -136 -29 -186q-7 -28 -36 -28h-222q-14 0 -24.5 8.5t-11.5 21.5l-28 184q-49 16 -90 37l-141 -107q-10 -9 -25 -9q-14 0 -25 11q-126 114 -165 168q-7 10 -7 23q0 12 8 23q15 21 51 66.5t54 70.5q-27 50 -41 99l-183 27q-13 2 -21 12.5t-8 23.5v222q0 12 8 23t19 13 l186 28q14 46 39 92q-40 57 -107 138q-10 12 -10 24q0 10 9 23q26 36 98.5 107.5t94.5 71.5q13 0 26 -10l138 -107q44 23 91 38q16 136 29 186q7 28 36 28h222q14 0 24.5 -8.5t11.5 -21.5l28 -184q49 -16 90 -37l142 107q9 9 24 9q13 0 25 -10q129 -119 165 -170q7 -8 7 -22 q0 -12 -8 -23q-15 -21 -51 -66.5t-54 -70.5q26 -50 41 -98l183 -28q13 -2 21 -12.5t8 -23.5z" />
<glyph unicode="&#xf014;" horiz-adv-x="1408" d="M512 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM768 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1024 800v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1152 76v948h-896v-948q0 -22 7 -40.5t14.5 -27t10.5 -8.5h832q3 0 10.5 8.5t14.5 27t7 40.5zM480 1152h448l-48 117q-7 9 -17 11h-317q-10 -2 -17 -11zM1408 1120v-64q0 -14 -9 -23t-23 -9h-96v-948q0 -83 -47 -143.5t-113 -60.5h-832 q-66 0 -113 58.5t-47 141.5v952h-96q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h309l70 167q15 37 54 63t79 26h320q40 0 79 -26t54 -63l70 -167h309q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf015;" horiz-adv-x="1664" d="M1408 544v-480q0 -26 -19 -45t-45 -19h-384v384h-256v-384h-384q-26 0 -45 19t-19 45v480q0 1 0.5 3t0.5 3l575 474l575 -474q1 -2 1 -6zM1631 613l-62 -74q-8 -9 -21 -11h-3q-13 0 -21 7l-692 577l-692 -577q-12 -8 -24 -7q-13 2 -21 11l-62 74q-8 10 -7 23.5t11 21.5 l719 599q32 26 76 26t76 -26l244 -204v195q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-408l219 -182q10 -8 11 -21.5t-7 -23.5z" />
<glyph unicode="&#xf016;" horiz-adv-x="1280" d="M128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280zM768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z " />
<glyph unicode="&#xf017;" d="M896 992v-448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf018;" horiz-adv-x="1920" d="M1111 540v4l-24 320q-1 13 -11 22.5t-23 9.5h-186q-13 0 -23 -9.5t-11 -22.5l-24 -320v-4q-1 -12 8 -20t21 -8h244q12 0 21 8t8 20zM1870 73q0 -73 -46 -73h-704q13 0 22 9.5t8 22.5l-20 256q-1 13 -11 22.5t-23 9.5h-272q-13 0 -23 -9.5t-11 -22.5l-20 -256 q-1 -13 8 -22.5t22 -9.5h-704q-46 0 -46 73q0 54 26 116l417 1044q8 19 26 33t38 14h339q-13 0 -23 -9.5t-11 -22.5l-15 -192q-1 -14 8 -23t22 -9h166q13 0 22 9t8 23l-15 192q-1 13 -11 22.5t-23 9.5h339q20 0 38 -14t26 -33l417 -1044q26 -62 26 -116z" />
<glyph unicode="&#xf019;" horiz-adv-x="1664" d="M1280 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 416v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h465l135 -136 q58 -56 136 -56t136 56l136 136h464q40 0 68 -28t28 -68zM1339 985q17 -41 -14 -70l-448 -448q-18 -19 -45 -19t-45 19l-448 448q-31 29 -14 70q17 39 59 39h256v448q0 26 19 45t45 19h256q26 0 45 -19t19 -45v-448h256q42 0 59 -39z" />
<glyph unicode="&#xf01a;" d="M1120 608q0 -12 -10 -24l-319 -319q-11 -9 -23 -9t-23 9l-320 320q-15 16 -7 35q8 20 30 20h192v352q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-352h192q14 0 23 -9t9 -23zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273 t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf01b;" d="M1118 660q-8 -20 -30 -20h-192v-352q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v352h-192q-14 0 -23 9t-9 23q0 12 10 24l319 319q11 9 23 9t23 -9l320 -320q15 -16 7 -35zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198 t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf01c;" d="M1023 576h316q-1 3 -2.5 8t-2.5 8l-212 496h-708l-212 -496q-1 -2 -2.5 -8t-2.5 -8h316l95 -192h320zM1536 546v-482q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v482q0 62 25 123l238 552q10 25 36.5 42t52.5 17h832q26 0 52.5 -17t36.5 -42l238 -552 q25 -61 25 -123z" />
<glyph unicode="&#xf01d;" d="M1184 640q0 -37 -32 -55l-544 -320q-15 -9 -32 -9q-16 0 -32 8q-32 19 -32 56v640q0 37 32 56q33 18 64 -1l544 -320q32 -18 32 -55zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf01e;" d="M1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l138 138q-148 137 -349 137q-104 0 -198.5 -40.5t-163.5 -109.5t-109.5 -163.5t-40.5 -198.5t40.5 -198.5t109.5 -163.5t163.5 -109.5t198.5 -40.5q119 0 225 52t179 147q7 10 23 12q14 0 25 -9 l137 -138q9 -8 9.5 -20.5t-7.5 -22.5q-109 -132 -264 -204.5t-327 -72.5q-156 0 -298 61t-245 164t-164 245t-61 298t61 298t164 245t245 164t298 61q147 0 284.5 -55.5t244.5 -156.5l130 129q29 31 70 14q39 -17 39 -59z" />
<glyph unicode="&#xf021;" d="M1511 480q0 -5 -1 -7q-64 -268 -268 -434.5t-478 -166.5q-146 0 -282.5 55t-243.5 157l-129 -129q-19 -19 -45 -19t-45 19t-19 45v448q0 26 19 45t45 19h448q26 0 45 -19t19 -45t-19 -45l-137 -137q71 -66 161 -102t187 -36q134 0 250 65t186 179q11 17 53 117 q8 23 30 23h192q13 0 22.5 -9.5t9.5 -22.5zM1536 1280v-448q0 -26 -19 -45t-45 -19h-448q-26 0 -45 19t-19 45t19 45l138 138q-148 137 -349 137q-134 0 -250 -65t-186 -179q-11 -17 -53 -117q-8 -23 -30 -23h-199q-13 0 -22.5 9.5t-9.5 22.5v7q65 268 270 434.5t480 166.5 q146 0 284 -55.5t245 -156.5l130 129q19 19 45 19t45 -19t19 -45z" />
<glyph unicode="&#xf022;" horiz-adv-x="1792" d="M384 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M384 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1536 352v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5z M1536 608v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5t9.5 -22.5zM1536 864v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h960q13 0 22.5 -9.5 t9.5 -22.5zM1664 160v832q0 13 -9.5 22.5t-22.5 9.5h-1472q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1472q13 0 22.5 9.5t9.5 22.5zM1792 1248v-1088q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1472q66 0 113 -47 t47 -113z" />
<glyph unicode="&#xf023;" horiz-adv-x="1152" d="M320 768h512v192q0 106 -75 181t-181 75t-181 -75t-75 -181v-192zM1152 672v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v192q0 184 132 316t316 132t316 -132t132 -316v-192h32q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf024;" horiz-adv-x="1792" d="M320 1280q0 -72 -64 -110v-1266q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v1266q-64 38 -64 110q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -25 -12.5 -38.5t-39.5 -27.5q-215 -116 -369 -116q-61 0 -123.5 22t-108.5 48 t-115.5 48t-142.5 22q-192 0 -464 -146q-17 -9 -33 -9q-26 0 -45 19t-19 45v742q0 32 31 55q21 14 79 43q236 120 421 120q107 0 200 -29t219 -88q38 -19 88 -19q54 0 117.5 21t110 47t88 47t54.5 21q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf025;" horiz-adv-x="1664" d="M1664 650q0 -166 -60 -314l-20 -49l-185 -33q-22 -83 -90.5 -136.5t-156.5 -53.5v-32q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v576q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-32q71 0 130 -35.5t93 -95.5l68 12q29 95 29 193q0 148 -88 279t-236.5 209t-315.5 78 t-315.5 -78t-236.5 -209t-88 -279q0 -98 29 -193l68 -12q34 60 93 95.5t130 35.5v32q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-576q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v32q-88 0 -156.5 53.5t-90.5 136.5l-185 33l-20 49q-60 148 -60 314q0 151 67 291t179 242.5 t266 163.5t320 61t320 -61t266 -163.5t179 -242.5t67 -291z" />
<glyph unicode="&#xf026;" horiz-adv-x="768" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45z" />
<glyph unicode="&#xf027;" horiz-adv-x="1152" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142z" />
<glyph unicode="&#xf028;" horiz-adv-x="1664" d="M768 1184v-1088q0 -26 -19 -45t-45 -19t-45 19l-333 333h-262q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h262l333 333q19 19 45 19t45 -19t19 -45zM1152 640q0 -76 -42.5 -141.5t-112.5 -93.5q-10 -5 -25 -5q-26 0 -45 18.5t-19 45.5q0 21 12 35.5t29 25t34 23t29 35.5 t12 57t-12 57t-29 35.5t-34 23t-29 25t-12 35.5q0 27 19 45.5t45 18.5q15 0 25 -5q70 -27 112.5 -93t42.5 -142zM1408 640q0 -153 -85 -282.5t-225 -188.5q-13 -5 -25 -5q-27 0 -46 19t-19 45q0 39 39 59q56 29 76 44q74 54 115.5 135.5t41.5 173.5t-41.5 173.5 t-115.5 135.5q-20 15 -76 44q-39 20 -39 59q0 26 19 45t45 19q13 0 26 -5q140 -59 225 -188.5t85 -282.5zM1664 640q0 -230 -127 -422.5t-338 -283.5q-13 -5 -26 -5q-26 0 -45 19t-19 45q0 36 39 59q7 4 22.5 10.5t22.5 10.5q46 25 82 51q123 91 192 227t69 289t-69 289 t-192 227q-36 26 -82 51q-7 4 -22.5 10.5t-22.5 10.5q-39 23 -39 59q0 26 19 45t45 19q13 0 26 -5q211 -91 338 -283.5t127 -422.5z" />
<glyph unicode="&#xf029;" horiz-adv-x="1408" d="M384 384v-128h-128v128h128zM384 1152v-128h-128v128h128zM1152 1152v-128h-128v128h128zM128 129h384v383h-384v-383zM128 896h384v384h-384v-384zM896 896h384v384h-384v-384zM640 640v-640h-640v640h640zM1152 128v-128h-128v128h128zM1408 128v-128h-128v128h128z M1408 640v-384h-384v128h-128v-384h-128v640h384v-128h128v128h128zM640 1408v-640h-640v640h640zM1408 1408v-640h-640v640h640z" />
<glyph unicode="&#xf02a;" horiz-adv-x="1792" d="M63 0h-63v1408h63v-1408zM126 1h-32v1407h32v-1407zM220 1h-31v1407h31v-1407zM377 1h-31v1407h31v-1407zM534 1h-62v1407h62v-1407zM660 1h-31v1407h31v-1407zM723 1h-31v1407h31v-1407zM786 1h-31v1407h31v-1407zM943 1h-63v1407h63v-1407zM1100 1h-63v1407h63v-1407z M1226 1h-63v1407h63v-1407zM1352 1h-63v1407h63v-1407zM1446 1h-63v1407h63v-1407zM1635 1h-94v1407h94v-1407zM1698 1h-32v1407h32v-1407zM1792 0h-63v1408h63v-1408z" />
<glyph unicode="&#xf02b;" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91z" />
<glyph unicode="&#xf02c;" horiz-adv-x="1920" d="M448 1088q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1515 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-53 0 -90 37l-715 716q-38 37 -64.5 101t-26.5 117v416q0 52 38 90t90 38h416q53 0 117 -26.5t102 -64.5 l715 -714q37 -39 37 -91zM1899 512q0 -53 -37 -90l-491 -492q-39 -37 -91 -37q-36 0 -59 14t-53 45l470 470q37 37 37 90q0 52 -37 91l-715 714q-38 38 -102 64.5t-117 26.5h224q53 0 117 -26.5t102 -64.5l715 -714q37 -39 37 -91z" />
<glyph unicode="&#xf02d;" horiz-adv-x="1664" d="M1639 1058q40 -57 18 -129l-275 -906q-19 -64 -76.5 -107.5t-122.5 -43.5h-923q-77 0 -148.5 53.5t-99.5 131.5q-24 67 -2 127q0 4 3 27t4 37q1 8 -3 21.5t-3 19.5q2 11 8 21t16.5 23.5t16.5 23.5q23 38 45 91.5t30 91.5q3 10 0.5 30t-0.5 28q3 11 17 28t17 23 q21 36 42 92t25 90q1 9 -2.5 32t0.5 28q4 13 22 30.5t22 22.5q19 26 42.5 84.5t27.5 96.5q1 8 -3 25.5t-2 26.5q2 8 9 18t18 23t17 21q8 12 16.5 30.5t15 35t16 36t19.5 32t26.5 23.5t36 11.5t47.5 -5.5l-1 -3q38 9 51 9h761q74 0 114 -56t18 -130l-274 -906 q-36 -119 -71.5 -153.5t-128.5 -34.5h-869q-27 0 -38 -15q-11 -16 -1 -43q24 -70 144 -70h923q29 0 56 15.5t35 41.5l300 987q7 22 5 57q38 -15 59 -43zM575 1056q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5 t-16.5 -22.5zM492 800q-4 -13 2 -22.5t20 -9.5h608q13 0 25.5 9.5t16.5 22.5l21 64q4 13 -2 22.5t-20 9.5h-608q-13 0 -25.5 -9.5t-16.5 -22.5z" />
<glyph unicode="&#xf02e;" horiz-adv-x="1280" d="M1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
<glyph unicode="&#xf02f;" horiz-adv-x="1664" d="M384 0h896v256h-896v-256zM384 640h896v384h-160q-40 0 -68 28t-28 68v160h-640v-640zM1536 576q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 576v-416q0 -13 -9.5 -22.5t-22.5 -9.5h-224v-160q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68 v160h-224q-13 0 -22.5 9.5t-9.5 22.5v416q0 79 56.5 135.5t135.5 56.5h64v544q0 40 28 68t68 28h672q40 0 88 -20t76 -48l152 -152q28 -28 48 -76t20 -88v-256h64q79 0 135.5 -56.5t56.5 -135.5z" />
<glyph unicode="&#xf030;" horiz-adv-x="1920" d="M960 864q119 0 203.5 -84.5t84.5 -203.5t-84.5 -203.5t-203.5 -84.5t-203.5 84.5t-84.5 203.5t84.5 203.5t203.5 84.5zM1664 1280q106 0 181 -75t75 -181v-896q0 -106 -75 -181t-181 -75h-1408q-106 0 -181 75t-75 181v896q0 106 75 181t181 75h224l51 136 q19 49 69.5 84.5t103.5 35.5h512q53 0 103.5 -35.5t69.5 -84.5l51 -136h224zM960 128q185 0 316.5 131.5t131.5 316.5t-131.5 316.5t-316.5 131.5t-316.5 -131.5t-131.5 -316.5t131.5 -316.5t316.5 -131.5z" />
<glyph unicode="&#xf031;" horiz-adv-x="1664" d="M725 977l-170 -450q73 -1 153.5 -2t119 -1.5t52.5 -0.5l29 2q-32 95 -92 241q-53 132 -92 211zM21 -128h-21l2 79q22 7 80 18q89 16 110 31q20 16 48 68l237 616l280 724h75h53l11 -21l205 -480q103 -242 124 -297q39 -102 96 -235q26 -58 65 -164q24 -67 65 -149 q22 -49 35 -57q22 -19 69 -23q47 -6 103 -27q6 -39 6 -57q0 -14 -1 -26q-80 0 -192 8q-93 8 -189 8q-79 0 -135 -2l-200 -11l-58 -2q0 45 4 78l131 28q56 13 68 23q12 12 12 27t-6 32l-47 114l-92 228l-450 2q-29 -65 -104 -274q-23 -64 -23 -84q0 -31 17 -43 q26 -21 103 -32q3 0 13.5 -2t30 -5t40.5 -6q1 -28 1 -58q0 -17 -2 -27q-66 0 -349 20l-48 -8q-81 -14 -167 -14z" />
<glyph unicode="&#xf032;" horiz-adv-x="1408" d="M555 15q76 -32 140 -32q131 0 216 41t122 113q38 70 38 181q0 114 -41 180q-58 94 -141 126q-80 32 -247 32q-74 0 -101 -10v-144l-1 -173l3 -270q0 -15 12 -44zM541 761q43 -7 109 -7q175 0 264 65t89 224q0 112 -85 187q-84 75 -255 75q-52 0 -130 -13q0 -44 2 -77 q7 -122 6 -279l-1 -98q0 -43 1 -77zM0 -128l2 94q45 9 68 12q77 12 123 31q17 27 21 51q9 66 9 194l-2 497q-5 256 -9 404q-1 87 -11 109q-1 4 -12 12q-18 12 -69 15q-30 2 -114 13l-4 83l260 6l380 13l45 1q5 0 14 0.5t14 0.5q1 0 21.5 -0.5t40.5 -0.5h74q88 0 191 -27 q43 -13 96 -39q57 -29 102 -76q44 -47 65 -104t21 -122q0 -70 -32 -128t-95 -105q-26 -20 -150 -77q177 -41 267 -146q92 -106 92 -236q0 -76 -29 -161q-21 -62 -71 -117q-66 -72 -140 -108q-73 -36 -203 -60q-82 -15 -198 -11l-197 4q-84 2 -298 -11q-33 -3 -272 -11z" />
<glyph unicode="&#xf033;" horiz-adv-x="1024" d="M0 -126l17 85q4 1 77 20q76 19 116 39q29 37 41 101l27 139l56 268l12 64q8 44 17 84.5t16 67t12.5 46.5t9 30.5t3.5 11.5l29 157l16 63l22 135l8 50v38q-41 22 -144 28q-28 2 -38 4l19 103l317 -14q39 -2 73 -2q66 0 214 9q33 2 68 4.5t36 2.5q-2 -19 -6 -38 q-7 -29 -13 -51q-55 -19 -109 -31q-64 -16 -101 -31q-12 -31 -24 -88q-9 -44 -13 -82q-44 -199 -66 -306l-61 -311l-38 -158l-43 -235l-12 -45q-2 -7 1 -27q64 -15 119 -21q36 -5 66 -10q-1 -29 -7 -58q-7 -31 -9 -41q-18 0 -23 -1q-24 -2 -42 -2q-9 0 -28 3q-19 4 -145 17 l-198 2q-41 1 -174 -11q-74 -7 -98 -9z" />
<glyph unicode="&#xf034;" horiz-adv-x="1792" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l215 -1h293l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -42.5 2t-103.5 -1t-111 -1 q-34 0 -67 -5q-10 -97 -8 -136l1 -152v-332l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-88 0 -233 -14q-48 -4 -70 -4q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q8 192 6 433l-5 428q-1 62 -0.5 118.5t0.5 102.5t-2 57t-6 15q-6 5 -14 6q-38 6 -148 6q-43 0 -100 -13.5t-73 -24.5q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1744 128q33 0 42 -18.5t-11 -44.5 l-126 -162q-20 -26 -49 -26t-49 26l-126 162q-20 26 -11 44.5t42 18.5h80v1024h-80q-33 0 -42 18.5t11 44.5l126 162q20 26 49 26t49 -26l126 -162q20 -26 11 -44.5t-42 -18.5h-80v-1024h80z" />
<glyph unicode="&#xf035;" d="M81 1407l54 -27q20 -5 211 -5h130l19 3l115 1l446 -1h318l34 -2q14 -1 28 7t21 16l7 8l42 1q15 0 28 -1v-104.5t1 -131.5l1 -100l-1 -58q0 -32 -4 -51q-39 -15 -68 -18q-25 43 -54 128q-8 24 -15.5 62.5t-11.5 65.5t-6 29q-13 15 -27 19q-7 2 -58.5 2t-138.5 -1t-128 -1 q-94 0 -127 -5q-10 -97 -8 -136l1 -152v52l3 -359l-1 -147q-1 -46 11 -85q49 -25 89 -32q2 0 18 -5t44 -13t43 -12q30 -8 50 -18q5 -45 5 -50q0 -10 -3 -29q-14 -1 -34 -1q-110 0 -187 10q-72 8 -238 8q-82 0 -233 -13q-45 -5 -70 -5q-2 22 -2 26l-1 26v9q21 33 79 49 q139 38 159 50q9 21 12 56q6 137 6 433l-5 44q0 265 -2 278q-2 11 -6 15q-6 5 -14 6q-38 6 -148 6q-50 0 -168.5 -14t-132.5 -24q-13 -9 -22 -33t-22 -75t-24 -84q-6 -19 -19.5 -32t-20.5 -13q-44 27 -56 44v297v86zM1505 113q26 -20 26 -49t-26 -49l-162 -126 q-26 -20 -44.5 -11t-18.5 42v80h-1024v-80q0 -33 -18.5 -42t-44.5 11l-162 126q-26 20 -26 49t26 49l162 126q26 20 44.5 11t18.5 -42v-80h1024v80q0 33 18.5 42t44.5 -11z" />
<glyph unicode="&#xf036;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf037;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1408 576v-128q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h896q26 0 45 -19t19 -45zM1664 960v-128q0 -26 -19 -45t-45 -19 h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1280 1344v-128q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h640q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf038;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1280q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1536q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1536q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1152q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf039;" horiz-adv-x="1792" d="M1792 192v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 576v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 960v-128q0 -26 -19 -45 t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-128q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf03a;" horiz-adv-x="1792" d="M256 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM256 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5 t9.5 -22.5zM256 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344 q13 0 22.5 -9.5t9.5 -22.5zM256 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-192q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h192q13 0 22.5 -9.5t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v192 q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf03b;" horiz-adv-x="1792" d="M384 992v-576q0 -13 -9.5 -22.5t-22.5 -9.5q-14 0 -23 9l-288 288q-9 9 -9 23t9 23l288 288q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf03c;" horiz-adv-x="1792" d="M352 704q0 -14 -9 -23l-288 -288q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v576q0 13 9.5 22.5t22.5 9.5q14 0 23 -9l288 -288q9 -9 9 -23zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5 t9.5 -22.5zM1792 608v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088q13 0 22.5 -9.5t9.5 -22.5zM1792 992v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1088q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1088 q13 0 22.5 -9.5t9.5 -22.5zM1792 1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1728q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1728q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf03d;" horiz-adv-x="1792" d="M1792 1184v-1088q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-403 403v-166q0 -119 -84.5 -203.5t-203.5 -84.5h-704q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h704q119 0 203.5 -84.5t84.5 -203.5v-165l403 402q18 19 45 19q12 0 25 -5 q39 -17 39 -59z" />
<glyph unicode="&#xf03e;" horiz-adv-x="1920" d="M640 960q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1664 576v-448h-1408v192l320 320l160 -160l512 512zM1760 1280h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5v1216 q0 13 -9.5 22.5t-22.5 9.5zM1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf040;" d="M363 0l91 91l-235 235l-91 -91v-107h128v-128h107zM886 928q0 22 -22 22q-10 0 -17 -7l-542 -542q-7 -7 -7 -17q0 -22 22 -22q10 0 17 7l542 542q7 7 7 17zM832 1120l416 -416l-832 -832h-416v416zM1515 1024q0 -53 -37 -90l-166 -166l-416 416l166 165q36 38 90 38 q53 0 91 -38l235 -234q37 -39 37 -91z" />
<glyph unicode="&#xf041;" horiz-adv-x="1024" d="M768 896q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1024 896q0 -109 -33 -179l-364 -774q-16 -33 -47.5 -52t-67.5 -19t-67.5 19t-46.5 52l-365 774q-33 70 -33 179q0 212 150 362t362 150t362 -150t150 -362z" />
<glyph unicode="&#xf042;" d="M768 96v1088q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf043;" horiz-adv-x="1024" d="M512 384q0 36 -20 69q-1 1 -15.5 22.5t-25.5 38t-25 44t-21 50.5q-4 16 -21 16t-21 -16q-7 -23 -21 -50.5t-25 -44t-25.5 -38t-15.5 -22.5q-20 -33 -20 -69q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 512q0 -212 -150 -362t-362 -150t-362 150t-150 362 q0 145 81 275q6 9 62.5 90.5t101 151t99.5 178t83 201.5q9 30 34 47t51 17t51.5 -17t33.5 -47q28 -93 83 -201.5t99.5 -178t101 -151t62.5 -90.5q81 -127 81 -275z" />
<glyph unicode="&#xf044;" horiz-adv-x="1792" d="M888 352l116 116l-152 152l-116 -116v-56h96v-96h56zM1328 1072q-16 16 -33 -1l-350 -350q-17 -17 -1 -33t33 1l350 350q17 17 1 33zM1408 478v-190q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-14 -14 -32 -8q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v126q0 13 9 22l64 64q15 15 35 7t20 -29zM1312 1216l288 -288l-672 -672h-288v288zM1756 1084l-92 -92 l-288 288l92 92q28 28 68 28t68 -28l152 -152q28 -28 28 -68t-28 -68z" />
<glyph unicode="&#xf045;" horiz-adv-x="1664" d="M1408 547v-259q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h255v0q13 0 22.5 -9.5t9.5 -22.5q0 -27 -26 -32q-77 -26 -133 -60q-10 -4 -16 -4h-112q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832 q66 0 113 47t47 113v214q0 19 18 29q28 13 54 37q16 16 35 8q21 -9 21 -29zM1645 1043l-384 -384q-18 -19 -45 -19q-12 0 -25 5q-39 17 -39 59v192h-160q-323 0 -438 -131q-119 -137 -74 -473q3 -23 -20 -34q-8 -2 -12 -2q-16 0 -26 13q-10 14 -21 31t-39.5 68.5t-49.5 99.5 t-38.5 114t-17.5 122q0 49 3.5 91t14 90t28 88t47 81.5t68.5 74t94.5 61.5t124.5 48.5t159.5 30.5t196.5 11h160v192q0 42 39 59q13 5 25 5q26 0 45 -19l384 -384q19 -19 19 -45t-19 -45z" />
<glyph unicode="&#xf046;" horiz-adv-x="1664" d="M1408 606v-318q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q63 0 117 -25q15 -7 18 -23q3 -17 -9 -29l-49 -49q-10 -10 -23 -10q-3 0 -9 2q-23 6 -45 6h-832q-66 0 -113 -47t-47 -113v-832 q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v254q0 13 9 22l64 64q10 10 23 10q6 0 12 -3q20 -8 20 -29zM1639 1095l-814 -814q-24 -24 -57 -24t-57 24l-430 430q-24 24 -24 57t24 57l110 110q24 24 57 24t57 -24l263 -263l647 647q24 24 57 24t57 -24l110 -110 q24 -24 24 -57t-24 -57z" />
<glyph unicode="&#xf047;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-384v-384h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v384h-384v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45 t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h384v384h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45t-19 -45t-45 -19h-128v-384h384v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
<glyph unicode="&#xf048;" horiz-adv-x="1024" d="M979 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19z" />
<glyph unicode="&#xf049;" horiz-adv-x="1792" d="M1747 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-9 9 -13 19v-678q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-678q4 11 13 19l710 710 q19 19 32 13t13 -32v-710q4 11 13 19z" />
<glyph unicode="&#xf04a;" horiz-adv-x="1664" d="M1619 1395q19 19 32 13t13 -32v-1472q0 -26 -13 -32t-32 13l-710 710q-8 9 -13 19v-710q0 -26 -13 -32t-32 13l-710 710q-19 19 -19 45t19 45l710 710q19 19 32 13t13 -32v-710q5 11 13 19z" />
<glyph unicode="&#xf04b;" horiz-adv-x="1408" d="M1384 609l-1328 -738q-23 -13 -39.5 -3t-16.5 36v1472q0 26 16.5 36t39.5 -3l1328 -738q23 -13 23 -31t-23 -31z" />
<glyph unicode="&#xf04c;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45zM640 1344v-1408q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h512q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf04d;" d="M1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf04e;" horiz-adv-x="1664" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q19 -19 19 -45t-19 -45l-710 -710q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
<glyph unicode="&#xf050;" horiz-adv-x="1792" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v710q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19l-710 -710 q-19 -19 -32 -13t-13 32v710q-5 -10 -13 -19z" />
<glyph unicode="&#xf051;" horiz-adv-x="1024" d="M45 -115q-19 -19 -32 -13t-13 32v1472q0 26 13 32t32 -13l710 -710q8 -8 13 -19v678q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-1408q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v678q-5 -10 -13 -19z" />
<glyph unicode="&#xf052;" horiz-adv-x="1538" d="M14 557l710 710q19 19 45 19t45 -19l710 -710q19 -19 13 -32t-32 -13h-1472q-26 0 -32 13t13 32zM1473 0h-1408q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1408q26 0 45 -19t19 -45v-256q0 -26 -19 -45t-45 -19z" />
<glyph unicode="&#xf053;" horiz-adv-x="1152" d="M742 -37l-652 651q-37 37 -37 90.5t37 90.5l652 651q37 37 90.5 37t90.5 -37l75 -75q37 -37 37 -90.5t-37 -90.5l-486 -486l486 -485q37 -38 37 -91t-37 -90l-75 -75q-37 -37 -90.5 -37t-90.5 37z" />
<glyph unicode="&#xf054;" horiz-adv-x="1152" d="M1099 704q0 -52 -37 -91l-652 -651q-37 -37 -90 -37t-90 37l-76 75q-37 39 -37 91q0 53 37 90l486 486l-486 485q-37 39 -37 91q0 53 37 90l76 75q36 38 90 38t90 -38l652 -651q37 -37 37 -90z" />
<glyph unicode="&#xf055;" d="M1216 576v128q0 26 -19 45t-45 19h-256v256q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-256h-256q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h256v-256q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v256h256q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5 t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf056;" d="M1216 576v128q0 26 -19 45t-45 19h-768q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h768q26 0 45 19t19 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5 t103 -385.5z" />
<glyph unicode="&#xf057;" d="M1149 414q0 26 -19 45l-181 181l181 181q19 19 19 45q0 27 -19 46l-90 90q-19 19 -46 19q-26 0 -45 -19l-181 -181l-181 181q-19 19 -45 19q-27 0 -46 -19l-90 -90q-19 -19 -19 -46q0 -26 19 -45l181 -181l-181 -181q-19 -19 -19 -45q0 -27 19 -46l90 -90q19 -19 46 -19 q26 0 45 19l181 181l181 -181q19 -19 45 -19q27 0 46 19l90 90q19 19 19 46zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf058;" d="M1284 802q0 28 -18 46l-91 90q-19 19 -45 19t-45 -19l-408 -407l-226 226q-19 19 -45 19t-45 -19l-91 -90q-18 -18 -18 -46q0 -27 18 -45l362 -362q19 -19 45 -19q27 0 46 19l543 543q18 18 18 45zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf059;" d="M896 160v192q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h192q14 0 23 9t9 23zM1152 832q0 88 -55.5 163t-138.5 116t-170 41q-243 0 -371 -213q-15 -24 8 -42l132 -100q7 -6 19 -6q16 0 25 12q53 68 86 92q34 24 86 24q48 0 85.5 -26t37.5 -59 q0 -38 -20 -61t-68 -45q-63 -28 -115.5 -86.5t-52.5 -125.5v-36q0 -14 9 -23t23 -9h192q14 0 23 9t9 23q0 19 21.5 49.5t54.5 49.5q32 18 49 28.5t46 35t44.5 48t28 60.5t12.5 81zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05a;" d="M1024 160v160q0 14 -9 23t-23 9h-96v512q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h96v-320h-96q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23t23 -9h448q14 0 23 9t9 23zM896 1056v160q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-160q0 -14 9 -23 t23 -9h192q14 0 23 9t9 23zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05b;" d="M1197 512h-109q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h109q-32 108 -112.5 188.5t-188.5 112.5v-109q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v109q-108 -32 -188.5 -112.5t-112.5 -188.5h109q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-109 q32 -108 112.5 -188.5t188.5 -112.5v109q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-109q108 32 188.5 112.5t112.5 188.5zM1536 704v-128q0 -26 -19 -45t-45 -19h-143q-37 -161 -154.5 -278.5t-278.5 -154.5v-143q0 -26 -19 -45t-45 -19h-128q-26 0 -45 19t-19 45v143 q-161 37 -278.5 154.5t-154.5 278.5h-143q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h143q37 161 154.5 278.5t278.5 154.5v143q0 26 19 45t45 19h128q26 0 45 -19t19 -45v-143q161 -37 278.5 -154.5t154.5 -278.5h143q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf05c;" d="M1097 457l-146 -146q-10 -10 -23 -10t-23 10l-137 137l-137 -137q-10 -10 -23 -10t-23 10l-146 146q-10 10 -10 23t10 23l137 137l-137 137q-10 10 -10 23t10 23l146 146q10 10 23 10t23 -10l137 -137l137 137q10 10 23 10t23 -10l146 -146q10 -10 10 -23t-10 -23 l-137 -137l137 -137q10 -10 10 -23t-10 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5 t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05d;" d="M1171 723l-422 -422q-19 -19 -45 -19t-45 19l-294 294q-19 19 -19 45t19 45l102 102q19 19 45 19t45 -19l147 -147l275 275q19 19 45 19t45 -19l102 -102q19 -19 19 -45t-19 -45zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198 t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf05e;" d="M1312 643q0 161 -87 295l-754 -753q137 -89 297 -89q111 0 211.5 43.5t173.5 116.5t116 174.5t43 212.5zM313 344l755 754q-135 91 -300 91q-148 0 -273 -73t-198 -199t-73 -274q0 -162 89 -299zM1536 643q0 -157 -61 -300t-163.5 -246t-245 -164t-298.5 -61t-298.5 61 t-245 164t-163.5 246t-61 300t61 299.5t163.5 245.5t245 164t298.5 61t298.5 -61t245 -164t163.5 -245.5t61 -299.5z" />
<glyph unicode="&#xf060;" d="M1536 640v-128q0 -53 -32.5 -90.5t-84.5 -37.5h-704l293 -294q38 -36 38 -90t-38 -90l-75 -76q-37 -37 -90 -37q-52 0 -91 37l-651 652q-37 37 -37 90q0 52 37 91l651 650q38 38 91 38q52 0 90 -38l75 -74q38 -38 38 -91t-38 -91l-293 -293h704q52 0 84.5 -37.5 t32.5 -90.5z" />
<glyph unicode="&#xf061;" d="M1472 576q0 -54 -37 -91l-651 -651q-39 -37 -91 -37q-51 0 -90 37l-75 75q-38 38 -38 91t38 91l293 293h-704q-52 0 -84.5 37.5t-32.5 90.5v128q0 53 32.5 90.5t84.5 37.5h704l-293 294q-38 36 -38 90t38 90l75 75q38 38 90 38q53 0 91 -38l651 -651q37 -35 37 -90z" />
<glyph unicode="&#xf062;" horiz-adv-x="1664" d="M1611 565q0 -51 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-294 293v-704q0 -52 -37.5 -84.5t-90.5 -32.5h-128q-53 0 -90.5 32.5t-37.5 84.5v704l-294 -293q-36 -38 -90 -38t-90 38l-75 75q-38 38 -38 90q0 53 38 91l651 651q35 37 90 37q54 0 91 -37l651 -651 q37 -39 37 -91z" />
<glyph unicode="&#xf063;" horiz-adv-x="1664" d="M1611 704q0 -53 -37 -90l-651 -652q-39 -37 -91 -37q-53 0 -90 37l-651 652q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l294 -294v704q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-704l294 294q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
<glyph unicode="&#xf064;" horiz-adv-x="1792" d="M1792 896q0 -26 -19 -45l-512 -512q-19 -19 -45 -19t-45 19t-19 45v256h-224q-98 0 -175.5 -6t-154 -21.5t-133 -42.5t-105.5 -69.5t-80 -101t-48.5 -138.5t-17.5 -181q0 -55 5 -123q0 -6 2.5 -23.5t2.5 -26.5q0 -15 -8.5 -25t-23.5 -10q-16 0 -28 17q-7 9 -13 22 t-13.5 30t-10.5 24q-127 285 -127 451q0 199 53 333q162 403 875 403h224v256q0 26 19 45t45 19t45 -19l512 -512q19 -19 19 -45z" />
<glyph unicode="&#xf065;" d="M755 480q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23zM1536 1344v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332 q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf066;" d="M768 576v-448q0 -26 -19 -45t-45 -19t-45 19l-144 144l-332 -332q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l332 332l-144 144q-19 19 -19 45t19 45t45 19h448q26 0 45 -19t19 -45zM1523 1248q0 -13 -10 -23l-332 -332l144 -144q19 -19 19 -45t-19 -45 t-45 -19h-448q-26 0 -45 19t-19 45v448q0 26 19 45t45 19t45 -19l144 -144l332 332q10 10 23 10t23 -10l114 -114q10 -10 10 -23z" />
<glyph unicode="&#xf067;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-416v-416q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v416h-416q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h416v416q0 40 28 68t68 28h192q40 0 68 -28t28 -68v-416h416q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf068;" horiz-adv-x="1408" d="M1408 800v-192q0 -40 -28 -68t-68 -28h-1216q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h1216q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf069;" horiz-adv-x="1664" d="M1482 486q46 -26 59.5 -77.5t-12.5 -97.5l-64 -110q-26 -46 -77.5 -59.5t-97.5 12.5l-266 153v-307q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v307l-266 -153q-46 -26 -97.5 -12.5t-77.5 59.5l-64 110q-26 46 -12.5 97.5t59.5 77.5l266 154l-266 154 q-46 26 -59.5 77.5t12.5 97.5l64 110q26 46 77.5 59.5t97.5 -12.5l266 -153v307q0 52 38 90t90 38h128q52 0 90 -38t38 -90v-307l266 153q46 26 97.5 12.5t77.5 -59.5l64 -110q26 -46 12.5 -97.5t-59.5 -77.5l-266 -154z" />
<glyph unicode="&#xf06a;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM896 161v190q0 14 -9 23.5t-22 9.5h-192q-13 0 -23 -10t-10 -23v-190q0 -13 10 -23t23 -10h192 q13 0 22 9.5t9 23.5zM894 505l18 621q0 12 -10 18q-10 8 -24 8h-220q-14 0 -24 -8q-10 -6 -10 -18l17 -621q0 -10 10 -17.5t24 -7.5h185q14 0 23.5 7.5t10.5 17.5z" />
<glyph unicode="&#xf06b;" d="M928 180v56v468v192h-320v-192v-468v-56q0 -25 18 -38.5t46 -13.5h192q28 0 46 13.5t18 38.5zM472 1024h195l-126 161q-26 31 -69 31q-40 0 -68 -28t-28 -68t28 -68t68 -28zM1160 1120q0 40 -28 68t-68 28q-43 0 -69 -31l-125 -161h194q40 0 68 28t28 68zM1536 864v-320 q0 -14 -9 -23t-23 -9h-96v-416q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v416h-96q-14 0 -23 9t-9 23v320q0 14 9 23t23 9h440q-93 0 -158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5q107 0 168 -77l128 -165l128 165q61 77 168 77q93 0 158.5 -65.5t65.5 -158.5 t-65.5 -158.5t-158.5 -65.5h440q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf06c;" horiz-adv-x="1792" d="M1280 832q0 26 -19 45t-45 19q-172 0 -318 -49.5t-259.5 -134t-235.5 -219.5q-19 -21 -19 -45q0 -26 19 -45t45 -19q24 0 45 19q27 24 74 71t67 66q137 124 268.5 176t313.5 52q26 0 45 19t19 45zM1792 1030q0 -95 -20 -193q-46 -224 -184.5 -383t-357.5 -268 q-214 -108 -438 -108q-148 0 -286 47q-15 5 -88 42t-96 37q-16 0 -39.5 -32t-45 -70t-52.5 -70t-60 -32q-30 0 -51 11t-31 24t-27 42q-2 4 -6 11t-5.5 10t-3 9.5t-1.5 13.5q0 35 31 73.5t68 65.5t68 56t31 48q0 4 -14 38t-16 44q-9 51 -9 104q0 115 43.5 220t119 184.5 t170.5 139t204 95.5q55 18 145 25.5t179.5 9t178.5 6t163.5 24t113.5 56.5l29.5 29.5t29.5 28t27 20t36.5 16t43.5 4.5q39 0 70.5 -46t47.5 -112t24 -124t8 -96z" />
<glyph unicode="&#xf06d;" horiz-adv-x="1408" d="M1408 -160v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-1344q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h1344q13 0 22.5 -9.5t9.5 -22.5zM1152 896q0 -78 -24.5 -144t-64 -112.5t-87.5 -88t-96 -77.5t-87.5 -72t-64 -81.5t-24.5 -96.5q0 -96 67 -224l-4 1l1 -1 q-90 41 -160 83t-138.5 100t-113.5 122.5t-72.5 150.5t-27.5 184q0 78 24.5 144t64 112.5t87.5 88t96 77.5t87.5 72t64 81.5t24.5 96.5q0 94 -66 224l3 -1l-1 1q90 -41 160 -83t138.5 -100t113.5 -122.5t72.5 -150.5t27.5 -184z" />
<glyph unicode="&#xf06e;" horiz-adv-x="1792" d="M1664 576q-152 236 -381 353q61 -104 61 -225q0 -185 -131.5 -316.5t-316.5 -131.5t-316.5 131.5t-131.5 316.5q0 121 61 225q-229 -117 -381 -353q133 -205 333.5 -326.5t434.5 -121.5t434.5 121.5t333.5 326.5zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5 t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1792 576q0 -34 -20 -69q-140 -230 -376.5 -368.5t-499.5 -138.5t-499.5 139t-376.5 368q-20 35 -20 69t20 69q140 229 376.5 368t499.5 139t499.5 -139t376.5 -368q20 -35 20 -69z" />
<glyph unicode="&#xf070;" horiz-adv-x="1792" d="M555 201l78 141q-87 63 -136 159t-49 203q0 121 61 225q-229 -117 -381 -353q167 -258 427 -375zM944 960q0 20 -14 34t-34 14q-125 0 -214.5 -89.5t-89.5 -214.5q0 -20 14 -34t34 -14t34 14t14 34q0 86 61 147t147 61q20 0 34 14t14 34zM1307 1151q0 -7 -1 -9 q-105 -188 -315 -566t-316 -567l-49 -89q-10 -16 -28 -16q-12 0 -134 70q-16 10 -16 28q0 12 44 87q-143 65 -263.5 173t-208.5 245q-20 31 -20 69t20 69q153 235 380 371t496 136q89 0 180 -17l54 97q10 16 28 16q5 0 18 -6t31 -15.5t33 -18.5t31.5 -18.5t19.5 -11.5 q16 -10 16 -27zM1344 704q0 -139 -79 -253.5t-209 -164.5l280 502q8 -45 8 -84zM1792 576q0 -35 -20 -69q-39 -64 -109 -145q-150 -172 -347.5 -267t-419.5 -95l74 132q212 18 392.5 137t301.5 307q-115 179 -282 294l63 112q95 -64 182.5 -153t144.5 -184q20 -34 20 -69z " />
<glyph unicode="&#xf071;" horiz-adv-x="1792" d="M1024 161v190q0 14 -9.5 23.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -23.5v-190q0 -14 9.5 -23.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 23.5zM1022 535l18 459q0 12 -10 19q-13 11 -24 11h-220q-11 0 -24 -11q-10 -7 -10 -21l17 -457q0 -10 10 -16.5t24 -6.5h185 q14 0 23.5 6.5t10.5 16.5zM1008 1469l768 -1408q35 -63 -2 -126q-17 -29 -46.5 -46t-63.5 -17h-1536q-34 0 -63.5 17t-46.5 46q-37 63 -2 126l768 1408q17 31 47 49t65 18t65 -18t47 -49z" />
<glyph unicode="&#xf072;" horiz-adv-x="1408" d="M1376 1376q44 -52 12 -148t-108 -172l-161 -161l160 -696q5 -19 -12 -33l-128 -96q-7 -6 -19 -6q-4 0 -7 1q-15 3 -21 16l-279 508l-259 -259l53 -194q5 -17 -8 -31l-96 -96q-9 -9 -23 -9h-2q-15 2 -24 13l-189 252l-252 189q-11 7 -13 23q-1 13 9 25l96 97q9 9 23 9 q6 0 8 -1l194 -53l259 259l-508 279q-14 8 -17 24q-2 16 9 27l128 128q14 13 30 8l665 -159l160 160q76 76 172 108t148 -12z" />
<glyph unicode="&#xf073;" horiz-adv-x="1664" d="M128 -128h288v288h-288v-288zM480 -128h320v288h-320v-288zM128 224h288v320h-288v-320zM480 224h320v320h-320v-320zM128 608h288v288h-288v-288zM864 -128h320v288h-320v-288zM480 608h320v288h-320v-288zM1248 -128h288v288h-288v-288zM864 224h320v320h-320v-320z M512 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1248 224h288v320h-288v-320zM864 608h320v288h-320v-288zM1248 608h288v288h-288v-288zM1280 1088v288q0 13 -9.5 22.5t-22.5 9.5h-64 q-13 0 -22.5 -9.5t-9.5 -22.5v-288q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1664 1152v-1280q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47 h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf074;" horiz-adv-x="1792" d="M666 1055q-60 -92 -137 -273q-22 45 -37 72.5t-40.5 63.5t-51 56.5t-63 35t-81.5 14.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q250 0 410 -225zM1792 256q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192q-32 0 -85 -0.5t-81 -1t-73 1 t-71 5t-64 10.5t-63 18.5t-58 28.5t-59 40t-55 53.5t-56 69.5q59 93 136 273q22 -45 37 -72.5t40.5 -63.5t51 -56.5t63 -35t81.5 -14.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1792 1152q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5 v192h-256q-48 0 -87 -15t-69 -45t-51 -61.5t-45 -77.5q-32 -62 -78 -171q-29 -66 -49.5 -111t-54 -105t-64 -100t-74 -83t-90 -68.5t-106.5 -42t-128 -16.5h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224q48 0 87 15t69 45t51 61.5t45 77.5q32 62 78 171q29 66 49.5 111 t54 105t64 100t74 83t90 68.5t106.5 42t128 16.5h256v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
<glyph unicode="&#xf075;" horiz-adv-x="1792" d="M1792 640q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22q-17 -2 -30.5 9t-17.5 29v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281 q0 130 71 248.5t191 204.5t286 136.5t348 50.5q244 0 450 -85.5t326 -233t120 -321.5z" />
<glyph unicode="&#xf076;" d="M1536 704v-128q0 -201 -98.5 -362t-274 -251.5t-395.5 -90.5t-395.5 90.5t-274 251.5t-98.5 362v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-128q0 -52 23.5 -90t53.5 -57t71 -30t64 -13t44 -2t44 2t64 13t71 30t53.5 57t23.5 90v128q0 26 19 45t45 19h384 q26 0 45 -19t19 -45zM512 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45zM1536 1344v-384q0 -26 -19 -45t-45 -19h-384q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h384q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf077;" horiz-adv-x="1664" d="M1611 320q0 -53 -37 -90l-75 -75q-38 -38 -91 -38q-54 0 -90 38l-486 485l-486 -485q-36 -38 -90 -38t-90 38l-75 75q-38 36 -38 90q0 53 38 91l651 651q37 37 90 37q52 0 91 -37l650 -651q38 -38 38 -91z" />
<glyph unicode="&#xf078;" horiz-adv-x="1664" d="M1611 832q0 -53 -37 -90l-651 -651q-38 -38 -91 -38q-54 0 -90 38l-651 651q-38 36 -38 90q0 53 38 91l74 75q39 37 91 37q53 0 90 -37l486 -486l486 486q37 37 90 37q52 0 91 -37l75 -75q37 -39 37 -91z" />
<glyph unicode="&#xf079;" horiz-adv-x="1920" d="M1280 32q0 -13 -9.5 -22.5t-22.5 -9.5h-960q-8 0 -13.5 2t-9 7t-5.5 8t-3 11.5t-1 11.5v13v11v160v416h-192q-26 0 -45 19t-19 45q0 24 15 41l320 384q19 22 49 22t49 -22l320 -384q15 -17 15 -41q0 -26 -19 -45t-45 -19h-192v-384h576q16 0 25 -11l160 -192q7 -11 7 -21 zM1920 448q0 -24 -15 -41l-320 -384q-20 -23 -49 -23t-49 23l-320 384q-15 17 -15 41q0 26 19 45t45 19h192v384h-576q-16 0 -25 12l-160 192q-7 9 -7 20q0 13 9.5 22.5t22.5 9.5h960q8 0 13.5 -2t9 -7t5.5 -8t3 -11.5t1 -11.5v-13v-11v-160v-416h192q26 0 45 -19t19 -45z " />
<glyph unicode="&#xf07a;" horiz-adv-x="1664" d="M640 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1536 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1664 1088v-512q0 -24 -16 -42.5t-41 -21.5 l-1044 -122q1 -7 4.5 -21.5t6 -26.5t2.5 -22q0 -16 -24 -64h920q26 0 45 -19t19 -45t-19 -45t-45 -19h-1024q-26 0 -45 19t-19 45q0 14 11 39.5t29.5 59.5t20.5 38l-177 823h-204q-26 0 -45 19t-19 45t19 45t45 19h256q16 0 28.5 -6.5t20 -15.5t13 -24.5t7.5 -26.5 t5.5 -29.5t4.5 -25.5h1201q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf07b;" horiz-adv-x="1664" d="M1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf07c;" horiz-adv-x="1920" d="M1879 584q0 -31 -31 -66l-336 -396q-43 -51 -120.5 -86.5t-143.5 -35.5h-1088q-34 0 -60.5 13t-26.5 43q0 31 31 66l336 396q43 51 120.5 86.5t143.5 35.5h1088q34 0 60.5 -13t26.5 -43zM1536 928v-160h-832q-94 0 -197 -47.5t-164 -119.5l-337 -396l-5 -6q0 4 -0.5 12.5 t-0.5 12.5v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf07d;" horiz-adv-x="768" d="M704 1216q0 -26 -19 -45t-45 -19h-128v-1024h128q26 0 45 -19t19 -45t-19 -45l-256 -256q-19 -19 -45 -19t-45 19l-256 256q-19 19 -19 45t19 45t45 19h128v1024h-128q-26 0 -45 19t-19 45t19 45l256 256q19 19 45 19t45 -19l256 -256q19 -19 19 -45z" />
<glyph unicode="&#xf07e;" horiz-adv-x="1792" d="M1792 640q0 -26 -19 -45l-256 -256q-19 -19 -45 -19t-45 19t-19 45v128h-1024v-128q0 -26 -19 -45t-45 -19t-45 19l-256 256q-19 19 -19 45t19 45l256 256q19 19 45 19t45 -19t19 -45v-128h1024v128q0 26 19 45t45 19t45 -19l256 -256q19 -19 19 -45z" />
<glyph unicode="&#xf080;" horiz-adv-x="1920" d="M512 512v-384h-256v384h256zM896 1024v-896h-256v896h256zM1280 768v-640h-256v640h256zM1664 1152v-1024h-256v1024h256zM1792 32v1216q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-1216q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5z M1920 1248v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf081;" d="M1280 926q-56 -25 -121 -34q68 40 93 117q-65 -38 -134 -51q-61 66 -153 66q-87 0 -148.5 -61.5t-61.5 -148.5q0 -29 5 -48q-129 7 -242 65t-192 155q-29 -50 -29 -106q0 -114 91 -175q-47 1 -100 26v-2q0 -75 50 -133.5t123 -72.5q-29 -8 -51 -8q-13 0 -39 4 q21 -63 74.5 -104t121.5 -42q-116 -90 -261 -90q-26 0 -50 3q148 -94 322 -94q112 0 210 35.5t168 95t120.5 137t75 162t24.5 168.5q0 18 -1 27q63 45 105 109zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5 t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf082;" d="M1307 618l23 219h-198v109q0 49 15.5 68.5t71.5 19.5h110v219h-175q-152 0 -218 -72t-66 -213v-131h-131v-219h131v-635h262v635h175zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960 q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf083;" horiz-adv-x="1792" d="M928 704q0 14 -9 23t-23 9q-66 0 -113 -47t-47 -113q0 -14 9 -23t23 -9t23 9t9 23q0 40 28 68t68 28q14 0 23 9t9 23zM1152 574q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM128 0h1536v128h-1536v-128zM1280 574q0 159 -112.5 271.5 t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM256 1216h384v128h-384v-128zM128 1024h1536v118v138h-828l-64 -128h-644v-128zM1792 1280v-1280q0 -53 -37.5 -90.5t-90.5 -37.5h-1536q-53 0 -90.5 37.5t-37.5 90.5v1280 q0 53 37.5 90.5t90.5 37.5h1536q53 0 90.5 -37.5t37.5 -90.5z" />
<glyph unicode="&#xf084;" horiz-adv-x="1792" d="M832 1024q0 80 -56 136t-136 56t-136 -56t-56 -136q0 -42 19 -83q-41 19 -83 19q-80 0 -136 -56t-56 -136t56 -136t136 -56t136 56t56 136q0 42 -19 83q41 -19 83 -19q80 0 136 56t56 136zM1683 320q0 -17 -49 -66t-66 -49q-9 0 -28.5 16t-36.5 33t-38.5 40t-24.5 26 l-96 -96l220 -220q28 -28 28 -68q0 -42 -39 -81t-81 -39q-40 0 -68 28l-671 671q-176 -131 -365 -131q-163 0 -265.5 102.5t-102.5 265.5q0 160 95 313t248 248t313 95q163 0 265.5 -102.5t102.5 -265.5q0 -189 -131 -365l355 -355l96 96q-3 3 -26 24.5t-40 38.5t-33 36.5 t-16 28.5q0 17 49 66t66 49q13 0 23 -10q6 -6 46 -44.5t82 -79.5t86.5 -86t73 -78t28.5 -41z" />
<glyph unicode="&#xf085;" horiz-adv-x="1920" d="M896 640q0 106 -75 181t-181 75t-181 -75t-75 -181t75 -181t181 -75t181 75t75 181zM1664 128q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 1152q0 52 -38 90t-90 38t-90 -38t-38 -90q0 -53 37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1280 731v-185q0 -10 -7 -19.5t-16 -10.5l-155 -24q-11 -35 -32 -76q34 -48 90 -115q7 -10 7 -20q0 -12 -7 -19q-23 -30 -82.5 -89.5t-78.5 -59.5q-11 0 -21 7l-115 90q-37 -19 -77 -31q-11 -108 -23 -155q-7 -24 -30 -24h-186q-11 0 -20 7.5t-10 17.5 l-23 153q-34 10 -75 31l-118 -89q-7 -7 -20 -7q-11 0 -21 8q-144 133 -144 160q0 9 7 19q10 14 41 53t47 61q-23 44 -35 82l-152 24q-10 1 -17 9.5t-7 19.5v185q0 10 7 19.5t16 10.5l155 24q11 35 32 76q-34 48 -90 115q-7 11 -7 20q0 12 7 20q22 30 82 89t79 59q11 0 21 -7 l115 -90q34 18 77 32q11 108 23 154q7 24 30 24h186q11 0 20 -7.5t10 -17.5l23 -153q34 -10 75 -31l118 89q8 7 20 7q11 0 21 -8q144 -133 144 -160q0 -9 -7 -19q-12 -16 -42 -54t-45 -60q23 -48 34 -82l152 -23q10 -2 17 -10.5t7 -19.5zM1920 198v-140q0 -16 -149 -31 q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20 t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31zM1920 1222v-140q0 -16 -149 -31q-12 -27 -30 -52q51 -113 51 -138q0 -4 -4 -7q-122 -71 -124 -71q-8 0 -46 47t-52 68 q-20 -2 -30 -2t-30 2q-14 -21 -52 -68t-46 -47q-2 0 -124 71q-4 3 -4 7q0 25 51 138q-18 25 -30 52q-149 15 -149 31v140q0 16 149 31q13 29 30 52q-51 113 -51 138q0 4 4 7q4 2 35 20t59 34t30 16q8 0 46 -46.5t52 -67.5q20 2 30 2t30 -2q51 71 92 112l6 2q4 0 124 -70 q4 -3 4 -7q0 -25 -51 -138q17 -23 30 -52q149 -15 149 -31z" />
<glyph unicode="&#xf086;" horiz-adv-x="1792" d="M1408 768q0 -139 -94 -257t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224 q0 139 94 257t256.5 186.5t353.5 68.5t353.5 -68.5t256.5 -186.5t94 -257zM1792 512q0 -120 -71 -224.5t-195 -176.5q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7 q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230z" />
<glyph unicode="&#xf087;" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 768q0 51 -39 89.5t-89 38.5h-352q0 58 48 159.5t48 160.5q0 98 -32 145t-128 47q-26 -26 -38 -85t-30.5 -125.5t-59.5 -109.5q-22 -23 -77 -91q-4 -5 -23 -30t-31.5 -41t-34.5 -42.5 t-40 -44t-38.5 -35.5t-40 -27t-35.5 -9h-32v-640h32q13 0 31.5 -3t33 -6.5t38 -11t35 -11.5t35.5 -12.5t29 -10.5q211 -73 342 -73h121q192 0 192 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5q32 1 53.5 47t21.5 81zM1536 769 q0 -89 -49 -163q9 -33 9 -69q0 -77 -38 -144q3 -21 3 -43q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5h-36h-93q-96 0 -189.5 22.5t-216.5 65.5q-116 40 -138 40h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h274q36 24 137 155q58 75 107 128 q24 25 35.5 85.5t30.5 126.5t62 108q39 37 90 37q84 0 151 -32.5t102 -101.5t35 -186q0 -93 -48 -192h176q104 0 180 -76t76 -179z" />
<glyph unicode="&#xf088;" d="M256 1088q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 512q0 35 -21.5 81t-53.5 47q15 17 25 47.5t10 55.5q0 69 -53 119q18 32 18 69t-17.5 73.5t-47.5 52.5q5 30 5 56q0 85 -49 126t-136 41h-128q-131 0 -342 -73q-5 -2 -29 -10.5 t-35.5 -12.5t-35 -11.5t-38 -11t-33 -6.5t-31.5 -3h-32v-640h32q16 0 35.5 -9t40 -27t38.5 -35.5t40 -44t34.5 -42.5t31.5 -41t23 -30q55 -68 77 -91q41 -43 59.5 -109.5t30.5 -125.5t38 -85q96 0 128 47t32 145q0 59 -48 160.5t-48 159.5h352q50 0 89 38.5t39 89.5z M1536 511q0 -103 -76 -179t-180 -76h-176q48 -99 48 -192q0 -118 -35 -186q-35 -69 -102 -101.5t-151 -32.5q-51 0 -90 37q-34 33 -54 82t-25.5 90.5t-17.5 84.5t-31 64q-48 50 -107 127q-101 131 -137 155h-274q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5 h288q22 0 138 40q128 44 223 66t200 22h112q140 0 226.5 -79t85.5 -216v-5q60 -77 60 -178q0 -22 -3 -43q38 -67 38 -144q0 -36 -9 -69q49 -74 49 -163z" />
<glyph unicode="&#xf089;" horiz-adv-x="896" d="M832 1504v-1339l-449 -236q-22 -12 -40 -12q-21 0 -31.5 14.5t-10.5 35.5q0 6 2 20l86 500l-364 354q-25 27 -25 48q0 37 56 46l502 73l225 455q19 41 49 41z" />
<glyph unicode="&#xf08a;" horiz-adv-x="1792" d="M1664 940q0 81 -21.5 143t-55 98.5t-81.5 59.5t-94 31t-98 8t-112 -25.5t-110.5 -64t-86.5 -72t-60 -61.5q-18 -22 -49 -22t-49 22q-24 28 -60 61.5t-86.5 72t-110.5 64t-112 25.5t-98 -8t-94 -31t-81.5 -59.5t-55 -98.5t-21.5 -143q0 -168 187 -355l581 -560l580 559 q188 188 188 356zM1792 940q0 -221 -229 -450l-623 -600q-18 -18 -44 -18t-44 18l-624 602q-10 8 -27.5 26t-55.5 65.5t-68 97.5t-53.5 121t-23.5 138q0 220 127 344t351 124q62 0 126.5 -21.5t120 -58t95.5 -68.5t76 -68q36 36 76 68t95.5 68.5t120 58t126.5 21.5 q224 0 351 -124t127 -344z" />
<glyph unicode="&#xf08b;" horiz-adv-x="1664" d="M640 96q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-119 0 -203.5 84.5t-84.5 203.5v704q0 119 84.5 203.5t203.5 84.5h320q13 0 22.5 -9.5t9.5 -22.5q0 -4 1 -20t0.5 -26.5t-3 -23.5t-10 -19.5t-20.5 -6.5h-320q-66 0 -113 -47t-47 -113v-704 q0 -66 47 -113t113 -47h288h11h13t11.5 -1t11.5 -3t8 -5.5t7 -9t2 -13.5zM1568 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45z" />
<glyph unicode="&#xf08c;" d="M237 122h231v694h-231v-694zM483 1030q-1 52 -36 86t-93 34t-94.5 -34t-36.5 -86q0 -51 35.5 -85.5t92.5 -34.5h1q59 0 95 34.5t36 85.5zM1068 122h231v398q0 154 -73 233t-193 79q-136 0 -209 -117h2v101h-231q3 -66 0 -694h231v388q0 38 7 56q15 35 45 59.5t74 24.5 q116 0 116 -157v-371zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf08d;" horiz-adv-x="1152" d="M480 672v448q0 14 -9 23t-23 9t-23 -9t-9 -23v-448q0 -14 9 -23t23 -9t23 9t9 23zM1152 320q0 -26 -19 -45t-45 -19h-429l-51 -483q-2 -12 -10.5 -20.5t-20.5 -8.5h-1q-27 0 -32 27l-76 485h-404q-26 0 -45 19t-19 45q0 123 78.5 221.5t177.5 98.5v512q-52 0 -90 38 t-38 90t38 90t90 38h640q52 0 90 -38t38 -90t-38 -90t-90 -38v-512q99 0 177.5 -98.5t78.5 -221.5z" />
<glyph unicode="&#xf08e;" horiz-adv-x="1792" d="M1408 608v-320q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h704q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-704q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v320 q0 14 9 23t23 9h64q14 0 23 -9t9 -23zM1792 1472v-512q0 -26 -19 -45t-45 -19t-45 19l-176 176l-652 -652q-10 -10 -23 -10t-23 10l-114 114q-10 10 -10 23t10 23l652 652l-176 176q-19 19 -19 45t19 45t45 19h512q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf090;" d="M1184 640q0 -26 -19 -45l-544 -544q-19 -19 -45 -19t-45 19t-19 45v288h-448q-26 0 -45 19t-19 45v384q0 26 19 45t45 19h448v288q0 26 19 45t45 19t45 -19l544 -544q19 -19 19 -45zM1536 992v-704q0 -119 -84.5 -203.5t-203.5 -84.5h-320q-13 0 -22.5 9.5t-9.5 22.5 q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q66 0 113 47t47 113v704q0 66 -47 113t-113 47h-288h-11h-13t-11.5 1t-11.5 3t-8 5.5t-7 9t-2 13.5q0 4 -1 20t-0.5 26.5t3 23.5t10 19.5t20.5 6.5h320q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf091;" horiz-adv-x="1664" d="M458 653q-74 162 -74 371h-256v-96q0 -78 94.5 -162t235.5 -113zM1536 928v96h-256q0 -209 -74 -371q141 29 235.5 113t94.5 162zM1664 1056v-128q0 -71 -41.5 -143t-112 -130t-173 -97.5t-215.5 -44.5q-42 -54 -95 -95q-38 -34 -52.5 -72.5t-14.5 -89.5q0 -54 30.5 -91 t97.5 -37q75 0 133.5 -45.5t58.5 -114.5v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 69 58.5 114.5t133.5 45.5q67 0 97.5 37t30.5 91q0 51 -14.5 89.5t-52.5 72.5q-53 41 -95 95q-113 5 -215.5 44.5t-173 97.5t-112 130t-41.5 143v128q0 40 28 68t68 28h288v96 q0 66 47 113t113 47h576q66 0 113 -47t47 -113v-96h288q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf092;" d="M394 184q-8 -9 -20 3q-13 11 -4 19q8 9 20 -3q12 -11 4 -19zM352 245q9 -12 0 -19q-8 -6 -17 7t0 18q9 7 17 -6zM291 305q-5 -7 -13 -2q-10 5 -7 12q3 5 13 2q10 -5 7 -12zM322 271q-6 -7 -16 3q-9 11 -2 16q6 6 16 -3q9 -11 2 -16zM451 159q-4 -12 -19 -6q-17 4 -13 15 t19 7q16 -5 13 -16zM514 154q0 -11 -16 -11q-17 -2 -17 11q0 11 16 11q17 2 17 -11zM572 164q2 -10 -14 -14t-18 8t14 15q16 2 18 -9zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-224q-16 0 -24.5 1t-19.5 5t-16 14.5t-5 27.5v239q0 97 -52 142q57 6 102.5 18t94 39 t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103 q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -103t0.5 -68q0 -22 -11 -33.5t-22 -13t-33 -1.5 h-224q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf093;" horiz-adv-x="1664" d="M1280 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 288v-320q0 -40 -28 -68t-68 -28h-1472q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h427q21 -56 70.5 -92 t110.5 -36h256q61 0 110.5 36t70.5 92h427q40 0 68 -28t28 -68zM1339 936q-17 -40 -59 -40h-256v-448q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v448h-256q-42 0 -59 40q-17 39 14 69l448 448q18 19 45 19t45 -19l448 -448q31 -30 14 -69z" />
<glyph unicode="&#xf094;" d="M1407 710q0 44 -7 113.5t-18 96.5q-12 30 -17 44t-9 36.5t-4 48.5q0 23 5 68.5t5 67.5q0 37 -10 55q-4 1 -13 1q-19 0 -58 -4.5t-59 -4.5q-60 0 -176 24t-175 24q-43 0 -94.5 -11.5t-85 -23.5t-89.5 -34q-137 -54 -202 -103q-96 -73 -159.5 -189.5t-88 -236t-24.5 -248.5 q0 -40 12.5 -120t12.5 -121q0 -23 -11 -66.5t-11 -65.5t12 -36.5t34 -14.5q24 0 72.5 11t73.5 11q57 0 169.5 -15.5t169.5 -15.5q181 0 284 36q129 45 235.5 152.5t166 245.5t59.5 275zM1535 712q0 -165 -70 -327.5t-196 -288t-281 -180.5q-124 -44 -326 -44 q-57 0 -170 14.5t-169 14.5q-24 0 -72.5 -14.5t-73.5 -14.5q-73 0 -123.5 55.5t-50.5 128.5q0 24 11 68t11 67q0 40 -12.5 120.5t-12.5 121.5q0 111 18 217.5t54.5 209.5t100.5 194t150 156q78 59 232 120q194 78 316 78q60 0 175.5 -24t173.5 -24q19 0 57 5t58 5 q81 0 118 -50.5t37 -134.5q0 -23 -5 -68t-5 -68q0 -10 1 -18.5t3 -17t4 -13.5t6.5 -16t6.5 -17q16 -40 25 -118.5t9 -136.5z" />
<glyph unicode="&#xf095;" horiz-adv-x="1408" d="M1408 296q0 -27 -10 -70.5t-21 -68.5q-21 -50 -122 -106q-94 -51 -186 -51q-27 0 -52.5 3.5t-57.5 12.5t-47.5 14.5t-55.5 20.5t-49 18q-98 35 -175 83q-128 79 -264.5 215.5t-215.5 264.5q-48 77 -83 175q-3 9 -18 49t-20.5 55.5t-14.5 47.5t-12.5 57.5t-3.5 52.5 q0 92 51 186q56 101 106 122q25 11 68.5 21t70.5 10q14 0 21 -3q18 -6 53 -76q11 -19 30 -54t35 -63.5t31 -53.5q3 -4 17.5 -25t21.5 -35.5t7 -28.5q0 -20 -28.5 -50t-62 -55t-62 -53t-28.5 -46q0 -9 5 -22.5t8.5 -20.5t14 -24t11.5 -19q76 -137 174 -235t235 -174 q2 -1 19 -11.5t24 -14t20.5 -8.5t22.5 -5q18 0 46 28.5t53 62t55 62t50 28.5q14 0 28.5 -7t35.5 -21.5t25 -17.5q25 -15 53.5 -31t63.5 -35t54 -30q70 -35 76 -53q3 -7 3 -21z" />
<glyph unicode="&#xf096;" horiz-adv-x="1408" d="M1120 1280h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113v832q0 66 -47 113t-113 47zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832 q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf097;" horiz-adv-x="1280" d="M1152 1280h-1024v-1242l423 406l89 85l89 -85l423 -406v1242zM1164 1408q23 0 44 -9q33 -13 52.5 -41t19.5 -62v-1289q0 -34 -19.5 -62t-52.5 -41q-19 -8 -44 -8q-48 0 -83 32l-441 424l-441 -424q-36 -33 -83 -33q-23 0 -44 9q-33 13 -52.5 41t-19.5 62v1289 q0 34 19.5 62t52.5 41q21 9 44 9h1048z" />
<glyph unicode="&#xf098;" d="M1280 343q0 11 -2 16q-3 8 -38.5 29.5t-88.5 49.5l-53 29q-5 3 -19 13t-25 15t-21 5q-18 0 -47 -32.5t-57 -65.5t-44 -33q-7 0 -16.5 3.5t-15.5 6.5t-17 9.5t-14 8.5q-99 55 -170.5 126.5t-126.5 170.5q-2 3 -8.5 14t-9.5 17t-6.5 15.5t-3.5 16.5q0 13 20.5 33.5t45 38.5 t45 39.5t20.5 36.5q0 10 -5 21t-15 25t-13 19q-3 6 -15 28.5t-25 45.5t-26.5 47.5t-25 40.5t-16.5 18t-16 2q-48 0 -101 -22q-46 -21 -80 -94.5t-34 -130.5q0 -16 2.5 -34t5 -30.5t9 -33t10 -29.5t12.5 -33t11 -30q60 -164 216.5 -320.5t320.5 -216.5q6 -2 30 -11t33 -12.5 t29.5 -10t33 -9t30.5 -5t34 -2.5q57 0 130.5 34t94.5 80q22 53 22 101zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf099;" horiz-adv-x="1664" d="M1620 1128q-67 -98 -162 -167q1 -14 1 -42q0 -130 -38 -259.5t-115.5 -248.5t-184.5 -210.5t-258 -146t-323 -54.5q-271 0 -496 145q35 -4 78 -4q225 0 401 138q-105 2 -188 64.5t-114 159.5q33 -5 61 -5q43 0 85 11q-112 23 -185.5 111.5t-73.5 205.5v4q68 -38 146 -41 q-66 44 -105 115t-39 154q0 88 44 163q121 -149 294.5 -238.5t371.5 -99.5q-8 38 -8 74q0 134 94.5 228.5t228.5 94.5q140 0 236 -102q109 21 205 78q-37 -115 -142 -178q93 10 186 50z" />
<glyph unicode="&#xf09a;" horiz-adv-x="768" d="M511 980h257l-30 -284h-227v-824h-341v824h-170v284h170v171q0 182 86 275.5t283 93.5h227v-284h-142q-39 0 -62.5 -6.5t-34 -23.5t-13.5 -34.5t-3 -49.5v-142z" />
<glyph unicode="&#xf09b;" d="M1536 640q0 -251 -146.5 -451.5t-378.5 -277.5q-27 -5 -39.5 7t-12.5 30v211q0 97 -52 142q57 6 102.5 18t94 39t81 66.5t53 105t20.5 150.5q0 121 -79 206q37 91 -8 204q-28 9 -81 -11t-92 -44l-38 -24q-93 26 -192 26t-192 -26q-16 11 -42.5 27t-83.5 38.5t-86 13.5 q-44 -113 -7 -204q-79 -85 -79 -206q0 -85 20.5 -150t52.5 -105t80.5 -67t94 -39t102.5 -18q-40 -36 -49 -103q-21 -10 -45 -15t-57 -5t-65.5 21.5t-55.5 62.5q-19 32 -48.5 52t-49.5 24l-20 3q-21 0 -29 -4.5t-5 -11.5t9 -14t13 -12l7 -5q22 -10 43.5 -38t31.5 -51l10 -23 q13 -38 44 -61.5t67 -30t69.5 -7t55.5 3.5l23 4q0 -38 0.5 -89t0.5 -54q0 -18 -13 -30t-40 -7q-232 77 -378.5 277.5t-146.5 451.5q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf09c;" horiz-adv-x="1664" d="M1664 960v-256q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45v256q0 106 -75 181t-181 75t-181 -75t-75 -181v-192h96q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h672v192q0 185 131.5 316.5t316.5 131.5 t316.5 -131.5t131.5 -316.5z" />
<glyph unicode="&#xf09d;" horiz-adv-x="1920" d="M1760 1408q66 0 113 -47t47 -113v-1216q0 -66 -47 -113t-113 -47h-1600q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1600zM160 1280q-13 0 -22.5 -9.5t-9.5 -22.5v-224h1664v224q0 13 -9.5 22.5t-22.5 9.5h-1600zM1760 0q13 0 22.5 9.5t9.5 22.5v608h-1664v-608 q0 -13 9.5 -22.5t22.5 -9.5h1600zM256 128v128h256v-128h-256zM640 128v128h384v-128h-384z" />
<glyph unicode="&#xf09e;" horiz-adv-x="1408" d="M384 192q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM896 69q2 -28 -17 -48q-18 -21 -47 -21h-135q-25 0 -43 16.5t-20 41.5q-22 229 -184.5 391.5t-391.5 184.5q-25 2 -41.5 20t-16.5 43v135q0 29 21 47q17 17 43 17h5q160 -13 306 -80.5 t259 -181.5q114 -113 181.5 -259t80.5 -306zM1408 67q2 -27 -18 -47q-18 -20 -46 -20h-143q-26 0 -44.5 17.5t-19.5 42.5q-12 215 -101 408.5t-231.5 336t-336 231.5t-408.5 102q-25 1 -42.5 19.5t-17.5 43.5v143q0 28 20 46q18 18 44 18h3q262 -13 501.5 -120t425.5 -294 q187 -186 294 -425.5t120 -501.5z" />
<glyph unicode="&#xf0a0;" d="M1040 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1296 320q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5zM1408 160v320q0 13 -9.5 22.5t-22.5 9.5 h-1216q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h1216q13 0 22.5 9.5t9.5 22.5zM178 640h1180l-157 482q-4 13 -16 21.5t-26 8.5h-782q-14 0 -26 -8.5t-16 -21.5zM1536 480v-320q0 -66 -47 -113t-113 -47h-1216q-66 0 -113 47t-47 113v320q0 25 16 75 l197 606q17 53 63 86t101 33h782q55 0 101 -33t63 -86l197 -606q16 -50 16 -75z" />
<glyph unicode="&#xf0a1;" horiz-adv-x="1792" d="M1664 896q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5v-384q0 -52 -38 -90t-90 -38q-417 347 -812 380q-58 -19 -91 -66t-31 -100.5t40 -92.5q-20 -33 -23 -65.5t6 -58t33.5 -55t48 -50t61.5 -50.5q-29 -58 -111.5 -83t-168.5 -11.5t-132 55.5q-7 23 -29.5 87.5 t-32 94.5t-23 89t-15 101t3.5 98.5t22 110.5h-122q-66 0 -113 47t-47 113v192q0 66 47 113t113 47h480q435 0 896 384q52 0 90 -38t38 -90v-384zM1536 292v954q-394 -302 -768 -343v-270q377 -42 768 -341z" />
<glyph unicode="&#xf0a2;" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM183 128h1298q-164 181 -246.5 411.5t-82.5 484.5q0 256 -320 256t-320 -256q0 -254 -82.5 -484.5t-246.5 -411.5zM1664 128q0 -52 -38 -90t-90 -38 h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
<glyph unicode="&#xf0a3;" d="M1376 640l138 -135q30 -28 20 -70q-12 -41 -52 -51l-188 -48l53 -186q12 -41 -19 -70q-29 -31 -70 -19l-186 53l-48 -188q-10 -40 -51 -52q-12 -2 -19 -2q-31 0 -51 22l-135 138l-135 -138q-28 -30 -70 -20q-41 11 -51 52l-48 188l-186 -53q-41 -12 -70 19q-31 29 -19 70 l53 186l-188 48q-40 10 -52 51q-10 42 20 70l138 135l-138 135q-30 28 -20 70q12 41 52 51l188 48l-53 186q-12 41 19 70q29 31 70 19l186 -53l48 188q10 41 51 51q41 12 70 -19l135 -139l135 139q29 30 70 19q41 -10 51 -51l48 -188l186 53q41 12 70 -19q31 -29 19 -70 l-53 -186l188 -48q40 -10 52 -51q10 -42 -20 -70z" />
<glyph unicode="&#xf0a4;" horiz-adv-x="1792" d="M256 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1664 768q0 51 -39 89.5t-89 38.5h-576q0 20 15 48.5t33 55t33 68t15 84.5q0 67 -44.5 97.5t-115.5 30.5q-24 0 -90 -139q-24 -44 -37 -65q-40 -64 -112 -145q-71 -81 -101 -106 q-69 -57 -140 -57h-32v-640h32q72 0 167 -32t193.5 -64t179.5 -32q189 0 189 167q0 26 -5 56q30 16 47.5 52.5t17.5 73.5t-18 69q53 50 53 119q0 25 -10 55.5t-25 47.5h331q52 0 90 38t38 90zM1792 769q0 -105 -75.5 -181t-180.5 -76h-169q-4 -62 -37 -119q3 -21 3 -43 q0 -101 -60 -178q1 -139 -85 -219.5t-227 -80.5q-133 0 -322 69q-164 59 -223 59h-288q-53 0 -90.5 37.5t-37.5 90.5v640q0 53 37.5 90.5t90.5 37.5h288q10 0 21.5 4.5t23.5 14t22.5 18t24 22.5t20.5 21.5t19 21.5t14 17q65 74 100 129q13 21 33 62t37 72t40.5 63t55 49.5 t69.5 17.5q125 0 206.5 -67t81.5 -189q0 -68 -22 -128h374q104 0 180 -76t76 -179z" />
<glyph unicode="&#xf0a5;" horiz-adv-x="1792" d="M1376 128h32v640h-32q-35 0 -67.5 12t-62.5 37t-50 46t-49 54q-2 3 -3.5 4.5t-4 4.5t-4.5 5q-72 81 -112 145q-14 22 -38 68q-1 3 -10.5 22.5t-18.5 36t-20 35.5t-21.5 30.5t-18.5 11.5q-71 0 -115.5 -30.5t-44.5 -97.5q0 -43 15 -84.5t33 -68t33 -55t15 -48.5h-576 q-50 0 -89 -38.5t-39 -89.5q0 -52 38 -90t90 -38h331q-15 -17 -25 -47.5t-10 -55.5q0 -69 53 -119q-18 -32 -18 -69t17.5 -73.5t47.5 -52.5q-4 -24 -4 -56q0 -85 48.5 -126t135.5 -41q84 0 183 32t194 64t167 32zM1664 192q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45 t45 -19t45 19t19 45zM1792 768v-640q0 -53 -37.5 -90.5t-90.5 -37.5h-288q-59 0 -223 -59q-190 -69 -317 -69q-142 0 -230 77.5t-87 217.5l1 5q-61 76 -61 178q0 22 3 43q-33 57 -37 119h-169q-105 0 -180.5 76t-75.5 181q0 103 76 179t180 76h374q-22 60 -22 128 q0 122 81.5 189t206.5 67q38 0 69.5 -17.5t55 -49.5t40.5 -63t37 -72t33 -62q35 -55 100 -129q2 -3 14 -17t19 -21.5t20.5 -21.5t24 -22.5t22.5 -18t23.5 -14t21.5 -4.5h288q53 0 90.5 -37.5t37.5 -90.5z" />
<glyph unicode="&#xf0a6;" d="M1280 -64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 700q0 189 -167 189q-26 0 -56 -5q-16 30 -52.5 47.5t-73.5 17.5t-69 -18q-50 53 -119 53q-25 0 -55.5 -10t-47.5 -25v331q0 52 -38 90t-90 38q-51 0 -89.5 -39t-38.5 -89v-576 q-20 0 -48.5 15t-55 33t-68 33t-84.5 15q-67 0 -97.5 -44.5t-30.5 -115.5q0 -24 139 -90q44 -24 65 -37q64 -40 145 -112q81 -71 106 -101q57 -69 57 -140v-32h640v32q0 72 32 167t64 193.5t32 179.5zM1536 705q0 -133 -69 -322q-59 -164 -59 -223v-288q0 -53 -37.5 -90.5 t-90.5 -37.5h-640q-53 0 -90.5 37.5t-37.5 90.5v288q0 10 -4.5 21.5t-14 23.5t-18 22.5t-22.5 24t-21.5 20.5t-21.5 19t-17 14q-74 65 -129 100q-21 13 -62 33t-72 37t-63 40.5t-49.5 55t-17.5 69.5q0 125 67 206.5t189 81.5q68 0 128 -22v374q0 104 76 180t179 76 q105 0 181 -75.5t76 -180.5v-169q62 -4 119 -37q21 3 43 3q101 0 178 -60q139 1 219.5 -85t80.5 -227z" />
<glyph unicode="&#xf0a7;" d="M1408 576q0 84 -32 183t-64 194t-32 167v32h-640v-32q0 -35 -12 -67.5t-37 -62.5t-46 -50t-54 -49q-9 -8 -14 -12q-81 -72 -145 -112q-22 -14 -68 -38q-3 -1 -22.5 -10.5t-36 -18.5t-35.5 -20t-30.5 -21.5t-11.5 -18.5q0 -71 30.5 -115.5t97.5 -44.5q43 0 84.5 15t68 33 t55 33t48.5 15v-576q0 -50 38.5 -89t89.5 -39q52 0 90 38t38 90v331q46 -35 103 -35q69 0 119 53q32 -18 69 -18t73.5 17.5t52.5 47.5q24 -4 56 -4q85 0 126 48.5t41 135.5zM1280 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1536 580 q0 -142 -77.5 -230t-217.5 -87l-5 1q-76 -61 -178 -61q-22 0 -43 3q-54 -30 -119 -37v-169q0 -105 -76 -180.5t-181 -75.5q-103 0 -179 76t-76 180v374q-54 -22 -128 -22q-121 0 -188.5 81.5t-67.5 206.5q0 38 17.5 69.5t49.5 55t63 40.5t72 37t62 33q55 35 129 100 q3 2 17 14t21.5 19t21.5 20.5t22.5 24t18 22.5t14 23.5t4.5 21.5v288q0 53 37.5 90.5t90.5 37.5h640q53 0 90.5 -37.5t37.5 -90.5v-288q0 -59 59 -223q69 -190 69 -317z" />
<glyph unicode="&#xf0a8;" d="M1280 576v128q0 26 -19 45t-45 19h-502l189 189q19 19 19 45t-19 45l-91 91q-18 18 -45 18t-45 -18l-362 -362l-91 -91q-18 -18 -18 -45t18 -45l91 -91l362 -362q18 -18 45 -18t45 18l91 91q18 18 18 45t-18 45l-189 189h502q26 0 45 19t19 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0a9;" d="M1285 640q0 27 -18 45l-91 91l-362 362q-18 18 -45 18t-45 -18l-91 -91q-18 -18 -18 -45t18 -45l189 -189h-502q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h502l-189 -189q-19 -19 -19 -45t19 -45l91 -91q18 -18 45 -18t45 18l362 362l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0aa;" d="M1284 641q0 27 -18 45l-362 362l-91 91q-18 18 -45 18t-45 -18l-91 -91l-362 -362q-18 -18 -18 -45t18 -45l91 -91q18 -18 45 -18t45 18l189 189v-502q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v502l189 -189q19 -19 45 -19t45 19l91 91q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0ab;" d="M1284 639q0 27 -18 45l-91 91q-18 18 -45 18t-45 -18l-189 -189v502q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-502l-189 189q-19 19 -45 19t-45 -19l-91 -91q-18 -18 -18 -45t18 -45l362 -362l91 -91q18 -18 45 -18t45 18l91 91l362 362q18 18 18 45zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0ac;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1042 887q-2 -1 -9.5 -9.5t-13.5 -9.5q2 0 4.5 5t5 11t3.5 7q6 7 22 15q14 6 52 12q34 8 51 -11 q-2 2 9.5 13t14.5 12q3 2 15 4.5t15 7.5l2 22q-12 -1 -17.5 7t-6.5 21q0 -2 -6 -8q0 7 -4.5 8t-11.5 -1t-9 -1q-10 3 -15 7.5t-8 16.5t-4 15q-2 5 -9.5 10.5t-9.5 10.5q-1 2 -2.5 5.5t-3 6.5t-4 5.5t-5.5 2.5t-7 -5t-7.5 -10t-4.5 -5q-3 2 -6 1.5t-4.5 -1t-4.5 -3t-5 -3.5 q-3 -2 -8.5 -3t-8.5 -2q15 5 -1 11q-10 4 -16 3q9 4 7.5 12t-8.5 14h5q-1 4 -8.5 8.5t-17.5 8.5t-13 6q-8 5 -34 9.5t-33 0.5q-5 -6 -4.5 -10.5t4 -14t3.5 -12.5q1 -6 -5.5 -13t-6.5 -12q0 -7 14 -15.5t10 -21.5q-3 -8 -16 -16t-16 -12q-5 -8 -1.5 -18.5t10.5 -16.5 q2 -2 1.5 -4t-3.5 -4.5t-5.5 -4t-6.5 -3.5l-3 -2q-11 -5 -20.5 6t-13.5 26q-7 25 -16 30q-23 8 -29 -1q-5 13 -41 26q-25 9 -58 4q6 1 0 15q-7 15 -19 12q3 6 4 17.5t1 13.5q3 13 12 23q1 1 7 8.5t9.5 13.5t0.5 6q35 -4 50 11q5 5 11.5 17t10.5 17q9 6 14 5.5t14.5 -5.5 t14.5 -5q14 -1 15.5 11t-7.5 20q12 -1 3 17q-5 7 -8 9q-12 4 -27 -5q-8 -4 2 -8q-1 1 -9.5 -10.5t-16.5 -17.5t-16 5q-1 1 -5.5 13.5t-9.5 13.5q-8 0 -16 -15q3 8 -11 15t-24 8q19 12 -8 27q-7 4 -20.5 5t-19.5 -4q-5 -7 -5.5 -11.5t5 -8t10.5 -5.5t11.5 -4t8.5 -3 q14 -10 8 -14q-2 -1 -8.5 -3.5t-11.5 -4.5t-6 -4q-3 -4 0 -14t-2 -14q-5 5 -9 17.5t-7 16.5q7 -9 -25 -6l-10 1q-4 0 -16 -2t-20.5 -1t-13.5 8q-4 8 0 20q1 4 4 2q-4 3 -11 9.5t-10 8.5q-46 -15 -94 -41q6 -1 12 1q5 2 13 6.5t10 5.5q34 14 42 7l5 5q14 -16 20 -25 q-7 4 -30 1q-20 -6 -22 -12q7 -12 5 -18q-4 3 -11.5 10t-14.5 11t-15 5q-16 0 -22 -1q-146 -80 -235 -222q7 -7 12 -8q4 -1 5 -9t2.5 -11t11.5 3q9 -8 3 -19q1 1 44 -27q19 -17 21 -21q3 -11 -10 -18q-1 2 -9 9t-9 4q-3 -5 0.5 -18.5t10.5 -12.5q-7 0 -9.5 -16t-2.5 -35.5 t-1 -23.5l2 -1q-3 -12 5.5 -34.5t21.5 -19.5q-13 -3 20 -43q6 -8 8 -9q3 -2 12 -7.5t15 -10t10 -10.5q4 -5 10 -22.5t14 -23.5q-2 -6 9.5 -20t10.5 -23q-1 0 -2.5 -1t-2.5 -1q3 -7 15.5 -14t15.5 -13q1 -3 2 -10t3 -11t8 -2q2 20 -24 62q-15 25 -17 29q-3 5 -5.5 15.5 t-4.5 14.5q2 0 6 -1.5t8.5 -3.5t7.5 -4t2 -3q-3 -7 2 -17.5t12 -18.5t17 -19t12 -13q6 -6 14 -19.5t0 -13.5q9 0 20 -10t17 -20q5 -8 8 -26t5 -24q2 -7 8.5 -13.5t12.5 -9.5l16 -8t13 -7q5 -2 18.5 -10.5t21.5 -11.5q10 -4 16 -4t14.5 2.5t13.5 3.5q15 2 29 -15t21 -21 q36 -19 55 -11q-2 -1 0.5 -7.5t8 -15.5t9 -14.5t5.5 -8.5q5 -6 18 -15t18 -15q6 4 7 9q-3 -8 7 -20t18 -10q14 3 14 32q-31 -15 -49 18q0 1 -2.5 5.5t-4 8.5t-2.5 8.5t0 7.5t5 3q9 0 10 3.5t-2 12.5t-4 13q-1 8 -11 20t-12 15q-5 -9 -16 -8t-16 9q0 -1 -1.5 -5.5t-1.5 -6.5 q-13 0 -15 1q1 3 2.5 17.5t3.5 22.5q1 4 5.5 12t7.5 14.5t4 12.5t-4.5 9.5t-17.5 2.5q-19 -1 -26 -20q-1 -3 -3 -10.5t-5 -11.5t-9 -7q-7 -3 -24 -2t-24 5q-13 8 -22.5 29t-9.5 37q0 10 2.5 26.5t3 25t-5.5 24.5q3 2 9 9.5t10 10.5q2 1 4.5 1.5t4.5 0t4 1.5t3 6q-1 1 -4 3 q-3 3 -4 3q7 -3 28.5 1.5t27.5 -1.5q15 -11 22 2q0 1 -2.5 9.5t-0.5 13.5q5 -27 29 -9q3 -3 15.5 -5t17.5 -5q3 -2 7 -5.5t5.5 -4.5t5 0.5t8.5 6.5q10 -14 12 -24q11 -40 19 -44q7 -3 11 -2t4.5 9.5t0 14t-1.5 12.5l-1 8v18l-1 8q-15 3 -18.5 12t1.5 18.5t15 18.5q1 1 8 3.5 t15.5 6.5t12.5 8q21 19 15 35q7 0 11 9q-1 0 -5 3t-7.5 5t-4.5 2q9 5 2 16q5 3 7.5 11t7.5 10q9 -12 21 -2q7 8 1 16q5 7 20.5 10.5t18.5 9.5q7 -2 8 2t1 12t3 12q4 5 15 9t13 5l17 11q3 4 0 4q18 -2 31 11q10 11 -6 20q3 6 -3 9.5t-15 5.5q3 1 11.5 0.5t10.5 1.5 q15 10 -7 16q-17 5 -43 -12zM879 10q206 36 351 189q-3 3 -12.5 4.5t-12.5 3.5q-18 7 -24 8q1 7 -2.5 13t-8 9t-12.5 8t-11 7q-2 2 -7 6t-7 5.5t-7.5 4.5t-8.5 2t-10 -1l-3 -1q-3 -1 -5.5 -2.5t-5.5 -3t-4 -3t0 -2.5q-21 17 -36 22q-5 1 -11 5.5t-10.5 7t-10 1.5t-11.5 -7 q-5 -5 -6 -15t-2 -13q-7 5 0 17.5t2 18.5q-3 6 -10.5 4.5t-12 -4.5t-11.5 -8.5t-9 -6.5t-8.5 -5.5t-8.5 -7.5q-3 -4 -6 -12t-5 -11q-2 4 -11.5 6.5t-9.5 5.5q2 -10 4 -35t5 -38q7 -31 -12 -48q-27 -25 -29 -40q-4 -22 12 -26q0 -7 -8 -20.5t-7 -21.5q0 -6 2 -16z" />
<glyph unicode="&#xf0ad;" horiz-adv-x="1664" d="M384 64q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1028 484l-682 -682q-37 -37 -90 -37q-52 0 -91 37l-106 108q-38 36 -38 90q0 53 38 91l681 681q39 -98 114.5 -173.5t173.5 -114.5zM1662 919q0 -39 -23 -106q-47 -134 -164.5 -217.5 t-258.5 -83.5q-185 0 -316.5 131.5t-131.5 316.5t131.5 316.5t316.5 131.5q58 0 121.5 -16.5t107.5 -46.5q16 -11 16 -28t-16 -28l-293 -169v-224l193 -107q5 3 79 48.5t135.5 81t70.5 35.5q15 0 23.5 -10t8.5 -25z" />
<glyph unicode="&#xf0ae;" horiz-adv-x="1792" d="M1024 128h640v128h-640v-128zM640 640h1024v128h-1024v-128zM1280 1152h384v128h-384v-128zM1792 320v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 832v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19 t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45zM1792 1344v-256q0 -26 -19 -45t-45 -19h-1664q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1664q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0b0;" horiz-adv-x="1408" d="M1403 1241q17 -41 -14 -70l-493 -493v-742q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-256 256q-19 19 -19 45v486l-493 493q-31 29 -14 70q17 39 59 39h1280q42 0 59 -39z" />
<glyph unicode="&#xf0b1;" horiz-adv-x="1792" d="M640 1280h512v128h-512v-128zM1792 640v-480q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v480h672v-160q0 -26 19 -45t45 -19h320q26 0 45 19t19 45v160h672zM1024 640v-128h-256v128h256zM1792 1120v-384h-1792v384q0 66 47 113t113 47h352v160q0 40 28 68 t68 28h576q40 0 68 -28t28 -68v-160h352q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf0b2;" d="M1283 995l-355 -355l355 -355l144 144q29 31 70 14q39 -17 39 -59v-448q0 -26 -19 -45t-45 -19h-448q-42 0 -59 40q-17 39 14 69l144 144l-355 355l-355 -355l144 -144q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l144 -144 l355 355l-355 355l-144 -144q-19 -19 -45 -19q-12 0 -24 5q-40 17 -40 59v448q0 26 19 45t45 19h448q42 0 59 -40q17 -39 -14 -69l-144 -144l355 -355l355 355l-144 144q-31 30 -14 69q17 40 59 40h448q26 0 45 -19t19 -45v-448q0 -42 -39 -59q-13 -5 -25 -5q-26 0 -45 19z " />
<glyph unicode="&#xf0c0;" horiz-adv-x="1920" d="M593 640q-162 -5 -265 -128h-134q-82 0 -138 40.5t-56 118.5q0 353 124 353q6 0 43.5 -21t97.5 -42.5t119 -21.5q67 0 133 23q-5 -37 -5 -66q0 -139 81 -256zM1664 3q0 -120 -73 -189.5t-194 -69.5h-874q-121 0 -194 69.5t-73 189.5q0 53 3.5 103.5t14 109t26.5 108.5 t43 97.5t62 81t85.5 53.5t111.5 20q10 0 43 -21.5t73 -48t107 -48t135 -21.5t135 21.5t107 48t73 48t43 21.5q61 0 111.5 -20t85.5 -53.5t62 -81t43 -97.5t26.5 -108.5t14 -109t3.5 -103.5zM640 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75 t75 -181zM1344 896q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5t271.5 -112.5t112.5 -271.5zM1920 671q0 -78 -56 -118.5t-138 -40.5h-134q-103 123 -265 128q81 117 81 256q0 29 -5 66q66 -23 133 -23q59 0 119 21.5t97.5 42.5 t43.5 21q124 0 124 -353zM1792 1280q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181z" />
<glyph unicode="&#xf0c1;" horiz-adv-x="1664" d="M1456 320q0 40 -28 68l-208 208q-28 28 -68 28q-42 0 -72 -32q3 -3 19 -18.5t21.5 -21.5t15 -19t13 -25.5t3.5 -27.5q0 -40 -28 -68t-68 -28q-15 0 -27.5 3.5t-25.5 13t-19 15t-21.5 21.5t-18.5 19q-33 -31 -33 -73q0 -40 28 -68l206 -207q27 -27 68 -27q40 0 68 26 l147 146q28 28 28 67zM753 1025q0 40 -28 68l-206 207q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l208 -208q27 -27 68 -27q42 0 72 31q-3 3 -19 18.5t-21.5 21.5t-15 19t-13 25.5t-3.5 27.5q0 40 28 68t68 28q15 0 27.5 -3.5t25.5 -13t19 -15 t21.5 -21.5t18.5 -19q33 31 33 73zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-206 207q-83 83 -83 203q0 123 88 209l-88 88q-86 -88 -208 -88q-120 0 -204 84l-208 208q-84 84 -84 204t85 203l147 146q83 83 203 83q121 0 204 -85l206 -207 q83 -83 83 -203q0 -123 -88 -209l88 -88q86 88 208 88q120 0 204 -84l208 -208q84 -84 84 -204z" />
<glyph unicode="&#xf0c2;" horiz-adv-x="1920" d="M1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088q-185 0 -316.5 131.5t-131.5 316.5q0 132 71 241.5t187 163.5q-2 28 -2 43q0 212 150 362t362 150q158 0 286.5 -88t187.5 -230q70 62 166 62q106 0 181 -75t75 -181q0 -75 -41 -138q129 -30 213 -134.5t84 -239.5z " />
<glyph unicode="&#xf0c3;" horiz-adv-x="1664" d="M1527 88q56 -89 21.5 -152.5t-140.5 -63.5h-1152q-106 0 -140.5 63.5t21.5 152.5l503 793v399h-64q-26 0 -45 19t-19 45t19 45t45 19h512q26 0 45 -19t19 -45t-19 -45t-45 -19h-64v-399zM748 813l-272 -429h712l-272 429l-20 31v37v399h-128v-399v-37z" />
<glyph unicode="&#xf0c4;" horiz-adv-x="1792" d="M960 640q26 0 45 -19t19 -45t-19 -45t-45 -19t-45 19t-19 45t19 45t45 19zM1260 576l507 -398q28 -20 25 -56q-5 -35 -35 -51l-128 -64q-13 -7 -29 -7q-17 0 -31 8l-690 387l-110 -66q-8 -4 -12 -5q14 -49 10 -97q-7 -77 -56 -147.5t-132 -123.5q-132 -84 -277 -84 q-136 0 -222 78q-90 84 -79 207q7 76 56 147t131 124q132 84 278 84q83 0 151 -31q9 13 22 22l122 73l-122 73q-13 9 -22 22q-68 -31 -151 -31q-146 0 -278 84q-82 53 -131 124t-56 147q-5 59 15.5 113t63.5 93q85 79 222 79q145 0 277 -84q83 -52 132 -123t56 -148 q4 -48 -10 -97q4 -1 12 -5l110 -66l690 387q14 8 31 8q16 0 29 -7l128 -64q30 -16 35 -51q3 -36 -25 -56zM579 836q46 42 21 108t-106 117q-92 59 -192 59q-74 0 -113 -36q-46 -42 -21 -108t106 -117q92 -59 192 -59q74 0 113 36zM494 91q81 51 106 117t-21 108 q-39 36 -113 36q-100 0 -192 -59q-81 -51 -106 -117t21 -108q39 -36 113 -36q100 0 192 59zM672 704l96 -58v11q0 36 33 56l14 8l-79 47l-26 -26q-3 -3 -10 -11t-12 -12q-2 -2 -4 -3.5t-3 -2.5zM896 480l96 -32l736 576l-128 64l-768 -431v-113l-160 -96l9 -8q2 -2 7 -6 q4 -4 11 -12t11 -12l26 -26zM1600 64l128 64l-520 408l-177 -138q-2 -3 -13 -7z" />
<glyph unicode="&#xf0c5;" horiz-adv-x="1792" d="M1696 1152q40 0 68 -28t28 -68v-1216q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v288h-544q-40 0 -68 28t-28 68v672q0 40 20 88t48 76l408 408q28 28 76 48t88 20h416q40 0 68 -28t28 -68v-328q68 40 128 40h416zM1152 939l-299 -299h299v299zM512 1323l-299 -299 h299v299zM708 676l316 316v416h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h512v256q0 40 20 88t48 76zM1664 -128v1152h-384v-416q0 -40 -28 -68t-68 -28h-416v-640h896z" />
<glyph unicode="&#xf0c6;" horiz-adv-x="1408" d="M1404 151q0 -117 -79 -196t-196 -79q-135 0 -235 100l-777 776q-113 115 -113 271q0 159 110 270t269 111q158 0 273 -113l605 -606q10 -10 10 -22q0 -16 -30.5 -46.5t-46.5 -30.5q-13 0 -23 10l-606 607q-79 77 -181 77q-106 0 -179 -75t-73 -181q0 -105 76 -181 l776 -777q63 -63 145 -63q64 0 106 42t42 106q0 82 -63 145l-581 581q-26 24 -60 24q-29 0 -48 -19t-19 -48q0 -32 25 -59l410 -410q10 -10 10 -22q0 -16 -31 -47t-47 -31q-12 0 -22 10l-410 410q-63 61 -63 149q0 82 57 139t139 57q88 0 149 -63l581 -581q100 -98 100 -235 z" />
<glyph unicode="&#xf0c7;" d="M384 0h768v384h-768v-384zM1280 0h128v896q0 14 -10 38.5t-20 34.5l-281 281q-10 10 -34 20t-39 10v-416q0 -40 -28 -68t-68 -28h-576q-40 0 -68 28t-28 68v416h-128v-1280h128v416q0 40 28 68t68 28h832q40 0 68 -28t28 -68v-416zM896 928v320q0 13 -9.5 22.5t-22.5 9.5 h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5zM1536 896v-928q0 -40 -28 -68t-68 -28h-1344q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h928q40 0 88 -20t76 -48l280 -280q28 -28 48 -76t20 -88z" />
<glyph unicode="&#xf0c8;" d="M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf0c9;" d="M1536 192v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 704v-128q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1536 1216v-128q0 -26 -19 -45 t-45 -19h-1408q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0ca;" horiz-adv-x="1792" d="M384 128q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM384 640q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 224v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5 t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1152q0 -80 -56 -136t-136 -56t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z M1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf0cb;" horiz-adv-x="1792" d="M381 -84q0 -80 -54.5 -126t-135.5 -46q-106 0 -172 66l57 88q49 -45 106 -45q29 0 50.5 14.5t21.5 42.5q0 64 -105 56l-26 56q8 10 32.5 43.5t42.5 54t37 38.5v1q-16 0 -48.5 -1t-48.5 -1v-53h-106v152h333v-88l-95 -115q51 -12 81 -49t30 -88zM383 543v-159h-362 q-6 36 -6 54q0 51 23.5 93t56.5 68t66 47.5t56.5 43.5t23.5 45q0 25 -14.5 38.5t-39.5 13.5q-46 0 -81 -58l-85 59q24 51 71.5 79.5t105.5 28.5q73 0 123 -41.5t50 -112.5q0 -50 -34 -91.5t-75 -64.5t-75.5 -50.5t-35.5 -52.5h127v60h105zM1792 224v-192q0 -13 -9.5 -22.5 t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM384 1123v-99h-335v99h107q0 41 0.5 122t0.5 121v12h-2q-8 -17 -50 -54l-71 76l136 127h106v-404h108zM1792 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5 t-9.5 22.5v192q0 14 9 23t23 9h1216q13 0 22.5 -9.5t9.5 -22.5zM1792 1248v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1216q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1216q13 0 22.5 -9.5t9.5 -22.5z" />
<glyph unicode="&#xf0cc;" horiz-adv-x="1792" d="M1760 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-1728q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h1728zM483 704q-28 35 -51 80q-48 97 -48 188q0 181 134 309q133 127 393 127q50 0 167 -19q66 -12 177 -48q10 -38 21 -118q14 -123 14 -183q0 -18 -5 -45l-12 -3l-84 6 l-14 2q-50 149 -103 205q-88 91 -210 91q-114 0 -182 -59q-67 -58 -67 -146q0 -73 66 -140t279 -129q69 -20 173 -66q58 -28 95 -52h-743zM990 448h411q7 -39 7 -92q0 -111 -41 -212q-23 -55 -71 -104q-37 -35 -109 -81q-80 -48 -153 -66q-80 -21 -203 -21q-114 0 -195 23 l-140 40q-57 16 -72 28q-8 8 -8 22v13q0 108 -2 156q-1 30 0 68l2 37v44l102 2q15 -34 30 -71t22.5 -56t12.5 -27q35 -57 80 -94q43 -36 105 -57q59 -22 132 -22q64 0 139 27q77 26 122 86q47 61 47 129q0 84 -81 157q-34 29 -137 71z" />
<glyph unicode="&#xf0cd;" d="M48 1313q-37 2 -45 4l-3 88q13 1 40 1q60 0 112 -4q132 -7 166 -7q86 0 168 3q116 4 146 5q56 0 86 2l-1 -14l2 -64v-9q-60 -9 -124 -9q-60 0 -79 -25q-13 -14 -13 -132q0 -13 0.5 -32.5t0.5 -25.5l1 -229l14 -280q6 -124 51 -202q35 -59 96 -92q88 -47 177 -47 q104 0 191 28q56 18 99 51q48 36 65 64q36 56 53 114q21 73 21 229q0 79 -3.5 128t-11 122.5t-13.5 159.5l-4 59q-5 67 -24 88q-34 35 -77 34l-100 -2l-14 3l2 86h84l205 -10q76 -3 196 10l18 -2q6 -38 6 -51q0 -7 -4 -31q-45 -12 -84 -13q-73 -11 -79 -17q-15 -15 -15 -41 q0 -7 1.5 -27t1.5 -31q8 -19 22 -396q6 -195 -15 -304q-15 -76 -41 -122q-38 -65 -112 -123q-75 -57 -182 -89q-109 -33 -255 -33q-167 0 -284 46q-119 47 -179 122q-61 76 -83 195q-16 80 -16 237v333q0 188 -17 213q-25 36 -147 39zM1536 -96v64q0 14 -9 23t-23 9h-1472 q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h1472q14 0 23 9t9 23z" />
<glyph unicode="&#xf0ce;" horiz-adv-x="1664" d="M512 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 160v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23 v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM512 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 160v192 q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1024 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 544v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192 q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1536 928v192q0 14 -9 23t-23 9h-320q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h320q14 0 23 9t9 23zM1664 1248v-1088q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1344q66 0 113 -47t47 -113 z" />
<glyph unicode="&#xf0d0;" horiz-adv-x="1664" d="M1190 955l293 293l-107 107l-293 -293zM1637 1248q0 -27 -18 -45l-1286 -1286q-18 -18 -45 -18t-45 18l-198 198q-18 18 -18 45t18 45l1286 1286q18 18 45 18t45 -18l198 -198q18 -18 18 -45zM286 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM636 1276 l196 -60l-196 -60l-60 -196l-60 196l-196 60l196 60l60 196zM1566 798l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98zM926 1438l98 -30l-98 -30l-30 -98l-30 98l-98 30l98 30l30 98z" />
<glyph unicode="&#xf0d1;" horiz-adv-x="1792" d="M640 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM256 640h384v256h-158q-13 0 -22 -9l-195 -195q-9 -9 -9 -22v-30zM1536 128q0 52 -38 90t-90 38t-90 -38t-38 -90t38 -90t90 -38t90 38t38 90zM1792 1216v-1024q0 -15 -4 -26.5t-13.5 -18.5 t-16.5 -11.5t-23.5 -6t-22.5 -2t-25.5 0t-22.5 0.5q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-64q-3 0 -22.5 -0.5t-25.5 0t-22.5 2t-23.5 6t-16.5 11.5t-13.5 18.5t-4 26.5q0 26 19 45t45 19v320q0 8 -0.5 35t0 38 t2.5 34.5t6.5 37t14 30.5t22.5 30l198 198q19 19 50.5 32t58.5 13h160v192q0 26 19 45t45 19h1024q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0d2;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103q-111 0 -218 32q59 93 78 164q9 34 54 211q20 -39 73 -67.5t114 -28.5q121 0 216 68.5t147 188.5t52 270q0 114 -59.5 214t-172.5 163t-255 63q-105 0 -196 -29t-154.5 -77t-109 -110.5t-67 -129.5t-21.5 -134 q0 -104 40 -183t117 -111q30 -12 38 20q2 7 8 31t8 30q6 23 -11 43q-51 61 -51 151q0 151 104.5 259.5t273.5 108.5q151 0 235.5 -82t84.5 -213q0 -170 -68.5 -289t-175.5 -119q-61 0 -98 43.5t-23 104.5q8 35 26.5 93.5t30 103t11.5 75.5q0 50 -27 83t-77 33 q-62 0 -105 -57t-43 -142q0 -73 25 -122l-99 -418q-17 -70 -13 -177q-206 91 -333 281t-127 423q0 209 103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf0d3;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-725q85 122 108 210q9 34 53 209q21 -39 73.5 -67t112.5 -28q181 0 295.5 147.5t114.5 373.5q0 84 -35 162.5t-96.5 139t-152.5 97t-197 36.5q-104 0 -194.5 -28.5t-153 -76.5 t-107.5 -109.5t-66.5 -128t-21.5 -132.5q0 -102 39.5 -180t116.5 -110q13 -5 23.5 0t14.5 19q10 44 15 61q6 23 -11 42q-50 62 -50 150q0 150 103.5 256.5t270.5 106.5q149 0 232.5 -81t83.5 -210q0 -168 -67.5 -286t-173.5 -118q-60 0 -97 43.5t-23 103.5q8 34 26.5 92.5 t29.5 102t11 74.5q0 49 -26.5 81.5t-75.5 32.5q-61 0 -103.5 -56.5t-42.5 -139.5q0 -72 24 -121l-98 -414q-24 -100 -7 -254h-183q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960z" />
<glyph unicode="&#xf0d4;" d="M678 -57q0 -38 -10 -71h-380q-95 0 -171.5 56.5t-103.5 147.5q24 45 69 77.5t100 49.5t107 24t107 7q32 0 49 -2q6 -4 30.5 -21t33 -23t31 -23t32 -25.5t27.5 -25.5t26.5 -29.5t21 -30.5t17.5 -34.5t9.5 -36t4.5 -40.5zM385 294q-234 -7 -385 -85v433q103 -118 273 -118 q32 0 70 5q-21 -61 -21 -86q0 -67 63 -149zM558 805q0 -100 -43.5 -160.5t-140.5 -60.5q-51 0 -97 26t-78 67.5t-56 93.5t-35.5 104t-11.5 99q0 96 51.5 165t144.5 69q66 0 119 -41t84 -104t47 -130t16 -128zM1536 896v-736q0 -119 -84.5 -203.5t-203.5 -84.5h-468 q39 73 39 157q0 66 -22 122.5t-55.5 93t-72 71t-72 59.5t-55.5 54.5t-22 59.5q0 36 23 68t56 61.5t65.5 64.5t55.5 93t23 131t-26.5 145.5t-75.5 118.5q-6 6 -14 11t-12.5 7.5t-10 9.5t-10.5 17h135l135 64h-437q-138 0 -244.5 -38.5t-182.5 -133.5q0 126 81 213t207 87h960 q119 0 203.5 -84.5t84.5 -203.5v-96h-256v256h-128v-256h-256v-128h256v-256h128v256h256z" />
<glyph unicode="&#xf0d5;" horiz-adv-x="1664" d="M876 71q0 21 -4.5 40.5t-9.5 36t-17.5 34.5t-21 30.5t-26.5 29.5t-27.5 25.5t-32 25.5t-31 23t-33 23t-30.5 21q-17 2 -50 2q-54 0 -106 -7t-108 -25t-98 -46t-69 -75t-27 -107q0 -68 35.5 -121.5t93 -84t120.5 -45.5t127 -15q59 0 112.5 12.5t100.5 39t74.5 73.5 t27.5 110zM756 933q0 60 -16.5 127.5t-47 130.5t-84 104t-119.5 41q-93 0 -144 -69t-51 -165q0 -47 11.5 -99t35.5 -104t56 -93.5t78 -67.5t97 -26q97 0 140.5 60.5t43.5 160.5zM625 1408h437l-135 -79h-135q71 -45 110 -126t39 -169q0 -74 -23 -131.5t-56 -92.5t-66 -64.5 t-56 -61t-23 -67.5q0 -26 16.5 -51t43 -48t58.5 -48t64 -55.5t58.5 -66t43 -85t16.5 -106.5q0 -160 -140 -282q-152 -131 -420 -131q-59 0 -119.5 10t-122 33.5t-108.5 58t-77 89t-30 121.5q0 61 37 135q32 64 96 110.5t145 71t155 36t150 13.5q-64 83 -64 149q0 12 2 23.5 t5 19.5t8 21.5t7 21.5q-40 -5 -70 -5q-149 0 -255.5 98t-106.5 246q0 140 95 250.5t234 141.5q94 20 187 20zM1664 1152v-128h-256v-256h-128v256h-256v128h256v256h128v-256h256z" />
<glyph unicode="&#xf0d6;" horiz-adv-x="1920" d="M768 384h384v96h-128v448h-114l-148 -137l77 -80q42 37 55 57h2v-288h-128v-96zM1280 640q0 -70 -21 -142t-59.5 -134t-101.5 -101t-138 -39t-138 39t-101.5 101t-59.5 134t-21 142t21 142t59.5 134t101.5 101t138 39t138 -39t101.5 -101t59.5 -134t21 -142zM1792 384 v512q-106 0 -181 75t-75 181h-1152q0 -106 -75 -181t-181 -75v-512q106 0 181 -75t75 -181h1152q0 106 75 181t181 75zM1920 1216v-1152q0 -26 -19 -45t-45 -19h-1792q-26 0 -45 19t-19 45v1152q0 26 19 45t45 19h1792q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0d7;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0d8;" horiz-adv-x="1024" d="M1024 320q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
<glyph unicode="&#xf0d9;" horiz-adv-x="640" d="M640 1088v-896q0 -26 -19 -45t-45 -19t-45 19l-448 448q-19 19 -19 45t19 45l448 448q19 19 45 19t45 -19t19 -45z" />
<glyph unicode="&#xf0da;" horiz-adv-x="640" d="M576 640q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19t-19 45v896q0 26 19 45t45 19t45 -19l448 -448q19 -19 19 -45z" />
<glyph unicode="&#xf0db;" horiz-adv-x="1664" d="M160 0h608v1152h-640v-1120q0 -13 9.5 -22.5t22.5 -9.5zM1536 32v1120h-640v-1152h608q13 0 22.5 9.5t9.5 22.5zM1664 1248v-1216q0 -66 -47 -113t-113 -47h-1344q-66 0 -113 47t-47 113v1216q0 66 47 113t113 47h1344q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf0dc;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45zM1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
<glyph unicode="&#xf0dd;" horiz-adv-x="1024" d="M1024 448q0 -26 -19 -45l-448 -448q-19 -19 -45 -19t-45 19l-448 448q-19 19 -19 45t19 45t45 19h896q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0de;" horiz-adv-x="1024" d="M1024 832q0 -26 -19 -45t-45 -19h-896q-26 0 -45 19t-19 45t19 45l448 448q19 19 45 19t45 -19l448 -448q19 -19 19 -45z" />
<glyph unicode="&#xf0e0;" horiz-adv-x="1792" d="M1792 826v-794q0 -66 -47 -113t-113 -47h-1472q-66 0 -113 47t-47 113v794q44 -49 101 -87q362 -246 497 -345q57 -42 92.5 -65.5t94.5 -48t110 -24.5h1h1q51 0 110 24.5t94.5 48t92.5 65.5q170 123 498 345q57 39 100 87zM1792 1120q0 -79 -49 -151t-122 -123 q-376 -261 -468 -325q-10 -7 -42.5 -30.5t-54 -38t-52 -32.5t-57.5 -27t-50 -9h-1h-1q-23 0 -50 9t-57.5 27t-52 32.5t-54 38t-42.5 30.5q-91 64 -262 182.5t-205 142.5q-62 42 -117 115.5t-55 136.5q0 78 41.5 130t118.5 52h1472q65 0 112.5 -47t47.5 -113z" />
<glyph unicode="&#xf0e1;" d="M349 911v-991h-330v991h330zM370 1217q1 -73 -50.5 -122t-135.5 -49h-2q-82 0 -132 49t-50 122q0 74 51.5 122.5t134.5 48.5t133 -48.5t51 -122.5zM1536 488v-568h-329v530q0 105 -40.5 164.5t-126.5 59.5q-63 0 -105.5 -34.5t-63.5 -85.5q-11 -30 -11 -81v-553h-329 q2 399 2 647t-1 296l-1 48h329v-144h-2q20 32 41 56t56.5 52t87 43.5t114.5 15.5q171 0 275 -113.5t104 -332.5z" />
<glyph unicode="&#xf0e2;" d="M1536 640q0 -156 -61 -298t-164 -245t-245 -164t-298 -61q-172 0 -327 72.5t-264 204.5q-7 10 -6.5 22.5t8.5 20.5l137 138q10 9 25 9q16 -2 23 -12q73 -95 179 -147t225 -52q104 0 198.5 40.5t163.5 109.5t109.5 163.5t40.5 198.5t-40.5 198.5t-109.5 163.5 t-163.5 109.5t-198.5 40.5q-98 0 -188 -35.5t-160 -101.5l137 -138q31 -30 14 -69q-17 -40 -59 -40h-448q-26 0 -45 19t-19 45v448q0 42 40 59q39 17 69 -14l130 -129q107 101 244.5 156.5t284.5 55.5q156 0 298 -61t245 -164t164 -245t61 -298z" />
<glyph unicode="&#xf0e3;" horiz-adv-x="1792" d="M1771 0q0 -53 -37 -90l-107 -108q-39 -37 -91 -37q-53 0 -90 37l-363 364q-38 36 -38 90q0 53 43 96l-256 256l-126 -126q-14 -14 -34 -14t-34 14q2 -2 12.5 -12t12.5 -13t10 -11.5t10 -13.5t6 -13.5t5.5 -16.5t1.5 -18q0 -38 -28 -68q-3 -3 -16.5 -18t-19 -20.5 t-18.5 -16.5t-22 -15.5t-22 -9t-26 -4.5q-40 0 -68 28l-408 408q-28 28 -28 68q0 13 4.5 26t9 22t15.5 22t16.5 18.5t20.5 19t18 16.5q30 28 68 28q10 0 18 -1.5t16.5 -5.5t13.5 -6t13.5 -10t11.5 -10t13 -12.5t12 -12.5q-14 14 -14 34t14 34l348 348q14 14 34 14t34 -14 q-2 2 -12.5 12t-12.5 13t-10 11.5t-10 13.5t-6 13.5t-5.5 16.5t-1.5 18q0 38 28 68q3 3 16.5 18t19 20.5t18.5 16.5t22 15.5t22 9t26 4.5q40 0 68 -28l408 -408q28 -28 28 -68q0 -13 -4.5 -26t-9 -22t-15.5 -22t-16.5 -18.5t-20.5 -19t-18 -16.5q-30 -28 -68 -28 q-10 0 -18 1.5t-16.5 5.5t-13.5 6t-13.5 10t-11.5 10t-13 12.5t-12 12.5q14 -14 14 -34t-14 -34l-126 -126l256 -256q43 43 96 43q52 0 91 -37l363 -363q37 -39 37 -91z" />
<glyph unicode="&#xf0e4;" horiz-adv-x="1792" d="M384 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM576 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1004 351l101 382q6 26 -7.5 48.5t-38.5 29.5 t-48 -6.5t-30 -39.5l-101 -382q-60 -5 -107 -43.5t-63 -98.5q-20 -77 20 -146t117 -89t146 20t89 117q16 60 -6 117t-72 91zM1664 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1024 1024q0 53 -37.5 90.5 t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1472 832q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1792 384q0 -261 -141 -483q-19 -29 -54 -29h-1402q-35 0 -54 29 q-141 221 -141 483q0 182 71 348t191 286t286 191t348 71t348 -71t286 -191t191 -286t71 -348z" />
<glyph unicode="&#xf0e5;" horiz-adv-x="1792" d="M896 1152q-204 0 -381.5 -69.5t-282 -187.5t-104.5 -255q0 -112 71.5 -213.5t201.5 -175.5l87 -50l-27 -96q-24 -91 -70 -172q152 63 275 171l43 38l57 -6q69 -8 130 -8q204 0 381.5 69.5t282 187.5t104.5 255t-104.5 255t-282 187.5t-381.5 69.5zM1792 640 q0 -174 -120 -321.5t-326 -233t-450 -85.5q-70 0 -145 8q-198 -175 -460 -242q-49 -14 -114 -22h-5q-15 0 -27 10.5t-16 27.5v1q-3 4 -0.5 12t2 10t4.5 9.5l6 9t7 8.5t8 9q7 8 31 34.5t34.5 38t31 39.5t32.5 51t27 59t26 76q-157 89 -247.5 220t-90.5 281q0 174 120 321.5 t326 233t450 85.5t450 -85.5t326 -233t120 -321.5z" />
<glyph unicode="&#xf0e6;" horiz-adv-x="1792" d="M704 1152q-153 0 -286 -52t-211.5 -141t-78.5 -191q0 -82 53 -158t149 -132l97 -56l-35 -84q34 20 62 39l44 31l53 -10q78 -14 153 -14q153 0 286 52t211.5 141t78.5 191t-78.5 191t-211.5 141t-286 52zM704 1280q191 0 353.5 -68.5t256.5 -186.5t94 -257t-94 -257 t-256.5 -186.5t-353.5 -68.5q-86 0 -176 16q-124 -88 -278 -128q-36 -9 -86 -16h-3q-11 0 -20.5 8t-11.5 21q-1 3 -1 6.5t0.5 6.5t2 6l2.5 5t3.5 5.5t4 5t4.5 5t4 4.5q5 6 23 25t26 29.5t22.5 29t25 38.5t20.5 44q-124 72 -195 177t-71 224q0 139 94 257t256.5 186.5 t353.5 68.5zM1526 111q10 -24 20.5 -44t25 -38.5t22.5 -29t26 -29.5t23 -25q1 -1 4 -4.5t4.5 -5t4 -5t3.5 -5.5l2.5 -5t2 -6t0.5 -6.5t-1 -6.5q-3 -14 -13 -22t-22 -7q-50 7 -86 16q-154 40 -278 128q-90 -16 -176 -16q-271 0 -472 132q58 -4 88 -4q161 0 309 45t264 129 q125 92 192 212t67 254q0 77 -23 152q129 -71 204 -178t75 -230q0 -120 -71 -224.5t-195 -176.5z" />
<glyph unicode="&#xf0e7;" horiz-adv-x="896" d="M885 970q18 -20 7 -44l-540 -1157q-13 -25 -42 -25q-4 0 -14 2q-17 5 -25.5 19t-4.5 30l197 808l-406 -101q-4 -1 -12 -1q-18 0 -31 11q-18 15 -13 39l201 825q4 14 16 23t28 9h328q19 0 32 -12.5t13 -29.5q0 -8 -5 -18l-171 -463l396 98q8 2 12 2q19 0 34 -15z" />
<glyph unicode="&#xf0e8;" horiz-adv-x="1792" d="M1792 288v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192h-512v-192h96q40 0 68 -28t28 -68v-320 q0 -40 -28 -68t-68 -28h-320q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h96v192q0 52 38 90t90 38h512v192h-96q-40 0 -68 28t-28 68v320q0 40 28 68t68 28h320q40 0 68 -28t28 -68v-320q0 -40 -28 -68t-68 -28h-96v-192h512q52 0 90 -38t38 -90v-192h96q40 0 68 -28t28 -68 z" />
<glyph unicode="&#xf0e9;" horiz-adv-x="1664" d="M896 708v-580q0 -104 -76 -180t-180 -76t-180 76t-76 180q0 26 19 45t45 19t45 -19t19 -45q0 -50 39 -89t89 -39t89 39t39 89v580q33 11 64 11t64 -11zM1664 681q0 -13 -9.5 -22.5t-22.5 -9.5q-11 0 -23 10q-49 46 -93 69t-102 23q-68 0 -128 -37t-103 -97 q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -28 -17q-18 0 -29 17q-4 6 -14.5 24t-17.5 28q-43 60 -102.5 97t-127.5 37t-127.5 -37t-102.5 -97q-7 -10 -17.5 -28t-14.5 -24q-11 -17 -29 -17q-17 0 -28 17q-4 6 -14.5 24t-17.5 28q-43 60 -103 97t-128 37q-58 0 -102 -23t-93 -69 q-12 -10 -23 -10q-13 0 -22.5 9.5t-9.5 22.5q0 5 1 7q45 183 172.5 319.5t298 204.5t360.5 68q140 0 274.5 -40t246.5 -113.5t194.5 -187t115.5 -251.5q1 -2 1 -7zM896 1408v-98q-42 2 -64 2t-64 -2v98q0 26 19 45t45 19t45 -19t19 -45z" />
<glyph unicode="&#xf0ea;" horiz-adv-x="1792" d="M768 -128h896v640h-416q-40 0 -68 28t-28 68v416h-384v-1152zM1024 1312v64q0 13 -9.5 22.5t-22.5 9.5h-704q-13 0 -22.5 -9.5t-9.5 -22.5v-64q0 -13 9.5 -22.5t22.5 -9.5h704q13 0 22.5 9.5t9.5 22.5zM1280 640h299l-299 299v-299zM1792 512v-672q0 -40 -28 -68t-68 -28 h-960q-40 0 -68 28t-28 68v160h-544q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h1088q40 0 68 -28t28 -68v-328q21 -13 36 -28l408 -408q28 -28 48 -76t20 -88z" />
<glyph unicode="&#xf0eb;" horiz-adv-x="1024" d="M736 960q0 -13 -9.5 -22.5t-22.5 -9.5t-22.5 9.5t-9.5 22.5q0 46 -54 71t-106 25q-13 0 -22.5 9.5t-9.5 22.5t9.5 22.5t22.5 9.5q50 0 99.5 -16t87 -54t37.5 -90zM896 960q0 72 -34.5 134t-90 101.5t-123 62t-136.5 22.5t-136.5 -22.5t-123 -62t-90 -101.5t-34.5 -134 q0 -101 68 -180q10 -11 30.5 -33t30.5 -33q128 -153 141 -298h228q13 145 141 298q10 11 30.5 33t30.5 33q68 79 68 180zM1024 960q0 -155 -103 -268q-45 -49 -74.5 -87t-59.5 -95.5t-34 -107.5q47 -28 47 -82q0 -37 -25 -64q25 -27 25 -64q0 -52 -45 -81q13 -23 13 -47 q0 -46 -31.5 -71t-77.5 -25q-20 -44 -60 -70t-87 -26t-87 26t-60 70q-46 0 -77.5 25t-31.5 71q0 24 13 47q-45 29 -45 81q0 37 25 64q-25 27 -25 64q0 54 47 82q-4 50 -34 107.5t-59.5 95.5t-74.5 87q-103 113 -103 268q0 99 44.5 184.5t117 142t164 89t186.5 32.5 t186.5 -32.5t164 -89t117 -142t44.5 -184.5z" />
<glyph unicode="&#xf0ec;" horiz-adv-x="1792" d="M1792 352v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-1376v-192q0 -13 -9.5 -22.5t-22.5 -9.5q-12 0 -24 10l-319 320q-9 9 -9 22q0 14 9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h1376q13 0 22.5 -9.5t9.5 -22.5zM1792 896q0 -14 -9 -23l-320 -320q-9 -9 -23 -9 q-13 0 -22.5 9.5t-9.5 22.5v192h-1376q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h1376v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23z" />
<glyph unicode="&#xf0ed;" horiz-adv-x="1920" d="M1280 608q0 14 -9 23t-23 9h-224v352q0 13 -9.5 22.5t-22.5 9.5h-192q-13 0 -22.5 -9.5t-9.5 -22.5v-352h-224q-13 0 -22.5 -9.5t-9.5 -22.5q0 -14 9 -23l352 -352q9 -9 23 -9t23 9l351 351q10 12 10 24zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
<glyph unicode="&#xf0ee;" horiz-adv-x="1920" d="M1280 672q0 14 -9 23l-352 352q-9 9 -23 9t-23 -9l-351 -351q-10 -12 -10 -24q0 -14 9 -23t23 -9h224v-352q0 -13 9.5 -22.5t22.5 -9.5h192q13 0 22.5 9.5t9.5 22.5v352h224q13 0 22.5 9.5t9.5 22.5zM1920 384q0 -159 -112.5 -271.5t-271.5 -112.5h-1088 q-185 0 -316.5 131.5t-131.5 316.5q0 130 70 240t188 165q-2 30 -2 43q0 212 150 362t362 150q156 0 285.5 -87t188.5 -231q71 62 166 62q106 0 181 -75t75 -181q0 -76 -41 -138q130 -31 213.5 -135.5t83.5 -238.5z" />
<glyph unicode="&#xf0f0;" horiz-adv-x="1408" d="M384 192q0 -26 -19 -45t-45 -19t-45 19t-19 45t19 45t45 19t45 -19t19 -45zM1408 131q0 -121 -73 -190t-194 -69h-874q-121 0 -194 69t-73 190q0 68 5.5 131t24 138t47.5 132.5t81 103t120 60.5q-22 -52 -22 -120v-203q-58 -20 -93 -70t-35 -111q0 -80 56 -136t136 -56 t136 56t56 136q0 61 -35.5 111t-92.5 70v203q0 62 25 93q132 -104 295 -104t295 104q25 -31 25 -93v-64q-106 0 -181 -75t-75 -181v-89q-32 -29 -32 -71q0 -40 28 -68t68 -28t68 28t28 68q0 42 -32 71v89q0 52 38 90t90 38t90 -38t38 -90v-89q-32 -29 -32 -71q0 -40 28 -68 t68 -28t68 28t28 68q0 42 -32 71v89q0 68 -34.5 127.5t-93.5 93.5q0 10 0.5 42.5t0 48t-2.5 41.5t-7 47t-13 40q68 -15 120 -60.5t81 -103t47.5 -132.5t24 -138t5.5 -131zM1088 1024q0 -159 -112.5 -271.5t-271.5 -112.5t-271.5 112.5t-112.5 271.5t112.5 271.5t271.5 112.5 t271.5 -112.5t112.5 -271.5z" />
<glyph unicode="&#xf0f1;" horiz-adv-x="1408" d="M1280 832q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 832q0 -62 -35.5 -111t-92.5 -70v-395q0 -159 -131.5 -271.5t-316.5 -112.5t-316.5 112.5t-131.5 271.5v132q-164 20 -274 128t-110 252v512q0 26 19 45t45 19q6 0 16 -2q17 30 47 48 t65 18q53 0 90.5 -37.5t37.5 -90.5t-37.5 -90.5t-90.5 -37.5q-33 0 -64 18v-402q0 -106 94 -181t226 -75t226 75t94 181v402q-31 -18 -64 -18q-53 0 -90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5q35 0 65 -18t47 -48q10 2 16 2q26 0 45 -19t19 -45v-512q0 -144 -110 -252 t-274 -128v-132q0 -106 94 -181t226 -75t226 75t94 181v395q-57 21 -92.5 70t-35.5 111q0 80 56 136t136 56t136 -56t56 -136z" />
<glyph unicode="&#xf0f2;" horiz-adv-x="1792" d="M640 1152h512v128h-512v-128zM288 1152v-1280h-64q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h64zM1408 1152v-1280h-1024v1280h128v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h128zM1792 928v-832q0 -92 -66 -158t-158 -66h-64v1280h64q92 0 158 -66 t66 -158z" />
<glyph unicode="&#xf0f3;" horiz-adv-x="1664" d="M848 -160q0 16 -16 16q-59 0 -101.5 42.5t-42.5 101.5q0 16 -16 16t-16 -16q0 -73 51.5 -124.5t124.5 -51.5q16 0 16 16zM1664 128q0 -52 -38 -90t-90 -38h-448q0 -106 -75 -181t-181 -75t-181 75t-75 181h-448q-52 0 -90 38t-38 90q190 161 287 397.5t97 498.5 q0 165 96 262t264 117q-8 18 -8 37q0 40 28 68t68 28t68 -28t28 -68q0 -19 -8 -37q168 -20 264 -117t96 -262q0 -262 97 -498.5t287 -397.5z" />
<glyph unicode="&#xf0f4;" horiz-adv-x="1920" d="M1664 896q0 80 -56 136t-136 56h-64v-384h64q80 0 136 56t56 136zM0 128h1792q0 -106 -75 -181t-181 -75h-1280q-106 0 -181 75t-75 181zM1856 896q0 -159 -112.5 -271.5t-271.5 -112.5h-64v-32q0 -92 -66 -158t-158 -66h-704q-92 0 -158 66t-66 158v736q0 26 19 45 t45 19h1152q159 0 271.5 -112.5t112.5 -271.5z" />
<glyph unicode="&#xf0f5;" horiz-adv-x="1408" d="M640 1472v-640q0 -61 -35.5 -111t-92.5 -70v-779q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v779q-57 20 -92.5 70t-35.5 111v640q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45v-416q0 -26 19 -45 t45 -19t45 19t19 45v416q0 26 19 45t45 19t45 -19t19 -45zM1408 1472v-1600q0 -52 -38 -90t-90 -38h-128q-52 0 -90 38t-38 90v512h-224q-13 0 -22.5 9.5t-9.5 22.5v800q0 132 94 226t226 94h256q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0f6;" horiz-adv-x="1280" d="M1024 352v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM1024 608v-64q0 -14 -9 -23t-23 -9h-704q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h704q14 0 23 -9t9 -23zM128 0h1024v768h-416q-40 0 -68 28t-28 68v416h-512v-1280z M768 896h376q-10 29 -22 41l-313 313q-12 12 -41 22v-376zM1280 864v-896q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h640q40 0 88 -20t76 -48l312 -312q28 -28 48 -76t20 -88z" />
<glyph unicode="&#xf0f7;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 992v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 1248v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1536h-1152v-1536h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM1408 1472v-1664q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1664q0 26 19 45t45 19h1280q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0f8;" horiz-adv-x="1408" d="M384 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM384 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M1152 224v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM896 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M640 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 480v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5zM1152 736v-64q0 -13 -9.5 -22.5t-22.5 -9.5h-64q-13 0 -22.5 9.5t-9.5 22.5v64q0 13 9.5 22.5t22.5 9.5h64q13 0 22.5 -9.5t9.5 -22.5z M896 -128h384v1152h-256v-32q0 -40 -28 -68t-68 -28h-448q-40 0 -68 28t-28 68v32h-256v-1152h384v224q0 13 9.5 22.5t22.5 9.5h320q13 0 22.5 -9.5t9.5 -22.5v-224zM896 1056v320q0 13 -9.5 22.5t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-96h-128v96q0 13 -9.5 22.5 t-22.5 9.5h-64q-13 0 -22.5 -9.5t-9.5 -22.5v-320q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5v96h128v-96q0 -13 9.5 -22.5t22.5 -9.5h64q13 0 22.5 9.5t9.5 22.5zM1408 1088v-1280q0 -26 -19 -45t-45 -19h-1280q-26 0 -45 19t-19 45v1280q0 26 19 45t45 19h320 v288q0 40 28 68t68 28h448q40 0 68 -28t28 -68v-288h320q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0f9;" horiz-adv-x="1920" d="M640 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM256 640h384v256h-158q-14 -2 -22 -9l-195 -195q-7 -12 -9 -22v-30zM1536 128q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5 t90.5 37.5t37.5 90.5zM1664 800v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM1920 1344v-1152 q0 -26 -19 -45t-45 -19h-192q0 -106 -75 -181t-181 -75t-181 75t-75 181h-384q0 -106 -75 -181t-181 -75t-181 75t-75 181h-128q-26 0 -45 19t-19 45t19 45t45 19v416q0 26 13 58t32 51l198 198q19 19 51 32t58 13h160v320q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf0fa;" horiz-adv-x="1792" d="M1280 416v192q0 14 -9 23t-23 9h-224v224q0 14 -9 23t-23 9h-192q-14 0 -23 -9t-9 -23v-224h-224q-14 0 -23 -9t-9 -23v-192q0 -14 9 -23t23 -9h224v-224q0 -14 9 -23t23 -9h192q14 0 23 9t9 23v224h224q14 0 23 9t9 23zM640 1152h512v128h-512v-128zM256 1152v-1280h-32 q-92 0 -158 66t-66 158v832q0 92 66 158t158 66h32zM1440 1152v-1280h-1088v1280h160v160q0 40 28 68t68 28h576q40 0 68 -28t28 -68v-160h160zM1792 928v-832q0 -92 -66 -158t-158 -66h-32v1280h32q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf0fb;" horiz-adv-x="1920" d="M1920 576q-1 -32 -288 -96l-352 -32l-224 -64h-64l-293 -352h69q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-96h-160h-64v32h64v416h-160l-192 -224h-96l-32 32v192h32v32h128v8l-192 24v128l192 24v8h-128v32h-32v192l32 32h96l192 -224h160v416h-64v32h64h160h96 q26 0 45 -4.5t19 -11.5t-19 -11.5t-45 -4.5h-69l293 -352h64l224 -64l352 -32q261 -58 287 -93z" />
<glyph unicode="&#xf0fc;" horiz-adv-x="1664" d="M640 640v384h-256v-256q0 -53 37.5 -90.5t90.5 -37.5h128zM1664 192v-192h-1152v192l128 192h-128q-159 0 -271.5 112.5t-112.5 271.5v320l-64 64l32 128h480l32 128h960l32 -192l-64 -32v-800z" />
<glyph unicode="&#xf0fd;" d="M1280 192v896q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-512v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-896q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h512v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf0fe;" d="M1280 576v128q0 26 -19 45t-45 19h-320v320q0 26 -19 45t-45 19h-128q-26 0 -45 -19t-19 -45v-320h-320q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h320v-320q0 -26 19 -45t45 -19h128q26 0 45 19t19 45v320h320q26 0 45 19t19 45zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf100;" horiz-adv-x="1024" d="M627 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23zM1011 160q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23z" />
<glyph unicode="&#xf101;" horiz-adv-x="1024" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM979 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23 l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
<glyph unicode="&#xf102;" horiz-adv-x="1152" d="M1075 224q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23zM1075 608q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393 q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
<glyph unicode="&#xf103;" horiz-adv-x="1152" d="M1075 672q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23zM1075 1056q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23 t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
<glyph unicode="&#xf104;" horiz-adv-x="640" d="M627 992q0 -13 -10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
<glyph unicode="&#xf105;" horiz-adv-x="640" d="M595 576q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
<glyph unicode="&#xf106;" horiz-adv-x="1152" d="M1075 352q0 -13 -10 -23l-50 -50q-10 -10 -23 -10t-23 10l-393 393l-393 -393q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l466 -466q10 -10 10 -23z" />
<glyph unicode="&#xf107;" horiz-adv-x="1152" d="M1075 800q0 -13 -10 -23l-466 -466q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l393 -393l393 393q10 10 23 10t23 -10l50 -50q10 -10 10 -23z" />
<glyph unicode="&#xf108;" horiz-adv-x="1920" d="M1792 544v832q0 13 -9.5 22.5t-22.5 9.5h-1600q-13 0 -22.5 -9.5t-9.5 -22.5v-832q0 -13 9.5 -22.5t22.5 -9.5h1600q13 0 22.5 9.5t9.5 22.5zM1920 1376v-1088q0 -66 -47 -113t-113 -47h-544q0 -37 16 -77.5t32 -71t16 -43.5q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19 t-19 45q0 14 16 44t32 70t16 78h-544q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h1600q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf109;" horiz-adv-x="1920" d="M416 256q-66 0 -113 47t-47 113v704q0 66 47 113t113 47h1088q66 0 113 -47t47 -113v-704q0 -66 -47 -113t-113 -47h-1088zM384 1120v-704q0 -13 9.5 -22.5t22.5 -9.5h1088q13 0 22.5 9.5t9.5 22.5v704q0 13 -9.5 22.5t-22.5 9.5h-1088q-13 0 -22.5 -9.5t-9.5 -22.5z M1760 192h160v-96q0 -40 -47 -68t-113 -28h-1600q-66 0 -113 28t-47 68v96h160h1600zM1040 96q16 0 16 16t-16 16h-160q-16 0 -16 -16t16 -16h160z" />
<glyph unicode="&#xf10a;" horiz-adv-x="1152" d="M640 128q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1024 288v960q0 13 -9.5 22.5t-22.5 9.5h-832q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h832q13 0 22.5 9.5t9.5 22.5zM1152 1248v-1088q0 -66 -47 -113t-113 -47h-832 q-66 0 -113 47t-47 113v1088q0 66 47 113t113 47h832q66 0 113 -47t47 -113z" />
<glyph unicode="&#xf10b;" horiz-adv-x="768" d="M464 128q0 33 -23.5 56.5t-56.5 23.5t-56.5 -23.5t-23.5 -56.5t23.5 -56.5t56.5 -23.5t56.5 23.5t23.5 56.5zM672 288v704q0 13 -9.5 22.5t-22.5 9.5h-512q-13 0 -22.5 -9.5t-9.5 -22.5v-704q0 -13 9.5 -22.5t22.5 -9.5h512q13 0 22.5 9.5t9.5 22.5zM480 1136 q0 16 -16 16h-160q-16 0 -16 -16t16 -16h160q16 0 16 16zM768 1152v-1024q0 -52 -38 -90t-90 -38h-512q-52 0 -90 38t-38 90v1024q0 52 38 90t90 38h512q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf10c;" d="M768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103 t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf10d;" horiz-adv-x="1664" d="M768 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z M1664 576v-384q0 -80 -56 -136t-136 -56h-384q-80 0 -136 56t-56 136v704q0 104 40.5 198.5t109.5 163.5t163.5 109.5t198.5 40.5h64q26 0 45 -19t19 -45v-128q0 -26 -19 -45t-45 -19h-64q-106 0 -181 -75t-75 -181v-32q0 -40 28 -68t68 -28h224q80 0 136 -56t56 -136z" />
<glyph unicode="&#xf10e;" horiz-adv-x="1664" d="M768 1216v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136zM1664 1216 v-704q0 -104 -40.5 -198.5t-109.5 -163.5t-163.5 -109.5t-198.5 -40.5h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64q106 0 181 75t75 181v32q0 40 -28 68t-68 28h-224q-80 0 -136 56t-56 136v384q0 80 56 136t136 56h384q80 0 136 -56t56 -136z" />
<glyph unicode="&#xf110;" horiz-adv-x="1568" d="M496 192q0 -60 -42.5 -102t-101.5 -42q-60 0 -102 42t-42 102t42 102t102 42q59 0 101.5 -42t42.5 -102zM928 0q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM320 640q0 -66 -47 -113t-113 -47t-113 47t-47 113 t47 113t113 47t113 -47t47 -113zM1360 192q0 -46 -33 -79t-79 -33t-79 33t-33 79t33 79t79 33t79 -33t33 -79zM528 1088q0 -73 -51.5 -124.5t-124.5 -51.5t-124.5 51.5t-51.5 124.5t51.5 124.5t124.5 51.5t124.5 -51.5t51.5 -124.5zM992 1280q0 -80 -56 -136t-136 -56 t-136 56t-56 136t56 136t136 56t136 -56t56 -136zM1536 640q0 -40 -28 -68t-68 -28t-68 28t-28 68t28 68t68 28t68 -28t28 -68zM1328 1088q0 -33 -23.5 -56.5t-56.5 -23.5t-56.5 23.5t-23.5 56.5t23.5 56.5t56.5 23.5t56.5 -23.5t23.5 -56.5z" />
<glyph unicode="&#xf111;" d="M1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf112;" horiz-adv-x="1792" d="M1792 416q0 -166 -127 -451q-3 -7 -10.5 -24t-13.5 -30t-13 -22q-12 -17 -28 -17q-15 0 -23.5 10t-8.5 25q0 9 2.5 26.5t2.5 23.5q5 68 5 123q0 101 -17.5 181t-48.5 138.5t-80 101t-105.5 69.5t-133 42.5t-154 21.5t-175.5 6h-224v-256q0 -26 -19 -45t-45 -19t-45 19 l-512 512q-19 19 -19 45t19 45l512 512q19 19 45 19t45 -19t19 -45v-256h224q713 0 875 -403q53 -134 53 -333z" />
<glyph unicode="&#xf113;" horiz-adv-x="1664" d="M640 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1280 320q0 -40 -12.5 -82t-43 -76t-72.5 -34t-72.5 34t-43 76t-12.5 82t12.5 82t43 76t72.5 34t72.5 -34t43 -76t12.5 -82zM1440 320 q0 120 -69 204t-187 84q-41 0 -195 -21q-71 -11 -157 -11t-157 11q-152 21 -195 21q-118 0 -187 -84t-69 -204q0 -88 32 -153.5t81 -103t122 -60t140 -29.5t149 -7h168q82 0 149 7t140 29.5t122 60t81 103t32 153.5zM1664 496q0 -207 -61 -331q-38 -77 -105.5 -133t-141 -86 t-170 -47.5t-171.5 -22t-167 -4.5q-78 0 -142 3t-147.5 12.5t-152.5 30t-137 51.5t-121 81t-86 115q-62 123 -62 331q0 237 136 396q-27 82 -27 170q0 116 51 218q108 0 190 -39.5t189 -123.5q147 35 309 35q148 0 280 -32q105 82 187 121t189 39q51 -102 51 -218 q0 -87 -27 -168q136 -160 136 -398z" />
<glyph unicode="&#xf114;" horiz-adv-x="1664" d="M1536 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68v-960q0 -40 28 -68t68 -28h1216q40 0 68 28t28 68zM1664 928v-704q0 -92 -66 -158t-158 -66h-1216q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320 q92 0 158 -66t66 -158v-32h672q92 0 158 -66t66 -158z" />
<glyph unicode="&#xf115;" horiz-adv-x="1920" d="M1781 605q0 35 -53 35h-1088q-40 0 -85.5 -21.5t-71.5 -52.5l-294 -363q-18 -24 -18 -40q0 -35 53 -35h1088q40 0 86 22t71 53l294 363q18 22 18 39zM640 768h768v160q0 40 -28 68t-68 28h-576q-40 0 -68 28t-28 68v64q0 40 -28 68t-68 28h-320q-40 0 -68 -28t-28 -68 v-853l256 315q44 53 116 87.5t140 34.5zM1909 605q0 -62 -46 -120l-295 -363q-43 -53 -116 -87.5t-140 -34.5h-1088q-92 0 -158 66t-66 158v960q0 92 66 158t158 66h320q92 0 158 -66t66 -158v-32h544q92 0 158 -66t66 -158v-160h192q54 0 99 -24.5t67 -70.5q15 -32 15 -68z " />
<glyph unicode="&#xf116;" horiz-adv-x="1792" />
<glyph unicode="&#xf117;" horiz-adv-x="1792" />
<glyph unicode="&#xf118;" d="M1134 461q-37 -121 -138 -195t-228 -74t-228 74t-138 195q-8 25 4 48.5t38 31.5q25 8 48.5 -4t31.5 -38q25 -80 92.5 -129.5t151.5 -49.5t151.5 49.5t92.5 129.5q8 26 32 38t49 4t37 -31.5t4 -48.5zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5 t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5 t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf119;" d="M1134 307q8 -25 -4 -48.5t-37 -31.5t-49 4t-32 38q-25 80 -92.5 129.5t-151.5 49.5t-151.5 -49.5t-92.5 -129.5q-8 -26 -31.5 -38t-48.5 -4q-26 8 -38 31.5t-4 48.5q37 121 138 195t228 74t228 -74t138 -195zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204 t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf11a;" d="M1152 448q0 -26 -19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h640q26 0 45 -19t19 -45zM640 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1152 896q0 -53 -37.5 -90.5t-90.5 -37.5t-90.5 37.5 t-37.5 90.5t37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf11b;" horiz-adv-x="1920" d="M832 448v128q0 14 -9 23t-23 9h-192v192q0 14 -9 23t-23 9h-128q-14 0 -23 -9t-9 -23v-192h-192q-14 0 -23 -9t-9 -23v-128q0 -14 9 -23t23 -9h192v-192q0 -14 9 -23t23 -9h128q14 0 23 9t9 23v192h192q14 0 23 9t9 23zM1408 384q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5 t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1664 640q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM1920 512q0 -212 -150 -362t-362 -150q-192 0 -338 128h-220q-146 -128 -338 -128q-212 0 -362 150 t-150 362t150 362t362 150h896q212 0 362 -150t150 -362z" />
<glyph unicode="&#xf11c;" horiz-adv-x="1920" d="M384 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM512 624v-96q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h224q16 0 16 -16zM384 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 368v-96q0 -16 -16 -16 h-864q-16 0 -16 16v96q0 16 16 16h864q16 0 16 -16zM768 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM640 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1024 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16 h96q16 0 16 -16zM896 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1280 624v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 368v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1152 880v-96 q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1408 880v-96q0 -16 -16 -16h-96q-16 0 -16 16v96q0 16 16 16h96q16 0 16 -16zM1664 880v-352q0 -16 -16 -16h-224q-16 0 -16 16v96q0 16 16 16h112v240q0 16 16 16h96q16 0 16 -16zM1792 128v896h-1664v-896 h1664zM1920 1024v-896q0 -53 -37.5 -90.5t-90.5 -37.5h-1664q-53 0 -90.5 37.5t-37.5 90.5v896q0 53 37.5 90.5t90.5 37.5h1664q53 0 90.5 -37.5t37.5 -90.5z" />
<glyph unicode="&#xf11d;" horiz-adv-x="1792" d="M1664 491v616q-169 -91 -306 -91q-82 0 -145 32q-100 49 -184 76.5t-178 27.5q-173 0 -403 -127v-599q245 113 433 113q55 0 103.5 -7.5t98 -26t77 -31t82.5 -39.5l28 -14q44 -22 101 -22q120 0 293 92zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9 h-64q-14 0 -23 9t-9 23v1266q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102 q-15 -9 -33 -9q-16 0 -32 8q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
<glyph unicode="&#xf11e;" horiz-adv-x="1792" d="M832 536v192q-181 -16 -384 -117v-185q205 96 384 110zM832 954v197q-172 -8 -384 -126v-189q215 111 384 118zM1664 491v184q-235 -116 -384 -71v224q-20 6 -39 15q-5 3 -33 17t-34.5 17t-31.5 15t-34.5 15.5t-32.5 13t-36 12.5t-35 8.5t-39.5 7.5t-39.5 4t-44 2 q-23 0 -49 -3v-222h19q102 0 192.5 -29t197.5 -82q19 -9 39 -15v-188q42 -17 91 -17q120 0 293 92zM1664 918v189q-169 -91 -306 -91q-45 0 -78 8v-196q148 -42 384 90zM320 1280q0 -35 -17.5 -64t-46.5 -46v-1266q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v1266 q-29 17 -46.5 46t-17.5 64q0 53 37.5 90.5t90.5 37.5t90.5 -37.5t37.5 -90.5zM1792 1216v-763q0 -39 -35 -57q-10 -5 -17 -9q-218 -116 -369 -116q-88 0 -158 35l-28 14q-64 33 -99 48t-91 29t-114 14q-102 0 -235.5 -44t-228.5 -102q-15 -9 -33 -9q-16 0 -32 8 q-32 19 -32 56v742q0 35 31 55q35 21 78.5 42.5t114 52t152.5 49.5t155 19q112 0 209 -31t209 -86q38 -19 89 -19q122 0 310 112q22 12 31 17q31 16 62 -2q31 -20 31 -55z" />
<glyph unicode="&#xf120;" horiz-adv-x="1664" d="M585 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23zM1664 96v-64q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h960q14 0 23 -9 t9 -23z" />
<glyph unicode="&#xf121;" horiz-adv-x="1920" d="M617 137l-50 -50q-10 -10 -23 -10t-23 10l-466 466q-10 10 -10 23t10 23l466 466q10 10 23 10t23 -10l50 -50q10 -10 10 -23t-10 -23l-393 -393l393 -393q10 -10 10 -23t-10 -23zM1208 1204l-373 -1291q-4 -13 -15.5 -19.5t-23.5 -2.5l-62 17q-13 4 -19.5 15.5t-2.5 24.5 l373 1291q4 13 15.5 19.5t23.5 2.5l62 -17q13 -4 19.5 -15.5t2.5 -24.5zM1865 553l-466 -466q-10 -10 -23 -10t-23 10l-50 50q-10 10 -10 23t10 23l393 393l-393 393q-10 10 -10 23t10 23l50 50q10 10 23 10t23 -10l466 -466q10 -10 10 -23t-10 -23z" />
<glyph unicode="&#xf122;" horiz-adv-x="1792" d="M640 454v-70q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-69l-397 -398q-19 -19 -19 -45t19 -45zM1792 416q0 -58 -17 -133.5t-38.5 -138t-48 -125t-40.5 -90.5l-20 -40q-8 -17 -28 -17q-6 0 -9 1 q-25 8 -23 34q43 400 -106 565q-64 71 -170.5 110.5t-267.5 52.5v-251q0 -42 -39 -59q-13 -5 -25 -5q-27 0 -45 19l-512 512q-19 19 -19 45t19 45l512 512q29 31 70 14q39 -17 39 -59v-262q411 -28 599 -221q169 -173 169 -509z" />
<glyph unicode="&#xf123;" horiz-adv-x="1664" d="M1186 579l257 250l-356 52l-66 10l-30 60l-159 322v-963l59 -31l318 -168l-60 355l-12 66zM1638 841l-363 -354l86 -500q5 -33 -6 -51.5t-34 -18.5q-17 0 -40 12l-449 236l-449 -236q-23 -12 -40 -12q-23 0 -34 18.5t-6 51.5l86 500l-364 354q-32 32 -23 59.5t54 34.5 l502 73l225 455q20 41 49 41q28 0 49 -41l225 -455l502 -73q45 -7 54 -34.5t-24 -59.5z" />
<glyph unicode="&#xf124;" horiz-adv-x="1408" d="M1401 1187l-640 -1280q-17 -35 -57 -35q-5 0 -15 2q-22 5 -35.5 22.5t-13.5 39.5v576h-576q-22 0 -39.5 13.5t-22.5 35.5t4 42t29 30l1280 640q13 7 29 7q27 0 45 -19q15 -14 18.5 -34.5t-6.5 -39.5z" />
<glyph unicode="&#xf125;" horiz-adv-x="1664" d="M557 256h595v595zM512 301l595 595h-595v-595zM1664 224v-192q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v224h-864q-14 0 -23 9t-9 23v864h-224q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h224v224q0 14 9 23t23 9h192q14 0 23 -9t9 -23 v-224h851l246 247q10 9 23 9t23 -9q9 -10 9 -23t-9 -23l-247 -246v-851h224q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf126;" horiz-adv-x="1024" d="M288 64q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM288 1216q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM928 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1024 1088q0 -52 -26 -96.5t-70 -69.5 q-2 -287 -226 -414q-68 -38 -203 -81q-128 -40 -169.5 -71t-41.5 -100v-26q44 -25 70 -69.5t26 -96.5q0 -80 -56 -136t-136 -56t-136 56t-56 136q0 52 26 96.5t70 69.5v820q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136q0 -52 -26 -96.5t-70 -69.5v-497 q54 26 154 57q55 17 87.5 29.5t70.5 31t59 39.5t40.5 51t28 69.5t8.5 91.5q-44 25 -70 69.5t-26 96.5q0 80 56 136t136 56t136 -56t56 -136z" />
<glyph unicode="&#xf127;" horiz-adv-x="1664" d="M439 265l-256 -256q-10 -9 -23 -9q-12 0 -23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23zM608 224v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM384 448q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9t-9 23t9 23t23 9h320 q14 0 23 -9t9 -23zM1648 320q0 -120 -85 -203l-147 -146q-83 -83 -203 -83q-121 0 -204 85l-334 335q-21 21 -42 56l239 18l273 -274q27 -27 68 -27.5t68 26.5l147 146q28 28 28 67q0 40 -28 68l-274 275l18 239q35 -21 56 -42l336 -336q84 -86 84 -204zM1031 1044l-239 -18 l-273 274q-28 28 -68 28q-39 0 -68 -27l-147 -146q-28 -28 -28 -67q0 -40 28 -68l274 -274l-18 -240q-35 21 -56 42l-336 336q-84 86 -84 204q0 120 85 203l147 146q83 83 203 83q121 0 204 -85l334 -335q21 -21 42 -56zM1664 960q0 -14 -9 -23t-23 -9h-320q-14 0 -23 9 t-9 23t9 23t23 9h320q14 0 23 -9t9 -23zM1120 1504v-320q0 -14 -9 -23t-23 -9t-23 9t-9 23v320q0 14 9 23t23 9t23 -9t9 -23zM1527 1353l-256 -256q-11 -9 -23 -9t-23 9q-9 10 -9 23t9 23l256 256q10 9 23 9t23 -9q9 -10 9 -23t-9 -23z" />
<glyph unicode="&#xf128;" horiz-adv-x="1024" d="M704 280v-240q0 -16 -12 -28t-28 -12h-240q-16 0 -28 12t-12 28v240q0 16 12 28t28 12h240q16 0 28 -12t12 -28zM1020 880q0 -54 -15.5 -101t-35 -76.5t-55 -59.5t-57.5 -43.5t-61 -35.5q-41 -23 -68.5 -65t-27.5 -67q0 -17 -12 -32.5t-28 -15.5h-240q-15 0 -25.5 18.5 t-10.5 37.5v45q0 83 65 156.5t143 108.5q59 27 84 56t25 76q0 42 -46.5 74t-107.5 32q-65 0 -108 -29q-35 -25 -107 -115q-13 -16 -31 -16q-12 0 -25 8l-164 125q-13 10 -15.5 25t5.5 28q160 266 464 266q80 0 161 -31t146 -83t106 -127.5t41 -158.5z" />
<glyph unicode="&#xf129;" horiz-adv-x="640" d="M640 192v-128q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h64v384h-64q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h384q26 0 45 -19t19 -45v-576h64q26 0 45 -19t19 -45zM512 1344v-192q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v192 q0 26 19 45t45 19h256q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf12a;" horiz-adv-x="640" d="M512 288v-224q0 -26 -19 -45t-45 -19h-256q-26 0 -45 19t-19 45v224q0 26 19 45t45 19h256q26 0 45 -19t19 -45zM542 1344l-28 -768q-1 -26 -20.5 -45t-45.5 -19h-256q-26 0 -45.5 19t-20.5 45l-28 768q-1 26 17.5 45t44.5 19h320q26 0 44.5 -19t17.5 -45z" />
<glyph unicode="&#xf12b;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1534 846v-206h-514l-3 27 q-4 28 -4 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q83 65 188 65q110 0 178 -59.5t68 -158.5q0 -56 -24.5 -103t-62 -76.5t-81.5 -58.5t-82 -50.5t-65.5 -51.5t-30.5 -63h232v80 h126z" />
<glyph unicode="&#xf12c;" d="M897 167v-167h-248l-159 252l-24 42q-8 9 -11 21h-3l-9 -21q-10 -20 -25 -44l-155 -250h-258v167h128l197 291l-185 272h-137v168h276l139 -228q2 -4 23 -42q8 -9 11 -21h3q3 9 11 21l25 42l140 228h257v-168h-125l-184 -267l204 -296h109zM1536 -50v-206h-514l-4 27 q-3 45 -3 46q0 64 26 117t65 86.5t84 65t84 54.5t65 54t26 64q0 38 -29.5 62.5t-70.5 24.5q-51 0 -97 -39q-14 -11 -36 -38l-105 92q26 37 63 66q80 65 188 65q110 0 178 -59.5t68 -158.5q0 -66 -34.5 -118.5t-84 -86t-99.5 -62.5t-87 -63t-41 -73h232v80h126z" />
<glyph unicode="&#xf12d;" horiz-adv-x="1920" d="M896 128l336 384h-768l-336 -384h768zM1909 1205q15 -34 9.5 -71.5t-30.5 -65.5l-896 -1024q-38 -44 -96 -44h-768q-38 0 -69.5 20.5t-47.5 54.5q-15 34 -9.5 71.5t30.5 65.5l896 1024q38 44 96 44h768q38 0 69.5 -20.5t47.5 -54.5z" />
<glyph unicode="&#xf12e;" horiz-adv-x="1664" d="M1664 438q0 -81 -44.5 -135t-123.5 -54q-41 0 -77.5 17.5t-59 38t-56.5 38t-71 17.5q-110 0 -110 -124q0 -39 16 -115t15 -115v-5q-22 0 -33 -1q-34 -3 -97.5 -11.5t-115.5 -13.5t-98 -5q-61 0 -103 26.5t-42 83.5q0 37 17.5 71t38 56.5t38 59t17.5 77.5q0 79 -54 123.5 t-135 44.5q-84 0 -143 -45.5t-59 -127.5q0 -43 15 -83t33.5 -64.5t33.5 -53t15 -50.5q0 -45 -46 -89q-37 -35 -117 -35q-95 0 -245 24q-9 2 -27.5 4t-27.5 4l-13 2q-1 0 -3 1q-2 0 -2 1v1024q2 -1 17.5 -3.5t34 -5t21.5 -3.5q150 -24 245 -24q80 0 117 35q46 44 46 89 q0 22 -15 50.5t-33.5 53t-33.5 64.5t-15 83q0 82 59 127.5t144 45.5q80 0 134 -44.5t54 -123.5q0 -41 -17.5 -77.5t-38 -59t-38 -56.5t-17.5 -71q0 -57 42 -83.5t103 -26.5q64 0 180 15t163 17v-2q-1 -2 -3.5 -17.5t-5 -34t-3.5 -21.5q-24 -150 -24 -245q0 -80 35 -117 q44 -46 89 -46q22 0 50.5 15t53 33.5t64.5 33.5t83 15q82 0 127.5 -59t45.5 -143z" />
<glyph unicode="&#xf130;" horiz-adv-x="1152" d="M1152 832v-128q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-217 24 -364.5 187.5t-147.5 384.5v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -185 131.5 -316.5t316.5 -131.5 t316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45zM896 1216v-512q0 -132 -94 -226t-226 -94t-226 94t-94 226v512q0 132 94 226t226 94t226 -94t94 -226z" />
<glyph unicode="&#xf131;" horiz-adv-x="1408" d="M271 591l-101 -101q-42 103 -42 214v128q0 26 19 45t45 19t45 -19t19 -45v-128q0 -53 15 -113zM1385 1193l-361 -361v-128q0 -132 -94 -226t-226 -94q-55 0 -109 19l-96 -96q97 -51 205 -51q185 0 316.5 131.5t131.5 316.5v128q0 26 19 45t45 19t45 -19t19 -45v-128 q0 -221 -147.5 -384.5t-364.5 -187.5v-132h256q26 0 45 -19t19 -45t-19 -45t-45 -19h-640q-26 0 -45 19t-19 45t19 45t45 19h256v132q-125 13 -235 81l-254 -254q-10 -10 -23 -10t-23 10l-82 82q-10 10 -10 23t10 23l1234 1234q10 10 23 10t23 -10l82 -82q10 -10 10 -23 t-10 -23zM1005 1325l-621 -621v512q0 132 94 226t226 94q102 0 184.5 -59t116.5 -152z" />
<glyph unicode="&#xf132;" horiz-adv-x="1280" d="M1088 576v640h-448v-1137q119 63 213 137q235 184 235 360zM1280 1344v-768q0 -86 -33.5 -170.5t-83 -150t-118 -127.5t-126.5 -103t-121 -77.5t-89.5 -49.5t-42.5 -20q-12 -6 -26 -6t-26 6q-16 7 -42.5 20t-89.5 49.5t-121 77.5t-126.5 103t-118 127.5t-83 150 t-33.5 170.5v768q0 26 19 45t45 19h1152q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf133;" horiz-adv-x="1664" d="M128 -128h1408v1024h-1408v-1024zM512 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1280 1088v288q0 14 -9 23t-23 9h-64q-14 0 -23 -9t-9 -23v-288q0 -14 9 -23t23 -9h64q14 0 23 9t9 23zM1664 1152v-1280 q0 -52 -38 -90t-90 -38h-1408q-52 0 -90 38t-38 90v1280q0 52 38 90t90 38h128v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h384v96q0 66 47 113t113 47h64q66 0 113 -47t47 -113v-96h128q52 0 90 -38t38 -90z" />
<glyph unicode="&#xf134;" horiz-adv-x="1408" d="M512 1344q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1408 1376v-320q0 -16 -12 -25q-8 -7 -20 -7q-4 0 -7 1l-448 96q-11 2 -18 11t-7 20h-256v-102q111 -23 183.5 -111t72.5 -203v-800q0 -26 -19 -45t-45 -19h-512q-26 0 -45 19t-19 45v800 q0 106 62.5 190.5t161.5 114.5v111h-32q-59 0 -115 -23.5t-91.5 -53t-66 -66.5t-40.5 -53.5t-14 -24.5q-17 -35 -57 -35q-16 0 -29 7q-23 12 -31.5 37t3.5 49q5 10 14.5 26t37.5 53.5t60.5 70t85 67t108.5 52.5q-25 42 -25 86q0 66 47 113t113 47t113 -47t47 -113 q0 -33 -14 -64h302q0 11 7 20t18 11l448 96q3 1 7 1q12 0 20 -7q12 -9 12 -25z" />
<glyph unicode="&#xf135;" horiz-adv-x="1664" d="M1440 1088q0 40 -28 68t-68 28t-68 -28t-28 -68t28 -68t68 -28t68 28t28 68zM1664 1376q0 -249 -75.5 -430.5t-253.5 -360.5q-81 -80 -195 -176l-20 -379q-2 -16 -16 -26l-384 -224q-7 -4 -16 -4q-12 0 -23 9l-64 64q-13 14 -8 32l85 276l-281 281l-276 -85q-3 -1 -9 -1 q-14 0 -23 9l-64 64q-17 19 -5 39l224 384q10 14 26 16l379 20q96 114 176 195q188 187 358 258t431 71q14 0 24 -9.5t10 -22.5z" />
<glyph unicode="&#xf136;" horiz-adv-x="1792" d="M1745 763l-164 -763h-334l178 832q13 56 -15 88q-27 33 -83 33h-169l-204 -953h-334l204 953h-286l-204 -953h-334l204 953l-153 327h1276q101 0 189.5 -40.5t147.5 -113.5q60 -73 81 -168.5t0 -194.5z" />
<glyph unicode="&#xf137;" d="M909 141l102 102q19 19 19 45t-19 45l-307 307l307 307q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf138;" d="M717 141l454 454q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l307 -307l-307 -307q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf139;" d="M1165 397l102 102q19 19 19 45t-19 45l-454 454q-19 19 -45 19t-45 -19l-454 -454q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l307 307l307 -307q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf13a;" d="M813 237l454 454q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-307 -307l-307 307q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l454 -454q19 -19 45 -19t45 19zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5 t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf13b;" horiz-adv-x="1408" d="M1130 939l16 175h-884l47 -534h612l-22 -228l-197 -53l-196 53l-13 140h-175l22 -278l362 -100h4v1l359 99l50 544h-644l-15 181h674zM0 1408h1408l-128 -1438l-578 -162l-574 162z" />
<glyph unicode="&#xf13c;" horiz-adv-x="1792" d="M275 1408h1505l-266 -1333l-804 -267l-698 267l71 356h297l-29 -147l422 -161l486 161l68 339h-1208l58 297h1209l38 191h-1208z" />
<glyph unicode="&#xf13d;" horiz-adv-x="1792" d="M960 1280q0 26 -19 45t-45 19t-45 -19t-19 -45t19 -45t45 -19t45 19t19 45zM1792 352v-352q0 -22 -20 -30q-8 -2 -12 -2q-13 0 -23 9l-93 93q-119 -143 -318.5 -226.5t-429.5 -83.5t-429.5 83.5t-318.5 226.5l-93 -93q-9 -9 -23 -9q-4 0 -12 2q-20 8 -20 30v352 q0 14 9 23t23 9h352q22 0 30 -20q8 -19 -7 -35l-100 -100q67 -91 189.5 -153.5t271.5 -82.5v647h-192q-26 0 -45 19t-19 45v128q0 26 19 45t45 19h192v163q-58 34 -93 92.5t-35 128.5q0 106 75 181t181 75t181 -75t75 -181q0 -70 -35 -128.5t-93 -92.5v-163h192q26 0 45 -19 t19 -45v-128q0 -26 -19 -45t-45 -19h-192v-647q149 20 271.5 82.5t189.5 153.5l-100 100q-15 16 -7 35q8 20 30 20h352q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf13e;" horiz-adv-x="1152" d="M1056 768q40 0 68 -28t28 -68v-576q0 -40 -28 -68t-68 -28h-960q-40 0 -68 28t-28 68v576q0 40 28 68t68 28h32v320q0 185 131.5 316.5t316.5 131.5t316.5 -131.5t131.5 -316.5q0 -26 -19 -45t-45 -19h-64q-26 0 -45 19t-19 45q0 106 -75 181t-181 75t-181 -75t-75 -181 v-320h736z" />
<glyph unicode="&#xf140;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM1152 640q0 159 -112.5 271.5t-271.5 112.5t-271.5 -112.5t-112.5 -271.5t112.5 -271.5t271.5 -112.5t271.5 112.5t112.5 271.5zM1280 640q0 -212 -150 -362t-362 -150t-362 150 t-150 362t150 362t362 150t362 -150t150 -362zM1408 640q0 130 -51 248.5t-136.5 204t-204 136.5t-248.5 51t-248.5 -51t-204 -136.5t-136.5 -204t-51 -248.5t51 -248.5t136.5 -204t204 -136.5t248.5 -51t248.5 51t204 136.5t136.5 204t51 248.5zM1536 640 q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf141;" horiz-adv-x="1408" d="M384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM896 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM1408 800v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf142;" horiz-adv-x="384" d="M384 288v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 800v-192q0 -40 -28 -68t-68 -28h-192q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68zM384 1312v-192q0 -40 -28 -68t-68 -28h-192 q-40 0 -68 28t-28 68v192q0 40 28 68t68 28h192q40 0 68 -28t28 -68z" />
<glyph unicode="&#xf143;" d="M512 256q0 53 -37.5 90.5t-90.5 37.5t-90.5 -37.5t-37.5 -90.5t37.5 -90.5t90.5 -37.5t90.5 37.5t37.5 90.5zM863 162q-13 232 -177 396t-396 177q-14 1 -24 -9t-10 -23v-128q0 -13 8.5 -22t21.5 -10q154 -11 264 -121t121 -264q1 -13 10 -21.5t22 -8.5h128q13 0 23 10 t9 24zM1247 161q-5 154 -56 297.5t-139.5 260t-205 205t-260 139.5t-297.5 56q-14 1 -23 -9q-10 -10 -10 -23v-128q0 -13 9 -22t22 -10q204 -7 378 -111.5t278.5 -278.5t111.5 -378q1 -13 10 -22t22 -9h128q13 0 23 10q11 9 9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf144;" d="M768 1408q209 0 385.5 -103t279.5 -279.5t103 -385.5t-103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103zM1152 585q32 18 32 55t-32 55l-544 320q-31 19 -64 1q-32 -19 -32 -56v-640q0 -37 32 -56 q16 -8 32 -8q17 0 32 9z" />
<glyph unicode="&#xf145;" horiz-adv-x="1792" d="M1024 1084l316 -316l-572 -572l-316 316zM813 105l618 618q19 19 19 45t-19 45l-362 362q-18 18 -45 18t-45 -18l-618 -618q-19 -19 -19 -45t19 -45l362 -362q18 -18 45 -18t45 18zM1702 742l-907 -908q-37 -37 -90.5 -37t-90.5 37l-126 126q56 56 56 136t-56 136 t-136 56t-136 -56l-125 126q-37 37 -37 90.5t37 90.5l907 906q37 37 90.5 37t90.5 -37l125 -125q-56 -56 -56 -136t56 -136t136 -56t136 56l126 -125q37 -37 37 -90.5t-37 -90.5z" />
<glyph unicode="&#xf146;" d="M1280 576v128q0 26 -19 45t-45 19h-896q-26 0 -45 -19t-19 -45v-128q0 -26 19 -45t45 -19h896q26 0 45 19t19 45zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5 t84.5 -203.5z" />
<glyph unicode="&#xf147;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h832q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5 t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf148;" horiz-adv-x="1024" d="M1018 933q-18 -37 -58 -37h-192v-864q0 -14 -9 -23t-23 -9h-704q-21 0 -29 18q-8 20 4 35l160 192q9 11 25 11h320v640h-192q-40 0 -58 37q-17 37 9 68l320 384q18 22 49 22t49 -22l320 -384q27 -32 9 -68z" />
<glyph unicode="&#xf149;" horiz-adv-x="1024" d="M32 1280h704q13 0 22.5 -9.5t9.5 -23.5v-863h192q40 0 58 -37t-9 -69l-320 -384q-18 -22 -49 -22t-49 22l-320 384q-26 31 -9 69q18 37 58 37h192v640h-320q-14 0 -25 11l-160 192q-13 14 -4 34q9 19 29 19z" />
<glyph unicode="&#xf14a;" d="M685 237l614 614q19 19 19 45t-19 45l-102 102q-19 19 -45 19t-45 -19l-467 -467l-211 211q-19 19 -45 19t-45 -19l-102 -102q-19 -19 -19 -45t19 -45l358 -358q19 -19 45 -19t45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5 t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14b;" d="M404 428l152 -152l-52 -52h-56v96h-96v56zM818 818q14 -13 -3 -30l-291 -291q-17 -17 -30 -3q-14 13 3 30l291 291q17 17 30 3zM544 128l544 544l-288 288l-544 -544v-288h288zM1152 736l92 92q28 28 28 68t-28 68l-152 152q-28 28 -68 28t-68 -28l-92 -92zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14c;" d="M1280 608v480q0 26 -19 45t-45 19h-480q-42 0 -59 -39q-17 -41 14 -70l144 -144l-534 -534q-19 -19 -19 -45t19 -45l102 -102q19 -19 45 -19t45 19l534 534l144 -144q18 -19 45 -19q12 0 25 5q39 17 39 59zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14d;" d="M1005 435l352 352q19 19 19 45t-19 45l-352 352q-30 31 -69 14q-40 -17 -40 -59v-160q-119 0 -216 -19.5t-162.5 -51t-114 -79t-76.5 -95.5t-44.5 -109t-21.5 -111.5t-5 -110.5q0 -181 167 -404q10 -12 25 -12q7 0 13 3q22 9 19 33q-44 354 62 473q46 52 130 75.5 t224 23.5v-160q0 -42 40 -59q12 -5 24 -5q26 0 45 19zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf14e;" d="M640 448l256 128l-256 128v-256zM1024 1039v-542l-512 -256v542zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf150;" d="M1145 861q18 -35 -5 -66l-320 -448q-19 -27 -52 -27t-52 27l-320 448q-23 31 -5 66q17 35 57 35h640q40 0 57 -35zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf151;" d="M1145 419q-17 -35 -57 -35h-640q-40 0 -57 35q-18 35 5 66l320 448q19 27 52 27t52 -27l320 -448q23 -31 5 -66zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5zM1536 1120v-960 q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf152;" d="M1088 640q0 -33 -27 -52l-448 -320q-31 -23 -66 -5q-35 17 -35 57v640q0 40 35 57q35 18 66 -5l448 -320q27 -19 27 -52zM1280 160v960q0 14 -9 23t-23 9h-960q-14 0 -23 -9t-9 -23v-960q0 -14 9 -23t23 -9h960q14 0 23 9t9 23zM1536 1120v-960q0 -119 -84.5 -203.5 t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf153;" horiz-adv-x="1024" d="M976 229l35 -159q3 -12 -3 -22.5t-17 -14.5l-5 -1q-4 -2 -10.5 -3.5t-16 -4.5t-21.5 -5.5t-25.5 -5t-30 -5t-33.5 -4.5t-36.5 -3t-38.5 -1q-234 0 -409 130.5t-238 351.5h-95q-13 0 -22.5 9.5t-9.5 22.5v113q0 13 9.5 22.5t22.5 9.5h66q-2 57 1 105h-67q-14 0 -23 9 t-9 23v114q0 14 9 23t23 9h98q67 210 243.5 338t400.5 128q102 0 194 -23q11 -3 20 -15q6 -11 3 -24l-43 -159q-3 -13 -14 -19.5t-24 -2.5l-4 1q-4 1 -11.5 2.5l-17.5 3.5t-22.5 3.5t-26 3t-29 2.5t-29.5 1q-126 0 -226 -64t-150 -176h468q16 0 25 -12q10 -12 7 -26 l-24 -114q-5 -26 -32 -26h-488q-3 -37 0 -105h459q15 0 25 -12q9 -12 6 -27l-24 -112q-2 -11 -11 -18.5t-20 -7.5h-387q48 -117 149.5 -185.5t228.5 -68.5q18 0 36 1.5t33.5 3.5t29.5 4.5t24.5 5t18.5 4.5l12 3l5 2q13 5 26 -2q12 -7 15 -21z" />
<glyph unicode="&#xf154;" horiz-adv-x="1024" d="M1020 399v-367q0 -14 -9 -23t-23 -9h-956q-14 0 -23 9t-9 23v150q0 13 9.5 22.5t22.5 9.5h97v383h-95q-14 0 -23 9.5t-9 22.5v131q0 14 9 23t23 9h95v223q0 171 123.5 282t314.5 111q185 0 335 -125q9 -8 10 -20.5t-7 -22.5l-103 -127q-9 -11 -22 -12q-13 -2 -23 7 q-5 5 -26 19t-69 32t-93 18q-85 0 -137 -47t-52 -123v-215h305q13 0 22.5 -9t9.5 -23v-131q0 -13 -9.5 -22.5t-22.5 -9.5h-305v-379h414v181q0 13 9 22.5t23 9.5h162q14 0 23 -9.5t9 -22.5z" />
<glyph unicode="&#xf155;" horiz-adv-x="1024" d="M978 351q0 -153 -99.5 -263.5t-258.5 -136.5v-175q0 -14 -9 -23t-23 -9h-135q-13 0 -22.5 9.5t-9.5 22.5v175q-66 9 -127.5 31t-101.5 44.5t-74 48t-46.5 37.5t-17.5 18q-17 21 -2 41l103 135q7 10 23 12q15 2 24 -9l2 -2q113 -99 243 -125q37 -8 74 -8q81 0 142.5 43 t61.5 122q0 28 -15 53t-33.5 42t-58.5 37.5t-66 32t-80 32.5q-39 16 -61.5 25t-61.5 26.5t-62.5 31t-56.5 35.5t-53.5 42.5t-43.5 49t-35.5 58t-21 66.5t-8.5 78q0 138 98 242t255 134v180q0 13 9.5 22.5t22.5 9.5h135q14 0 23 -9t9 -23v-176q57 -6 110.5 -23t87 -33.5 t63.5 -37.5t39 -29t15 -14q17 -18 5 -38l-81 -146q-8 -15 -23 -16q-14 -3 -27 7q-3 3 -14.5 12t-39 26.5t-58.5 32t-74.5 26t-85.5 11.5q-95 0 -155 -43t-60 -111q0 -26 8.5 -48t29.5 -41.5t39.5 -33t56 -31t60.5 -27t70 -27.5q53 -20 81 -31.5t76 -35t75.5 -42.5t62 -50 t53 -63.5t31.5 -76.5t13 -94z" />
<glyph unicode="&#xf156;" horiz-adv-x="898" d="M898 1066v-102q0 -14 -9 -23t-23 -9h-168q-23 -144 -129 -234t-276 -110q167 -178 459 -536q14 -16 4 -34q-8 -18 -29 -18h-195q-16 0 -25 12q-306 367 -498 571q-9 9 -9 22v127q0 13 9.5 22.5t22.5 9.5h112q132 0 212.5 43t102.5 125h-427q-14 0 -23 9t-9 23v102 q0 14 9 23t23 9h413q-57 113 -268 113h-145q-13 0 -22.5 9.5t-9.5 22.5v133q0 14 9 23t23 9h832q14 0 23 -9t9 -23v-102q0 -14 -9 -23t-23 -9h-233q47 -61 64 -144h171q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf157;" horiz-adv-x="1027" d="M603 0h-172q-13 0 -22.5 9t-9.5 23v330h-288q-13 0 -22.5 9t-9.5 23v103q0 13 9.5 22.5t22.5 9.5h288v85h-288q-13 0 -22.5 9t-9.5 23v104q0 13 9.5 22.5t22.5 9.5h214l-321 578q-8 16 0 32q10 16 28 16h194q19 0 29 -18l215 -425q19 -38 56 -125q10 24 30.5 68t27.5 61 l191 420q8 19 29 19h191q17 0 27 -16q9 -14 1 -31l-313 -579h215q13 0 22.5 -9.5t9.5 -22.5v-104q0 -14 -9.5 -23t-22.5 -9h-290v-85h290q13 0 22.5 -9.5t9.5 -22.5v-103q0 -14 -9.5 -23t-22.5 -9h-290v-330q0 -13 -9.5 -22.5t-22.5 -9.5z" />
<glyph unicode="&#xf158;" horiz-adv-x="1280" d="M1043 971q0 100 -65 162t-171 62h-320v-448h320q106 0 171 62t65 162zM1280 971q0 -193 -126.5 -315t-326.5 -122h-340v-118h505q14 0 23 -9t9 -23v-128q0 -14 -9 -23t-23 -9h-505v-192q0 -14 -9.5 -23t-22.5 -9h-167q-14 0 -23 9t-9 23v192h-224q-14 0 -23 9t-9 23v128 q0 14 9 23t23 9h224v118h-224q-14 0 -23 9t-9 23v149q0 13 9 22.5t23 9.5h224v629q0 14 9 23t23 9h539q200 0 326.5 -122t126.5 -315z" />
<glyph unicode="&#xf159;" horiz-adv-x="1792" d="M514 341l81 299h-159l75 -300q1 -1 1 -3t1 -3q0 1 0.5 3.5t0.5 3.5zM630 768l35 128h-292l32 -128h225zM822 768h139l-35 128h-70zM1271 340l78 300h-162l81 -299q0 -1 0.5 -3.5t1.5 -3.5q0 1 0.5 3t0.5 3zM1382 768l33 128h-297l34 -128h230zM1792 736v-64q0 -14 -9 -23 t-23 -9h-213l-164 -616q-7 -24 -31 -24h-159q-24 0 -31 24l-166 616h-209l-167 -616q-7 -24 -31 -24h-159q-11 0 -19.5 7t-10.5 17l-160 616h-208q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h175l-33 128h-142q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h109l-89 344q-5 15 5 28 q10 12 26 12h137q26 0 31 -24l90 -360h359l97 360q7 24 31 24h126q24 0 31 -24l98 -360h365l93 360q5 24 31 24h137q16 0 26 -12q10 -13 5 -28l-91 -344h111q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-145l-34 -128h179q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf15a;" horiz-adv-x="1280" d="M1167 896q18 -182 -131 -258q117 -28 175 -103t45 -214q-7 -71 -32.5 -125t-64.5 -89t-97 -58.5t-121.5 -34.5t-145.5 -15v-255h-154v251q-80 0 -122 1v-252h-154v255q-18 0 -54 0.5t-55 0.5h-200l31 183h111q50 0 58 51v402h16q-6 1 -16 1v287q-13 68 -89 68h-111v164 l212 -1q64 0 97 1v252h154v-247q82 2 122 2v245h154v-252q79 -7 140 -22.5t113 -45t82.5 -78t36.5 -114.5zM952 351q0 36 -15 64t-37 46t-57.5 30.5t-65.5 18.5t-74 9t-69 3t-64.5 -1t-47.5 -1v-338q8 0 37 -0.5t48 -0.5t53 1.5t58.5 4t57 8.5t55.5 14t47.5 21t39.5 30 t24.5 40t9.5 51zM881 827q0 33 -12.5 58.5t-30.5 42t-48 28t-55 16.5t-61.5 8t-58 2.5t-54 -1t-39.5 -0.5v-307q5 0 34.5 -0.5t46.5 0t50 2t55 5.5t51.5 11t48.5 18.5t37 27t27 38.5t9 51z" />
<glyph unicode="&#xf15b;" horiz-adv-x="1280" d="M1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
<glyph unicode="&#xf15c;" horiz-adv-x="1280" d="M1024 160v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1024 416v64q0 14 -9 23t-23 9h-704q-14 0 -23 -9t-9 -23v-64q0 -14 9 -23t23 -9h704q14 0 23 9t9 23zM1280 768v-800q0 -40 -28 -68t-68 -28h-1088q-40 0 -68 28 t-28 68v1344q0 40 28 68t68 28h544v-544q0 -40 28 -68t68 -28h544zM1277 896h-509v509q82 -15 132 -65l312 -312q50 -50 65 -132z" />
<glyph unicode="&#xf15d;" horiz-adv-x="1664" d="M1191 1128h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1572 -23 v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -11v-2l14 2q9 2 30 2h248v119h121zM1661 874v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162 l230 -662h70z" />
<glyph unicode="&#xf15e;" horiz-adv-x="1664" d="M1191 104h177l-72 218l-12 47q-2 16 -2 20h-4l-3 -20q0 -1 -3.5 -18t-7.5 -29zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1661 -150 v-106h-288v106h75l-47 144h-243l-47 -144h75v-106h-287v106h70l230 662h162l230 -662h70zM1572 1001v-233h-584v90l369 529q12 18 21 27l11 9v3q-2 0 -6.5 -0.5t-7.5 -0.5q-12 -3 -30 -3h-232v-115h-120v229h567v-89l-369 -530q-6 -8 -21 -26l-11 -10v-3l14 3q9 1 30 1h248 v119h121z" />
<glyph unicode="&#xf160;" horiz-adv-x="1792" d="M736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23zM1792 -32v-192q0 -14 -9 -23t-23 -9h-832q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832 q14 0 23 -9t9 -23zM1600 480v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1408 992v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1216 1504v-192q0 -14 -9 -23t-23 -9h-256 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf161;" horiz-adv-x="1792" d="M1216 -32v-192q0 -14 -9 -23t-23 -9h-256q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h256q14 0 23 -9t9 -23zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192 q14 0 23 -9t9 -23zM1408 480v-192q0 -14 -9 -23t-23 -9h-448q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h448q14 0 23 -9t9 -23zM1600 992v-192q0 -14 -9 -23t-23 -9h-640q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h640q14 0 23 -9t9 -23zM1792 1504v-192q0 -14 -9 -23t-23 -9h-832 q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h832q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf162;" d="M1346 223q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9t9 -23 zM1486 165q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5 t82 -252.5zM1456 882v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165z" />
<glyph unicode="&#xf163;" d="M1346 1247q0 63 -44 116t-103 53q-52 0 -83 -37t-31 -94t36.5 -95t104.5 -38q50 0 85 27t35 68zM736 96q0 -12 -10 -24l-319 -319q-10 -9 -23 -9q-12 0 -23 9l-320 320q-15 16 -7 35q8 20 30 20h192v1376q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1376h192q14 0 23 -9 t9 -23zM1456 -142v-114h-469v114h167v432q0 7 0.5 19t0.5 17v16h-2l-7 -12q-8 -13 -26 -31l-62 -58l-82 86l192 185h123v-654h165zM1486 1189q0 -62 -13 -121.5t-41 -114t-68 -95.5t-98.5 -65.5t-127.5 -24.5q-62 0 -108 16q-24 8 -42 15l39 113q15 -7 31 -11q37 -13 75 -13 q84 0 134.5 58.5t66.5 145.5h-2q-21 -23 -61.5 -37t-84.5 -14q-106 0 -173 71.5t-67 172.5q0 105 72 178t181 73q123 0 205 -94.5t82 -252.5z" />
<glyph unicode="&#xf164;" horiz-adv-x="1664" d="M256 192q0 26 -19 45t-45 19q-27 0 -45.5 -19t-18.5 -45q0 -27 18.5 -45.5t45.5 -18.5q26 0 45 18.5t19 45.5zM416 704v-640q0 -26 -19 -45t-45 -19h-288q-26 0 -45 19t-19 45v640q0 26 19 45t45 19h288q26 0 45 -19t19 -45zM1600 704q0 -86 -55 -149q15 -44 15 -76 q3 -76 -43 -137q17 -56 0 -117q-15 -57 -54 -94q9 -112 -49 -181q-64 -76 -197 -78h-36h-76h-17q-66 0 -144 15.5t-121.5 29t-120.5 39.5q-123 43 -158 44q-26 1 -45 19.5t-19 44.5v641q0 25 18 43.5t43 20.5q24 2 76 59t101 121q68 87 101 120q18 18 31 48t17.5 48.5 t13.5 60.5q7 39 12.5 61t19.5 52t34 50q19 19 45 19q46 0 82.5 -10.5t60 -26t40 -40.5t24 -45t12 -50t5 -45t0.5 -39q0 -38 -9.5 -76t-19 -60t-27.5 -56q-3 -6 -10 -18t-11 -22t-8 -24h277q78 0 135 -57t57 -135z" />
<glyph unicode="&#xf165;" horiz-adv-x="1664" d="M256 960q0 -26 -19 -45t-45 -19q-27 0 -45.5 19t-18.5 45q0 27 18.5 45.5t45.5 18.5q26 0 45 -18.5t19 -45.5zM416 448v640q0 26 -19 45t-45 19h-288q-26 0 -45 -19t-19 -45v-640q0 -26 19 -45t45 -19h288q26 0 45 19t19 45zM1545 597q55 -61 55 -149q-1 -78 -57.5 -135 t-134.5 -57h-277q4 -14 8 -24t11 -22t10 -18q18 -37 27 -57t19 -58.5t10 -76.5q0 -24 -0.5 -39t-5 -45t-12 -50t-24 -45t-40 -40.5t-60 -26t-82.5 -10.5q-26 0 -45 19q-20 20 -34 50t-19.5 52t-12.5 61q-9 42 -13.5 60.5t-17.5 48.5t-31 48q-33 33 -101 120q-49 64 -101 121 t-76 59q-25 2 -43 20.5t-18 43.5v641q0 26 19 44.5t45 19.5q35 1 158 44q77 26 120.5 39.5t121.5 29t144 15.5h17h76h36q133 -2 197 -78q58 -69 49 -181q39 -37 54 -94q17 -61 0 -117q46 -61 43 -137q0 -32 -15 -76z" />
<glyph unicode="&#xf166;" d="M919 233v157q0 50 -29 50q-17 0 -33 -16v-224q16 -16 33 -16q29 0 29 49zM1103 355h66v34q0 51 -33 51t-33 -51v-34zM532 621v-70h-80v-423h-74v423h-78v70h232zM733 495v-367h-67v40q-39 -45 -76 -45q-33 0 -42 28q-6 16 -6 54v290h66v-270q0 -24 1 -26q1 -15 15 -15 q20 0 42 31v280h67zM985 384v-146q0 -52 -7 -73q-12 -42 -53 -42q-35 0 -68 41v-36h-67v493h67v-161q32 40 68 40q41 0 53 -42q7 -21 7 -74zM1236 255v-9q0 -29 -2 -43q-3 -22 -15 -40q-27 -40 -80 -40q-52 0 -81 38q-21 27 -21 86v129q0 59 20 86q29 38 80 38t78 -38 q21 -28 21 -86v-76h-133v-65q0 -51 34 -51q24 0 30 26q0 1 0.5 7t0.5 16.5v21.5h68zM785 1079v-156q0 -51 -32 -51t-32 51v156q0 52 32 52t32 -52zM1318 366q0 177 -19 260q-10 44 -43 73.5t-76 34.5q-136 15 -412 15q-275 0 -411 -15q-44 -5 -76.5 -34.5t-42.5 -73.5 q-20 -87 -20 -260q0 -176 20 -260q10 -43 42.5 -73t75.5 -35q137 -15 412 -15t412 15q43 5 75.5 35t42.5 73q20 84 20 260zM563 1017l90 296h-75l-51 -195l-53 195h-78l24 -69t23 -69q35 -103 46 -158v-201h74v201zM852 936v130q0 58 -21 87q-29 38 -78 38q-51 0 -78 -38 q-21 -29 -21 -87v-130q0 -58 21 -87q27 -38 78 -38q49 0 78 38q21 27 21 87zM1033 816h67v370h-67v-283q-22 -31 -42 -31q-15 0 -16 16q-1 2 -1 26v272h-67v-293q0 -37 6 -55q11 -27 43 -27q36 0 77 45v-40zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960 q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf167;" d="M971 292v-211q0 -67 -39 -67q-23 0 -45 22v301q22 22 45 22q39 0 39 -67zM1309 291v-46h-90v46q0 68 45 68t45 -68zM343 509h107v94h-312v-94h105v-569h100v569zM631 -60h89v494h-89v-378q-30 -42 -57 -42q-18 0 -21 21q-1 3 -1 35v364h-89v-391q0 -49 8 -73 q12 -37 58 -37q48 0 102 61v-54zM1060 88v197q0 73 -9 99q-17 56 -71 56q-50 0 -93 -54v217h-89v-663h89v48q45 -55 93 -55q54 0 71 55q9 27 9 100zM1398 98v13h-91q0 -51 -2 -61q-7 -36 -40 -36q-46 0 -46 69v87h179v103q0 79 -27 116q-39 51 -106 51q-68 0 -107 -51 q-28 -37 -28 -116v-173q0 -79 29 -116q39 -51 108 -51q72 0 108 53q18 27 21 54q2 9 2 58zM790 1011v210q0 69 -43 69t-43 -69v-210q0 -70 43 -70t43 70zM1509 260q0 -234 -26 -350q-14 -59 -58 -99t-102 -46q-184 -21 -555 -21t-555 21q-58 6 -102.5 46t-57.5 99 q-26 112 -26 350q0 234 26 350q14 59 58 99t103 47q183 20 554 20t555 -20q58 -7 102.5 -47t57.5 -99q26 -112 26 -350zM511 1536h102l-121 -399v-271h-100v271q-14 74 -61 212q-37 103 -65 187h106l71 -263zM881 1203v-175q0 -81 -28 -118q-37 -51 -106 -51q-67 0 -105 51 q-28 38 -28 118v175q0 80 28 117q38 51 105 51q69 0 106 -51q28 -37 28 -117zM1216 1365v-499h-91v55q-53 -62 -103 -62q-46 0 -59 37q-8 24 -8 75v394h91v-367q0 -33 1 -35q3 -22 21 -22q27 0 57 43v381h91z" />
<glyph unicode="&#xf168;" horiz-adv-x="1408" d="M597 869q-10 -18 -257 -456q-27 -46 -65 -46h-239q-21 0 -31 17t0 36l253 448q1 0 0 1l-161 279q-12 22 -1 37q9 15 32 15h239q40 0 66 -45zM1403 1511q11 -16 0 -37l-528 -934v-1l336 -615q11 -20 1 -37q-10 -15 -32 -15h-239q-42 0 -66 45l-339 622q18 32 531 942 q25 45 64 45h241q22 0 31 -15z" />
<glyph unicode="&#xf169;" d="M685 771q0 1 -126 222q-21 34 -52 34h-184q-18 0 -26 -11q-7 -12 1 -29l125 -216v-1l-196 -346q-9 -14 0 -28q8 -13 24 -13h185q31 0 50 36zM1309 1268q-7 12 -24 12h-187q-30 0 -49 -35l-411 -729q1 -2 262 -481q20 -35 52 -35h184q18 0 25 12q8 13 -1 28l-260 476v1 l409 723q8 16 0 28zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf16a;" horiz-adv-x="1792" d="M1280 640q0 37 -30 54l-512 320q-31 20 -65 2q-33 -18 -33 -56v-640q0 -38 33 -56q16 -8 31 -8q20 0 34 10l512 320q30 17 30 54zM1792 640q0 -96 -1 -150t-8.5 -136.5t-22.5 -147.5q-16 -73 -69 -123t-124 -58q-222 -25 -671 -25t-671 25q-71 8 -124.5 58t-69.5 123 q-14 65 -21.5 147.5t-8.5 136.5t-1 150t1 150t8.5 136.5t22.5 147.5q16 73 69 123t124 58q222 25 671 25t671 -25q71 -8 124.5 -58t69.5 -123q14 -65 21.5 -147.5t8.5 -136.5t1 -150z" />
<glyph unicode="&#xf16b;" horiz-adv-x="1792" d="M402 829l494 -305l-342 -285l-490 319zM1388 274v-108l-490 -293v-1l-1 1l-1 -1v1l-489 293v108l147 -96l342 284v2l1 -1l1 1v-2l343 -284zM554 1418l342 -285l-494 -304l-338 270zM1390 829l338 -271l-489 -319l-343 285zM1239 1418l489 -319l-338 -270l-494 304z" />
<glyph unicode="&#xf16c;" horiz-adv-x="1408" d="M928 135v-151l-707 -1v151zM1169 481v-701l-1 -35v-1h-1132l-35 1h-1v736h121v-618h928v618h120zM241 393l704 -65l-13 -150l-705 65zM309 709l683 -183l-39 -146l-683 183zM472 1058l609 -360l-77 -130l-609 360zM832 1389l398 -585l-124 -85l-399 584zM1285 1536 l121 -697l-149 -26l-121 697z" />
<glyph unicode="&#xf16d;" d="M1362 110v648h-135q20 -63 20 -131q0 -126 -64 -232.5t-174 -168.5t-240 -62q-197 0 -337 135.5t-140 327.5q0 68 20 131h-141v-648q0 -26 17.5 -43.5t43.5 -17.5h1069q25 0 43 17.5t18 43.5zM1078 643q0 124 -90.5 211.5t-218.5 87.5q-127 0 -217.5 -87.5t-90.5 -211.5 t90.5 -211.5t217.5 -87.5q128 0 218.5 87.5t90.5 211.5zM1362 1003v165q0 28 -20 48.5t-49 20.5h-174q-29 0 -49 -20.5t-20 -48.5v-165q0 -29 20 -49t49 -20h174q29 0 49 20t20 49zM1536 1211v-1142q0 -81 -58 -139t-139 -58h-1142q-81 0 -139 58t-58 139v1142q0 81 58 139 t139 58h1142q81 0 139 -58t58 -139z" />
<glyph unicode="&#xf16e;" d="M1248 1408q119 0 203.5 -84.5t84.5 -203.5v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960zM698 640q0 88 -62 150t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150zM1262 640q0 88 -62 150 t-150 62t-150 -62t-62 -150t62 -150t150 -62t150 62t62 150z" />
<glyph unicode="&#xf170;" d="M768 914l201 -306h-402zM1133 384h94l-459 691l-459 -691h94l104 160h522zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf171;" horiz-adv-x="1408" d="M815 677q8 -63 -50.5 -101t-111.5 -6q-39 17 -53.5 58t-0.5 82t52 58q36 18 72.5 12t64 -35.5t27.5 -67.5zM926 698q-14 107 -113 164t-197 13q-63 -28 -100.5 -88.5t-34.5 -129.5q4 -91 77.5 -155t165.5 -56q91 8 152 84t50 168zM1165 1240q-20 27 -56 44.5t-58 22 t-71 12.5q-291 47 -566 -2q-43 -7 -66 -12t-55 -22t-50 -43q30 -28 76 -45.5t73.5 -22t87.5 -11.5q228 -29 448 -1q63 8 89.5 12t72.5 21.5t75 46.5zM1222 205q-8 -26 -15.5 -76.5t-14 -84t-28.5 -70t-58 -56.5q-86 -48 -189.5 -71.5t-202 -22t-201.5 18.5q-46 8 -81.5 18 t-76.5 27t-73 43.5t-52 61.5q-25 96 -57 292l6 16l18 9q223 -148 506.5 -148t507.5 148q21 -6 24 -23t-5 -45t-8 -37zM1403 1166q-26 -167 -111 -655q-5 -30 -27 -56t-43.5 -40t-54.5 -31q-252 -126 -610 -88q-248 27 -394 139q-15 12 -25.5 26.5t-17 35t-9 34t-6 39.5 t-5.5 35q-9 50 -26.5 150t-28 161.5t-23.5 147.5t-22 158q3 26 17.5 48.5t31.5 37.5t45 30t46 22.5t48 18.5q125 46 313 64q379 37 676 -50q155 -46 215 -122q16 -20 16.5 -51t-5.5 -54z" />
<glyph unicode="&#xf172;" d="M848 666q0 43 -41 66t-77 1q-43 -20 -42.5 -72.5t43.5 -70.5q39 -23 81 4t36 72zM928 682q8 -66 -36 -121t-110 -61t-119 40t-56 113q-2 49 25.5 93t72.5 64q70 31 141.5 -10t81.5 -118zM1100 1073q-20 -21 -53.5 -34t-53 -16t-63.5 -8q-155 -20 -324 0q-44 6 -63 9.5 t-52.5 16t-54.5 32.5q13 19 36 31t40 15.5t47 8.5q198 35 408 1q33 -5 51 -8.5t43 -16t39 -31.5zM1142 327q0 7 5.5 26.5t3 32t-17.5 16.5q-161 -106 -365 -106t-366 106l-12 -6l-5 -12q26 -154 41 -210q47 -81 204 -108q249 -46 428 53q34 19 49 51.5t22.5 85.5t12.5 71z M1272 1020q9 53 -8 75q-43 55 -155 88q-216 63 -487 36q-132 -12 -226 -46q-38 -15 -59.5 -25t-47 -34t-29.5 -54q8 -68 19 -138t29 -171t24 -137q1 -5 5 -31t7 -36t12 -27t22 -28q105 -80 284 -100q259 -28 440 63q24 13 39.5 23t31 29t19.5 40q48 267 80 473zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf173;" horiz-adv-x="1024" d="M390 1408h219v-388h364v-241h-364v-394q0 -136 14 -172q13 -37 52 -60q50 -31 117 -31q117 0 232 76v-242q-102 -48 -178 -65q-77 -19 -173 -19q-105 0 -186 27q-78 25 -138 75q-58 51 -79 105q-22 54 -22 161v539h-170v217q91 30 155 84q64 55 103 132q39 78 54 196z " />
<glyph unicode="&#xf174;" d="M1123 127v181q-88 -56 -174 -56q-51 0 -88 23q-29 17 -39 45q-11 30 -11 129v295h274v181h-274v291h-164q-11 -90 -40 -147t-78 -99q-48 -40 -116 -63v-163h127v-404q0 -78 17 -121q17 -42 59 -78q43 -37 104 -57q62 -20 140 -20q67 0 129 14q57 13 134 49zM1536 1120 v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf175;" horiz-adv-x="768" d="M765 237q8 -19 -5 -35l-350 -384q-10 -10 -23 -10q-14 0 -24 10l-355 384q-13 16 -5 35q9 19 29 19h224v1248q0 14 9 23t23 9h192q14 0 23 -9t9 -23v-1248h224q21 0 29 -19z" />
<glyph unicode="&#xf176;" horiz-adv-x="768" d="M765 1043q-9 -19 -29 -19h-224v-1248q0 -14 -9 -23t-23 -9h-192q-14 0 -23 9t-9 23v1248h-224q-21 0 -29 19t5 35l350 384q10 10 23 10q14 0 24 -10l355 -384q13 -16 5 -35z" />
<glyph unicode="&#xf177;" horiz-adv-x="1792" d="M1792 736v-192q0 -14 -9 -23t-23 -9h-1248v-224q0 -21 -19 -29t-35 5l-384 350q-10 10 -10 23q0 14 10 24l384 354q16 14 35 6q19 -9 19 -29v-224h1248q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf178;" horiz-adv-x="1792" d="M1728 643q0 -14 -10 -24l-384 -354q-16 -14 -35 -6q-19 9 -19 29v224h-1248q-14 0 -23 9t-9 23v192q0 14 9 23t23 9h1248v224q0 21 19 29t35 -5l384 -350q10 -10 10 -23z" />
<glyph unicode="&#xf179;" horiz-adv-x="1408" d="M1393 321q-39 -125 -123 -250q-129 -196 -257 -196q-49 0 -140 32q-86 32 -151 32q-61 0 -142 -33q-81 -34 -132 -34q-152 0 -301 259q-147 261 -147 503q0 228 113 374q112 144 284 144q72 0 177 -30q104 -30 138 -30q45 0 143 34q102 34 173 34q119 0 213 -65 q52 -36 104 -100q-79 -67 -114 -118q-65 -94 -65 -207q0 -124 69 -223t158 -126zM1017 1494q0 -61 -29 -136q-30 -75 -93 -138q-54 -54 -108 -72q-37 -11 -104 -17q3 149 78 257q74 107 250 148q1 -3 2.5 -11t2.5 -11q0 -4 0.5 -10t0.5 -10z" />
<glyph unicode="&#xf17a;" horiz-adv-x="1664" d="M682 530v-651l-682 94v557h682zM682 1273v-659h-682v565zM1664 530v-786l-907 125v661h907zM1664 1408v-794h-907v669z" />
<glyph unicode="&#xf17b;" horiz-adv-x="1408" d="M493 1053q16 0 27.5 11.5t11.5 27.5t-11.5 27.5t-27.5 11.5t-27 -11.5t-11 -27.5t11 -27.5t27 -11.5zM915 1053q16 0 27 11.5t11 27.5t-11 27.5t-27 11.5t-27.5 -11.5t-11.5 -27.5t11.5 -27.5t27.5 -11.5zM103 869q42 0 72 -30t30 -72v-430q0 -43 -29.5 -73t-72.5 -30 t-73 30t-30 73v430q0 42 30 72t73 30zM1163 850v-666q0 -46 -32 -78t-77 -32h-75v-227q0 -43 -30 -73t-73 -30t-73 30t-30 73v227h-138v-227q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73l-1 227h-74q-46 0 -78 32t-32 78v666h918zM931 1255q107 -55 171 -153.5t64 -215.5 h-925q0 117 64 215.5t172 153.5l-71 131q-7 13 5 20q13 6 20 -6l72 -132q95 42 201 42t201 -42l72 132q7 12 20 6q12 -7 5 -20zM1408 767v-430q0 -43 -30 -73t-73 -30q-42 0 -72 30t-30 73v430q0 43 30 72.5t72 29.5q43 0 73 -29.5t30 -72.5z" />
<glyph unicode="&#xf17c;" d="M663 1125q-11 -1 -15.5 -10.5t-8.5 -9.5q-5 -1 -5 5q0 12 19 15h10zM750 1111q-4 -1 -11.5 6.5t-17.5 4.5q24 11 32 -2q3 -6 -3 -9zM399 684q-4 1 -6 -3t-4.5 -12.5t-5.5 -13.5t-10 -13q-7 -10 -1 -12q4 -1 12.5 7t12.5 18q1 3 2 7t2 6t1.5 4.5t0.5 4v3t-1 2.5t-3 2z M1254 325q0 18 -55 42q4 15 7.5 27.5t5 26t3 21.5t0.5 22.5t-1 19.5t-3.5 22t-4 20.5t-5 25t-5.5 26.5q-10 48 -47 103t-72 75q24 -20 57 -83q87 -162 54 -278q-11 -40 -50 -42q-31 -4 -38.5 18.5t-8 83.5t-11.5 107q-9 39 -19.5 69t-19.5 45.5t-15.5 24.5t-13 15t-7.5 7 q-14 62 -31 103t-29.5 56t-23.5 33t-15 40q-4 21 6 53.5t4.5 49.5t-44.5 25q-15 3 -44.5 18t-35.5 16q-8 1 -11 26t8 51t36 27q37 3 51 -30t4 -58q-11 -19 -2 -26.5t30 -0.5q13 4 13 36v37q-5 30 -13.5 50t-21 30.5t-23.5 15t-27 7.5q-107 -8 -89 -134q0 -15 -1 -15 q-9 9 -29.5 10.5t-33 -0.5t-15.5 5q1 57 -16 90t-45 34q-27 1 -41.5 -27.5t-16.5 -59.5q-1 -15 3.5 -37t13 -37.5t15.5 -13.5q10 3 16 14q4 9 -7 8q-7 0 -15.5 14.5t-9.5 33.5q-1 22 9 37t34 14q17 0 27 -21t9.5 -39t-1.5 -22q-22 -15 -31 -29q-8 -12 -27.5 -23.5 t-20.5 -12.5q-13 -14 -15.5 -27t7.5 -18q14 -8 25 -19.5t16 -19t18.5 -13t35.5 -6.5q47 -2 102 15q2 1 23 7t34.5 10.5t29.5 13t21 17.5q9 14 20 8q5 -3 6.5 -8.5t-3 -12t-16.5 -9.5q-20 -6 -56.5 -21.5t-45.5 -19.5q-44 -19 -70 -23q-25 -5 -79 2q-10 2 -9 -2t17 -19 q25 -23 67 -22q17 1 36 7t36 14t33.5 17.5t30 17t24.5 12t17.5 2.5t8.5 -11q0 -2 -1 -4.5t-4 -5t-6 -4.5t-8.5 -5t-9 -4.5t-10 -5t-9.5 -4.5q-28 -14 -67.5 -44t-66.5 -43t-49 -1q-21 11 -63 73q-22 31 -25 22q-1 -3 -1 -10q0 -25 -15 -56.5t-29.5 -55.5t-21 -58t11.5 -63 q-23 -6 -62.5 -90t-47.5 -141q-2 -18 -1.5 -69t-5.5 -59q-8 -24 -29 -3q-32 31 -36 94q-2 28 4 56q4 19 -1 18l-4 -5q-36 -65 10 -166q5 -12 25 -28t24 -20q20 -23 104 -90.5t93 -76.5q16 -15 17.5 -38t-14 -43t-45.5 -23q8 -15 29 -44.5t28 -54t7 -70.5q46 24 7 92 q-4 8 -10.5 16t-9.5 12t-2 6q3 5 13 9.5t20 -2.5q46 -52 166 -36q133 15 177 87q23 38 34 30q12 -6 10 -52q-1 -25 -23 -92q-9 -23 -6 -37.5t24 -15.5q3 19 14.5 77t13.5 90q2 21 -6.5 73.5t-7.5 97t23 70.5q15 18 51 18q1 37 34.5 53t72.5 10.5t60 -22.5zM626 1152 q3 17 -2.5 30t-11.5 15q-9 2 -9 -7q2 -5 5 -6q10 0 7 -15q-3 -20 8 -20q3 0 3 3zM1045 955q-2 8 -6.5 11.5t-13 5t-14.5 5.5q-5 3 -9.5 8t-7 8t-5.5 6.5t-4 4t-4 -1.5q-14 -16 7 -43.5t39 -31.5q9 -1 14.5 8t3.5 20zM867 1168q0 11 -5 19.5t-11 12.5t-9 3q-14 -1 -7 -7l4 -2 q14 -4 18 -31q0 -3 8 2zM921 1401q0 2 -2.5 5t-9 7t-9.5 6q-15 15 -24 15q-9 -1 -11.5 -7.5t-1 -13t-0.5 -12.5q-1 -4 -6 -10.5t-6 -9t3 -8.5q4 -3 8 0t11 9t15 9q1 1 9 1t15 2t9 7zM1486 60q20 -12 31 -24.5t12 -24t-2.5 -22.5t-15.5 -22t-23.5 -19.5t-30 -18.5 t-31.5 -16.5t-32 -15.5t-27 -13q-38 -19 -85.5 -56t-75.5 -64q-17 -16 -68 -19.5t-89 14.5q-18 9 -29.5 23.5t-16.5 25.5t-22 19.5t-47 9.5q-44 1 -130 1q-19 0 -57 -1.5t-58 -2.5q-44 -1 -79.5 -15t-53.5 -30t-43.5 -28.5t-53.5 -11.5q-29 1 -111 31t-146 43q-19 4 -51 9.5 t-50 9t-39.5 9.5t-33.5 14.5t-17 19.5q-10 23 7 66.5t18 54.5q1 16 -4 40t-10 42.5t-4.5 36.5t10.5 27q14 12 57 14t60 12q30 18 42 35t12 51q21 -73 -32 -106q-32 -20 -83 -15q-34 3 -43 -10q-13 -15 5 -57q2 -6 8 -18t8.5 -18t4.5 -17t1 -22q0 -15 -17 -49t-14 -48 q3 -17 37 -26q20 -6 84.5 -18.5t99.5 -20.5q24 -6 74 -22t82.5 -23t55.5 -4q43 6 64.5 28t23 48t-7.5 58.5t-19 52t-20 36.5q-121 190 -169 242q-68 74 -113 40q-11 -9 -15 15q-3 16 -2 38q1 29 10 52t24 47t22 42q8 21 26.5 72t29.5 78t30 61t39 54q110 143 124 195 q-12 112 -16 310q-2 90 24 151.5t106 104.5q39 21 104 21q53 1 106 -13.5t89 -41.5q57 -42 91.5 -121.5t29.5 -147.5q-5 -95 30 -214q34 -113 133 -218q55 -59 99.5 -163t59.5 -191q8 -49 5 -84.5t-12 -55.5t-20 -22q-10 -2 -23.5 -19t-27 -35.5t-40.5 -33.5t-61 -14 q-18 1 -31.5 5t-22.5 13.5t-13.5 15.5t-11.5 20.5t-9 19.5q-22 37 -41 30t-28 -49t7 -97q20 -70 1 -195q-10 -65 18 -100.5t73 -33t85 35.5q59 49 89.5 66.5t103.5 42.5q53 18 77 36.5t18.5 34.5t-25 28.5t-51.5 23.5q-33 11 -49.5 48t-15 72.5t15.5 47.5q1 -31 8 -56.5 t14.5 -40.5t20.5 -28.5t21 -19t21.5 -13t16.5 -9.5z" />
<glyph unicode="&#xf17d;" d="M1024 36q-42 241 -140 498h-2l-2 -1q-16 -6 -43 -16.5t-101 -49t-137 -82t-131 -114.5t-103 -148l-15 11q184 -150 418 -150q132 0 256 52zM839 643q-21 49 -53 111q-311 -93 -673 -93q-1 -7 -1 -21q0 -124 44 -236.5t124 -201.5q50 89 123.5 166.5t142.5 124.5t130.5 81 t99.5 48l37 13q4 1 13 3.5t13 4.5zM732 855q-120 213 -244 378q-138 -65 -234 -186t-128 -272q302 0 606 80zM1416 536q-210 60 -409 29q87 -239 128 -469q111 75 185 189.5t96 250.5zM611 1277q-1 0 -2 -1q1 1 2 1zM1201 1132q-185 164 -433 164q-76 0 -155 -19 q131 -170 246 -382q69 26 130 60.5t96.5 61.5t65.5 57t37.5 40.5zM1424 647q-3 232 -149 410l-1 -1q-9 -12 -19 -24.5t-43.5 -44.5t-71 -60.5t-100 -65t-131.5 -64.5q25 -53 44 -95q2 -6 6.5 -17.5t7.5 -16.5q36 5 74.5 7t73.5 2t69 -1.5t64 -4t56.5 -5.5t48 -6.5t36.5 -6 t25 -4.5zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf17e;" d="M1173 473q0 50 -19.5 91.5t-48.5 68.5t-73 49t-82.5 34t-87.5 23l-104 24q-30 7 -44 10.5t-35 11.5t-30 16t-16.5 21t-7.5 30q0 77 144 77q43 0 77 -12t54 -28.5t38 -33.5t40 -29t48 -12q47 0 75.5 32t28.5 77q0 55 -56 99.5t-142 67.5t-182 23q-68 0 -132 -15.5 t-119.5 -47t-89 -87t-33.5 -128.5q0 -61 19 -106.5t56 -75.5t80 -48.5t103 -32.5l146 -36q90 -22 112 -36q32 -20 32 -60q0 -39 -40 -64.5t-105 -25.5q-51 0 -91.5 16t-65 38.5t-45.5 45t-46 38.5t-54 16q-50 0 -75.5 -30t-25.5 -75q0 -92 122 -157.5t291 -65.5 q73 0 140 18.5t122.5 53.5t88.5 93.5t33 131.5zM1536 256q0 -159 -112.5 -271.5t-271.5 -112.5q-130 0 -234 80q-77 -16 -150 -16q-143 0 -273.5 55.5t-225 150t-150 225t-55.5 273.5q0 73 16 150q-80 104 -80 234q0 159 112.5 271.5t271.5 112.5q130 0 234 -80 q77 16 150 16q143 0 273.5 -55.5t225 -150t150 -225t55.5 -273.5q0 -73 -16 -150q80 -104 80 -234z" />
<glyph unicode="&#xf180;" horiz-adv-x="1664" d="M1483 512l-587 -587q-52 -53 -127.5 -53t-128.5 53l-587 587q-53 53 -53 128t53 128l587 587q53 53 128 53t128 -53l265 -265l-398 -399l-188 188q-42 42 -99 42q-59 0 -100 -41l-120 -121q-42 -40 -42 -99q0 -58 42 -100l406 -408q30 -28 67 -37l6 -4h28q60 0 99 41 l619 619l2 -3q53 -53 53 -128t-53 -128zM1406 1138l120 -120q14 -15 14 -36t-14 -36l-730 -730q-17 -15 -37 -15v0q-4 0 -6 1q-18 2 -30 14l-407 408q-14 15 -14 36t14 35l121 120q13 15 35 15t36 -15l252 -252l574 575q15 15 36 15t36 -15z" />
<glyph unicode="&#xf181;" d="M704 192v1024q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-1024q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1376 576v640q0 14 -9 23t-23 9h-480q-14 0 -23 -9t-9 -23v-640q0 -14 9 -23t23 -9h480q14 0 23 9t9 23zM1536 1344v-1408q0 -26 -19 -45t-45 -19h-1408 q-26 0 -45 19t-19 45v1408q0 26 19 45t45 19h1408q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf182;" horiz-adv-x="1280" d="M1280 480q0 -40 -28 -68t-68 -28q-51 0 -80 43l-227 341h-45v-132l247 -411q9 -15 9 -33q0 -26 -19 -45t-45 -19h-192v-272q0 -46 -33 -79t-79 -33h-160q-46 0 -79 33t-33 79v272h-192q-26 0 -45 19t-19 45q0 18 9 33l247 411v132h-45l-227 -341q-29 -43 -80 -43 q-40 0 -68 28t-28 68q0 29 16 53l256 384q73 107 176 107h384q103 0 176 -107l256 -384q16 -24 16 -53zM864 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
<glyph unicode="&#xf183;" horiz-adv-x="1024" d="M1024 832v-416q0 -40 -28 -68t-68 -28t-68 28t-28 68v352h-64v-912q0 -46 -33 -79t-79 -33t-79 33t-33 79v464h-64v-464q0 -46 -33 -79t-79 -33t-79 33t-33 79v912h-64v-352q0 -40 -28 -68t-68 -28t-68 28t-28 68v416q0 80 56 136t136 56h640q80 0 136 -56t56 -136z M736 1280q0 -93 -65.5 -158.5t-158.5 -65.5t-158.5 65.5t-65.5 158.5t65.5 158.5t158.5 65.5t158.5 -65.5t65.5 -158.5z" />
<glyph unicode="&#xf184;" d="M773 234l350 473q16 22 24.5 59t-6 85t-61.5 79q-40 26 -83 25.5t-73.5 -17.5t-54.5 -45q-36 -40 -96 -40q-59 0 -95 40q-24 28 -54.5 45t-73.5 17.5t-84 -25.5q-46 -31 -60.5 -79t-6 -85t24.5 -59zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103 t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf185;" horiz-adv-x="1792" d="M1472 640q0 117 -45.5 223.5t-123 184t-184 123t-223.5 45.5t-223.5 -45.5t-184 -123t-123 -184t-45.5 -223.5t45.5 -223.5t123 -184t184 -123t223.5 -45.5t223.5 45.5t184 123t123 184t45.5 223.5zM1748 363q-4 -15 -20 -20l-292 -96v-306q0 -16 -13 -26q-15 -10 -29 -4 l-292 94l-180 -248q-10 -13 -26 -13t-26 13l-180 248l-292 -94q-14 -6 -29 4q-13 10 -13 26v306l-292 96q-16 5 -20 20q-5 17 4 29l180 248l-180 248q-9 13 -4 29q4 15 20 20l292 96v306q0 16 13 26q15 10 29 4l292 -94l180 248q9 12 26 12t26 -12l180 -248l292 94 q14 6 29 -4q13 -10 13 -26v-306l292 -96q16 -5 20 -20q5 -16 -4 -29l-180 -248l180 -248q9 -12 4 -29z" />
<glyph unicode="&#xf186;" d="M1262 233q-54 -9 -110 -9q-182 0 -337 90t-245 245t-90 337q0 192 104 357q-201 -60 -328.5 -229t-127.5 -384q0 -130 51 -248.5t136.5 -204t204 -136.5t248.5 -51q144 0 273.5 61.5t220.5 171.5zM1465 318q-94 -203 -283.5 -324.5t-413.5 -121.5q-156 0 -298 61 t-245 164t-164 245t-61 298q0 153 57.5 292.5t156 241.5t235.5 164.5t290 68.5q44 2 61 -39q18 -41 -15 -72q-86 -78 -131.5 -181.5t-45.5 -218.5q0 -148 73 -273t198 -198t273 -73q118 0 228 51q41 18 72 -13q14 -14 17.5 -34t-4.5 -38z" />
<glyph unicode="&#xf187;" horiz-adv-x="1792" d="M1088 704q0 26 -19 45t-45 19h-256q-26 0 -45 -19t-19 -45t19 -45t45 -19h256q26 0 45 19t19 45zM1664 896v-960q0 -26 -19 -45t-45 -19h-1408q-26 0 -45 19t-19 45v960q0 26 19 45t45 19h1408q26 0 45 -19t19 -45zM1728 1344v-256q0 -26 -19 -45t-45 -19h-1536 q-26 0 -45 19t-19 45v256q0 26 19 45t45 19h1536q26 0 45 -19t19 -45z" />
<glyph unicode="&#xf188;" horiz-adv-x="1664" d="M1632 576q0 -26 -19 -45t-45 -19h-224q0 -171 -67 -290l208 -209q19 -19 19 -45t-19 -45q-18 -19 -45 -19t-45 19l-198 197q-5 -5 -15 -13t-42 -28.5t-65 -36.5t-82 -29t-97 -13v896h-128v-896q-51 0 -101.5 13.5t-87 33t-66 39t-43.5 32.5l-15 14l-183 -207 q-20 -21 -48 -21q-24 0 -43 16q-19 18 -20.5 44.5t15.5 46.5l202 227q-58 114 -58 274h-224q-26 0 -45 19t-19 45t19 45t45 19h224v294l-173 173q-19 19 -19 45t19 45t45 19t45 -19l173 -173h844l173 173q19 19 45 19t45 -19t19 -45t-19 -45l-173 -173v-294h224q26 0 45 -19 t19 -45zM1152 1152h-640q0 133 93.5 226.5t226.5 93.5t226.5 -93.5t93.5 -226.5z" />
<glyph unicode="&#xf189;" horiz-adv-x="1920" d="M1917 1016q23 -64 -150 -294q-24 -32 -65 -85q-78 -100 -90 -131q-17 -41 14 -81q17 -21 81 -82h1l1 -1l1 -1l2 -2q141 -131 191 -221q3 -5 6.5 -12.5t7 -26.5t-0.5 -34t-25 -27.5t-59 -12.5l-256 -4q-24 -5 -56 5t-52 22l-20 12q-30 21 -70 64t-68.5 77.5t-61 58 t-56.5 15.5q-3 -1 -8 -3.5t-17 -14.5t-21.5 -29.5t-17 -52t-6.5 -77.5q0 -15 -3.5 -27.5t-7.5 -18.5l-4 -5q-18 -19 -53 -22h-115q-71 -4 -146 16.5t-131.5 53t-103 66t-70.5 57.5l-25 24q-10 10 -27.5 30t-71.5 91t-106 151t-122.5 211t-130.5 272q-6 16 -6 27t3 16l4 6 q15 19 57 19l274 2q12 -2 23 -6.5t16 -8.5l5 -3q16 -11 24 -32q20 -50 46 -103.5t41 -81.5l16 -29q29 -60 56 -104t48.5 -68.5t41.5 -38.5t34 -14t27 5q2 1 5 5t12 22t13.5 47t9.5 81t0 125q-2 40 -9 73t-14 46l-6 12q-25 34 -85 43q-13 2 5 24q17 19 38 30q53 26 239 24 q82 -1 135 -13q20 -5 33.5 -13.5t20.5 -24t10.5 -32t3.5 -45.5t-1 -55t-2.5 -70.5t-1.5 -82.5q0 -11 -1 -42t-0.5 -48t3.5 -40.5t11.5 -39t22.5 -24.5q8 -2 17 -4t26 11t38 34.5t52 67t68 107.5q60 104 107 225q4 10 10 17.5t11 10.5l4 3l5 2.5t13 3t20 0.5l288 2 q39 5 64 -2.5t31 -16.5z" />
<glyph unicode="&#xf18a;" horiz-adv-x="1792" d="M675 252q21 34 11 69t-45 50q-34 14 -73 1t-60 -46q-22 -34 -13 -68.5t43 -50.5t74.5 -2.5t62.5 47.5zM769 373q8 13 3.5 26.5t-17.5 18.5q-14 5 -28.5 -0.5t-21.5 -18.5q-17 -31 13 -45q14 -5 29 0.5t22 18.5zM943 266q-45 -102 -158 -150t-224 -12 q-107 34 -147.5 126.5t6.5 187.5q47 93 151.5 139t210.5 19q111 -29 158.5 -119.5t2.5 -190.5zM1255 426q-9 96 -89 170t-208.5 109t-274.5 21q-223 -23 -369.5 -141.5t-132.5 -264.5q9 -96 89 -170t208.5 -109t274.5 -21q223 23 369.5 141.5t132.5 264.5zM1563 422 q0 -68 -37 -139.5t-109 -137t-168.5 -117.5t-226 -83t-270.5 -31t-275 33.5t-240.5 93t-171.5 151t-65 199.5q0 115 69.5 245t197.5 258q169 169 341.5 236t246.5 -7q65 -64 20 -209q-4 -14 -1 -20t10 -7t14.5 0.5t13.5 3.5l6 2q139 59 246 59t153 -61q45 -63 0 -178 q-2 -13 -4.5 -20t4.5 -12.5t12 -7.5t17 -6q57 -18 103 -47t80 -81.5t34 -116.5zM1489 1046q42 -47 54.5 -108.5t-6.5 -117.5q-8 -23 -29.5 -34t-44.5 -4q-23 8 -34 29.5t-4 44.5q20 63 -24 111t-107 35q-24 -5 -45 8t-25 37q-5 24 8 44.5t37 25.5q60 13 119 -5.5t101 -65.5z M1670 1209q87 -96 112.5 -222.5t-13.5 -241.5q-9 -27 -34 -40t-52 -4t-40 34t-5 52q28 82 10 172t-80 158q-62 69 -148 95.5t-173 8.5q-28 -6 -52 9.5t-30 43.5t9.5 51.5t43.5 29.5q123 26 244 -11.5t208 -134.5z" />
<glyph unicode="&#xf18b;" d="M1133 -34q-171 -94 -368 -94q-196 0 -367 94q138 87 235.5 211t131.5 268q35 -144 132.5 -268t235.5 -211zM638 1394v-485q0 -252 -126.5 -459.5t-330.5 -306.5q-181 215 -181 495q0 187 83.5 349.5t229.5 269.5t325 137zM1536 638q0 -280 -181 -495 q-204 99 -330.5 306.5t-126.5 459.5v485q179 -30 325 -137t229.5 -269.5t83.5 -349.5z" />
<glyph unicode="&#xf18c;" horiz-adv-x="1408" d="M1402 433q-32 -80 -76 -138t-91 -88.5t-99 -46.5t-101.5 -14.5t-96.5 8.5t-86.5 22t-69.5 27.5t-46 22.5l-17 10q-113 -228 -289.5 -359.5t-384.5 -132.5q-19 0 -32 13t-13 32t13 31.5t32 12.5q173 1 322.5 107.5t251.5 294.5q-36 -14 -72 -23t-83 -13t-91 2.5t-93 28.5 t-92 59t-84.5 100t-74.5 146q114 47 214 57t167.5 -7.5t124.5 -56.5t88.5 -77t56.5 -82q53 131 79 291q-7 -1 -18 -2.5t-46.5 -2.5t-69.5 0.5t-81.5 10t-88.5 23t-84 42.5t-75 65t-54.5 94.5t-28.5 127.5q70 28 133.5 36.5t112.5 -1t92 -30t73.5 -50t56 -61t42 -63t27.5 -56 t16 -39.5l4 -16q12 122 12 195q-8 6 -21.5 16t-49 44.5t-63.5 71.5t-54 93t-33 112.5t12 127t70 138.5q73 -25 127.5 -61.5t84.5 -76.5t48 -85t20.5 -89t-0.5 -85.5t-13 -76.5t-19 -62t-17 -42l-7 -15q1 -5 1 -50.5t-1 -71.5q3 7 10 18.5t30.5 43t50.5 58t71 55.5t91.5 44.5 t112 14.5t132.5 -24q-2 -78 -21.5 -141.5t-50 -104.5t-69.5 -71.5t-81.5 -45.5t-84.5 -24t-80 -9.5t-67.5 1t-46.5 4.5l-17 3q-23 -147 -73 -283q6 7 18 18.5t49.5 41t77.5 52.5t99.5 42t117.5 20t129 -23.5t137 -77.5z" />
<glyph unicode="&#xf18d;" horiz-adv-x="1280" d="M1259 283v-66q0 -85 -57.5 -144.5t-138.5 -59.5h-57l-260 -269v269h-529q-81 0 -138.5 59.5t-57.5 144.5v66h1238zM1259 609v-255h-1238v255h1238zM1259 937v-255h-1238v255h1238zM1259 1077v-67h-1238v67q0 84 57.5 143.5t138.5 59.5h846q81 0 138.5 -59.5t57.5 -143.5z " />
<glyph unicode="&#xf18e;" d="M1152 640q0 -14 -9 -23l-320 -320q-9 -9 -23 -9q-13 0 -22.5 9.5t-9.5 22.5v192h-352q-13 0 -22.5 9.5t-9.5 22.5v192q0 13 9.5 22.5t22.5 9.5h352v192q0 14 9 23t23 9q12 0 24 -10l319 -319q9 -9 9 -23zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf190;" d="M1152 736v-192q0 -13 -9.5 -22.5t-22.5 -9.5h-352v-192q0 -14 -9 -23t-23 -9q-12 0 -24 10l-319 319q-9 9 -9 23t9 23l320 320q9 9 23 9q13 0 22.5 -9.5t9.5 -22.5v-192h352q13 0 22.5 -9.5t9.5 -22.5zM1312 640q0 148 -73 273t-198 198t-273 73t-273 -73t-198 -198 t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273zM1536 640q0 -209 -103 -385.5t-279.5 -279.5t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf191;" d="M1024 960v-640q0 -26 -19 -45t-45 -19q-20 0 -37 12l-448 320q-27 19 -27 52t27 52l448 320q17 12 37 12q26 0 45 -19t19 -45zM1280 160v960q0 13 -9.5 22.5t-22.5 9.5h-960q-13 0 -22.5 -9.5t-9.5 -22.5v-960q0 -13 9.5 -22.5t22.5 -9.5h960q13 0 22.5 9.5t9.5 22.5z M1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf192;" d="M1024 640q0 -106 -75 -181t-181 -75t-181 75t-75 181t75 181t181 75t181 -75t75 -181zM768 1184q-148 0 -273 -73t-198 -198t-73 -273t73 -273t198 -198t273 -73t273 73t198 198t73 273t-73 273t-198 198t-273 73zM1536 640q0 -209 -103 -385.5t-279.5 -279.5 t-385.5 -103t-385.5 103t-279.5 279.5t-103 385.5t103 385.5t279.5 279.5t385.5 103t385.5 -103t279.5 -279.5t103 -385.5z" />
<glyph unicode="&#xf193;" horiz-adv-x="1664" d="M1023 349l102 -204q-58 -179 -210 -290t-339 -111q-156 0 -288.5 77.5t-210 210t-77.5 288.5q0 181 104.5 330t274.5 211l17 -131q-122 -54 -195 -165.5t-73 -244.5q0 -185 131.5 -316.5t316.5 -131.5q126 0 232.5 65t165 175.5t49.5 236.5zM1571 249l58 -114l-256 -128 q-13 -7 -29 -7q-40 0 -57 35l-239 477h-472q-24 0 -42.5 16.5t-21.5 40.5l-96 779q-2 16 6 42q14 51 57 82.5t97 31.5q66 0 113 -47t47 -113q0 -69 -52 -117.5t-120 -41.5l37 -289h423v-128h-407l16 -128h455q40 0 57 -35l228 -455z" />
<glyph unicode="&#xf194;" d="M1254 899q16 85 -21 132q-52 65 -187 45q-17 -3 -41 -12.5t-57.5 -30.5t-64.5 -48.5t-59.5 -70t-44.5 -91.5q80 7 113.5 -16t26.5 -99q-5 -52 -52 -143q-43 -78 -71 -99q-44 -32 -87 14q-23 24 -37.5 64.5t-19 73t-10 84t-8.5 71.5q-23 129 -34 164q-12 37 -35.5 69 t-50.5 40q-57 16 -127 -25q-54 -32 -136.5 -106t-122.5 -102v-7q16 -8 25.5 -26t21.5 -20q21 -3 54.5 8.5t58 10.5t41.5 -30q11 -18 18.5 -38.5t15 -48t12.5 -40.5q17 -46 53 -187q36 -146 57 -197q42 -99 103 -125q43 -12 85 -1.5t76 31.5q131 77 250 237 q104 139 172.5 292.5t82.5 226.5zM1536 1120v-960q0 -119 -84.5 -203.5t-203.5 -84.5h-960q-119 0 -203.5 84.5t-84.5 203.5v960q0 119 84.5 203.5t203.5 84.5h960q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf195;" horiz-adv-x="1152" d="M1152 704q0 -191 -94.5 -353t-256.5 -256.5t-353 -94.5h-160q-14 0 -23 9t-9 23v611l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v93l-215 -66q-3 -1 -9 -1q-10 0 -19 6q-13 10 -13 26v128q0 23 23 31l233 71v250q0 14 9 23t23 9h160 q14 0 23 -9t9 -23v-181l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-93l375 116q15 5 28 -5t13 -26v-128q0 -23 -23 -31l-393 -121v-487q188 13 318 151t130 328q0 14 9 23t23 9h160q14 0 23 -9t9 -23z" />
<glyph unicode="&#xf196;" horiz-adv-x="1408" d="M1152 736v-64q0 -14 -9 -23t-23 -9h-352v-352q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v352h-352q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h352v352q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-352h352q14 0 23 -9t9 -23zM1280 288v832q0 66 -47 113t-113 47h-832 q-66 0 -113 -47t-47 -113v-832q0 -66 47 -113t113 -47h832q66 0 113 47t47 113zM1408 1120v-832q0 -119 -84.5 -203.5t-203.5 -84.5h-832q-119 0 -203.5 84.5t-84.5 203.5v832q0 119 84.5 203.5t203.5 84.5h832q119 0 203.5 -84.5t84.5 -203.5z" />
<glyph unicode="&#xf197;" horiz-adv-x="1792" />
<glyph unicode="&#xf198;" horiz-adv-x="1792" />
<glyph unicode="&#xf199;" horiz-adv-x="1792" />
<glyph unicode="&#xf19a;" horiz-adv-x="1792" />
<glyph unicode="&#xf19b;" horiz-adv-x="1792" />
<glyph unicode="&#xf19c;" horiz-adv-x="1792" />
<glyph unicode="&#xf19d;" horiz-adv-x="1792" />
<glyph unicode="&#xf19e;" horiz-adv-x="1792" />
<glyph unicode="&#xf500;" horiz-adv-x="1792" />
</font>
</defs></svg>

Before

Width:  |  Height:  |  Size: 197 KiB

File diff suppressed because one or more lines are too long

View File

@@ -1,113 +0,0 @@
function toggleCurrent (elem) {
var parent_li = elem.closest('li');
parent_li.siblings('li.current').removeClass('current');
parent_li.siblings().find('li.current').removeClass('current');
parent_li.find('> ul li.current').removeClass('current');
parent_li.toggleClass('current');
}
$(document).ready(function() {
// Shift nav in mobile when clicking the menu.
$(document).on('click', "[data-toggle='wy-nav-top']", function() {
$("[data-toggle='wy-nav-shift']").toggleClass("shift");
$("[data-toggle='rst-versions']").toggleClass("shift");
});
// Nav menu link click operations
$(document).on('click', ".wy-menu-vertical .current ul li a", function() {
var target = $(this);
// Close menu when you click a link.
$("[data-toggle='wy-nav-shift']").removeClass("shift");
$("[data-toggle='rst-versions']").toggleClass("shift");
// Handle dynamic display of l3 and l4 nav lists
toggleCurrent(target);
if (typeof(window.SphinxRtdTheme) != 'undefined') {
window.SphinxRtdTheme.StickyNav.hashChange();
}
});
$(document).on('click', "[data-toggle='rst-current-version']", function() {
$("[data-toggle='rst-versions']").toggleClass("shift-up");
});
// Make tables responsive
$("table.docutils:not(.field-list)").wrap("<div class='wy-table-responsive'></div>");
// Add expand links to all parents of nested ul
$('.wy-menu-vertical ul').siblings('a').each(function () {
var link = $(this);
expand = $('<span class="toctree-expand"></span>');
expand.on('click', function (ev) {
toggleCurrent(link);
ev.stopPropagation();
return false;
});
link.prepend(expand);
});
});
// Sphinx theme state
window.SphinxRtdTheme = (function (jquery) {
var stickyNav = (function () {
var navBar,
win,
winScroll = false,
linkScroll = false,
winPosition = 0,
enable = function () {
init();
reset();
win.on('hashchange', reset);
// Set scrolling
win.on('scroll', function () {
if (!linkScroll) {
winScroll = true;
}
});
setInterval(function () {
if (winScroll) {
winScroll = false;
var newWinPosition = win.scrollTop(),
navPosition = navBar.scrollTop(),
newNavPosition = navPosition + (newWinPosition - winPosition);
navBar.scrollTop(newNavPosition);
winPosition = newWinPosition;
}
}, 25);
},
init = function () {
navBar = jquery('nav.wy-nav-side:first');
win = jquery(window);
},
reset = function () {
// Get anchor from URL and open up nested nav
var anchor = encodeURI(window.location.hash);
if (anchor) {
try {
var link = $('.wy-menu-vertical')
.find('[href="' + anchor + '"]');
$('.wy-menu-vertical li.toctree-l1 li.current')
.removeClass('current');
link.closest('li.toctree-l2').addClass('current');
link.closest('li.toctree-l3').addClass('current');
link.closest('li.toctree-l4').addClass('current');
}
catch (err) {
console.log("Error expanding nav for anchor", err);
}
}
},
hashChange = function () {
linkScroll = true;
win.one('hashchange', function () {
linkScroll = false;
});
};
jquery(init);
return {
enable: enable,
hashChange: hashChange
};
}());
return {
StickyNav: stickyNav
};
}($));

View File

@@ -1,9 +0,0 @@
[theme]
inherit = basic
stylesheet = css/theme.css
[options]
typekit_id = hiw1hhg
analytics_id =
sticky_navigation = False
logo_only =

View File

@@ -1,37 +0,0 @@
{% if READTHEDOCS %}
{# Add rst-badge after rst-versions for small badge style. #}
<div class="rst-versions" data-toggle="rst-versions" role="note" aria-label="versions">
<span class="rst-current-version" data-toggle="rst-current-version">
<span class="fa fa-book"> Read the Docs</span>
v: {{ current_version }}
<span class="fa fa-caret-down"></span>
</span>
<div class="rst-other-versions">
<dl>
<dt>Versions</dt>
{% for slug, url in versions %}
<dd><a href="{{ url }}">{{ slug }}</a></dd>
{% endfor %}
</dl>
<dl>
<dt>Downloads</dt>
{% for type, url in downloads %}
<dd><a href="{{ url }}">{{ type }}</a></dd>
{% endfor %}
</dl>
<dl>
<dt>On Read the Docs</dt>
<dd>
<a href="//{{ PRODUCTION_DOMAIN }}/projects/{{ slug }}/?fromdocs={{ slug }}">Project Home</a>
</dd>
<dd>
<a href="//{{ PRODUCTION_DOMAIN }}/builds/{{ slug }}/?fromdocs={{ slug }}">Builds</a>
</dd>
</dl>
<hr/>
Free document hosting provided by <a href="http://www.readthedocs.org">Read the Docs</a>.
</div>
</div>
{% endif %}

View File

@@ -1,3 +1,8 @@
.. 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)
.. _basic-usage:
===========
@@ -34,12 +39,15 @@ available. You can see a list of available package names at the
``spack list``
^^^^^^^^^^^^^^
The ``spack list`` command prints out a list of all of the packages
Spack can install:
The ``spack list`` command prints out a list of all of the packages Spack
can install:
.. command-output:: spack list
:ellipsis: 10
The packages are listed by name in alphabetical order.
There are thosands of them, so we've truncated the output above, but you
can find a :ref:`full list here <package-list>`.
Packages are listed by name in alphabetical order.
A pattern to match with no wildcards, ``*`` or ``?``,
will be treated as though it started and ended with
``*``, so ``util`` is equivalent to ``*util*``. All patterns will be treated
@@ -224,6 +232,50 @@ remove dependent packages *before* removing their dependencies or use the
.. _nondownloadable:
^^^^^^^^^^^^^^^^^^
Garbage collection
^^^^^^^^^^^^^^^^^^
When Spack builds software from sources, if often installs tools that are needed
just to build or test other software. These are not necessary at runtime.
To support cases where removing these tools can be a benefit Spack provides
the ``spack gc`` ("garbage collector") command, which will uninstall all unneeded packages:
.. code-block:: console
$ spack find
==> 24 installed packages
-- linux-ubuntu18.04-broadwell / gcc@9.0.1 ----------------------
autoconf@2.69 findutils@4.6.0 libiconv@1.16 libszip@2.1.1 m4@1.4.18 openjpeg@2.3.1 pkgconf@1.6.3 util-macros@1.19.1
automake@1.16.1 gdbm@1.18.1 libpciaccess@0.13.5 libtool@2.4.6 mpich@3.3.2 openssl@1.1.1d readline@8.0 xz@5.2.4
cmake@3.16.1 hdf5@1.10.5 libsigsegv@2.12 libxml2@2.9.9 ncurses@6.1 perl@5.30.0 texinfo@6.5 zlib@1.2.11
$ spack gc
==> The following packages will be uninstalled:
-- linux-ubuntu18.04-broadwell / gcc@9.0.1 ----------------------
vn47edz autoconf@2.69 6m3f2qn findutils@4.6.0 ubl6bgk libtool@2.4.6 pksawhz openssl@1.1.1d urdw22a readline@8.0
ki6nfw5 automake@1.16.1 fklde6b gdbm@1.18.1 b6pswuo m4@1.4.18 k3s2csy perl@5.30.0 lp5ya3t texinfo@6.5
ylvgsov cmake@3.16.1 5omotir libsigsegv@2.12 leuzbbh ncurses@6.1 5vmfbrq pkgconf@1.6.3 5bmv4tg util-macros@1.19.1
==> Do you want to proceed? [y/N] y
[ ... ]
$ spack find
==> 9 installed packages
-- linux-ubuntu18.04-broadwell / gcc@9.0.1 ----------------------
hdf5@1.10.5 libiconv@1.16 libpciaccess@0.13.5 libszip@2.1.1 libxml2@2.9.9 mpich@3.3.2 openjpeg@2.3.1 xz@5.2.4 zlib@1.2.11
In the example above Spack went through all the packages in the DB
and removed everything that is not either:
1. A package installed upon explicit request of the user
2. A ``link`` or ``run`` dependency, even transitive, of one of the packages at point 1.
You can check :ref:`cmd-spack-find-metadata` to see how to query for explicitly installed packages
or :ref:`dependency-types` for a more thorough treatment of dependency types.
^^^^^^^^^^^^^^^^^^^^^^^^^
Non-Downloadable Tarballs
^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -269,6 +321,86 @@ the tarballs in question to it (see :ref:`mirrors`):
$ spack install galahad
-----------------------------
Deprecating insecure packages
-----------------------------
``spack deprecate`` allows for the removal of insecure packages with
minimal impact to their dependents.
.. warning::
The ``spack deprecate`` command is designed for use only in
extraordinary circumstances. This is a VERY big hammer to be used
with care.
The ``spack deprecate`` command will remove one package and replace it
with another by replacing the deprecated package's prefix with a link
to the deprecator package's prefix.
.. warning::
The ``spack deprecate`` command makes no promises about binary
compatibility. It is up to the user to ensure the deprecator is
suitable for the deprecated package.
Spack tracks concrete deprecated specs and ensures that no future packages
concretize to a deprecated spec.
The first spec given to the ``spack deprecate`` command is the package
to deprecate. It is an abstract spec that must describe a single
installed package. The second spec argument is the deprecator
spec. By default it must be an abstract spec that describes a single
installed package, but with the ``-i/--install-deprecator`` it can be
any abstract spec that Spack will install and then use as the
deprecator. The ``-I/--no-install-deprecator`` option will ensure
the default behavior.
By default, ``spack deprecate`` will deprecate all dependencies of the
deprecated spec, replacing each by the dependency of the same name in
the deprecator spec. The ``-d/--dependencies`` option will ensure the
default, while the ``-D/--no-dependencies`` option will deprecate only
the root of the deprecate spec in favor of the root of the deprecator
spec.
``spack deprecate`` can use symbolic links or hard links. The default
behavior is symbolic links, but the ``-l/--link-type`` flag can take
options ``hard`` or ``soft``.
-----------------------
Verifying installations
-----------------------
The ``spack verify`` command can be used to verify the validity of
Spack-installed packages any time after installation.
At installation time, Spack creates a manifest of every file in the
installation prefix. For links, Spack tracks the mode, ownership, and
destination. For directories, Spack tracks the mode, and
ownership. For files, Spack tracks the mode, ownership, modification
time, hash, and size. The Spack verify command will check, for every
file in each package, whether any of those attributes have changed. It
will also check for newly added files or deleted files from the
installation prefix. Spack can either check all installed packages
using the `-a,--all` or accept specs listed on the command line to
verify.
The ``spack verify`` command can also verify for individual files that
they haven't been altered since installation time. If the given file
is not in a Spack installation prefix, Spack will report that it is
not owned by any package. To check individual files instead of specs,
use the ``-f,--files`` option.
Spack installation manifests are part of the tarball signed by Spack
for binary package distribution. When installed from a binary package,
Spack uses the packaged installation manifest instead of creating one
at install time.
The ``spack verify`` command also accepts the ``-l,--local`` option to
check only local packages (as opposed to those used transparently from
``upstream`` spack instances) and the ``-j,--json`` option to output
machine-readable json data for any errors.
-------------------------
Seeing installed packages
-------------------------
@@ -326,11 +458,19 @@ Packages are divided into groups according to their architecture and
compiler. Within each group, Spack tries to keep the view simple, and
only shows the version of installed packages.
``spack find`` can filter the package list based on the package name, spec, or
a number of properties of their installation status. For example, missing
dependencies of a spec can be shown with ``--missing``, packages which were
explicitly installed with ``spack install <package>`` can be singled out with
``--explicit`` and those which have been pulled in only as dependencies with
.. _cmd-spack-find-metadata:
""""""""""""""""""""""""""""""""
Viewing more metadata
""""""""""""""""""""""""""""""""
``spack find`` can filter the package list based on the package name,
spec, or a number of properties of their installation status. For
example, missing dependencies of a spec can be shown with
``--missing``, deprecated packages can be included with
``--deprecated``, packages which were explicitly installed with
``spack install <package>`` can be singled out with ``--explicit`` and
those which have been pulled in only as dependencies with
``--implicit``.
In some cases, there may be different configurations of the *same*
@@ -383,8 +523,8 @@ use ``spack find --paths``:
callpath@1.0.2 ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/callpath@1.0.2-5dce4318
...
And, finally, you can restrict your search to a particular package
by supplying its name:
You can restrict your search to a particular package by supplying its
name:
.. code-block:: console
@@ -394,6 +534,10 @@ by supplying its name:
libelf@0.8.12 ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/libelf@0.8.12
libelf@0.8.13 ~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/libelf@0.8.13
""""""""""""""""""""""""""""""""
Spec queries
""""""""""""""""""""""""""""""""
``spack find`` actually does a lot more than this. You can use
*specs* to query for specific configurations and builds of each
package. If you want to find only libelf versions greater than version
@@ -421,6 +565,109 @@ with the 'debug' compile-time option enabled.
The full spec syntax is discussed in detail in :ref:`sec-specs`.
""""""""""""""""""""""""""""""""
Machine-readable output
""""""""""""""""""""""""""""""""
If you only want to see very specific things about installed packages,
Spack has some options for you. ``spack find --format`` can be used to
output only specific fields:
.. code-block:: console
$ spack find --format "{name}-{version}-{hash}"
autoconf-2.69-icynozk7ti6h4ezzgonqe6jgw5f3ulx4
automake-1.16.1-o5v3tc77kesgonxjbmeqlwfmb5qzj7zy
bzip2-1.0.6-syohzw57v2jfag5du2x4bowziw3m5p67
bzip2-1.0.8-zjny4jwfyvzbx6vii3uuekoxmtu6eyuj
cmake-3.15.1-7cf6onn52gywnddbmgp7qkil4hdoxpcb
...
or:
.. code-block:: console
$ spack find --format "{hash:7}"
icynozk
o5v3tc7
syohzw5
zjny4jw
7cf6onn
...
This uses the same syntax as described in documentation for
:meth:`~spack.spec.Spec.format` -- you can use any of the options there.
This is useful for passing metadata about packages to other command-line
tools.
Alternately, if you want something even more machine readable, you can
output each spec as JSON records using ``spack find --json``. This will
output metadata on specs and all dependencies as json:
.. code-block:: console
$ spack find --json sqlite@3.28.0
[
{
"name": "sqlite",
"hash": "3ws7bsihwbn44ghf6ep4s6h4y2o6eznv",
"version": "3.28.0",
"arch": {
"platform": "darwin",
"platform_os": "mojave",
"target": "x86_64"
},
"compiler": {
"name": "clang",
"version": "10.0.0-apple"
},
"namespace": "builtin",
"parameters": {
"fts": true,
"functions": false,
"cflags": [],
"cppflags": [],
"cxxflags": [],
"fflags": [],
"ldflags": [],
"ldlibs": []
},
"dependencies": {
"readline": {
"hash": "722dzmgymxyxd6ovjvh4742kcetkqtfs",
"type": [
"build",
"link"
]
}
}
},
...
]
You can use this with tools like `jq <https://stedolan.github.io/jq/>`_ to quickly create JSON records
structured the way you want:
.. code-block:: console
$ spack find --json sqlite@3.28.0 | jq -C '.[] | { name, version, hash }'
{
"name": "sqlite",
"version": "3.28.0",
"hash": "3ws7bsihwbn44ghf6ep4s6h4y2o6eznv"
}
{
"name": "readline",
"version": "7.0",
"hash": "722dzmgymxyxd6ovjvh4742kcetkqtfs"
}
{
"name": "ncurses",
"version": "6.1",
"hash": "zvaa4lhlhilypw5quj3akyd3apbq5gap"
}
.. _sec-specs:
--------------------
@@ -596,6 +843,9 @@ name or compiler specifier to their left in the spec.
If the compiler spec is omitted, Spack will choose a default compiler
based on site policies.
.. _basic-variants:
^^^^^^^^
Variants
^^^^^^^^
@@ -665,10 +915,10 @@ compile line.
Notice that the value of the compiler flags must be quoted if it
contains any spaces. Any of ``cppflags=-O3``, ``cppflags="-O3"``,
``cppflags='-O3'``, and ``cppflags="-O3 -fPIC"`` are acceptable, but
``cppflags=-O3 -fPIC`` is not. Additionally, if they value of the
``cppflags=-O3 -fPIC`` is not. Additionally, if the value of the
compiler flags is not the last thing on the line, it must be followed
by a space. The commmand ``spack install libelf cppflags="-O3"%intel``
will be interpreted as an attempt to set `cppflags="-O3%intel"``.
will be interpreted as an attempt to set ``cppflags="-O3%intel"``.
The six compiler flags are injected in the order of implicit make commands
in GNU Autotools. If all flags are set, the order is
@@ -679,13 +929,16 @@ 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 user can also 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``.
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``.
.. code-block:: yaml
@@ -698,28 +951,131 @@ without the need to set ``LD_LIBRARY_PATH``.
f77: /opt/gcc/bin/gfortran
fc: /opt/gcc/bin/gfortran
environment:
unset:
- BAD_VARIABLE
set:
LD_LIBRARY_PATH : /opt/gcc/lib
GOOD_VARIABLE_NUM: 1
GOOD_VARIABLE_STR: good
prepend_path:
PATH: /path/to/binutils
append_path:
LD_LIBRARY_PATH: /opt/gcc/lib
extra_rpaths:
- /path/to/some/compiler/runtime/directory
- /path/to/some/other/compiler/runtime/directory
^^^^^^^^^^^^^^^^^^^^^^^
Architecture specifiers
^^^^^^^^^^^^^^^^^^^^^^^
The architecture can be specified by using the reserved
words ``target`` and/or ``os`` (``target=x86-64 os=debian7``). You can also
use the triplet form of platform, operating system and processor.
Each node in the dependency graph of a spec has an architecture attribute.
This attribute is a triplet of platform, operating system and processor.
You can specify the elements either separately, by using
the reserved keywords ``platform``, ``os`` and ``target``:
.. code-block:: console
$ spack install libelf platform=linux
$ spack install libelf os=ubuntu18.04
$ spack install libelf target=broadwell
or together by using the reserved keyword ``arch``:
.. code-block:: console
$ spack install libelf arch=cray-CNL10-haswell
Users on non-Cray systems won't have to worry about specifying the architecture.
Spack will autodetect what kind of operating system is on your machine as well
as the processor. For more information on how the architecture can be
used on Cray machines, see :ref:`cray-support`
Normally users don't have to bother specifying the architecture if they
are installing software for their current host, as in that case the
values will be detected automatically. If you need fine-grained control
over which packages use which targets (or over *all* packages' default
target), see :ref:`concretization-preferences`.
.. admonition:: Cray machines
The situation is a little bit different for Cray machines and a detailed
explanation on how the architecture can be set on them can be found at :ref:`cray-support`
.. _support-for-microarchitectures:
"""""""""""""""""""""""""""""""""""""""
Support for specific microarchitectures
"""""""""""""""""""""""""""""""""""""""
Spack knows how to detect and optimize for many specific microarchitectures
(including recent Intel, AMD and IBM chips) and encodes this information in
the ``target`` portion of the architecture specification. A complete list of
the microarchitectures known to Spack can be obtained in the following way:
.. command-output:: spack arch --known-targets
When a spec is installed Spack matches the compiler being used with the
microarchitecture being targeted to inject appropriate optimization flags
at compile time. Giving a command such as the following:
.. code-block:: console
$ spack install zlib%gcc@9.0.1 target=icelake
will produce compilation lines similar to:
.. code-block:: console
$ /usr/bin/gcc-9 -march=icelake-client -mtune=icelake-client -c ztest10532.c
$ /usr/bin/gcc-9 -march=icelake-client -mtune=icelake-client -c -fPIC -O2 ztest10532.
...
where the flags ``-march=icelake-client -mtune=icelake-client`` are injected
by Spack based on the requested target and compiler.
If Spack knows that the requested compiler can't optimize for the current target
or can't build binaries for that target at all, it will exit with a meaningful error message:
.. code-block:: console
$ spack install zlib%gcc@5.5.0 target=icelake
==> Error: cannot produce optimized binary for micro-architecture "icelake" with gcc@5.5.0 [supported compiler versions are 8:]
When instead an old compiler is selected on a recent enough microarchitecture but there is
no explicit ``target`` specification, Spack will optimize for the best match it can find instead
of failing:
.. code-block:: console
$ spack arch
linux-ubuntu18.04-broadwell
$ spack spec zlib%gcc@4.8
Input spec
--------------------------------
zlib%gcc@4.8
Concretized
--------------------------------
zlib@1.2.11%gcc@4.8+optimize+pic+shared arch=linux-ubuntu18.04-haswell
$ spack spec zlib%gcc@9.0.1
Input spec
--------------------------------
zlib%gcc@9.0.1
Concretized
--------------------------------
zlib@1.2.11%gcc@9.0.1+optimize+pic+shared arch=linux-ubuntu18.04-broadwell
In the snippet above, for instance, the microarchitecture was demoted to ``haswell`` when
compiling with ``gcc@4.8`` since support to optimize for ``broadwell`` starts from ``gcc@4.9:``.
Finally if Spack has no information to match compiler and target, it will
proceed with the installation but avoid injecting any microarchitecture
specific flags.
.. warning::
Currently Spack doesn't print any warning to the user if it has no information
on which optimization flags should be used for a given compiler. This behavior
might change in the future.
.. _sec-virtual-dependencies:
@@ -950,41 +1306,60 @@ directly when you run ``python``:
ImportError: No module named numpy
>>>
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Extensions & Environment Modules
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^
Using Extensions
^^^^^^^^^^^^^^^^
There are two ways to get ``numpy`` working in Python. The first is
to use :ref:`shell-support`. You can simply ``use`` or ``load`` the
module for the extension, and it will be added to the ``PYTHONPATH``
in your current shell.
For tcl modules:
There are four ways to get ``numpy`` working in Python. The first is
to use :ref:`shell-support`. You can simply ``load`` the extension,
and it will be added to the ``PYTHONPATH`` in your current shell:
.. code-block:: console
$ spack load python
$ spack load py-numpy
or, for dotkit:
.. code-block:: console
$ spack use python
$ spack use py-numpy
Now ``import numpy`` will succeed for as long as you keep your current
session open.
^^^^^^^^^^^^^^^^^^^^^
Activating Extensions
^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Loading Extensions via Modules
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
It is often desirable to have certain packages *always* available as
part of a Python installation. Spack offers a more permanent solution
for this case. Instead of requiring users to load particular
environment modules, you can *activate* the package within the Python
installation:
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
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Activating Extensions Globally
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
As an alternative to creating a merged prefix with Python and its extensions,
and prior to support for views, Spack has provided a means to install the
extension into the Spack installation prefix for the extendee. This has
typically been useful since extendable packages typically search their own
installation path for addons by default.
Global activations are performed with the ``spack activate`` command:
.. _cmd-spack-activate:
@@ -1044,11 +1419,11 @@ the ``py-numpy`` into the prefix of the ``python`` package. To the
python interpreter, it looks like ``numpy`` is installed in the
``site-packages`` directory.
The only limitation of activation is that you can only have a *single*
The only limitation of global activation is that you can only have a *single*
version of an extension activated at a time. This is because multiple
versions of the same extension would conflict if symbolically linked
into the same prefix. Users who want a different version of a package
can still get it by using environment modules, but they will have to
can still get it by using environment modules or views, but they will have to
explicitly load their preferred version.
^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -1093,22 +1468,43 @@ several variants:
Filesystem requirements
-----------------------
Spack currently needs to be run from a filesystem that supports
By default, Spack needs to be run from a filesystem that supports
``flock`` locking semantics. Nearly all local filesystems and recent
versions of NFS support this, but parallel filesystems may be mounted
without ``flock`` support enabled. You can determine how your
filesystems are mounted with ``mount -p``. The output for a Lustre
versions of NFS support this, but parallel filesystems or NFS volumes may
be configured without ``flock`` support enabled. You can determine how
your filesystems are mounted with ``mount``. The output for a Lustre
filesystem might look like this:
.. code-block:: console
$ mount -l | grep lscratch
pilsner-mds1-lnet0@o2ib100:/lsd on /p/lscratchd type lustre (rw,nosuid,noauto,_netdev,lazystatfs,flock)
porter-mds1-lnet0@o2ib100:/lse on /p/lscratche type lustre (rw,nosuid,noauto,_netdev,lazystatfs,flock)
$ mount | grep lscratch
mds1-lnet0@o2ib100:/lsd on /p/lscratchd type lustre (rw,nosuid,lazystatfs,flock)
mds2-lnet0@o2ib100:/lse on /p/lscratche type lustre (rw,nosuid,lazystatfs,flock)
Note the ``flock`` option on both Lustre mounts. If you do not see
this or a similar option for your filesystem, you may need ot ask your
system administrator to enable ``flock``.
Note the ``flock`` option on both Lustre mounts.
If you do not see this or a similar option for your filesystem, you have
a few options. First, you can move your Spack installation to a
filesystem that supports locking. Second, you could ask your system
administrator to enable ``flock`` for your filesystem.
If none of those work, you can disable locking in one of two ways:
1. Run Spack with the ``-L`` or ``--disable-locks`` option to disable
locks on a call-by-call basis.
2. Edit :ref:`config.yaml <config-yaml>` and set the ``locks`` option
to ``false`` to always disable locking.
.. warning::
If you disable locking, concurrent instances of Spack will have no way
to avoid stepping on each other. You must ensure that there is only
**one** instance of Spack running at a time. Otherwise, Spack may end
up with a corrupted database file, or you may not be able to see all
installed packages in commands like ``spack find``.
If you are unfortunate enough to run into this situation, you may be
able to fix it by running ``spack reindex``.
This issue typically manifests with the error below:

View File

@@ -1,7 +1,12 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _binary_caches:
============
Build caches
Build Caches
============
Some sites may encourage users to set up their own test environments

View File

@@ -1,14 +1,20 @@
.. 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)
.. _build-settings:
======================================
Build customization
======================================
===================
Build Customization
===================
Spack allows you to customize how your software is built through the
``packages.yaml`` file. Using it, you can make Spack prefer particular
implementations of virtual dependencies (e.g., compilers, MPI, or BLAS),
implementations of virtual dependencies (e.g., MPI or BLAS/LAPACK),
or you can make it prefer to build with particular compilers. You can
also tell Spack to use *external* installations of certain software.
also tell Spack to use *external* software installations already
present on your system.
At a high level, the ``packages.yaml`` file is structured like this:
@@ -23,14 +29,14 @@ At a high level, the ``packages.yaml`` file is structured like this:
all:
# settings that apply to all packages.
So you can either set build preferences *specifically* for one package,
or you can specify that certain settings should apply to all packages.
So you can either set build preferences specifically for *one* package,
or you can specify that certain settings should apply to *all* packages.
The types of settings you can customize are described in detail below.
Spack's build defaults are in the default
``etc/spack/defaults/packages.yaml`` file. You can override them in
``~/.spack/packages.yaml`` or ``etc/spack/packages.yaml``. For more
details on how this works, see :ref:`configuration-scopes`
details on how this works, see :ref:`configuration-scopes`.
.. _sec-external-packages:
@@ -52,15 +58,26 @@ directory. Here's an example of an external configuration:
packages:
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-x86_64-debian7: /opt/openmpi-1.6.5-intel
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64: /opt/openmpi-1.6.5-intel
This example lists three installations of OpenMPI, one built with gcc,
one built with gcc and debug information, and another built with Intel.
This example lists three installations of OpenMPI, one built with GCC,
one built with GCC and debug information, and another built with Intel.
If Spack is asked to build a package that uses one of these MPIs as a
dependency, it will use the the pre-installed OpenMPI in
the given directory. Packages.yaml can also be used to specify modules
dependency, it will use the pre-installed OpenMPI in
the given directory. Note that the specified path is the top-level
install prefix, not the ``bin`` subdirectory.
``packages.yaml`` can also be used to specify modules to load instead
of the installation prefixes. The following example says that module
``CMake/3.7.2`` provides cmake version 3.7.2.
.. code-block:: yaml
cmake:
modules:
cmake@3.7.2: CMake/3.7.2
Each ``packages.yaml`` begins with a ``packages:`` token, followed
by a list of package names. To specify externals, add a ``paths`` or ``modules``
@@ -77,9 +94,9 @@ though the package and compiler may not ever be built.
The packages configuration can tell Spack to use an external location
for certain package versions, but it does not restrict Spack to using
external packages. In the above example, if an OpenMPI 1.8.4 became
available Spack may choose to start building and linking with that version
rather than continue using the pre-installed OpenMPI versions.
external packages. In the above example, since newer versions of OpenMPI
are available, Spack will choose to start building and linking with the
latest version rather than continue using the pre-installed OpenMPI versions.
To prevent this, the ``packages.yaml`` configuration also allows packages
to be flagged as non-buildable. The previous example could be modified to
@@ -90,9 +107,9 @@ be:
packages:
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-x86_64-debian7: /opt/openmpi-1.6.5-intel
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-debian7-x86_64+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-debian7-x86_64: /opt/openmpi-1.6.5-intel
buildable: False
The addition of the ``buildable`` flag tells Spack that it should never build
@@ -115,12 +132,12 @@ Concretization Preferences
--------------------------
Spack can be configured to prefer certain compilers, package
versions, depends_on, and variants during concretization.
versions, dependencies, and variants during concretization.
The preferred configuration can be controlled via the
``~/.spack/packages.yaml`` file for user configuations, or the
``~/.spack/packages.yaml`` file for user configurations, or the
``etc/spack/packages.yaml`` site configuration.
Here's an example packages.yaml file that sets preferred packages:
Here's an example ``packages.yaml`` file that sets preferred packages:
.. code-block:: yaml
@@ -131,25 +148,26 @@ Here's an example packages.yaml file that sets preferred packages:
gperftools:
version: [2.2, 2.4, 2.3]
all:
compiler: [gcc@4.4.7, gcc@4.6:, intel, clang, pgi]
compiler: [gcc@4.4.7, 'gcc@4.6:', intel, clang, pgi]
target: [sandybridge]
providers:
mpi: [mvapich, mpich, openmpi]
mpi: [mvapich2, mpich, openmpi]
At a high level, this example is specifying how packages should be
concretized. The opencv package should prefer using gcc 4.9 and
concretized. The opencv package should prefer using GCC 4.9 and
be built with debug options. The gperftools package should prefer version
2.2 over 2.4. Every package on the system should prefer mvapich for
its MPI and gcc 4.4.7 (except for opencv, which overrides this by preferring gcc 4.9).
2.2 over 2.4. Every package on the system should prefer mvapich2 for
its MPI and GCC 4.4.7 (except for opencv, which overrides this by preferring GCC 4.9).
These options are used to fill in implicit defaults. Any of them can be overwritten
on the command line if explicitly requested.
Each packages.yaml file begins with the string ``packages:`` and
Each ``packages.yaml`` file begins with the string ``packages:`` and
package names are specified on the next level. The special string ``all``
applies settings to each package. Underneath each package name is
one or more components: ``compiler``, ``variants``, ``version``,
or ``providers``. Each component has an ordered list of spec
``constraints``, with earlier entries in the list being preferred over
later entries.
applies settings to *all* packages. Underneath each package name is one
or more components: ``compiler``, ``variants``, ``version``,
``providers``, and ``target``. Each component has an ordered list of
spec ``constraints``, with earlier entries in the list being preferred
over later entries.
Sometimes a package installation may have constraints that forbid
the first concretization rule, in which case Spack will use the first
@@ -164,5 +182,54 @@ gcc to pgi will thus be preferred over the xlc compiler.
The syntax for the ``provider`` section differs slightly from other
concretization rules. A provider lists a value that packages may
``depend_on`` (e.g, mpi) and a list of rules for fulfilling that
``depend_on`` (e.g, MPI) and a list of rules for fulfilling that
dependency.
.. _package_permissions:
-------------------
Package Permissions
-------------------
Spack can be configured to assign permissions to the files installed
by a package.
In the ``packages.yaml`` file under ``permissions``, the attributes
``read``, ``write``, and ``group`` control the package
permissions. These attributes can be set per-package, or for all
packages under ``all``. If permissions are set under ``all`` and for a
specific package, the package-specific settings take precedence.
The ``read`` and ``write`` attributes take one of ``user``, ``group``,
and ``world``.
.. code-block:: yaml
packages:
all:
permissions:
write: group
group: spack
my_app:
permissions:
read: group
group: my_team
The permissions settings describe the broadest level of access to
installations of the specified packages. The execute permissions of
the file are set to the same level as read permissions for those files
that are executable. The default setting for ``read`` is ``world``,
and for ``write`` is ``user``. In the example above, installations of
``my_app`` will be installed with user and group permissions but no
world permissions, and owned by the group ``my_team``. All other
packages will be installed with user and group write privileges, and
world read privileges. Those packages will be owned by the group
``spack``.
The ``group`` attribute assigns a Unix-style group to a package. All
files installed by the package will be owned by the assigned group,
and the sticky group bit will be set on the install prefix and all
directories inside the install prefix. This will ensure that even
manually placed files within the install prefix are owned by the
assigned group. If no group is assigned, Spack will allow the OS
default behavior to go as expected.

View File

@@ -0,0 +1,91 @@
.. 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)
.. _build-systems:
=============
Build Systems
=============
Spack defines a number of classes which understand how to use common
`build systems <https://en.wikipedia.org/wiki/List_of_build_automation_software>`_
(Makefiles, CMake, etc.). Spack package definitions can inherit these
classes in order to streamline their builds.
This guide provides information specific to each particular build system.
It assumes that you've read the :ref:`packaging-guide` and expands
on these ideas for each distinct build system that Spack supports:
.. toctree::
:maxdepth: 1
:caption: Make-based
build_systems/makefilepackage
.. toctree::
:maxdepth: 1
:caption: Make-incompatible
build_systems/sconspackage
build_systems/wafpackage
.. toctree::
:maxdepth: 1
:caption: Build-script generation
build_systems/autotoolspackage
build_systems/cmakepackage
build_systems/mesonpackage
build_systems/qmakepackage
build_systems/sippackage
.. toctree::
:maxdepth: 1
:caption: Language-specific
build_systems/octavepackage
build_systems/perlpackage
build_systems/pythonpackage
build_systems/rpackage
build_systems/rubypackage
.. toctree::
:maxdepth: 1
:caption: Other
build_systems/bundlepackage
build_systems/cudapackage
build_systems/intelpackage
build_systems/custompackage
For reference, the :py:mod:`Build System API docs <spack.build_systems>`
provide a list of build systems and methods/attributes that can be
overridden. If you are curious about the implementation of a particular
build system, you can view the source code by running:
.. code-block:: console
$ spack edit --build-system autotools
This will open up the ``AutotoolsPackage`` definition in your favorite
editor. In addition, if you are working with a less common build system
like QMake, SCons, or Waf, it may be useful to see examples of other
packages. You can quickly find examples by running:
.. code-block:: console
$ cd var/spack/repos/builtin/packages
$ grep -l QMakePackage */package.py
You can then view these packages with ``spack edit``.
This guide is intended to supplement the
:py:mod:`Build System API docs <spack.build_systems>` with examples of
how to override commonly used methods. It also provides rules of thumb
and suggestions for package developers who are unfamiliar with a
particular build system.

View File

@@ -0,0 +1,840 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Generated by graphviz version 2.30.1 (20130303.0813)
-->
<!-- Title: autotools Pages: 1 -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="515pt"
height="936pt"
viewBox="0.00 0.00 515.00 936.00"
id="svg3335"
version="1.1"
inkscape:version="0.48.4 r9939"
sodipodi:docname="Autoconf-automake-process.svg">
<metadata
id="metadata3645">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<defs
id="defs3643" />
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1309"
inkscape:window-height="744"
id="namedview3641"
showgrid="false"
inkscape:zoom="0.70163371"
inkscape:cx="271.30388"
inkscape:cy="758.87622"
inkscape:window-x="57"
inkscape:window-y="24"
inkscape:window-maximized="1"
inkscape:current-layer="svg3335" />
<polygon
style="fill:#ffffff;stroke:#ffffff"
id="polygon3340"
points="512,-932 512,5 -4,5 -4,5 -4,-932 "
transform="translate(4,932)" />
<g
class="node"
id="node1"
transform="translate(4,932)">
<title
id="title3343">configure.ac</title>
<polygon
style="fill:#0000f0;stroke:#000000;opacity:1;fill-opacity:0.08627451"
id="polygon3345"
points="114.75,-818 209.25,-818 209.25,-854 209.25,-854 114.75,-854 " />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3347"
font-size="14.00"
y="-832.29999"
x="162">configure.ac</text>
</g>
<g
class="node"
id="node5"
transform="translate(4,932)">
<title
id="title3350">aclocal</title>
<ellipse
style="fill:none;stroke:#000000"
sodipodi:ry="18"
sodipodi:rx="39.469101"
sodipodi:cy="-762"
sodipodi:cx="66"
d="m 105.4691,-762 c 0,9.94113 -17.670917,18 -39.4691,18 -21.798183,0 -39.469101,-8.05887 -39.469101,-18 0,-9.94113 17.670918,-18 39.469101,-18 21.798183,0 39.4691,8.05887 39.4691,18 z"
id="ellipse3352"
ry="18"
rx="39.469101"
cy="-762"
cx="66" />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3354"
font-size="14.00"
y="-758.29999"
x="66">aclocal</text>
</g>
<g
class="edge"
id="edge3"
transform="translate(4,932)">
<title
id="title3357">configure.ac-&gt;aclocal</title>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:12,1;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path3359"
d="m 139.249,-817.937 c -13.626,10.22 -31.049,23.287 -45.4828,34.112" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3361"
points="89.6641,-780.748 93.6641,-783.748 93.6641,-783.748 93.6641,-783.748 89.6641,-780.748 90.9641,-787.348 85.6641,-777.748 85.6641,-777.748 85.6641,-777.748 96.3642,-780.148 " />
</g>
<g
class="node"
id="node6"
transform="translate(4,932)">
<title
id="title3364">autoconf</title>
<ellipse
style="fill:none;stroke:#000000"
sodipodi:ry="18"
sodipodi:rx="46.219101"
sodipodi:cy="-614"
sodipodi:cx="130"
d="m 176.2191,-614 c 0,9.94113 -20.693,18 -46.2191,18 -25.5261,0 -46.219101,-8.05887 -46.219101,-18 0,-9.94113 20.693001,-18 46.219101,-18 25.5261,0 46.2191,8.05887 46.2191,18 z"
id="ellipse3366"
ry="18"
rx="46.219101"
cy="-614"
cx="130" />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3368"
font-size="14.00"
y="-610.29999"
x="130">autoconf</text>
</g>
<g
class="edge"
id="edge4"
transform="translate(4,932)">
<title
id="title3371">configure.ac-&gt;autoconf</title>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:12,1;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path3373"
d="m 159.489,-817.737 c -5.538,38.073 -18.837,129.506 -25.518,175.436" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3375"
points="133.219,-637.131 133.939,-642.079 133.939,-642.079 133.939,-642.079 133.219,-637.131 129.486,-642.726 132.499,-632.183 132.499,-632.183 132.499,-632.183 138.392,-641.431 " />
</g>
<g
class="node"
id="node7"
transform="translate(4,932)">
<title
id="title3378">autoheader</title>
<ellipse
style="fill:none;stroke:#000000"
sodipodi:ry="18"
sodipodi:rx="57.292702"
sodipodi:cy="-762"
sodipodi:cx="220"
d="m 277.2927,-762 c 0,9.94113 -25.65081,18 -57.2927,18 -31.64189,0 -57.2927,-8.05887 -57.2927,-18 0,-9.94113 25.65081,-18 57.2927,-18 31.64189,0 57.2927,8.05887 57.2927,18 z"
id="ellipse3380"
ry="18"
rx="57.292702"
cy="-762"
cx="220" />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3382"
font-size="14.00"
y="-758.29999"
x="220">autoheader</text>
</g>
<g
class="edge"
id="edge5"
transform="translate(4,932)">
<title
id="title3385">configure.ac-&gt;autoheader</title>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:12,1;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path3387"
d="m 175.745,-817.937 c 7.223,8.967 16.212,20.125 24.197,30.038" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3389"
points="203.217,-783.834 200.08,-787.728 200.08,-787.728 200.08,-787.728 203.217,-783.834 196.576,-784.905 206.353,-779.941 206.353,-779.941 206.353,-779.941 203.585,-790.551 " />
</g>
<g
class="node"
id="node8"
transform="translate(4,932)">
<title
id="title3392">automake</title>
<ellipse
style="fill:none;stroke:#000000"
sodipodi:ry="18"
sodipodi:rx="50.542702"
sodipodi:cy="-614"
sodipodi:cx="309"
d="m 359.5427,-614 c 0,9.94113 -22.62874,18 -50.5427,18 -27.91396,0 -50.5427,-8.05887 -50.5427,-18 0,-9.94113 22.62874,-18 50.5427,-18 27.91396,0 50.5427,8.05887 50.5427,18 z"
id="ellipse3394"
ry="18"
rx="50.542702"
cy="-614"
cx="309" />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3396"
font-size="14.00"
y="-610.29999"
x="309">automake</text>
</g>
<g
class="edge"
id="edge6"
transform="translate(4,932)">
<title
id="title3399">configure.ac-&gt;automake</title>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:12,1;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path3401"
d="m 209.463,-825.823 c 26.664,7.68 58.18,21.469 76.537,45.823 30.292,40.188 30.031,101.971 26.756,137.428" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3403"
points="312.206,-637.438 312.739,-642.41 312.739,-642.41 312.739,-642.41 312.206,-637.438 308.265,-642.889 311.674,-632.467 311.674,-632.467 311.674,-632.467 317.213,-641.93 " />
</g>
<g
class="node"
id="node2"
transform="translate(4,932)">
<title
id="title3406">autoscan</title>
<ellipse
style="fill:none;stroke:#000000"
sodipodi:ry="18"
sodipodi:rx="48.1437"
sodipodi:cy="-910"
sodipodi:cx="162"
d="m 210.1437,-910 c 0,9.94113 -21.55467,18 -48.1437,18 -26.58903,0 -48.1437,-8.05887 -48.1437,-18 0,-9.94113 21.55467,-18 48.1437,-18 26.58903,0 48.1437,8.05887 48.1437,18 z"
id="ellipse3408"
ry="18"
rx="48.1437"
cy="-910"
cx="162" />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3410"
font-size="14.00"
y="-906.29999"
x="162">autoscan</text>
</g>
<g
class="edge"
id="edge1"
transform="translate(4,932)">
<title
id="title3413">autoscan-&gt;configure.ac</title>
<path
style="fill:none;stroke:#000000;stroke-width:2"
inkscape:connector-curvature="0"
id="path3415"
d="m 162,-891.937 c 0,6.716 0,14.661 0,22.392" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3417"
points="156.75,-869.441 167.25,-869.441 167.25,-869.441 162,-854.441 " />
</g>
<g
class="node"
id="node3"
transform="translate(4,932)">
<title
id="title3420">Makefile.am</title>
<polygon
style="fill:#0000f0;stroke:#000000;fill-opacity:0.08627451"
id="polygon3422"
points="333,-670 425,-670 425,-706 425,-706 333,-706 " />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3424"
font-size="14.00"
y="-684.29999"
x="379">Makefile.am</text>
</g>
<g
class="edge"
id="edge10"
transform="translate(4,932)">
<title
id="title3427">Makefile.am-&gt;automake</title>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:12,1;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path3429"
d="m 362.411,-669.937 c -9.021,9.279 -20.323,20.903 -30.204,31.067" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3431"
points="328.474,-635.03 331.959,-638.615 331.959,-638.615 331.959,-638.615 328.474,-635.03 328.732,-641.752 324.988,-631.445 324.988,-631.445 324.988,-631.445 335.185,-635.478 " />
</g>
<g
class="node"
id="node9"
transform="translate(4,932)">
<title
id="title3434">aclocal.m4</title>
<polygon
style="fill:#0000f0;stroke:#000000;fill-opacity:0.08627451"
id="polygon3436"
points="21.75,-670 106.25,-670 106.25,-706 106.25,-706 21.75,-706 " />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3438"
font-size="14.00"
y="-684.29999"
x="64">aclocal.m4</text>
</g>
<g
class="edge"
id="edge7"
transform="translate(4,932)">
<title
id="title3441">aclocal-&gt;aclocal.m4</title>
<path
style="fill:none;stroke:#000000;stroke-width:2"
inkscape:connector-curvature="0"
id="path3443"
d="m 65.526,-743.937 c -0.1865,6.716 -0.4072,14.661 -0.622,22.392" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3445"
points="59.6531,-721.581 70.149,-721.289 70.149,-721.289 64.4845,-706.441 " />
</g>
<g
class="node"
id="node12"
transform="translate(4,932)">
<title
id="title3448">configure</title>
<ellipse
style="fill:#0000f0;stroke:#000000;fill-opacity:0.08627451"
sodipodi:ry="72"
sodipodi:rx="72"
sodipodi:cy="-486"
sodipodi:cx="130"
d="m 202,-486 c 0,39.7645 -32.2355,72 -72,72 -39.764502,0 -72,-32.2355 -72,-72 0,-39.7645 32.235498,-72 72,-72 39.7645,0 72,32.2355 72,72 z"
id="ellipse3450"
ry="72"
rx="72"
cy="-486"
cx="130" />
<polyline
style="fill:none;stroke:#000000"
id="polyline3452"
points="177.621,-540 82.3792,-540 " />
<polyline
style="fill:none;stroke:#000000"
id="polyline3454"
points="177.621,-432 82.3792,-432 " />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3456"
font-size="14.00"
y="-482.29999"
x="130">configure</text>
</g>
<g
class="edge"
id="edge13"
transform="translate(4,932)">
<title
id="title3459">autoconf-&gt;configure</title>
<path
style="fill:none;stroke:#000000;stroke-width:2"
inkscape:connector-curvature="0"
id="path3461"
d="m 130,-595.744 c 0,6.397 0,14.16 0,22.563" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3463"
points="124.75,-573.051 135.25,-573.051 135.25,-573.051 130,-558.051 " />
</g>
<g
class="node"
id="node10"
transform="translate(7.9661017,932)">
<title
id="title3466">config.h.in</title>
<polygon
style="fill:#0000f0;stroke:#000000;fill-opacity:0.08627451"
id="polygon3468"
points="260.25,-670 260.25,-706 260.25,-706 179.75,-706 179.75,-670 " />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3470"
font-size="14.00"
y="-684.29999"
x="220">config.h.in</text>
</g>
<g
class="edge"
id="edge8"
transform="translate(4,932)">
<title
id="title3473">autoheader-&gt;config.h.in</title>
<path
style="fill:none;stroke:#000000;stroke-width:2"
inkscape:connector-curvature="0"
id="path3475"
d="m 220,-743.937 c 0,6.716 0,14.661 0,22.392" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3477"
points="214.75,-721.441 225.25,-721.441 225.25,-721.441 220,-706.441 " />
</g>
<g
class="node"
id="node11"
transform="translate(4,932)">
<title
id="title3480">Makefile.in</title>
<polygon
style="fill:#0000f0;stroke:#000000;fill-opacity:0.08627451"
id="polygon3482"
points="260.75,-468 343.25,-468 343.25,-504 343.25,-504 260.75,-504 " />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3484"
font-size="14.00"
y="-482.29999"
x="302">Makefile.in</text>
</g>
<g
class="edge"
id="edge11"
transform="translate(4,932)">
<title
id="title3487">automake-&gt;Makefile.in</title>
<path
style="fill:none;stroke:#000000;stroke-width:2"
inkscape:connector-curvature="0"
id="path3489"
d="m 308.041,-595.744 c -1.089,19.604 -2.89,52.031 -4.243,76.384" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3491"
points="298.537,-519.315 309.021,-518.733 309.021,-518.733 302.947,-504.047 " />
</g>
<g
class="edge"
id="edge12"
transform="translate(4,932)">
<title
id="title3494">aclocal.m4-&gt;autoconf</title>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:12,1;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path3496"
d="m 79.6411,-669.937 c 8.5054,9.279 19.1615,20.903 28.4789,31.067" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3498"
points="111.547,-635.131 108.168,-638.816 108.168,-638.816 108.168,-638.816 111.547,-635.131 104.851,-635.776 114.925,-631.445 114.925,-631.445 114.925,-631.445 111.485,-641.857 " />
</g>
<g
class="edge"
id="edge9"
transform="translate(4,932)">
<title
id="title3501">config.h.in-&gt;automake</title>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:12,1;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path3503"
d="m 241.092,-669.937 c 12.174,9.849 27.617,22.342 40.698,32.925" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3505"
points="285.693,-633.855 281.806,-637 281.806,-637 281.806,-637 285.693,-633.855 278.975,-633.501 289.58,-630.71 289.58,-630.71 289.58,-630.71 284.636,-640.498 " />
</g>
<g
class="node"
id="node15"
transform="translate(4,932)">
<title
id="title3508">config.status</title>
<ellipse
style="fill:#0000f0;stroke:#000000;fill-opacity:0.08627451"
sodipodi:ry="63.088799"
sodipodi:rx="63.066601"
sodipodi:cy="-313"
sodipodi:cx="230"
d="m 293.0666,-313 c 0,34.84298 -28.23588,63.0888 -63.0666,63.0888 -34.83072,0 -63.0666,-28.24582 -63.0666,-63.0888 0,-34.84298 28.23588,-63.0888 63.0666,-63.0888 34.83072,0 63.0666,28.24582 63.0666,63.0888 z"
id="ellipse3510"
ry="63.088799"
rx="63.066601"
cy="-313"
cx="230" />
<polyline
style="fill:none;stroke:#000000"
id="polyline3512"
points="271.668,-360.283 188.332,-360.283 " />
<polyline
style="fill:none;stroke:#000000"
id="polyline3514"
points="271.668,-265.717 188.332,-265.717 " />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3516"
font-size="14.00"
y="-309.29999"
x="230">config.status</text>
</g>
<g
class="edge"
id="edge14"
transform="translate(4,932)">
<title
id="title3519">config.h.in-&gt;config.status</title>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:12,1;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path3521"
d="m 227.40968,-670.00576 c 1.335,49.807 -1.72568,195.00376 0.65132,283.69476"
sodipodi:nodetypes="cc" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3523"
points="228.202,-381.047 228.068,-386.045 228.068,-386.045 228.068,-386.045 228.202,-381.047 223.57,-385.925 228.336,-376.049 228.336,-376.049 228.336,-376.049 232.567,-386.166 " />
</g>
<g
class="edge"
id="edge15"
transform="translate(4,932)">
<title
id="title3526">Makefile.in-&gt;config.status</title>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:12,1;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path3528"
d="m 294.833,-467.979 c -8.579,20.376 -23.463,55.724 -36.807,87.417" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3530"
points="256.067,-375.909 258.007,-380.517 258.007,-380.517 258.007,-380.517 256.067,-375.909 253.86,-382.264 254.127,-371.301 254.127,-371.301 254.127,-371.301 262.155,-378.771 " />
</g>
<g
class="edge"
id="edge16"
transform="translate(4,932)">
<title
id="title3533">configure-&gt;config.status</title>
<path
style="fill:none;stroke:#000000;stroke-width:2"
inkscape:connector-curvature="0"
id="path3535"
d="m 166.102,-423.265 c 8.055,13.774 16.633,28.443 24.803,42.413" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3537"
points="186.478,-378.022 195.542,-383.323 195.542,-383.323 198.582,-367.724 " />
</g>
<g
class="node"
id="node13"
transform="translate(4,932)">
<title
id="title3540">config.h</title>
<polygon
style="fill:#0000f0;stroke:#000000;fill-opacity:0.08627451"
id="polygon3542"
points="110.75,-176 177.25,-176 177.25,-212 177.25,-212 110.75,-212 " />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3544"
font-size="14.00"
y="-190.3"
x="144">config.h</text>
</g>
<g
class="node"
id="node18"
transform="translate(4,932)">
<title
id="title3547">make</title>
<ellipse
style="fill:none;stroke:#000000"
sodipodi:ry="18"
sodipodi:rx="33.220901"
sodipodi:cy="-106"
sodipodi:cx="230"
d="m 263.2209,-106 c 0,9.941125 -14.8735,18 -33.2209,18 -18.3474,0 -33.2209,-8.058875 -33.2209,-18 0,-9.94113 14.8735,-18 33.2209,-18 18.3474,0 33.2209,8.05887 33.2209,18 z"
id="ellipse3549"
ry="18"
rx="33.220901"
cy="-106"
cx="230" />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3551"
font-size="14.00"
y="-102.3"
x="230">make</text>
</g>
<g
class="edge"
id="edge21"
transform="translate(4,932)">
<title
id="title3554">config.h-&gt;make</title>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:12,1;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path3556"
d="m 161.403,-175.597 c 13.375,13.375 31.944,31.944 46.39,46.39" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3558"
points="211.386,-125.614 207.85,-129.15 207.85,-129.15 207.85,-129.15 211.386,-125.614 204.668,-125.968 214.922,-122.078 214.922,-122.078 214.922,-122.078 211.032,-132.332 " />
</g>
<g
class="node"
id="node14"
transform="translate(4,932)">
<title
id="title3561">Makefile</title>
<polygon
style="fill:#0000f0;stroke:#000000;fill-opacity:0.08627451"
id="polygon3563"
points="195.75,-176 264.25,-176 264.25,-212 264.25,-212 195.75,-212 " />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3565"
font-size="14.00"
y="-190.3"
x="230">Makefile</text>
</g>
<g
class="edge"
id="edge22"
transform="translate(4,932)">
<title
id="title3568">Makefile-&gt;make</title>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:12,1;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path3570"
d="m 230,-175.597 c 0,11.851 0,27.78 0,41.305" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3572"
points="230,-129.084 230,-134.084 230,-134.084 230,-134.084 230,-129.084 225.5,-134.084 230,-124.084 230,-124.084 230,-124.084 234.5,-134.084 " />
</g>
<g
class="edge"
id="edge18"
transform="translate(4,932)">
<title
id="title3575">config.status-&gt;config.h</title>
<path
style="fill:none;stroke:#000000;stroke-width:2"
inkscape:connector-curvature="0"
id="path3577"
d="m 193.029,-261.702 c -9.358,12.731 -19.105,25.992 -27.42,37.304" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3579"
points="161.268,-227.357 169.729,-221.138 169.729,-221.138 156.615,-212.162 " />
</g>
<g
class="edge"
id="edge19"
transform="translate(4,932)">
<title
id="title3582">config.status-&gt;Makefile</title>
<path
style="fill:none;stroke:#000000;stroke-width:2"
inkscape:connector-curvature="0"
id="path3584"
d="m 230,-249.732 c 0,7.628 0,15.171 0,22.106" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3586"
points="224.75,-227.368 235.25,-227.368 235.25,-227.368 230,-212.368 " />
</g>
<g
class="node"
id="node20"
transform="translate(4,932)">
<title
id="title3589">input file</title>
<polygon
style="fill:#0000f0;stroke:#000000;fill-opacity:0.08627451"
id="polygon3591"
points="393,-176 461,-176 461,-212 461,-212 393,-212 " />
<text
style="font-size:14px;font-style:italic;text-anchor:start;font-family:URW Palladio L"
id="text3593"
font-size="14.00"
font-style="italic"
y="-191.3"
x="401.5">input file</text>
</g>
<g
class="node"
id="node19"
transform="translate(4,932)">
<title
id="title3596">executable</title>
<polygon
style="fill:#00c800;stroke:#000000;fill-opacity:0.19607843"
id="polygon3598"
points="192.75,0 267.25,0 267.25,-36 267.25,-36 192.75,-36 " />
<text
style="font-size:14px;font-style:italic;text-anchor:start;font-family:URW Palladio L"
id="text3600"
font-size="14.00"
font-style="italic"
y="-15.3"
x="201">executable</text>
</g>
<g
class="edge"
id="edge24"
transform="translate(4,932)">
<title
id="title3603">make-&gt;executable</title>
<path
style="fill:none;stroke:#000000;stroke-width:2"
inkscape:connector-curvature="0"
id="path3605"
d="m 230,-87.5966 c 0,10.4427 0,24.0522 0,36.3931" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3607"
points="224.75,-51.084 235.25,-51.084 235.25,-51.084 230,-36.084 " />
</g>
<g
class="node"
id="node21"
transform="translate(4,932)">
<title
id="title3610">process</title>
<ellipse
style="fill:none;stroke:#000000"
sodipodi:ry="18"
sodipodi:rx="37.070099"
sodipodi:cy="-106"
sodipodi:cx="427"
d="m 464.0701,-106 c 0,9.941125 -16.59685,18 -37.0701,18 -20.47325,0 -37.0701,-8.058875 -37.0701,-18 0,-9.94113 16.59685,-18 37.0701,-18 20.47325,0 37.0701,8.05887 37.0701,18 z"
id="ellipse3612"
ry="18"
rx="37.070099"
cy="-106"
cx="427" />
<text
style="font-size:14px;font-style:italic;text-anchor:start;font-family:URW Palladio L"
id="text3614"
font-size="14.00"
font-style="italic"
y="-103.3"
x="407">process</text>
</g>
<g
class="edge"
id="edge26"
transform="translate(4,932)">
<title
id="title3617">input file-&gt;process</title>
<path
style="fill:none;stroke:#000000;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:12,1;stroke-dashoffset:0"
inkscape:connector-curvature="0"
id="path3619"
d="m 427,-175.597 c 0,11.851 0,27.78 0,41.305" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3621"
points="427,-129.084 427,-134.084 427,-134.084 427,-134.084 427,-129.084 422.5,-134.084 427,-124.084 427,-124.084 427,-124.084 431.5,-134.084 " />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3623"
font-size="14.00"
y="-146.3"
x="467"> influences  </text>
</g>
<g
class="node"
id="node22"
transform="translate(4,932)">
<title
id="title3626">output file</title>
<polygon
style="fill:#00c800;stroke:#000000;fill-opacity:0.19607843"
id="polygon3628"
points="389.75,0 464.25,0 464.25,-36 464.25,-36 389.75,-36 " />
<text
style="font-size:14px;font-style:italic;text-anchor:start;font-family:URW Palladio L"
id="text3630"
font-size="14.00"
font-style="italic"
y="-15.3"
x="398">output file</text>
</g>
<g
class="edge"
id="edge27"
transform="translate(4,932)">
<title
id="title3633">process-&gt;output file</title>
<path
style="fill:none;stroke:#000000;stroke-width:2"
inkscape:connector-curvature="0"
id="path3635"
d="m 427,-87.5966 c 0,10.4427 0,24.0522 0,36.3931" />
<polygon
style="fill:#000000;stroke:#000000"
id="polygon3637"
points="421.75,-51.084 432.25,-51.084 432.25,-51.084 427,-36.084 " />
<text
style="font-size:14px;text-anchor:middle;font-family:Liberation Sans"
id="text3639"
font-size="14.00"
y="-58.299999"
x="458.5"> creates  </text>
</g>
</svg>

After

Width:  |  Height:  |  Size: 27 KiB

View File

@@ -0,0 +1,305 @@
.. 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)
.. _autotoolspackage:
----------------
AutotoolsPackage
----------------
Autotools is a GNU build system that provides a build-script generator.
By running the platform-independent ``./configure`` script that comes
with the package, you can generate a platform-dependent Makefile.
^^^^^^
Phases
^^^^^^
The ``AutotoolsPackage`` base class comes with the following phases:
#. ``autoreconf`` - generate the configure script
#. ``configure`` - generate the Makefiles
#. ``build`` - build the package
#. ``install`` - install the package
Most of the time, the ``autoreconf`` phase will do nothing, but if the
package is missing a ``configure`` script, ``autoreconf`` will generate
one for you.
The other phases run:
.. code-block:: console
$ ./configure --prefix=/path/to/installation/prefix
$ make
$ make check # optional
$ make install
$ make installcheck # optional
Of course, you may need to add a few arguments to the ``./configure``
line.
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
The most important file for an Autotools-based package is the ``configure``
script. This script is automatically generated by Autotools and generates
the appropriate Makefile when run.
.. warning::
Watch out for fake Autotools packages!
Autotools is a very popular build system, and many people are used to the
classic steps to install a package:
.. code-block:: console
$ ./configure
$ make
$ make install
For this reason, some developers will write their own ``configure``
scripts that have nothing to do with Autotools. These packages may
not accept the same flags as other Autotools packages, so it is
better to use the ``Package`` base class and create a
:ref:`custom build system <custompackage>`. You can tell if a package
uses Autotools by running ``./configure --help`` and comparing the output
to other known Autotools packages. You should also look for files like:
* ``configure.ac``
* ``configure.in``
* ``Makefile.am``
Packages that don't use Autotools aren't likely to have these files.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
Whether or not your package requires Autotools to install depends on
how the source code is distributed. Most of the time, when developers
distribute tarballs, they will already contain the ``configure`` script
necessary for installation. If this is the case, your package does not
require any Autotools dependencies.
However, a basic rule of version control systems is to never commit
code that can be generated. The source code repository itself likely
does not have a ``configure`` script. Developers typically write
(or auto-generate) a ``configure.ac`` script that contains configuration
preferences and a ``Makefile.am`` script that contains build instructions.
Then, ``autoconf`` is used to convert ``configure.ac`` into ``configure``,
while ``automake`` is used to convert ``Makefile.am`` into ``Makefile.in``.
``Makefile.in`` is used by ``configure`` to generate a platform-dependent
``Makefile`` for you. The following diagram provides a high-level overview
of the process:
.. figure:: Autoconf-automake-process.*
:target: https://commons.wikimedia.org/w/index.php?curid=15581407
`GNU autoconf and automake process for generating makefiles <https://commons.wikimedia.org/wiki/File:Autoconf-automake-process.svg>`_
by `Jdthood` under `CC BY-SA 3.0 <https://creativecommons.org/licenses/by-sa/3.0/deed.en>`_
If a ``configure`` script is not present in your tarball, you will
need to generate one yourself. Luckily, Spack already has an ``autoreconf``
phase to do most of the work for you. By default, the ``autoreconf``
phase runs:
.. code-block:: console
$ libtoolize
$ aclocal
$ autoreconf --install --verbose --force
All you need to do is add a few Autotools dependencies to the package.
Most stable releases will come with a ``configure`` script, but if you
check out a commit from the ``develop`` branch, you would want to add:
.. code-block:: python
depends_on('autoconf', type='build', when='@develop')
depends_on('automake', type='build', when='@develop')
depends_on('libtool', type='build', when='@develop')
depends_on('m4', type='build', when='@develop')
In some cases, developers might need to distribute a patch that modifies
one of the files used to generate ``configure`` or ``Makefile.in``.
In this case, these scripts will need to be regenerated. It is
preferable to regenerate these manually using the patch, and then
create a new patch that directly modifies ``configure``. That way,
Spack can use the secondary patch and additional build system
dependencies aren't necessary.
""""""""""""""""
force_autoreconf
""""""""""""""""
If for whatever reason you really want to add the original patch
and tell Spack to regenerate ``configure``, you can do so using the
following setting:
.. code-block:: python
force_autoreconf = True
This line tells Spack to wipe away the existing ``configure`` script
and generate a new one. If you only need to do this for a single
version, this can be done like so:
.. code-block:: python
@property
def force_autoreconf(self):
return self.version == Version('1.2.3'):
^^^^^^^^^^^^^^^^^^^^^^^
Finding configure flags
^^^^^^^^^^^^^^^^^^^^^^^
Once you have a ``configure`` script present, the next step is to
determine what option flags are available. These flags can be found
by running:
.. code-block:: console
$ ./configure --help
``configure`` will display a list of valid flags separated into
some or all of the following sections:
* Configuration
* Installation directories
* Fine tuning of the installation directories
* Program names
* X features
* System types
* **Optional Features**
* **Optional Packages**
* **Some influential environment variables**
For the most part, you can ignore all but the last 3 sections.
The "Optional Features" sections lists flags that enable/disable
features you may be interested in. The "Optional Packages" section
often lists dependencies and the flags needed to locate them. The
"environment variables" section lists environment variables that the
build system uses to pass flags to the compiler and linker.
^^^^^^^^^^^^^^^^^^^^^^^^^^
Addings flags to configure
^^^^^^^^^^^^^^^^^^^^^^^^^^
For most of the flags you encounter, you will want a variant to
optionally enable/disable them. You can then optionally pass these
flags to the ``configure`` call by overriding the ``configure_args``
function like so:
.. code-block:: python
def configure_args(self):
args = []
if '+mpi' in self.spec:
args.append('--enable-mpi')
else:
args.append('--disable-mpi')
return args
Note that we are explicitly disabling MPI support if it is not
requested. This is important, as many Autotools packages will enable
options by default if the dependencies are found, and disable them
otherwise. We want Spack installations to be as deterministic as possible.
If two users install a package with the same variants, the goal is that
both installations work the same way. See `here <https://www.linux.com/news/best-practices-autotools>`__
and `here <https://wiki.gentoo.org/wiki/Project:Quality_Assurance/Automagic_dependencies>`__
for a rationale as to why these so-called "automagic" dependencies
are a problem.
By default, Autotools installs packages to ``/usr``. We don't want this,
so Spack automatically adds ``--prefix=/path/to/installation/prefix``
to your list of ``configure_args``. You don't need to add this yourself.
^^^^^^^^^^^^^^^^
Helper functions
^^^^^^^^^^^^^^^^
You may have noticed that most of the Autotools flags are of the form
``--enable-foo``, ``--disable-bar``, ``--with-baz=<prefix>``, or
``--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``.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Configure script in a sub-directory
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Occasionally, developers will hide their source code and ``configure``
script in a subdirectory like ``src``. If this happens, Spack won't
be able to automatically detect the build system properly when running
``spack create``. You will have to manually change the package base
class and tell Spack where the ``configure`` script resides. You can
do this like so:
.. code-block:: python
configure_directory = 'src'
^^^^^^^^^^^^^^^^^^^^^^
Building out of source
^^^^^^^^^^^^^^^^^^^^^^
Some packages like ``gcc`` recommend building their software in a
different directory than the source code to prevent build pollution.
This can be done using the ``build_directory`` variable:
.. code-block:: python
build_directory = 'spack-build'
By default, Spack will build the package in the same directory that
contains the ``configure`` script
^^^^^^^^^^^^^^^^^^^^^^^^^
Build and install targets
^^^^^^^^^^^^^^^^^^^^^^^^^
For most Autotools packages, the usual:
.. code-block:: console
$ configure
$ make
$ make install
is sufficient to install the package. However, if you need to run
make with any other targets, for example, to build an optional
library or build the documentation, you can add these like so:
.. code-block:: python
build_targets = ['all', 'docs']
install_targets = ['install', 'docs']
^^^^^^^
Testing
^^^^^^^
Autotools-based packages typically provide unit testing via the
``check`` and ``installcheck`` targets. If you build your software
with ``spack install --test=root``, Spack will check for the presence
of a ``check`` or ``test`` target in the Makefile and run
``make check`` for you. After installation, it will check for an
``installcheck`` target and run ``make installcheck`` if it finds one.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on the Autotools build system, see:
https://www.gnu.org/software/automake/manual/html_node/Autotools-Introduction.html

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

@@ -0,0 +1,279 @@
.. 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)
.. _cmakepackage:
------------
CMakePackage
------------
Like Autotools, CMake is a widely-used build-script generator. Designed
by Kitware, CMake is the most popular build system for new C, C++, and
Fortran projects, and many older projects are switching to it as well.
Unlike Autotools, CMake can generate build scripts for builders other
than Make: Ninja, Visual Studio, etc. It is therefore cross-platform,
whereas Autotools is Unix-only.
^^^^^^
Phases
^^^^^^
The ``CMakePackage`` base class comes with the following phases:
#. ``cmake`` - generate the Makefile
#. ``build`` - build the package
#. ``install`` - install the package
By default, these phases run:
.. code-block:: console
$ mkdir spack-build
$ cd spack-build
$ cmake .. -DCMAKE_INSTALL_PREFIX=/path/to/installation/prefix
$ make
$ make test # optional
$ make install
A few more flags are passed to ``cmake`` by default, including flags
for setting the build type and flags for locating dependencies. Of
course, you may need to add a few arguments yourself.
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
A CMake-based package can be identified by the presence of a
``CMakeLists.txt`` file. This file defines the build flags that can be
passed to the cmake invocation, as well as linking instructions. If
you are familiar with CMake, it can prove very useful for determining
dependencies and dependency version requirements.
One thing to look for is the ``cmake_minimum_required`` function:
.. code-block:: cmake
cmake_minimum_required(VERSION 2.8.12)
This means that CMake 2.8.12 is the earliest release that will work.
You should specify this in a ``depends_on`` statement.
CMake-based packages may also contain ``CMakeLists.txt`` in subdirectories.
This modularization helps to manage complex builds in a hierarchical
fashion. Sometimes these nested ``CMakeLists.txt`` require additional
dependencies not mentioned in the top-level file.
There's also usually a ``cmake`` or ``CMake`` directory containing
additional macros, find scripts, etc. These may prove useful in
determining dependency version requirements.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
Every package that uses the CMake build system requires a ``cmake``
dependency. Since this is always the case, the ``CMakePackage`` base
class already contains:
.. code-block:: python
depends_on('cmake', type='build')
If you need to specify a particular version requirement, you can
override this in your package:
.. code-block:: python
depends_on('cmake@2.8.12:', type='build')
^^^^^^^^^^^^^^^^^^^
Finding cmake flags
^^^^^^^^^^^^^^^^^^^
To get a list of valid flags that can be passed to ``cmake``, run the
following command in the directory that contains ``CMakeLists.txt``:
.. code-block:: console
$ cmake . -LAH
CMake will start by checking for compilers and dependencies. Eventually
it will begin to list build options. You'll notice that most of the
build options at the top are prefixed with ``CMAKE_``. You can safely
ignore most of these options as Spack already sets them for you. This
includes flags needed to locate dependencies, RPATH libraries, set the
installation directory, and set the build type.
The rest of the flags are the ones you should consider adding to your
package. They often include flags to enable/disable support for certain
features and locate specific dependencies. One thing you'll notice that
makes CMake different from Autotools is that CMake has an understanding
of build flag hierarchy. That is, certain flags will not display unless
their parent flag has been selected. For example, flags to specify the
``lib`` and ``include`` directories for a package might not appear
unless CMake found the dependency it was looking for. You may need to
manually specify certain flags to explore the full depth of supported
build flags, or check the ``CMakeLists.txt`` yourself.
^^^^^^^^^^^^^^^^^^^^^
Adding flags to cmake
^^^^^^^^^^^^^^^^^^^^^
To add additional flags to the ``cmake`` call, simply override the
``cmake_args`` function:
.. code-block:: python
def cmake_args(self):
args = []
if '+hdf5' in self.spec:
args.append('-DDETECT_HDF5=ON')
else:
args.append('-DDETECT_HDF5=OFF')
return args
^^^^^^^^^^
Generators
^^^^^^^^^^
CMake and Autotools are build-script generation tools; they "generate"
the Makefiles that are used to build a software package. CMake actually
supports multiple generators, not just Makefiles. Another common
generator is Ninja. To switch to the Ninja generator, simply add:
.. code-block:: python
generator = 'Ninja'
``CMakePackage`` defaults to "Unix Makefiles". If you switch to the
Ninja generator, make sure to add:
.. code-block:: python
depends_on('ninja', type='build')
to the package as well. Aside from that, you shouldn't need to do
anything else. Spack will automatically detect that you are using
Ninja and run:
.. code-block:: console
$ cmake .. -G Ninja
$ ninja
$ ninja install
Spack currently only supports "Unix Makefiles" and "Ninja" as valid
generators, but it should be simple to add support for alternative
generators. For more information on CMake generators, see:
https://cmake.org/cmake/help/latest/manual/cmake-generators.7.html
^^^^^^^^^^^^^^^^
CMAKE_BUILD_TYPE
^^^^^^^^^^^^^^^^
Every CMake-based package accepts a ``-DCMAKE_BUILD_TYPE`` flag to
dictate which level of optimization to use. In order to ensure
uniformity across packages, the ``CMakePackage`` base class adds
a variant to control this:
.. code-block:: python
variant('build_type', default='RelWithDebInfo',
description='CMake build type',
values=('Debug', 'Release', 'RelWithDebInfo', 'MinSizeRel'))
However, not every CMake package accepts all four of these options.
Grep the ``CMakeLists.txt`` file to see if the default values are
missing or replaced. For example, the
`dealii <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/dealii/package.py>`_
package overrides the default variant with:
.. code-block:: python
variant('build_type', default='DebugRelease',
description='The build type to build',
values=('Debug', 'Release', 'DebugRelease'))
For more information on ``CMAKE_BUILD_TYPE``, see:
https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
CMakeLists.txt in a sub-directory
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Occasionally, developers will hide their source code and ``CMakeLists.txt``
in a subdirectory like ``src``. If this happens, Spack won't
be able to automatically detect the build system properly when running
``spack create``. You will have to manually change the package base
class and tell Spack where ``CMakeLists.txt`` resides. You can do this
like so:
.. code-block:: python
root_cmakelists_dir = 'src'
Note that this path is relative to the root of the extracted tarball,
not to the ``build_directory``. It defaults to the current directory.
^^^^^^^^^^^^^^^^^^^^^^
Building out of source
^^^^^^^^^^^^^^^^^^^^^^
By default, Spack builds every ``CMakePackage`` in a ``spack-build``
sub-directory. If, for whatever reason, you would like to build in a
different sub-directory, simply override ``build_directory`` like so:
.. code-block:: python
build_directory = 'my-build'
^^^^^^^^^^^^^^^^^^^^^^^^^
Build and install targets
^^^^^^^^^^^^^^^^^^^^^^^^^
For most CMake packages, the usual:
.. code-block:: console
$ cmake
$ make
$ make install
is sufficient to install the package. However, if you need to run
make with any other targets, for example, to build an optional
library or build the documentation, you can add these like so:
.. code-block:: python
build_targets = ['all', 'docs']
install_targets = ['install', 'docs']
^^^^^^^
Testing
^^^^^^^
CMake-based packages typically provide unit testing via the
``test`` target. If you build your software with ``--test=root``,
Spack will check for the presence of a ``test`` target in the
Makefile and run ``make test`` for you. If you want to run a
different test instead, simply override the ``check`` method.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on the CMake build system, see:
https://cmake.org/cmake/help/latest/

View File

@@ -0,0 +1,43 @@
.. 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)
.. _cudapackage:
-----------
CudaPackage
-----------
Different from other packages, ``CudaPackage`` does not represent a build
system. Instead its goal is to simplify and unify usage of ``CUDA`` in other
packages.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Provided variants and dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
``CudaPackage`` provides ``cuda`` variant (default to ``off``) to enable/disable
``CUDA``, and ``cuda_arch`` variant to optionally specify the architecture.
It also declares dependencies on the ``CUDA`` package ``depends_on('cuda@...')``
based on the architecture as well as specifies conflicts for certain compiler versions.
^^^^^
Usage
^^^^^
In order to use it, just add another base class to your package, for example:
.. code-block:: python
class MyPackage(CMakePackage, CudaPackage):
...
def cmake_args(self):
spec = self.spec
if '+cuda' in spec:
options.append('-DWITH_CUDA=ON')
cuda_arch = spec.variants['cuda_arch'].value
if cuda_arch is not None:
options.append('-DCUDA_FLAGS=-arch=sm_{0}'.format(cuda_arch[0]))
else:
options.append('-DWITH_CUDA=OFF')

View File

@@ -0,0 +1,209 @@
.. 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)
.. _custompackage:
--------------------
Custom Build Systems
--------------------
While the build systems listed above should meet your needs for the
vast majority of packages, some packages provide custom build scripts.
This guide is intended for the following use cases:
* Packaging software with its own custom build system
* Adding support for new build systems
If you want to add support for a new build system, a good place to
start is to look at the definitions of other build systems. This guide
focuses mostly on how Spack's build systems work.
In this guide, we will be using the
`perl <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/perl/package.py>`_ and
`cmake <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/cmake/package.py>`_
packages as examples. ``perl``'s build system is a hand-written
``Configure`` shell script, while ``cmake`` bootstraps itself during
installation. Both of these packages require custom build systems.
^^^^^^^^^^
Base class
^^^^^^^^^^
If your package does not belong to any of the aforementioned build
systems that Spack already supports, you should inherit from the
``Package`` base class. ``Package`` is a simple base class with a
single phase: ``install``. If your package is simple, you may be able
to simply write an ``install`` method that gets the job done. However,
if your package is more complex and installation involves multiple
steps, you should add separate phases as mentioned in the next section.
If you are creating a new build system base class, you should inherit
from ``PackageBase``. This is the superclass for all build systems in
Spack.
^^^^^^
Phases
^^^^^^
The most important concept in Spack's build system support is the idea
of phases. Each build system defines a set of phases that are necessary
to install the package. They usually follow some sort of "configure",
"build", "install" guideline, but any of those phases may be missing
or combined with another phase.
If you look at the ``perl`` package, you'll see:
.. code-block:: python
phases = ['configure', 'build', 'install']
Similarly, ``cmake`` defines:
.. code-block:: python
phases = ['bootstrap', 'build', 'install']
If we look at the ``cmake`` example, this tells Spack's ``PackageBase``
class to run the ``bootstrap``, ``build``, and ``install`` functions
in that order. It is now up to you to define these methods.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Phase and phase_args functions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If we look at ``perl``, we see that it defines a ``configure`` method:
.. code-block:: python
def configure(self, spec, prefix):
configure = Executable('./Configure')
configure(*self.configure_args())
There is also a corresponding ``configure_args`` function that handles
all of the arguments to pass to ``Configure``, just like in
``AutotoolsPackage``. Comparatively, the ``build`` and ``install``
phases are pretty simple:
.. code-block:: python
def build(self, spec, prefix):
make()
def install(self, spec, prefix):
make('install')
The ``cmake`` package looks very similar, but with a ``bootstrap``
function instead of ``configure``:
.. code-block:: python
def bootstrap(self, spec, prefix):
bootstrap = Executable('./bootstrap')
bootstrap(*self.bootstrap_args())
def build(self, spec, prefix):
make()
def install(self, spec, prefix):
make('install')
Again, there is a ``boostrap_args`` function that determines the
correct bootstrap flags to use.
^^^^^^^^^^^^^^^^^^^^
run_before/run_after
^^^^^^^^^^^^^^^^^^^^
Occasionally, you may want to run extra steps either before or after
a given phase. This applies not just to custom build systems, but to
existing build systems as well. You may need to patch a file that is
generated by configure, or install extra files in addition to what
``make install`` copies to the installation prefix. This is where
``@run_before`` and ``@run_after`` come in.
These Python decorators allow you to write functions that are called
before or after a particular phase. For example, in ``perl``, we see:
.. code-block:: python
@run_after('install')
def install_cpanm(self):
spec = self.spec
if '+cpanm' in spec:
with working_dir(join_path('cpanm', 'cpanm')):
perl = spec['perl'].command
perl('Makefile.PL')
make()
make('install')
This extra step automatically installs ``cpanm`` in addition to the
base Perl installation.
^^^^^^^^^^^^^^^^^^^^^
on_package_attributes
^^^^^^^^^^^^^^^^^^^^^
The ``run_before``/``run_after`` logic discussed above becomes
particularly powerful when combined with the ``@on_package_attributes``
decorator. This decorator allows you to conditionally run certain
functions depending on the attributes of that package. The most
common example is conditional testing. Many unit tests are prone to
failure, even when there is nothing wrong with the installation.
Unfortunately, non-portable unit tests and tests that are
"supposed to fail" are more common than we would like. Instead of
always running unit tests on installation, Spack lets users
conditionally run tests with the ``--test=root`` flag.
If we wanted to define a function that would conditionally run
if and only if this flag is set, we would use the following line:
.. code-block:: python
@on_package_attributes(run_tests=True)
^^^^^^^
Testing
^^^^^^^
Let's put everything together and add unit tests to our package.
In the ``perl`` package, we can see:
.. code-block:: python
@run_after('build')
@on_package_attributes(run_tests=True)
def test(self):
make('test')
As you can guess, this runs ``make test`` *after* building the package,
if and only if testing is requested. Again, this is not specific to
custom build systems, it can be added to existing build systems as well.
Ideally, every package in Spack will have some sort of test to ensure
that it was built correctly. It is up to the package authors to make
sure this happens. If you are adding a package for some software and
the developers list commands to test the installation, please add these
tests to your ``package.py``.
.. warning::
The order of decorators matters. The following ordering:
.. code-block:: python
@run_after('install')
@on_package_attributes(run_tests=True)
works as expected. However, if you reverse the ordering:
.. code-block:: python
@on_package_attributes(run_tests=True)
@run_after('install')
the tests will always be run regardless of whether or not
``--test=root`` is requested. See https://github.com/spack/spack/issues/3833
for more information

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,309 @@
.. 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)
.. _makefilepackage:
---------------
MakefilePackage
---------------
The most primitive build system a package can use is a plain Makefile.
Makefiles are simple to write for small projects, but they usually
require you to edit the Makefile to set platform and compiler-specific
variables.
^^^^^^
Phases
^^^^^^
The ``MakefilePackage`` base class comes with 3 phases:
#. ``edit`` - edit the Makefile
#. ``build`` - build the project
#. ``install`` - install the project
By default, ``edit`` does nothing, but you can override it to replace
hard-coded Makefile variables. The ``build`` and ``install`` phases
run:
.. code-block:: console
$ make
$ make install
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
The main file that matters for a ``MakefilePackage`` is the Makefile.
This file will be named one of the following ways:
* GNUmakefile (only works with GNU Make)
* Makefile (most common)
* makefile
Some Makefiles also *include* other configuration files. Check for an
``include`` directive in the Makefile.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
Spack assumes that the operating system will have a valid ``make`` utility
installed already, so you don't need to add a dependency on ``make``.
However, if the package uses a ``GNUmakefile`` or the developers recommend
using GNU Make, you should add a dependency on ``gmake``:
.. code-block:: python
depends_on('gmake', type='build')
^^^^^^^^^^^^^^^^^^^^^^^^^^
Types of Makefile packages
^^^^^^^^^^^^^^^^^^^^^^^^^^
Most of the work involved in packaging software that uses Makefiles
involves overriding or replacing hard-coded variables. Many packages
make the mistake of hard-coding compilers, usually for GCC or Intel.
This is fine if you happen to be using that particular compiler, but
Spack is designed to work with *any* compiler, and you need to ensure
that this is the case.
Depending on how the Makefile is designed, there are 4 common strategies
that can be used to set or override the appropriate variables:
"""""""""""""""""""""
Environment variables
"""""""""""""""""""""
Make has multiple types of
`assignment operators <https://www.gnu.org/software/make/manual/make.html#Setting>`_.
Some Makefiles use ``=`` to assign variables. The only way to override
these variables is to edit the Makefile or override them on the
command-line. However, Makefiles that use ``?=`` for assignment honor
environment variables. Since Spack already sets ``CC``, ``CXX``, ``F77``,
and ``FC``, you won't need to worry about setting these variables. If
there are any other variables you need to set, you can do this in the
``edit`` method:
.. code-block:: python
def edit(self, spec, prefix):
env['PREFIX'] = prefix
env['BLASLIB'] = spec['blas'].libs.ld_flags
`cbench <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/cbench/package.py>`_
is a good example of a simple package that does this, while
`esmf <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/esmf/package.py>`_
is a good example of a more complex package.
""""""""""""""""""""""
Command-line arguments
""""""""""""""""""""""
If the Makefile ignores environment variables, the next thing to try
is command-line arguments. You can do this by overriding the
``build_targets`` attribute. If you don't need access to the spec,
you can do this like so:
.. code-block:: python
build_targets = ['CC=cc']
If you do need access to the spec, you can create a property like so:
.. code-block:: python
@property
def build_targets(self):
spec = self.spec
return [
'CC=cc',
'BLASLIB={0}'.format(spec['blas'].libs.ld_flags),
]
`cloverleaf <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/cloverleaf/package.py>`_
is a good example of a package that uses this strategy.
"""""""""""""
Edit Makefile
"""""""""""""
Some Makefiles are just plain stubborn and will ignore command-line
variables. The only way to ensure that these packages build correctly
is to directly edit the Makefile. Spack provides a ``FileFilter`` class
and a ``filter_file`` method to help with this. For example:
.. code-block:: python
def edit(self, spec, prefix):
makefile = FileFilter('Makefile')
makefile.filter('CC = gcc', 'CC = cc')
makefile.filter('CXX = g++', 'CC = c++')
`stream <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/stream/package.py>`_
is a good example of a package that involves editing a Makefile to set
the appropriate variables.
"""""""""""
Config file
"""""""""""
More complex packages often involve Makefiles that *include* a
configuration file. These configuration files are primarily composed
of variables relating to the compiler, platform, and the location of
dependencies or names of libraries. Since these config files are
dependent on the compiler and platform, you will often see entire
directories of examples for common compilers and architectures. Use
these examples to help determine what possible values to use.
If the config file is long and only contains one or two variables
that need to be modified, you can use the technique above to edit
the config file. However, if you end up needing to modify most of
the variables, it may be easier to write a new file from scratch.
If each variable is independent of each other, a dictionary works
well for storing variables:
.. code-block:: python
def edit(self, spec, prefix):
config = {
'CC': 'cc',
'MAKE': 'make',
}
if '+blas' in spec:
config['BLAS_LIBS'] = spec['blas'].libs.joined()
with open('make.inc', 'w') as inc:
for key in config:
inc.write('{0} = {1}\n'.format(key, config[key]))
`elk <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/elk/package.py>`_
is a good example of a package that uses a dictionary to store
configuration variables.
If the order of variables is important, it may be easier to store
them in a list:
.. code-block:: python
def edit(self, spec, prefix):
config = [
'INSTALL_DIR = {0}'.format(prefix),
'INCLUDE_DIR = $(INSTALL_DIR)/include',
'LIBRARY_DIR = $(INSTALL_DIR)/lib',
]
with open('make.inc', 'w') as inc:
for var in config:
inc.write('{0}\n'.format(var))
`hpl <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/hpl/package.py>`_
is a good example of a package that uses a list to store
configuration variables.
^^^^^^^^^^^^^^^^^^^^^^^^^^
Variables to watch out for
^^^^^^^^^^^^^^^^^^^^^^^^^^
The following is a list of common variables to watch out for. The first
two sections are
`implicit variables <https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html>`_
defined by Make and will always use the same name, while the rest are
user-defined variables and may vary from package to package.
* **Compilers**
This includes variables such as ``CC``, ``CXX``, ``F77``, ``F90``,
and ``FC``, as well as variables related to MPI compiler wrappers,
like ``MPICC`` and friends.
* **Compiler flags**
This includes variables for specific compilers, like ``CFLAGS``,
``CXXFLAGS``, ``F77FLAGS``, ``F90FLAGS``, ``FCFLAGS``, and ``CPPFLAGS``.
These variables are often hard-coded to contain flags specific to a
certain compiler. If these flags don't work for every compiler,
you may want to consider filtering them.
* **Variables that enable or disable features**
This includes variables like ``MPI``, ``OPENMP``, ``PIC``, and
``DEBUG``. These flags often require you to create a variant
so that you can either build with or without MPI support, for
example. These flags are often compiler-dependent. You should
replace them with the appropriate compiler flags, such as
``self.compiler.openmp_flag`` or ``self.compiler.pic_flag``.
* **Platform flags**
These flags control the type of architecture that the executable
is compiler for. Watch out for variables like ``PLAT`` or ``ARCH``.
* **Dependencies**
Look out for variables that sound like they could be used to
locate dependencies, such as ``JAVA_HOME``, ``JPEG_ROOT``, or
``ZLIBDIR``. Also watch out for variables that control linking,
such as ``LIBS``, ``LDFLAGS``, and ``INCLUDES``. These variables
need to be set to the installation prefix of a dependency, or
to the correct linker flags to link to that dependency.
* **Installation prefix**
If your Makefile has an ``install`` target, it needs some way of
knowing where to install. By default, many packages install to
``/usr`` or ``/usr/local``. Since many Spack users won't have
sudo privileges, it is imperative that each package is installed
to the proper prefix. Look for variables like ``PREFIX`` or
``INSTALL``.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Makefiles in a sub-directory
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Not every package places their Makefile in the root of the package
tarball. If the Makefile is in a sub-directory like ``src``, you
can tell Spack where to locate it like so:
.. code-block:: python
build_directory = 'src'
^^^^^^^^^^^^^^^^^^^
Manual installation
^^^^^^^^^^^^^^^^^^^
Not every Makefile includes an ``install`` target. If this is the
case, you can override the default ``install`` method to manually
install the package:
.. code-block:: python
def install(self, spec, prefix):
mkdir(prefix.bin)
install('foo', prefix.bin)
install_tree('lib', prefix.lib)
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on reading and writing Makefiles, see:
https://www.gnu.org/software/make/manual/make.html

View File

@@ -0,0 +1,134 @@
.. 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)
.. _mesonpackage:
------------
MesonPackage
------------
Much like Autotools and CMake, Meson is a build system. But it is
meant to be both fast and as user friendly as possible. GNOME's goal
is to port modules to use the Meson build system.
^^^^^^
Phases
^^^^^^
The ``MesonPackage`` base class comes with the following phases:
#. ``meson`` - generate ninja files
#. ``build`` - build the project
#. ``install`` - install the project
By default, these phases run:
.. code-block:: console
$ mkdir spack-build
$ cd spack-build
$ meson .. --prefix=/path/to/installation/prefix
$ ninja
$ ninja test # optional
$ ninja install
Any of these phases can be overridden in your package as necessary.
There is also a ``check`` method that looks for a ``test`` target
in the build file. If a ``test`` target exists and the user runs:
.. code-block:: console
$ spack install --test=root <meson-package>
Spack will run ``ninja test`` after the build phase.
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
Packages that use the Meson build system can be identified by the
presence of a ``meson.build`` file. This file declares things
like build instructions and dependencies.
One thing to look for is the ``meson_version`` key that gets passed
to the ``project`` function:
.. code-block:: none
:emphasize-lines: 10
project('gtk+', 'c',
version: '3.94.0',
default_options: [
'buildtype=debugoptimized',
'warning_level=1',
# We only need c99, but glib needs GNU-specific features
# https://github.com/mesonbuild/meson/issues/2289
'c_std=gnu99',
],
meson_version: '>= 0.43.0',
license: 'LGPLv2.1+')
This means that Meson 0.43.0 is the earliest release that will work.
You should specify this in a ``depends_on`` statement.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
At the bare minimum, packages that use the Meson build system need
``meson`` and ```ninja``` dependencies. Since this is always the case,
the ``MesonPackage`` base class already contains:
.. code-block:: python
depends_on('meson', type='build')
depends_on('ninja', type='build')
If you need to specify a particular version requirement, you can
override this in your package:
.. code-block:: python
depends_on('meson@0.43.0:', type='build')
depends_on('ninja', type='build')
^^^^^^^^^^^^^^^^^^^
Finding meson flags
^^^^^^^^^^^^^^^^^^^
To get a list of valid flags that can be passed to ``meson``, run the
following command in the directory that contains ``meson.build``:
.. code-block:: console
$ meson setup --help
^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to meson
^^^^^^^^^^^^^^^^^^^^^^^^^^
If you need to pass any arguments to the ``meson`` call, you can
override the ``meson_args`` method like so:
.. code-block:: python
def meson_args(self):
return ['--default-library=both']
This method can be used to pass flags as well as variables.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on the Meson build system, see:
https://mesonbuild.com/index.html

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)
.. _octavepackage:
-------------
OctavePackage
-------------
Octave has its own build system for installing packages.
^^^^^^
Phases
^^^^^^
The ``OctavePackage`` base class has a single phase:
#. ``install`` - install the package
By default, this phase runs the following command:
.. code-block:: console
$ octave '--eval' 'pkg prefix <prefix>; pkg install <archive_file>'
Beware that uninstallation is not implemented at the moment. After uninstalling
a package via Spack, you also need to manually uninstall it from Octave via
``pkg uninstall <package_name>``.
^^^^^^^^^^^^^^^^^^^^^^^
Finding Octave packages
^^^^^^^^^^^^^^^^^^^^^^^
Most Octave packages are listed at https://octave.sourceforge.io/packages.php.
^^^^^^^^^^^^
Dependencies
^^^^^^^^^^^^
Usually, the homepage of a package will list dependencies, i.e.
``Dependencies: Octave >= 3.6.0 struct >= 1.0.12``. The same information should
be available in the ``DESCRIPTION`` file in the root of each archive.
^^^^^^^^^^^^^^^^^^^^^^
External Documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on the Octave build system, see:
https://octave.org/doc/v4.4.0/Installing-and-Removing-Packages.html

View File

@@ -0,0 +1,212 @@
.. 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)
.. _perlpackage:
-----------
PerlPackage
-----------
Much like Octave, Perl has its own language-specific
build system.
^^^^^^
Phases
^^^^^^
The ``PerlPackage`` base class comes with 3 phases that can be overridden:
#. ``configure`` - configure the package
#. ``build`` - build the package
#. ``install`` - install the package
Perl packages have 2 common modules used for module installation:
"""""""""""""""""""""""
``ExtUtils::MakeMaker``
"""""""""""""""""""""""
The ``ExtUtils::MakeMaker`` module is just what it sounds like, a module
designed to generate Makefiles. It can be identified by the presence of
a ``Makefile.PL`` file, and has the following installation steps:
.. code-block:: console
$ perl Makefile.PL INSTALL_BASE=/path/to/installation/prefix
$ make
$ make test # optional
$ make install
"""""""""""""""""
``Module::Build``
"""""""""""""""""
The ``Module::Build`` module is a pure-Perl build system, and can be
identified by the presence of a ``Build.PL`` file. It has the following
installation steps:
.. code-block:: console
$ perl Build.PL --install_base /path/to/installation/prefix
$ ./Build
$ ./Build test # optional
$ ./Build install
If both ``Makefile.PL`` and ``Build.PL`` files exist in the package,
Spack will use ``Makefile.PL`` by default. If your package uses a
different module, ``PerlPackage`` will need to be extended to support
it.
``PerlPackage`` automatically detects which build steps to use, so there
shouldn't be much work on the package developer's side to get things
working.
^^^^^^^^^^^^^^^^^^^^^
Finding Perl packages
^^^^^^^^^^^^^^^^^^^^^
Most Perl modules are hosted on CPAN - The Comprehensive Perl Archive
Network. If you need to find a package for ``XML::Parser``, for example,
you should search for "CPAN XML::Parser".
Some CPAN pages are versioned. Check for a link to the
"Latest Release" to make sure you have the latest version.
^^^^^^^^^^^^
Package name
^^^^^^^^^^^^
When you use ``spack create`` to create a new Perl package, Spack will
automatically prepend ``perl-`` to the front of the package name. This
helps to keep Perl modules separate from other packages. The same
naming scheme is used for other language extensions, like Python and R.
^^^^^^^^^^^
Description
^^^^^^^^^^^
Most CPAN pages have a short description under "NAME" and a longer
description under "DESCRIPTION". Use whichever you think is more
useful while still being succinct.
^^^^^^^^
Homepage
^^^^^^^^
In the top-right corner of the CPAN page, you'll find a "permalink"
for the package. This should be used instead of the current URL, as
it doesn't contain the version number and will always link to the
latest release.
^^^
URL
^^^
If you haven't found it already, the download URL is on the right
side of the page below the permalink. Search for "Download".
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
Every ``PerlPackage`` obviously depends on Perl at build and run-time,
so ``PerlPackage`` contains:
.. code-block:: python
extends('perl')
depends_on('perl', type=('build', 'run'))
If your package requires a specific version of Perl, you should
specify this.
Although newer versions of Perl include ``ExtUtils::MakeMaker`` and
``Module::Build`` as "core" modules, you may want to add dependencies
on ``perl-extutils-makemaker`` and ``perl-module-build`` anyway. Many
people add Perl as an external package, and we want the build to work
properly. If your package uses ``Makefile.PL`` to build, add:
.. code-block:: python
depends_on('perl-extutils-makemaker', type='build')
If your package uses ``Build.PL`` to build, add:
.. code-block:: python
depends_on('perl-module-build', type='build')
^^^^^^^^^^^^^^^^^
Perl dependencies
^^^^^^^^^^^^^^^^^
Below the download URL, you will find a "Dependencies" link, which
takes you to a page listing all of the dependencies of the package.
Packages listed as "Core module" don't need to be added as dependencies,
but all direct dependencies should be added. Don't add dependencies of
dependencies. These should be added as dependencies to the dependency,
not to your package.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to configure
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Packages that have non-Perl dependencies often use command-line
variables to specify their installation directory. You can pass
arguments to ``Makefile.PL`` or ``Build.PL`` by overriding
``configure_args`` like so:
.. code-block:: python
def configure_args(self):
expat = self.spec['expat'].prefix
return [
'EXPATLIBPATH={0}'.format(expat.lib),
'EXPATINCPATH={0}'.format(expat.include),
]
^^^^^^^^^^^^^^^^^^^^^
Alternatives to Spack
^^^^^^^^^^^^^^^^^^^^^
If you need to maintain a stack of Perl modules for a user and don't
want to add all of them to Spack, a good alternative is ``cpanm``.
If Perl is already installed on your system, it should come with a
``cpan`` executable. To install ``cpanm``, run the following command:
.. code-block:: console
$ cpan App::cpanminus
Now, you can install any Perl module you want by running:
.. code-block:: console
$ cpanm Module::Name
Obviously, these commands can only be run if you have root privileges.
Furthermore, ``cpanm`` is not capable of installing non-Perl dependencies.
If you need to install to your home directory or need to install a module
with non-Perl dependencies, Spack is a better option.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
You can find more information on installing Perl modules from source
at: http://www.perlmonks.org/?node_id=128077
More generic Perl module installation instructions can be found at:
http://www.cpan.org/modules/INSTALL.html

View File

@@ -0,0 +1,747 @@
.. 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)
.. _pythonpackage:
-------------
PythonPackage
-------------
Python packages and modules have their own special build system.
^^^^^^
Phases
^^^^^^
The ``PythonPackage`` base class provides the following phases that
can be overridden:
* ``build``
* ``build_py``
* ``build_ext``
* ``build_clib``
* ``build_scripts``
* ``clean``
* ``install``
* ``install_lib``
* ``install_headers``
* ``install_scripts``
* ``install_data``
* ``sdist``
* ``register``
* ``bdist``
* ``bdist_dumb``
* ``bdist_rpm``
* ``bdist_wininst``
* ``upload``
* ``check``
These are all standard ``setup.py`` commands and can be found by running:
.. code-block:: console
$ python setup.py --help-commands
By default, only the ``build`` and ``install`` phases are run:
#. ``build`` - build everything needed to install
#. ``install`` - install everything from build directory
If for whatever reason you need to run more phases, simply modify your
``phases`` list like so:
.. code-block:: python
phases = ['build_ext', 'install', 'bdist']
Each phase provides a function ``<phase>`` that runs:
.. code-block:: console
$ python -s setup.py --no-user-cfg <phase>
Each phase also has a ``<phase_args>`` function that can pass arguments to
this call. All of these functions are empty except for the ``install_args``
function, which passes ``--prefix=/path/to/installation/prefix``. There is
also some additional logic specific to setuptools and eggs.
If you need to run a phase that is not a standard ``setup.py`` command,
you'll need to define a function for it like so:
.. code-block:: python
phases = ['configure', 'build', 'install']
def configure(self, spec, prefix):
self.setup_py('configure')
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
Python packages can be identified by the presence of a ``setup.py`` file.
This file is used by package managers like ``pip`` to determine a
package's dependencies and the version of dependencies required, so if
the ``setup.py`` file is not accurate, the package will not build properly.
For this reason, the ``setup.py`` file should be fairly reliable. If the
documentation and ``setup.py`` disagree on something, the ``setup.py``
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``.
^^^^^^^^^^^^^^^^^^^^^^^
Finding Python packages
^^^^^^^^^^^^^^^^^^^^^^^
The vast majority of Python packages are hosted on PyPI - The Python
Package Index. ``pip`` only supports packages hosted on PyPI, making
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>
^^^^^^^^^^^
Description
^^^^^^^^^^^
The top of the PyPI downloads page contains a description of the
package. The first line is usually a short description, while there
may be a several line "Project Description" that follows. Choose whichever
is more useful. You can also get these descriptions on the command-line
using:
.. code-block:: console
$ python setup.py --description
$ python setup.py --long-description
^^^^^^^^
Homepage
^^^^^^^^
Package developers use ``setup.py`` to upload new versions to PyPI.
The ``setup`` method often passes metadata like ``homepage`` to PyPI.
This metadata is displayed on the left side of the download page.
Search for the text "Homepage" under "Project links" to find it. You
should use this page instead of the PyPI page if they differ. You can
also get the homepage on the command-line by running:
.. code-block:: console
$ python setup.py --url
^^^
URL
^^^
You may have noticed that Spack allows you to add multiple versions of
the same package without adding multiple versions of the download URL.
It does this by guessing what the version string in the URL is and
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
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
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
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>
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
version control systems. The tarball can be downloaded from either
location, but PyPI is preferred for the following reasons:
#. PyPI contains the bare minimum of files to install the package.
You may notice that the tarball you download from PyPI does not
have the same checksum as the tarball you download from GitHub.
When a developer uploads a new release to PyPI, it doesn't contain
every file in the repository, only the files necessary to install
the package. PyPI tarballs are therefore smaller.
#. PyPI is the official source for package managers like ``pip``.
Let's be honest, ``pip`` is much more popular than Spack. If the
GitHub tarball contains a file not present in the PyPI tarball that
causes a bug, the developers may not realize this for quite some
time. If the bug was in a file contained in the PyPI tarball, users
would notice the bug much more quickly.
#. GitHub release may be a beta version.
When a developer releases a new version of a package on GitHub,
it may not be intended for most users. Until that release also
makes its way to PyPI, it should be assumed that the release is
not yet ready for general use.
#. The checksum for a GitHub release may change.
Unfortunately, some developers have a habit of patching releases
without incrementing the version number. This results in a change
in tarball checksum. Package managers like Spack that use checksums
to verify the integrity of a download tarball grind to a halt when
the checksum for a known version changes. Most of the time, the
change is intentional, and contains a needed bug fix. However,
sometimes the change indicates a download source that has been
compromised, and a tarball that contains a virus. If this happens,
you must contact the developers to determine which is the case.
PyPI is nice because it makes it physically impossible to
re-release the same version of a package with a different checksum.
There are some reasons to prefer downloading from GitHub:
#. 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
developers, it will not contain development files like unit tests.
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.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
There are a few dependencies common to the ``PythonPackage`` build system.
""""""
Python
""""""
Obviously, every ``PythonPackage`` needs Python at build-time to run
``python setup.py build && python setup.py install``. Python is also
needed at run-time if you want to import the module. Due to backwards
incompatible changes between Python 2 and 3, it is very important to
specify which versions of Python are supported. If the documentation
mentions that Python 3 is required, this can be specified as:
.. code-block:: python
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')
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')
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
`py-numpy <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-numpy/package.py>`_
looks like:
.. code-block:: python
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:
.. code-block:: python
if sys.version_info[:2] < (2, 7) or (3, 0) <= sys.version_info[:2] < (3, 4):
raise RuntimeError("Python version 2.7 or >= 3.4 required.")
This can be converted to Spack's spec notation like so:
.. code-block:: python
depends_on('python@2.7:2.8,3.4:', type=('build', 'run'))
""""""""""
setuptools
""""""""""
Originally, the Python language had a single build system called
distutils, which is built into Python. Distutils provided a common
framework for package authors to describe their project and how it
should be built. However, distutils was not without limitations.
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
the Python packages in Spack.
Since setuptools isn't built-in to Python, you need to add it as a
dependency. To determine whether or not a package uses setuptools,
search the file for an import statement like:
.. code-block:: python
import setuptools
or:
.. code-block:: python
from setuptools import setup
Some packages are designed to work with both setuptools and distutils,
so you may find something like:
.. code-block:: python
try:
from setuptools import setup
except ImportError:
from distutils.core import setup
This uses setuptools if available, and falls back to distutils if not.
In this case, you would still want to add a setuptools dependency, as
it offers us more control over the installation.
Unless specified otherwise, setuptools is usually a build-only dependency.
That is, it is needed to install the software, but is not needed at
run-time. This can be specified as:
.. code-block:: python
depends_on('py-setuptools', type='build')
""""""
cython
""""""
Compared to compiled languages, interpreted languages like Python can
be quite a bit slower. To work around this, some Python developers
rewrite computationally demanding sections of code in C, a process
referred to as "cythonizing". In order to build these package, you
need to add a build dependency on cython:
.. code-block:: python
depends_on('py-cython', type='build')
Look for references to "cython" in the ``setup.py`` to determine
whether or not this is necessary. Cython may be optional, but
even then you should list it as a required dependency. Spack is
designed to compile software, and is meant for HPC facilities
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.
^^^^^^^^^^^^^^^^^^^
Python dependencies
^^^^^^^^^^^^^^^^^^^
When you install a package with ``pip``, it reads the ``setup.py``
file in order to determine the dependencies of the package.
If the dependencies are not yet installed, ``pip`` 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, ``pip`` 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 Python extensions, which involves
symlinking the package installation prefix to the Python 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 ``pip`` and won't have to
worry about it. Always check the ``setup.py`` to find the true
dependencies.
If the package relies on ``distutils``, it may not explicitly list its
dependencies. Check for statements like:
.. code-block:: python
try:
import numpy
except ImportError:
raise ImportError("numpy must be installed prior to installation")
Obviously, this means that ``py-numpy`` is a dependency.
If the package uses ``setuptools``, check for the following clues:
* ``install_requires``
These packages are required for installation.
* ``extra_requires``
These packages are optional dependencies that enable additional
functionality. You should add a variant that optionally adds these
dependencies.
* ``test_requires``
These are packages that are required to run the unit tests for the
package. These dependencies can be specified using the
``type='test'`` dependency type.
In the root directory of the package, you may notice a
``requirements.txt`` file. It may look like this file contains a list
of all of the package's dependencies. Don't be fooled. This file is
used by tools like Travis to install the pre-requisites for the
package... and a whole bunch of other things. It often contains
dependencies only needed for unit tests, like:
* mock
* nose
* pytest
It can also contain dependencies for building the documentation, like
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.
""""""""""
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
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
add run-time dependencies if they aren't needed, so you need to
determine whether or not setuptools is needed. Grep the installation
directory for any files containing a reference to ``setuptools`` or
``pkg_resources``. Both modules come from ``py-setuptools``.
``pkg_resources`` is particularly common in scripts in ``prefix/bin``.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to setup.py
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The default build and install phases should be sufficient to install
most packages. However, you may want to pass additional flags to
either phase.
You can view the available options for a particular phase with:
.. code-block:: console
$ python setup.py <phase> --help
Each phase provides a ``<phase_args>`` function that can be used to
pass arguments to that phase. For example,
`py-numpy <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-numpy/package.py>`_
adds:
.. code-block:: python
def build_args(self, spec, prefix):
args = []
# From NumPy 1.10.0 on it's possible to do a parallel build.
if self.version >= Version('1.10.0'):
# But Parallel build in Python 3.5+ is broken. See:
# https://github.com/spack/spack/issues/7927
# https://github.com/scipy/scipy/issues/7112
if spec['python'].version < Version('3.5'):
args = ['-j', str(make_jobs)]
return args
^^^^^^^
Testing
^^^^^^^
``PythonPackage`` provides a couple of options for testing packages.
""""""""""""
Import tests
""""""""""""
Just because a package successfully built does not mean that it built
correctly. The most reliable test of whether or not the package was
correctly installed is to attempt to import all of the modules that
get installed. To get a list of modules, run the following command
in the source directory:
.. code-block:: console
$ python
>>> import setuptools
>>> setuptools.find_packages()
['numpy', 'numpy._build_utils', 'numpy.compat', 'numpy.core', 'numpy.distutils', 'numpy.doc', 'numpy.f2py', 'numpy.fft', 'numpy.lib', 'numpy.linalg', 'numpy.ma', 'numpy.matrixlib', 'numpy.polynomial', 'numpy.random', 'numpy.testing', 'numpy.core.code_generators', 'numpy.distutils.command', 'numpy.distutils.fcompiler']
Large, complex packages like ``numpy`` will return a long list of
packages, while other packages like ``six`` will return an empty list.
``py-six`` installs a single ``six.py`` file. In Python packaging lingo,
a "package" is a directory containing files like:
.. code-block:: none
foo/__init__.py
foo/bar.py
foo/baz.py
whereas a "module" is a single Python file. Since ``find_packages``
only returns packages, you'll have to determine the correct module
names yourself. You can now add these packages and modules to the
package like so:
.. code-block:: python
import_modules = ['six']
When you run ``spack install --test=root py-six``, Spack will attempt
to import the ``six`` module after installation.
These tests most often catch missing dependencies and non-RPATHed
libraries. Make sure not to add modules/packages containing the word
"test", as these likely won't end up in installation directory.
""""""""""
Unit tests
""""""""""
The package you want to install may come with additional unit tests.
By default, Spack runs:
.. code-block:: console
$ python setup.py test
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:
.. code-block:: python
def install_test(self):
with working_dir('..'):
python('-c', 'import numpy; numpy.test("full", verbose=2)')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Setup file in a sub-directory
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
In order to be compatible with package managers like ``pip``, the package
is required to place its ``setup.py`` in the root of the tarball. However,
not every Python package cares about ``pip`` or PyPI. If you are installing
a package that is not hosted on PyPI, you may find that it places its
``setup.py`` in a sub-directory. To handle this, add the directory containing
``setup.py`` to the package like so:
.. code-block:: python
build_directory = 'source'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Alternate names for setup.py
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
As previously mentioned, packages need to call their setup script ``setup.py``
in order to be compatible with package managers like ``pip``. However, some
packages like
`py-meep <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-meep/package.py>`_ and
`py-adios <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-adios/package.py>`_
come with multiple setup scripts, one for a serial build and another for a
parallel build. You can override the default name to use like so:
.. code-block:: python
def setup_file(self):
return 'setup-mpi.py' if '+mpi' in self.spec else 'setup.py'
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PythonPackage vs. packages that use Python
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
There are many packages that make use of Python, but packages that depend
on Python are not necessarily ``PythonPackages``.
"""""""""""""""""""""""
Choosing a build system
"""""""""""""""""""""""
First of all, you need to select a build system. ``spack create`` usually
does this for you, but if for whatever reason you need to do this manually,
choose ``PythonPackage`` if and only if the package contains a ``setup.py``
file.
"""""""""""""""""""""""
Choosing a package name
"""""""""""""""""""""""
Selecting the appropriate package name is a little more complicated
than choosing the build system. By default, ``spack create`` will
prepend ``py-`` to the beginning of the package name if it detects
that the package uses the ``PythonPackage`` build system. However, there
are occasionally packages that use ``PythonPackage`` that shouldn't
start with ``py-``. For example:
* busco
* easybuild
* httpie
* mercurial
* scons
* snakemake
The thing these packages have in common is that they are command-line
tools that just so happen to be written in Python. Someone who wants
to install ``mercurial`` with Spack isn't going to realize that it is
written in Python, and they certainly aren't going to assume the package
is called ``py-mercurial``. For this reason, we manually renamed the
package to ``mercurial``.
Likewise, there are occasionally packages that don't use the
``PythonPackage`` build system but should still be prepended with ``py-``.
For example:
* py-genders
* py-py2cairo
* py-pygobject
* py-pygtk
* py-pyqt
* py-pyserial
* py-sip
* py-xpyb
These packages are primarily used as Python libraries, not as
command-line tools. You may see C/C++ packages that have optional
Python language-bindings, such as:
* antlr
* cantera
* conduit
* pagmo
* vtk
Don't prepend these kind of packages with ``py-``. When in doubt,
think about how this package will be used. Is it primarily a Python
library that will be imported in other Python scripts? Or is it a
command-line tool, or C/C++/Fortran program with optional Python
modules? The former should be prepended with ``py-``, while the
latter should not.
""""""""""""""""""""""
extends vs. depends_on
""""""""""""""""""""""
This is very similar to the naming dilemma above, with a slight twist.
As mentioned in the :ref:`Packaging Guide <packaging_extensions>`,
``extends`` and ``depends_on`` are very similar, but ``extends`` adds
the ability to *activate* the package. Activation involves symlinking
everything in the installation prefix of the package to the installation
prefix of Python. This allows the user to import a Python module without
having to add that module to ``PYTHONPATH``.
When deciding between ``extends`` and ``depends_on``, the best rule of
thumb is to check the installation prefix. If Python libraries are
installed to ``prefix/lib/python2.7/site-packages`` (where 2.7 is the
MAJOR.MINOR version of Python you used to install the package), then
you should use ``extends``. If Python libraries are installed elsewhere
or the only files that get installed reside in ``prefix/bin``, then
don't use ``extends``, as symlinking the package wouldn't be useful.
^^^^^^^^^^^^^^^^^^^^^
Alternatives to Spack
^^^^^^^^^^^^^^^^^^^^^
PyPI has hundreds of thousands of packages that are not yet in Spack,
and ``pip`` may be a perfectly valid alternative to using Spack. The
main advantage of Spack over ``pip`` is its ability to compile
non-Python dependencies. It can also build cythonized versions of a
package or link to an optimized BLAS/LAPACK library like MKL,
resulting in calculations that run orders of magnitude faster.
Spack does not offer a significant advantage to other python-management
systems for installing and using tools like flake8 and sphinx.
But if you need packages with non-Python dependencies like
numpy and scipy, Spack will be very valuable to you.
Anaconda is another great alternative to Spack, and comes with its own
``conda`` package manager. Like Spack, Anaconda is capable of compiling
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.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on Python packaging, see:
https://packaging.python.org/

View File

@@ -0,0 +1,116 @@
.. 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)
.. _qmakepackage:
------------
QMakePackage
------------
Much like Autotools and CMake, QMake is a build-script generator
designed by the developers of Qt. In its simplest form, Spack's
``QMakePackage`` runs the following steps:
.. code-block:: console
$ qmake
$ make
$ make check # optional
$ make install
QMake does not appear to have a standardized way of specifying
the installation directory, so you may have to set environment
variables or edit ``*.pro`` files to get things working properly.
^^^^^^
Phases
^^^^^^
The ``QMakePackage`` base class comes with the following phases:
#. ``qmake`` - generate Makefiles
#. ``build`` - build the project
#. ``install`` - install the project
By default, these phases run:
.. code-block:: console
$ qmake
$ make
$ make install
Any of these phases can be overridden in your package as necessary.
There is also a ``check`` method that looks for a ``check`` target
in the Makefile. If a ``check`` target exists and the user runs:
.. code-block:: console
$ spack install --test=root <qmake-package>
Spack will run ``make check`` after the build phase.
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
Packages that use the QMake build system can be identified by the
presence of a ``<project-name>.pro`` file. This file declares things
like build instructions and dependencies.
One thing to look for is the ``minQtVersion`` function:
.. code-block:: none
minQtVersion(5, 6, 0)
This means that Qt 5.6.0 is the earliest release that will work.
You should specify this in a ``depends_on`` statement.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
At the bare minimum, packages that use the QMake build system need a
``qt`` dependency. Since this is always the case, the ``QMakePackage``
base class already contains:
.. code-block:: python
depends_on('qt', type='build')
If you want to specify a particular version requirement, or need to
link to the ``qt`` libraries, you can override this in your package:
.. code-block:: python
depends_on('qt@5.6.0:')
^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to qmake
^^^^^^^^^^^^^^^^^^^^^^^^^^
If you need to pass any arguments to the ``qmake`` call, you can
override the ``qmake_args`` method like so:
.. code-block:: python
def qmake_args(self):
return ['-recursive']
This method can be used to pass flags as well as variables.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on the QMake build system, see:
http://doc.qt.io/qt-5/qmake-manual.html

View File

@@ -0,0 +1,366 @@
.. 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)
.. _rpackage:
--------
RPackage
--------
Like Python, R has its own built-in build system.
The R build system is remarkably uniform and well-tested.
This makes it one of the easiest build systems to create
new Spack packages for.
^^^^^^
Phases
^^^^^^
The ``RPackage`` base class has a single phase:
#. ``install`` - install the package
By default, this phase runs the following command:
.. code-block:: console
$ R CMD INSTALL --library=/path/to/installation/prefix/rlib/R/library .
^^^^^^^^^^^^^^^^^^
Finding R packages
^^^^^^^^^^^^^^^^^^
The vast majority of R packages are hosted on CRAN - The Comprehensive
R Archive Network. If you are looking for a particular R package, search
for "CRAN <package-name>" and you should quickly find what you want.
If it isn't on CRAN, try Bioconductor, another common R repository.
For the purposes of this tutorial, we will be walking through
`r-caret <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/r-caret/package.py>`_
as an example. If you search for "CRAN caret", you will quickly find what
you are looking for at https://cran.r-project.org/package=caret.
https://cran.r-project.org is the main CRAN website. However, CRAN also
has a https://cloud.r-project.org site that automatically redirects to
`mirrors around the world <https://cloud.r-project.org/mirrors.html>`_.
For stability and performance reasons, we will use https://cloud.r-project.org/package=caret.
If you search for "Package source", you will find the download URL for
the latest release. Use this URL with ``spack create`` to create a new
package.
^^^^^^^^^^^^
Package name
^^^^^^^^^^^^
The first thing you'll notice is that Spack prepends ``r-`` to the front
of the package name. This is how Spack separates R package extensions
from the rest of the packages in Spack. Without this, we would end up
with package name collisions more frequently than we would like. For
instance, there are already packages for both:
* ``ape`` and ``r-ape``
* ``curl`` and ``r-curl``
* ``gmp`` and ``r-gmp``
* ``jpeg`` and ``r-jpeg``
* ``openssl`` and ``r-openssl``
* ``uuid`` and ``r-uuid``
* ``xts`` and ``r-xts``
Many popular programs written in C/C++ are later ported to R as a
separate project.
^^^^^^^^^^^
Description
^^^^^^^^^^^
The first thing you'll need to add to your new package is a description.
The top of the homepage for ``caret`` lists the following description:
caret: Classification and Regression Training
Misc functions for training and plotting classification and regression models.
You can either use the short description (first line), long description
(second line), or both depending on what you feel is most appropriate.
^^^^^^^^
Homepage
^^^^^^^^
If you look at the bottom of the page, you'll see:
Linking:
Please use the canonical form https://CRAN.R-project.org/package=caret to link to this page.
Please uphold the wishes of the CRAN admins and use
https://cloud.r-project.org/package=caret as the homepage instead of
https://cloud.r-project.org/web/packages/caret/index.html. The latter may
change without notice.
^^^
URL
^^^
As previously mentioned, the download URL for the latest release can be
found by searching "Package source" on the homepage.
^^^^^^^^
List URL
^^^^^^^^
CRAN maintains a single webpage containing the latest release of every
single package: https://cloud.r-project.org/src/contrib/
Of course, as soon as a new release comes out, the version you were using
in your package is no longer available at that URL. It is moved to an
archive directory. If you search for "Old sources", you will find:
https://cloud.r-project.org/src/contrib/Archive/caret
If you only specify the URL for the latest release, your package will
no longer be able to fetch that version as soon as a new release comes
out. To get around this, add the archive directory as a ``list_url``.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
As an extension of the R ecosystem, your package will obviously depend
on R to build and run. Normally, we would use ``depends_on`` to express
this, but for R packages, we use ``extends``. ``extends`` is similar to
``depends_on``, but adds an additional feature: the ability to "activate"
the package by symlinking it to the R installation directory. Since
every R package needs this, the ``RPackage`` base class contains:
.. code-block:: python
extends('r')
depends_on('r', type=('build', 'run'))
Take a close look at the homepage for ``caret``. If you look at the
"Depends" section, you'll notice that ``caret`` depends on "R (≥ 3.2.0)".
You should add this to your package like so:
.. code-block:: python
depends_on('r@3.2.0:', type=('build', 'run'))
^^^^^^^^^^^^^^
R dependencies
^^^^^^^^^^^^^^
R packages are often small and follow the classic Unix philosophy
of doing one thing well. They are modular and usually depend on
several other packages. You may find a single package with over a
hundred dependencies. Luckily, CRAN packages are well-documented
and list all of their dependencies in the following sections:
* Depends
* Imports
* LinkingTo
As far as Spack is concerned, all 3 of these dependency types
correspond to ``type=('build', 'run')``, so you don't have to worry
about the details. If you are curious what they mean,
https://github.com/spack/spack/issues/2951 has a pretty good summary:
``Depends`` is required and will cause those R packages to be *attached*,
that is, their APIs are exposed to the user. ``Imports`` *loads* packages
so that *the package* importing these packages can access their APIs,
while *not* being exposed to the user. When a user calls ``library(foo)``
s/he *attaches* package ``foo`` and all of the packages under ``Depends``.
Any function in one of these package can be called directly as ``bar()``.
If there are conflicts, user can also specify ``pkgA::bar()`` and
``pkgB::bar()`` to distinguish between them. Historically, there was only
``Depends`` and ``Suggests``, hence the confusing names. Today, maybe
``Depends`` would have been named ``Attaches``.
The ``LinkingTo`` is not perfect and there was recently an extensive
discussion about API/ABI among other things on the R-devel mailing
list among very skilled R developers:
* https://stat.ethz.ch/pipermail/r-devel/2016-December/073505.html
* https://stat.ethz.ch/pipermail/r-devel/2017-January/073647.html
Some packages also have a fourth section:
* Suggests
These are optional, rarely-used dependencies that a user might find
useful. You should **NOT** add these dependencies to your package.
R packages already have enough dependencies as it is, and adding
optional dependencies can really slow down the concretization
process. They can also introduce circular dependencies.
A fifth rarely used section is:
* Enhances
This means that the package can be used as an optional dependency
for another package. Again, these packages should **NOT** be listed
as dependencies.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Core, recommended, and non-core packages
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If you look at "Depends", "Imports", and "LinkingTo", you will notice
3 different types of packages:
"""""""""""""
Core packages
"""""""""""""
If you look at the ``caret`` homepage, you'll notice a few dependencies
that don't have a link to the package, like ``methods``, ``stats``, and
``utils``. These packages are part of the core R distribution and are
tied to the R version installed. You can basically consider these to be
"R itself". These are so essential to R that it would not make sense for
them to be updated via CRAN. If you did, you would basically get a different
version of R. Thus, they're updated when R is updated.
You can find a list of these core libraries at:
https://github.com/wch/r-source/tree/trunk/src/library
""""""""""""""""""""
Recommended packages
""""""""""""""""""""
When you install R, there is an option called ``--with-recommended-packages``.
This flag causes the R installation to include a few "Recommended" packages
(legacy term). They are for historical reasons quite tied to the core R
distribution, developed by the R core team or people closely related to it.
The R core distribution "knows" about these package, but they are indeed
distributed via CRAN. Because they're distributed via CRAN, they can also be
updated between R version releases.
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.
Since these packages are so commonly distributed with the R system, many
developers may assume these packages exist and fail to list them as
dependencies. Watch out for this.
You can find a list of these recommended packages at:
https://github.com/wch/r-source/blob/trunk/share/make/vars.mk
"""""""""""""""""
Non-core packages
"""""""""""""""""
These are packages that are neither "core" nor "recommended". There are more
than 10,000 of these packages hosted on CRAN alone.
For each of these package types, if you see that a specific version is
required, for example, "lattice (≥ 0.20)", please add this information to
the dependency:
.. code-block:: python
depends_on('r-lattice@0.20:', type=('build', 'run'))
^^^^^^^^^^^^^^^^^^
Non-R dependencies
^^^^^^^^^^^^^^^^^^
Some packages depend on non-R libraries for linking. Check out the
`r-stringi <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/r-stringi/package.py>`_
package for an example: https://cloud.r-project.org/package=stringi.
If you search for the text "SystemRequirements", you will see:
ICU4C (>= 52, optional)
This is how non-R dependencies are listed. Make sure to add these
dependencies. The default dependency type should suffice.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to the installation
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Some R packages provide additional flags that can be passed to
``R CMD INSTALL``, often to locate non-R dependencies.
`r-rmpi <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/r-rmpi/package.py>`_
is an example of this, and flags for linking to an MPI library. To pass
these to the installation command, you can override ``configure_args``
like so:
.. code-block:: python
def configure_args(self, spec, prefix):
mpi_name = spec['mpi'].name
# The type of MPI. Supported values are:
# OPENMPI, LAM, MPICH, MPICH2, or CRAY
if mpi_name == 'openmpi':
Rmpi_type = 'OPENMPI'
elif mpi_name == 'mpich':
Rmpi_type = 'MPICH2'
else:
raise InstallError('Unsupported MPI type')
return [
'--with-Rmpi-type={0}'.format(Rmpi_type),
'--with-mpi={0}'.format(spec['mpi'].prefix),
]
There is a similar ``configure_vars`` function that can be overridden
to pass variables to the build.
^^^^^^^^^^^^^^^^^^^^^
Alternatives to Spack
^^^^^^^^^^^^^^^^^^^^^
CRAN hosts over 10,000 R packages, most of which are not in Spack. Many
users may not need the advanced features of Spack, and may prefer to
install R packages the normal way:
.. code-block:: console
$ R
> install.packages("ggplot2")
R will search CRAN for the ``ggplot2`` package and install all necessary
dependencies for you. If you want to update all installed R packages to
the latest release, you can use:
.. code-block:: console
> update.packages(ask = FALSE)
This works great for users who have internet access, but those on an
air-gapped cluster will find it easier to let Spack build a download
mirror and install these packages for you.
Where Spack really shines is its ability to install non-R dependencies
and link to them properly, something the R installation mechanism
cannot handle.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on installing R packages, see:
https://stat.ethz.ch/R-manual/R-devel/library/utils/html/INSTALL.html
For more information on writing R packages, see:
https://cloud.r-project.org/doc/manuals/r-release/R-exts.html
In particular,
https://cloud.r-project.org/doc/manuals/r-release/R-exts.html#Package-Dependencies
has a great explanation of the difference between Depends, Imports,
and LinkingTo.

View File

@@ -0,0 +1,16 @@
.. 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)
.. _rubypackage:
-----------
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.

View File

@@ -0,0 +1,306 @@
.. 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)
.. _sconspackage:
------------
SConsPackage
------------
SCons is a general-purpose build system that does not rely on
Makefiles to build software. SCons is written in Python, and handles
all building and linking itself.
As far as build systems go, SCons is very non-uniform. It provides a
common framework for developers to write build scripts, but the build
scripts themselves can vary drastically. Some developers add subcommands
like:
.. code-block:: console
$ scons clean
$ scons build
$ scons test
$ scons install
Others don't add any subcommands. Some have configuration options that
can be specified through variables on the command line. Others don't.
^^^^^^
Phases
^^^^^^
As previously mentioned, SCons allows developers to add subcommands like
``build`` and ``install``, but by default, installation usually looks like:
.. code-block:: console
$ scons
$ scons install
To facilitate this, the ``SConsPackage`` base class provides the
following phases:
#. ``build`` - build the package
#. ``install`` - install the package
Package developers often add unit tests that can be invoked with
``scons test`` or ``scons check``. Spack provides a ``test`` method
to handle this. Since we don't know which one the package developer
chose, the ``test`` method does nothing by default, but can be easily
overridden like so:
.. code-block:: python
def test(self):
scons('check')
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
SCons packages can be identified by their ``SConstruct`` files. These
files handle everything from setting up subcommands and command-line
options to linking and compiling.
One thing to look for is the ``EnsureSConsVersion`` function:
.. code-block:: none
EnsureSConsVersion(2, 3, 0)
This means that SCons 2.3.0 is the earliest release that will work.
You should specify this in a ``depends_on`` statement.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
At the bare minimum, packages that use the SCons build system need a
``scons`` dependency. Since this is always the case, the ``SConsPackage``
base class already contains:
.. code-block:: python
depends_on('scons', type='build')
If you want to specify a particular version requirement, you can override
this in your package:
.. code-block:: python
depends_on('scons@2.3.0:', type='build')
^^^^^^^^^^^^^^^^^^^^^^^^^
Finding available options
^^^^^^^^^^^^^^^^^^^^^^^^^
The first place to start when looking for a list of valid options to
build a package is ``scons --help``. Some packages like
`kahip <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/kahip/package.py>`_
don't bother overwriting the default SCons help message, so this isn't
very useful, but other packages like
`serf <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/serf/package.py>`_
print a list of valid command-line variables:
.. code-block:: console
$ scons --help
scons: Reading SConscript files ...
Checking for GNU-compatible C compiler...yes
scons: done reading SConscript files.
PREFIX: Directory to install under ( /path/to/PREFIX )
default: /usr/local
actual: /usr/local
LIBDIR: Directory to install architecture dependent libraries under ( /path/to/LIBDIR )
default: $PREFIX/lib
actual: /usr/local/lib
APR: Path to apr-1-config, or to APR's install area ( /path/to/APR )
default: /usr
actual: /usr
APU: Path to apu-1-config, or to APR's install area ( /path/to/APU )
default: /usr
actual: /usr
OPENSSL: Path to OpenSSL's install area ( /path/to/OPENSSL )
default: /usr
actual: /usr
ZLIB: Path to zlib's install area ( /path/to/ZLIB )
default: /usr
actual: /usr
GSSAPI: Path to GSSAPI's install area ( /path/to/GSSAPI )
default: None
actual: None
DEBUG: Enable debugging info and strict compile warnings (yes|no)
default: False
actual: False
APR_STATIC: Enable using a static compiled APR (yes|no)
default: False
actual: False
CC: Command name or path of the C compiler
default: None
actual: gcc
CFLAGS: Extra flags for the C compiler (space-separated)
default: None
actual:
LIBS: Extra libraries passed to the linker, e.g. "-l<library1> -l<library2>" (space separated)
default: None
actual: None
LINKFLAGS: Extra flags for the linker (space-separated)
default: None
actual:
CPPFLAGS: Extra flags for the C preprocessor (space separated)
default: None
actual: None
Use scons -H for help about command-line options.
More advanced packages like
`cantera <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/cantera/package.py>`_
use ``scons --help`` to print a list of subcommands:
.. code-block:: console
$ scons --help
scons: Reading SConscript files ...
SCons build script for Cantera
Basic usage:
'scons help' - print a description of user-specifiable options.
'scons build' - Compile Cantera and the language interfaces using
default options.
'scons clean' - Delete files created while building Cantera.
'[sudo] scons install' - Install Cantera.
'[sudo] scons uninstall' - Uninstall Cantera.
'scons test' - Run all tests which did not previously pass or for which the
results may have changed.
'scons test-reset' - Reset the passing status of all tests.
'scons test-clean' - Delete files created while running the tests.
'scons test-help' - List available tests.
'scons test-NAME' - Run the test named "NAME".
'scons <command> dump' - Dump the state of the SCons environment to the
screen instead of doing <command>, e.g.
'scons build dump'. For debugging purposes.
'scons samples' - Compile the C++ and Fortran samples.
'scons msi' - Build a Windows installer (.msi) for Cantera.
'scons sphinx' - Build the Sphinx documentation
'scons doxygen' - Build the Doxygen documentation
You'll notice that cantera provides a ``scons help`` subcommand. Running
``scons help`` prints a list of valid command-line variables.
^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to scons
^^^^^^^^^^^^^^^^^^^^^^^^^^
Now that you know what arguments the project accepts, you can add them to
the package build phase. This is done by overriding ``build_args`` like so:
.. code-block:: python
def build_args(self, spec, prefix):
args = [
'PREFIX={0}'.format(prefix),
'ZLIB={0}'.format(spec['zlib'].prefix),
]
if '+debug' in spec:
args.append('DEBUG=yes')
else:
args.append('DEBUG=no')
return args
``SConsPackage`` also provides an ``install_args`` function that you can
override to pass additional arguments to ``scons install``.
^^^^^^^^^^^^^^^^^
Compiler wrappers
^^^^^^^^^^^^^^^^^
By default, SCons builds all packages in a separate execution environment,
and doesn't pass any environment variables from the user environment.
Even changes to ``PATH`` are not propagated unless the package developer
does so.
This is particularly troublesome for Spack's compiler wrappers, which depend
on environment variables to manage dependencies and linking flags. In many
cases, SCons packages are not compatible with Spack's compiler wrappers,
and linking must be done manually.
First of all, check the list of valid options for anything relating to
environment variables. For example, cantera has the following option:
.. code-block:: none
* env_vars: [ string ]
Environment variables to propagate through to SCons. Either the
string "all" or a comma separated list of variable names, e.g.
'LD_LIBRARY_PATH,HOME'.
- default: 'LD_LIBRARY_PATH,PYTHONPATH'
In the case of cantera, using ``env_vars=all`` allows us to use
Spack's compiler wrappers. If you don't see an option related to
environment variables, try using Spack's compiler wrappers by passing
``spack_cc``, ``spack_cxx``, and ``spack_fc`` via the ``CC``, ``CXX``,
and ``FC`` arguments, respectively. If you pass them to the build and
you see an error message like:
.. code-block:: none
Spack compiler must be run from Spack! Input 'SPACK_PREFIX' is missing.
you'll know that the package isn't compatible with Spack's compiler
wrappers. In this case, you'll have to use the path to the actual
compilers, which are stored in ``self.compiler.cc`` and friends.
Note that this may involve passing additional flags to the build to
locate dependencies, a task normally done by the compiler wrappers.
serf is an example of a package with this limitation.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on the SCons build system, see:
http://scons.org/documentation.html

View File

@@ -0,0 +1,141 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _sippackage:
----------
SIPPackage
----------
SIP is a tool that makes it very easy to create Python bindings for C and C++
libraries. It was originally developed to create PyQt, the Python bindings for
the Qt toolkit, but can be used to create bindings for any C or C++ library.
SIP comprises a code generator and a Python module. The code generator
processes a set of specification files and generates C or C++ code which is
then compiled to create the bindings extension module. The SIP Python module
provides support functions to the automatically generated code.
^^^^^^
Phases
^^^^^^
The ``SIPPackage`` base class comes with the following phases:
#. ``configure`` - configure the package
#. ``build`` - build the package
#. ``install`` - install the package
By default, these phases run:
.. code-block:: console
$ python configure.py --bindir ... --destdir ...
$ make
$ make install
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
Each SIP package comes with a custom ``configure.py`` build script,
written in Python. This script contains instructions to build the project.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
``SIPPackage`` requires several dependencies. Python is needed to run
the ``configure.py`` build script, and to run the resulting Python
libraries. Qt is needed to provide the ``qmake`` command. SIP is also
needed to build the package. 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
.. code-block:: python
extends('python')
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='.')
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to ``configure.py``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Each phase comes with a ``<phase_args>`` function that can be used to pass
arguments to that particular phase. For example, if you need to pass
arguments to the configure phase, you can use:
.. code-block:: python
def configure_args(self, spec, prefix):
return ['--no-python-dbus']
A list of valid options can be found by running ``python configure.py --help``.
^^^^^^^
Testing
^^^^^^^
Just because a package successfully built does not mean that it built
correctly. The most reliable test of whether or not the package was
correctly installed is to attempt to import all of the modules that
get installed. To get a list of modules, run the following command
in the site-packages directory:
.. code-block:: console
$ python
>>> import setuptools
>>> setuptools.find_packages()
['QtPy5']
Large, complex packages like ``QtPy5`` will return a long list of
packages, while other packages may return an empty list. These packages
only install a single ``foo.py`` file. In Python packaging lingo,
a "package" is a directory containing files like:
.. code-block:: none
foo/__init__.py
foo/bar.py
foo/baz.py
whereas a "module" is a single Python file. Since ``find_packages``
only returns packages, you'll have to determine the correct module
names yourself. You can now add these packages and modules to the
package like so:
.. code-block:: python
import_modules = ['PyQt5']
When you run ``spack install --test=root py-pyqt5``, Spack will attempt
to import the ``PyQt5`` module after installation.
These tests most often catch missing dependencies and non-RPATHed
libraries.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on the SIP build system, see:
* https://www.riverbankcomputing.com/software/sip/intro
* https://www.riverbankcomputing.com/static/Docs/sip/
* https://wiki.python.org/moin/SIP

View File

@@ -0,0 +1,129 @@
.. 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)
.. _wafpackage:
----------
WafPackage
----------
Like SCons, Waf is a general-purpose build system that does not rely
on Makefiles to build software.
^^^^^^
Phases
^^^^^^
The ``WafPackage`` base class comes with the following phases:
#. ``configure`` - configure the project
#. ``build`` - build the project
#. ``install`` - install the project
By default, these phases run:
.. code-block:: console
$ python waf configure --prefix=/path/to/installation/prefix
$ python waf build
$ python waf install
Each of these are standard Waf commands and can be found by running:
.. code-block:: console
$ python waf --help
Each phase provides a ``<phase>`` function that runs:
.. code-block:: console
$ python waf -j<jobs> <phase>
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``.
^^^^^^^
Testing
^^^^^^^
``WafPackage`` also provides ``test`` and ``installtest`` methods,
which are run after the ``build`` and ``install`` phases, respectively.
By default, these phases do nothing, but you can override them to
run package-specific unit tests. For example, the
`py-py2cairo <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-py2cairo/package.py>`_
package uses:
.. code-block:: python
def installtest(self):
with working_dir('test'):
pytest = which('py.test')
pytest()
^^^^^^^^^^^^^^^
Important files
^^^^^^^^^^^^^^^
Each Waf package comes with a custom ``waf`` build script, written in
Python. This script contains instructions to build the project.
The package also comes with a ``wscript`` file. This file is used to
override the default ``configure``, ``build``, and ``install`` phases
to customize the Waf project. It also allows developers to override
the default ``./waf --help`` message. Check this file to find useful
information about dependencies and the minimum versions that are
supported.
^^^^^^^^^^^^^^^^^^^^^^^^^
Build system dependencies
^^^^^^^^^^^^^^^^^^^^^^^^^
``WafPackage`` does not require ``waf`` to build. ``waf`` is only
needed to create the ``./waf`` script. Since ``./waf`` is a Python
script, Python is needed to build the project. ``WafPackage`` adds
the following dependency automatically:
.. code-block:: python
depends_on('python@2.5:', type='build')
Waf only supports Python 2.5 and up.
^^^^^^^^^^^^^^^^^^^^^^^^
Passing arguments to waf
^^^^^^^^^^^^^^^^^^^^^^^^
As previously mentioned, each phase comes with a ``<phase_args>``
function that can be used to pass arguments to that particular
phase. For example, if you need to pass arguments to the build
phase, you can use:
.. code-block:: python
def build_args(self, spec, prefix):
args = []
if self.run_tests:
args.append('--test')
return args
A list of valid options can be found by running ``./waf --help``.
^^^^^^^^^^^^^^^^^^^^^^
External documentation
^^^^^^^^^^^^^^^^^^^^^^
For more information on the Waf build system, see:
https://waf.io/book/

96
lib/spack/docs/chain.rst Normal file
View File

@@ -0,0 +1,96 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. chain:
============================
Chaining Spack Installations
============================
You can point your Spack installation to another installation to use any
packages that are installed there. To register the other Spack instance,
you can add it as an entry to ``upstreams.yaml``:
.. code-block:: yaml
upstreams:
spack-instance-1:
install_tree: /path/to/other/spack/opt/spack
spack-instance-2:
install_tree: /path/to/another/spack/opt/spack
``install_tree`` must point to the ``opt/spack`` directory inside of the
Spack base directory.
Once the upstream Spack instance has been added, ``spack find`` will
automatically check the upstream instance when querying installed packages,
and new package installations for the local Spack install will use any
dependencies that are installed in the upstream instance.
This other instance of Spack has no knowledge of the local Spack instance
and may not have the same permissions or ownership as the local Spack instance.
This has the following consequences:
#. Upstream Spack instances are not locked. Therefore it is up to users to
make sure that the local instance is not using an upstream instance when it
is being modified.
#. Users should not uninstall packages from the upstream instance. Since the
upstream instance doesn't know about the local instance, it cannot prevent
the uninstallation of packages which the local instance depends on.
Other details about upstream installations:
#. If a package is installed both locally and upstream, the local installation
will always be used as a dependency. This can occur if the local Spack
installs a package which is not present in the upstream, but later on the
upstream Spack instance also installs that package.
#. If an upstream Spack instance registers and installs an external package,
the local Spack instance will treat this the same as a Spack-installed
package. This feature will only work if the upstream Spack instance
includes the upstream functionality (i.e. if its commit is after March
27, 2019).
---------------------------------------
Using Multiple Upstream Spack Instances
---------------------------------------
A single Spack instance can use multiple upstream Spack installations. Spack
will search upstream instances in the order you list them in your
configuration. If your installation refers to instances X and Y, in that order,
then instance X must list Y as an upstream in its own ``upstreams.yaml``.
-----------------------------------
Using Modules for Upstream Packages
-----------------------------------
The local Spack instance does not generate modules for packages which are
installed upstream. The local Spack instance can be configured to use the
modules generated by the upstream Spack instance.
There are two requirements to use the modules created by an upstream Spack
instance: firstly the upstream instance must do a ``spack module tcl refresh``,
which generates an index file that maps installed packages to their modules;
secondly, the local Spack instance must add a ``modules`` entry to the
configuration:
.. code-block:: yaml
upstreams:
spack-instance-1:
install_tree: /path/to/other/spack/opt/spack
modules:
tcl: /path/to/other/spack/share/spack/modules
Each time new packages are installed in the upstream Spack instance, the
upstream Spack maintainer should run ``spack module tcl refresh`` (or the
corresponding command for the type of module they intend to use).
.. note::
Spack can generate modules that :ref:`automatically load
<autoloading-dependencies>` the modules of dependency packages. Spack cannot
currently do this for modules in upstream packages.

View File

@@ -1,9 +1,9 @@
=============
Command Index
=============
=================
Command Reference
=================
This is an alphabetical list of commands with links to the places they
appear in the documentation.
This is a reference for all commands in the Spack command line interface.
The same information is available through :ref:`spack-help`.
.. hlist::
:columns: 3
Commands that also have sections in the main documentation have a link to
"More documentation".

View File

@@ -1,28 +1,9 @@
# 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)
# flake8: noqa
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files for our notice and the LGPL.
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License (as
# published by the Free Software Foundation) version 2.1, February 1999.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
# conditions of the GNU Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
##############################################################################
# -*- coding: utf-8 -*-
#
# Spack documentation build configuration file, created by
@@ -39,55 +20,45 @@
import sys
import os
import re
import shutil
import subprocess
from glob import glob
from sphinx.apidoc import main as sphinx_apidoc
from sphinx.ext.apidoc import main as sphinx_apidoc
# -- Spack customizations -----------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath('../external'))
sys.path.insert(0, os.path.abspath('_spack_root/lib/spack/external'))
if sys.version_info[0] < 3:
sys.path.insert(0, os.path.abspath('../external/yaml/lib'))
sys.path.insert(
0, os.path.abspath('_spack_root/lib/spack/external/yaml/lib'))
else:
sys.path.insert(0, os.path.abspath('../external/yaml/lib3'))
sys.path.append(os.path.abspath('..'))
sys.path.insert(
0, os.path.abspath('_spack_root/lib/spack/external/yaml/lib3'))
sys.path.append(os.path.abspath('_spack_root/lib/spack/'))
# Add the Spack bin directory to the path so that we can use its output in docs.
spack_root = '../../..'
os.environ['SPACK_ROOT'] = spack_root
os.environ['PATH'] += '%s%s/bin' % (os.pathsep, spack_root)
os.environ['SPACK_ROOT'] = os.path.abspath('_spack_root')
os.environ['PATH'] += "%s%s" % (os.pathsep, os.path.abspath('_spack_root/bin'))
# Set an environment variable so that colify will print output like it would to
# a terminal.
os.environ['COLIFY_SIZE'] = '25x120'
os.environ['COLUMNS'] = '120'
#
# Generate package list using spack command
#
with open('package_list.rst', 'w') as plist_file:
subprocess.Popen(
[spack_root + '/bin/spack', 'list', '--format=rst'], stdout=plist_file)
# Generate full package list if needed
subprocess.call([
'spack', 'list', '--format=html', '--update=package_list.html'])
#
# Find all the `cmd-spack-*` references and add them to a command index
#
command_names = []
for filename in glob('*rst'):
with open(filename) as f:
for line in f:
match = re.match('.. _(cmd-spack-.*):', line)
if match:
command_names.append(match.group(1).strip())
shutil.copy('command_index.in', 'command_index.rst')
with open('command_index.rst', 'a') as index:
index.write('\n')
for cmd in sorted(command_names):
index.write(' * :ref:`%s`\n' % cmd)
# Generate a command index if an update is needed
subprocess.call([
'spack', 'commands',
'--format=rst',
'--header=command_index.in',
'--update=command_index.rst'] + glob('*rst'))
#
# Run sphinx-apidoc
@@ -97,35 +68,12 @@
# Without this, the API Docs will never actually update
#
apidoc_args = [
'--force', # Older versions of Sphinx ignore the first argument
'--force', # Overwrite existing files
'--no-toc', # Don't create a table of contents file
'--output-dir=.', # Directory to place all output
]
sphinx_apidoc(apidoc_args + ['../spack'])
sphinx_apidoc(apidoc_args + ['../llnl'])
#
# Exclude everything in spack.__all__ from indexing. All of these
# symbols are imported from elsewhere in spack; their inclusion in
# __all__ simply allows package authors to use `from spack import *`.
# Excluding them ensures they're only documented in their "real" module.
#
# This also avoids issues where some of these symbols shadow core spack
# modules. Sphinx will complain about duplicate docs when this happens.
#
import fileinput, spack
handling_spack = False
for line in fileinput.input('spack.rst', inplace=1):
if handling_spack:
if not line.startswith(' :noindex:'):
print(' :noindex: %s' % ' '.join(spack.__all__))
handling_spack = False
if line.startswith('.. automodule::'):
handling_spack = (line == '.. automodule:: spack\n')
sys.stdout.write(line)
sphinx_apidoc(apidoc_args + ['_spack_root/lib/spack/spack'])
sphinx_apidoc(apidoc_args + ['_spack_root/lib/spack/llnl'])
# Enable todo items
todo_include_todos = True
@@ -142,12 +90,12 @@ def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode):
env, fromdocname, builder, typ, target, node, contnode)
def setup(sphinx):
sphinx.override_domain(PatchedPythonDomain)
sphinx.add_domain(PatchedPythonDomain, override=True)
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
#needs_sphinx = '1.0'
needs_sphinx = '1.8'
# Add any Sphinx extension module names here, as strings. They can be extensions
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
@@ -180,21 +128,29 @@ def setup(sphinx):
# General information about the project.
project = u'Spack'
copyright = u'2013-2017, Lawrence Livermore National Laboratory.'
copyright = u'2013-2019, Lawrence Livermore National Laboratory.'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = str(spack.spack_version.up_to(2))
import spack
version = '.'.join(str(s) for s in spack.spack_version_info[:2])
# The full version, including alpha/beta/rc tags.
release = str(spack.spack_version.up_to(2))
release = spack.spack_version
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
#language = None
# Places to look for .po/.mo files for doc translations
#locale_dirs = []
# Sphinx gettext settings
gettext_compact = True
gettext_uuid = False
# There are two options for replacing |today|: either, you set today to some
# non-false value, then it is used:
#today = ''
@@ -203,7 +159,7 @@ def setup(sphinx):
# List of patterns, relative to source directory, that match files and
# directories to ignore when looking for source files.
exclude_patterns = ['_build']
exclude_patterns = ['_build', '_spack_root', '.spack-env']
# The reST default role (used for this markup: `text`) to use for all documents.
#default_role = None
@@ -220,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 = []
@@ -238,7 +212,7 @@ def setup(sphinx):
html_theme_options = { 'logo_only' : True }
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = ["_themes"]
# html_theme_path = ["_themes"]
# The name for this set of Sphinx documents. If None, it defaults to
# "<project> v<release> documentation".
@@ -249,12 +223,12 @@ def setup(sphinx):
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
html_logo = '../../../share/spack/logo/spack-logo-white-text.svg'
html_logo = '_spack_root/share/spack/logo/spack-logo-white-text.svg'
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
html_favicon = '../../../share/spack/logo/favicon.ico'
html_favicon = '_spack_root/share/spack/logo/favicon.ico'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,

View File

@@ -1,14 +1,19 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _config-yaml:
====================================
Basic settings in ``config.yaml``
====================================
==============
Basic Settings
==============
Spack's basic configuration options are set in ``config.yaml``. You can
see the default settings by looking at
``etc/spack/defaults/config.yaml``:
.. literalinclude:: ../../../etc/spack/defaults/config.yaml
.. literalinclude:: _spack_root/etc/spack/defaults/config.yaml
:language: yaml
These settings can be overridden in ``etc/spack/config.yaml`` or
@@ -25,25 +30,34 @@ Default is ``$spack/opt/spack``.
``install_hash_length`` and ``install_path_scheme``
---------------------------------------------------
The default Spack installation path can be very long and can create
problems for scripts with hardcoded shebangs. There are two parameters
to help with that. Firstly, the ``install_hash_length`` parameter can
set the length of the hash in the installation path from 1 to 32. The
default path uses the full 32 characters.
The default Spack installation path can be very long and can create problems
for scripts with hardcoded shebangs. Additionally, when using the Intel
compiler, and if there is also a long list of dependencies, the compiler may
segfault. If you see the following:
Secondly, it is
also possible to modify the entire installation scheme. By default
Spack uses
``${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}``
.. code-block:: console
: internal error: ** The compiler has encountered an unexpected problem.
** Segmentation violation signal raised. **
Access violation or stack overflow. Please contact Intel Support for assistance.
it may be because variables containing dependency specs may be too long. There
are two parameters to help with long path names. Firstly, the
``install_hash_length`` parameter can set the length of the hash in the
installation path from 1 to 32. The default path uses the full 32 characters.
Secondly, it is also possible to modify the entire installation
scheme. By default Spack uses
``{architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}``
where the tokens that are available for use in this directive are the
same as those understood by the ``Spec.format`` method. Using this parameter it
is possible to use a different package layout or reduce the depth of
the installation paths. For example
same as those understood by the :meth:`~spack.spec.Spec.format`
method. Using this parameter it is possible to use a different package
layout or reduce the depth of the installation paths. For example
.. code-block:: yaml
config:
install_path_scheme: '${PACKAGE}/${VERSION}/${HASH:7}'
install_path_scheme: '{name}/{version}/{hash:7}'
would install packages into sub-directories using only the package
name, version and a hash length of 7 characters.
@@ -70,7 +84,6 @@ the location for each type of module. e.g.:
module_roots:
tcl: $spack/share/spack/modules
lmod: $spack/share/spack/lmod
dotkit: $spack/share/spack/dotkit
See :ref:`modules` for details.
@@ -79,41 +92,47 @@ See :ref:`modules` for details.
--------------------
Spack is designed to run out of a user home directory, and on many
systems the home directory is a (slow) network filesystem. On most systems,
building in a temporary filesystem results in faster builds than building
in the home directory. Usually, there is also more space available in
the temporary location than in the home directory. So, Spack tries to
create build stages in temporary space.
systems the home directory is a (slow) network file system. On most systems,
building in a temporary file system is faster. Usually, there is also more
space available in the temporary location than in the home directory. If the
username is not already in the path, Spack will append the value of ``$user`` to
the selected ``build_stage`` path.
.. warning:: We highly recommend specifying ``build_stage`` paths that
distinguish between staging and other activities to ensure
``spack clean`` does not inadvertently remove unrelated files.
Spack prepends ``spack-stage-`` to temporary staging directory names to
reduce this risk. Using a combination of ``spack`` and or ``stage`` in
each specified path, as shown in the default settings and documented
examples, will add another layer of protection.
By default, Spack's ``build_stage`` is configured like this:
.. code-block:: yaml
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $spack/var/spack/stage
- $tempdir/$user/spack-stage
- ~/.spack/stage
This is an ordered list of paths that Spack should search when trying to
This can be an ordered list of paths that Spack should search when trying to
find a temporary directory for the build stage. The list is searched in
order, and Spack will use the first directory to which it has write access.
See :ref:`config-file-variables` for more on ``$tempdir`` and ``$spack``.
Specifying `~/.spack/stage` first will ensure each user builds in their home
directory. The historic Spack stage path `$spack/var/spack/stage` will build
directly inside the Spack instance. See :ref:`config-file-variables` for more
on ``$tempdir`` and ``$spack``.
When Spack builds a package, it creates a temporary directory within the
``build_stage``, and it creates a symbolic link to that directory in
``$spack/var/spack/stage``. This is used to track the stage.
After a package is successfully installed, Spack deletes the temporary
directory it used to build. Unsuccessful builds are not deleted, but you
can manually purge them with :ref:`spack clean --stage
``build_stage``. After the package is successfully installed, Spack deletes
the temporary directory it used to build. Unsuccessful builds are not
deleted, but you can manually purge them with :ref:`spack clean --stage
<cmd-spack-clean>`.
.. note::
The last item in the list is ``$spack/var/spack/stage``. If this is the
only writable directory in the ``build_stage`` list, Spack will build
*directly* in ``$spack/var/spack/stage`` and will not link to temporary
space.
The build will fail if there is no writable directory in the ``build_stage``
list, where any user- and site-specific setting will be searched first.
--------------------
``source_cache``
@@ -150,6 +169,17 @@ checksum, and will refuse to build packages that it cannot verify. Set
to ``false`` to disable these checks. Disabling this can expose you to
attacks. Use at your own risk.
--------------------
``locks``
--------------------
When set to ``true``, concurrent instances of Spack will use locks to
avoid modifying the install tree, database file, etc. If false, Spack
will disable all locking, but you must **not** run concurrent instances
of Spack. For file systems that don't support locking, you should set
this to ``false`` and run one Spack at a time, but otherwise we recommend
enabling locks.
--------------------
``dirty``
--------------------
@@ -164,19 +194,66 @@ set ``dirty`` to ``true`` to skip the cleaning step and make all builds
"dirty" by default. Be aware that this will reduce the reproducibility
of builds.
.. _build-jobs:
--------------
``build_jobs``
--------------
Unless overridden in a package or on the command line, Spack builds all
packages in parallel. For a build system that uses Makefiles, this means
running ``make -j<build_jobs>``, where ``build_jobs`` is the number of
threads to use.
packages in parallel. The default parallelism is equal to the number of
cores on your machine, up to 16. Parallelism cannot exceed the number of
cores available on the host. For a build system that uses Makefiles, this
means running:
- ``make -j<build_jobs>``, when ``build_jobs`` is less than the number of
cores on the machine
- ``make -j<ncores>``, when ``build_jobs`` is greater or equal to the
number of cores on the machine
The default parallelism is equal to the number of cores on your machine.
If you work on a shared login node or have a strict ulimit, it may be
necessary to set the default to a lower value. By setting ``build_jobs``
to 4, for example, commands like ``spack install`` will run ``make -j4``
instead of hogging every core.
To build all software in serial, set ``build_jobs`` to 1.
--------------------
``ccache``
--------------------
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)
when building the same package with many different variants. The default is
``false``.
When enabled, Spack will look inside your ``PATH`` for a ``ccache``
executable and stop if it is not found. Some systems come with
``ccache``, but it can also be installed using ``spack install
ccache``. ``ccache`` comes with reasonable defaults for cache size
and location. (See the *Configuration settings* section of ``man
ccache`` to learn more about the default settings and how to change
them). Please note that we currently disable ccache's ``hash_dir``
feature to avoid an issue with the stage directory (see
https://github.com/LLNL/spack/pull/3761#issuecomment-294352232).
------------------
``shared_linking``
------------------
Control whether Spack embeds ``RPATH`` or ``RUNPATH`` attributes in ELF binaries
so that they can find their dependencies. Has no effect on macOS.
Two options are allowed:
1. ``rpath`` uses ``RPATH`` and forces the ``--disable-new-tags`` flag to be passed to the linker
2. ``runpath`` uses ``RUNPATH`` and forces the ``--enable-new-tags`` flag to be passed to the linker
``RPATH`` search paths have higher precedence than ``LD_LIBRARY_PATH``
and ld.so will search for libraries in transitive ``RPATHs`` of
parent objects.
``RUNPATH`` search paths have lower precedence than ``LD_LIBRARY_PATH``,
and ld.so will ONLY search for dependencies in the ``RUNPATH`` of
the loading object.
DO NOT MIX the two options within the same install tree.

View File

@@ -1,8 +1,13 @@
.. 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)
.. _configuration:
==============================
Configuration Files in Spack
==============================
===================
Configuration Files
===================
Spack has many configuration files. Here is a quick list of them, in
case you want to skip directly to specific docs:
@@ -14,9 +19,9 @@ case you want to skip directly to specific docs:
* :ref:`packages.yaml <build-settings>`
* :ref:`repos.yaml <repositories>`
-------------------------
-----------
YAML Format
-------------------------
-----------
Spack configuration files are written in YAML. We chose YAML because
it's human readable, but also versatile in that it supports dictionaries,
@@ -29,44 +34,52 @@ Here is an example ``config.yaml`` file:
config:
install_tree: $spack/opt/spack
module_roots:
lmod: $spack/share/spack/lmod
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $tempdir/$user/spack-stage
- ~/.spack/stage
Each spack configuration files is nested under a top-level section
Each Spack configuration file is nested under a top-level section
corresponding to its name. So, ``config.yaml`` starts with ``config:``,
and ``mirrors.yaml`` starts with ``mirrors:``, etc.
``mirrors.yaml`` starts with ``mirrors:``, etc.
.. _configuration-scopes:
-------------------------
--------------------
Configuration Scopes
-------------------------
--------------------
Spack pulls configuration data from files in several directories. There
are four configuration scopes. From lowest to highest:
are six configuration scopes. From lowest to highest:
#. **defaults**: Stored in ``$(prefix)/etc/spack/defaults/``. These are
the "factory" settings. Users should generally not modify the settings
here, but should override them in other configuration scopes. The
defaults here will change from version to version of Spack.
#. **system**: Stored in ``/etc/spack``. These are settings for this
#. **system**: Stored in ``/etc/spack/``. These are settings for this
machine, or for all machines on which this file system is
mounted. The site scope can be used for settings idiosyncratic to a
particular machine, such as the locations of compilers or external
packages. These settings are presumably controlled by someone with
root access on the machine.
root access on the machine. They override the defaults scope.
#. **site**: Stored in ``$(prefix)/etc/spack/``. Settings here affect
only *this instance* of Spack, and they override defaults. The site
scope can can be used for per-project settings (one spack instance per
project) or for site-wide settings on a multi-user machine (e.g., for
a common spack instance).
#. **site**: Stored in ``$(prefix)/etc/spack/``. Settings here affect
only *this instance* of Spack, and they override the defaults and system
scopes. The site scope can can be used for per-project settings (one
Spack instance per project) or for site-wide settings on a multi-user
machine (e.g., for a common Spack instance).
#. **user**: Stored in the home directory: ``~/.spack/``. These settings
affect all instances of Spack and take the highest precedence.
affect all instances of Spack and take higher precedence than site,
system, or defaults scopes.
#. **custom**: Stored in a custom directory specified by ``--config-scope``.
If multiple scopes are listed on the command line, they are ordered
from lowest to highest precedence.
#. **command line**: Build settings specified on the command line take
precedence over all other scopes.
Each configuration directory may contain several configuration files,
such as ``config.yaml``, ``compilers.yaml``, or ``mirrors.yaml``. When
@@ -75,76 +88,175 @@ lower-precedence settings.
Commands that modify scopes (e.g., ``spack compilers``, ``spack repo``,
etc.) take a ``--scope=<name>`` parameter that you can use to control
which scope is modified. By default they modify the highest-precedence
which scope is modified. By default, they modify the highest-precedence
scope.
.. _custom-scopes:
^^^^^^^^^^^^^
Custom scopes
^^^^^^^^^^^^^
In addition to the ``defaults``, ``system``, ``site``, and ``user``
scopes, you may add configuration scopes directly on the command
line with the ``--config-scope`` argument, or ``-C`` for short.
For example, the following adds two configuration scopes, named
``scopea`` and ``scopeb``, to a ``spack spec`` command:
.. code-block:: console
$ spack -C ~/myscopes/scopea -C ~/myscopes/scopeb spec ncurses
Custom scopes come *after* the ``spack`` command and *before* the
subcommand, and they specify a single path to a directory full of
configuration files. You can add the same configuration files to that
directory that you can add to any other scope (``config.yaml``,
``packages.yaml``, etc.).
If multiple scopes are provided:
#. Each must be preceded with the ``--config-scope`` or ``-C`` flag.
#. They must be ordered from lowest to highest precedence.
"""""""""""""""""""""""""""""""""""""""""""
Example: scopes for release and development
"""""""""""""""""""""""""""""""""""""""""""
Suppose that you need to support simultaneous building of release and
development versions of ``mypackage``, where ``mypackage`` -> ``A`` -> ``B``.
You could create The following files:
.. code-block:: yaml
:caption: ~/myscopes/release/packages.yaml
packages:
mypackage:
version: [1.7]
A:
version: [2.3]
B:
version: [0.8]
.. code-block:: yaml
:caption: ~/myscopes/develop/packages.yaml
packages:
mypackage:
version: [develop]
A:
version: [develop]
B:
version: [develop]
You can switch between ``release`` and ``develop`` configurations using
configuration arguments. You would type ``spack -C ~/myscopes/release``
when you want to build the designated release versions of ``mypackage``,
``A``, and ``B``, and you would type ``spack -C ~/myscopes/develop`` when
you want to build all of these packages at the ``develop`` version.
"""""""""""""""""""""""""""""""
Example: swapping MPI providers
"""""""""""""""""""""""""""""""
Suppose that you need to build two software packages, ``packagea`` and
``packageb``. ``packagea`` is Python 2-based and ``packageb`` is Python
3-based. ``packagea`` only builds with OpenMPI and ``packageb`` only builds
with MPICH. You can create different configuration scopes for use with
``packagea`` and ``packageb``:
.. code-block:: yaml
:caption: ~/myscopes/packgea/packages.yaml
packages:
python:
version: [2.7.11]
all:
providers:
mpi: [openmpi]
.. code-block:: yaml
:caption: ~/myscopes/packageb/packages.yaml
packages:
python:
version: [3.5.2]
all:
providers:
mpi: [mpich]
.. _platform-scopes:
-------------------------
Platform-specific scopes
-------------------------
------------------------
Platform-specific Scopes
------------------------
For each scope above, there can *also* be platform-specific settings.
For example, on Blue Gene/Q machines, Spack needs to know the location
of cross-compilers for the compute nodes. This configuration is in
``etc/spack/defaults/bgq/compilers.yaml``. It will take precedence
over settings in the ``defaults`` scope, but can still be overridden
by settings in ``system``, ``system/bgq``, ``site``, ``site/bgq``,
``user``, or ``user/bgq``. So, the full scope precedence is:
For each scope above, there can also be platform-specific settings.
For example, on most platforms, GCC is the preferred compiler.
However, on macOS (darwin), Clang often works for more packages,
and is set as the default compiler. This configuration is set in
``$(prefix)/etc/spack/defaults/darwin/packages.yaml``. It will take
precedence over settings in the ``defaults`` scope, but can still be
overridden by settings in ``system``, ``system/darwin``, ``site``,
``site/darwin``, ``user``, ``user/darwin``, ``custom``, or
``custom/darwin``. So, the full scope precedence is:
1. ``defaults``
2. ``defaults/<platform>``
3. ``system``
4. ``system/<platform>``
5. ``site``
6. ``site/<platform>``
7. ``user``
8. ``user/<platform>``
#. ``defaults``
#. ``defaults/<platform>``
#. ``system``
#. ``system/<platform>``
#. ``site``
#. ``site/<platform>``
#. ``user``
#. ``user/<platform>``
#. ``custom``
#. ``custom/<platform>``
You can get the name to use for ``<platform>`` by running ``spack arch
--platform``. The system config scope has a ``<platform>`` section for
sites at which ``/etc`` is mounted on multiple heterogeneous machines.
-------------------------
Scope precedence
-------------------------
----------------
Scope Precedence
----------------
When spack queries for configuration parameters, it searches in
higher-precedence scopes first. So, settings in a higher-precedence file
can override those with the same key in a lower-precedence one. For
higher-precedence scopes first. So, settings in a higher-precedence file
can override those with the same key in a lower-precedence one. For
list-valued settings, Spack *prepends* higher-precedence settings to
lower-precedence settings. Completely ignoring higher-level configuration
options is supported with the ``::`` notation for keys (see
:ref:`config-overrides` below).
^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^
Simple keys
^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^
Let's look at an example of overriding a single key in a Spack file. If
Let's look at an example of overriding a single key in a Spack file. If
your configurations look like this:
**defaults** scope:
.. code-block:: yaml
:caption: $(prefix)/etc/spack/defaults/config.yaml
config:
install_tree: $spack/opt/spack
module_roots:
lmod: $spack/share/spack/lmod
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $tempdir/$user/spack-stage
- ~/.spack/stage
**site** scope:
.. code-block:: yaml
:caption: ~/.spack/config.yaml
config:
install_tree: /some/other/directory
Spack will only override ``install_tree`` in the ``config`` section, and
will take the site preferences for other settings. You can see the
will take the site preferences for other settings. You can see the
final, combined configuration with the ``spack config get <configtype>``
command:
@@ -155,11 +267,11 @@ command:
config:
install_tree: /some/other/directory
module_roots:
lmod: $spack/share/spack/lmod
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
$ _
- $tempdir/$user/spack-stage
- ~/.spack/stage
.. _config-overrides:
@@ -167,14 +279,14 @@ command:
Overriding entire sections
^^^^^^^^^^^^^^^^^^^^^^^^^^
Above, the site ``config.yaml`` only overrides specific settings in the
default ``config.yaml``. Sometimes, it is useful to *completely*
override lower-precedence settings. To do this, you can use *two* colons
at the end of a key in a configuration file. For example, if the
**site** ``config.yaml`` above looks like this:
Above, the user ``config.yaml`` only overrides specific settings in the
default ``config.yaml``. Sometimes, it is useful to *completely*
override lower-precedence settings. To do this, you can use *two* colons
at the end of a key in a configuration file. For example:
.. code-block:: yaml
:emphasize-lines: 1
:caption: ~/.spack/config.yaml
config::
install_tree: /some/other/directory
@@ -188,35 +300,36 @@ Spack will ignore all lower-precedence configuration under the
config:
install_tree: /some/other/directory
^^^^^^^^^^^^^^^^^^^^^^
List-valued settings
^^^^^^^^^^^^^^^^^^^^^^
Let's revisit the ``config.yaml`` example one more time. The
^^^^^^^^^^^^^^^^^^^^
List-valued settings
^^^^^^^^^^^^^^^^^^^^
Let's revisit the ``config.yaml`` example one more time. The
``build_stage`` setting's value is an ordered list of directories:
**defaults**
.. code-block:: yaml
:caption: $(prefix)/etc/spack/defaults/config.yaml
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $tempdir/$user/spack-stage
- ~/.spack/stage
Suppose the user configuration adds its *own* list of ``build_stage``
paths:
**user**
.. code-block:: yaml
:caption: ~/.spack/config.yaml
build_stage:
- /lustre-scratch/$user
- /lustre-scratch/$user/spack
- ~/mystage
Spack will first look at the paths in the site ``config.yaml``, then the
paths in the user's ``~/.spack/config.yaml``. The list in the
higher-precedence scope is *prepended* to the defaults. ``spack config
Spack will first look at the paths in the defaults ``config.yaml``, then the
paths in the user's ``~/.spack/config.yaml``. The list in the
higher-precedence scope is *prepended* to the defaults. ``spack config
get config`` shows the result:
.. code-block:: console
@@ -226,27 +339,27 @@ get config`` shows the result:
config:
install_tree: /some/other/directory
module_roots:
lmod: $spack/share/spack/lmod
lmod: $spack/share/spack/lmod
build_stage:
- /lustre-scratch/$user
- /lustre-scratch/$user/spack
- ~/mystage
- $tempdir
- /nfs/tmp2/$user
$ _
- $tempdir/$user/spack-stage
- ~/.spack/stage
As in :ref:`config-overrides`, the higher-precedence scope can
*completely* override the lower-precedence scope using `::`. So if the
*completely* override the lower-precedence scope using ``::``. So if the
user config looked like this:
**user**
.. code-block:: yaml
:emphasize-lines: 1
:caption: ~/.spack/config.yaml
build_stage::
- /lustre-scratch/$user
- /lustre-scratch/$user/spack
- ~/mystage
The merged configuration would look like this:
.. code-block:: console
@@ -256,57 +369,188 @@ The merged configuration would look like this:
config:
install_tree: /some/other/directory
module_roots:
lmod: $spack/share/spack/lmod
lmod: $spack/share/spack/lmod
build_stage:
- /lustre-scratch/$user
- /lustre-scratch/$user/spack
- ~/mystage
$ _
.. _config-file-variables:
------------------------------
Config file variables
------------------------------
---------------------
Config File Variables
---------------------
Spack understands several variables which can be used in config file paths
where ever they appear. There are three sets of these variables, Spack specific
variables, environment variables, and user path variables. Spack specific
variables and environment variables both are indicated by prefixing the variable
name with ``$``. User path variables are indicated at the start of the path with
``~`` or ``~user``. Let's discuss each in turn.
Spack understands several variables which can be used in config file
paths wherever they appear. There are three sets of these variables:
Spack-specific variables, environment variables, and user path
variables. Spack-specific variables and environment variables are both
indicated by prefixing the variable name with ``$``. User path variables
are indicated at the start of the path with ``~`` or ``~user``.
^^^^^^^^^^^^^^^^^^^^^^^^
Spack Specific Variables
Spack-specific variables
^^^^^^^^^^^^^^^^^^^^^^^^
Spack understands several special variables. These are:
* ``$spack``: path to the prefix of this spack installation
* ``$tempdir``: default system temporary directory (as specified in
Python's `tempfile.tempdir
<https://docs.python.org/2/library/tempfile.html#tempfile.tempdir>`_
variable.
* ``$user``: name of the current user
* ``$spack``: path to the prefix of this Spack installation
* ``$tempdir``: default system temporary directory (as specified in
Python's `tempfile.tempdir
<https://docs.python.org/2/library/tempfile.html#tempfile.tempdir>`_
variable.
* ``$user``: name of the current user
Note that, as with shell variables, you can write these as ``$varname``
or with braces to distinguish the variable from surrounding characters:
``${varname}``. Their names are also case insensitive meaning that ``$SPACK``
works just as well as ``$spack``. These special variables are also
substituted first, so any environment variables with the same name will not
be used.
``${varname}``. Their names are also case insensitive, meaning that
``$SPACK`` works just as well as ``$spack``. These special variables are
substituted first, so any environment variables with the same name will
not be used.
^^^^^^^^^^^^^^^^^^^^^
Environment Variables
Environment variables
^^^^^^^^^^^^^^^^^^^^^
Spack then uses ``os.path.expandvars`` to expand any remaining environment
variables.
After Spack-specific variables are evaluated, environment variables are
expanded. These are formatted like Spack-specific variables, e.g.,
``${varname}``. You can use this to insert environment variables in your
Spack configuration.
^^^^^^^^^^^^^^
User Variables
^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^
User home directories
^^^^^^^^^^^^^^^^^^^^^
Spack also uses the ``os.path.expanduser`` function on the path to expand
any user tilde paths such as ``~`` or ``~user``. These tilde paths must appear
at the beginning of the path or ``os.path.expanduser`` will not properly
expand them.
Spack performs Unix-style tilde expansion on paths in configuration
files. This means that tilde (``~``) will expand to the current user's
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
----------------------------
With so many scopes overriding each other, it can sometimes be difficult
to understand what Spack's final configuration looks like.
Spack provides two useful ways to view the final "merged" version of any
configuration file: ``spack config get`` and ``spack config blame``.
.. _cmd-spack-config-get:
^^^^^^^^^^^^^^^^^^^^
``spack config get``
^^^^^^^^^^^^^^^^^^^^
``spack config get`` shows a fully merged configuration file, taking into
account all scopes. For example, to see the fully merged
``config.yaml``, you can type:
.. code-block:: console
$ spack config get config
config:
debug: false
checksum: true
verify_ssl: true
dirty: false
build_jobs: 8
install_tree: $spack/opt/spack
template_dirs:
- $spack/templates
directory_layout: {architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}
module_roots:
tcl: $spack/share/spack/modules
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir/$user/spack-stage
- ~/.spack/stage
- $spack/var/spack/stage
source_cache: $spack/var/spack/cache
misc_cache: ~/.spack/cache
locks: true
Likewise, this will show the fully merged ``packages.yaml``:
.. code-block:: console
$ spack config get packages
You can use this in conjunction with the ``-C`` / ``--config-scope`` argument to
see how your scope will affect Spack's configuration:
.. code-block:: console
$ spack -C /path/to/my/scope config get packages
.. _cmd-spack-config-blame:
^^^^^^^^^^^^^^^^^^^^^^
``spack config blame``
^^^^^^^^^^^^^^^^^^^^^^
``spack config blame`` functions much like ``spack config get``, but it
shows exactly which configuration file each preference came from. If you
do not know why Spack is behaving a certain way, this can help you track
down the problem:
.. code-block:: console
$ spack --insecure -C ./my-scope -C ./my-scope-2 config blame config
==> Warning: You asked for --insecure. Will NOT check SSL certificates.
--- config:
_builtin debug: False
/home/myuser/spack/etc/spack/defaults/config.yaml:72 checksum: True
command_line verify_ssl: False
./my-scope-2/config.yaml:2 dirty: False
_builtin build_jobs: 8
./my-scope/config.yaml:2 install_tree: /path/to/some/tree
/home/myuser/spack/etc/spack/defaults/config.yaml:23 template_dirs:
/home/myuser/spack/etc/spack/defaults/config.yaml:24 - $spack/templates
/home/myuser/spack/etc/spack/defaults/config.yaml:28 directory_layout: {architecture}/{compiler.name}-{compiler.version}/{name}-{version}-{hash}
/home/myuser/spack/etc/spack/defaults/config.yaml:32 module_roots:
/home/myuser/spack/etc/spack/defaults/config.yaml:33 tcl: $spack/share/spack/modules
/home/myuser/spack/etc/spack/defaults/config.yaml:34 lmod: $spack/share/spack/lmod
/home/myuser/spack/etc/spack/defaults/config.yaml:49 build_stage:
/home/myuser/spack/etc/spack/defaults/config.yaml:50 - $tempdir/$user/spack-stage
/home/myuser/spack/etc/spack/defaults/config.yaml:51 - ~/.spack/stage
/home/myuser/spack/etc/spack/defaults/config.yaml:52 - $spack/var/spack/stage
/home/myuser/spack/etc/spack/defaults/config.yaml:57 source_cache: $spack/var/spack/cache
/home/myuser/spack/etc/spack/defaults/config.yaml:62 misc_cache: ~/.spack/cache
/home/myuser/spack/etc/spack/defaults/config.yaml:86 locks: True
You can see above that the ``build_jobs`` and ``debug`` settings are
built in and are not overridden by a configuration file. The
``verify_ssl`` setting comes from the ``--insceure`` option on the
command line. ``dirty`` and ``install_tree`` come from the custom
scopes ``./my-scope`` and ``./my-scope-2``, and all other configuration
options come from the default configuration files that ship with Spack.

View File

@@ -0,0 +1,307 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _containers:
================
Container Images
================
Spack can be an ideal tool to setup images for containers since all the
features discussed in :ref:`environments` can greatly help to manage
the installation of software during the image build process. Nonetheless,
building a production image from scratch still requires a lot of
boilerplate to:
- Get Spack working within the image, possibly running as root
- Minimize the physical size of the software installed
- Properly update the system software in the base image
To facilitate users with these tedious tasks, Spack provides a command
to automatically generate recipes for container images based on
Environments:
.. code-block:: console
$ ls
spack.yaml
$ spack containerize
# Build stage with Spack pre-installed and ready to be used
FROM spack/centos7:latest as builder
# What we want to install and how we want to install it
# is specified in a manifest file (spack.yaml)
RUN mkdir /opt/spack-environment \
&& (echo "spack:" \
&& echo " specs:" \
&& echo " - gromacs+mpi" \
&& echo " - mpich" \
&& echo " concretization: together" \
&& echo " config:" \
&& echo " install_tree: /opt/software" \
&& echo " view: /opt/view") > /opt/spack-environment/spack.yaml
# Install the software, remove unecessary deps
RUN cd /opt/spack-environment && spack install && spack gc -y
# Strip all the binaries
RUN find -L /opt/view/* -type f -exec readlink -f '{}' \; | \
xargs file -i | \
grep 'charset=binary' | \
grep 'x-executable\|x-archive\|x-sharedlib' | \
awk -F: '{print $1}' | xargs strip -s
# Modifications to the environment that are necessary to run
RUN cd /opt/spack-environment && \
spack env activate --sh -d . >> /etc/profile.d/z10_spack_environment.sh
# Bare OS image to run the installed executables
FROM centos:7
COPY --from=builder /opt/spack-environment /opt/spack-environment
COPY --from=builder /opt/software /opt/software
COPY --from=builder /opt/view /opt/view
COPY --from=builder /etc/profile.d/z10_spack_environment.sh /etc/profile.d/z10_spack_environment.sh
RUN yum update -y && yum install -y epel-release && yum update -y \
&& yum install -y libgomp \
&& rm -rf /var/cache/yum && yum clean all
RUN echo 'export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][gromacs]\[$(tput setaf 2)\]\u\[$(tput sgr0)\]:\w $ \[$(tput sgr0)\]"' >> ~/.bashrc
LABEL "app"="gromacs"
LABEL "mpi"="mpich"
ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
The bits that make this automation possible are discussed in details
below. All the images generated in this way will be based on
multi-stage builds with:
- A fat ``build`` stage containing common build tools and Spack itself
- A minimal ``final`` stage containing only the software requested by the user
-----------------
Spack Base Images
-----------------
Docker images with Spack preinstalled and ready to be used are
built on `Docker Hub <https://hub.docker.com/u/spack>`_
at every push to ``develop`` or to a release branch. The OS that
are currently supported are summarized in the table below:
.. _containers-supported-os:
.. list-table:: Supported operating systems
:header-rows: 1
* - Operating System
- Base Image
- Spack Image
* - Ubuntu 16.04
- ``ubuntu:16.04``
- ``spack/ubuntu-xenial``
* - Ubuntu 18.04
- ``ubuntu:16.04``
- ``spack/ubuntu-bionic``
* - CentOS 6
- ``centos:6``
- ``spack/centos6``
* - CentOS 7
- ``centos:7``
- ``spack/centos7``
All the images are tagged with the corresponding release of Spack:
.. image:: dockerhub_spack.png
with the exception of the ``latest`` tag that points to the HEAD
of the ``develop`` branch. These images are available for anyone
to use and take care of all the repetitive tasks that are necessary
to setup Spack within a container. All the container recipes generated
automatically by Spack use them as base images for their ``build`` stage.
-------------------------
Environment Configuration
-------------------------
Any Spack Environment can be used for the automatic generation of container
recipes. Sensible defaults are provided for things like the base image or the
version of Spack used in the image. If a finer tuning is needed it can be
obtained by adding the relevant metadata under the ``container`` attribute
of environments:
.. code-block:: yaml
spack:
specs:
- gromacs+mpi
- mpich
container:
# Select the format of the recipe e.g. docker,
# singularity or anything else that is currently supported
format: docker
# Select from a valid list of images
base:
image: "centos:7"
spack: develop
# Whether or not to strip binaries
strip: true
# Additional system packages that are needed at runtime
os_packages:
- libgomp
# Extra instructions
extra_instructions:
final: |
RUN echo 'export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][gromacs]\[$(tput setaf 2)\]\u\[$(tput sgr0)\]:\w $ \[$(tput sgr0)\]"' >> ~/.bashrc
# Labels for the image
labels:
app: "gromacs"
mpi: "mpich"
The tables below describe the configuration options that are currently supported:
.. list-table:: General configuration options for the ``container`` section of ``spack.yaml``
:header-rows: 1
* - Option Name
- Description
- Allowed Values
- Required
* - ``format``
- The format of the recipe
- ``docker`` or ``singularity``
- Yes
* - ``base:image``
- Base image for ``final`` stage
- See :ref:`containers-supported-os`
- Yes
* - ``base:spack``
- Version of Spack
- Valid tags for ``base:image``
- Yes
* - ``strip``
- Whether to strip binaries
- ``true`` (default) or ``false``
- No
* - ``os_packages``
- System packages to be installed
- Valid packages for the ``final`` OS
- No
* - ``extra_instructions:build``
- Extra instructions (e.g. `RUN`, `COPY`, etc.) at the end of the ``build`` stage
- Anything understood by the current ``format``
- No
* - ``extra_instructions:final``
- Extra instructions (e.g. `RUN`, `COPY`, etc.) at the end of the ``final`` stage
- Anything understood by the current ``format``
- No
* - ``labels``
- Labels to tag the image
- Pairs of key-value strings
- No
.. list-table:: Configuration options specific to Singularity
:header-rows: 1
* - Option Name
- Description
- Allowed Values
- Required
* - ``singularity:runscript``
- Content of ``%runscript``
- Any valid script
- No
* - ``singularity:startscript``
- Content of ``%startscript``
- Any valid script
- No
* - ``singularity:test``
- Content of ``%test``
- Any valid script
- No
* - ``singularity:help``
- Description of the image
- Description string
- No
Once the Environment is properly configured a recipe for a container
image can be printed to standard output by issuing the following
command from the directory where the ``spack.yaml`` resides:
.. code-block:: console
$ spack containerize
The example ``spack.yaml`` above would produce for instance the
following ``Dockerfile``:
.. code-block:: docker
# Build stage with Spack pre-installed and ready to be used
FROM spack/centos7:latest as builder
# What we want to install and how we want to install it
# is specified in a manifest file (spack.yaml)
RUN mkdir /opt/spack-environment \
&& (echo "spack:" \
&& echo " specs:" \
&& echo " - gromacs+mpi" \
&& echo " - mpich" \
&& echo " concretization: together" \
&& echo " config:" \
&& echo " install_tree: /opt/software" \
&& echo " view: /opt/view") > /opt/spack-environment/spack.yaml
# Install the software, remove unecessary deps
RUN cd /opt/spack-environment && spack install && spack gc -y
# Strip all the binaries
RUN find -L /opt/view/* -type f -exec readlink -f '{}' \; | \
xargs file -i | \
grep 'charset=binary' | \
grep 'x-executable\|x-archive\|x-sharedlib' | \
awk -F: '{print $1}' | xargs strip -s
# Modifications to the environment that are necessary to run
RUN cd /opt/spack-environment && \
spack env activate --sh -d . >> /etc/profile.d/z10_spack_environment.sh
# Bare OS image to run the installed executables
FROM centos:7
COPY --from=builder /opt/spack-environment /opt/spack-environment
COPY --from=builder /opt/software /opt/software
COPY --from=builder /opt/view /opt/view
COPY --from=builder /etc/profile.d/z10_spack_environment.sh /etc/profile.d/z10_spack_environment.sh
RUN yum update -y && yum install -y epel-release && yum update -y \
&& yum install -y libgomp \
&& rm -rf /var/cache/yum && yum clean all
RUN echo 'export PS1="\[$(tput bold)\]\[$(tput setaf 1)\][gromacs]\[$(tput setaf 2)\]\u\[$(tput sgr0)\]:\w $ \[$(tput sgr0)\]"' >> ~/.bashrc
LABEL "app"="gromacs"
LABEL "mpi"="mpich"
ENTRYPOINT ["/bin/bash", "--rcfile", "/etc/profile", "-l"]
.. note::
Spack can also produce Singularity definition files to build the image. The
minimum version of Singularity required to build a SIF (Singularity Image Format)
from them is ``3.5.3``.

View File

@@ -1,3 +1,8 @@
.. 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)
.. _contribution-guide:
==================
@@ -34,13 +39,32 @@ Continuous Integration
Spack uses `Travis CI <https://travis-ci.org/spack/spack>`_ 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
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
for the results of these tests after submitting a PR, we recommend that you run them
locally to speed up the review process.
.. note::
Oftentimes, Travis 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)
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
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.
If you take a look in ``$SPACK_ROOT/.travis.yml``, you'll notice that we test
against Python 2.6, 2.7, and 3.3-3.6. We currently perform 3 types of tests:
against Python 2.6, 2.7, and 3.4-3.7 on both macOS and Linux. We currently
perform 3 types of tests:
.. _cmd-spack-test:
^^^^^^^^^^
Unit Tests
@@ -64,33 +88,83 @@ To run *all* of the unit tests, use:
$ spack test
These tests may take several minutes to complete. If you know you are only
modifying a single Spack feature, you can run a single unit test at a time:
These tests may take several minutes to complete. If you know you are
only modifying a single Spack feature, you can run subsets of tests at a
time. For example, this would run all the tests in
``lib/spack/spack/test/architecture.py``:
.. code-block:: console
$ spack test architecture
$ spack test architecture.py
This allows you to develop iteratively: make a change, test that change, make
another change, test that change, etc. To get a list of all available unit
tests, run:
And this would run the ``test_platform`` test from that file:
.. code-block:: console
$ spack test architecture.py::test_platform
This allows you to develop iteratively: make a change, test that change,
make another change, test that change, etc. We use `pytest
<http://pytest.org/>`_ as our tests fromework, and these types of
arguments are just passed to the ``pytest`` command underneath. See `the
pytest docs
<http://doc.pytest.org/en/latest/usage.html#specifying-tests-selecting-tests>`_
for more details on test selection syntax.
``spack test`` has a few special options that can help you understand
what tests are available. To get a list of all available unit test
files, run:
.. command-output:: spack test --list
:ellipsis: 5
A more detailed list of available unit tests can be found by running
``spack test --long-list``.
To see a more detailed list of available unit tests, use ``spack test
--list-long``:
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.
.. command-output:: spack test --list-long
:ellipsis: 10
And to see the fully qualified names of all tests, use ``--list-names``:
.. command-output:: spack test --list-names
:ellipsis: 5
You can combine these with ``pytest`` arguments to restrict which tests
you want to know about. For example, to see just the tests in
``architecture.py``:
.. command-output:: spack test --list-long architecture.py
You can also combine any of these options with a ``pytest`` keyword
search. For example, to see the names of all tests that have "spec"
or "concretize" somewhere in their names:
.. command-output:: spack test --list-names -k "spec and concretize"
By default, ``pytest`` captures the output of all unit tests, and it will
print any captured output for failed tests. Sometimes it's helpful to see
your output interactively, while the tests run (e.g., if you add print
statements to a unit tests). To see the output *live*, use the ``-s``
argument to ``pytest``:
.. code-block:: console
$ spack test -s 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 Coverage with the
percentage of Spack that is covered by unit tests. This script is
designed for Travis CI. If you want to run the unit tests yourself, we
suggest you use ``spack test``.
You may notice the ``share/spack/qa/run-unit-tests`` script in the
repository. This script is designed for Travis CI. It runs the unit
tests and reports coverage statistics back to Codecov. If you want to
run the unit tests yourself, we suggest you use ``spack test``.
^^^^^^^^^^^^
Flake8 Tests
@@ -154,20 +228,27 @@ However, if you aren't compliant with PEP 8, flake8 will complain:
Most of the error messages are straightforward, but if you don't understand what
they mean, just ask questions about them when you submit your PR. The line numbers
will change if you add or delete lines, so simply run ``run-flake8-tests`` again
will change if you add or delete lines, so simply run ``spack flake8`` again
to update them.
.. tip::
Try fixing flake8 errors in reverse order. This eliminates the need for
multiple runs of ``flake8`` just to re-compute line numbers and makes it
much easier to fix errors directly off of the Travis output.
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.
.. warning::
Flake8 requires setuptools in order to run. If you installed ``py-flake8``
with Spack, make sure to add ``py-setuptools`` to your ``PYTHONPATH``.
Otherwise, you will get an error message like:
Flake8 and ``pep8-naming`` require a number of dependencies in order
to run. If you installed ``py-flake8`` and ``py-pep8-naming``, the
easiest way to ensure the right packages are on your ``PYTHONPATH`` is
to run::
spack activate py-flake8
spack activate pep8-naming
so that all of the dependencies are symlinked to a central
location. If you see an error message like:
.. code-block:: console
@@ -176,6 +257,8 @@ to update them.
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
that means Flake8 couldn't find setuptools in your ``PYTHONPATH``.
^^^^^^^^^^^^^^^^^^^
Documentation Tests
^^^^^^^^^^^^^^^^^^^
@@ -185,32 +268,48 @@ 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
* sphinx-rtd-theme
* graphviz
* git
* 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
``spack activate py-sphinx`` so that all of the dependencies are symlinked
to a central location. If you see an error message like:
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
Traceback (most recent call last):
File: "/usr/bin/flake8", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
$ spack activate py-sphinx
$ spack activate py-sphinx-rtd-theme
$ spack activate py-sphinxcontrib-programoutput
that means Sphinx couldn't find setuptools in your ``PYTHONPATH``.
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
Extension error:
Could not import extension sphinxcontrib.programoutput (exception: No module named sphinxcontrib.programoutput)
make: *** [html] Error 1
that means Sphinx couldn't find ``py-sphinxcontrib-programoutput`` in your
``PYTHONPATH``.
Once all of the dependencies are installed, you can try building the documentation:
@@ -225,11 +324,11 @@ your PR is accepted.
.. note::
There is also a ``run-doc-tests`` script in the Quality Assurance directory.
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 much quicker to run ``make`` by hand so that you can see all of the warnings
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
much quicker to run ``make`` by hand so that you can see all of the warnings
at once.
If you are editing the documentation, you should obviously be running the
@@ -277,6 +376,37 @@ Documentation changes can result in much more obfuscated warning messages.
If you don't understand what they mean, feel free to ask when you submit
your PR.
--------
Coverage
--------
Spack uses `Codecov <https://codecov.io/>`_ to generate and report unit test
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
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
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
substantial changes to the core, we may request unit tests to increase coverage.
.. note::
If the only files you modified are package files, we do not care about
coverage on your PR. You may notice that the Codecov tests fail even though
you didn't modify any core files. This means that Spack's overall coverage
has increased since you branched off of develop. This is a good thing!
If you really want to get the Codecov tests to pass, you can rebase off of
the latest develop, but again, this is not required.
-------------
Git Workflows
-------------

View File

@@ -1,3 +1,8 @@
.. 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)
.. _developer_guide:
===============
@@ -119,7 +124,7 @@ etc.) but we wanted to make Spack *very* easy to use. The simple layout
spares users from the need to install Spack into a Python environment.
Many users don't have write access to a Python installation, and installing
an entire new instance of Python to bootstrap Spack would be very complicated.
Users should not have to install install a big, complicated package to
Users should not have to install a big, complicated package to
use the thing that's supposed to spare them from the details of big,
complicated packages. The end result is that Spack works out of the
box: clone it and add ``bin`` to your PATH and you're ready to go.
@@ -314,7 +319,7 @@ See the `Argparse documentation <https://docs.python.org/2.7/library/argparse.ht
for more details on how to add arguments.
Some commands have a set of subcommands, like ``spack compiler find`` or
``spack module refresh``. You can add subparsers to your parser to handle
``spack module lmod refresh``. You can add subparsers to your parser to handle
this. Check out ``spack edit --command compiler`` for an example of this.
A lot of commands take the same arguments and flags. These arguments should
@@ -358,12 +363,12 @@ Developer commands
``spack doc``
^^^^^^^^^^^^^
.. _cmd-spack-test:
^^^^^^^^^^^^^^
``spack test``
^^^^^^^^^^^^^^
See the :ref:`contributor guide section <cmd-spack-test>` on ``spack test``.
.. _cmd-spack-python:
^^^^^^^^^^^^^^^^
@@ -483,7 +488,7 @@ supply ``--profile`` to Spack on the command line, before any subcommands.
``spack --profile`` output looks like this:
.. command-output:: spack --profile graph dyninst
.. command-output:: spack --profile graph hdf5
:ellipsis: 25
The bottom of the output shows the top most time consuming functions,

View File

@@ -0,0 +1,41 @@
.. 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)
.. _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

@@ -0,0 +1,826 @@
.. Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _environments:
============
Environments
============
An environment is used to group together a set of specs for the
purpose of building, rebuilding and deploying in a coherent fashion.
Environments provide a number of advantages over the *à la carte*
approach of building and loading individual Spack modules:
#. Environments separate the steps of (a) choosing what to
install, (b) concretizing, and (c) installing. This allows
Environments to remain stable and repeatable, even if Spack packages
are upgraded: specs are only re-concretized when the user
explicitly asks for it. It is even possible to reliably
transport environments between different computers running
different versions of Spack!
#. Environments allow several specs to be built at once; a more robust
solution than ad-hoc scripts making multiple calls to ``spack
install``.
#. An Environment that is built as a whole can be loaded as a whole
into the user environment. An Environment can be built to maintain
a filesystem view of its packages, and the environment can load
that view into the user environment at activation time. Spack can
also generate a script to load all modules related to an
environment.
Other packaging systems also provide environments that are similar in
some ways to Spack environments; for example, `Conda environments
<https://conda.io/docs/user-guide/tasks/manage-environments.html>`_ or
`Python Virtual Environments
<https://docs.python.org/3/tutorial/venv.html>`_. Spack environments
provide some distinctive features:
#. A spec installed "in" an environment is no different from the same
spec installed anywhere else in Spack. Environments are assembled
simply by collecting together a set of specs.
#. Spack Environments may contain more than one spec of the same
package.
Spack uses a "manifest and lock" model similar to `Bundler gemfiles
<https://bundler.io/man/gemfile.5.html>`_ and other package
managers. The user input file is named ``spack.yaml`` and the lock
file is named ``spack.lock``
.. _environments-using:
------------------
Using Environments
------------------
Here we follow a typical use case of creating, concretizing,
installing and loading an environment.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Creating a named Environment
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
An environment is created by:
.. code-block:: console
$ spack env create myenv
Spack then creates the directory ``var/spack/environments/myenv``.
.. note::
All named environments are stored in the ``var/spack/environments`` folder.
In the ``var/spack/environments/myenv`` directory, Spack creates the
file ``spack.yaml`` and the hidden directory ``.spack-env``.
Spack stores metadata in the ``.spack-env`` directory. User
interaction will occur through the ``spack.yaml`` file and the Spack
commands that affect it. When the environment is concretized, Spack
will create a file ``spack.lock`` with the concrete information for
the environment.
In addition to being the default location for the view associated with
an Environment, the ``.spack-env`` directory also contains:
* ``repo/``: A repo consisting of the Spack packages used in this
environment. This allows the environment to build the same, in
theory, even on different versions of Spack with different
packages!
* ``logs/``: A directory containing the build logs for the packages
in this Environment.
Spack Environments can also be created from either a ``spack.yaml``
manifest or a ``spack.lock`` lockfile. To create an Environment from a
``spack.yaml`` manifest:
.. code-block:: console
$ spack env create myenv spack.yaml
To create an Environment from a ``spack.lock`` lockfile:
.. code-block:: console
$ spack env create myenv spack.lock
Either of these commands can also take a full path to the
initialization file.
A Spack Environment created from a ``spack.yaml`` manifest is
guaranteed to have the same root specs as the original Environment,
but may concretize differently. A Spack Environment created from a
``spack.lock`` lockfile is guaranteed to have the same concrete specs
as the original Environment. Either may obviously then differ as the
user modifies it.
^^^^^^^^^^^^^^^^^^^^^^^^^
Activating an Environment
^^^^^^^^^^^^^^^^^^^^^^^^^
To activate an environment, use the following command:
.. code-block:: console
$ spack env activate myenv
By default, the ``spack env activate`` will load the view associated
with the Environment into the user environment. The ``-v,
--with-view`` argument ensures this behavior, and the ``-V,
--without-vew`` argument activates the environment without changing
the user environment variables.
The ``-p`` option to the ``spack env activate`` command modifies the
user's prompt to begin with the environment name in brackets.
.. code-block:: console
$ spack env activate -p myenv
[myenv] $ ...
To deactivate an environment, use the command:
.. code-block:: console
$ spack env deactivate
or the shortcut alias
.. code-block:: console
$ despacktivate
If the environment was activated with its view, deactivating the
environment will remove the view from the user environment.
^^^^^^^^^^^^^^^^^^^^^^
Anonymous Environments
^^^^^^^^^^^^^^^^^^^^^^
Any directory can be treated as an environment if it contains a file
``spack.yaml``. To load an anonymous environment, use:
.. code-block:: console
$ spack env activate -d /path/to/directory
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
$ spack env create -d .
In this case Spack simply creates a spack.yaml file in the requested
directory.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Environment Sensitive Commands
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Spack commands are environment sensitive. For example, the ``find``
command shows only the specs in the active Environment if an
Environment has been activated. Similarly, the ``install`` and
``uninstall`` commands act on the active environment.
.. code-block:: console
$ spack find
==> 0 installed packages
$ spack install zlib@1.2.11
==> Installing zlib
==> Searching for binary cache of zlib
==> Warning: No Spack mirrors are currently configured
==> No binary for zlib found: installing from source
==> Fetching http://zlib.net/fossils/zlib-1.2.11.tar.gz
######################################################################## 100.0%
==> Staging archive: /spack/var/spack/stage/zlib-1.2.11-3r4cfkmx3wwfqeof4bc244yduu2mz4ur/zlib-1.2.11.tar.gz
==> Created stage in /spack/var/spack/stage/zlib-1.2.11-3r4cfkmx3wwfqeof4bc244yduu2mz4ur
==> No patches needed for zlib
==> Building zlib [Package]
==> Executing phase: 'install'
==> Successfully installed zlib
Fetch: 0.36s. Build: 11.58s. Total: 11.93s.
[+] /spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/zlib-1.2.11-3r4cfkmx3wwfqeof4bc244yduu2mz4ur
$ spack env activate myenv
$ spack find
==> In environment myenv
==> No root specs
==> 0 installed packages
$ spack install zlib@1.2.8
==> Installing zlib
==> Searching for binary cache of zlib
==> Warning: No Spack mirrors are currently configured
==> No binary for zlib found: installing from source
==> Fetching http://zlib.net/fossils/zlib-1.2.8.tar.gz
######################################################################## 100.0%
==> Staging archive: /spack/var/spack/stage/zlib-1.2.8-y2t6kq3s23l52yzhcyhbpovswajzi7f7/zlib-1.2.8.tar.gz
==> Created stage in /spack/var/spack/stage/zlib-1.2.8-y2t6kq3s23l52yzhcyhbpovswajzi7f7
==> No patches needed for zlib
==> Building zlib [Package]
==> Executing phase: 'install'
==> Successfully installed zlib
Fetch: 0.26s. Build: 2.08s. Total: 2.35s.
[+] /spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/zlib-1.2.8-y2t6kq3s23l52yzhcyhbpovswajzi7f7
$ spack find
==> In environment myenv
==> Root specs
zlib@1.2.8
==> 1 installed package
-- linux-rhel7-x86_64 / gcc@4.9.3 -------------------------------
zlib@1.2.8
$ despacktivate
$ spack find
==> 2 installed packages
-- linux-rhel7-x86_64 / gcc@4.9.3 -------------------------------
zlib@1.2.8 zlib@1.2.11
Note that when we installed the abstract spec ``zlib@1.2.8``, it was
presented as a root of the Environment. All explicitly installed
packages will be listed as roots of the Environment.
All of the Spack commands that act on the list of installed specs are
Environment-sensitive in this way, including ``install``,
``uninstall``, ``activate``, ``deactivate``, ``find``, ``extensions``,
and more. In the :ref:`environment-configuration` section we will discuss
Environment-sensitive commands further.
^^^^^^^^^^^^^^^^^^^^^
Adding Abstract Specs
^^^^^^^^^^^^^^^^^^^^^
An abstract spec is the user-specified spec before Spack has applied
any defaults or dependency information.
Users can add abstract specs to an Environment using the ``spack add``
command. The most important component of an Environment is a list of
abstract specs.
Adding a spec adds to the manifest (the ``spack.yaml`` file) and to
the roots of the Environment, but does not affect the concrete specs
in the lockfile, nor does it install the spec.
The ``spack add`` command is environment aware. It adds to the
currently active environment. All environment aware commands can also
be called using the ``spack -E`` flag to specify the environment.
.. code-block:: console
$ spack activate myenv
$ spack add mpileaks
or
.. code-block:: console
$ spack -E myenv add python
.. _environments_concretization:
^^^^^^^^^^^^
Concretizing
^^^^^^^^^^^^
Once some user specs have been added to an environment, they can be
concretized. *By default specs are concretized separately*, one after
the other. This mode of operation permits to deploy a full
software stack where multiple configurations of the same package
need to be installed alongside each other. Central installations done
at HPC centers by system administrators or user support groups
are a common case that fits in this behavior.
Environments *can also be configured to concretize all
the root specs in a self-consistent way* to ensure that
each package in the environment comes with a single configuration. This
mode of operation is usually what is required by software developers that
want to deploy their development environment.
Regardless of which mode of operation has been chosen, the following
command will ensure all the root specs are concretized according to the
constraints that are prescribed in the configuration:
.. code-block:: console
[myenv]$ spack concretize
In the case of specs that are not concretized together, the command
above will concretize only the specs that were added and not yet
concretized. Forcing a re-concretization of all the specs can be done
instead with this command:
.. code-block:: console
[myenv]$ spack concretize -f
When the ``-f`` flag is not used to reconcretize all specs, Spack
guarantees that already concretized specs are unchanged in the
environment.
The ``concretize`` command does not install any packages. For packages
that have already been installed outside of the environment, the
process of adding the spec and concretizing is identical to installing
the spec assuming it concretizes to the exact spec that was installed
outside of the environment.
The ``spack find`` command can show concretized specs separately from
installed specs using the ``-c`` (``--concretized``) flag.
.. code-block:: console
[myenv]$ spack add zlib
[myenv]$ spack concretize
[myenv]$ spack find -c
==> In environment myenv
==> Root specs
zlib
==> Concretized roots
-- linux-rhel7-x86_64 / gcc@4.9.3 -------------------------------
zlib@1.2.11
==> 0 installed packages
^^^^^^^^^^^^^^^^^^^^^^^^^
Installing an Environment
^^^^^^^^^^^^^^^^^^^^^^^^^
In addition to installing individual specs into an Environment, one
can install the entire Environment at once using the command
.. code-block:: console
[myenv]$ spack install
If the Environment has been concretized, Spack will install the
concretized specs. Otherwise, ``spack install`` will first concretize
the Environment and then install the concretized specs.
As it installs, ``spack install`` creates symbolic links in the
``logs/`` directory in the Environment, allowing for easy inspection
of build logs related to that environment. The ``spack install``
command also stores a Spack repo containing the ``package.py`` file
used at install time for each package in the ``repos/`` directory in
the Environment.
^^^^^^^
Loading
^^^^^^^
Once an environment has been installed, the following creates a load
script for it:
.. code-block:: console
$ spack env loads -r
This creates a file called ``loads`` in the environment directory.
Sourcing that file in Bash will make the environment available to the
user; and can be included in ``.bashrc`` files, etc. The ``loads``
file may also be copied out of the environment, renamed, etc.
----------
spack.yaml
----------
Spack environments can be customized at finer granularity by editing
the ``spack.yaml`` manifest file directly.
.. _environment-configuration:
^^^^^^^^^^^^^^^^^^^^^^^^
Configuring Environments
^^^^^^^^^^^^^^^^^^^^^^^^
A variety of Spack behaviors are changed through Spack configuration
files, covered in more detail in the :ref:`configuration`
section.
Spack Environments provide an additional level of configuration scope
between the custom scope and the user scope discussed in the
configuration documentation.
There are two ways to include configuration information in a Spack Environment:
#. Inline in the ``spack.yaml`` file
#. Included in the ``spack.yaml`` file from another file.
"""""""""""""""""""""
Inline configurations
"""""""""""""""""""""
Inline Environment-scope configuration is done using the same yaml
format as standard Spack configuration scopes, covered in the
:ref:`configuration` section. Each section is contained under a
top-level yaml object with it's name. For example, a ``spack.yaml``
manifest file containing some package preference configuration (as in
a ``packages.yaml`` file) could contain:
.. code-block:: yaml
spack:
...
packages:
all:
compiler: [intel]
...
This configuration sets the default compiler for all packages to
``intel``.
"""""""""""""""""""""""
Included configurations
"""""""""""""""""""""""
Spack environments allow an ``include`` heading in their yaml
schema. This heading pulls in external configuration files and applies
them to the Environment.
.. code-block:: yaml
spack:
include:
- relative/path/to/config.yaml
- /absolute/path/to/packages.yaml
Environments can include files with either relative or absolute
paths. Inline configurations take precedence over included
configurations, so you don't have to change shared configuration files
to make small changes to an individual Environment. Included configs
listed later will have higher precedence, as the included configs are
applied in order.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Manually Editing the Specs List
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The list of abstract/root specs in the Environment is maintained in
the ``spack.yaml`` manifest under the heading ``specs``.
.. code-block:: yaml
spack:
specs:
- ncview
- netcdf
- nco
- py-sphinx
Appending to this list in the yaml is identical to using the ``spack
add`` command from the command line. However, there is more power
available from the yaml file.
"""""""""""""""""""
Spec concretization
"""""""""""""""""""
Specs can be concretized separately or together, as already
explained in :ref:`environments_concretization`. The behavior active
under any environment is determined by the ``concretization`` property:
.. code-block:: yaml
spack:
specs:
- ncview
- netcdf
- nco
- py-sphinx
concretization: together
which can currently take either one of the two allowed values ``together`` or ``separately``
(the default).
.. admonition:: Re-concretization of user specs
When concretizing specs together the entire set of specs will be
re-concretized after any addition of new user specs, to ensure that
the environment remains consistent. When instead the specs are concretized
separately only the new specs will be re-concretized after any addition.
"""""""""""""
Spec Matrices
"""""""""""""
Entries in the ``specs`` list can be individual abstract specs or a
spec matrix.
A spec matrix is a yaml object containing multiple lists of specs, and
evaluates to the cross-product of those specs. Spec matrices also
contain an ``excludes`` directive, which eliminates certain
combinations from the evaluated result.
The following two Environment manifests are identical:
.. code-block:: yaml
spack:
specs:
- zlib %gcc@7.1.0
- zlib %gcc@4.9.3
- libelf %gcc@7.1.0
- libelf %gcc@4.9.3
- libdwarf %gcc@7.1.0
- cmake
spack:
specs:
- matrix:
- [zlib, libelf, libdwarf]
- ['%gcc@7.1.0', '%gcc@4.9.3']
exclude:
- libdwarf%gcc@4.9.3
- cmake
Spec matrices can be used to install swaths of software across various
toolchains.
The concretization logic for spec matrices differs slightly from the
rest of Spack. If a variant or dependency constraint from a matrix is
invalid, Spack will reject the constraint and try again without
it. For example, the following two Environment manifests will produce
the same specs:
.. code-block:: yaml
spack:
specs:
- matrix:
- [zlib, libelf, hdf5+mpi]
- [^mvapich2@2.2, ^openmpi@3.1.0]
spack:
specs:
- zlib
- libelf
- hdf5+mpi ^mvapich2@2.2
- hdf5+mpi ^openmpi@3.1.0
This allows one to create toolchains out of combinations of
constraints and apply them somewhat indiscriminately to packages,
without regard for the applicability of the constraint.
""""""""""""""""""""
Spec List References
""""""""""""""""""""
The last type of possible entry in the specs list is a reference.
The Spack Environment manifest yaml schema contains an additional
heading ``definitions``. Under definitions is an array of yaml
objects. Each object has one or two fields. The one required field is
a name, and the optional field is a ``when`` clause.
The named field is a spec list. The spec list uses the same syntax as
the ``specs`` entry. Each entry in the spec list can be a spec, a spec
matrix, or a reference to an earlier named list. References are
specified using the ``$`` sigil, and are "splatted" into place
(i.e. the elements of the referent are at the same level as the
elements listed separately). As an example, the following two manifest
files are identical.
.. code-block:: yaml
spack:
definitions:
- first: [libelf, libdwarf]
- compilers: ['%gcc', '^intel']
- second:
- $first
- matrix:
- [zlib]
- [$compilers]
specs:
- $second
- cmake
spack:
specs:
- libelf
- libdwarf
- zlib%gcc
- zlib%intel
- cmake
.. note::
Named spec lists in the definitions section may only refer
to a named list defined above itself. Order matters.
In short files like the example, it may be easier to simply list the
included specs. However for more complicated examples involving many
packages across many toolchains, separately factored lists make
Environments substantially more manageable.
Additionally, the ``-l`` option to the ``spack add`` command allows
one to add to named lists in the definitions section of the manifest
file directly from the command line.
The ``when`` directive can be used to conditionally add specs to a
named list. The ``when`` directive takes a string of Python code
referring to a restricted set of variables, and evaluates to a
boolean. The specs listed are appended to the named list if the
``when`` string evaluates to ``True``. In the following snippet, the
named list ``compilers`` is ``['%gcc', '%clang', '%intel']`` on
``x86_64`` systems and ``['%gcc', '%clang']`` on all other systems.
.. code-block:: yaml
spack:
definitions:
- compilers: ['%gcc', '%clang']
- when: target == 'x86_64'
compilers: ['%intel']
.. note::
Any definitions with the same named list with true ``when``
clauses (or absent ``when`` clauses) will be appended together
The valid variables for a ``when`` clause are:
#. ``platform``. The platform string of the default Spack
architecture on the system.
#. ``os``. The os string of the default Spack architecture on
the system.
#. ``target``. The target string of the default Spack
architecture on the system.
#. ``architecture`` or ``arch``. The full string of the
default Spack architecture on the system.
#. ``re``. The standard regex module in Python.
#. ``env``. The user environment (usually ``os.environ`` in Python).
#. ``hostname``. The hostname of the system (if ``hostname`` is an
executable in the user's PATH).
^^^^^^^^^^^^^^^^^^^^^^^^^
Environment-managed Views
^^^^^^^^^^^^^^^^^^^^^^^^^
Spack Environments can define filesystem views of their software,
which are maintained as packages and can be installed and uninstalled from
the Environment. Filesystem views provide an access point for packages
from the filesystem for users who want to access those packages
directly. For more information on filesystem views, see the section
:ref:`filesystem-views`.
Spack Environment managed views are updated every time the environment
is written out to the lock file ``spack.lock``, so the concrete
environment and the view are always compatible.
"""""""""""""""""""""""""""""
Configuring environment views
"""""""""""""""""""""""""""""
The Spack Environment manifest file has a top-level keyword
``view``. Each entry under that heading is a view descriptor, headed
by a name. The view descriptor contains the root of the view, and
optionally the projections for the view, and ``select`` and
``exclude`` lists for the view. For example, in the following manifest
file snippet we define a view named ``mpis``, rooted at
``/path/to/view`` in which all projections use the package name,
version, and compiler name to determine the path for a given
package. This view selects all packages that depend on MPI, and
excludes those built with the PGI compiler at version 18.5.
.. code-block:: yaml
spack:
...
view:
mpis:
root: /path/to/view
select: [^mpi]
exclude: ['%pgi@18.5']
projections:
all: {name}/{version}-{compiler.name}
For more information on using view projections, see the section on
:ref:`adding_projections_to_views`. The default for the ``select`` and
``exclude`` values is to select everything and exclude nothing. The
default projection is the default view projection (``{}``).
Any number of views may be defined under the ``view`` heading in a
Spack Environment.
There are two shorthands for environments with a single view. If the
environment at ``/path/to/env`` has a single view, with a root at
``/path/to/env/.spack-env/view``, with default selection and exclusion
and the default projection, we can put ``view: True`` in the
environment manifest. Similarly, if the environment has a view with a
different root, but default selection, exclusion, and projections, the
manifest can say ``view: /path/to/view``. These views are
automatically named ``default``, so that
.. code-block:: yaml
spack:
...
view: True
is equivalent to
.. code-block:: yaml
spack:
...
view:
default:
root: .spack-env/view
and
.. code-block:: yaml
spack:
...
view: /path/to/view
is equivalent to
.. code-block:: yaml
spack:
...
view:
default:
root: /path/to/view
By default, Spack environments are configured with ``view: True`` in
the manifest. Environments can be configured without views using
``view: False``. For backwards compatibility reasons, environments
with no ``view`` key are treated the same as ``view: True``.
From the command line, the ``spack env create`` command takes an
argument ``--with-view [PATH]`` that sets the path for a single, default
view. If no path is specified, the default path is used (``view:
True``). The argument ``--without-view`` can be used to create an
environment without any view configured.
The ``spack env view`` command can be used to change the manage views
of an Environment. The subcommand ``spack env view enable`` will add a
view named ``default`` to an environment. It takes an optional
argument to specify the path for the new default view. The subcommand
``spack env view disable`` will remove the view named ``default`` from
an environment if one exists. The subcommand ``spack env view
regenerate`` will regenerate the views for the environment. This will
apply any updates in the environment configuration that have not yet
been applied.
""""""""""""""""""""""""""""
Activating environment views
""""""""""""""""""""""""""""
The ``spack env activate`` command will put the default view for the
environment into the user's path, in addition to activating the
environment for Spack commands. The arguments ``-v,--with-view`` and
``-V,--without-view`` can be used to tune this behavior. The default
behavior is to activate with the environment view if there is one.
The environment variables affected by the ``spack env activate``
command and the paths that are used to update them are in the
following table.
=================== =========
Variable Paths
=================== =========
PATH bin
MANPATH man, share/man
ACLOCAL_PATH share/aclocal
LD_LIBRARY_PATH lib, lib64
LIBRARY_PATH lib, lib64
CPATH include
PKG_CONFIG_PATH lib/pkgconfig, lib64/pkgconfig, share/pkgconfig
CMAKE_PREFIX_PATH .
=================== =========
Each of these paths are appended to the view root, and added to the
relevant variable if the path exists. For this reason, it is not
recommended to use non-default projections with the default view of an
environment.
The ``spack env deactivate`` command will remove the default view of
the environment from the user's path.

View File

@@ -0,0 +1,161 @@
spack:
definitions:
- compiler-pkgs:
- 'llvm+clang@6.0.1 os=centos7'
- 'gcc@6.5.0 os=centos7'
- 'llvm+clang@6.0.1 os=ubuntu18.04'
- 'gcc@6.5.0 os=ubuntu18.04'
- pkgs:
- readline@7.0
# - xsdk@0.4.0
- compilers:
- '%gcc@5.5.0'
- '%gcc@6.5.0'
- '%gcc@7.3.0'
- '%clang@6.0.0'
- '%clang@6.0.1'
- oses:
- os=ubuntu18.04
- os=centos7
specs:
- matrix:
- [$pkgs]
- [$compilers]
- [$oses]
exclude:
- '%gcc@7.3.0 os=centos7'
- '%gcc@5.5.0 os=ubuntu18.04'
mirrors:
cloud_gitlab: https://mirror.spack.io
compilers:
# The .gitlab-ci.yml for this project picks a Docker container which does
# not have any compilers pre-built and ready to use, so we need to fake the
# existence of those here.
- compiler:
operating_system: centos7
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: gcc@5.5.0
target: x86_64
- compiler:
operating_system: centos7
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: gcc@6.5.0
target: x86_64
- compiler:
operating_system: centos7
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: clang@6.0.0
target: x86_64
- compiler:
operating_system: centos7
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: clang@6.0.1
target: x86_64
- compiler:
operating_system: ubuntu18.04
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: clang@6.0.0
target: x86_64
- compiler:
operating_system: ubuntu18.04
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: clang@6.0.1
target: x86_64
- compiler:
operating_system: ubuntu18.04
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: gcc@6.5.0
target: x86_64
- compiler:
operating_system: ubuntu18.04
modules: []
paths:
cc: /not/used
cxx: /not/used
f77: /not/used
fc: /not/used
spec: gcc@7.3.0
target: x86_64
gitlab-ci:
bootstrap:
- name: compiler-pkgs
compiler-agnostic: true
mappings:
- # spack-cloud-ubuntu
match:
# these are specs, if *any* match the spec under consideration, this
# 'mapping' will be used to generate the CI job
- os=ubuntu18.04
runner-attributes:
# 'tags' and 'image' go directly onto the job, 'variables' will
# be added to what we already necessarily create for the job as
# a part of the CI workflow
tags:
- spack-k8s
image:
name: scottwittenburg/spack_builder_ubuntu_18.04
entrypoint: [""]
- # spack-cloud-centos
match:
# these are specs, if *any* match the spec under consideration, this
# 'mapping' will be used to generate the CI job
- 'os=centos7'
runner-attributes:
tags:
- spack-k8s
image:
name: scottwittenburg/spack_builder_centos_7
entrypoint: [""]
cdash:
build-group: Release Testing
url: http://cdash
project: Spack Testing
site: Spack Docker-Compose Workflow
repos: []
upstreams: {}
modules:
enable: []
packages: {}
config: {}

Some files were not shown because too many files have changed in this diff Show More