Compare commits

..

5281 Commits

Author SHA1 Message Date
Todd Gamblin
fe4ccdd555 update CHANGELOG.md for 0.13.2 2019-12-04 22:02:41 -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
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
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
Adam J. Stewart
eb22abc521 Document use of the maintainers field (#13748) 2019-11-17 15:30:08 -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
Massimiliano Culpo
46bfcbbd3d hwloc: added 'master' version pointing at the HEAD of the master branch (#13734) 2019-11-15 12:38:30 -08: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
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
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
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
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
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
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
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
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
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
4951 changed files with 189895 additions and 110042 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: yes
ignore:
- lib/spack/spack/test/.*
- lib/spack/env/.*
- lib/spack/docs/.*
- lib/spack/external/.*
- share/spack/qa/.*
- share/spack/spack-completion.bash
comment: off

View File

@@ -7,7 +7,6 @@ branch = True
source = lib
omit =
lib/spack/spack/test/*
lib/spack/env/*
lib/spack/docs/*
lib/spack/external/*

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

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-2019 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
"""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()

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

14
.gitlab-ci.yml Normal file
View File

@@ -0,0 +1,14 @@
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
generate ci jobs:
script:
- "./bin/generate-gitlab-ci-yml.sh"
tags:
- "spack-pre-ci"
artifacts:
paths:
- ci-generation
when: always

View File

@@ -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,119 +11,166 @@ 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
- os: osx
language: generic
env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7, COVERAGE=true ]
if: type != pull_request
# mpich (AutotoolsPackage)
- stage: 'build tests'
python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=mpich' ]
env: [ TEST_SUITE=build, 'SPEC=mpich' ]
# astyle (MakefilePackage)
- python: '2.7'
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=astyle' ]
env: [ TEST_SUITE=build, 'SPEC=astyle' ]
# tut (WafPackage)
- python: '2.7'
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=tut' ]
env: [ TEST_SUITE=build, 'SPEC=tut' ]
# py-setuptools (PythonPackage)
- python: '2.7'
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=py-setuptools' ]
env: [ TEST_SUITE=build, 'SPEC=py-setuptools' ]
# perl-dbi (PerlPackage)
# - python: '2.7'
# - python: '3.8'
# os: linux
# language: python
# env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=perl-dbi' ]
# env: [ TEST_SUITE=build, 'SPEC=perl-dbi' ]
# openjpeg (CMakePackage + external cmake)
- python: '2.7'
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=openjpeg' ]
env: [ TEST_SUITE=build, 'SPEC=openjpeg' ]
# r-rcpp (RPackage + external R)
- python: '2.7'
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=r-rcpp' ]
env: [ TEST_SUITE=build, 'SPEC=r-rcpp' ]
# mpich (AutotoolsPackage)
- python: '3.6'
- python: '3.8'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=mpich' ]
env: [ TEST_SUITE=build, 'SPEC=mpich' ]
- python: '3.8'
stage: 'docker build'
os: linux
language: python
env: TEST_SUITE=docker
allow_failures:
- env: TEST_SUITE=docker
stages:
- 'style checks'
- 'unit tests + documentation'
- 'build tests'
- name: 'docker build'
if: type = push AND branch IN (develop, master)
#=============================================================================
# Environment
#=============================================================================
# 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:
- ~/.mirror
- ~/.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:
@@ -132,7 +179,10 @@ install:
- pip install --upgrade setuptools
- pip install --upgrade codecov
- 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 +190,33 @@ 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
- git fetch origin ${TRAVIS_BRANCH}:${TRAVIS_BRANCH}
# 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
# Set up external deps for build tests, b/c they take too long to compile
- if [[ "$TEST_SUITE" == "build" ]]; then
cp share/spack/qa/configuration/*.yaml etc/spack/;
fi
#=============================================================================
# Building
#=============================================================================
script: share/spack/qa/run-$TEST_SUITE-tests
services:
- docker
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

302
CHANGELOG.md Normal file
View File

@@ -0,0 +1,302 @@
# 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.

93
COPYRIGHT Normal file
View File

@@ -0,0 +1,93 @@
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: pyqver
PackageHomePage: https://github.com/ghewgill/pyqver
PackageLicenseDeclared: BSD-3-Clause
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-2019 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

@@ -26,49 +26,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 +80,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 +102,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

91
bin/generate-gitlab-ci-yml.sh Executable file
View File

@@ -0,0 +1,91 @@
#! /usr/bin/env bash
# Remember where we are initially, it's the repo cloned by gitlab-ci
original_directory=$(pwd)
. "${original_directory}/share/spack/setup-env.sh"
# Create a temporary working directory
temp_dir=$(mktemp -d)
trap 'rm -rf "$temp_dir"' INT TERM QUIT EXIT
if [ -z "${DOWNSTREAM_CI_REPO}" ] ; then
echo "ERROR: missing variable: DOWNSTREAM_CI_REPO" >&2
exit 1
fi
if [ -z "${SPACK_RELEASE_ENVIRONMENT_PATH}" ] ; then
echo "ERROR: missing variable: SPACK_RELEASE_ENVIRONMENT_PATH" >&2
exit 1
fi
if [ -z "${CDASH_AUTH_TOKEN}" ] ; then
echo "WARNING: missing variable: CDASH_AUTH_TOKEN" >&2
else
token_file="${temp_dir}/cdash_auth_token"
echo ${CDASH_AUTH_TOKEN} > ${token_file}
fi
if [ -z "${SPACK_RELEASE_ENVIRONMENT_REPO}" ] ; then
echo "Assuming spack repo contains environment" >&2
env_repo_dir=${original_directory}
else
echo "Cloning ${SPACK_RELEASE_ENVIRONMENT_REPO} into ${temp_dir}/envrepo" >&2
cd ${temp_dir}
git clone ${SPACK_RELEASE_ENVIRONMENT_REPO} envrepo
cd envrepo
env_repo_dir=$(pwd)
fi
current_branch="$CI_COMMIT_REF_NAME"
# Because want to see generated gitlab-ci file as an artifact,
# we need to write it within the spack repo cloned by gitlab-ci.
gen_ci_dir="${original_directory}/ci-generation"
gen_ci_file="${gen_ci_dir}/.gitlab-ci.yml"
mkdir -p ${gen_ci_dir}
env_dir="${env_repo_dir}/${SPACK_RELEASE_ENVIRONMENT_PATH}"
if [ ! -f "${env_dir}/spack.yaml" ] ; then
echo "ERROR: Cannot find spack environment file in ${env_dir}"
exit 1
fi
cd $env_dir
# The next commands generates the .gitlab-ci.yml (and optionally creates a
# buildgroup in cdash)
RELEASE_JOBS_ARGS=("--output-file" "${gen_ci_file}")
if [ ! -z "${token_file}" ]; then
RELEASE_JOBS_ARGS+=("--cdash-credentials" "${token_file}")
fi
spack release-jobs "${RELEASE_JOBS_ARGS[@]}"
if [[ $? -ne 0 ]]; then
echo "spack release-jobs command failed"
exit 1
fi
cd "$original_directory"
mv .git "$temp_dir/original-git-dir"
git init .
git config user.email "robot@spack.io"
git config user.name "Spack Build Bot"
cp ${gen_ci_file} "${original_directory}/.gitlab-ci.yml"
git add .
echo "git commit"
commit_message="Auto-generated commit testing"
commit_message="${commit_message} ${current_branch} (${CI_COMMIT_SHA})"
git commit --message="${commit_message}"
echo "git push"
git remote add origin "$DOWNSTREAM_CI_REPO"
git push --force origin "master:multi-ci-${current_branch}"
rm -rf .git
mv "$temp_dir/original-git-dir" .git
git reset --hard HEAD

13
bin/rebuild-index.sh Executable file
View File

@@ -0,0 +1,13 @@
#!/bin/bash
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
set -x
SPACK_BIN_DIR="${CI_PROJECT_DIR}/bin"
export PATH="${SPACK_BIN_DIR}:${PATH}"
spack buildcache update-index -d "$MIRROR_URL"

399
bin/rebuild-package.sh Executable file
View File

@@ -0,0 +1,399 @@
#!/bin/bash
# Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
###
### This script represents a gitlab-ci job, corresponding to a single release
### spec. As such this script must first decide whether or not the spec it
### has been assigned is up to date on the remote binary mirror. If it is
### not (i.e. the source code has changed in a way that caused a change in the
### full_hash of the spec), this script will build the package, create a
### binary cache for it, and then push all related files to the remote binary
### mirror. This script also optionally communicates with a remote CDash
### instance to share status on the package build process.
###
### The following environment variables are (possibly) used within this script
### in order for the various elements function properly.
###
### First are two defaults we rely on from gitlab:
###
### CI_PROJECT_DIR
### CI_JOB_NAME
###
### The following must be set up in the variables section of gitlab:
###
### AWS_ACCESS_KEY_ID
### AWS_SECRET_ACCESS_KEY
### SPACK_SIGNING_KEY
###
### SPACK_S3_UPLOAD_MIRROR_URL // only required in the short term for the cloud case
###
### The following variabes are defined by the ci generation process and are
### required:
###
### SPACK_ENABLE_CDASH
### SPACK_ROOT_SPEC
### SPACK_MIRROR_URL
### SPACK_JOB_SPEC_PKG_NAME
### SPACK_COMPILER_ACTION
###
### Finally, these variables are optionally defined by the ci generation
### process, and may or may not be present:
###
### SPACK_CDASH_BASE_URL
### SPACK_CDASH_PROJECT
### SPACK_CDASH_PROJECT_ENC
### SPACK_CDASH_BUILD_NAME
### SPACK_CDASH_SITE
### SPACK_RELATED_BUILDS
### SPACK_JOB_SPEC_BUILDGROUP
###
shopt -s expand_aliases
export FORCE_UNSAFE_CONFIGURE=1
TEMP_DIR="${CI_PROJECT_DIR}/jobs_scratch_dir"
JOB_LOG_DIR="${TEMP_DIR}/logs"
SPEC_DIR="${TEMP_DIR}/specs"
LOCAL_MIRROR="${CI_PROJECT_DIR}/local_mirror"
BUILD_CACHE_DIR="${LOCAL_MIRROR}/build_cache"
SPACK_BIN_DIR="${CI_PROJECT_DIR}/bin"
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
CDASH_UPLOAD_URL="${SPACK_CDASH_BASE_URL}/submit.php?project=${SPACK_CDASH_PROJECT_ENC}"
DEP_JOB_RELATEBUILDS_URL="${SPACK_CDASH_BASE_URL}/api/v1/relateBuilds.php"
declare -a JOB_DEPS_PKG_NAMES
fi
export SPACK_ROOT=${CI_PROJECT_DIR}
# export PATH="${SPACK_BIN_DIR}:${PATH}"
export GNUPGHOME="${CI_PROJECT_DIR}/opt/spack/gpg"
. "${CI_PROJECT_DIR}/share/spack/setup-env.sh"
mkdir -p ${JOB_LOG_DIR}
mkdir -p ${SPEC_DIR}
cleanup() {
set +x
if [ -z "$exit_code" ] ; then
exit_code=$1
if [ -z "$exit_code" ] ; then
exit_code=0
fi
restore_io
if [ "$( type -t finalize )" '=' 'function' ] ; then
finalize "$JOB_LOG_DIR/cdash_log.txt"
fi
# We can clean these out later on, once we have a good sense for
# how the logging infrastructure is working
# rm -rf "$JOB_LOG_DIR"
fi
\exit $exit_code
}
alias exit='cleanup'
begin_logging() {
trap "cleanup 1; \\exit \$exit_code" INT TERM QUIT
trap "cleanup 0; \\exit \$exit_code" EXIT
rm -rf "$JOB_LOG_DIR/cdash_log.txt"
# NOTE: Here, some redirects are set up
exec 3>&1 # fd 3 is now a dup of stdout
exec 4>&2 # fd 4 is now a dup of stderr
# stdout and stderr are joined and redirected to the log
exec &> "$JOB_LOG_DIR/cdash_log.txt"
set -x
}
restore_io() {
exec >&-
exec 2>&-
exec >&3
exec 2>&4
exec 3>&-
exec 4>&-
}
finalize() {
# If you define a finalize function:
# - it will always be called at the very end of the script
# - the log file will be passed in as the first argument, and
# - the code in this function will not be logged.
echo "The full log file is located at $1"
# TODO: send this log data to cdash!
}
check_error()
{
local last_exit_code=$1
local last_cmd=$2
if [[ ${last_exit_code} -ne 0 ]]; then
echo "${last_cmd} exited with code ${last_exit_code}"
echo "TERMINATING JOB"
exit 1
else
echo "${last_cmd} completed successfully"
fi
}
extract_build_id()
{
LINES_TO_SEARCH=$1
regex="buildSummary\.php\?buildid=([[:digit:]]+)"
SINGLE_LINE_OUTPUT=$(echo ${LINES_TO_SEARCH} | tr -d '\n')
if [[ ${SINGLE_LINE_OUTPUT} =~ ${regex} ]]; then
echo "${BASH_REMATCH[1]}"
else
echo "NONE"
fi
}
get_relate_builds_post_data()
{
cat <<EOF
{
"project": "${1}",
"buildid": ${2},
"relatedid": ${3},
"relationship": "depends on"
}
EOF
}
gen_full_specs_for_job_and_deps() {
SPEC_YAML_PATH="${SPEC_DIR}/${SPACK_JOB_SPEC_PKG_NAME}.yaml"
local spec_names_to_save="${SPACK_JOB_SPEC_PKG_NAME}"
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
IFS=';' read -ra DEPS <<< "${SPACK_RELATED_BUILDS}"
for i in "${DEPS[@]}"; do
depPkgName="${i}"
spec_names_to_save="${spec_names_to_save} ${depPkgName}"
JOB_DEPS_PKG_NAMES+=("${depPkgName}")
done
fi
if [ "${SPACK_COMPILER_ACTION}" == "FIND_ANY" ]; then
# This corresponds to a bootstrapping phase where we need to
# rely on any available compiler to build the package (i.e. the
# compiler needed to be stripped from the spec), and thus we need
# to concretize the root spec again.
spack -d buildcache save-yaml --specs "${spec_names_to_save}" --root-spec "${SPACK_ROOT_SPEC}" --yaml-dir "${SPEC_DIR}"
else
# in this case, either we're relying on Spack to install missing compiler
# bootstrapped in a previous phase, or else we only had one phase (like a
# site which already knows what compilers are available on it's runners),
# so we don't want to concretize that root spec again. The reason we need
# this in the first case (bootstrapped compiler), is that we can't concretize
# a spec at this point if we're going to ask spack to "install_missing_compilers".
tmp_dir=$(mktemp -d)
TMP_YAML_PATH="${tmp_dir}/root.yaml"
ROOT_SPEC_YAML=$(spack python -c "import base64 ; import zlib ; print(str(zlib.decompress(base64.b64decode('${SPACK_ROOT_SPEC}')).decode('utf-8')))")
echo "${ROOT_SPEC_YAML}" > "${TMP_YAML_PATH}"
spack -d buildcache save-yaml --specs "${spec_names_to_save}" --root-spec-yaml "${TMP_YAML_PATH}" --yaml-dir "${SPEC_DIR}"
rm -rf ${tmp_dir}
fi
}
begin_logging
echo "Running job for spec: ${CI_JOB_NAME}"
# This should create the directory we referred to as GNUPGHOME earlier
spack gpg list
# Importing the secret key using gpg2 directly should allow to
# sign and verify both
set +x
KEY_IMPORT_RESULT=`echo ${SPACK_SIGNING_KEY} | base64 --decode | gpg2 --import`
check_error $? "gpg2 --import"
set -x
spack gpg list --trusted
spack gpg list --signing
# To have spack install missing compilers, we need to add a custom
# configuration scope, then we pass that to the package installation
# command
CUSTOM_CONFIG_SCOPE_DIR="${TEMP_DIR}/config_scope"
mkdir -p "${CUSTOM_CONFIG_SCOPE_DIR}"
CUSTOM_CONFIG_SCOPE_ARG=""
if [ "${SPACK_COMPILER_ACTION}" == "INSTALL_MISSING" ]; then
echo "Make sure bootstrapped compiler will be installed"
custom_config_file_path="${CUSTOM_CONFIG_SCOPE_DIR}/config.yaml"
cat <<CONFIG_STUFF > "${custom_config_file_path}"
config:
install_missing_compilers: true
CONFIG_STUFF
CUSTOM_CONFIG_SCOPE_ARG="-C ${CUSTOM_CONFIG_SCOPE_DIR}"
# Configure the binary mirror where, if needed, this jobs compiler
# was installed in binary pacakge form, then tell spack to
# install_missing_compilers.
elif [ "${SPACK_COMPILER_ACTION}" == "FIND_ANY" ]; then
echo "Just find any available compiler"
spack compiler find
else
echo "No compiler action to be taken"
fi
# Finally, list the compilers spack knows about
echo "Compiler Configurations:"
spack config get compilers
# Write full-deps yamls for this job spec and its dependencies
gen_full_specs_for_job_and_deps
# Make the build_cache directory if it doesn't exist
mkdir -p "${BUILD_CACHE_DIR}"
# Get buildcache name so we can write a CDash build id file in the right place.
# If we're unable to get the buildcache name, we may have encountered a problem
# concretizing the spec, or some other issue that will eventually cause the job
# to fail.
JOB_BUILD_CACHE_ENTRY_NAME=`spack -d buildcache get-buildcache-name --spec-yaml "${SPEC_YAML_PATH}"`
if [[ $? -ne 0 ]]; then
echo "ERROR, unable to get buildcache entry name for job ${CI_JOB_NAME}"
exit 1
fi
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
# Whether we have to build the spec or download it pre-built, we expect to find
# the cdash build id file sitting in this location afterwards.
JOB_CDASH_ID_FILE="${BUILD_CACHE_DIR}/${JOB_BUILD_CACHE_ENTRY_NAME}.cdashid"
fi
# Finally, we can check the spec we have been tasked with build against
# the built binary on the remote mirror to see if it needs to be rebuilt
spack -d buildcache check --spec-yaml "${SPEC_YAML_PATH}" --mirror-url "${SPACK_MIRROR_URL}" --rebuild-on-error
if [[ $? -ne 0 ]]; then
# Configure mirror
spack mirror add local_artifact_mirror "file://${LOCAL_MIRROR}"
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
JOB_CDASH_ID="NONE"
# Install package, using the buildcache from the local mirror to
# satisfy dependencies.
BUILD_ID_LINE=`spack -d -k -v "${CUSTOM_CONFIG_SCOPE_ARG}" install --keep-stage --cdash-upload-url "${CDASH_UPLOAD_URL}" --cdash-build "${SPACK_CDASH_BUILD_NAME}" --cdash-site "${SPACK_CDASH_SITE}" --cdash-track "${SPACK_JOB_SPEC_BUILDGROUP}" -f "${SPEC_YAML_PATH}" | grep "buildSummary\\.php"`
check_error $? "spack install"
# By parsing the output of the "spack install" command, we can get the
# buildid generated for us by CDash
JOB_CDASH_ID=$(extract_build_id "${BUILD_ID_LINE}")
# Write the .cdashid file to the buildcache as well
echo "${JOB_CDASH_ID}" >> ${JOB_CDASH_ID_FILE}
else
spack -d -k -v "${CUSTOM_CONFIG_SCOPE_ARG}" install --keep-stage -f "${SPEC_YAML_PATH}"
fi
# Copy some log files into an artifact location, once we have a way
# to provide a spec.yaml file to more spack commands (e.g. "location")
# stage_dir=$(spack location --stage-dir -f "${SPEC_YAML_PATH}")
# build_log_file=$(find -L "${stage_dir}" | grep "spack-build\\.out")
# config_log_file=$(find -L "${stage_dir}" | grep "config\\.log")
# cp "${build_log_file}" "${JOB_LOG_DIR}/"
# cp "${config_log_file}" "${JOB_LOG_DIR}/"
# Create buildcache entry for this package, reading the spec from the yaml
# file.
spack -d buildcache create --spec-yaml "${SPEC_YAML_PATH}" -a -f -d "${LOCAL_MIRROR}" --no-rebuild-index
check_error $? "spack buildcache create"
# TODO: The upload-s3 command should eventually be replaced with something
# like: "spack buildcache put <mirror> <spec>", when that subcommand is
# properly implemented.
if [ ! -z "${SPACK_S3_UPLOAD_MIRROR_URL}" ] ; then
spack -d upload-s3 spec --base-dir "${LOCAL_MIRROR}" --spec-yaml "${SPEC_YAML_PATH}" --endpoint-url "${SPACK_S3_UPLOAD_MIRROR_URL}"
check_error $? "spack upload-s3 spec"
else
spack -d buildcache copy --base-dir "${LOCAL_MIRROR}" --spec-yaml "${SPEC_YAML_PATH}" --destination-url "${SPACK_MIRROR_URL}"
fi
else
echo "spec ${CI_JOB_NAME} is already up to date on remote mirror, downloading it"
# Configure remote mirror so we can download buildcache entry
spack mirror add remote_binary_mirror ${SPACK_MIRROR_URL}
# Now download it
BUILDCACHE_DL_ARGS=("--spec-yaml" "${SPEC_YAML_PATH}" "--path" "${BUILD_CACHE_DIR}/" )
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
BUILDCACHE_DL_ARGS+=( "--require-cdashid" )
fi
spack -d buildcache download "${BUILDCACHE_DL_ARGS[@]}"
check_error $? "spack buildcache download"
fi
# The next step is to relate this job to the jobs it depends on
if [ "${SPACK_ENABLE_CDASH}" == "True" ] ; then
if [ -f "${JOB_CDASH_ID_FILE}" ]; then
JOB_CDASH_BUILD_ID=$(<${JOB_CDASH_ID_FILE})
if [ "${JOB_CDASH_BUILD_ID}" == "NONE" ]; then
echo "ERROR: unable to read this jobs id from ${JOB_CDASH_ID_FILE}"
exit 1
fi
# Now get CDash ids for dependencies and "relate" each dependency build
# with this jobs build
for DEP_PKG_NAME in "${JOB_DEPS_PKG_NAMES[@]}"; do
echo "Getting cdash id for dependency --> ${DEP_PKG_NAME} <--"
DEP_SPEC_YAML_PATH="${SPEC_DIR}/${DEP_PKG_NAME}.yaml"
DEP_JOB_BUILDCACHE_NAME=`spack -d buildcache get-buildcache-name --spec-yaml "${DEP_SPEC_YAML_PATH}"`
if [[ $? -eq 0 ]]; then
DEP_JOB_ID_FILE="${BUILD_CACHE_DIR}/${DEP_JOB_BUILDCACHE_NAME}.cdashid"
echo "DEP_JOB_ID_FILE path = ${DEP_JOB_ID_FILE}"
if [ -f "${DEP_JOB_ID_FILE}" ]; then
DEP_JOB_CDASH_BUILD_ID=$(<${DEP_JOB_ID_FILE})
echo "File ${DEP_JOB_ID_FILE} contained value ${DEP_JOB_CDASH_BUILD_ID}"
echo "Relating builds -> ${SPACK_CDASH_BUILD_NAME} (buildid=${JOB_CDASH_BUILD_ID}) depends on ${DEP_PKG_NAME} (buildid=${DEP_JOB_CDASH_BUILD_ID})"
relateBuildsPostBody="$(get_relate_builds_post_data "${SPACK_CDASH_PROJECT}" ${JOB_CDASH_BUILD_ID} ${DEP_JOB_CDASH_BUILD_ID})"
relateBuildsResult=`curl "${DEP_JOB_RELATEBUILDS_URL}" -H "Content-Type: application/json" -H "Accept: application/json" -d "${relateBuildsPostBody}"`
echo "Result of curl request: ${relateBuildsResult}"
else
echo "ERROR: Did not find expected .cdashid file for dependency: ${DEP_JOB_ID_FILE}"
exit 1
fi
else
echo "ERROR: Unable to get buildcache entry name for ${DEP_SPEC_NAME}"
exit 1
fi
done
else
echo "ERROR: Did not find expected .cdashid file ${JOB_CDASH_ID_FILE}"
exit 1
fi
fi
# Show the size of the buildcache and a list of what's in it, directly
# in the gitlab log output
(
restore_io
du -sh ${BUILD_CACHE_DIR}
find ${BUILD_CACHE_DIR} -maxdepth 3 -type d -ls
)
echo "End of rebuild package script"

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-2019 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.
#

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-2019 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-2019 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

@@ -18,41 +18,60 @@ config:
# You can use $spack here to refer to the root of the spack instance.
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
# 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`.
# 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: 120
# 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,34 @@
# -------------------------------------------------------------------------
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]
szip: [libszip, libaec]
tbb: [intel-tbb]
jpeg: [libjpeg-turbo, libjpeg]
unwind: [libunwind]
permissions:
read: world
write: user

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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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
@@ -269,6 +277,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 +414,17 @@ 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
""""""""""""""""""""""""""""""""
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 +477,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 +488,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 +519,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 +797,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 +869,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
@@ -681,11 +885,12 @@ 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``.
extra section in the compiler configuration (the supported environment
modification commands are: ``set``, ``unset``, ``append-path``, and
``prepend-path``). The user can also specify additional ``RPATHs`` that the
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 +903,140 @@ without the need to set ``LD_LIBRARY_PATH``.
f77: /opt/gcc/bin/gfortran
fc: /opt/gcc/bin/gfortran
environment:
unset:
BAD_VARIABLE: # The colon is required but the value must be empty
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
.. note::
The section `environment` is interpreted as an ordered dictionary, which
means two things. First, environment modification are applied in the order
they are specified in the configuration file. Second, you cannot express
environment modifications that require mixing different commands, i.e. you
cannot `set` one variable, than `prepend-path` to another one, and than
again `set` a third one.
^^^^^^^^^^^^^^^^^^^^^^^
Architecture specifiers
^^^^^^^^^^^^^^^^^^^^^^^
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 +1267,43 @@ 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
There are three ways to get ``numpy`` working in Python. The first is
to use :ref:`shell-support`. You can simply ``load`` the
module for the extension, and it will be added to the ``PYTHONPATH``
in your current shell.
For tcl modules:
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
^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Activating Extensions in a View
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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:
The second 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 +1363,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 +1412,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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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:
@@ -56,11 +62,22 @@ directory. Here's an example of an external configuration:
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
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
@@ -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,90 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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/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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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,279 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. 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-2019 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
# 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
@@ -238,7 +194,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 +205,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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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
@@ -31,19 +36,18 @@ 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.
Secondly, it is
also possible to modify the entire installation scheme. By default
Spack uses
``${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}``
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 +74,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 +82,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 +159,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 +184,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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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,161 @@ 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.
----------------------------
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

@@ -1,3 +1,8 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _contribution-guide:
==================
@@ -34,13 +39,30 @@ 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:
^^^^^^^^^^
Unit Tests
@@ -80,6 +102,13 @@ tests, run:
A more detailed list of available unit tests can be found by running
``spack test --long-list``.
By default, ``pytest`` captures the output of all unit tests. If you add print
statements to a unit test and want to see the output, simply run:
.. code-block:: console
$ spack test -s -k architecture
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.
@@ -87,7 +116,7 @@ adding new unit tests or strengthening existing 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
runs the unit tests. Afterwards, it reports back to Codecov with the
percentage of Spack that is covered by unit tests. This script is
designed for Travis CI. If you want to run the unit tests yourself, we
suggest you use ``spack test``.
@@ -154,20 +183,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 +212,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
^^^^^^^^^^^^^^^^^^^
@@ -190,6 +228,7 @@ installed with Spack:
* sphinx
* sphinxcontrib-programoutput
* sphinx-rtd-theme
* graphviz
* git
* mercurial
@@ -199,18 +238,25 @@ installed with Spack:
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:
dependencies to your ``PYTHONPATH``. 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 to a central location.
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 +271,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 +323,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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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
@@ -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-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _docker_for_developers:
=====================
Docker for Developers
=====================
This guide is intended for people who want to use our prepared docker
environments to work on developing Spack or working on spack packages. It is
meant to serve as the companion documentation for the :ref:`packaging-guide`.
--------
Overview
--------
To get started, all you need is the latest version of ``docker``.
.. code-block:: console
$ cd share/spack/docker
$ source config/ubuntu.bash
$ ./run-image.sh
This command should drop you into an interactive shell where you can run spack
within an isolated docker container running ubuntu. The copy of spack being
used should be tied to the working copy of your cloned git repo, so any changes
you make should be immediately reflected in the running docker container. Feel
free to add or modify any packages or to hack on spack, itself. Your contained
copy of spack should immediately reflect all changes.
To work within a container running a different linux distro, source one of the
other environment files under ``config``.
.. code-block:: console
$ source config/fedora.bash
$ ./run-image.sh

View File

@@ -0,0 +1,823 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _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``
------------------
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 myenv 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: {}

View File

@@ -0,0 +1,128 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. extensions:
=================
Custom Extensions
=================
.. warning::
The support for extending Spack with custom commands is still experimental.
Users should expect APIs or prescribed directory structures to
change at any time.
*Spack extensions* permit you to extend Spack capabilities by deploying your
own custom commands or logic in an arbitrary location on your filesystem.
This might be extremely useful e.g. to develop and maintain a command whose purpose is
too specific to be considered for reintegration into the mainline or to
evolve a command through its early stages before starting a discussion to merge
it upstream.
From Spack's point of view an extension is any path in your filesystem which
respects a prescribed naming and layout for files:
.. code-block:: console
spack-scripting/ # The top level directory must match the format 'spack-{extension_name}'
├── pytest.ini # Optional file if the extension ships its own tests
├── scripting # Folder that may contain modules that are needed for the extension commands
│   └── cmd # Folder containing extension commands
│   └── filter.py # A new command that will be available
├── tests # Tests for this extension
│ ├── conftest.py
│ └── test_filter.py
└── templates # Templates that may be needed by the extension
In the example above the extension named *scripting* adds an additional command (``filter``)
and unit tests to verify its behavior. The code for this example can be
obtained by cloning the corresponding git repository:
.. TODO: write an ad-hoc "hello world" extension and make it part of the spack organization
.. code-block:: console
$ pwd
/home/user
$ mkdir tmp && cd tmp
$ git clone https://github.com/alalazo/spack-scripting.git
Cloning into 'spack-scripting'...
remote: Counting objects: 11, done.
remote: Compressing objects: 100% (7/7), done.
remote: Total 11 (delta 0), reused 11 (delta 0), pack-reused 0
Receiving objects: 100% (11/11), done.
As you can see by inspecting the sources, Python modules that are part of the extension
can import any core Spack module.
---------------------------------
Configure Spack to Use Extensions
---------------------------------
To make your current Spack instance aware of extensions you should add their root
paths to ``config.yaml``. In the case of our example this means ensuring that:
.. code-block:: yaml
config:
extensions:
- /home/user/tmp/spack-scripting
is part of your configuration file. Once this is setup any command that the extension provides
will be available from the command line:
.. code-block:: console
$ spack filter --help
usage: spack filter [-h] [--installed | --not-installed]
[--explicit | --implicit] [--output OUTPUT]
...
filter specs based on their properties
positional arguments:
specs specs to be filtered
optional arguments:
-h, --help show this help message and exit
--installed select installed specs
--not-installed select specs that are not yet installed
--explicit select specs that were installed explicitly
--implicit select specs that are not installed or were installed implicitly
--output OUTPUT where to dump the result
The corresponding unit tests can be run giving the appropriate options to ``spack test``:
.. code-block:: console
$ spack test --extension=scripting
============================================================== test session starts ===============================================================
platform linux2 -- Python 2.7.15rc1, pytest-3.2.5, py-1.4.34, pluggy-0.4.0
rootdir: /home/mculpo/tmp/spack-scripting, inifile: pytest.ini
collected 5 items
tests/test_filter.py ...XX
============================================================ short test summary info =============================================================
XPASS tests/test_filter.py::test_filtering_specs[flags3-specs3-expected3]
XPASS tests/test_filter.py::test_filtering_specs[flags4-specs4-expected4]
=========================================================== slowest 20 test durations ============================================================
3.74s setup tests/test_filter.py::test_filtering_specs[flags0-specs0-expected0]
0.17s call tests/test_filter.py::test_filtering_specs[flags3-specs3-expected3]
0.16s call tests/test_filter.py::test_filtering_specs[flags2-specs2-expected2]
0.15s call tests/test_filter.py::test_filtering_specs[flags1-specs1-expected1]
0.13s call tests/test_filter.py::test_filtering_specs[flags4-specs4-expected4]
0.08s call tests/test_filter.py::test_filtering_specs[flags0-specs0-expected0]
0.04s teardown tests/test_filter.py::test_filtering_specs[flags4-specs4-expected4]
0.00s setup tests/test_filter.py::test_filtering_specs[flags4-specs4-expected4]
0.00s setup tests/test_filter.py::test_filtering_specs[flags3-specs3-expected3]
0.00s setup tests/test_filter.py::test_filtering_specs[flags1-specs1-expected1]
0.00s setup tests/test_filter.py::test_filtering_specs[flags2-specs2-expected2]
0.00s teardown tests/test_filter.py::test_filtering_specs[flags2-specs2-expected2]
0.00s teardown tests/test_filter.py::test_filtering_specs[flags1-specs1-expected1]
0.00s teardown tests/test_filter.py::test_filtering_specs[flags0-specs0-expected0]
0.00s teardown tests/test_filter.py::test_filtering_specs[flags3-specs3-expected3]
====================================================== 3 passed, 2 xpassed in 4.51 seconds =======================================================

View File

@@ -1,3 +1,8 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
================
Feature Overview
================
@@ -55,14 +60,14 @@ Customize dependencies
----------------------
Spack allows *dependencies* of a particular installation to be
customized extensively. Suppose that ``mpileaks`` depends indirectly
on ``libelf`` and ``libdwarf``. Using ``^``, users can add custom
customized extensively. Suppose that ``hdf5`` depends
on ``openmpi`` and indirectly on ``hwloc``. Using ``^``, users can add custom
configurations for the dependencies:
.. code-block:: console
# Install mpileaks and link it with specific versions of libelf and libdwarf
$ spack install mpileaks@1.1.2 %gcc@4.7.3 +debug ^libelf@0.8.12 ^libdwarf@20130729+debug
# Install hdf5 and link it with specific versions of openmpi and hwloc
$ spack install hdf5@1.10.1 %gcc@4.7.3 +debug ^openmpi+cuda fabrics=auto ^hwloc+gl
------------------------
Non-destructive installs
@@ -125,8 +130,8 @@ creates a simple python file:
It doesn't take much python coding to get from there to a working
package:
.. literalinclude:: ../../../var/spack/repos/builtin/packages/libelf/package.py
:lines: 25-
.. literalinclude:: _spack_root/var/spack/repos/builtin/packages/libelf/package.py
:lines: 6-
Spack also provides wrapper functions around common commands like
``configure``, ``make``, and ``cmake`` to make writing packages

View File

@@ -1,3 +1,8 @@
.. Copyright 2013-2019 Lawrence Livermore National Security, LLC and other
Spack Project Developers. See the top-level COPYRIGHT file for details.
SPDX-License-Identifier: (Apache-2.0 OR MIT)
.. _getting_started:
===============
@@ -11,10 +16,11 @@ Prerequisites
Spack has the following minimum requirements, which must be installed
before Spack is run:
1. Python 2 (2.6 or 2.7) or 3 (3.3 - 3.6)
2. A C/C++ compiler
3. The ``git`` and ``curl`` commands.
4. If using the ``gpg`` subcommand, ``gnupg2`` is required.
#. Python 2 (2.6 or 2.7) or 3 (3.5 - 3.8) to run Spack
#. A C/C++ compiler for building
#. The ``make`` executable for building
#. The ``git`` and ``curl`` commands for fetching
#. If using the ``gpg`` subcommand, ``gnupg2`` is required
These requirements can be easily installed on most modern Linux systems;
on Macintosh, XCode is required. Spack is designed to run on HPC
@@ -65,7 +71,7 @@ This automatically adds Spack to your ``PATH`` and allows the ``spack``
command to be used to execute spack :ref:`commands <shell-support>` and
:ref:`useful packaging commands <packaging-shell-support>`.
If :ref:`environment-modules or dotkit <InstallEnvironmentModules>` is
If :ref:`environment-modules <InstallEnvironmentModules>` is
installed and available, the ``spack`` command can also load and unload
:ref:`modules <modules>`.
@@ -163,7 +169,7 @@ compilers`` or ``spack compiler list``:
Any of these compilers can be used to build Spack packages. More on
how this is done is in :ref:`sec-specs`.
.. _spack-compiler-add:
.. _cmd-spack-compiler-add:
^^^^^^^^^^^^^^^^^^^^^^
``spack compiler add``
@@ -171,7 +177,7 @@ how this is done is in :ref:`sec-specs`.
An alias for ``spack compiler find``.
.. _spack-compiler-find:
.. _cmd-spack-compiler-find:
^^^^^^^^^^^^^^^^^^^^^^^
``spack compiler find``
@@ -184,7 +190,7 @@ where the compiler is installed. For example:
.. code-block:: console
$ spack compiler find /usr/local/tools/ic-13.0.079
==> Added 1 new compiler to ~/.spack/compilers.yaml
==> Added 1 new compiler to ~/.spack/linux/compilers.yaml
intel@13.0.079
Or you can run ``spack compiler find`` with no arguments to force
@@ -196,13 +202,20 @@ installed, but you know that new compilers have been added to your
$ module load gcc-4.9.0
$ spack compiler find
==> Added 1 new compiler to ~/.spack/compilers.yaml
==> Added 1 new compiler to ~/.spack/linux/compilers.yaml
gcc@4.9.0
This loads the environment module for gcc-4.9.0 to add it to
``PATH``, and then it adds the compiler to Spack.
.. _spack-compiler-info:
.. note::
By default, spack does not fill in the ``modules:`` field in the
``compilers.yaml`` file. If you are using a compiler from a
module, then you should add this field manually.
See the section on :ref:`compilers-requiring-modules`.
.. _cmd-spack-compiler-info:
^^^^^^^^^^^^^^^^^^^^^^^
``spack compiler info``
@@ -234,7 +247,7 @@ Manual compiler configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
If auto-detection fails, you can manually configure a compiler by
editing your ``~/.spack/compilers.yaml`` file. You can do this by running
editing your ``~/.spack/<platform>/compilers.yaml`` file. You can do this by running
``spack config edit compilers``, which will open the file in your ``$EDITOR``.
Each compiler configuration in the file looks like this:
@@ -250,7 +263,7 @@ Each compiler configuration in the file looks like this:
cxx: /usr/local/bin/icpc-15.0.024-beta
f77: /usr/local/bin/ifort-15.0.024-beta
fc: /usr/local/bin/ifort-15.0.024-beta
spec: intel@15.0.0:
spec: intel@15.0.0
For compilers that do not support Fortran (like ``clang``), put
``None`` for ``f77`` and ``fc``:
@@ -320,6 +333,7 @@ by adding the following to your ``packages.yaml`` file:
all:
compiler: [gcc@4.9.3]
.. _compilers-requiring-modules:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Compilers Requiring Modules
@@ -455,18 +469,21 @@ Fortran.
install GCC with Spack (``spack install gcc``) or with Homebrew
(``brew install gcc``).
#. The only thing left to do is to edit ``~/.spack/compilers.yaml`` to provide
#. The only thing left to do is to edit ``~/.spack/darwin/compilers.yaml`` to provide
the path to ``gfortran``:
.. code-block:: yaml
compilers:
darwin-x86_64:
clang@7.3.0-apple:
cc: /usr/bin/clang
cxx: /usr/bin/clang++
f77: /path/to/bin/gfortran
fc: /path/to/bin/gfortran
- compiler:
...
paths:
cc: /usr/bin/clang
cxx: /usr/bin/clang++
f77: /path/to/bin/gfortran
fc: /path/to/bin/gfortran
spec: clang@11.0.0-apple
If you used Spack to install GCC, you can get the installation prefix by
``spack location -i gcc`` (this will only work if you have a single version
@@ -484,6 +501,9 @@ simple package. For example:
$ spack install zlib%gcc@5.3.0
.. _vendor-specific-compiler-configuration:
--------------------------------------
Vendor-Specific Compiler Configuration
--------------------------------------
@@ -574,11 +594,12 @@ flags to the ``icc`` command:
operating_system: centos7
paths:
cc: /opt/intel-15.0.24/bin/icc-15.0.24-beta
cflags: -gcc-name ~/spack/opt/spack/linux-centos7-x86_64/gcc-4.9.3-iy4rw.../bin/gcc
cxx: /opt/intel-15.0.24/bin/icpc-15.0.24-beta
cxxflags: -gxx-name ~/spack/opt/spack/linux-centos7-x86_64/gcc-4.9.3-iy4rw.../bin/g++
f77: /opt/intel-15.0.24/bin/ifort-15.0.24-beta
fc: /opt/intel-15.0.24/bin/ifort-15.0.24-beta
flags:
cflags: -gcc-name ~/spack/opt/spack/linux-centos7-x86_64/gcc-4.9.3-iy4rw.../bin/gcc
cxxflags: -gxx-name ~/spack/opt/spack/linux-centos7-x86_64/gcc-4.9.3-iy4rw.../bin/g++
fflags: -gcc-name ~/spack/opt/spack/linux-centos7-x86_64/gcc-4.9.3-iy4rw.../bin/gcc
spec: intel@15.0.24.4.9.3
@@ -805,7 +826,7 @@ encountered on a Macintosh during ``spack install julia-master``:
.. code-block:: console
==> Trying to clone git repository:
==> Cloning git repository:
https://github.com/JuliaLang/julia.git
on branch master
Cloning into 'julia'...
@@ -816,7 +837,7 @@ This problem is related to OpenSSL, and in some cases might be solved
by installing a new version of ``git`` and ``openssl``:
#. Run ``spack install git``
#. Add the output of ``spack module loads git`` to your ``.bashrc``.
#. Add the output of ``spack module tcl loads git`` to your ``.bashrc``.
If this doesn't work, it is also possible to disable checking of SSL
certificates by using:
@@ -861,7 +882,7 @@ or alternately:
.. code-block:: console
$ spack module loads curl >>~/.bashrc
$ spack module tcl loads curl >>~/.bashrc
or if environment modules don't work:
@@ -926,75 +947,38 @@ Once ``curl`` has been installed, you can similarly install the others.
Environment Modules
"""""""""""""""""""
In order to use Spack's generated environment modules, you must have
installed one of *Environment Modules* or *Lmod*. On many Linux
distributions, this can be installed from the vendor's repository. For
example: ``yum install environment-modules`` (Fedora/RHEL/CentOS). If
your Linux distribution does not have Environment Modules, Spack can
build it for you!
In order to use Spack's generated module files, you must have
installed ``environment-modules`` or ``lmod``. The simplest way
to get the latest version of either of these tools is installing
it as part of Spack's bootstrap procedure:
What follows are three steps describing how to install and use environment-modules with spack.
.. code-block:: console
#. Install ``environment-modules``.
$ spack bootstrap
* ``spack bootstrap`` will build ``environment-modules`` for you (and may build
other packages that are useful to the operation of Spack)
.. warning::
At the moment ``spack bootstrap`` is only able to install ``environment-modules``.
Extending its capabilities to prefer ``lmod`` where possible is in the roadmap,
and likely to happen before the next release.
* Install ``environment-modules`` using ``spack install`` with
``spack install environment-modules~X`` (The ``~X`` variant builds without Xorg
dependencies, but ``environment-modules`` works fine too.)
Alternatively, on many Linux distributions, you can install a pre-built binary
from the vendor's repository. On Fedora/RHEL/CentOS, for example, this can be
done with the command:
#. Add ``modulecmd`` to ``PATH`` and create a ``module`` command.
.. code-block:: console
* If you are using ``bash`` or ``ksh``, Spack can currently do this for you as well.
After installing ``environment-modules`` following the step
above, source Spack's shell integration script. This will automatically
detect the lack of ``modulecmd`` and ``module``, and use the installed
``environment-modules`` from ``spack bootstrap`` or ``spack install``.
.. code-block:: console
$ yum install environment-modules
# For bash/zsh users
$ export SPACK_ROOT=/path/to/spack
$ . $SPACK_ROOT/share/spack/setup-env.sh
Once you have the tool installed and available in your path, you can source
Spack's setup file:
.. code-block:: console
* If you prefer to do it manually, you can activate with the following
script (or apply the updates to your ``.bashrc`` file manually):
$ source share/spack/setup-env.sh
.. code-block:: sh
This activates :ref:`shell support <shell-support>` and makes commands like
``spack load`` available for use.
TMP=`tempfile`
echo >$TMP
MODULE_HOME=`spack location --install-dir environment-modules`
MODULE_VERSION=`ls -1 $MODULE_HOME/Modules | head -1`
${MODULE_HOME}/Modules/${MODULE_VERSION}/bin/add.modules <$TMP
cp .bashrc $TMP
echo "MODULE_VERSION=${MODULE_VERSION}" > .bashrc
cat $TMP >>.bashrc
This is added to your ``.bashrc`` (or similar) files, enabling Environment
Modules when you log in.
#. Test that the ``module`` command is found with:
.. code-block:: console
$ module avail
If ``tcl`` 8.0 or later is installed on your system, you can prevent
spack from rebuilding ``tcl`` as part of the ``environment-modules`` dependency
stack by adding the following to your ``~/.spack/packages.yaml`` replacing
version 8.5 with whatever version is installed on your system:
.. code-block:: yaml
packages:
tcl:
paths:
tcl@8.5: /usr
buildable: False
^^^^^^^^^^^^^^^^^
Package Utilities
@@ -1096,6 +1080,37 @@ they may use packages you have signed using the ``--export <keyfile>`` flag.
Secret keys may also be later exported using the
``spack gpg export <location> [<key>...]`` command.
.. note::
Key creation speed
The creation of a new GPG key requires generating a lot of random numbers.
Depending on the entropy produced on your system, the entire process may
take a long time (*even appearing to hang*). Virtual machines and cloud
instances are particularly likely to display this behavior.
To speed it up you may install tools like ``rngd``, which is
usually available as a package in the host OS. On e.g. an
Ubuntu machine you need to give the following commands:
.. code-block:: console
$ sudo apt-get install rng-tools
$ sudo rngd -r /dev/urandom
before generating the keys.
Another alternative is ``haveged``, which can be installed on
RHEL/CentOS machines as follows:
.. code-block:: console
$ sudo yum install haveged
$ sudo chkconfig haveged on
`This Digital Ocean tutorial
<https://www.digitalocean.com/community/tutorials/how-to-setup-additional-entropy-for-cloud-servers-using-haveged>`_
provides a good overview of sources of randomness.
^^^^^^^^^^^^
Listing keys
^^^^^^^^^^^^
@@ -1226,6 +1241,13 @@ cray-mpich module into the environment. You can then be able to use whatever
environment variables, libraries, etc, that are brought into the environment
via module load.
.. note::
For Cray-provided packages, it is best to use ``modules:`` instead of ``paths:``
in ``packages.yaml``, because the Cray Programming Environment heavily relies on
modules (e.g., loading the ``cray-mpich`` module adds MPI libraries to the
compiler wrapper link line).
You can set the default compiler that Spack can use for each compiler type.
If you want to use the Cray defaults, then set them under ``all:`` in packages.yaml.
In the compiler field, set the compiler specs in your order of preference.
@@ -1262,3 +1284,17 @@ for each compiler type for each cray modules. This ensures that for each
compiler on our system we can use that external module.
For more on external packages check out the section :ref:`sec-external-packages`.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Using Linux containers on Cray machines
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Spack uses environment variables particular to the Cray programming
environment to determine which systems are Cray platforms. These
environment variables may be propagated into containers that are not
using the Cray programming environment.
To ensure that Spack does not autodetect the Cray programming
environment, unset the environment variable ``CRAYPE_VERSION``. This
will cause Spack to treat a linux container on a Cray system as a base
linux distro.

Some files were not shown because too many files have changed in this diff Show More