Compare commits

...

2500 Commits

Author SHA1 Message Date
Todd Gamblin
42962f2409 Merge branch 'releases/v0.12' 2018-11-13 11:05:17 -06:00
Gregory Becker
8554e933d2 Make Spack relocate text files in build caches with relative binaries 2018-11-13 11:04:47 -06:00
Ubuntu
03a53dca5f Revert "Binary caching: remove symlinks, copy files instead (#9747)"
This reverts commit 058cf81312.
2018-11-13 11:04:47 -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
Todd Gamblin
041aa143db Merge branch 'releases/v0.11.2' 2018-02-07 12:46:55 -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
becker33
e905f8cf83 Add NameError to exceptions caught from configure_args in module generation (#7173) 2018-02-02 13:35:51 -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
41e6eb130c Fix gfortran 7 detection (#7017) 2018-01-28 16:31:34 -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
Massimiliano Culpo
6fcbc26f88 travis: removed /usr/local/include/c++ before installing gcc on OSX (#6515) (#7027)
"brew install gcc" fails for travis build because of an existing
/usr/local/include/c++. This commit removes the offending file
as suggested by brew.
2018-01-28 10:48:10 -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
3856 changed files with 100288 additions and 89081 deletions

6
.dockerignore Normal file
View File

@@ -0,0 +1,6 @@
.git
opt/spack
share/spack/docker/Dockerfile
share/spack/docker/build-image.sh
share/spack/docker/run-image.sh
share/spack/docker/push-image.sh

View File

@@ -16,6 +16,9 @@
# These are required to get the package.py files to test clean:
# - F999: syntax error in doctest
#
# Exempt to allow decorator classes to be lowercase, but follow otherwise:
# - N801: CapWords for class names.
#
[flake8]
ignore = E129,E221,E241,E272,E731,F999
ignore = E129,E221,E241,E272,E731,F999,N801,W503,W504
max-line-length = 79

View File

@@ -18,5 +18,5 @@
# - F821: undefined name `name` (needed for cmake, configure, etc.)
#
[flake8]
ignore = E129,E221,E241,E272,E731,F999,F405,F821
ignore = E129,E221,E241,E272,E731,F999,F405,F821,W503,W504
max-line-length = 79

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.)
---
*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 -sd flags:
```console
$ spack -sd <command1> <spec>
$ spack -sd <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
---
*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,27 @@
---
name: Feature request
about: Suggest adding a feature that is not yet in Spack
---
*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!

5
.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
@@ -21,5 +22,7 @@
.coverage
#*
.#*
/.cache
lib/spack/spack/test/.cache
/bin/spackc
*.in.log
*.out.log

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>

View File

@@ -11,11 +11,19 @@ branches:
#=============================================================================
# Build matrix
#=============================================================================
# Adding the keyword dist to permit an `allow_failures` section
# under `matrix.include`. More information here:
#
# https://docs.travis-ci.com/user/customizing-the-build/#Rows-that-are-Allowed-to-Fail
dist: trusty
jobs:
fast_finish: true
include:
- stage: 'flake8 + documentation'
- stage: 'style checks'
python: '2.7'
sudo: required
os: linux
language: python
env: TEST_SUITE=flake8
@@ -26,74 +34,103 @@ jobs:
env: TEST_SUITE=doc
- stage: 'unit tests'
python: '2.6'
sudo: required
os: linux
language: python
env: TEST_SUITE=unit
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=unit, COVERAGE=true ]
- python: '3.3'
sudo: required
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.4'
sudo: required
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.5'
sudo: required
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.6'
sudo: required
os: linux
language: python
env: [ TEST_SUITE=unit, COVERAGE=true ]
- stage: 'unit tests - osx'
os: osx
env: TEST_SUITE=unit
- python: '3.7'
sudo: required
os: linux
dist: xenial
language: python
env: TEST_SUITE=unit
- python: '3.6'
sudo: required
os: linux
language: python
env: TEST_SUITE=doc
- os: osx
language: generic
env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7, COVERAGE=true ]
env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7 ]
# 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'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=astyle' ]
env: [ TEST_SUITE=build, 'SPEC=astyle' ]
# tut (WafPackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=tut' ]
env: [ TEST_SUITE=build, 'SPEC=tut' ]
# py-setuptools (PythonPackage)
- python: '2.7'
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'
# 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'
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'
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'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=mpich' ]
env: [ TEST_SUITE=build, 'SPEC=mpich' ]
- stage: 'docker build'
sudo: required
os: linux
language: generic
env: TEST_SUITE=docker
allow_failures:
- dist: xenial
- env: TEST_SUITE=docker
# temporary Python 2.6 exception while we figure out why Travis is hanging
- python: '2.6'
stages:
- 'style checks'
- 'unit tests + documentation'
- 'build tests'
- name: 'docker build'
if: type = push AND branch IN (develop, master)
stages:
- 'flake8 + documentation'
@@ -118,22 +155,32 @@ addons:
- graphviz
- gnupg2
- cmake
- ninja-build
- r-base
- r-base-core
- r-base-dev
- perl
- perl-base
cache: pip
cache:
pip: true
directories:
- ~/.mirror
# 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
brew update;
export HOMEBREW_NO_AUTO_UPDATE=1;
rm /usr/local/include/c++ ;
brew ls --versions python@2 > /dev/null || brew install python@2;
brew ls --versions gcc > /dev/null || brew install gcc;
brew ls --versions gnupg2 > /dev/null || brew install gnupg2;
pip2 install --upgrade pip;
pip2 install virtualenv;
virtualenv venv;
source venv/bin/activate;
fi
# Install various dependencies
install:
@@ -142,7 +189,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.
@@ -152,15 +202,41 @@ before_script:
# Need this to be able to compute the list of changed files
- git fetch origin develop:develop
# Set up external dependencies for build tests, because the take too long to compile
- if [[ "$TEST_SUITE" == "build" ]]; then cp share/spack/qa/configuration/packages.yaml etc/spack/packages.yaml; fi
# 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/packages.yaml etc/spack/packages.yaml;
fi
#=============================================================================
# Building
#=============================================================================
services:
- docker
script:
- share/spack/qa/run-$TEST_SUITE-tests
- if [[ "$COVERAGE" == "true" ]]; then codecov --env PYTHON_VERSION --required --flags "${TEST_SUITE}${TRAVIS_OS_NAME}"; fi
- if [[ "$TEST_SUITE" == "docker build" ]]; then
login_attempted=0; login_success=0;
for config in share/spack/docker/config/* ; do
source "$config" ;
./share/spack/docker/build-image.sh;
if [ "$TRAVIS_EVENT_TYPE" != "pull_request" ]; then
if [ "$login_attempted" '=' '0' ]; then
if echo "$DOCKER_PASSWORD" | docker login -u "$DOCKER_USERNAME" --password-stdin; then
login_success=1;
fi;
login_attempted=1;
fi;
if [ "$login_success" '=' '1' ]; then
./share/spack/docker/push-image.sh;
fi
fi
done;
fi
- if [[ "$TEST_SUITE" == "unit" || "$TEST_SUITE" == "build" ]]; then
codecov --env PYTHON_VERSION
--required --flags "${TEST_SUITE}${TRAVIS_OS_NAME}";
fi
#=============================================================================
# Notifications

View File

@@ -1,5 +1,8 @@
# Contributing to Spack
Before contributing to Spack you should read the
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.

85
COPYRIGHT Normal file
View File

@@ -0,0 +1,85 @@
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

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

@@ -67,6 +67,12 @@ Spack has a Slack channel where you can chat about all things Spack:
[Sign up here](https://spackpm.herokuapp.com) to get an invitation mailed
to you.
### Twitter
You can follow [@spackpm](https://twitter.com/spackpm) on Twitter for
updates. Also, feel free to `@mention` us in in questions or comments
about your own experience with Spack.
### Contributions
Contributing to Spack is relatively easy. Just send us a
@@ -101,11 +107,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.
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.
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``
![Analytics](https://ga-beacon.appspot.com/UA-101208306-3/welcome-page?pixel)

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-2018 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,10 @@
#!/usr/bin/env python
##############################################################################
# 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-2018 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)
from __future__ import print_function
import os
@@ -43,38 +25,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 tough 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-2018 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,9 +18,15 @@ 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:
@@ -39,20 +45,20 @@ config:
# builds directly inside its install directory without staging them in
# temporary space.
#
# The build stage can be purged with `spack purge --stage`.
# The build stage can be purged with `spack clean --stage`.
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $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
@@ -71,7 +77,43 @@ config:
dirty: false
# 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 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
# 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

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

@@ -28,10 +28,8 @@ modules:
- ACLOCAL_PATH
lib:
- LIBRARY_PATH
- LD_LIBRARY_PATH
lib64:
- LIBRARY_PATH
- LD_LIBRARY_PATH
include:
- CPATH
lib/pkgconfig:

View File

@@ -17,13 +17,18 @@ packages:
all:
compiler: [gcc, intel, pgi, clang, xl, nag]
providers:
D: [ldc]
awk: [gawk]
blas: [openblas]
daal: [intel-daal]
elf: [elfutils]
fftw-api: [fftw]
gl: [mesa, opengl]
glu: [mesa-glu, openglu]
golang: [gcc]
ipp: [intel-ipp]
java: [jdk]
jpeg: [libjpeg-turbo, libjpeg]
lapack: [openblas]
mkl: [intel-mkl]
mpe: [mpe2]
@@ -31,7 +36,11 @@ packages:
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,4 +1,4 @@
package_list.rst
package_list.html
command_index.rst
spack*.rst
llnl*.rst

View File

@@ -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."

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-2018 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:
===========
@@ -596,6 +601,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
^^^^^^^^
@@ -681,11 +689,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,12 +707,29 @@ 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
^^^^^^^^^^^^^^^^^^^^^^^
@@ -950,11 +976,11 @@ 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
There are three ways to get ``numpy`` working in Python. The first is
to use :ref:`shell-support`. You can simply ``use`` or ``load`` the
module for the extension, and it will be added to the ``PYTHONPATH``
in your current shell.
@@ -976,15 +1002,26 @@ or, for dotkit:
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 +1081,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 +1130,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-2018 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-2018 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,12 @@ 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. ``packages.yaml`` can also be used to specify modules
to load instead of the installation prefixes.
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 +84,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 +122,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
@@ -133,17 +140,17 @@ Here's an example packages.yaml file that sets preferred packages:
all:
compiler: [gcc@4.4.7, gcc@4.6:, intel, clang, pgi]
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``,
@@ -164,5 +171,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,89 @@
.. Copyright 2013-2018 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
.. 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-2018 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-2018 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-2018 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-2018 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-2018 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,90 @@
.. Copyright 2013-2018 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.
^^^^^^^^^^^^^^^^^^^^^^^^^
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')
^^^^^^^^^^^^^^^^^^^^^^^^^^
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-2018 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-2018 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-2018 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-2018 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,346 @@
.. Copyright 2013-2018 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/web/packages/caret/index.html.
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://CRAN.R-project.org/package=caret as the homepage instead of
https://cran.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://cran.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://cran.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 (≥ 2.10)".
You should add this to your package like so:
.. code-block:: python
depends_on('r@2.10:', 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 them. 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.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
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 so it would not make sense that
they could be updated via CRAN. If so, 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://CRAN.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

View File

@@ -0,0 +1,16 @@
.. Copyright 2013-2018 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-2018 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,129 @@
.. Copyright 2013-2018 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/

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-2018 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
@@ -42,7 +23,13 @@
import shutil
import subprocess
from glob import glob
from sphinx.apidoc import main as sphinx_apidoc
# Since Sphinx 1.7, sphinx.apidoc has been moved to sphinx.ext.apidoc
# sphinx.apidoc is deprecated and will be removed in Sphinx 2.0
try:
from sphinx.ext.apidoc import main as sphinx_apidoc
except ImportError:
from sphinx.apidoc import main as sphinx_apidoc
# -- Spack customizations -----------------------------------------------------
@@ -68,26 +55,32 @@
#
# Generate package list using spack command
#
with open('package_list.rst', 'w') as plist_file:
with open('package_list.html', 'w') as plist_file:
subprocess.Popen(
[spack_root + '/bin/spack', 'list', '--format=rst'], stdout=plist_file)
[spack_root + '/bin/spack', 'list', '--format=html'],
stdout=plist_file)
#
# Find all the `cmd-spack-*` references and add them to a command index
#
command_names = []
import spack
import spack.cmd
command_names = spack.cmd.all_commands()
documented_commands = set()
for filename in glob('*rst'):
with open(filename) as f:
for line in f:
match = re.match('.. _(cmd-spack-.*):', line)
match = re.match('.. _cmd-(spack-.*):', line)
if match:
command_names.append(match.group(1).strip())
documented_commands.add(match.group(1).strip())
os.environ['COLUMNS'] = '120'
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)
subprocess.Popen(
[spack_root + '/bin/spack', 'commands', '--format=rst'] + list(
documented_commands),
stdout=index)
#
# Run sphinx-apidoc
@@ -105,28 +98,6 @@
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)
# Enable todo items
todo_include_todos = True
@@ -180,16 +151,16 @@ def setup(sphinx):
# General information about the project.
project = u'Spack'
copyright = u'2013-2017, Lawrence Livermore National Laboratory.'
copyright = u'2013-2018, 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))
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.
@@ -238,7 +209,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".

View File

@@ -1,8 +1,13 @@
.. Copyright 2013-2018 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
@@ -79,8 +84,8 @@ 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
systems the home directory is a (slow) network file system. On most systems,
building in a temporary file system 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.
@@ -150,6 +155,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``
--------------------
@@ -180,3 +196,22 @@ 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).

View File

@@ -1,8 +1,13 @@
.. Copyright 2013-2018 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
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
**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
$ _
.. _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
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
- ~/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
- ~/mystage
- $tempdir
- /nfs/tmp2/$user
$ _
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
- ~/mystage
The merged configuration would look like this:
.. code-block:: console
@@ -256,57 +369,163 @@ 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
- ~/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}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}
module_roots:
tcl: $spack/share/spack/modules
lmod: $spack/share/spack/lmod
dotkit: $spack/share/spack/dotkit
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $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}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${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:35 dotkit: $spack/share/spack/dotkit
/home/myuser/spack/etc/spack/defaults/config.yaml:49 build_stage:
/home/myuser/spack/etc/spack/defaults/config.yaml:50 - $tempdir
/home/myuser/spack/etc/spack/defaults/config.yaml:51 - /nfs/tmp2/$user
/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-2018 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-2018 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

View File

@@ -0,0 +1,41 @@
.. Copyright 2013-2018 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

@@ -1,3 +1,8 @@
.. Copyright 2013-2018 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
================
@@ -126,7 +131,7 @@ 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-
: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-2018 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,7 +16,7 @@ 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)
1. Python 2 (2.6 or 2.7) or 3 (3.4 - 3.7)
2. A C/C++ compiler
3. The ``git`` and ``curl`` commands.
4. If using the ``gpg`` subcommand, ``gnupg2`` is required.
@@ -163,7 +168,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 +176,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``
@@ -202,7 +207,14 @@ installed, but you know that new compilers have been added to your
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``
@@ -320,6 +332,7 @@ by adding the following to your ``packages.yaml`` file:
all:
compiler: [gcc@4.9.3]
.. _compilers-requiring-modules:
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Compilers Requiring Modules
@@ -484,6 +497,9 @@ simple package. For example:
$ spack install zlib%gcc@5.3.0
.. _vendor-specific-compiler-configuration:
--------------------------------------
Vendor-Specific Compiler Configuration
--------------------------------------
@@ -805,7 +821,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 +832,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 +877,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 +942,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 +1075,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 +1236,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 +1279,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.

View File

@@ -1,3 +1,8 @@
.. Copyright 2013-2018 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)
.. Spack documentation master file, created by
sphinx-quickstart on Mon Dec 9 15:32:41 2013.
You can adapt this file completely to your liking, but it should at least
@@ -73,7 +78,9 @@ or refer to the full manual below.
contribution_guide
packaging_guide
build_systems
developer_guide
docker_for_developers
Spack API Docs <spack>
LLNL API Docs <llnl>

View File

@@ -1,3 +1,8 @@
.. Copyright 2013-2018 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)
============
Known Issues
============
@@ -5,38 +10,6 @@ Known Issues
This is a list of known bugs in Spack. It provides ways of getting around these
problems if you encounter them.
-----------------------------------------------------------------
Default variants are not taken into account during concretization
-----------------------------------------------------------------
**Status:** Expected to be fixed in the next release
Current concretization algorithm does not take into account default values
of variants when adding extra constraints to the spec via CLI. For example
you may encounter the following error when trying to specify which MPI provider
to use:
.. code-block:: console
$ spack install hdf5 ^openmpi
==> Error: hdf5 does not depend on openmpi
although the hdf5 package contains:
.. code-block:: python
variant('mpi', default=True, description='Enable MPI support')
depends_on('mpi', when='+mpi')
A workaround is to explicitly activate the variant related to the dependency:
.. code-block:: console
$ spack install hdf5+mpi ^openmpi
See https://github.com/spack/spack/issues/397 for further details.
---------------------------------------------------
Variants are not properly forwarded to dependencies
---------------------------------------------------
@@ -77,26 +50,6 @@ See https://github.com/spack/spack/issues/267 and
https://github.com/spack/spack/issues/2546 for further details.
---------------------------------
``spack extensions`` doesn't work
---------------------------------
**Status:** Up for grabs if you want to try to fix it
Spack provides an ``extensions`` command that lists all available extensions
of a package, the ones that are installed, and the ones that are already
activated. This is very useful in conjunction with ``spack activate``.
Unfortunately, this command no longer works:
.. code-block:: console
$ spack extensions python
==> python@2.7.13%clang@8.0.0-apple~tk~ucs4 arch=darwin-sierra-x86_64 -ckrr4mg has no extensions.
See https://github.com/spack/spack/issues/2895 for further details.
----------------------------
``spack setup`` doesn't work
----------------------------

View File

@@ -1,3 +1,8 @@
.. Copyright 2013-2018 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)
.. _mirrors:
=======
@@ -69,7 +74,7 @@ packages from the internet and checksumming them.
The other three commands are for managing mirror configuration. They
control the URL(s) from which Spack downloads its packages.
.. _spack-mirror-create:
.. _cmd-spack-mirror-create:
-----------------------
``spack mirror create``
@@ -154,7 +159,7 @@ can supply a file with specs in it, one per line:
This is useful if there is a specific suite of software managed by
your site.
.. _spack-mirror-add:
.. _cmd-spack-mirror-add:
--------------------
``spack mirror add``
@@ -166,7 +171,7 @@ a directory, you can use a file URL like this one:
.. code-block:: none
file://~/spack-mirror-2014-06-24
file://$HOME/spack-mirror-2014-06-24
That points to the directory on the local filesystem. If it were on a
web server, you could use a URL like this one:
@@ -178,11 +183,11 @@ You can tell your Spack installation to use that mirror like this:
.. code-block:: console
$ spack mirror add local_filesystem file://~/spack-mirror-2014-06-24
$ spack mirror add local_filesystem file://$HOME/spack-mirror-2014-06-24
Each mirror has a name so that you can refer to it again later.
.. _spack-mirror-list:
.. _cmd-spack-mirror-list:
---------------------
``spack mirror list``
@@ -193,9 +198,9 @@ To see all the mirrors Spack knows about, run ``spack mirror list``:
.. code-block:: console
$ spack mirror list
local_filesystem file://~/spack-mirror-2014-06-24
local_filesystem file:///home/username/spack-mirror-2014-06-24
.. _spack-mirror-remove:
.. _cmd-spack-mirror-remove:
-----------------------
``spack mirror remove``
@@ -218,7 +223,7 @@ Adding a mirror really adds a line in ``~/.spack/mirrors.yaml``:
.. code-block:: yaml
mirrors:
local_filesystem: file://~/spack-mirror-2014-06-24
local_filesystem: file:///home/username/spack-mirror-2014-06-24
remote_server: https://example.com/some/web-hosted/directory/spack-mirror-2014-06-24
If you want to change the order in which mirrors are searched for

View File

@@ -1,3 +1,8 @@
.. Copyright 2013-2018 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)
.. _modules:
=======
@@ -113,8 +118,10 @@ Modules Dotkit
========================= ==========================
And you can use the same shortened names you use everywhere else in
Spack. For example, this will add the ``mpich`` package built with
``gcc`` to your path:
Spack.
For example, if you are using dotkit, this will add the ``mpich``
package built with ``gcc`` to your path:
.. code-block:: console
@@ -122,16 +129,16 @@ Spack. For example, this will add the ``mpich`` package built with
# ... wait for install ...
$ spack use mpich %gcc@4.4.7
$ spack use mpich %gcc@4.4.7 # dotkit
Prepending: mpich@3.0.4%gcc@4.4.7 (ok)
$ which mpicc
~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/mpich@3.0.4/bin/mpicc
Or, similarly with modules, you could type:
Or, similarly if you are using modules, you could type:
.. code-block:: console
$ spack load mpich %gcc@4.4.7
$ spack load mpich %gcc@4.4.7 # modules
These commands will add appropriate directories to your ``PATH``,
``MANPATH``, ``CPATH``, and ``LD_LIBRARY_PATH``. When you no longer
@@ -178,9 +185,9 @@ To identify just the one built with the Intel compiler.
.. _cmd-spack-module-loads:
^^^^^^^^^^^^^^^^^^^^^^
``spack module loads``
^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^
``spack module tcl loads``
^^^^^^^^^^^^^^^^^^^^^^^^^^
In some cases, it is desirable to load not just a module, but also all
the modules it depends on. This is not required for most modules
@@ -193,21 +200,13 @@ Scripts to load modules recursively may be made with the command:
.. code-block:: console
$ spack module loads --dependencies <spec>
$ spack module tcl loads --dependencies <spec>
An equivalent alternative using `process substitution <http://tldp.org/LDP/abs/html/process-sub.html>`_ is:
.. code-block :: console
$ source <( spack module loads --dependencies <spec> )
.. warning::
The ``spack load`` command does not currently accept the
``--dependencies`` flag. Use ``spack module loads`` instead, for
now.
.. See #1662
$ source <( spack module tcl loads --dependencies <spec> )
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -217,12 +216,12 @@ Module Commands for Shell Scripts
Although Spack is flexible, the ``module`` command is much faster.
This could become an issue when emitting a series of ``spack load``
commands inside a shell script. By adding the ``--shell`` flag,
``spack module find`` may also be used to generate code that can be
``spack module tcl find`` may also be used to generate code that can be
cut-and-pasted into a shell script. For example:
.. code-block:: console
$ spack module loads --dependencies py-numpy git
$ spack module tcl loads --dependencies py-numpy git
# bzip2@1.0.6%gcc@4.9.3=linux-x86_64
module load bzip2-1.0.6-gcc-4.9.3-ktnrhkrmbbtlvnagfatrarzjojmkvzsx
# ncurses@6.0%gcc@4.9.3=linux-x86_64
@@ -262,9 +261,9 @@ Module Prefixes
^^^^^^^^^^^^^^^
On some systems, modules are automatically prefixed with a certain
string; ``spack module loads`` needs to know about that prefix when it
string; ``spack module tcl loads`` needs to know about that prefix when it
issues ``module load`` commands. Add the ``--prefix`` option to your
``spack module loads`` commands if this is necessary.
``spack module tcl loads`` commands if this is necessary.
For example, consider the following on one system:
@@ -273,11 +272,11 @@ For example, consider the following on one system:
$ module avail
linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module loads antlr # WRONG!
$ spack module tcl loads antlr # WRONG!
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module loads --prefix linux-SuSE11-x86_64/ antlr
$ spack module tcl loads --prefix linux-SuSE11-x86_64/ antlr
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y
@@ -290,15 +289,15 @@ installation of a package. The table below summarizes the essential
information associated with the different file formats
that can be generated by Spack:
+-----------------------------+--------------------+-------------------------------+----------------------------------+----------------------+
| | **Hook name** | **Default root directory** | **Default template file** | **Compatible tools** |
+=============================+====================+===============================+==================================+======================+
| **Dotkit** | ``dotkit`` | share/spack/dotkit | templates/modules/modulefile.dk | DotKit |
+-----------------------------+--------------------+-------------------------------+----------------------------------+----------------------+
| **TCL - Non-Hierarchical** | ``tcl`` | share/spack/modules | templates/modules/modulefile.tcl | Env. Modules/LMod |
+-----------------------------+--------------------+-------------------------------+----------------------------------+----------------------+
| **Lua - Hierarchical** | ``lmod`` | share/spack/lmod | templates/modules/modulefile.lua | LMod |
+-----------------------------+--------------------+-------------------------------+----------------------------------+----------------------+
+-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
| | **Hook name** | **Default root directory** | **Default template file** | **Compatible tools** |
+=============================+====================+===============================+==============================================+======================+
| **Dotkit** | ``dotkit`` | share/spack/dotkit | share/spack/templates/modules/modulefile.dk | DotKit |
+-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
| **TCL - Non-Hierarchical** | ``tcl`` | share/spack/modules | share/spack/templates/modules/modulefile.tcl | Env. Modules/LMod |
+-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
| **Lua - Hierarchical** | ``lmod`` | share/spack/lmod | share/spack/templates/modules/modulefile.lua | LMod |
+-----------------------------+--------------------+-------------------------------+----------------------------------------------+----------------------+
Spack ships with sensible defaults for the generation of module files, but
@@ -485,6 +484,9 @@ you will prevent the generation of module files for any package that
is compiled with ``gcc@4.4.7``, with the only exception of any ``gcc``
or any ``llvm`` installation.
.. _modules-naming-scheme:
"""""""""""""""""""""""""""
Customize the naming scheme
"""""""""""""""""""""""""""
@@ -629,39 +631,38 @@ The allowed values for the ``autoload`` statement are either ``none``,
Maintaining Module Files
------------------------
Spack not only provides great flexibility in the generation of module files
and in the customization of both their layout and content, but also ships with
a tool to ease the burden of their maintenance in production environments.
This tool is the ``spack module`` command:
Each type of module file has a command with the same name associated
with it. The actions these commands permit are usually associated
with the maintenance of a production environment. Here's, for instance,
a sample of the features of the ``spack module tcl`` command:
.. command-output:: spack module --help
.. command-output:: spack module tcl --help
.. _cmd-spack-module-refresh:
^^^^^^^^^^^^^^^^^^^^^^^^
``spack module refresh``
^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^
Refresh the set of modules
^^^^^^^^^^^^^^^^^^^^^^^^^^
The command that regenerates module files to update their content or
their layout is ``module refresh``:
The subcommand that regenerates module files to update their content or
their layout is ``refresh``:
.. command-output:: spack module refresh --help
.. command-output:: spack module tcl refresh --help
A set of packages can be selected using anonymous specs for the optional
``constraint`` positional argument. The argument ``--module-type`` identifies
the type of module files to refresh. Optionally the entire tree can be deleted
``constraint`` positional argument. Optionally the entire tree can be deleted
before regeneration if the change in layout is radical.
.. _cmd-spack-module-rm:
^^^^^^^^^^^^^^^^^^^
``spack module rm``
Delete module files
^^^^^^^^^^^^^^^^^^^
If instead what you need is just to delete a few module files, then the right
command is ``module rm``:
subcommand is ``rm``:
.. command-output:: spack module rm --help
.. command-output:: spack module tcl rm --help
.. note::
We care about your module files!

View File

@@ -0,0 +1,17 @@
.. Copyright 2013-2018 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)
.. _package-list:
============
Package List
============
This is a list of things you can install using Spack. It is
automatically generated based on the packages in the latest Spack
release.
.. raw:: html
:file: package_list.html

View File

@@ -1,3 +1,8 @@
.. Copyright 2013-2018 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)
.. _packaging-guide:
===============
@@ -413,27 +418,26 @@ The most straightforward way to add new versions to your package is to
add a line like this in the package class:
.. code-block:: python
:linenos:
class Foo(Package):
url = 'http://example.com/foo-1.0.tar.gz'
version('8.2.1', '4136d7b4c04df68b686570afa26988ac')
...
Versions should be listed with the newest version first.
url = "http://example.com/foo-1.0.tar.gz"
version('8.2.1', '4136d7b4c04df68b686570afa26988ac')
version('8.2.0', '1c9f62f0778697a09d36121ead88e08e')
version('8.1.2', 'd47dd09ed7ae6e7fd6f9a816d7f5fdf6')
Versions should be listed in descending order, from newest to oldest.
^^^^^^^^^^^^^
Date Versions
^^^^^^^^^^^^^
If you wish to use dates as versions, it is best to use the format
``@date-yyyy-mm-dd``. This will ensure they sort in the correct
order. If you want your date versions to be numeric (assuming they
don't conflict with other numeric versions), you can use just
``yyyy.mm.dd``.
``@yyyy-mm-dd``. This will ensure they sort in the correct order.
Alternately, you might use a hybrid release-version / date scheme.
For example, ``@1.3.2016.08.31`` would mean the version from the
For example, ``@1.3_2016-08-31`` would mean the version from the
``1.3`` branch, as of August 31, 2016.
^^^^^^^^^^^^
@@ -442,7 +446,7 @@ Version URLs
By default, each version's URL is extrapolated from the ``url`` field
in the package. For example, Spack is smart enough to download
version ``8.2.1.`` of the ``Foo`` package above from
version ``8.2.1`` of the ``Foo`` package above from
http://example.com/foo-8.2.1.tar.gz.
If the URL is particularly complicated or changes based on the release,
@@ -515,44 +519,28 @@ of its versions, you can add an explicit URL for a particular version:
When you supply a custom URL for a version, Spack uses that URL
*verbatim* and does not perform extrapolation.
*verbatim* and does not perform extrapolation. The order of precedence
of these methods is:
^^^^^^^^^^^^^^^^^^^^^
PyPI and version URLs
^^^^^^^^^^^^^^^^^^^^^
#. package-level ``url``
#. ``url_for_version()``
#. version-specific ``url``
In addition to their developer websites, many python packages are hosted at the
`Python Package Index (PyPi) <https://pypi.python.org/pypi>`_. Although links to
these individual files are typically `generated using a hash
<https://bitbucket.org/pypa/pypi/issues/438>`_ it is often possible to find a
reliable link of the format
.. code-block:: sh
https://pypi.python.org/packages/source/<first letter of package>/<package>/<package>-<version>.<extension>
Packages hosted on GitHub and the like are often developer versions that do not
contain all of the files (e.g. configuration scripts) necessary to support
compilation. For this reason it is ideal to link to a repository such as PyPi
if possible.
More recently, sources are being indexed at `pypi.io <https://pypi.io>`_ as
well. Links obtained from this site follow a similar pattern, namely
.. code-block:: sh
https://pypi.io/packages/source/<first letter of package>/<package>/<package>-<version>.<extension>
These links currently redirect back to `pypi.python.org
<https://pypi.python.org>`_, but this `may change in the future
<https://bitbucket.org/pypa/pypi/issues/438#comment-27243225>`_.
so if your package contains a ``url_for_version()``, it can be overridden
by a version-specific ``url``.
If your package does not contain a package-level ``url`` or ``url_for_version()``,
Spack can determine which URL to download from even if only some of the versions
specify their own ``url``. Spack will use the nearest URL *before* the requested
version. This is useful for packages that have an easy to extrapolate URL, but
keep changing their URL format every few releases. With this method, you only
need to specify the ``url`` when the URL changes.
^^^^^^^^^^^^^^^^^^^^^^^^
Skipping the expand step
^^^^^^^^^^^^^^^^^^^^^^^^
Spack normally expands archives (e.g. `*.tar.gz` and `*.zip`) automatically
Spack normally expands archives (e.g. ``*.tar.gz`` and ``*.zip``) automatically
after downloading them. If you want to skip this step (e.g., for
self-extracting executables and other custom archive types), you can add
``expand=False`` to a ``version`` directive.
@@ -560,7 +548,7 @@ self-extracting executables and other custom archive types), you can add
.. code-block:: python
version('8.2.1', '4136d7b4c04df68b686570afa26988ac',
url='http://example.com/foo-8.2.1-special-version.tar.gz', expand=False)
url='http://example.com/foo-8.2.1-special-version.sh', expand=False)
When ``expand`` is set to ``False``, Spack sets the current working
directory to the directory containing the downloaded archive before it
@@ -605,7 +593,7 @@ here will suffice; for example, ``@develop``, ``@master``, ``@local``.
The following rules determine the sort order of numeric
vs. non-numeric versions:
#. The non-numeric versions ``@develop`` is considered greatest (newest).
#. The non-numeric version ``@develop`` is considered greatest (newest).
#. Numeric versions are all less than ``@develop`` version, and are
sorted numerically.
@@ -617,7 +605,7 @@ The logic behind this sort order is two-fold:
#. Non-numeric versions are usually used for special cases while
developing or debugging a piece of software. Keeping most of them
less than numeric versions ensures that Spack choose numeric
less than numeric versions ensures that Spack chooses numeric
versions by default whenever possible.
#. The most-recent development version of a package will usually be
@@ -652,34 +640,6 @@ use:
#. If all else fails and ``@develop`` is the only matching version, it
will be used.
^^^^^^^^^^^^^
``spack md5``
^^^^^^^^^^^^^
If you have one or more files to checksum, you can use the ``spack md5``
command to do it:
.. code-block:: console
$ spack md5 foo-8.2.1.tar.gz foo-8.2.2.tar.gz
==> 2 MD5 checksums:
4136d7b4c04df68b686570afa26988ac foo-8.2.1.tar.gz
1586b70a49dfe05da5fcc29ef239dce0 foo-8.2.2.tar.gz
``spack md5`` also accepts one or more URLs and automatically downloads
the files for you:
.. code-block:: console
$ spack md5 http://example.com/foo-8.2.1.tar.gz
==> Trying to fetch from http://example.com/foo-8.2.1.tar.gz
######################################################################## 100.0%
==> 1 MD5 checksum:
4136d7b4c04df68b686570afa26988ac foo-8.2.1.tar.gz
Doing this for lots of files, or whenever a new package version is
released, is tedious. See ``spack checksum`` below for an automated
version of this process.
.. _cmd-spack-checksum:
@@ -707,7 +667,7 @@ example for ``libelf``:
...
0.5.2 http://www.mr511.de/software/libelf-0.5.2.tar.gz
How many would you like to checksum? (default is 5, q to abort)
How many would you like to checksum? (default is 1, q to abort)
This does the same thing that ``spack create`` does, but it allows you
to go back and add new versions easily as you need them (e.g., as
@@ -833,12 +793,12 @@ But its downloads are in many different subdirectories of
homepage = "http://www.mpich.org"
url = "http://www.mpich.org/static/downloads/3.0.4/mpich-3.0.4.tar.gz"
list_url = "http://www.mpich.org/static/downloads/"
list_depth = 2
list_depth = 1
By default, Spack only looks at the top-level page available at
``list_url``. ``list_depth`` tells it to follow up to 2 levels of
links from the top-level page. Note that here, this implies two
levels of subdirectories, as the ``mpich`` website is structured much
``list_url``. ``list_depth = 1`` tells it to follow up to 1 level of
links from the top-level page. Note that here, this implies 1
level of subdirectories, as the ``mpich`` website is structured much
like a filesystem. But ``list_depth`` really refers to link depth
when spidering the page.
@@ -851,13 +811,57 @@ Fetching from code repositories
For some packages, source code is provided in a Version Control System
(VCS) repository rather than in a tarball. Spack can fetch packages
from VCS repositories. Currently, Spack supports fetching with `Git
<git-fetch_>`_, `Mercurial (hg) <hg-fetch_>`_, and `Subversion (SVN)
<svn-fetch_>`_.
<git-fetch_>`_, `Mercurial (hg) <hg-fetch_>`_, `Subversion (svn)
<svn-fetch_>`_, and `Go <go-fetch_>`_.
To fetch a package from a source repository, Spack needs to know which
VCS to use and where to download from. Much like with ``url``, package
authors can specify a class-level ``git``, ``hg``, ``svn``, or ``go``
attribute containing the correct download location.
Many packages developed with Git have both a Git repository as well as
release tarballs available for download. Packages can define both a
class-level tarball URL and VCS. For example:
.. code-block:: python
class Trilinos(CMakePackage):
homepage = "https://trilinos.org/"
url = "https://github.com/trilinos/Trilinos/archive/trilinos-release-12-12-1.tar.gz"
git = "https://github.com/trilinos/Trilinos.git"
version('develop', branch='develop')
version('master', branch='master')
version('12.12.1', 'ecd4606fa332212433c98bf950a69cc7')
version('12.10.1', '667333dbd7c0f031d47d7c5511fd0810')
version('12.8.1', '9f37f683ee2b427b5540db8a20ed6b15')
If a package contains both a ``url`` and ``git`` class-level attribute,
Spack decides which to use based on the arguments to the ``version()``
directive. Versions containing a specific branch, tag, or revision are
assumed to be for VCS download methods, while versions containing a
checksum are assumed to be for URL download methods.
Like ``url``, if a specific version downloads from a different repository
than the default repo, it can be overridden with a version-specific argument.
.. note::
In order to reduce ambiguity, each package can only have a single VCS
top-level attribute in addition to ``url``. In the rare case that a
package uses multiple VCS, a fetch strategy can be specified for each
version. For example, the ``rockstar`` package contains:
.. code-block:: python
class Rockstar(MakefilePackage):
homepage = "https://bitbucket.org/gfcstanford/rockstar"
version('develop', git='https://bitbucket.org/gfcstanford/rockstar.git')
version('yt', hg='https://bitbucket.org/MatthewTurk/rockstar')
To fetch a package from a source repository, you add a ``version()``
call to your package with parameters indicating the repository URL and
any branch, tag, or revision to fetch. See below for the parameters
you'll need for each VCS system.
.. _git-fetch:
@@ -865,11 +869,11 @@ you'll need for each VCS system.
Git
^^^
Git fetching is enabled with the following parameters to ``version``:
Git fetching supports the following parameters to ``version``:
* ``git``: URL of the git repository.
* ``tag``: name of a tag to fetch.
* ``branch``: name of a branch to fetch.
* ``git``: URL of the git repository, if different than the class-level ``git``.
* ``branch``: Name of a branch to fetch.
* ``tag``: Name of a tag to fetch.
* ``commit``: SHA hash (or prefix) of a commit to fetch.
* ``submodules``: Also fetch submodules recursively when checking out this repository.
@@ -881,66 +885,72 @@ Default branch
.. code-block:: python
class Example(Package):
...
version('develop', git='https://github.com/example-project/example.git')
This download method is untrusted, and is not recommended.
git = "https://github.com/example-project/example.git"
Tags
To fetch from a particular tag, use the ``tag`` parameter along with
``git``:
version('develop')
.. code-block:: python
version('1.0.1', git='https://github.com/example-project/example.git',
tag='v1.0.1')
This download method is untrusted, and is not recommended.
This download method is untrusted, and is not recommended. Aside from HTTPS,
there is no way to verify that the repository has not been compromised, and
the commit you get when you install the package likely won't be the same
commit that was used when the package was first written. Additionally, the
default branch may change. It is best to at least specify a branch name.
Branches
To fetch a particular branch, use ``branch`` instead:
To fetch a particular branch, use the ``branch`` parameter:
.. code-block:: python
version('experimental', git='https://github.com/example-project/example.git',
branch='experimental')
version('experimental', branch='experimental')
This download method is untrusted, and is not recommended.
This download method is untrusted, and is not recommended. Branches are
moving targets, so the commit you get when you install the package likely
won't be the same commit that was used when the package was first written.
Tags
To fetch from a particular tag, use ``tag`` instead:
.. code-block:: python
version('1.0.1', tag='v1.0.1')
This download method is untrusted, and is not recommended. Although tags
are generally more stable than branches, Git allows tags to be moved.
Many developers use tags to denote rolling releases, and may move the
tag when a bug is patched.
Commits
Finally, to fetch a particular commit, use ``commit``:
.. code-block:: python
version('2014-10-08', git='https://github.com/example-project/example.git',
commit='9d38cd4e2c94c3cea97d0e2924814acc')
version('2014-10-08', commit='9d38cd4e2c94c3cea97d0e2924814acc')
This doesn't have to be a full hash; you can abbreviate it as you'd
expect with git:
.. code-block:: python
version('2014-10-08', git='https://github.com/example-project/example.git',
commit='9d38cd')
version('2014-10-08', commit='9d38cd')
This download method *is trusted*. It is the recommended way to
securely download from a Git repository.
It may be useful to provide a saner version for commits like this,
e.g. you might use the date as the version, as done above. Or you
could just use the abbreviated commit hash. It's up to the package
author to decide what makes the most sense.
e.g. you might use the date as the version, as done above. Or, if you
know the commit at which a release was cut, you can use the release
version. It's up to the package author to decide what makes the most
sense. Although you can use the commit hash as the version number,
this is not recommended, as it won't sort properly.
Submodules
You can supply ``submodules=True`` to cause Spack to fetch submodules
recursively along with the repository at fetch time. For more information
about git submodules see the manpage of git: ``man git-submodule``.
.. code-block:: python
version('1.0.1', git='https://github.com/example-project/example.git',
tag='v1.0.1', submodules=True)
version('1.0.1', tag='v1.0.1', submodules=True)
.. _github-fetch:
@@ -949,7 +959,7 @@ Submodules
GitHub
^^^^^^
If a project is hosted on GitHub, *any* valid Git branch, tag or hash
If a project is hosted on GitHub, *any* valid Git branch, tag, or hash
may be downloaded as a tarball. This is accomplished simply by
constructing an appropriate URL. Spack can checksum any package
downloaded this way, thereby producing a trusted download. For
@@ -959,7 +969,7 @@ checksum.
.. code-block:: python
version('1.9.5.1.1', 'd035e4bc704d136db79b43ab371b27d2',
url='https://www.github.com/jswhit/pyproj/tarball/0be612cc9f972e38b50a90c946a9b353e2ab140f')
url='https://www.github.com/jswhit/pyproj/tarball/0be612cc9f972e38b50a90c946a9b353e2ab140f')
.. _hg-fetch:
@@ -967,34 +977,38 @@ checksum.
Mercurial
^^^^^^^^^
Fetching with mercurial works much like `git <git-fetch>`_, but you
Fetching with Mercurial works much like `Git <git-fetch>`_, but you
use the ``hg`` parameter.
Default
Add the ``hg`` parameter with no ``revision``:
Default branch
Add the ``hg`` attribute with no ``revision`` passed to ``version``:
.. code-block:: python
version('develop', hg='https://jay.grs.rwth-aachen.de/hg/example')
class Example(Package):
This download method is untrusted, and is not recommended.
hg = "https://bitbucket.org/example-project/example"
version('develop')
This download method is untrusted, and is not recommended. As with
Git's default fetching strategy, there is no way to verify the
integrity of the download.
Revisions
Add ``hg`` and ``revision`` parameters:
To fetch a particular revision, use the ``revision`` parameter:
.. code-block:: python
version('1.0', hg='https://jay.grs.rwth-aachen.de/hg/example',
revision='v1.0')
This download method is untrusted, and is not recommended.
version('1.0', revision='v1.0')
Unlike ``git``, which has special parameters for different types of
revisions, you can use ``revision`` for branches, tags, and commits
when you fetch with Mercurial.
when you fetch with Mercurial. Like Git, fetching specific branches
or tags is an untrusted download method, and is not recommended.
The recommended fetch strategy is to specify a particular commit
hash as the revision.
As with git, you can fetch these versions using the ``spack install
example@<version>`` command-line syntax.
.. _svn-fetch:
@@ -1002,34 +1016,70 @@ example@<version>`` command-line syntax.
Subversion
^^^^^^^^^^
To fetch with subversion, use the ``svn`` and ``revision`` parameters:
To fetch with subversion, use the ``svn`` and ``revision`` parameters.
Fetching the head
Simply add an ``svn`` parameter to ``version``:
Simply add an ``svn`` parameter to the package:
.. code-block:: python
version('develop', svn='https://outreach.scidac.gov/svn/libmonitor/trunk')
class Example(Package):
This download method is untrusted, and is not recommended.
svn = "https://outreach.scidac.gov/svn/example/trunk"
version('develop')
This download method is untrusted, and is not recommended for the
same reasons as mentioned above.
Fetching a revision
To fetch a particular revision, add a ``revision`` to the
version call:
To fetch a particular revision, add a ``revision`` argument to the
version directive:
.. code-block:: python
version('develop', svn='https://outreach.scidac.gov/svn/libmonitor/trunk',
revision=128)
version('develop', revision=128)
This download method is untrusted, and is not recommended.
Subversion branches are handled as part of the directory structure, so
you can check out a branch or tag by changing the ``url``.
Unfortunately, Subversion has no commit hashing scheme like Git and
Mercurial do, so there is no way to guarantee that the download you
get is the same as the download used when the package was created.
Use at your own risk.
-------------------------------------------------
Subversion branches are handled as part of the directory structure, so
you can check out a branch or tag by changing the URL. If you want to
package multiple branches, simply add a ``svn`` argument to each
version directive.
.. _go-fetch:
^^
Go
^^
Go isn't a VCS, it is a programming language with a builtin command,
`go get <https://golang.org/cmd/go/#hdr-Download_and_install_packages_and_dependencies>`_,
that fetches packages and their dependencies automatically.
It can clone a Git repository, or download from another source location.
For example:
.. code-block:: python
class ThePlatinumSearcher(Package):
homepage = "https://github.com/monochromegane/the_platinum_searcher"
go = "github.com/monochromegane/the_platinum_searcher/..."
version('head')
Go cannot be used to fetch a particular commit or branch, it always
downloads the head of the repository. This download method is untrusted,
and is not recommended. Use another fetch strategy whenever possible.
------------------------------------
Resources (expanding extra tarballs)
-------------------------------------------------
------------------------------------
Some packages (most notably compilers) provide optional features if additional
resources are expanded within their source tree before building. In Spack it is
@@ -1593,6 +1643,14 @@ correct way to specify this would be:
depends_on('python@2.6.0:2.6.999')
A spec can contain multiple version ranges separated by commas.
For example, if you need Boost 1.59.0 or newer, but there are known
issues with 1.64.0, 1.65.0, and 1.66.0, you can say:
.. code-block:: python
depends_on('boost@1.59.0:1.63,1.65.1,1.67.0:')
^^^^^^^^^^^^^^^^
Dependency types
@@ -1874,18 +1932,38 @@ from being linked in at activation time.
``depends_on('python')`` and ``extends(python)`` in the same
package. ``extends`` implies ``depends_on``.
-----
Views
-----
As covered in :ref:`filesystem-views`, the ``spack view`` command can be
used to symlink a number of packages into a merged prefix. The methods of
``PackageViewMixin`` can be overridden to customize how packages are added
to views. Generally this can be used to create copies of specific files rather
than symlinking them when symlinking does not work. For example, ``Python``
overrides ``add_files_to_view`` in order to create a copy of the ``python``
binary since the real path of the Python executable is used to detect
extensions; as a consequence python extension packages (those inheriting from
``PythonPackage``) likewise override ``add_files_to_view`` in order to rewrite
shebang lines which point to the Python interpreter.
^^^^^^^^^^^^^^^^^^^^^^^^^
Activation & deactivation
^^^^^^^^^^^^^^^^^^^^^^^^^
Adding an extension to a view is referred to as an activation. If the view is
maintained in the Spack installation prefix of the extendee this is called a
global activation. Activations may involve updating some centralized state
that is maintained by the extendee package, so there can be additional work
for adding extensions compared with non-extension packages.
Spack's ``Package`` class has default ``activate`` and ``deactivate``
implementations that handle symbolically linking extensions' prefixes
into the directory of the parent package. However, extendable
packages can override these methods to add custom activate/deactivate
logic of their own. For example, the ``activate`` and ``deactivate``
methods in the Python class use the symbolic linking, but they also
handle details surrounding Python's ``.pth`` files, and other aspects
of Python packaging.
into a specified view. Extendable packages can override these methods
to add custom activate/deactivate logic of their own. For example,
the ``activate`` and ``deactivate`` methods in the Python class handle
symbolic linking of extensions, but they also handle details surrounding
Python's ``.pth`` files, and other aspects of Python packaging.
Spack's extensions mechanism is designed to be extensible, so that
other packages (like Ruby, R, Perl, etc.) can provide their own
@@ -1900,7 +1978,7 @@ Let's look at Python's activate function:
This function is called on the *extendee* (Python). It first calls
``activate`` in the superclass, which handles symlinking the
extension package's prefix into this package's prefix. It then does
extension package's prefix into the specified view. It then does
some special handling of the ``easy-install.pth`` file, part of
Python's setuptools.
@@ -2268,6 +2346,10 @@ The classes that are currently provided by Spack are:
| :py:class:`.CMakePackage` | Specialized class for packages |
| | built using CMake |
+-------------------------------+----------------------------------+
| :py:class:`.CudaPackage` | A helper class for packages that |
| | use CUDA. It is intended to be |
| | used in combination with others |
+-------------------------------+----------------------------------+
| :py:class:`.QMakePackage` | Specialized class for packages |
| | build using QMake |
+-------------------------------+----------------------------------+
@@ -2280,6 +2362,9 @@ The classes that are currently provided by Spack are:
| :py:class:`.RPackage` | Specialized class for |
| | :py:class:`.R` extensions |
+-------------------------------+----------------------------------+
| :py:class:`.OctavePackage` | Specialized class for |
| | :py:class:`.Octave` packages |
+-------------------------------+----------------------------------+
| :py:class:`.PythonPackage` | Specialized class for |
| | :py:class:`.Python` extensions |
+-------------------------------+----------------------------------+
@@ -2607,15 +2692,16 @@ as arguments.
Here are the definitions of the three built-in flag handlers:
.. code-block:: python
def build_system_flags(self, name, flags):
return (None, None, flags)
def inject_flags(self, name, flags):
def inject_flags(pkg, name, flags):
return (flags, None, None)
def env_flags(self, name, flags):
def env_flags(pkg, name, flags):
return (None, flags, None)
def build_system_flags(self, name, flags):
def build_system_flags(pkg, name, flags):
return (None, None, flags)
.. note::
@@ -2628,10 +2714,7 @@ the built-in flag handlers,
.. code-block:: python
flag_handler = <PackageClass>.env_flags
where ``<PackageClass>`` can be any of the subclasses of PackageBase
discussed in :ref:`installation_procedure`,
flag_handler = env_flags
or by implementing the flag_handler method. Suppose for a package
``Foo`` we need to pass ``cflags``, ``cxxflags``, and ``cppflags``
@@ -2657,7 +2740,7 @@ method of the ``EnvironmentModifications`` class to append values to a
list of flags whenever the flag handler is ``env_flags``. If the
package passes flags through the environment or the build system
manually (in the install method, for example), we recommend using the
default flag handler, or removind manual references and implementing a
default flag handler, or removing manual references and implementing a
custom flag handler method that adds the desired flags to export as
environment variables or pass to the build system. Manual flag passing
is likely to interfere with the ``env_flags`` and
@@ -2667,8 +2750,8 @@ In rare circumstances such as compiling and running small unit tests, a
package developer may need to know what are the appropriate compiler
flags to enable features like ``OpenMP``, ``c++11``, ``c++14`` and
alike. To that end the compiler classes in ``spack`` implement the
following **properties**: ``openmp_flag``, ``cxx11_flag``,
``cxx14_flag``, which can be accessed in a package by
following **properties**: ``openmp_flag``, ``cxx98_flag``, ``cxx11_flag``,
``cxx14_flag``, and ``cxx17_flag``, which can be accessed in a package by
``self.compiler.cxx11_flag`` and alike. Note that the implementation is
such that if a given compiler version does not support this feature, an
error will be produced. Therefore package developers can also use these
@@ -2679,6 +2762,8 @@ is handy when a package supports additional variants like
variant('openmp', default=True, description="Enable OpenMP support.")
.. _blas_lapack_scalapack:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Blas, Lapack and ScaLapack libraries
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
@@ -2776,11 +2861,11 @@ Prefix Attribute Location
Of course, this only works if your file or directory is a valid Python
variable name. If your file or directory contains dashes or dots, use
``join_path`` instead:
``join`` instead:
.. code-block:: python
join_path(prefix.lib, 'libz.a')
prefix.lib.join('libz.a')
.. _spec-objects:

View File

@@ -1,3 +1,8 @@
.. Copyright 2013-2018 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)
.. _repositories:
=============================
@@ -36,7 +41,7 @@ Package repositories allow you to:
1. Maintain your own packages separately from Spack;
2. Share your packages (e.g. by hosting them in a shared file system),
2. Share your packages (e.g., by hosting them in a shared file system),
without committing them to the built-in Spack package repository; and
3. Override built-in Spack packages with your own implementation.
@@ -72,7 +77,7 @@ paths to repositories. Each path is on a separate line starting with
- /opt/local-repo
- $spack/var/spack/repos/builtin
When Spack interprets a spec, e.g. ``mpich`` in ``spack install mpich``,
When Spack interprets a spec, e.g., ``mpich`` in ``spack install mpich``,
it searches these repositories in order (first to last) to resolve each
package name. In this example, Spack will look for the following
packages and use the first valid file:
@@ -142,7 +147,7 @@ packages created by the Computation directorate might use ``llnl.comp``.
Spack cannot ensure that every repository is named uniquely, but it will
prevent you from registering two repositories with the same namespace at
the same time. If you try to add a repository that has the same name as
an existing one, e.g. ``builtin``, Spack will print a warning message.
an existing one, e.g., ``builtin``, Spack will print a warning message.
.. _namespace-example:
@@ -445,7 +450,7 @@ Spack repo namespaces are actually Python namespaces tacked on under
``spack.pkg``. The search semantics of ``repos.yaml`` are actually
implemented using Python's built-in `sys.path
<https://docs.python.org/2/library/sys.html#sys.path>`_ search. The
:py:mod:`spack.repository` module implements a custom `Python importer
:py:mod:`spack.repo` module implements a custom `Python importer
<https://docs.python.org/2/library/imp.html>`_.
.. warning::

View File

@@ -1,5 +1,6 @@
# These dependencies should be installed using pip in order
# to build the documentation.
sphinx
sphinx==1.7.0
sphinxcontrib-programoutput
sphinx-rtd-theme

View File

@@ -1,12 +1,17 @@
.. Copyright 2013-2018 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)
.. _spack-101:
=============================
Tutorial: Spack 101
=============================
This is a 3-hour introduction to Spack with lectures and live demos. It
was presented as a tutorial at `Supercomputing 2016
<http://sc16.supercomputing.org>`_. You can use these materials to teach
This is a full-day introduction to Spack with lectures and live demos. It
was presented as a tutorial at `Supercomputing 2018
<http://sc18.supercomputing.org>`_. You can use these materials to teach
a course on Spack at your own site, or you can just skip ahead and read
the live demo scripts to see how Spack is used in practice.
@@ -15,19 +20,18 @@ the live demo scripts to see how Spack is used in practice.
.. rubric:: Slides
.. figure:: tutorial/sc16-tutorial-slide-preview.png
:target: http://llnl.github.io/spack/files/Spack-SC16-Tutorial.pdf
:target: http://spack.io/slides/Spack-SC18-Tutorial.pdf
:height: 72px
:align: left
:alt: Slide Preview
`Download Slides <http://llnl.github.io/spack/files/Spack-SC16-Tutorial.pdf>`_.
`Download Slides <http://spack.io/slides/Spack-SC18-Tutorial.pdf>`_.
**Full citation:** Todd Gamblin, Massimiliano Culpo, Gregory Becker, Matt
Legendre, Greg Lee, Elizabeth Fischer, and Benedikt Hegner.
**Full citation:** Todd Gamblin, Gregory Becker, Massimiliano Culpo, Matt
Legendre, Mario Melara, Peter Scheibel, and Adam Stewart.
`Managing HPC Software Complexity with Spack
<http://sc16.supercomputing.org/presentation/?id=tut166&sess=sess209>`_.
Tutorial presented at Supercomputing 2016. November 13, 2016, Salt Lake
City, UT, USA.
<https://sc18.supercomputing.org/presentation/?id=tut165&sess=sess252>`_.
Tutorial presented at Supercomputing 2018. November 12, 2018, Dallas, TX, USA.
.. _sc16-live-demos:
@@ -39,9 +43,10 @@ correspond to sections in the slides above.
1. :ref:`basics-tutorial`
2. :ref:`configs-tutorial`
3. :ref:`packaging-tutorial`
4. :ref:`build-systems-tutorial`
5. :ref:`advanced-packaging-tutorial`
6. :ref:`modules-tutorial`
4. :ref:`environments-tutorial`
5. :ref:`modules-tutorial`
6. :ref:`build-systems-tutorial`
7. :ref:`advanced-packaging-tutorial`
Full contents:
@@ -49,6 +54,7 @@ Full contents:
tutorial_basics
tutorial_configuration
tutorial_packaging
tutorial_environments
tutorial_modules
tutorial_buildsystems
tutorial_advanced_packaging
tutorial_modules

View File

@@ -1,27 +1,8 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# 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
##############################################################################
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
#
# This is a template package file for Spack. We've put "FIXME"
# next to all the things you'll want to change. Once you've handled

View File

@@ -1,27 +1,8 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# 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
##############################################################################
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *

View File

@@ -1,27 +1,8 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# 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
##############################################################################
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *

View File

@@ -1,27 +1,8 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# 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
##############################################################################
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *

View File

@@ -1,27 +1,8 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# 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
##############################################################################
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *

View File

@@ -1,27 +1,8 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# 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
##############################################################################
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from spack import *

View File

@@ -1,31 +1,12 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# 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/llnl/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)
from spack import *
class Mpileaks(AutoToolsPackage):
class Mpileaks(AutotoolsPackage):
"""Tool to detect and report leaked MPI objects like MPI_Requests and
MPI_Datatypes."""

View File

@@ -1,31 +1,12 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# 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/llnl/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)
from spack import *
class Mpileaks(AutoToolsPackage):
class Mpileaks(AutotoolsPackage):
"""Tool to detect and report leaked MPI objects like MPI_Requests and
MPI_Datatypes."""

View File

@@ -1,27 +1,8 @@
##############################################################################
# Copyright (c) 2013-2017, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
# Copyright 2013-2018 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# 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/llnl/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 is a template package file for Spack. We've put "FIXME"
# next to all the things you'll want to change. Once you've handled

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