Compare commits

...

5757 Commits

Author SHA1 Message Date
Todd Gamblin
efa381c256 Merge branch 'releases/v0.12' 2019-01-13 14:29:07 -08:00
Gregory Becker
4a7e3dcedd version bump: v0.12.1 2019-01-13 14:25:15 -08:00
Gregory Becker
85c9819615 tutorial basics section: fix gcc install version 2019-01-13 14:25:15 -08:00
Gregory Becker
7c4b5b6779 bugfix: add back r's for invalid regexes 2019-01-13 14:25:14 -08:00
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
Todd Gamblin
880e319cf6 Pull R list_urls from upstream. 2018-01-19 13:28:26 -08:00
Massimiliano Culpo
1cc9241030 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-19 11:59:43 -08:00
Levi Baber
8d2e340e16 Add --full-path option to module find (#6838) 2018-01-19 20:08:36 +01:00
Todd Gamblin
9835f5077b Bump version to 0.11.1 2018-01-19 09:39:39 -08:00
becker33
4fb3b30d3e 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-19 09:39:38 -08:00
becker33
e0826804c2 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
2018-01-19 09:32:24 -08: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
c2a10a2aa2 Merge branch 'releases/v0.11.0' 2018-01-17 14:14:45 -08:00
Todd Gamblin
ba6c39310b Fix logo link in README.md to point to the develop branch. (#6969) 2018-01-17 09:07:40 -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
974d166c8a Final changes for v0.11.0 (#6318) 2018-01-16 22:25:34 -08:00
Todd Gamblin
84b2cc0823 Final changes for v0.11.0 (#6318) 2018-01-16 22:25:08 -08:00
scheibelp
7a0a907b5c elf relocation fix: cherry-picked from develop branch (#6889)
* Revert "Quick fix for relocation issues."

This reverts commit 57608a6dc4.

* Buildcache: relocate fixes (#6512)

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

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

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

* Update write_buildinfo_file method signature to distinguish between
  the spec prefix and the working directory for the binary cache
  package.
2018-01-16 21:33:28 -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
Todd Gamblin
57608a6dc4 Quick fix for relocation issues. 2017-11-13 10:34:28 +00:00
Todd Gamblin
fffcd77662 Allow types and 'any' in variant definitions. (#4524)
- Previously variant values had to be a tuple or a callable predicate.

- This allows 'any' as shorthand for `lambda x: True` and type objects
  as shorthand for "any value of this type".

- Makes variant definitions more readable, keeps lambdas out of
  packages for common cases.
2017-11-13 00:22:59 -07:00
becker33
9b80f2fd38 basics tutorial: output updated (#6267)
* basics tutorial: output updated through gcc

* finished update for basics tutorial

* missed two lines

* doc error fix
2017-11-13 00:12:23 -07:00
Todd Gamblin
24d636eb30 Updates to build systems tutorial (#6273)
* Get rid of period in command

* formatting

* fix header

* Change GNU Make to Make

* Add variants
2017-11-13 00:11:55 -07:00
Mario Melara
2f1cbb5caa Add build systems tutorial for SC17 (#6125)
* First draft for SC17 build systems portion

Added tutorial_buildsystems.rst file as well as example files under
the tutorial/ directory.

* Remove floating `

* Add requested changes, and examples of subclasses

Added in the requested changes to the documentation. Also added in
information about the subclasses and the defaults that they provide.
Also fixed some phrasing issues, formatting and punctuation.

* Flake8 fixes and new files for classes

Made flake8 fixes to pass tests and also added files to demonstrate code
in the classes.

* Minor edits

Edits in formatting and made some sentence changes

* Flake8 fixes

More flake8 fixes

* Flake8 fix

* Change section order on tutorial and minor edits

Placed the section at the appropriate section for the tutorial and then
added some minor edits that were requested.

* Add requested changes and more details

Added more details to Cmake, Makefile and Python Packages.

* Fixed formatting and minor edits

* Fix doc build error
2017-11-12 23:24:18 -07:00
Adam J. Stewart
9db7eaade8 Last minute edits to the Configuration Tutorial (#6271) 2017-11-12 23:14:44 -07:00
becker33
b77acd0896 Add configuration tutorial for SC17 (#6141) 2017-11-12 20:12:57 -07:00
Matthew LeGendre
265c30b943 Update packaging tutorial (#6270)
* Allow types and 'any' in variant definitions.

- Previously variant values had to be a tuple or a callable predicate.

- This allows 'any' as shorthand for `lambda x: True` and type objects
  as shorthand for "any value of this type".

- Makes variant definitions more readable, keeps lambdas out of
  packages for common cases.

* Update packaging tutorial

* Fix bad file reference in packaging tutorial
2017-11-12 20:09:12 -07:00
becker33
b09341d861 binary packages: do post install hooks (#6269) 2017-11-12 17:57:10 -07:00
Massimiliano Culpo
1ab703448d SC17: advanced packaging tutorial (#6148)
* First draft of the advanced packaging tutorial

* advanced packaging tutorial: improved phrasing

Thanks Denis and Hartzell!

* Fixed typos + reworded a couple of sentences
2017-11-12 00:27:57 -08:00
Massimiliano Culpo
fe889124eb SC17: reworked module file tutorial section (#5657)
* Reworked module file tutorial section

First draft for the SC17 update. This includes:

 - adding an introduction on module files + Spack's module
   generation blueprints
 - adding a set-up section and provide a docker image for easy set-up
 - updating all the relevant snippets
 - extending a bit some of the concepts that were already touched

* Added reference to #5582 + committed Dockerfiles

Also fixed a couple of typos spotted by Denis.

* module file tutorial: added section on template customization

* module file tutorial: fixed minor typos + rephrased a sentence

* module file tutorial: made explicit that Docker image comes with software

* module file tutorial: improved phrasing and layout.

Thanks Hartzell!

* module file tutorial: added vim and nano to editors

* module file tutorial: fixed typo

* Fixed typos

Thanks Adam!

* module file tutorial: updated Dockerfile + minor changes in introduction
2017-11-12 00:27:20 -08:00
becker33
1008975bc0 Don't include build-only dependencies in build cache hash (#6262) 2017-11-11 20:54:17 -08:00
Satish Balay
6fd92e4257 petsc: update to version 3.8.2 (#6244)
Includes pkgconfig fix [for mfem static build failure]
2017-11-11 07:16:03 -07:00
Brian Homerding
19f8940c01 Nekbone: Installing data files for example runs (#6243)
* Nekbone: Installing data files for example runs

* Typo Fix
2017-11-10 19:59:33 -07:00
Sergey Kosukhin
263126bc5d Create symlink for 'swig' binary after installation. (#6240) 2017-11-10 19:50:11 -07:00
Aaron Fisher
af06ea0e74 Fixed mfem mpi build issue. (#6254)
* Fixed mfem mpi build issue.

* Fixed a non-mpi build issue and switched to the latest official MFEM release.
2017-11-10 19:49:17 -07:00
Yifan Zhu
e38f31e773 feature/r-reprex: new package (#6257) 2017-11-10 19:47:21 -07:00
Cyrus Harrison
b079e1dbd5 add alpine ascent (#6224)
* add ascent package and and deps

* proper use of site_packages_dir prop

* flake8

* add maitain, small updates

* flake8

* flake8

* fixs for docstrings for sphinx
2017-11-10 17:00:47 -08:00
scheibelp
8c458a856f Group flags and values separated by space (#6169)
Fixes #6154

For compiler options which set values using the syntax "-flag value"
(with a space between the flag and the flag's value) the flag and
value were treated as separate and reordered. This updates Spack's
logic to treat the flag and value as a single unit, even if there is
a space between them. It assumes that all flags are prefixed with
"-" and that all flag values are not.
2017-11-10 16:33:50 -08:00
becker33
917d021997 Add version 1.04 (#6259) 2017-11-10 15:52:48 -08:00
becker33
a7b817b494 elfutils: add --no-as-needed flag for library ordering issue (#6256)
* add --no-as-needed flag for library ordering issue libelf

* fix syntax error.
2017-11-10 11:42:37 -08:00
Yifan Zhu
f6ed8d856a xclip: created new package (#6248) 2017-11-10 11:13:00 -07:00
Yifan Zhu
a872dc5927 r-clipr: created new package (#6249) 2017-11-10 11:11:45 -07:00
Todd Gamblin
7dea7aad51 Add a code of conduct to Spack (#6251)
We're adopting the contributor covenant for now.  This isn't something we've needed to use yet, but it is good to have in case we actually do have a problem.
2017-11-09 21:18:58 -08:00
Patrick Gartung
124b5fc296 deal with case where symbolic links are copied (#6178)
* deal with case where symbolic links are copied

* Suggested changes
2017-11-09 14:38:12 -08:00
lingnanyuan
acc3817ffc r-purrr: Create new package. (#6241) 2017-11-09 14:51:30 -07:00
lingnanyuan
65a278c927 r-covr: Create new package. (#6239) 2017-11-09 13:19:53 -07:00
lingnanyuan
e43e29209d r-readxl: Create new package. (#6238) 2017-11-09 13:19:43 -07:00
lingnanyuan
0902f58f3d r-cellranger: Create new package. (#6237) 2017-11-09 13:19:25 -07:00
lingnanyuan
5e0e3092f6 r-rematch: Create new package. (#6236) 2017-11-09 13:19:12 -07:00
Satish Balay
2b07379831 petsc: when hdf5 depends on zlib - petsc+hdf5 should also be configur… (#6189)
* 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: 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
2017-11-09 11:34:59 -08:00
Satish Balay
8d512ce9ae magma: cuda updates [from xsdk-0.3.0 branch] (#6160)
- add gcc dependency per cuda versions
- Fix for cuda-9.0  as it does not support sm20

    nvcc fatal   : Unsupported gpu architecture 'compute_20'
2017-11-09 11:34:40 -08:00
Patrick Gartung
1484a94b1e spack buildcache: symlink and relative RPATH fixes (#6140)
* Skip rewriting files that are links (this also avoids issues with parsing
  the output of the 'file' command for symlinks)
* Fail rather than warn for several gpg signing issues (e.g. if there is no
  key available to sign with)
* Installation with 'buildcache install' only retrieves link and run
  dependencies (this matches 'buildcache create' which only creates tarballs
  of link/run dependencies)
* Don't rewrite RPATHs for a binary if the binary cached package was created
  with relative RPATHs
* Refactor relocate_binary to operate on multiple binaries (given as a
  collection of paths). This was likewise done for relocate_text and
  make_binary_relative
2017-11-09 10:53:34 -08:00
lingnanyuan
ee867db5de r-log4r: Create new package. (#6133) 2017-11-09 10:23:48 -07:00
Simone Bnà
c79a0fbbf2 mesa: fixed url for version (#5818) 2017-11-09 10:16:52 -07:00
Benedikt Riedel
266de67c24 ROOT needs to have a consistent version of binutils, as it is very sensitive to the version of libopcodes. You can't move the code from one system (with the same OS) as another. (#6226) 2017-11-09 06:49:27 -08:00
lingnanyuan
935a6b00d7 r-analysispageserver: Create new package. (#6135) 2017-11-09 07:23:10 -07:00
Levi Baber
74d38b3150 py-dlcpar (#6229)
* py-dlcpar: new package

* py-dlcpar: whitespace
2017-11-09 07:21:56 -07:00
baip
acf6653933 pexsi: add version 0.10.2 (#6232) 2017-11-09 07:21:39 -07:00
David Gardner
d9fc26b2a5 add sundials 3.1.0 (#6230) 2017-11-09 14:04:03 +01:00
Luigi Calori
24bb3c61de fix perl dependent modules, #5900 (#5937)
*  FIX perl dependent environmwent setup to avoid void lines in generated modules as #5900

* remove debug prints

* fix flake8
2017-11-08 22:10:50 -07:00
Alfredo Adolfo Gimenez
a754bd7eee Package/sosflow (#6122)
* Added missing deps to libffs

* SOSflow spack package pointing to sos_flow feature/spack branch

* Using tag for spack build

* Change url to spack/spack
2017-11-08 22:07:37 -07:00
David Gardner
a656bc300a add patch for building sundials (#6161)
* add patch for building sundials on mac

* add upper limit on the patch
2017-11-08 22:06:34 -07:00
Yifan Zhu
3159841e33 r-callr: created new package (#6223) 2017-11-08 21:59:21 -07:00
lingnanyuan
72bec9a7a0 r-rex: Create new package. (#6221) 2017-11-08 21:57:09 -07:00
Yifan Zhu
ca2ffd9299 r-rvest: created new package (#6220) 2017-11-08 21:56:50 -07:00
Levi Baber
ef126523f1 fastme: new package (#6219) 2017-11-08 21:56:32 -07:00
Yifan Zhu
edc1e6a0d8 r-selectr: created new package (#6218) 2017-11-08 21:56:02 -07:00
lingnanyuan
e57564e899 r-tseries: Create new package. (#6216) 2017-11-08 21:55:45 -07:00
sknigh
699748a2be Added missing build dependency to json-c (#6211) 2017-11-08 21:55:28 -07:00
lingnanyuan
e2004076b1 r-allelicimbalance: Create new package. (#6044) 2017-11-08 21:52:46 -07:00
Yifan Zhu
ac7f5a1af1 r-mzr: created new package (#6206) 2017-11-08 19:53:00 -07:00
Yifan Zhu
cd4b19ffa8 r-msnbase: new package (#6207) 2017-11-08 19:52:38 -07:00
lingnanyuan
912d39908d r-sqldf: Create new package. (#6208) 2017-11-08 19:52:08 -07:00
lingnanyuan
4585d6426a r-gsubfn: Create new package. (#6209) 2017-11-08 19:51:51 -07:00
Yifan Zhu
b110cd0b12 r-vsn: new package (#6210)
* r-hexbin: updated md5

* r-vsn: created new package
2017-11-08 19:51:35 -07:00
lingnanyuan
7848e0d4b6 r-quantmod: Update version to 0.4-11 (#6212) 2017-11-08 19:51:13 -07:00
Yifan Zhu
ecdaea1c8e r-xml2: created new package (#6217) 2017-11-08 19:50:53 -07:00
lingnanyuan
1c2292dcd4 r-timedate: Create new package. (#6215) 2017-11-08 19:50:37 -07:00
lingnanyuan
5558cce438 r-fracdiff: Create new package. (#6214) 2017-11-08 19:50:18 -07:00
lingnanyuan
2cd57876c7 r-forecast: Create new package. (#6213) 2017-11-08 19:49:58 -07:00
Christoph Junghans
b3f678c1c0 gasnet: add 1.30.0 (#6167)
* gasnet: add 1.30.0

* gasnet: expose more options as variants

* gasnet: change defaults
2017-11-08 19:43:13 -07:00
Audrey Thoma
877bee3cb5 guidance: new package (#6079)
* guidance: new package

* not really fixed yet

* adding loop

* fixing url

* dang typos
2017-11-08 14:07:13 -07:00
lingnanyuan
dd3a6d7f18 r-ampliqueso: Create new package. (#6132) 2017-11-08 14:05:53 -07:00
Yifan Zhu
96f70606e8 r-tiff: created new package (#6134) 2017-11-08 14:05:33 -07:00
lingnanyuan
f73b409968 r-anaquin: Create new package. (#6138) 2017-11-08 14:05:17 -07:00
lingnanyuan
2cba0d4d5f r-qvalue: Create new package. (#6137) 2017-11-08 14:05:00 -07:00
baip
4273ebac3c libxsmm: add libs property (#6193) 2017-11-08 14:04:26 -07:00
lingnanyuan
17b9a479b6 r-aneufinderdata: Create new package. (#6192) 2017-11-08 14:03:35 -07:00
lingnanyuan
bb619aa091 r-aneufinder: Create new package. (#6191) 2017-11-08 14:03:22 -07:00
Christoph Junghans
d8db861fec flecsi: fix build (#6168) 2017-11-08 14:03:05 -07:00
lingnanyuan
04f32377b2 r-rhtslib: Create new package. (#6164) 2017-11-08 14:02:12 -07:00
Audrey Thoma
3fcc911737 kraken: new package (#6163) 2017-11-08 14:01:55 -07:00
Audrey Thoma
743a87abb3 fpc: new package (#6162) 2017-11-08 14:01:31 -07:00
lingnanyuan
6556a5c914 r-cowplot: Create new package. (#6190) 2017-11-08 13:58:57 -07:00
Yifan Zhu
5f70d578ec r-maldiquant: created new package (#6188) 2017-11-08 13:58:43 -07:00
lingnanyuan
860834e094 r-reordercluster: Create new package. (#6187) 2017-11-08 13:58:21 -07:00
Yifan Zhu
605c8e65b3 r-mzid: created new package (#6186) 2017-11-08 13:58:04 -07:00
Yifan Zhu
98baf49ba6 r-xde: created new package (#6185) 2017-11-08 13:57:46 -07:00
lingnanyuan
3943bc945b r-ggdendro: Create new package. (#6184) 2017-11-08 13:57:30 -07:00
lingnanyuan
241e1b56b5 r-dnacopy: Create new package. (#6183) 2017-11-08 13:57:15 -07:00
Yifan Zhu
92a582d5f8 r-mergemaid: created new package (#6182) 2017-11-08 13:56:59 -07:00
lingnanyuan
146db9adef r-bamsignals: Create new package. (#6181) 2017-11-08 13:56:34 -07:00
Yifan Zhu
87aafeb78a r-xmapbridge: created new package (#6180) 2017-11-08 13:56:15 -07:00
Sergey Kosukhin
c7a855ba57 Missing dependency for 'cdo'. (#6175) 2017-11-08 13:55:57 -07:00
baip
ed00757265 gcc: add 5.5.0 (#6171) 2017-11-08 20:27:08 +01:00
Todd Gamblin
9c774cccde Add basic CONTRIBUTING.md that points to contribution guide docs (#6203) 2017-11-08 11:09:11 -08:00
vishalkenchan
392929ba77 lammps: add more packages (#6174)
* lammps : adding new varients and dependencies therein

* Update package.py

* removing trailing whitespaces
2017-11-08 09:01:14 -07:00
Matthew Scott Krafczyk
00d48e60bf Fix for nghttp2 installation (#5904)
nghttp2 depends on python, and requires the install directory to exist,
and contain the python module directory which it will eventually
install the python modules into.
2017-11-07 15:59:15 -08:00
James Dickson
841d42b308 TyphonIO: new package + Updated MACSio package (#6177) 2017-11-07 13:13:06 -07:00
Todd Gamblin
3a0324fe1a add artisanal handcrafted SVG Spack logo. (#6165)
- This isn't one of those autogenerated SVGs from a drawing program!

- This is a completely re-traced, minimalist SVG file with clearly
  delineated pieces so that your favorite renderer can draw a Spack logo
  at whatever resolution you want.

- Included versions with text, as well.
2017-11-06 22:42:16 -08:00
Johann Klähn
ac3a807f58 Fix spack view hardlink (#6130)
Fix a typo in "spack view hardlink" introduced in #5415
("os.hardlink" does not exist).
2017-11-06 19:19:27 -08:00
Audrey Thoma
8bae192d5c repeatmasker: new package (#6108) 2017-11-06 17:27:42 -07:00
Michael Kuhn
ca73103dac Introduce static_to_shared_library function (#6092)
The static_to_shared_library function takes an existing static library
and produces a shared library based on it.
2017-11-06 17:21:46 -07:00
Axel Huebl
54bb28ccb0 Docs: MPI as Root (#6156)
New versions of OpenMPI need `--allow-run-as-root` for
running as root:
  http://www.open-mpi.de/doc/v2.0/man1/mpirun.1.php#toc22
2017-11-06 13:03:46 -08:00
Satish Balay
dc78e60c83 trilinos: update hdf5 dependency to use 'hdf5+hl' (#6025)
* 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

* fix flake8 warning
2017-11-06 13:03:06 -08:00
Luigi Calori
f0d33df3a9 some missing X11 "*proto" dependencies (#6158)
* fix xinput deps

* adding other x11 proto missing deps, see #6157
2017-11-06 13:02:05 -08:00
Satish Balay
436ebc4490 petsc: update petsc dependency on superlu-dist (#6159) 2017-11-06 12:52:10 -08:00
scheibelp
31c5467f56 Add back help placeholder for "spack load" (#6127)
Fixes #6126

#3183 removed the print_help function from the "modules" module.
This adds it back so that if a user invokes 'spack load foo' without
having sourced an environment setup script, they will be prompted
to do so. This also improves the placeholder message to tell the 
user to invoke 'spack' as shell function rather than as an executable.
2017-11-06 11:03:36 -08:00
Yifan Zhu
cd4d26705e Bioconductor package url change (#5797) 2017-11-06 11:17:59 -07:00
Michael Kuhn
450f2fa034 likwid: Use external lua if possible (#6009) 2017-11-06 11:14:34 -07:00
Douglas Duckworth
47b15feec3 added new package - MotionCor2 (#6151) 2017-11-06 11:09:46 -07:00
Denis Davydov
f538b7ac3e dealii: make sure bundled libs are not used (#6106) 2017-11-06 12:38:59 +01:00
Besnard Jean-Baptiste
84c6fea32e Graphviz : Add a GTS variant (#6149)
Enable support for the GNU Triangulated Surface Library

	- New variant +gts for graphviz
	- Optionnal dependency for GTS (already packaged)
2017-11-05 16:55:44 -08:00
Douglas Duckworth
ccc51cea7d added relion v 2.1 (#6023)
* added relion v 2.1

* relion 2.1 - misssed comma

* relion now pulling from master branch - removed 2.03 - added cuda 8 as dependency given 9 does not yet work with relion per https://github.com/3dem/relion/issues/296
2017-11-05 15:01:21 -08:00
Ben Boeckel
22df09315f Re-add list_url for all R packages (#6110)
* r-igraph: find old packages in the archive

Fixes #6104.

* r-irlba: find old packages in the archive

Fixes #6101.

* r-lazyeval: find old packages in the archive

Fixes #6102.

* packages: set list_url for all packages hosted on CRAN

* packages: consistently use the CRAN archive URLs
2017-11-05 13:42:24 -08:00
Adam Moody
2a8c97d440 dtcmp: add v1.1.0 (#6146) 2017-11-05 09:25:03 -08:00
Satish Balay
d34d0d6cbc petsc: update to version 3.8.1 (#6150)
* petsc: update to version 3.8.1

* petsc: add in conflict between petsc-3.8.0 & mkl
2017-11-05 09:24:42 -08:00
Axel Huebl
5d9dd24daa ISAAC 1.3.3 (#6152)
Add a new release of ISAAC.
2017-11-05 09:24:18 -08:00
Todd Gamblin
05fa302655 Replace github.com/llnl/spack with github.com/spack/spack (#6142)
We moved to a new GitHub org! Now make the code and docs reflect that.
2017-11-04 17:08:04 -07:00
vishalkenchan
386e0af089 add rol variant (#6105) 2017-11-04 12:14:46 -07:00
Yifan Zhu
9d234c4f8e r-yapsa: created new package (#6121) 2017-11-03 14:21:00 -06:00
Yifan Zhu
fb1160d052 r-keggrest: created new package (#6120) 2017-11-03 14:20:36 -06:00
lingnanyuan
3921948b03 r-statmod: Create new package. (#6119) 2017-11-03 14:20:14 -06:00
lingnanyuan
b204c7e793 r-deseq: Create new package. (#6118) 2017-11-03 14:19:38 -06:00
lingnanyuan
f91c25ddee r-samr: Create new package. (#6117) 2017-11-03 14:19:16 -06:00
lingnanyuan
d54627659a r-impute: Create new package. (#6116) 2017-11-03 14:18:46 -06:00
lingnanyuan
95e290eaf3 r-altcdfenvs: Create new package. (#6115) 2017-11-03 14:18:17 -06:00
lingnanyuan
64689bdb01 r-makecdfenv: Create new package. (#6114) 2017-11-03 14:17:58 -06:00
lingnanyuan
b614c7970b r-hypergraph: Create new package. (#6113) 2017-11-03 14:17:36 -06:00
Johann Klähn
3fc8a71afb Fix restaging of resources (#5681)
Part of the resource staging process is to place downloaded/expanded
files in the root stage. This was not happening when a resource stage
was restaged.
2017-11-03 11:29:43 -07:00
Todd Gamblin
12f0725e9f spack fetch: don't fetch externals. (#6124)
Fixes #6123

spack fetch shouldn't attempt to fetch external deps when invoked
with --dependencies.
2017-11-03 10:15:15 -07:00
Axel Huebl
5a4544ab05 ISAAC 1.3.2 (#6129)
Add a new release of ISAAC.
2017-11-03 14:58:38 +01:00
Michael Kuhn
bd7d61325f Configure user for mock Git repository (#6128)
If user.useConfigOnly is set globally and no name or e-mail is
configured, the git_fetch tests fail.
2017-11-02 21:43:28 -07:00
Ben Boeckel
0f896e921f test_activations: also test perl activations 2017-11-02 18:45:40 -07:00
Peter Scheibel
3a2a0c9ad4 test_activations: test Python's extension logic 2017-11-02 18:45:40 -07:00
Peter Scheibel
dde93c01cf spec: support a test prefix
This is used in tests to test real packages without actually building
and installing them.
2017-11-02 18:45:40 -07:00
Ben Boeckel
be01b2d5f0 aspell: refuse to work with non-global extensions
Aspell compiles in the paths it looks for rather than looking relative
to its binary location. There are also no environment variables to
redirect it other than changing the path to the configuration file it
looks at.
2017-11-02 18:45:40 -07:00
Ben Boeckel
a81485cb3f perl: support extensions in views 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
643a28aac5 python: extensions support for easy-install.pth 2017-11-02 18:45:40 -07:00
Ben Boeckel
d5a3d9d20e view: test conflicting packages in views 2017-11-02 18:45:40 -07:00
Ben Boeckel
13b669de8e view: test that extension paths exist 2017-11-02 18:45:40 -07:00
Ben Boeckel
a06c6b0366 filesystem_view: reject packages with activations
If there are extensions that are globally activated, reject adding them
to a view. Those extensions should not be implicitly activated.
2017-11-02 18:45:40 -07:00
Ben Boeckel
26724688b1 view: test viewing external packages 2017-11-02 18:45:40 -07:00
Ben Boeckel
ea62347c46 view: add a test for extension activation 2017-11-02 18:45:40 -07:00
Ben Boeckel
41dfba0ba1 extension1: add a second version 2017-11-02 18:45:40 -07:00
Ben Boeckel
4511d9d924 extensions: support only showing a subset of information 2017-11-02 18:45:40 -07:00
Ben Boeckel
b7ec870c3b extensions: support acting on a view
This allows extensions to be (de)activated and queried within a view
rather than only acting on the global installation.
2017-11-02 18:45:40 -07:00
Oliver Breitwieser
db529f5b61 view: use the FilesystemView abstraction for creating views 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
af42c24ef5 view: fix some docstrings for arguments 2017-11-02 18:45:40 -07:00
Ben Boeckel
9a39efd966 filesystem_view: do not link external packages 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
538d855e1b filesystem_view: add a class to handle a view via a Yaml description 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
21dc31a4a1 package: support removing dependencies when deactivating 2017-11-02 18:45:40 -07:00
Ben Boeckel
f50ddeed9f conftest: mock out spack.store.extensions as well 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
078f85a125 views: support querying view layouts as well
This abstracts out the layout in use between the global installations
and a specific view.
2017-11-02 18:45:40 -07:00
Oliver Breitwieser
00a893aa79 link_tree: support choosing the link function
This can be used to make hardlinks rather than symlinks.
2017-11-02 18:45:40 -07:00
Oliver Breitwieser
9024ddcf05 link_tree: support ignoring conflicts 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
20cd82dc56 directory_layout: add a YamlExtensionsLayout class
This uses a view to query extensions.
2017-11-02 18:45:40 -07:00
Oliver Breitwieser
94c0740a88 link_tree: only remove matching files when unmerging 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
b9e8402104 directory_layout: factor out an ExtensionsLayout class 2017-11-02 18:45:40 -07:00
Ben Boeckel
650ca7db9e extensions: add an installed_extensions_for method 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
56bafdc282 database: rename installed_extensions_for
Views support activating packages, so rename the method because it will
soon query what is activated versus what is installed.
2017-11-02 18:45:40 -07:00
Oliver Breitwieser
70d3558596 package: support verbosity when activating 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
af0cf2d3c6 package: rename activated to is_activated
This allows the activation code to be later given parameters.
2017-11-02 18:45:40 -07:00
Ben Boeckel
f31b47c353 cmd/test: fix a typo in a comment 2017-11-02 18:45:40 -07:00
Ben Boeckel
6f9bf197a5 spec_yaml: fix a typo 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
28cc077ef6 view: fix a typo 2017-11-02 18:45:40 -07:00
Ben Boeckel
76305038ef determine full compiler version for gcc-7
Fixes #5778.

Spack uses 'gcc -dumpversion' to determine the full version of gcc.
'gcc -dumpversion' no longer gives the full version on gcc 7.2.0.
'gcc -dumpfullversion' is required instead. This PR detects when
'gcc -dumpversion' gives a truncated version of '7' and in that
case retrieves the full version with 'gcc -dumpfullversion'
2017-11-02 18:44:10 -07:00
Ben Boeckel
a7925bb927 bdftopcf: require xproto and fontsproto at build time (#6112)
These are technically "link" depends of libxfont, but they have no
actual libraries.

Fixes #5936.
2017-11-02 15:47:18 -06:00
lingnanyuan
13f1781bea Add package r-reportingtools and update url for its dependencies. (#6071)
* r-reportingtools: Create new package.

* r-go-db: Update url.

* r-gseabase: Update url.

* r-pfam-db: Update url.
2017-11-02 14:21:32 -06:00
Michael Kuhn
d1db161aeb adios: Fix hdf5 and sz dependencies (#6016)
- hdf5's +hl variant is required because the build uses libhdf5_hl.
- sz is only compatible up to version 1.4.10 because the library has
  been renamed to libSZ in 1.4.11.
2017-11-02 13:41:25 -06:00
Brice Goglin
3a1b013291 hwloc: add version 1.11.8 (#6099)
Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
2017-11-02 13:40:46 -06:00
Audrey Thoma
f9341857c7 arlecore: new package (#6109) 2017-11-02 13:40:03 -06:00
Todd Gamblin
c96f2e50a6 Only use XCode clang wrappers for packages that set use_xcode=True (#6077) 2017-11-02 09:19:23 -07:00
Christoph Junghans
c4db3d384e gromacs: add develop version (#6098) 2017-11-02 15:16:21 +01:00
Adam J. Stewart
e47ceefc43 sundials+hypre depends on hypre (#6075) 2017-11-02 08:16:43 +01:00
Denis Davydov
11ba60413b the-silver-searcher: add missing dependency (#6095) 2017-11-02 08:10:40 +01:00
Michael Kuhn
61ed583266 xqilla: Use append instead of extend (#6094) 2017-11-02 08:09:24 +01:00
Brian Van Essen
932068d725 Update candle (#6097) 2017-11-01 23:58:55 -06:00
scheibelp
3eb59f6932 update filename used for cc wrapper invocation debug log (#5837)
The name of the debug log written by the cc compiler wrapper was given
by Spec.short_spec, which includes the architecture. Somewhere along
the line Spec.format started adding spaces around the architecture
property so the filename started including spaces; the cc wrapper
script appears to ignore this, so files like spack-cc-bzip2-....in.log
(which record the wrapped compiler invocations) were not being
generated. This uses a different format string from the spec to
generate the wrapper log file names (which does not include spaces).
2017-11-01 20:11:00 -07:00
scheibelp
60a485591c Fix user specs which include already-installed packages (#5939)
* when a user-provided spec refers to an already-installed package, packages with patches applied were causing validation errors based on the recorded variants in the package's class

* avoid checks on all reserved variants (not just 'patches')
2017-11-01 18:44:31 -07:00
Yifan Zhu
7d0c6361ee r-getoptlong: created new package (#6069) 2017-11-01 19:09:54 -06:00
Yifan Zhu
f15969d624 r-gtrellis: created new package (#6088) 2017-11-01 19:09:20 -06:00
Brian Van Essen
86b7b84ddf LBANN flags and OpenCV variant (#5951)
* Fixed the datatype flag in the LBANN package.
Fixed where the datatype flag should be set.

* Added variant to OpenCV to disable building DNN support

* Fixed a bug in how the elemental package tries to find its Fortran
library.  The current method does not work with Intel compilers.

* Added necessary paths for cuDNN and CUB.

* Addressed flake8 issues in Elemental package.

* Fixed several flake8 errors.  Added variant to build with or without
support for arbitrary-precision floating point arithmetic.

* Added the proper CMake flag when MPFR support is disabled.

* Fixed a bug in how the cudnn path was being set when there was no
cudnn requested.  Also requested that OpenCV is built without eigen
support.

* Fixed another bug where a dependency may not be there and thus should
not be always checked.
2017-11-01 17:25:28 -07:00
Michael Kuhn
0d624eac55 lua: Build a shared library (#6008)
Patch is inspired by Arch Linux and Homebrew.
2017-11-01 17:10:14 -06:00
Yifan Zhu
f3af8272f5 r-circlize: new package (#6087) 2017-11-01 17:08:46 -06:00
lingnanyuan
ef240f59b8 r-alsace: Create new package. (#6064) 2017-11-01 17:04:56 -06:00
Yifan Zhu
26ade0c9ae r-globaloptions: new package (#6068) 2017-11-01 17:04:38 -06:00
lingnanyuan
a05cca49d8 r-affycoretools: Create new package and its dependency r-ff. (#6082)
* r-ff: Create new package

* r-affycoretools: Create new package.

* r-ff: update url.
2017-11-01 17:04:17 -06:00
lingnanyuan
541818ed06 r-agimicrorna: Create new package. (#6083) 2017-11-01 17:03:48 -06:00
Yifan Zhu
616a43b76d r-complexheatmap: created new package (#6084) 2017-11-01 17:03:30 -06:00
Yifan Zhu
ebff5086d7 r-shape: created new package (#6086) 2017-11-01 17:03:15 -06:00
Yifan Zhu
7fb6fbea54 r-pmcmr: new package (#6085) 2017-11-01 17:02:58 -06:00
Brian Van Essen
0c075b4923 Opencv eigen (#6014)
* Added a package for the MDAnalysis toolkit.

* Changed dependency for the eigen library to not include support for
multiple-precision (arbitrary-precision) floating point arithmetic,
since OpenCV does not support these data types.

* Fixed incorrect implementation
2017-11-01 13:50:06 -07:00
Mark Grondona
165e6bfe5f flux: update flux-core to v0.8.0 (#5914)
* dockbook: remove update to dependent environment

Remove override of setup_dependent_environment in both docbook-xml
and docbook-xsl, which seems to generate a warning from spack about
"Suspicious requests to set or unset 'XML_CATLOG_FILES' found."

* flux: update version/dependencies to 0.8.0

Update flux-core to v0.8.0. Clean up dependencies and remove unneeded
extra invocation of ./autogen.sh when building from @master.

* flux: modify environment for Lua tests

Modify Spack environment to add `./?.lua` to LUA_PATH so that
fluxometer.lua can be found by tests during `make check` run
from `spack install --tests all flux`

* flux: fix broken flux version when on master

When building @master with spack, the flux version test from
`make check` fails because spack is using a shallow clone. Add
a setup section for @master that calls git pull --depth=50 --tags
to pull down tags and (hopefully) enough information for git-describe
to work properly.
2017-11-01 08:53:37 -07:00
Satish Balay
445ffc46a1 mfem does not use cmake for builds [anymore] - so remove code corresponding to this dependency. (#6073)
This enables mfem build on OSX [with xcode/clang compilers]
2017-11-01 08:52:03 -07:00
Elsa Gonsiorowski
b53adc90f7 MACSio and JSON-CWX packages (#6018) 2017-10-31 19:07:00 -06:00
Patrick Gartung
8a812294e0 Preinstall some llvm shared libraries so tblgen will work. (#5988) 2017-10-31 18:34:33 -06:00
Yifan Zhu
0ecef7d7f8 r-somaticsignatures: created new package (#6065) 2017-10-31 18:31:06 -06:00
lingnanyuan
1ec8f6ea3f r-nloptr: Create new package. (#6063) 2017-10-31 18:30:49 -06:00
lingnanyuan
cfb685aa32 r-ptw: Create new package. (#6062) 2017-10-31 18:29:45 -06:00
lingnanyuan
aa1808c9a1 r-iso: Create new package. (#6061) 2017-10-31 16:17:53 -06:00
lingnanyuan
6af19477ef r-nnls: Create new package. (#6060) 2017-10-31 16:17:36 -06:00
lingnanyuan
77b29288e6 r-als: Create new package. (#6059) 2017-10-31 16:17:21 -06:00
Yifan Zhu
10fcd9382a r-ggbio: new package (#6058) 2017-10-31 16:17:07 -06:00
Bill Williams
f5e68879db Fix spack build for RAJA: master requires submodules (#6052)
* Fix spack build for RAJA: master requires submodules

* Rename version: git to develop
2017-10-31 15:08:32 -06:00
Scott Wittenburg
3cb2d5341d Fix incorrect checksum value for adios2 tarball (#6054) 2017-10-31 15:08:08 -06:00
lingnanyuan
6427406fc6 r-gviz: Create new package. (#6043) 2017-10-31 15:06:30 -06:00
Brian Homerding
8a86016bef Added fftw dependency (#6057) 2017-10-31 14:33:01 -06:00
Brian Homerding
180dcfc652 sw4lite: Added -lgfortran and set to serial build (#6055)
* Added -lgfortran and set to serial build

* Update package.py
2017-10-31 14:29:06 -06:00
Christoph Junghans
d98e337706 ecp-proxy-suite: add nekbone and candle-benchmarks (#6053) 2017-10-31 13:11:08 -06:00
Christoph Junghans
182c11dd92 nekbone: add v17 (#5978) 2017-10-31 10:47:24 -06:00
Christoph Junghans
178107699c candle-benchmarks: initial commit (#6020) 2017-10-31 09:11:04 -06:00
Christoph Junghans
ea35f49cdd flang: fixed a typo (#6048) 2017-10-31 14:21:29 +01:00
Nils Deppe
4997291bf4 Add v3.2 of Blaze library (#5992) 2017-10-31 08:33:55 +01:00
George Hartzell
e69542c019 Fix tarball URL's for htslib (#5993)
A recent update (#5907) to htslib added a different URL for an old
version of htslib.

Now the package is using that URL as the pattern for the newer
versions too.

I have a vague memory of running into this before, that it's a known
issue.

This fixes it by adding an explicit `url_for_version` routine.
2017-10-30 22:49:52 -06:00
David Gardner
10b27ec788 sundials: update to v3.0.0 (#6004) 2017-10-30 22:49:13 -06:00
Jon Rood
50d932d9f1 Merging netcdf dependency lines in trilinos into one line for better coverage. (#5990) 2017-10-30 22:48:21 -06:00
Satish Balay
f5863d6708 superlu_dist: update to v5.2.2 (#6024) 2017-10-30 22:46:41 -06:00
Yifan Zhu
a31a1fef28 r-progress: new package (#6034)
* r-progress: created new package

* added version
2017-10-30 22:43:57 -06:00
Yifan Zhu
a97068a861 r-prettyunits: created new package (#6033) 2017-10-30 22:43:20 -06:00
lingnanyuan
6ddba08434 r-seqinr: Update version to 3.4-5 (#6032) 2017-10-30 22:42:51 -06:00
Yifan Zhu
8cc3bcb649 r-ggplot2: dependecy r-scales version should be 0.4.1: (#6031) 2017-10-30 22:42:31 -06:00
Yifan Zhu
fb072d1472 r-scales: added dependencies and version 0.5.0. (#6030)
* r-scales: Update url.

* r-scales: added version 0.5.0 and dependencies
2017-10-30 22:42:05 -06:00
lingnanyuan
7e4ac9a559 r-segmented: Update version to 0.5-2.2 (#6029) 2017-10-30 22:41:32 -06:00
Yifan Zhu
34c6ff10e9 r-ggally: new package (#6036)
* r-ggally: created new package

* r-ggally: version modified
2017-10-30 22:41:12 -06:00
lingnanyuan
65785cc3f5 r-speedglm: Create new package. (#6035) 2017-10-30 22:40:48 -06:00
lingnanyuan
a4138b6041 r-alpine: Create new package. (#6037) 2017-10-30 22:40:25 -06:00
Yifan Zhu
22f9125164 r-ensembldb: created new package (#6038) 2017-10-30 22:39:54 -06:00
Yifan Zhu
2a7027e2cc r-pcamethods: created new package (#6041) 2017-10-30 22:39:29 -06:00
Yifan Zhu
cbb433655c r-proxy: created new package (#6039) 2017-10-30 22:39:05 -06:00
lingnanyuan
8271434632 r-backports: Create new package. (#6040) 2017-10-30 22:38:35 -06:00
lingnanyuan
81d3c9fdc6 r-biovizbase: Create new package. (#6042) 2017-10-30 22:38:10 -06:00
Abhinav Bhatele
b37c8fef74 ecp-proxy-apps: release number changed to 1.0 (#6049) 2017-10-30 22:37:09 -06:00
scheibelp
e5b8312de3 Auto install available pre-built packages from binary cache (#5242)
* basic functionality to install spec from a binary cache when it's available; this spiders each cache for each package and could likely be more efficient by caching the results of the first check

* add spec to db after installing from binary cache

* cache (in memory) spec listings retrieved from binary caches

* print a warning vs. failing when no mirrors are configured to retrieve pre-built Spack packages

* make automatic retrieval of pre-built spack packages from mirrors optional

* no code was using the links stored in the dictionary returned by get_specs, so this simplifies the logic to return only a set of specs

* print package prefix after installing from binary cache

* provide more information to user on install progress
2017-10-30 14:16:46 -07:00
Abhinav Bhatele
347c76b7a0 comd: update the git repo (#6027)
git repo has moved from exmatex to ECP-copa
2017-10-30 14:47:16 -06:00
George Hartzell
e6bc45a04a Add bowtie2@2.3.0, fix dependencies and sbangs (#5834)
* Add bowtie2@2.3.0, fix dependencies and sbangs

Add support for bowtie2@2.3.0

- digest
- a patch for 2.3.0 that parallels the existing package.  Truth be
  told it builds (for me) without this, but I'm assuming that they're
  there for a reason...).
- tune up dependencies
  - need tbb
  - don't need readline or zlib

Several things were installed with sbang's that use `/usr/bin/env` to
fine perl or python.  Fix the dependency and clean up the sbang lines.

* Fix python exe name, avoid path banging

I'd cut and pasted the python bit from the perl bit and missed one
reference to perl.

While I'm there, use the cleaner `spec['perl'].command` instead of
banging together the path from its bits.

* Fix up the "when" constraints on the dependencies

Get the edge cases right.

- 2.2.5 doesn't need tbb, 2.3.[01] do.
- 2.3.1 needs readline and zlib.
2017-10-29 15:40:00 -06:00
Denis Davydov
957ded209a add updated 2017 versions of Intel packages (#5957) 2017-10-29 15:38:10 -06:00
mmwolf
73fb02229a Changed from setting C compiler to setting C++ compiler (#6011) 2017-10-29 07:42:27 -06:00
Denis Davydov
f6a8ae230e dealii: remove bzip2 dependency for newer versions (#6022) 2017-10-29 07:39:51 -06:00
Yifan Zhu
56c7832789 r-iranges: changed url to git and added versioned dependency on r (#5971) 2017-10-28 12:14:33 -06:00
Audrey Thoma
f340333e6e r-geomorph and other r fixes (#5961) 2017-10-28 12:13:38 -06:00
lingnanyuan
57611397c9 r-e1071: Add list_url. (#5986) 2017-10-28 12:12:52 -06:00
Michael Kuhn
b43e2d2546 likwid: Update checksum (#6007) 2017-10-28 12:12:21 -06:00
Yifan Zhu
43c1bb5f30 r-organismdbi: new package (#5997) 2017-10-28 12:11:44 -06:00
lingnanyuan
3eab6ed4b2 r-aldex2: Create new package. (#6015) 2017-10-28 12:10:22 -06:00
Christoph Junghans
167f7d0cdd legion: add v17.10.0 (#6019) 2017-10-28 12:09:39 -06:00
Audrey Thoma
edae3ceae7 fixing abyss (#5973) 2017-10-28 17:05:52 +02:00
Sergey Kosukhin
5ebddcd5e3 Bugfix: from_list_url(). (#5780)
This fixes a bug in from_list_url where it was referring to a method
which no longer exists. This also adds a test for the from_list_url
function.
2017-10-27 17:41:41 -07:00
Christoph Junghans
95c8ecb6f5 libaec: add v1.0.2 and generic url (#6017) 2017-10-27 18:22:27 -06:00
Matthias Diener
45bfcfa30a Byobu: new package (#5974) 2017-10-27 10:43:45 -07:00
Christoph Junghans
f9599c1772 ecp-proxy-apps: add more package (#6003) 2017-10-27 08:34:52 -06:00
Christoph Junghans
c97bf0486c SWFFT: initial commit (#5953)
* SWFFT: initial commit

* swfft: fix build target

* swfft: add v1.0

* Update package.py
2017-10-27 07:20:29 -06:00
Christoph Junghans
13b41cd53c comd: add v1.1 (#5994)
* comd: add v1.1

* Update package.py

* remove serial variant, now ~mpi

* Update package.py
2017-10-27 07:20:18 -06:00
lingnanyuan
222fee1cb3 r-graph: Create new package. (#5958) 2017-10-27 08:34:33 +02:00
lingnanyuan
f244653496 r-category: Create new package. (#5959) 2017-10-27 08:34:16 +02:00
lingnanyuan
715a679245 r-methodss3: Create new package. (#5960) 2017-10-27 08:32:20 +02:00
lingnanyuan
737f9eee5c r-oo: Create new package. (#5962) 2017-10-27 08:31:46 +02:00
lingnanyuan
f676d8f3d7 r-utils: Create new package. (#5964) 2017-10-27 08:31:26 +02:00
lingnanyuan
3bb4572e81 r-pfam-db: Create new package. (#5965) 2017-10-27 08:27:19 +02:00
lingnanyuan
95ece343c4 r-oligoclasses: Create new package. (#5966) 2017-10-27 08:26:25 +02:00
Yifan Zhu
3ea6a11043 r-interactivedisplaybase: created new package (#5967) 2017-10-27 08:26:02 +02:00
lingnanyuan
c672b2b191 r-annotationforge: Create new package. (#5968) 2017-10-27 08:25:12 +02:00
lingnanyuan
57528fddbb r-gostats: Create new package. (#5969) 2017-10-27 08:24:49 +02:00
Audrey Thoma
835e6107fe r-mcmcglmm: new package (#5970) 2017-10-27 08:24:28 +02:00
Yifan Zhu
7b0fd6510c r-annotationhub: created new package (#5972) 2017-10-27 08:23:25 +02:00
Denis Davydov
c2094a11e3 gnuplot: add 5.2.0 and 5.0.7 (#5979) 2017-10-27 08:20:34 +02:00
lingnanyuan
dc8a0e8410 r-deseq2: Create new package. (#5981) 2017-10-27 08:16:40 +02:00
lingnanyuan
1de2109a5a r-agdex: Create new package. (#5983) 2017-10-27 08:16:04 +02:00
lingnanyuan
82b1731ded r-agilp: Create new package. (#5984) 2017-10-27 08:15:39 +02:00
lingnanyuan
7c56318cb5 r-aims: Create new package. (#5987) 2017-10-27 08:14:55 +02:00
George Hartzell
55b79dca8c Add info for go@1.9.2 (#5989)
The go team released 1.9.2 which includes fixes for some things
that 1.9.1 broke:

> ... include fixes to the compiler, linker, runtime, documentation, go command, and the crypto/x509, database/sql, log, and net/smtp packages. They include a fix to a bug introduced in Go 1.9.1 and Go 1.8.4 that broke "go get" of non-Git repositories under certain conditions.
2017-10-27 08:13:33 +02:00
Yifan Zhu
3849401d85 r-annotationfilter: created new package (#5995) 2017-10-27 08:09:31 +02:00
Yifan Zhu
0c2a691b1b r-protgenerics: created new package (#5998) 2017-10-27 08:08:16 +02:00
Abhinav Bhatele
ad51e818a7 ecp-proxy-apps: add dependencies (#5999) 2017-10-26 19:54:40 -06:00
Christoph Junghans
0b3247c23d miniamr: bump to v1.4.0 (#5975) 2017-10-26 19:51:50 -06:00
Ben Boeckel
bd6378a6d2 Package.extends: update semantics when package isn't concrete (#5600)
This updates the logic for Package.extends so that if the spec
associated with the package is not concrete, it will report true if
the package *could extend* the given spec; generally speaking a
package could extend a spec as long as none of the details associated
with its extendee spec conflict with the given spec. When the spec
associated with the package is concrete, this function will only
report whether the package *does extend* the given spec. When both
the specs are concrete, the semantics are the same as before.
2017-10-26 13:12:32 -07:00
Ondřej Čertík
0e464f86bb Exodus: skip the -G "Unix Makefiles" part (#5906)
* Exodus: skip the -G "Unix Makefiles" part

The problem is that spack passes -G "Unix Makefiles" into cmake, which normally
works. But in the Exodus package, it is being passed into a bash wrapper
script. In there, the $@ then loses the information about "Unix Makefiles"
being just one argument, and in effect passes -G Unix Makefiles into the cmake
(without quotes), and so cmake only sees -G Unix, and then fails. This is a
known problem with bash with no simple solutions. As a workaround, this patch
skips the first two arguments, i.e., -G and "Unix Makefiles". This makes it
work.

Fixes #5895.

* Port exodusii to cmake

The cmake options were taken from the cmake-exodus bash script and ported to
spack directly.

* Use variant forwarding to forward the 'mpi'

Now instead of

    spack install exodusii~mpi^netcdf~mpi^hdf5~mpi

one can just use

    spack install exodusii~mpi
2017-10-26 13:50:18 -06:00
Patrick Gartung
8e47b17a4d Buildcache: symlinks, externals, & install-checking (#5894)
* When creating a tar of a package for a build cache, symlinks are
  preserved (the corresponding path in the newly-created tarfile will
  be a symlink rather than a copy of the file)
* Dont add external packages to a build cache
* When installing from binary cache, don't create install prefix until
  verification is complete
2017-10-26 11:06:59 -07:00
Christoph Junghans
5c09176014 minife: version bump to v2.1.0 (#5985) 2017-10-26 11:45:40 -06:00
Abhinav Bhatele
0ff1fe90fa Laghos: new package (#5956) 2017-10-26 09:18:57 -06:00
Abhinav Bhatele
02744141e9 sw4lite: fix build errors and add variants (#5944)
* sw4lite: fix build errors and add variants

* sw4lite: change linking against blas and lapack

* change order of blas and lapack

* satisfy flake8 requirements

* Update package.py
2017-10-26 09:18:05 -06:00
Jon Rood
18d2fe7647 Customization of the Paraview module file to its nonstandard directory structure (#5799)
* Add the custom paraview lib directory structure to the library paths in the paraview module file.

* Fixing flake8 issues.

* Checking if lib64 exists for paraview module file generation, else use lib.

* Fixing more flake8 problems I introduced.
2017-10-26 11:12:04 +02:00
Christoph Junghans
a05bbd7104 flang: fixed llvm dep (#5948)
* flang: fixed llvm dep

* add support for llvm-5

* Update package.py

* Update package.py
2017-10-26 09:34:33 +02:00
Johann Klähn
306f536138 Add option to install clang python bindings to llvm (#5774) 2017-10-26 01:46:03 +02:00
Ondřej Čertík
89b0a09de0 Make clang use libc++ by default (#5943)
Since LLVM 3.9 Clang can use the libc++ library by default using the
CLANG_DEFAULT_CXX_STDLIB cmake configuration variable, without having to
specify the -stdlib=libc++ option on the clang++ command line.

This commit makes clang++ use libc++ by default for LLVM 3.9 and later if the
libcxx variant is on.

Fixes #5942.
2017-10-25 16:19:32 -06:00
Ondřej Čertík
aa750f12de Colorize "Installing pkg_name" (#5950)
Now one can quickly visually see in the terminal which packages are installed
and where each package begins and ends in the log.
2017-10-26 00:06:56 +02:00
mmwolf
ffb4251666 adding miniTri miniapp (#5935) 2017-10-25 15:49:22 -06:00
scheibelp
dcdd16b35e Check for namespace-qualified packages in repo_for_pkg (#5787)
* Fixes #5754

Previously when RepoPath.repo_for_pkg was invoked with a string,
it did not check if the string included a namespace. Any
namespace-qualified package provided as a string would not be found
(at which point the behavior was to return the highest-precedence
repository).

* handle nested namespaces for packages specified as strings in repo_for_pkg
* add preliminary repository tests
* add test which replicates #5754
* refactor repo tests with fixtures
* define repo_path equivalent at test-level scope for repo tests
* add tests for unknown namespace/package
* rename fixture function (no longer prefixed with 'test_')
2017-10-25 21:08:03 +02:00
Omar Padron
dd39862a80 boost: remove duplicate patch (#5934) 2017-10-25 12:00:50 -07:00
Jimmy Tang
1f4089a78f tweak opencv version (#5623) 2017-10-25 14:37:40 +02:00
Sergey Kosukhin
c9810f8088 Update for 'netcdf'. (#5819) 2017-10-25 14:30:58 +02:00
George Hartzell
b43064190c Specify base branch for flake8 comparison (#5796)
Internally we work against a branch named 'llnl/develop', which
mirrors the public repository's `develop` branch.

It's useful to be able to run flake8 on our changes, using
`llnl/develop` as the base branch instead of `develop`.

Internally the flake8 subcommand generates the list of changes files
using a hardcoded range of `develop...`.

This makes the base of that range a command line option, with a
default of `develop`.

That lets us do this:

```
spack flake8 --base llnl/develop
```

which uses a range of `llnl/develop...`.
2017-10-25 14:30:22 +02:00
Audrey Thoma
d839012e00 delly2: new package (#5820) 2017-10-25 13:55:13 +02:00
David Hows
05b3178ca4 Zlib gets a 50-60% performance win when compiled with -O2 (#5838)
Chasing a performance regression has lead me to this change, going from default optimization gives a significant performance win. The sweet spot for zlib is apparently `-O2`, both `-Ofast` and `-O3` are slightly worse (regression is about 3% compared with `-O2) in my testing. 

Happy to share my methodology with people so we can benchmark on a wider variety of systems.
2017-10-25 13:53:35 +02:00
Sergey Kosukhin
ce8a698b48 Update for 'eccodes'. (#5899) 2017-10-25 13:48:55 +02:00
George Hartzell
5d3a774587 Add package for scalpel@0.5.3 (#5901)
* Add package for scalpel@0.5.3

Scalpel's a bit of a mess, it expects it's users to just unpack the
tarball, build it in the resulting directory and install that
directory onto their PATH.  My install step recapitulates this into
prefix.bin.  The alternative was rewiring their scripts (perl), which
use `FindBin` and expect things to be located in the same dir that the
script itself is.

Sigh.

Lightly tested on CentOS 7.

* Flake8 cleanup

* Additional flake8 cleanup
2017-10-25 13:48:11 +02:00
Audrey Thoma
729c88f068 adding perl-bio-perl and dependencies (#5845)
* perl-bio-perl and dependencies

* minor fixes

* condensing code

* fixing doc error
2017-10-25 13:35:17 +02:00
Sergey Kosukhin
b92ddd72dd Update for 'cdo'. (#5947) 2017-10-25 13:24:19 +02:00
Eric
e2ef033855 bwa: add 0.7.17 (#5902)
* bwa: add 0.7.17

* bwa: add 0.7.13
2017-10-25 12:21:18 +02:00
George Hartzell
ff031de800 Add old version to bcftools (#5907)
* bcftools v1.2 and htslib v1.2

* dependency change - only require dependencies for v1.2
2017-10-25 12:20:42 +02:00
Audrey Thoma
9947306c3e py-xlsxwriter: new package (#5918) 2017-10-25 12:19:59 +02:00
George Hartzell
4fb46501af adding bedtools2 v2.23.0 (#5911) 2017-10-25 12:16:10 +02:00
George Hartzell
98c06eae92 Parallel fix sbangs (#5910)
* Added procedure to edit sbangs of the parallel perl scripts.

* Specify the types of perl dependency

Adding ", type=('build', 'run')" to the dependency declaration to clarify when and how perl is required

* flake8 cleanup
2017-10-25 12:15:10 +02:00
Audrey Thoma
3265008ad2 adding perl-moose and dependencies (#5912)
* adding perl-moose and dependencies

* added missing dependency

* fixed flake8 errors
2017-10-25 12:07:20 +02:00
Robert Pavel
9e1341a162 Added Hypre Dependency to mfem+hypre (#5929)
Added missing hypre defendency from mfem's hypre-enabled version
2017-10-25 12:03:50 +02:00
lingnanyuan
acbd6c9f62 r-geneplotter: Create new package. (#5924) 2017-10-25 12:01:19 +02:00
lingnanyuan
79b49d44af r-gridextra: Update version to 2.3 (#5915) 2017-10-25 11:50:16 +02:00
Audrey Thoma
f8b90d50de r-geiger and dependencies (#5933) 2017-10-25 11:17:37 +02:00
lingnanyuan
cc51cc0b06 r-rbgl: Create new package. (#5931) 2017-10-25 11:17:29 +02:00
Yifan Zhu
f87c426a6c r-variantannotation: created new package (#5932) 2017-10-25 11:17:15 +02:00
lingnanyuan
f1c06dec7c r-gseabase: Create new package. (#5930) 2017-10-25 11:17:00 +02:00
Yifan Zhu
054cc5d361 r-bsgenome: created new package (#5928) 2017-10-25 11:16:53 +02:00
Yifan Zhu
6b6d5d20e2 r-lsei: new package (#5926) 2017-10-25 11:16:46 +02:00
Yifan Zhu
fc3d484784 r-yarn: created new package (#5925) 2017-10-25 11:16:41 +02:00
lingnanyuan
d0a5f73a94 r-formula: Update version to 1.2-2 (#5923) 2017-10-25 11:16:34 +02:00
Yifan Zhu
c5447d7818 r-quantro: created new package (#5922) 2017-10-25 11:16:20 +02:00
lingnanyuan
05997460f6 r-scales: Update url. (#5921) 2017-10-25 11:16:00 +02:00
Yifan Zhu
3216daa905 r-doparallel: added list_url and version 1.0.11 (#5920) 2017-10-25 11:15:49 +02:00
lingnanyuan
21799cbe81 r-hmisc: Create new package. (#5919)
* r-hmisc: Create new package.

* Correct format.
2017-10-25 11:15:40 +02:00
Yifan Zhu
5742ec4fea r-openssl: changed homepage url to the CRAN package homepage, added list_url and added version 0.9.7 (#5848) 2017-10-25 11:12:31 +02:00
Praveen C
5b9de2eaba Glibc 2.26 does not provide xlocale.h (#5862) 2017-10-25 10:39:32 +02:00
Ondřej Čertík
882480fad6 gdbm: pass in proper CPPFLAGS (#5893)
The problem was that the configure script was not using spack's compiler
wrappers. We now pass the proper compiler wrapper using the CC argument
explicitly.

Fixes #5892.
2017-10-25 07:09:41 +02:00
Abhinav Bhatele
b47ff33f11 Add a new package for AMG and fix build issues in the amg2013 package (#5909)
* amg2013: fix build issues

* amg: add new package

* Update package.py

* amg2013: standardize option name

* amg: standardize option names
2017-10-24 21:06:33 -06:00
Ondřej Čertík
39616a2fe1 hypre: make mpi dependency optional (#5905) 2017-10-24 18:53:12 -07:00
Robert Pavel
68f7b7863a Added Spackage for SW4Lite proxy (#5917)
Added Spackage for C version of SW4Lite proxy. Fortran will follow once
race conditions involving .mod files are resolved
2017-10-24 15:31:05 -06:00
Massimiliano Culpo
8b7d2d0f24 'spack install' can overwrite an existing installation (#5384)
'spack install' can now reinstall a spec even if it has dependents, via
the --overwrite option. This option moves the current installation in a
temporary directory. If the reinstallation is successful the temporary
is removed, otherwise a rollback is performed.
2017-10-24 12:32:30 -07:00
Denis Davydov
31813ef2c7 slepc and petsc version updates (#5863)
slepc: add 3.8.0
petsc: no longer prefer 3.7.7
2017-10-24 10:57:14 -07:00
Yifan Zhu
8c306b7b83 r-minfi: created new package (#5887) 2017-10-24 14:07:45 +02:00
健美猫
37ce53c48f Add a package: thrust. (#3729) 2017-10-24 11:39:38 +02:00
Yifan Zhu
1ee60e7c63 r-nlme: added list_url and version 3.1-131 (#5890) 2017-10-24 11:30:49 +02:00
Yifan Zhu
2a2203895a r-genomicalignments: created new package (#5785)
* r-genomicalignments: created new package

* r-genomicalignments: using git repo source instead
2017-10-24 11:30:33 +02:00
Yifan Zhu
a68f9dcc26 r-reshape: created new package (#5889) 2017-10-24 11:29:56 +02:00
Yifan Zhu
43d39a6b00 r-data-table: added list_url and version 1.10.4-2 (#5888) 2017-10-24 11:29:42 +02:00
Todd Gamblin
3f68cc2ba7 Fix bug in spack flake8 when no files differ from develop (#5898) 2017-10-24 11:29:18 +02:00
lingnanyuan
896d4c8d0c r-mass: Update version to 7.3-47 (#5885) 2017-10-24 11:27:04 +02:00
lingnanyuan
cc06112959 r-acepack: Create new package. (#5884) 2017-10-24 11:26:37 +02:00
lingnanyuan
b09f0cdbe1 r-latticeextra: Create new package. (#5883)
* r-latticeextra: Create new package.

* r-latticeextra: Update list_url.
2017-10-24 11:26:20 +02:00
lingnanyuan
01215d705f r-htmltable: Create new package. (#5882) 2017-10-24 11:25:58 +02:00
lingnanyuan
8c0b95c398 r-htmlwidgets: Update verion to 0.9 (#5881) 2017-10-24 11:25:42 +02:00
lingnanyuan
22e96a10ad r-checkmate: Create new package. (#5880) 2017-10-24 11:25:24 +02:00
Yifan Zhu
17d94a5b51 r-geoquery: created new package (#5879)
* r-geoquery: created new package

* r-geoquery: added versioned dependency on r
2017-10-24 11:25:02 +02:00
lingnanyuan
25d38fe077 r-knitr: Update version to 1.17. (#5878) 2017-10-24 11:24:45 +02:00
Yifan Zhu
bba655d6d7 r-httr: added list_url and version 1.3.1 (#5877) 2017-10-24 11:24:29 +02:00
lingnanyuan
d4d44f0c63 r-rcpparmadillo: Create new package. (#5875) 2017-10-24 11:24:16 +02:00
Yifan Zhu
eeb1edd8e5 r-curl: added list_url and version 3.0 (#5874) 2017-10-24 11:23:54 +02:00
lingnanyuan
859b9972d3 r-yaml: Update version to 2.1.14 (#5856) 2017-10-24 11:23:38 +02:00
lingnanyuan
ae578069bd r-formatr: Update version to 1.5 (#5855) 2017-10-24 11:23:17 +02:00
lingnanyuan
050b753bb7 r-crayon: Update version to 1.3.4 (#5854) 2017-10-24 11:23:00 +02:00
lingnanyuan
764b7a7ad1 r-sourcetools: Create new package. (#5853) 2017-10-24 11:22:42 +02:00
lingnanyuan
4b50598252 r-testit: Update version to 0.7 (#5852) 2017-10-24 11:22:23 +02:00
lingnanyuan
6b87875d81 r-markdown: Update version to 0.8. (#5851) 2017-10-24 11:22:05 +02:00
Yifan Zhu
ab96705f05 r-base64: created new package (#5850) 2017-10-24 11:21:48 +02:00
Yifan Zhu
f814e9bba1 r-illuminaio: created new package (#5849) 2017-10-24 11:21:31 +02:00
lingnanyuan
7a176ca89e r-evaluate: Update version to 0.10.1. (#5847)
* r-evaluate: Update version to 0.10.1.

* r-evaluate: update list_url.
2017-10-24 11:20:47 +02:00
lingnanyuan
420048350f bioconductor update (#5786)
* r-a4: Add r dependency and update url.

* r-a4base: Add r dependency and update url.

* r-a4classif: update url and add r dependency.

* r-a4core: Update url and add r dependency.

* r-a4preproc: Update url and add r dependency.

* r-a4reporting: Update url and add r dependency.

* r-abaenrichment: Update url and add r dependency.

* r-absseq: Update url and add r dependency.

* r-acgh: Update url and add r dependency.

* r-acme: Update url and add r dependency.

* r-adsplit: Update url and add r dependency.

* r-affxparser: Update url and add r dependency.

* r-affycomp: Update url and add r dependency.

* r-affycompatible: Update url and add r dependency.

* r-affycontam: Update url and add r dependency.

* r-annaffy: Update url and add r dependency.

* r-annotate: Update url and add r dependency.

* r-annotate: Update url and add r dependency.

* r-annotationdbi: Update url and add r dependency.

* r-genefilter: Update url and add r dependency.

* r-mlinterfaces: Update url and add r dependency.

* r-limma: Update url and add r dependency.

* r-multtest: Update url and add r dependency.

* r-a4classif: Correct format.

* r-affycomp: Correct error.
2017-10-24 11:19:19 +02:00
Yifan Zhu
f9f0c1472f r-siggenes: new package (#5831)
* r-siggenes: created new package

* deleted extra indent
2017-10-24 11:14:04 +02:00
lingnanyuan
cea33af464 r-affyrnadegradation: Create new package. (#5830) 2017-10-24 11:13:53 +02:00
lingnanyuan
2ede483149 r-affyqcreport: Create new package. (#5829) 2017-10-24 11:13:44 +02:00
Yifan Zhu
edac742f84 r-nor1mix: created new package (#5828) 2017-10-24 11:13:04 +02:00
lingnanyuan
46b385761d r-affyplm: Create new package. (#5827) 2017-10-24 11:12:56 +02:00
lingnanyuan
2c5b3a2268 r-affypdnn: Create new package. (#5826) 2017-10-24 11:12:47 +02:00
Yifan Zhu
6fd0030acb r-beanplot: created new package (#5825)
* r-beanplot: created new package

* correct according to flake8
2017-10-24 11:12:15 +02:00
Aaron Fisher
204217f7c1 Updated external package versions. (#5833) 2017-10-24 11:10:59 +02:00
Yifan Zhu
968144f1c5 r-bumphunter: new package (#5824)
* r-bumphunter: created new package

* r-bumphunter: added description
2017-10-24 11:09:38 +02:00
Sergey Kosukhin
161dca6d5d Update for 'hdf5'. (#5790)
* Refactoring for 'hdf5'.

* Remove 'unsupported' variant.
2017-10-24 11:09:08 +02:00
Michael Kuhn
c7ac4e3774 go: Update to 1.9.1 (#5868) 2017-10-24 11:02:33 +02:00
Todd Gamblin
6b5ca38723 do not use 'l' as a variable name, to appease new flake8 version
- new E741 flake8 checks disallow 'l', 'O', and 'I' as variable names

- rework parts of the code that use this, to be compliant

- we could add exceptions for this, but we're trying to mostly keep up
  with PEP8 and we already have more than a few exceptions.
2017-10-24 10:05:36 +02:00
Todd Gamblin
5449884b2e Fix bare 'except:' to placate errors in new flake8 version.
- fixes E722 errors from latest version of flake8
- requires us to not use 'bare except:' and catch BaseException instead
2017-10-24 10:05:36 +02:00
Todd Gamblin
b98fc48273 log tests use tmpdir properly 2017-10-24 10:05:36 +02:00
Todd Gamblin
0bb1eb32f2 fix bugs found with stricter flake8 rules
- When you don't use wildcards, flake8 will find places where you used an
  undefined name.

- This commit has all the bugfixes resulting from this static check.
2017-10-24 10:05:36 +02:00
Todd Gamblin
7dd79094b0 remove wildcards from make spack core and packages
- This removes all wildcard imports EXCEPT `from spack import *` in packages
2017-10-24 10:05:36 +02:00
Todd Gamblin
7757ebc0bc flake8: no wildcards in core; only import * from spack in packages
There are now separate flake8 configs for core vs. packages:
- core has a smaller set of flake8 exceptions
- packages allow `from spack import *` and module globals
- Allows core to take advantage of static checking for undefined names
- Allows packages to keep using Spack tricks like `from spack import *`
  and dependencies setting globals for dependents.
2017-10-24 10:05:36 +02:00
Todd Gamblin
beab0cb92e add newlines at end of some package files 2017-10-24 10:05:36 +02:00
Todd Gamblin
78e22940c2 add --all option to spack flake8
- `-a`/`--all` causes flake8 to run on all files rather than just
  different ones.
2017-10-24 10:05:36 +02:00
scheibelp
e660611a87 package: remove bare except statements (#5896) 2017-10-23 19:28:53 -07:00
Mark Grondona
328dc3d140 jansson: enable shared library (#5857)
Jansson builds only a static library by default, which is probably
not what most users want. Add Cmake args required to build a shared
library and enable those via a default 'shared' variant of the
package.
2017-10-23 13:32:51 +02:00
Massimiliano Culpo
3e7680e24a getting_started.rst: removed tip suggesting the use of 2 Spack instances (#4061) 2017-10-20 21:09:08 -07:00
Massimiliano Culpo
3afc6770f0 module-type argument defaults to 'tcl' instead of every known type (#5751)
fixes #5721

This is to solve the fact that lmod needs to be configured
by the user (to specify a core compiler).
2017-10-20 20:41:25 -07:00
Patrick Gartung
a8ee2a912b buildcache command updates (#5860)
* Add better spec matching to spack buildcache

* skip download of spec.yaml and keys if they exist

* autopep8
2017-10-20 20:33:01 -07:00
jiseung
969c8b177f new package: hpgmg (#4888)
* new package: hpgmg

* removed build and changed extend() to append()

* changes based on comments

* pep8 compliant

* addressed rest of comments

* trigger checks

* changed from fe_fv to two boolean variants

* fixed compilation issues

* cleared up ambiguities in solver variants

* removed +mpi condition

* changes based on review
2017-10-20 17:34:55 -07:00
Adam J. Stewart
2570dfb4d9 Update Getting Started docs to clarify that full Xcode suite is required for qt (#4958)
* Update Getting Started docs to clarify that full Xcode suite is required for qt

* Better error message when only the command-line tools are installed
2017-10-20 17:31:12 -07:00
George Hartzell
c9d9901e43 perl: add old version (#5844) 2017-10-20 16:18:24 -07:00
Christoph Junghans
2e1a96f262 xsbench: add v14 (#5835) 2017-10-20 08:52:17 +02:00
Todd Gamblin
4dac4736e7 spack blame can take a path to a file in the Spack repo (#5793)
- Previously `spack blame` only worked for package names; now it works
  for paths as well, so developers can use it on core spack files.
2017-10-19 14:27:15 -07:00
Milton Woods
d72bcc91f4 perl: ignore perllocal.pod files during package activation (#5271) 2017-10-19 14:24:49 -07:00
Adam J. Stewart
a1c19f8389 Allow documentation to build in Python 3 (#5736) 2017-10-19 00:26:04 -07:00
George Hartzell
b46f1e3605 bcl2fastq needs with working_dir: after changes in #5776 (#5803)
#5776  cleaned up the way the the current working directory is
managed (less magic state).

bcl2fastq is packaged like a russian doll, rather than an archive file
that contains the source, there's a zip file that contains a tar.gz
file that contains the source.  The package definition has a bit of
extra code that unpacks the inner tarball.

That extra bit of code now needs to explicitly arrange to be in the
correct directory before it does its work.
2017-10-19 08:59:25 +02:00
Christoph Junghans
4774c9887e libxml2: use spack's xz (#5816) 2017-10-19 08:32:37 +02:00
lingnanyuan
6642f62eb9 r-affyexpress: Create new package. (#5807) 2017-10-18 19:07:04 -06:00
Yifan Zhu
5e2c4dbb5c r-rtracklayer: new package (#5808) 2017-10-18 19:06:36 -06:00
lingnanyuan
76cce82d65 r-affyilm: Create new package. (#5810) 2017-10-18 19:06:16 -06:00
Yifan Zhu
d701c4afd6 r-genomicfeatures: new package (#5811)
* r-genomicfeatures: created new package

* modified version number and added versioned dependency on r

* fixed typo
2017-10-18 19:05:53 -06:00
Denis Davydov
3e67b98e29 dealii: blacklist boost 1.64 and 1.65 (#5805)
* dealii: blacklist boost 1.64 and 1.65

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

- Add cython dependency for develop version

- Add explicit python dependency

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

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

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

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

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

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

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

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

* Linting

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

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

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

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

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

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

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

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

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

* Add lazyten to spack

* Add description for lazyten

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

* fix bugs in initial sundials update

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

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

* Address pull requeset comments and make fomatting style consistent

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

Add minimum required CMake version.

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

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

Add maintaiers.

Change Sundials solver options to use an array of values.

Consistently use % for formatting.

* change triple-single quotes to single quotes

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

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

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

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

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

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

- This caches the result of parsing the compiler config

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

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

* fix for macOS as well

* found in testing

* flake8

* fix testing on macOS

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

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

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

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

Background: Developed initially for PIConGPU.
2017-10-13 12:17:20 -07:00
Ondřej Čertík
e76cfbbfd8 Fix m4 to compile with Intel (#5728)
Fixes #5705.
2017-10-13 11:20:49 -06:00
Yifan Zhu
8ffe18f1dc r-biostrings: added versioned dependency on r (#5667) 2017-10-13 07:51:30 -06:00
Yifan Zhu
ce1e5e3098 r-zlibbioc: added versioned dependency on r (#5674) 2017-10-13 07:50:10 -06:00
Denis Davydov
b8c1ce43fa trilinos / oce : add missing if before calling macOS_version (#5743)
* trilinos: add missing if before calling macOS_version

* oce: add missing if before calling macOS_version
2017-10-13 07:49:18 -06:00
Yifan Zhu
9716a6f37f r-readr: created new package (#5741) 2017-10-13 07:47:43 -06:00
Yifan Zhu
350624a231 r-dorng: created new package (#5740) 2017-10-13 07:47:01 -06:00
Yifan Zhu
9f3e055e8b r-stringr: added list_url and version 1.2.0 (#5738) 2017-10-13 07:46:29 -06:00
Yifan Zhu
525b69bbad r-stringi: added list_url and version 1.1.5 and 1.1.3 (#5737) 2017-10-13 07:45:26 -06:00
Yifan Zhu
0b117a03c6 r-summarizedexperiment: created new package (#5734) 2017-10-13 07:45:05 -06:00
Yifan Zhu
501ebe6706 r-yaqcaffy: added list_url and versioned dependency on r (#5730) 2017-10-13 07:44:26 -06:00
Denis Davydov
65f12c8160 slepc: refine version constraints for petsc 3.8 (#5752) 2017-10-13 07:11:17 -06:00
Denis Davydov
22ef8efce9 openblas: remove extra develop version (#5750) 2017-10-13 12:10:05 +02:00
Denis Davydov
b182e2334d gettext: fix prefix (#5749) 2017-10-13 10:52:55 +02:00
Brian Van Essen
bd185b8146 Lbann flags (#5747)
* Fixed the datatype flag in the LBANN package.  Also added develop
version to OpenBLAS.

* Fixed where the datatype flag should be set.
2017-10-12 20:23:38 -06:00
Yifan Zhu
f2a6685d8c r-gcrma: added versioned dependency on r (#5670) 2017-10-12 16:18:30 -06:00
Yifan Zhu
d4906169e0 r-simpleaffy: added versioned dependency on r (#5673) 2017-10-12 16:18:15 -06:00
Satish Balay
59163f9750 petsc: add in maintainers (#5729) 2017-10-12 15:09:47 -06:00
David Hows
8ff8b7476c Add the option for a versioned layout to boost (#5709) 2017-10-12 12:51:39 -06:00
Audrey Thoma
36ed96e7dd kaks-calculator: new package (#5725)
* kaks-calculator: new package

* kaks-calculator: new package

* fixing homepage
2017-10-12 12:47:11 -06:00
Satish Balay
98c2184bd3 petsc: update to latest 3.8 version [and include 3.7.7] (#5723)
Also fix flake8 warning "import os should be before import sys"
2017-10-12 12:46:00 -06:00
Jon Rood
c0b2e7db73 Add OpenFAST package (wind turbine simulation tool). (#5662)
* Add OpenFAST package (wind turbine simulator).
* Adding maintainer to openfast package.
* Fixing copyright date.
2017-10-12 11:42:51 -07:00
Denis Davydov
1b53e82348 various fixes for macOS high sierra (#5647)
* various fixes for macOS high sierra

* add macOS_version() helper function

* flake8 fixes

* update oce and trilinos

* fix bison
2017-10-12 11:41:57 -07:00
David Hows
0dad5b3ee5 Make --trusted default when running spack gpg list (#5678)
* Make --trusted default when running spack gpg list

Currently running `spack gpg list` with no arguments returns nothing. You must supply either the `--trusted` or the `--signing` options. The idea here is to return some initial data to the user when the command is run. The alternative is to return an error, telling the user to select one of the two options.

* Add an extra test case for the empty list command

Fixes the issue with code coverage
2017-10-12 11:14:48 -07:00
Todd Gamblin
65b38764ae Speed up concretization (#5716)
This isn't a rework of the concretizer but it speeds things up a LOT.

The main culprits were:
  1. Variant code, `provider_index`, and `concretize.py` were calling
     `spec.package` when they could use `spec.package_class`
    - `spec.package` looks up a package instance by `Spec`, which requires a
      (fast-ish but not that fast) DAG compare.
    - `spec.package_class` just looks up the package's class by name, and you
        should use this when all you need is metadata (most of the time).
    - not really clear that the current way packages are looked up is
      necessary -- we can consider refactoring that in the future.

  2. `Repository.repo_for_pkg` parses a `str` argument into a `Spec` when
     called with one, via `@_autospec`, but this is not needed.
     - Add some faster code to handle strings directly and avoid parsing

This speeds up concretization 3-9x in my limited tests.  Still not super
fast but much more bearable:

Before:
  - `spack spec xsdk` took 33.6s
  - `spack spec dealii` took 1m39s

After:
  - `spack spec xsdk` takes 6.8s
  - `spack spec dealii` takes 10.8s
2017-10-12 09:52:38 -07:00
Carlos Bederián
db149876a4 samtools: add version 1.6 + some fixes (#5715)
* htslib: add version 1.6

* samtools: add version 1.6, remove zlib dependency

* bcftools: add version 1.6, switch to using standalone htslib
2017-10-12 10:08:31 -06:00
Audrey Thoma
87c65fafa9 minimap2: new package (#5722) 2017-10-12 10:07:42 -06:00
David Hows
90cd075277 Initial version of libpcap (#5710)
Add a package script for libpcap with the current version (1.8.1)
2017-10-12 07:00:21 -06:00
Todd Gamblin
b5e136b729 Better install output (#5714)
* Do not call setup_package for fake installs

- setup package could fail if ``setup_dependent_environment`` or other
  routines expected to use executables from dependencies

- xpetsc and boost try to get python config variables in
  `setup_dependent_package`; this would cause them not to be
  fake-installable

* Remove vestigial deptype_query argument to Spec.traverse()

- The `deptype_query` argument isn't used anymore -- it's only passed
  around and causes confusion when calling traverse.

- Get rid of it and just keep the `deptypes` argument

* Don't print redundant messages when installing dependencies

- `do_install()` was originally depth-first recursive, and printed "<pkg>
  already installed in ..." multiple times for packages as recursive
  calls encountered them.

- For much cleaner output, use spec.traverse(order='post') to install
  dependencies instead
2017-10-12 00:49:59 -07:00
Yifan Zhu
e807397074 r-affy: added versioned dependency on r (#5660) 2017-10-11 19:49:48 -06:00
Yifan Zhu
36eba3bf58 r-affyio: added versioned dependency on r (#5661) 2017-10-11 19:49:28 -06:00
Yifan Zhu
db0fec4d09 r-biocinstaller: added versioned dependency on r (#5663) 2017-10-11 19:49:08 -06:00
Yifan Zhu
4e8ac1d525 r-matrixstats: created new package (#5682) 2017-10-11 19:48:39 -06:00
Yifan Zhu
5e41ad6fed r-biocgenerics: added version 0.22.1 and added versioned dependency on r (#5683) 2017-10-11 19:48:19 -06:00
Yifan Zhu
8d48f07de1 r-genomeinfodbdata: added versioned dependency on r (#5685) 2017-10-11 19:48:00 -06:00
Yifan Zhu
a04e95a492 r-genomeinfodb: created new package (#5695) 2017-10-11 19:47:03 -06:00
Yifan Zhu
dc95dddd61 r-genomicranges: added new package (#5697) 2017-10-11 19:45:03 -06:00
Yifan Zhu
c93ecda872 r-futile-options: created new package (#5699) 2017-10-11 19:43:53 -06:00
Yifan Zhu
4af446d7f4 r-lambda-r: created new package (#5700) 2017-10-11 19:43:33 -06:00
Yifan Zhu
f8db73d567 r-futile-logger: created new package (#5701) 2017-10-11 19:43:15 -06:00
Yifan Zhu
01e104dfcb r-rsamtools: created new package (#5702) 2017-10-11 19:42:55 -06:00
Yifan Zhu
670463e95a r-biocparallel: created new package (#5703) 2017-10-11 19:42:25 -06:00
Yifan Zhu
e08e7af34e r-delayedarray: created new package (#5704) 2017-10-11 19:42:04 -06:00
Yifan Zhu
9a2ef4c4b3 r-biomart: added versioned dependency on r (#5666) 2017-10-11 19:41:08 -06:00
George Hartzell
124bdfb910 Strelka depends on boost 1.56.0 *or newer* (#5690)
Relax/correct the constraint on the version of boost used
by Strelka to match the docs.
2017-10-11 17:21:26 -06:00
Denis Davydov
35a62f715b dealii: minor fixes (#5687)
* dealii: fix minor bug in Assimp config

* dealii: request sundials without pthreads
2017-10-11 15:09:39 -06:00
Christoph Junghans
cfc13dec9f Add a bundle package for the ECP proxy applications suite (#5689)
* Add a bundle package for the ECP proxy applications suite

* Update package.py
2017-10-11 13:39:30 -06:00
健美猫
9e95e8394e Add a package: dmlc/mxnet. (#3579)
* Add dmlc/mxnet packags.

* Build mxnet+cuda+opencv with GCC-4.8.5 and GCC-5.4.0.

* Build mxnet version 0.10.0, 0.10.0.post1 and 0.10.0.post2.

* Add component version constrain for mxnet 0.10.0.x .

* Go through flake8.

* Replace commit hash with commit date as package version.

* Go throught Travis-CI.

* Update submodule version for 0.10.0.post2.

* Add openmp variant for dmlc-core and mxnet.

* Refine variant handling.

* Fix filter_file for dmlc-core.

* Cut long strings into multiple lies due to PEP8 requirements.

* Fix for PEP8.

* Add CUB_INCLUDE.

* Add py-mxnet: Python binding for MXNet.

* Remove distutils.dir_util.

* Add the profiler variant for mxnet.

* Add a shared variant for nnvm.

* Set USE_OPENMP to OFF by default.

* Fix flake8 errors.

* Fix flake8 issues.

* flake8 issues again.
2017-10-10 13:56:26 -07:00
Christoph Junghans
ef822453b9 Adding flang - a llvm based Fortran compiler (#5459)
* flang: initial commit

* flang: added symlink to clang's flang

* add flang wrapper

* flang wrapper: inject rpath as well

* flang wrapper: PATH -> -B
2017-10-10 13:52:31 -07:00
Christoph Junghans
cb7628c9a4 compilers/clang: add flang (#5503)
* compilers/clang: add flang

* Update clang.py
2017-10-10 13:52:10 -07:00
Christoph Junghans
88b515ede8 ninja: add v1.8.2 (#5625) 2017-10-10 12:50:56 -07:00
Massimiliano Culpo
a3bbe066b3 plumed: reworked patching applications, added new version (#5680)
closes #5506

The application of patches to upstream executables has been reworked
according to the suggestions of the main developer in #5506. In
particular we are not maintaining a dictionary that maps plumed
versions to the versions of patchable executables, and we are using a
non-interactive command to patch applications.

All the comments on substituting plumed at run-time do not apply here,
since we use RPATH and we want to maintain a 1:1 relationship between
the DAG hash and the plumed library used.
2017-10-10 12:35:53 -07:00
Audrey Thoma
e3053d7425 snap-korf: new package (#5589) 2017-10-10 11:09:31 -07:00
Jon Rood
f2b49d8f66 Adding openfast variant to nalu. (#5675) 2017-10-09 20:10:47 -06:00
lingnanyuan
35583f48f4 r-adsplit: Create new package and update version for its dependencies. (#5640)
* r-adsplit: Create new package.

* r-rlang: Update version.

* r-s4vectors: Update version.
2017-10-09 17:10:29 -06:00
Audrey Thoma
a8cd92a2e4 switching downloads to git (#5659) 2017-10-09 17:07:13 -06:00
lingnanyuan
196b82f2c7 r-affycompatible: Create new package. (#5664) 2017-10-09 17:05:53 -06:00
lingnanyuan
ef1f71447e r-affydata: Create new package. (#5665) 2017-10-09 17:05:21 -06:00
lingnanyuan
1f05e9ae58 r-affycontam: Create new package. (#5668) 2017-10-09 17:04:51 -06:00
George Hartzell
ab2c7573c1 strelka: new package (#5632)
* Add package for strelka@2.8.2

* Fix flake8 complaints
2017-10-09 17:02:44 -06:00
George Hartzell
0d1c36e559 Add package for aspell and ass't dictionaries (#3890)
* Add package for aspell and ass't dictionaries

Add a package definition for aspell.

Add a handful of dictionaries to convince myself that the support for
a bunch of dictionaries works.

* Flake8 cleanup

* Use six's version of urlparse

`urlparse` is not python3 friendly.  This works around it (stolen from
`.../cmd/md5.py`).

* Fix incorrect trimming regexp

* Clean up dictionary build

- more parsimonious use of `which` (`make()` has already been made)
- use `sh` instead of `bash`

* Use a helper method to generate info for variants

I figured out my issues with static methods.  I *think* that it this
is pythonic.

* Convert aspell to an extendable package

Convert aspell to be extendable and rework the dictionaries to be
extensions.

As it stands, there's a great deal of cut and paste in the
dictionaries, I'll abstract that out next.

The {de,}activate methods copy a great deal of code out of
package.py.  Perhaps there's a better way....

* Create AspellDictPackage and use it for the dictionaries

Reduce the repeated code, pull it into a base class.

I'm confused about why 'from spack import *' wasn't more useful in the
base class.

* Oops, -de & -es should be AspellDictPackages too

* Typo: pakcage -> package

* Address some commentary

* Update copyright dates, 2016->2017
2017-10-09 14:14:19 -07:00
Aaron Fisher
5ccc9c17dc Added mfem v3.3.1-rc1 to the mfem package. (#5644) 2017-10-09 21:48:25 +02:00
Axel Huebl
4ba7359d55 libpng: zlib flags more elegant (#5656) 2017-10-09 21:46:10 +02:00
becker33
5d13f236b4 Fix setup for changes to dirty flag (#5592)
* Pass dirty arg through setup to setup_package
2017-10-09 10:01:55 -07:00
Christoph Junghans
57643ae84e espressopp: added v1.9.5 (#5652) 2017-10-08 18:16:56 -07:00
Piotr Luszczek
1b5410b87b Add PLASMA package (#5540) 2017-10-08 17:59:41 -06:00
Pramod S Kumbhar
32d183af05 Fix node-js : requires openssl min 1.0.2 (#5650) 2017-10-08 17:04:09 -06:00
Denis Davydov
5ed457759c hypre: add 2.12.1 (#5653) 2017-10-08 07:27:25 -06:00
George Hartzell
ee6d21e311 adding http2 support (#5628)
Requires nghttp2 libraries
2017-10-07 09:58:56 -06:00
lingnanyuan
73bb34ad6e r-affycomp: Create new package. (#5642) 2017-10-06 20:13:57 -06:00
lingnanyuan
a755c47fb1 r-affxparser: Create new package. (#5641) 2017-10-06 20:13:38 -06:00
Yifan Zhu
cf94e4140b r-genomeinfodbdata: created new package (#5639) 2017-10-06 20:13:09 -06:00
Yifan Zhu
62538e3d37 r-hms: created new package (#5638) 2017-10-06 20:12:59 -06:00
scheibelp
b08d457dfd Don't check package.installed in _mark_concrete if value=True (#5634)
* spec and spec.package.spec can refer to different objects in the
database. When these two instances of spec differ in terms of
the value of the 'concrete' property, Spec._mark_concrete can
fail when checking Spec.package.installed (which requires
package.spec to be concrete). This skips the check for
spec.package.installed when _mark_concrete is called with
'True' (in other words, when the database is marking all specs
as being concrete).

* add test to confirm this fixes #5293
2017-10-06 14:23:28 -07:00
William Scullin
3d8d3e8882 qmcpack: new package (#4907)
This adds QMCPACK along with patches to Quantum Espresso for using Quantum Espresso in QMCPACK workflows.
2017-10-06 13:51:18 -07:00
George Hartzell
d05f98d405 Nghttp2 new package (#5627)
* nghttp2 library package

Added for dependencies

* Update package.py

* Removed useless code

* Flake8 fix
2017-10-06 13:59:56 -06:00
George Hartzell
a659f0f8f4 Add a package for VarDictJava@1.5.1 (#5626)
This is a simple package that drops their shell wrapper into
prefix.bin and their jar files into prefix.lib.

The approach comes from the picard package.
2017-10-06 13:58:34 -06:00
George Hartzell
202c66d90c The silver searcher: new version (#5630)
* Updating ag to the latest version

* Pretty by request

* Restore url to previous value

There *is* an https version available, but I've also been told
to not just update the url when adding new version.  I'm following
the latter advice and trusting security to the digest.
2017-10-06 13:56:58 -06:00
Massimiliano Culpo
2b2a5ca7bf git + luafilesystem: minor fixes (#5635)
* git: setup_dependent_environment won't fail for external packages

* luafilesystem: relax the request on git (it seemed overly restrictive)
2017-10-06 13:56:14 -06:00
George Hartzell
68011bde39 maven: new version (#5631)
* Adding maven v3.5.0

Updating package file to include later version of maven but still signifying a preference for the older

* removing specific preference flag
2017-10-06 13:53:56 -06:00
Michael Kuhn
4065ef2106 ncl: Fix temp directory and depend on esmf (#5636)
* ncl: Fix temp directory

Currently, ncl is configured using a transient temp directory. This
leads to warnings such as this when executing ncl later on:

warning:"/tmp/ncl_ncar_xxxxxx" tmp dir does not exist or is not writable:
NCL functionality may be limited -- check TMPDIR environment variable

As this also breaks some functionality, use the system temp directory
instead (typically /tmp).

* ncl: Depend on esmf

esmf is required for some ncl scripts (such as ESMF_regridding.ncl).
2017-10-06 13:53:05 -06:00
George Hartzell
b9d7903cdb Add link dependency on xproto to xau (recent dependency mechanics changes?) (#5624)
* Add link dependency on xproto to xau

The libxcb build was failing like so:

```
1 error found in build log:
     [ ... ]
     131   checking whether to build developer documentation... yes
     132   checking for doxygen... /usr/bin/doxygen
     133   checking for dot... /usr/bin/dot
     134   checking for CHECK... no
     135   checking for XCBPROTO... yes
     136   checking for NEEDED... no
  >> 137   configure: error: Package requirements (pthread-stubs xau >= 0.99.2) were not met:
     138
     139   Package 'xproto', required by 'xau', not found
     140
     141   Consider adjusting the PKG_CONFIG_PATH environment variable if you
     142   installed software in a non-standard prefix.
     143
```

This adds a link dependency on libxproto that allows the libxcb build to
succeed.

* Change more build deps to build, link

These were also necessary for emacs+X to build.

* Fix flake8 complaint
2017-10-05 16:53:12 -06:00
Audrey Thoma
17139b575d fsl: new package (#5605) 2017-10-05 11:57:57 -07:00
Jimmy Tang
c6e7fb25a4 Fix formatting typo (#5622) 2017-10-05 10:58:51 -07:00
scheibelp
6243a28da1 Don't change properties on already-installed packages (#5580)
* edits to address issues where spack concretization attempts to set properties on already-installed specs

* most added checks only need to check if the spec is concrete; they dont also need to check if the package is installed

* add test to ensure that patches are not applied to an installed spec

* add test to ensure that an error is detected when a dependent requests a dependency constraint which conflicts with a requested installed dependency
2017-10-05 10:33:04 -07:00
lingnanyuan
747b584e2e r-acme: Create new package. (#5620) 2017-10-05 10:22:24 -06:00
lingnanyuan
b41dfa8bd2 r-acgh: Create new package. (#5619) 2017-10-05 10:22:03 -06:00
lingnanyuan
a66eb716a7 r-cluster: Update version to 2.0.6. (#5618) 2017-10-05 10:21:44 -06:00
lingnanyuan
58609c5b67 r-absseq: Create new package. (#5617) 2017-10-05 10:21:33 -06:00
lingnanyuan
2c300653d5 r-acde: Create new package. (#5616) 2017-10-05 10:21:17 -06:00
lingnanyuan
4a1351c546 r-boot: Update version to 1.3-20 (#5615) 2017-10-05 10:20:45 -06:00
Michael Kuhn
fe551a4d9a esmf: Fix build (#5607)
- Use libs instead of lapack_libs (see #3364).
- Add a patch to fix building with recent versions of gcc.
- Add a patch to fix building with mvapich2.
2017-10-05 08:58:40 -06:00
lingnanyuan
21c79edb10 r-abadata: new package. (#5611) 2017-10-05 08:58:04 -06:00
lingnanyuan
f54e30b065 r-abaenrichment: Create new package. (#5612) 2017-10-05 08:57:42 -06:00
Axel Huebl
44653dc7aa CMake: 3.9.4 (#5614)
Adds the latest release of CMake.
2017-10-05 08:57:20 -06:00
Christoph Junghans
ffe90834b3 Add the Sandbox package (#5595) 2017-10-04 18:40:03 -07:00
becker33
04a4ac68d5 Identify the flag handlers feature as beta (#5609)
The flag-handling logic added in #4421 may change semantics, so this
commit adds a warning to the documentation for this feature.
2017-10-04 18:32:13 -07:00
becker33
328ab328be Fix module loads (#5599)
Fixes #5455

All methods within setup_package use an EnvironmentModifications object
to control the environment. Those modifications are applied at the end
of setup_package. Module loads for the build environment need to be
done after the rest of the environment modifications are applied, as
otherwise Spack may unset variables set by those modules (for example
LD_LIBRARY_PATH).
2017-10-04 18:25:55 -07:00
Massimiliano Culpo
3556eaae7e module files: restricted token expansion + case sensitivity (#5474)
closes #2884
closes #4684

In #1848 we decided to use `Spec.format` to expand certain tokens in
the module file naming scheme or in the environment variable name.
Not all the tokens that are allowed in `Spec.format` make sense in
module file generation. This PR restricts the set of tokens that can
be used, and adds tests to check that the intended behavior is respected.

Additionally, the names of environment variables set/modified by module
files were, up to now, always uppercase. There are packages though that
require case sensitive variable names to honor certain behaviors (e.g.
OpenMPI). This PR restricts the uppercase transformation in variable
names to `Spec.format` tokens.
2017-10-04 18:14:06 -07:00
scheibelp
395000c385 spec.patches: fix dictionary reference (#5608)
This fixes a loop that was iterating through the keys of a dictionary
when it was intending to use the values.
2017-10-04 17:14:58 -07:00
Ben Boeckel
44fbf95dd4 extensions: create install prefixes (#5601)
Tests fail locally because the install prefix doesn't exist. Make them
exist.
2017-10-04 14:08:05 -07:00
Massimiliano Culpo
5fa1191d17 Hotfix: maintain patch order while fixing hash
fixes #5587

In trying to preserve patch ordering, #5476 made equality inconsistent
for the added 'patches' variant. This commit maintains the original
weak ordering of patch applications while preserving consistency of
comparisons. The ordering DOES NOT enter the hashing mechanism. It's
supposed to be a hotfix, while we think of a cleaner and more-permanent
solution.
2017-10-04 11:39:25 -07:00
Yifan Zhu
2b7a37ed99 r-tibble: added dependency r-rlang (#5536)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-tibble: Update version to 1.3.4

* r-tibble: added dependency r-rlang

* r-tibble: changed r-lazyeval and r-rlang to be versioned dependencies

* Update package.py

* Update package.py
2017-10-04 09:59:40 -07:00
Audrey Thoma
727e542b80 tassel: new package (#5583) 2017-10-04 10:28:28 -06:00
Michael Kuhn
1d8b77b600 xerces-c: Fix url (#5597)
The main location only carries the latest release, while all previous
(and current) ones are available at the archive location.
2017-10-04 10:25:31 -06:00
Axel Huebl
a8bf49b4a1 OpenSSL: Fix Zlib (#5584)
Fix missing `-lz` on `make` of OpenSSL.
Spotted on a system without a system-wide zlib installation.
2017-10-04 10:25:11 -06:00
scheibelp
f53be46186 wrap generator with collection to avoid exhausting it with single iteration (#5586) 2017-10-03 16:47:07 -07:00
Yifan Zhu
ed656dccf5 r-edger: created new package (#5571) 2017-10-03 17:34:46 -06:00
George Hartzell
23454e3e28 Add package for multitail@6.4.2 (#5567)
* Add package for multitail@6.4.2

Lightly tested on CentOS 7.

* Responde to feedback/comments

Use `install_targets` to specify PREFIX= and DESTDIR= instead of
hacking away at the Makefile.  Expand commentary about "Why?".

Use `headers.include_flags` and `libs.ld_flags` to avoid explicitly
setting `-L` and `-I` when hacking away at the Makefile.
2017-10-03 16:05:19 -06:00
Robert Pavel
9871a2eb91 ExaSP2 Spackage (#5570)
* Added exasp2 spackage

Added spackage for exasp2 proxy app

* Fixed MPI in ExaSP2

Explicitly disabled MPI when not enabled.
Set MPI variant to default as per Spack standards

* Generalized BML Passing for ExaSP2

* Modified to follow spack rules on blas

Fortunately was able to modify exasp2 build system to support spack
model for blas and lapack requirements. No guarantee is made for support
of anything other than originally supported libraries

* Fixed flake8 error
2017-10-03 16:04:49 -06:00
lingnanyuan
a05964959d r-a4base: new package. (#5576) 2017-10-03 16:04:18 -06:00
lingnanyuan
e858e4de17 r-a4: new package. (#5577) 2017-10-03 16:03:57 -06:00
Audrey Thoma
0fa3d8f35e fastqvalidator: new package (#5573)
* fastqvalidator: new package

* adding version-specificity to compiler conflict

* quick changes to env vars and build phase

* Update package.py

* oops. forgot to install executable

* Update package.py

* updating package.py

* turn env into targets
2017-10-03 15:56:32 -06:00
Axel Huebl
ba06eb72d0 libpng: zlib path (#5581)
explicitly set the zlib path for libpng configure.

fixes:
```
     [ ... ]
     92    checking for memset... yes
     93    checking for pow... no
     94    checking for pow in -lm... yes
     95    checking for clock_gettime... yes
     96    checking for zlibVersion in -lz... no
     97    checking for z_zlibVersion in -lz... no
  >> 98    configure: error: zlib not installed
```
2017-10-03 14:58:28 -06:00
Audrey Thoma
3e79872ada sra-toolkit: new package (#5588)
* sra-toolkit: new package

* adding description and homepage
2017-10-03 14:41:41 -06:00
George Hartzell
5bc81c8db2 Tell configure about gmp (#5585)
This is a partial fix for #5564.

This package used to trust that `configure` would discover `gmp` from
its environment.

It's safer to tell it where to find `gmp` explicitly.

This does that by adding a configure_args() that provides a
`--with-gmp=...` argument for configure.
2017-10-03 14:40:14 -06:00
Christoph Junghans
d22ee8f993 patch: add workdir option (#5501)
* patch: add working_dir option
* added documentation
2017-10-02 22:56:43 -07:00
Audrey Thoma
35085fdae2 mrtrix3: new package (#5568)
* mrtrix3: new package

* specifying conflict dependency ve
2017-10-02 15:56:15 -06:00
lingnanyuan
140fbeda65 r-a4reporting: new package. (#5575) 2017-10-02 15:54:44 -06:00
Yifan Zhu
960dcec9e3 r-locfit: created new package (#5572) 2017-10-02 15:54:26 -06:00
Robert Pavel
d3e4e88bae Added support for BML+mpi variant (#5563)
* Added support for BML+mpi variant

Added support for BML+mpi variant. Currently restricted to master
(develop) branch pending release of next bml tag

* Update package.py

Removing redundant statement

* Update package.py

Added explicit disabling of MPI when not requested
2017-10-02 12:51:06 -06:00
Robert Pavel
0d0d2663d2 Added Spackage for YAJL (#5566)
Added spackage for YAJL
2017-10-02 12:50:55 -06:00
Audrey Thoma
538b702314 linkphase3: new package (#5493)
* linkphase3: new package

* adding ifort option

* Update package.py
2017-10-02 12:36:39 -06:00
Audrey Thoma
7cb2766790 hisat2: new package (#5488) 2017-10-02 10:27:06 -07:00
Axel Huebl
48e4efc2a4 CUDA 9.0.176 (#5562)
The first stable release of CUDA 9, v9.0.176, is out.

This adds its installer and checksum.
2017-10-02 10:47:32 -06:00
Todd Gamblin
29ca18e348 Port CTest's log scraping logic to Spack (#5561)
- This steals the magic regular expressions that CTest uses to parse log
  files and addds them to Spack.  See here:

  https://github.com/Kitware/CMake/blob/master/Source/CTest/cmCTestBuildHandler.cxx

  These are BSD licensed, so the port is in `externa/ctest_log_parser.py`

- We currently use these to do better filtering of errors from build
  output.  Plan is to use them to generate good CDash output.
2017-09-30 22:39:21 -07:00
Todd Gamblin
8648e2cda5 Add testing for spack blame; refactor llnl.util tests 2017-09-30 16:31:56 -07:00
Todd Gamblin
41a2652ef2 Add 'spack blame' command: shows contributors to packages
`spack blame` prints out the contributors to a package.

By modification time:

```
$ spack blame --time llvm
LAST_COMMIT    LINES  %      AUTHOR               EMAIL
3 days ago     2      0.6    Andrey Prokopenko    <andrey.prok@gmail.com>
3 weeks ago    125    34.7   Massimiliano Culpo   <massimiliano.culpo@epfl.ch>
3 weeks ago    3      0.8    Peter Scheibel       <scheibel1@llnl.gov>
2 months ago   21     5.8    Adam J. Stewart      <ajstewart426@gmail.com>
2 months ago   1      0.3    Gregory Becker       <becker33@llnl.gov>
3 months ago   116    32.2   Todd Gamblin         <tgamblin@llnl.gov>
5 months ago   2      0.6    Jimmy Tang           <jcftang@gmail.com>
5 months ago   6      1.7    Jean-Paul Pelteret   <jppelteret@gmail.com>
7 months ago   65     18.1   Tom Scogland         <tscogland@llnl.gov>
11 months ago  13     3.6    Kelly (KT) Thompson  <kgt@lanl.gov>
a year ago     1      0.3    Scott Pakin          <pakin@lanl.gov>
a year ago     3      0.8    Erik Schnetter       <schnetter@gmail.com>
3 years ago    2      0.6    David Beckingsale    <davidbeckingsale@gmail.com>

3 days ago     360    100.0
```

Or by percent contribution:

```
$ spack blame --percent llvm
LAST_COMMIT    LINES  %      AUTHOR               EMAIL
3 weeks ago    125    34.7   Massimiliano Culpo   <massimiliano.culpo@epfl.ch>
3 months ago   116    32.2   Todd Gamblin         <tgamblin@llnl.gov>
7 months ago   65     18.1   Tom Scogland         <tscogland@llnl.gov>
2 months ago   21     5.8    Adam J. Stewart      <ajstewart426@gmail.com>
11 months ago  13     3.6    Kelly (KT) Thompson  <kgt@lanl.gov>
5 months ago   6      1.7    Jean-Paul Pelteret   <jppelteret@gmail.com>
3 weeks ago    3      0.8    Peter Scheibel       <scheibel1@llnl.gov>
a year ago     3      0.8    Erik Schnetter       <schnetter@gmail.com>
3 years ago    2      0.6    David Beckingsale    <davidbeckingsale@gmail.com>
3 days ago     2      0.6    Andrey Prokopenko    <andrey.prok@gmail.com>
5 months ago   2      0.6    Jimmy Tang           <jcftang@gmail.com>
2 months ago   1      0.3    Gregory Becker       <becker33@llnl.gov>
a year ago     1      0.3    Scott Pakin          <pakin@lanl.gov>

3 days ago     360    100.0
```
2017-09-30 16:31:56 -07:00
George Hartzell
46d5901770 Typo: file -> directory (#5560)
Mirrors are directories (that use `file://` URLS, not files.
2017-09-30 14:32:07 -07:00
Todd Gamblin
96d2488e0c Documentation for dependency patching. 2017-09-30 02:06:59 -07:00
Todd Gamblin
4f8c7d57eb Patches are hashed with specs, and can be associated with dependencies.
- A package can depend on a special patched version of its dependencies.

  - The `Spec` YAML (and therefore the hash) now includes the sha256 of
    the patch in the `Spec` YAML, which changes its hash.

  - The special patched version will be built separately from a "vanilla"
    version of the same package.

  - This allows packages to maintain patches on their dependencies
    without affecting either the dependency package or its dependents.
    This could previously be accomplished with special variants, but
    having to add variants means the hash of the dependency changes
    frequently when it really doesn't need to.  This commit allows the
    hash to change *just* for dependencies that need patches.

  - Patching dependencies shouldn't be the common case, but some packages
    (qmcpack, hpctoolkit, openspeedshop) do this kind of thing and it
    makes the code structure mirror maintenance responsibilities.

- Note that this commit means that adding or changing a patch on a
  package will change its hash.  This is probably what *should* happen,
  but we haven't done it so far.

  - Only applies to `patch()` directives; `package.py` files (and their
    `patch()` functions) are not hashed, but we'd like to do that in the
    future.

- The interface looks like this: `depends_on()` can optionally take a
  patch directive or a list of them:

     depends_on(<spec>,
                patches=patch(..., when=<cond>),
                when=<cond>)
     # or
     depends_on(<spec>,
                patches=[patch(..., when=<cond>),
                         patch(..., when=<cond>)],
                when=<cond>)

- Previously, the `patch()` directive only took an `md5` parameter.  Now
  it only takes a `sha256` parameter.  We restrict this because we want
  to be consistent about which hash is used in the `Spec`.

- A side effect of hashing patches is that *compressed* patches fetched
  from URLs now need *two* checksums: one for the downloaded archive and
  one for the content of the patch itself.  Patches fetched uncompressed
  only need a checksum for the patch.  Rationale:

  - we include the content of the *patch* in the spec hash, as that is
    the checksum we can do consistently for patches included in Spack's
    source and patches fetched remotely, both compressed and
    uncompressed.

  - we *still* need the patch of the downloaded archive, because we want
    to verify the download *before* handing it off to tar, unzip, or
    another decompressor.  Not doing so is a security risk and leaves
    users exposed to any arbitrary code execution vulnerabilities in
    compression tools.
2017-09-30 02:06:59 -07:00
Todd Gamblin
14c141a410 add spack flake8 exception for long checksums 2017-09-30 02:06:59 -07:00
Todd Gamblin
bf610a379f Clean up exceptions and function names in directives.
- Functions returned by directives were all called `_execute`, which made
  reading stack traces hard because you couldn't tell what directive a
  frame came from.
  - renamed them all to `_execute_<directive>`

- Exceptions in directives were only really used in one or two places --
  get rid of the boilerplate init functions and let the callsite specify
  the message.
2017-09-30 02:06:59 -07:00
Todd Gamblin
94d85d842c Consolidate some web-spidering commands in spack.util.web
- move `spack.cmd.checksum.get_checksums` to `spack.util.web.spider_checksums`

- move `spack.error.NoNetworkError` to `spack.util.web.NoNetworkError` since
  it is only used there.
2017-09-30 02:06:59 -07:00
Todd Gamblin
2198a0e229 Disable duplicate cross-reference warnings in Sphinx. 2017-09-30 02:06:59 -07:00
Todd Gamblin
0e8bb9ec5e Refactor Package dependency metadata
- Previously, dependencies and dependency_types were stored as separate
  dicts on Package.
  - This means a package can only depend on another in one specific way,
    which is usually but not always true.
  - Prior code unioned dependency types statically across dependencies on
    the same package.

- New code stores dependency relationships as their own object, with a
  spec constraint and a set of dependency types per relationship.
  - Dependency types are now more precise
  - There is now room to add more information to dependency relationships.

- New Dependency class lives in dependency.py, along with deptype
  definitions that used to live in spack.spec.

Move deptype definitions to spack.dependency
2017-09-30 02:06:59 -07:00
Todd Gamblin
a3cb6b61ea Patch.apply() shouldn't affect working directory of caller. 2017-09-30 02:06:59 -07:00
Todd Gamblin
29ce69f3ed Only print "no patches needed" if there were no patches. 2017-09-30 02:06:59 -07:00
scheibelp
9e7faff6c9 Add test deptype (#5132)
* Add '--test=all' and '--test=root' options to test either the root or the root and all dependencies.
* add a test dependency type that is only used when --test is enabled.
* test dependencies are not added to the spec, but they are provided in the test environment.
2017-09-29 22:08:15 -07:00
Yifan Zhu
3c0e799a51 r-limma: added version 3.32.7 (#5558) 2017-09-29 16:29:41 -06:00
Jon Rood
ebbdde9625 Masa requires python if +python. (#5547) 2017-09-29 16:14:12 -06:00
lingnanyuan
756fb83f04 r-a4classif: new package. (#5557) 2017-09-29 16:06:27 -06:00
lingnanyuan
17b8f6b818 r-yaml: Correct url (#5550)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-yaml: Correct url.
2017-09-29 16:05:55 -06:00
Yifan Zhu
7c87cb1ad1 r-downloader: created new package (#5556) 2017-09-29 16:05:30 -06:00
lingnanyuan
f9e33e9b59 r-mlinterfaces: new package. (#5555)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-mlinterfaces: Create new package.
2017-09-29 15:34:44 -06:00
Yifan Zhu
06a6c6a399 r-biomart: created new package (#5554) 2017-09-29 15:33:40 -06:00
lingnanyuan
18029f5f47 r-threejs: Correct url. (#5553)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-threejs: Correct url.
2017-09-29 15:33:05 -06:00
Jon Rood
d19eb152c8 Adding new Trilinos version and updating Nalu to utilize it. (#5552) 2017-09-29 15:31:15 -06:00
lingnanyuan
e1f33bd903 r-hwriter: new package. (#5549)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-hwriter: Create new package.
2017-09-29 15:29:26 -06:00
lingnanyuan
211f731065 r-gbm: new package. (#5548)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-gbm: Create new package.
2017-09-29 15:29:11 -06:00
lingnanyuan
4cc1ff5ce8 r-htmlwidgets: Update version to 0.8. (#5551) 2017-09-29 14:28:48 -07:00
lingnanyuan
89b30bea7f r-a4preproc: Create new package. (#5499) 2017-09-29 15:27:20 -06:00
Massimiliano Culpo
554937780b modules: specialized configure_options for external packages (#5543)
closes #5473

Prior to this PR we were not exiting early for external packages, which
caused the `configure_options` property of the contexts to fail with
e.g. a key error because the DAG gets truncated for them. More
importantly Spack configure options don't make any sense for externals.

Now we exit early, and leave a message in the module file clarifying
that this package has been installed outside of Spack.
2017-09-29 09:23:13 -07:00
Yifan Zhu
a63fdc8f35 r-dbi: updated to version 0.7 (#5537)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-dbi: Create new package.

* r-dbi: modified according to flake8

* Update package.py

* Update package.py
2017-09-28 22:14:56 -06:00
lingnanyuan
aab68aaecf r-gdata: Update version to 2.18.0 (#5495) 2017-09-28 18:13:06 -07:00
Mark C. Miller
e851d15974 fixing tag name for development branch (#5496) 2017-09-28 18:12:02 -07:00
Yifan Zhu
aee44efada r-biostrings: created new package (#5498) 2017-09-28 18:11:28 -07:00
Yifan Zhu
b455fa2a7b r-gcrma: created new package (#5500) 2017-09-28 18:11:02 -07:00
Yifan Zhu
e42fd90df2 r-yaqcaffy: created new package (#5538) 2017-09-28 18:02:58 -07:00
Jon Rood
5e3024368e Add metaphysicl package (#5539)
* Adding package Metaphysicl.

* Removing list_url from metaphysical package.
2017-09-28 18:02:07 -07:00
Jon Rood
90e4b56362 Adding masa package. (#5541) 2017-09-28 18:01:38 -07:00
Yifan Zhu
6d63be9eb6 r-rlang: created new package (#5535) 2017-09-28 16:07:13 -06:00
Christoph Junghans
337256ee32 tycho2: initial commit (#5196) 2017-09-28 14:48:54 -07:00
Mark Olesen
aff6148116 Restrict openfoam to using openmpi+thread_multiple (partially resolves #5428) (#5479)
- latest version requires openmpi+thread_multiple for collated output.
2017-09-28 14:42:14 -06:00
Michael Kuhn
97bc86d617 snappy: Build shared library by default (#5534) 2017-09-28 14:18:50 -06:00
lingnanyuan
aa40509fa0 r-ggvis: Update version to 0.4.3 (#5532)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-ggvis: Update version to 0.4.3

* Update package.py

* Update package.py
2017-09-28 13:13:47 -06:00
lingnanyuan
0962088776 r-dplyr: Update version to 0.7.3 (#5531)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-dplyr: Update version to 0.7.3

* Update package.py

* Update package.py
2017-09-28 13:09:30 -06:00
Michael Kuhn
ac98e0978a ncl: Add tcsh dependency (#5195)
All ncl scripts hardcode /bin/csh, so fix them up.
2017-09-28 12:51:04 -06:00
Michael Kuhn
17be89c210 tcsh: New package (#5194)
The patches are taken from the Fedora package.
2017-09-28 12:50:52 -06:00
lingnanyuan
0bc3578dac r-annaffy: new package. (#5414)
* r-annaffy: Create New Package.

* r-annaffy: Create new package.

* r-go-db: Create new package.

* r-kegg-db: Create new package.

* r-annaffy: Correct indentation.

* r-go-db: Correct indentation.

* r-kegg-db: Correct format.

* r-kegg-db: Correct format.

* r-go-db: Correct format.

* r-annaffy: Correct format.
2017-09-28 12:49:31 -06:00
Audrey Thoma
3f44eb0179 fastq-screen: new package (#5431)
* fastq-screen: new package

* fixing descriptions and previously made packages' old copyright date

* added wrong perl package after change
2017-09-28 12:48:31 -06:00
Brian Homerding
0ce93d7333 Added hacckernels package (#5533) 2017-09-28 12:46:26 -06:00
lingnanyuan
d61e92b439 r-r6: Update version to 2.2.2 (#5529)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-r6: Update version to 2.2.2
2017-09-28 12:46:11 -06:00
lingnanyuan
c0e1b1f68e r-shiny: update version to 1.0.5 (#5530)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-shiny: Update version to 1.0.5
2017-09-28 11:31:27 -06:00
lingnanyuan
a613244602 r-htmltools: Update version to 0.3.6 (#5528)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-htmltools: Update version to 0.3.6
2017-09-28 11:31:16 -06:00
lingnanyuan
0c385e94e6 r-httpuv: Update version to 1.3.5 (#5527)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-httpuv: Update version to 1.3.5
2017-09-28 11:30:57 -06:00
lingnanyuan
38ea408126 r-rcpp: Update version to 0.12.13 (#5526)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-rcpp: Update version to 0.12.13

* r-rcpp: Correct url.
2017-09-28 11:30:25 -06:00
Kelly (KT) Thompson
4e4247dd18 Provide a new Perl package 'cloc'. (#5525)
+ Count, or compute differences of, physical lines of source code in the
  given files (may be archives such as compressed tarballs or zip files)
  and/or recursively below the given directories.
2017-09-28 11:30:08 -06:00
lingnanyuan
e101665e5e r-jsonlite: Update version to 1.5 (#5524)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-jsonlite: Update version to 1.5
2017-09-28 11:28:49 -06:00
lingnanyuan
4d445f8436 r-rda: new package. (#5523)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-rda: Create new package.
2017-09-28 11:28:29 -06:00
Mark Olesen
cd825baee9 - build paraview without qt when osmesa is specified. (#5480)
- new paraview version (5.4.1 from August)
2017-09-27 22:32:10 -06:00
lingnanyuan
ab21d268be r-sfsmisc: new package. (#5516)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-sfsmisc: Create new package.

* r-sfsmisc: Correct format.
2017-09-27 22:16:02 -06:00
Robert Pavel
b681146875 Added spackage for branson (#5520)
Added spackage for branson proxy for monte carlo
2017-09-27 21:50:07 -06:00
Gregory Lee
16bd1449be added qt creator version 4.4.0 (#5518) 2017-09-27 21:49:33 -06:00
lingnanyuan
d5fcbab8de r-varselrf: new package. (#5515)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-varselrf: Create new package.
2017-09-27 21:48:22 -06:00
lingnanyuan
97208d9888 r-pamr: new package (#5514)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-pamr: Create new package.
2017-09-27 21:48:04 -06:00
lingnanyuan
51e99c5fde r-rocr: new package. (#5513)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-rocr: Create new package.
2017-09-27 21:47:47 -06:00
lingnanyuan
e7c0e12256 r-a4core: new package. (#5512)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-a4core: Create new package.

* r-a4core: Correct format.
2017-09-27 21:47:12 -06:00
Yifan Zhu
98bb213fe2 r-simpleaffy: created new package (#5510) 2017-09-27 21:46:53 -06:00
Robert Pavel
48066a808e ExaMPM (#5509)
* Added ExaMPM Spackage

* Removed template text
2017-09-27 21:46:32 -06:00
Robert Pavel
2942ddc1e0 Added Support for BML 1.2.2 (#5502)
* Added Support for BML 1.2.2

* Added checksums

* Update package.py
2017-09-27 21:46:14 -06:00
Robert Pavel
e4f4f9a6e5 Added shards and intrepid(2) to trilinos (#5481)
Added support for shards, intrepid, and intrepid2 variants to trilinos
spackage
2017-09-27 21:41:53 -06:00
Robert Pavel
aa2a403536 Added CoEVP Spackage (#5485)
* Added CoEVP Spackage

Added spackage for baseline (mpi, no other dependencies) CoEVP

* coevp: add more variants

* tag as proxy-app
2017-09-27 21:41:34 -06:00
Sheng Di
3be81a0b10 SZ: add version 1.4.11 (#5517) 2017-09-27 16:30:43 -07:00
Christoph Junghans
f27aad68bf flann: fix build for 1.8.1 (#5508)
* Update url_for_version for versions 1.8.1 and earlier
* Add python dependency when +python is enabled
2017-09-27 14:39:33 -07:00
Christoph Junghans
83ab062583 lammps: add user-omp package (#5486)
* Simplify cmake arg generation
* Set -DFFT when kspace variant is enabled
2017-09-27 12:46:58 -07:00
Ken Raffenetti
c242165ebd Additional MPICH configs (#5259)
* Add support for building develop version from git
* Add device and netmod variants
2017-09-27 10:50:05 -07:00
lingnanyuan
90dd5e2932 r-gplots: Create New Package. (#5494)
* r-gplots: Create New Package.

* r-gplots: Correct format.
2017-09-27 10:20:17 -06:00
Michael Kuhn
ed6003b514 libbson, libmongoc: Update to 1.8.0 (#5478) 2017-09-27 10:19:10 -06:00
Yifan Zhu
df1606e84e r-rcurl: created new package (#5492) 2017-09-26 17:49:54 -06:00
lingnanyuan
618d3add4f r-annotate: new package. (#5490)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-annotate: Create new package.

* r-annotate: Create new package.
2017-09-26 15:39:34 -06:00
zenln
c7f8405636 Autodock vina: spec (#5333)
* Autodock vina: spec

* Adding comment to patch. The implemnetation of boost is version dependent on older boost replacing depecrated function of boost.

* Adding in boost version dependency
2017-09-26 14:44:21 -06:00
Jim Galarowicz
95ff37309a Add ability to build llvm-openmp-ompt alone, with gnu compilers and use the resulting ompt interface in cbtf-krell and openspeedshop to gather openmp specific performance information. (#5288)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Trim comments to fit more concisely.

* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.

* Add ability to build llvm-openmp-ompt alone, with gnu compilers and use the resulting ompt interface in cbtf-krell and openspeedshop to gather openmp specific performance information.

* Fix flake8 errors.

* Fix flake8 errors - stage 2.

* Fixes based on reviewer suggestions and comments.

* Use build_type variant to set the build type and allow changing of the type.

* Fix missing comma in cmake_arg list, found on another test machine.
2017-09-26 14:15:37 -06:00
Michael Kuhn
f45916fad2 Set LANG= for _spack_fn_exists (#5475)
type's output can be localized, causing the grep to fail.
2017-09-26 12:28:50 -07:00
Christoph Junghans
e3e030cf76 astyle: homepage dead, use mirror (#5483) 2017-09-26 13:03:34 -06:00
Michael Kuhn
86d681be6e snappy: Update to 1.1.7 (#5477)
Convert to CMakePackage and add a pkg-config file (otherwise libmongoc's
pkg-config file does not contain all required flags).
2017-09-26 11:00:21 -06:00
Michael Kuhn
733965b3c6 autoconf, automake: Add missing perl dependency (#5187)
* autoconf, automake: Add missing perl dependency

* automake: Add 1.15.1
2017-09-26 08:10:22 -06:00
Michael Kuhn
60f8621704 Missing perl dependencies (#5204)
* glib: Add missing perl dependency

* shared-mime-info: Add missing perl dependency

* libx11: Add missing perl dependency

* likwid: Add missing perl dependency
2017-09-26 07:27:28 -06:00
lingnanyuan
f3152a5600 r-limma: new package. (#5468)
* r-limma: Create New Package.

* pr-quantities: add version & py-numpy conflict (#5307)

* r-limma: Create new package.

* r-limma: Correct format.

* Update package.py
2017-09-25 19:55:03 -06:00
Yifan Zhu
9b2c9bb699 r-affy: created new package (#5471) 2017-09-25 16:57:56 -06:00
lingnanyuan
34d4131284 r-genefilter: New package. (#5467)
* r-genefilter: Create New Package.

* r-genefilter: Create new package.

* r-genefilter: Correct format.

* Update package.py
2017-09-25 16:57:17 -06:00
Yifan Zhu
111c216fb7 r-xml: updated url and added version 3.98-1.9 (#5466)
* r-xml: updated url and added version 3.98-1.9

* Update package.py
2017-09-25 16:46:01 -06:00
lingnanyuan
8f0fbb4e11 r-multtest: new package. (#5469)
* r-multtest: Create New Package.

* pr-quantities: add version & py-numpy conflict (#5307)

* r-multtest: Create new package.

* r-multtest: Correct format.
2017-09-25 16:45:21 -06:00
lingnanyuan
fefb668dcb r-plogr: new package. (#5443)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-plogr:Create new package.

* r-plogr: Correct format.
2017-09-25 16:42:03 -06:00
lingnanyuan
fafd240c30 r-glmnet: update version. (#5470)
* r-glmnet: Create New Package.

* pr-quantities: add version & py-numpy conflict (#5307)

* r-glmnet: Update version to 2.0-13

* r-matrix: Update version to 1.2-11

* r-lattice: Update version to 0.20-35.
2017-09-25 16:39:41 -06:00
lingnanyuan
33adb08672 r-pkgconfig: new package. (#5441)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-pkgconfig: Create new package.

* r-pkgconfig: Correct format.

* r-pkgconfig: Correct format.
2017-09-25 16:38:45 -06:00
lingnanyuan
eb4ad328ee r-bit64: new package. (#5437)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-bit64: Create new package.

* r-bit64: Correct format.
2017-09-25 16:38:18 -06:00
lingnanyuan
23235cf3e3 r-annotationdbi: new package (#5408)
* r-annotationdbi: Create New Package.

* r-iranges: Create new package.

* r-s4vectors: Create new package.

* r-annotationdbi: Create new package.

* r-s4vectors: Delete file.

* r-annotationdbi: Correct format.

* r-iranges: Correct format.
2017-09-25 16:37:31 -06:00
lingnanyuan
f94b23a249 r-blob: new package. (#5438)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-blob: Create new package.

* r-blob: Correct format.
2017-09-25 14:41:18 -06:00
Todd Gamblin
13b61913da patch py-mccabe and py-flake8 to not require pytest-runner for install (#5427)
- Filter the pytest-runner dependency out of setup.py in py-mccabe and
  py-flake8
2017-09-25 12:46:47 -07:00
Cyrus Harrison
1348fd5648 update for conduit 0.3.0 release (#5421)
* update for conduit 0.3.0 release

* use mpicxx

* Update package.py
2017-09-25 12:25:40 -06:00
Axel Huebl
28dd6b378c Fix Protobuf URLs (#5373)
The default implementation of Package.fetch_remote_versions will take
a URL like https://github.com/google/protobuf/archive/ and automatically
search https://github.com/google/protobuf/releases/ for new package
versions. In the case of protobuf the release/ path contains release
artifacts for a version and the archive/ path contains the desired
source. Since both are associated with the version, and
Package.fetch_remote_versions only stores one URL for a given version,
the two paths are in conflict; previously the URL returned for a
given version was arbitrarily chosen between the two paths. This
updates the definition for the Protobuf package to always search for
URLs in https://github.com/google/protobuf/archive/
2017-09-25 10:47:55 -07:00
Massimiliano Culpo
8864d145e9 module files: system paths are excluded from path inspection (#5460)
closes #5201

Currently, if a user sets an external package to have a prefix that is
one of the system paths (like '/usr') the module files that are
generated will prepend '/usr/bin' to 'PATH', etc. This is particularly
nasty at the time when a module file is unloaded, and e.g. paths like
'/usr/bin' will be discarded from PATH.

This PR solves the issue skipping system paths when a prefix inspection
is made to generate module files.
2017-09-25 09:47:50 -07:00
Christoph Junghans
64311e8510 lammps: add support of latte package (#5446) 2017-09-25 09:39:29 -07:00
George Hartzell
e947a0b152 Add info for lmod@7.7 and lmod@7.6.14 (#5450)
Lightly tested on CentOS 7
2017-09-25 07:31:43 -06:00
Denis Davydov
330211468a add assimp package. link against it in dealii (#5463) 2017-09-25 06:58:13 -06:00
George Hartzell
99cefcc955 New version for mosh1.3.2 (#5448)
Required an update to the protobuf digest value, which seems to
be amongst the set creamed by GitHub's change.
2017-09-24 15:12:35 -06:00
Andrey Prokopenko
6168b7fda8 llvm: patch lldb for gcc-7 (#5239) 2017-09-24 10:24:36 +02:00
Denis Davydov
8db69de258 hdf5: fix macOS build by not using numactl (#5458) 2017-09-23 22:34:00 -06:00
Christoph Junghans
40777e44e2 parsplice: add version 1.1 (#5461) 2017-09-23 20:28:40 -07:00
Denis Davydov
7f84de52a0 blas_lapack: add multithreading variant consistent in all implementations. (#5340)
* blas_lapack: add multithreading variant

* elemental: update

* intel-mkl: extend to macOS

* rename multithreading to threads

* intel-mkl: avoid long lines

* intel-mkl: make one install error a conflict

* openblas: fix a minor bug in the test
2017-09-23 13:27:42 -07:00
lingnanyuan
bf2f96ce78 r-rsqlite: Update version to 2.0. (#5444)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-rsqlite: Update version to 2.0
2017-09-23 15:02:27 +00:00
lingnanyuan
c3a8f10bf9 r-bh: update version. (#5442)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-bh: Update version to 1.65.0-1
2017-09-23 15:01:35 +00:00
lingnanyuan
8e2351f96c r-memoise: update version. (#5440)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-memoise: Update version to 1.1.0
2017-09-23 15:00:50 +00:00
lingnanyuan
9fdcc147a7 r-tibble: update version. (#5439)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-tibble: Update version to 1.3.4
2017-09-23 15:00:02 +00:00
lingnanyuan
c6a3f4cf9b r-bit: new package. (#5436)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-bit: Create new package.
2017-09-23 14:59:09 +00:00
lingnanyuan
debc492032 r-assertthat: update version to 0.2.0 (#5435)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-assertthat: Update version to 0.2.0
2017-09-23 14:58:53 +00:00
Yifan Zhu
72bb53c018 r-preprocesscore: created new package (#5434) 2017-09-23 14:58:24 +00:00
Yifan Zhu
6134e94ede r-affyio: created new package (#5433) 2017-09-23 14:58:06 +00:00
Yifan Zhu
d2c65247b0 r-xvector: created new package (#5432) 2017-09-23 14:57:31 +00:00
Denis Davydov
4c20d9917e superlu-dist: fix has after 09/17/2017 update (#5457) 2017-09-23 12:50:02 +00:00
George Hartzell
d12f52b37a tmux: add version 2.5 (#5449) 2017-09-22 19:30:47 -07:00
George Hartzell
6e20dd61c0 Ack: add version 2.18 (#5445) 2017-09-22 19:30:12 -07:00
George Hartzell
e43ea22e45 Add info for httpie@0.9.9 (#5451)
Lightly tested on CentOS 7.
2017-09-23 00:40:22 +00:00
George Hartzell
6ac28c1daa Add info for lftp@4.8.1 (#5452)
Lightly tested on CentOS 7.
2017-09-23 00:39:49 +00:00
George Hartzell
315d844ab7 Update git to @2.14.1, requires pcre+jit variant (#5430)
Update the git package to git@2.14.1.

This requires a pcre that has been built with `--enable-jit`, so this
adds a variant to pcre to support that and arranges so that git versions
before 2.14 depend on pcre and git 2.14 and after depend on pcre+jit.
2017-09-22 16:43:45 -07:00
George Hartzell
fd552ab2b9 git-lfs: add 2.2.1 and 2.3.0 (#5429) 2017-09-22 16:36:57 -07:00
George Hartzell
e176c3a3c5 emacs: add version 25.3 (security update) (#5447)
25.3 is a security update. Info here:
https://lists.gnu.org/archive/html/info-gnu/2017-09/msg00006.html

Build both +X and ~X on CentOS 7 and lightly tested.
2017-09-22 16:34:59 -07:00
Massimiliano Culpo
f1fbcfa971 plumed: fixed possible linking issue (#5425)
Due to the logic in configure.ac, we may be using both the system
linker (LD_RO='ld -r -o') and the linker tied to the compiler (LD=$CXX).
This may produce weird link-time errors when the two executables are
not the same.

The PR works around the issue disabling 'ld -r'
2017-09-22 21:14:53 +02:00
Howard Pritchard
a646ec1fff PMIx: add PMIx package to Spack (#5426)
Open MPI has been relying on versions of PMIx since the 2.0.0
release.  Although the embedded version can be used, it makes
more sense long term for Spack to know about the PMIx package,
and to build Open MPI against PMIx as an external package.

There are other software components that may eventually be
reliant on PMIx including MPICH, GASNet, the OpenSHMEM reference
implementation, etc.

This is also partly motivated by the desire to have ECP ST
projects to be released through Spack.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-09-22 11:27:28 -06:00
sknigh
7b4d8d6d1e Version fixes for py-csvkit (#5393) 2017-09-22 10:06:15 -07:00
healther
6ff57bde42 Add package py-memory-profiler (#5413)
* add package memory profiler

* fix FIXME
2017-09-21 20:00:09 -06:00
Yifan Zhu
77f2221177 r-s4vectors: created new package (#5419)
* r-s4vecors: created new package

* Update package.py

* edited according to flake8
2017-09-21 19:57:02 -06:00
Mike Pozulp
2ad3a1bff7 Update pic/shared variants for hdf5, python, silo (#5423) 2017-09-21 18:14:31 -07:00
scheibelp
45a8c03bdf Prefer later versions of compilers by default (#5234)
* Prefer later versions of compilers by default

* update test to make it less fragile
2017-09-21 17:16:19 -07:00
lingnanyuan
3817111454 r-mpm: new package. (#5416) 2017-09-21 13:36:51 -07:00
Howard Pritchard
699f34c33f OpenMPI: add 2.1.2 bug fix release (#5418) 2017-09-21 13:26:23 -07:00
healther
bce26745e3 Add cpu_target variant to openblas (#5090) 2017-09-21 12:28:24 -07:00
George Hartzell
f39fa2fee9 Use trusted/historic site for texlive installer (#5347)
* Make texlive untrusted

TeXLive updates their installer without changing its name.  We've been
playing keep-up with them, but I'm proposing it's not worth it.

I seem to end up installing it '--no-checksum' anyway.

This commit updates the package to make that approach official,
removing the checksum, adding a note to the description and a bigger
note/comment inthe package body.

* Pull installer from stable source (packages are still *live*)

This pulls the installer script from the "historic" repository.  It
appears to be stable, so that we can use a checksum with it (one
hopes, time will tell).

The installer still pulls the packages from the live repos so
installations aren't reproducible.
2017-09-21 07:22:09 -06:00
healther
837c325160 fix install method of cereal (#5094)
* removed unnecessary install method from cereal

* attempt to fix flake8 error

* adjusted install method

* add CMake options instead of manually patching stuff

* flake8
2017-09-21 07:10:51 -06:00
Yifan Zhu
a4309e1129 r-zlibbioc: new package (#5399) 2017-09-21 08:43:33 +02:00
Yifan Zhu
7373d20cbc r-biocinstaller: added version 1.26.1 (#5406) 2017-09-21 08:42:32 +02:00
BenBrands
b8a7b2e9a0 dealii: add cuda support (#5402) 2017-09-21 08:17:24 +02:00
Brian Van Essen
96927deb30 Opencv: fix dependencies and variants (#5232)
Fixes #5159

* Added dependency on google protobuf when using v3.3.0.
* Set default for variant core to be true.
2017-09-20 21:37:52 -07:00
Christoph Junghans
41a656a032 latte: add v1.0.1 (#5403) 2017-09-20 19:02:45 -07:00
Levi Baber
04489d6dfa r-biobase: new package (#5398)
Add r-biobase package. Remove explicit R dependency from r-biocgenerics
package (since it is an instance of RPackage). Update version for
r-biocgenerics and remove github versions.
2017-09-20 19:00:56 -07:00
George Hartzell
1d5f1576a5 Add info for mono@5.4.0.167 (#5405) 2017-09-20 18:44:53 -06:00
Yifan Zhu
bed69e708d r-survival: updated to version 2.41-3 (#5409) 2017-09-20 18:42:16 -06:00
George Hartzell
070ada3aef [WIP]: Sambamba new package (#5304)
* First draft package for sambamba

Depends on the ldc package (#5279) that alalazo's working on.

It requires a patch to the Makefile because one of ldc's library
functions mentions dlopen.  I *think* that ldc should be handling
this.  See the discusssion in #5279.

It also requires a "static" ldc.  Again, see #5279.

Finally, it needs "undeaD" as a resource, but I'm guessing at the
appropriate release.  See
https://github.com/lomereiter/sambamba/issues/312.

* alalazo renamed the shared_libs variant, keep up...
2017-09-20 18:23:49 -06:00
Kelly (KT) Thompson
d10aa385fb Update recipe for cgns to avoid build warnings/errors: (#5382)
+ The recipe for cgns seems to be wrong. CMake complains about variables set but
  not used (`HDF5_NEEDS_ZLIB`, `HDF5_NEEDS_MPI` and `HDF5_NEEDS_SZIP`) and fails
  to find HDF5.
+ This change set removes these variables from the cmake configure line,
  replacing them with `'-DHDF5_DIR=%s' % spec['hdf5'].prefix`
+ cgns also has trouble with parallel make, so I set `parallel = False`.
2017-09-20 18:21:14 -06:00
Mark C. Miller
02b7e38bb2 Rm arpack parpack (#5391)
* fixes #967

* Version bump to 0.9.1

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

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

* fixing build issues for gcc on osx

* reverting inadvertent change on develop

* fixing typesetting of bsws description

* very minor update to RTD docs footer to ref github contributors

* Revert "very minor update to RTD docs footer to ref github contributors"

This reverts commit c40d75da7f.

* switch fastmath to depend_on arpack_ng; remove arpack/parpack
2017-09-20 18:19:04 -06:00
Gregory Lee
3606b8a1f3 added Intel 2018 tools (#5404) 2017-09-20 18:15:20 -06:00
Audrey Thoma
48c26dd284 mirdeep: new package (#5302) 2017-09-20 15:48:20 -07:00
Denis Davydov
234e00e84c update Blas/Lapack section of packaging guide (#5383) 2017-09-20 15:40:20 -07:00
Audrey Thoma
393fc3261e orthomcl: new package (#5345)
Add orthocml package and fix mariadb url
2017-09-20 15:12:52 -07:00
Audrey Thoma
5267681abe tmhmm: new package (#5335) 2017-09-20 14:45:13 -07:00
Audrey Thoma
9f6c8ebc13 bbmap: new package (#5396) 2017-09-20 14:41:25 -07:00
Audrey Thoma
8933580789 targetp: new package (#5334) 2017-09-19 13:58:07 -07:00
sknigh
8dd3dca31c added p7zip package (#5394) 2017-09-19 22:51:32 +02:00
healther
21059c39ca pr-quantities: add version & py-numpy conflict (#5307) 2017-09-19 13:10:13 -07:00
Massimiliano Culpo
b1d129e681 Modulefiles generated with a template engine (#3183)
* Module files now are generated using a template engine refers #2902 #3173

jinja2 has been hooked into Spack.

The python module `modules.py` has been splitted into several modules
under the python package `spack/modules`. Unit tests stressing module
file generation have been refactored accordingly.

The module file generator for Lmod has been extended to multi-providers
and deeper hierarchies.

* Improved the support for templates in module files.

Added an entry in `config.yaml` (`template_dirs`) to list all the
directories where Spack could find templates for `jinja2`.

Module file generators have a simple override mechanism to override
template selection ('modules.yaml' beats 'package.py' beats 'default').

* Added jinja2 and MarkupSafe to vendored packages.

* Spec.concretize() sets mutual spec-package references

The correct place to set the mutual references between spec and package
objects at the end of concretization. After a call to concretize we
should now be ensured that spec is the same object as spec.package.spec.

Code in `build_environment.py` that was performing the same operation
has been turned into an assertion to be defensive on the new behavior.

* Improved code and data layout for modules and related tests.

Common fixtures related to module file generation have been extracted
in `conftest.py`. All the mock configurations for module files have been
extracted from python code and have been put into their own yaml file.

Added a `context_property` decorator for the template engine, to make
it easy to define dictionaries out of properties.

The default for `verbose` in `modules.yaml` is now False instead of True.

* Extendable module file contexts + short description from docstring

The contexts that are used in conjunction with `jinja2` templates to
generate module files can now be extended from package.py and
modules.yaml.

Module files generators now infer the short description from package.py
docstring (and as you may expect it's the first paragraph)

* 'module refresh' regenerates all modules by default

`module refresh` without `--module-type` specified tries to
regenerate all known module types. The same holds true for `module rm`

Configure options used at build time are extracted and written into the
module files where possible.

* Fixed python3 compatibility, tests for Lmod and Tcl.

Added test for exceptional paths of execution when generating Lmod
module files.

Fixed a few compatibility issues with python3.

Fixed a bug in Tcl with naming_scheme and autoload + unit tests

* Updated module file tutorial docs. Fixed a few typos in docstrings.

The reference section for module files has been reorganized. The idea is
to have only three topics at the highest level:

  - shell support + spack load/unload use/unuse
  - module file generation (a.k.a. APIs + modules.yaml)
  - module file maintenance (spack module refresh/rm)

Module file generation will cover the entries in modules.yaml

Also:

  - Licenses have been updated to include NOTICE and extended to 2017
  - docstrings have been reformatted according to Google style

* Removed redundant arguments to RPackage and WafPackage.

All the callbacks in `RPackage` and `WafPackage` that are not build
phases have been modified not to accept a `spec` and a `prefix`
argument. This permits to leverage the common `configure_args` signature
to insert by default the configuration arguments into the generated
module files. I think it's preferable to handling those packages
differently than `AutotoolsPackage`. Besides only one package seems
to override one of these methods.

* Fixed broken indentation + improved resiliency of refresh

Fixed broken indentation in `spack module refresh` (probably a rebase
gone silently wrong?). Filter the writers for blacklisted specs before
searching for name clashes. An error with a single writer will not
stop regeneration, but instead will print a warning and continue
the command.
2017-09-19 12:34:20 -07:00
Massimiliano Culpo
081403f280 adios: fixed conditional dependencies on libevpath and dataspaces (#5392)
fixes #5379
2017-09-19 14:13:26 +02:00
Gregory Lee
34d2762b1f added python version 2.7.14 and 3.6.2 packages (#5389) 2017-09-18 22:05:26 -05:00
Axel Huebl
15f844f291 HDF5: Fortran MPI needs Numactl (#5372) 2017-09-18 19:32:52 -07:00
healther
df8e7d7590 add variant gmock to googletest (#5278) 2017-09-18 19:28:33 -07:00
Christoph Junghans
bb042f7bd7 latte: fix url and add shared variant (#5358) 2017-09-18 19:24:17 -07:00
Christoph Junghans
1098d78d2a qmd-progress: add shared variant (#5381) 2017-09-18 15:36:42 -07:00
Christoph Junghans
6d8614f671 bml: add shared variant (#5380) 2017-09-18 15:32:20 -07:00
Christoph Junghans
efcd8e6f7f lammps: fix checksum (#5342) 2017-09-18 15:18:27 -07:00
Pramod S Kumbhar
832791a2bb Improve scorep package with different compilers and mpi providers (#5386)
* Add --with-mpi=spec['mpi'].name at configure step to avoid error when finding 2 MPI implementations

* Improve scorep package with different compilers and mpi providers
2017-09-18 13:35:42 -07:00
Milton Woods
2f269c3919 mesa: merge multiple branches into one (#5170)
Merge work from multiple contributors on the mesa package. This
includes the following changes and decisions:

* Added in mesa +hwrender support

* make +swrender the default selection since this represents a very
  common usage case (ie, cluster usage)

* leave ~llvm as the default, since inadvertently building this package
  could take a very long time.  May need to revisit this assumption in
  the future since the performance difference can be quite substantial.

* build libGLESv1+2 and libGL for all variants

* avoid dependence on dri/libdrm when ~hwrender

* disable gallium drivers if none are requested
2017-09-18 11:10:54 -07:00
Todd Gamblin
c7a789e2d6 Add --show-log-on-error option to spack install
- converted `log_path` and `env_path` to properties of PackageBase.

- InstallErrors in build_environment are now annotated with the package
  that caused them, in the 'pkg' attribute.

- Add `--show-log-on-error` option to `spack install` that catches
  InstallErrors and prints the log to stderr if it exists.

Note that adding a reference to the Pakcage allows a lot of stuff
currently handled by do_install() and build_environment to be handled
externally.
2017-09-17 18:52:25 -07:00
Todd Gamblin
742cd7f127 Remove redundant dest arguments in install.py 2017-09-17 18:52:25 -07:00
Todd Gamblin
eb0ea7697a Fix log error parsing bug introduced in c830eda0e (#5387)
- '\b' in regular expression needs to be in a raw string (r'\b')
- Regression test that would've caught this was unintentionally disabled

- This fixes the string and the test
2017-09-17 15:31:32 -07:00
Denis Davydov
2d22a88a96 tbb: add 2018 (#5359) 2017-09-17 11:32:19 -07:00
Pramod S Kumbhar
9aafe21b63 Filter system paths from CMAKE_PREFIX_PATH (#5385) 2017-09-17 14:47:16 +02:00
Kelly (KT) Thompson
0558fd640e Improve external package location detection algorithm. (#5145)
Also inspect `PATH` to help locate an external package and provide a test for
getting path from module's PATH.

Fixes #5141
2017-09-16 13:26:29 -07:00
Howard Pritchard
707b773aa2 Open MPI: add Open MPI 3.0.0 (#5360)
Open MPI 3.0.0 is released!  Add to spack.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-09-16 13:14:24 -07:00
Denis Davydov
f710a520e5 set CMAKE_PREFIX_PATH for cmake packages (#5364)
* cmake: set CMAKE_PREFIX_PATH

* cmake: use build/link immediate dependencies to construct CMAKE_PREFIX_PATH
2017-09-16 13:14:03 -07:00
Denis Davydov
7cec47aacd trilinos: update md5 for 12.10.1 (#5362) 2017-09-16 13:05:17 -07:00
Axel Huebl
847b24c94c New Pcakage: numactl (#5371)
Adds the numactl tools and libnuma.
2017-09-16 13:00:32 -07:00
ynanyam
5bb3538541 Feature/methycode (#5374)
* methylcode: added package

* pyfasta: added package

* py-bsddb3: added package

* py-bsddb3: added package

* Update package.py

* Update package.py

* Update package.py

* removed fixme comments

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py
2017-09-16 12:58:04 -07:00
Pramod S Kumbhar
d25b159dc3 Cntk: fixed dependency on protobuf fixes #5266 (#5267)
As protobuf has been converted to CMakePackage, it doesn't have a 'shared' variant anymore.
2017-09-16 10:24:40 +02:00
Audrey Thoma
9326925d45 augustus: url fix (#5311) 2017-09-16 10:20:42 +02:00
Denis Davydov
05b309a487 add Intel 2018 libraries (#5354) 2017-09-16 10:10:08 +02:00
zenln
1ce6097651 Bioawk: added new package (#5375) 2017-09-16 09:14:57 +02:00
Christoph Junghans
fc237792b2 gromacs: added 2016.4 (#5376) 2017-09-16 09:12:02 +02:00
Pramod S Kumbhar
54d0cef5c4 Update hpctoolkit and externals to latest release 2017-09-15 12:58:33 -07:00
healther
393e355c39 add new version to package py-pybind11 2017-09-15 10:13:47 -07:00
Michael Kuhn
cba1ddff4a ncl: Fix buffer overflow in ymake-filter (#5357)
Fixes a problem in ymake-filter: The line buffer is currently hardcoded to be
2048 bytes large but some Makefiles contain lines longer than that. This
caused the Makefiles to sometimes not be generated, consequently failing parts
of the build.
2017-09-15 08:43:42 -05:00
Pramod S Kumbhar
abc0c65d03 Fix checksum of Intel TBB package (#5349) 2017-09-14 22:46:01 -07:00
Matthew Scott Krafczyk
0bd838bd11 Remove echo statements from setup-env.sh
setup-env.sh adds the 'module' command to the user's environment
if it is not defined and if there is a Spack installation of
environment-modules available. This commit updates that logic to
perform these checks and updates quietly.
2017-09-14 18:49:25 -07:00
Robert Pavel
ead1982ede Added Support for NOX Package to Trilinos Spackage (#5366)
Added support for building NOX package to Trilinis Spackage
2017-09-14 17:28:55 -06:00
Axel Huebl
78894645eb ADIOS: Fix Build (Autotools) (#5363)
This fixes the build of the ADIOS package.
The `with_or_without` interface of the Autotools builds
seems to have changed, this fixes it.
2017-09-14 19:08:03 +02:00
Axel Huebl
3548e134f7 libsodium: update URLs (#5355)
* libsodium: update URLs

updates the URLs for libsodium releases.
Fixes broken builds (404).

* libsodium: add new version
2017-09-14 08:16:54 -05:00
Louis Vernon
ea081f06f0 Added missing dependencies to nauty package (#5348)
* Added missing help2man dependency to nauty

* Add type=build

* Added gmp dependency to nauty package
2017-09-13 20:16:16 -06:00
Axel Huebl
c1975c7601 Boost: 1.65.1 (#5330)
Add sha of the latest boost bugfix release.
http://www.boost.org/users/history/version_1_65_1.html

Besides other fixed issues, it adds compatebility for the upcoming
CUDA 9 release.
2017-09-13 22:45:28 +02:00
Christoph Junghans
80ac613391 Shell detection: filter preceding "-"
On OSX, the shell detection code may get a preceding dash, like
"-bash". This adds a filter to remove it.
2017-09-12 12:17:20 -07:00
Massimiliano Culpo
90d50a0cee Force reference consistency between Spec & Package
The correct place to set the mutual references between spec and
package objects is at the end of concretization. After a call to
concretize we should now be ensured that spec is the same object
as spec.package.spec.

Code in `build_environment.py` that was performing the same
operation has been turned into an assertion to be defensive on
the new behavior.
2017-09-12 12:10:31 -07:00
Denis Davydov
5c24370512 openblas: add ilp64 option (#5289) 2017-09-12 08:40:28 +02:00
Michael Kuhn
b413f37b3e Update libbson and libmongoc to 1.7.0 (#5294)
This also introduces the ssl, snappy and zlib variants for libmongoc.
2017-09-11 22:02:48 -07:00
Christoph Junghans
3ffb6d09d9 parsplice: initial commit (#5314) 2017-09-11 21:59:15 -07:00
Denis Davydov
c9e46a2913 dealii: explicitly specify bzip2 libs (#5337)
* dealii: explicitly specify bzip2 libs
* bzip2: add libs() property
2017-09-11 20:47:05 -07:00
Todd Gamblin
f8f1c308c9 clean up concreteness detection
- Fixes bugs where concretization would fail due to an erroneously cached
  _concrete attribute.

- Ripped out a bunch of code in spec.py that isn't needed/valid anymore:
  - The various concrete() methods on different types of Specs would
    attempt to statically compute whether the Spec was concrete.
  - This dates back to when DAGs were simpler and there were no optional
    dependencies.  It's actually NOT possible to compute statically
    whether a Spec is concrete now.  The ONLY way you know is if it goes
    through concretization and is marked concrete once that completes.
  - This commit removes all simple concreteness checks and relies only on
    the _concrete attribute.  This should make thinking about
    concreteness simpler.

- Fixed a couple places where Specs need to be marked concrete explicitly.
  - Specs read from files and Specs that are destructively copied from
    concrete Specs now need to be marked concrete explicitly.
  - These spots may previously have "worked", but they were brittle and
    should be explcitly marked anyway.
2017-09-11 17:13:21 -07:00
Todd Gamblin
8c42aed9d5 bugfix: concrete dependencies are now copied properly.
- Dependencies in concrete specs did not previously have their cache
  fields (_concrete, _normal, etc.) preserved.

- _dup and _dup_deps weren't passing each other enough information to
  preserve concreteness properly, so only the root was properly
  preserved.

- cached concreteness is now preserved properly for the entire DAG, not
  just the root.

- added method docs.
2017-09-11 17:13:21 -07:00
Todd Gamblin
14cd73ed3c Simplify logic in Spec.normalize() 2017-09-11 17:13:21 -07:00
Todd Gamblin
de7e99f866 Preserve original stack trace for UnsatisfiableSpecError 2017-09-11 17:13:21 -07:00
Massimiliano Culpo
32117c22de 'with_or_without' accepts bool variants
Fixes #4112

This commit extends the support of the AutotoolsPackage methods
`with_or_without` and `enable_or_disable` to bool-valued variants. It
also defines for those functions a convenience short-cut if the
activation parameter is the prefix of a spec (like in
`--with-{pkg}={prefix}`).

This commit also includes:

* Updates to viennarna and adios accordingly: they have been modified to
  use `enable_or_disable` and `with_or_without`
* Improved docstrings in `autotools.py`. Raise `KeyError` if name is
  not a variant.
2017-09-11 16:20:49 -07:00
Christoph Junghans
f502de4725 added votca-1.4.1 modules (#5276) 2017-09-11 13:28:53 -07:00
Denis Davydov
8dd7fa03ea elemental: fix broken Config.cmake (#5331) 2017-09-11 13:27:20 -07:00
Christoph Junghans
947cd8e3c0 berkeley-db: initial commit (#5303)
* berkeley-db: initial commit
* berkeley-db: added more versions
2017-09-11 13:25:36 -07:00
Massimiliano Culpo
50eea5cb13 Added 'ldc' compiler for D language based on LLVM (#5279) 2017-09-11 21:54:38 +02:00
Matthew Scott Krafczyk
f57559e4e2 Fix two bugs from the bootstrap update (#5312)
These were discovered with bash 4.1.2.

Add quotations around a variable to prevent the destruction of a
newline. Without this fix a conditional doesn't work properly.

Remove square brackets around a conditional meant to be evaluated based
on the return code of a command. This wasn't working properly with an
old bash.

Fix a typo.
2017-09-10 16:54:23 -10:00
Stephen McDowell
be2be8c70e fix armadillo macro expansions (#5268)
* fix armadillo macro expansions

- most compilers `#define linux 1`
    - armadillo does raw pasting of include directories in code
    - this means macro expansion of `linux-x86_64` -> `1-x86_64`
- new version, previous download url seems broken
- lib64 instead of lib?
    - needs verification, was required for intel, works for others

* flake8: two spaces is modules, one for classes

* add some explanation of how the patch works

* use p1 patch file with -U0 to prepend undef linux

* armadillo v8.100.1
2017-09-10 16:04:02 -10:00
Eloy Gil
7d5f12be70 Missing opencv dependencies (#5285)
There are some opencv dependencies missing such as "core" that are mandatory in order to complete the caffe build.
2017-09-10 14:38:11 -10:00
healther
1d3a8e034d add package py-line-profiler (#5291) 2017-09-10 14:35:17 -10:00
Pramod S Kumbhar
c077052664 Change glog from Autotools to CMakePackage (#5323) 2017-09-10 13:22:47 -10:00
Christoph Junghans
effba3c95e lammps: version bump, switch to cmake (#5313) 2017-09-10 13:21:38 -10:00
Christoph Junghans
b60e7e14b9 latte: initial commit (#5315) 2017-09-10 13:19:50 -10:00
Pramod S Kumbhar
d5f1144798 Fix Autotools build error due to missing m4 and MPICC/MPICXX (#5319) 2017-09-10 13:18:55 -10:00
Pramod S Kumbhar
ba5b17d28a Chnage IOR to AutotoolsPackage; remove hard-coded mpicc path (#5318) 2017-09-10 13:17:54 -10:00
Pramod S Kumbhar
3bb243e8e2 Improve PDToolkit support for different compilers (#5322)
* Improve PDToolkit support for different compilers

PDT dependency of TAU profiler doesn't use CC, CXX eb variables and needs command line arguments for compiler identification. If we don't pass compiler id then it uses gcc and result in link time errors while building TAU.  This patch fixes it; tested with PGI and Intel compilers.
2017-09-10 13:16:49 -10:00
Pramod S Kumbhar
f5f51118b8 Fix matplotlib build issue with intel compiler (#5321) 2017-09-10 13:15:12 -10:00
Pramod S Kumbhar
b14b02f875 Improve caffe dependency detection with extra CMake flags (#5328)
* Improve caffe dependency detection with extra CMake flags
* lmdb and leveldb fix
2017-09-10 13:14:22 -10:00
Pramod S Kumbhar
e0fa335df0 Paraview requires CMake version 3.3 or higher (#5317) 2017-09-10 10:09:05 +02:00
Pramod S Kumbhar
6ce009a72a Libgpuarray requires CMake 3.0 or higher (#5326) 2017-09-10 10:06:13 +02:00
Pramod S Kumbhar
156dedac6b Fix caffe build issue with python 3 (#5324) 2017-09-09 21:28:39 -10:00
Adam J. Stewart
2eb8db1dd2 Fix name detection in HeaderList and LibraryList (#5118)
* Fix name detection in HeaderList and LibraryList

* Add support for CUDA header files
2017-09-09 22:22:56 +02:00
Matthew Scott Krafczyk
51828dd982 Bootstrap environment-modules
Renames the existing bootstrap command to 'clone'. Repurposes
'spack bootstrap' to install packages that are useful to the
operation of Spack (for now this is just environment-modules).
For bash and ksh users running setup-env.sh, if a Spack-installed
instance of environment-modules is detected and environment modules
and dotkit are not externally available, Spack will define the 
'module' command in the user's shell to use the environment-modules
built by Spack.
2017-09-08 10:15:06 -07:00
Rob Latham
4f57c9651a dump environment in sourceable form (#5301)
First, quote the environment variable values.  Second, export the
variables. sorry, this is bourn-shell syntax.  Happy to consider a
shell-independent way to do this, but spack is already using sh-like
"env=value"
2017-09-07 17:07:03 -10:00
Audrey Thoma
2e0fc39173 mlhka: new package (#5231)
* mlhka: new package
2017-09-07 07:34:34 -10:00
Michael Kuhn
84ae7872d3 Update copyright notices for 2017 (#5295) 2017-09-06 17:44:16 -10:00
Denis Davydov
01a9a048ad elemental: fix hardcode libgfortran, use develop and explicitly specify MPI compilers (#5263) 2017-09-06 12:04:32 +02:00
Massimiliano Culpo
d1a5857a03 Added support for querying by tags (#4786)
* Added support to query packages by tags.
    - The querying commands `spack list`, `spack find` and `spack info` have
      been modified to support querying by tags. Tests have been added to
      check that the feature is working correctly under what should be the
      most frequent use cases.

* Refactored Repo class to make insertion of new file caches easier.
    - Added the class FastPackageChecker. This class is a Mapping from
      package names to stat info, that gets memoized for faster access.

    - Extracted the creation of a ProviderIndex to its own factory function.

* Added a cache file for tags.

    - Following what was done for providers, a TagIndex class has been added.
      This class can serialize and deserialize objects from json. Repo and
      RepoPath have a new method 'packages_with_tags', that uses the TagIndex
      to compute a list of package names that have all the tags passed as
      arguments.

      On Ubuntu 14.04 the effect if the cache reduces the time for spack list
      from ~3sec. to ~0.3sec. after the cache has been built.

* Fixed colorization of `spack info`
2017-09-05 15:44:42 -10:00
Christoph Junghans
feefdedadf nauty: shared libraries (#5207) 2017-09-05 09:15:08 -10:00
Massimiliano Culpo
41d8981ab5 Fixed bug in spack env due to missing argument. (#5280)
This command broke after #5109. It was using the default value for the
"dirty" argument in `setup_package`. Now it adopts the same logic as
in `spack install`. Changed help for '--clean' and '--dirty'. 
Improved coverage of spack env.
2017-09-05 17:15:25 +02:00
Tom Scogland
6c4918320d add neovim package with deps (#5260)
* add neovim package with deps
2017-09-04 23:34:21 -10:00
Denis Davydov
7f454bbd3d Add davydden as a maintainer to a couple of packages (#5284) 2017-09-05 00:23:56 +02:00
Massimiliano Culpo
dec6b609d8 Updated llvm to version 4.0.1 Fixed indentation of dict literal (#5272) 2017-09-02 07:51:27 -05:00
Andrey Prokopenko
c8df927607 Add maintainer for Trilinos
Add a maintainer for the Trilinos package.
2017-09-01 18:24:10 -07:00
Gilberto Martinez Jr
aedf6c3b87 PR for RAFT tomography package (#5247)
* Adding package RAFT

* Adding RAFT homepage
2017-09-01 12:30:16 -07:00
Pramod S Kumbhar
a140a89718 Fix allinea-forge and allinea-reports installation (#5243)
* Fix allinea-forge and allinea-reports installation

* Change which to Executable
2017-09-01 13:16:26 -05:00
Pramod S Kumbhar
2aed82c2c2 Fix osu-micro-benchmarks build (#5255)
* Fix osu-micro-benchmarks build

Changed hardcoded mpi wrapper names
Changed Package to AutotoolsPackage

* remove extra prefix
2017-09-01 13:14:54 -05:00
scheibelp
5342ecf364 Set default cmake build_type to Release for llvm
Override CMake "build_type" variant to default to "Release" for
llvm package.
2017-09-01 10:32:04 -07:00
zenln
48599837d8 Globalarrays: Adding ENABLE_I8 variant (#5249) 2017-08-31 15:14:50 -10:00
William Scullin
1d6fff1f2d New package: meson build system (#5250)
* Adding a spec for the meson build system
2017-08-31 15:13:52 -10:00
Audrey Thoma
1fff48641f kmergenie: new package (#5257) 2017-08-31 15:01:09 -10:00
Todd Gamblin
1136a7f069 jags: new package (#5256)
Just another Gibbs sampler
2017-08-31 14:58:55 -10:00
Massimiliano Culpo
01eba56e64 Patch directive allows non-archives (#5197)
- Don't expand downloaded patch file if it is not gzipped/tar'd/zipped/etc.
2017-08-31 14:06:03 -10:00
las_thoma15
cc3d8bacd7 adding config args and virtual dependencies 2017-08-31 09:37:24 -05:00
Denis Davydov
bb29ec1843 mpich: fix MPI_Barrier segfault (#5235)
* mpich: fix MPI_Barrier segfault

* one more link
2017-08-30 18:58:23 -05:00
Denis Davydov
b5a9f8ead1 add optional maintainers property to package (#5230)
* add optional package maintainers
2017-08-30 10:56:24 -07:00
Audrey Thoma
de5111cd50 hapcut2: new package (#5238) 2017-08-30 00:57:57 -07:00
Andrey Prokopenko
c830eda0e6 Slightly better error matching when parsing spack logs (#5236) 2017-08-30 00:56:17 -07:00
alalazo
462de9847c Added unit tests for Spec.__init__ exceptional paths 2017-08-29 00:44:43 -07:00
alalazo
bf7b861554 Fixed bug in Spec._dup, updated docstring
The private method `Spec._dup` was missing a line (when setting compiler
flags the parent spec was not set to `self`). This resulted in
an inconsistent state of the duplicated Spec. This problem has been
fixed here. The docstring of `Spec._dup` has been updated.
2017-08-29 00:44:43 -07:00
Todd Gamblin
ee93993b07 Make Spec construction simpler (#5227) 2017-08-29 00:02:25 -07:00
Christoph Junghans
6036a5a113 lammps: install headers (#5226)
* lammps: install headers
* use prefix.include.lammps
2017-08-28 16:33:30 -07:00
Audrey Thoma
56f4f74b72 redundans: new package (#5217)
* redundans: new package

* fixing url for fastaindex and adding dep for pyscaf
2017-08-28 15:25:19 -05:00
Matthew Scott Krafczyk
c94933343a Add --show-full-compiler option to 'spack find'
When 'spack find' is invoked with the '--show-full-compiler' option,
the compiler flags and version are shown for each spec that is found.
2017-08-28 10:35:46 -07:00
Massimiliano Culpo
005b22aa8b Removed default value for 'dirty' function argument. (#5109)
This change is done to avoid inconsistencies during refactoring. The rationale is that functions at different levels in the call stack all define a default for the 'dirty' argument. This PR removes the default value for all the functions except the top-level one (`PackageBase.do_install`).

In this way not defining 'dirty' will result in an error, instead of the default value being used. This will reduce the risk of having an inconsistent behavior after a refactoring.
2017-08-25 20:40:37 -07:00
Michael Kuhn
91143e9db4 Fix copyright years in spack create template (#5203) 2017-08-25 20:38:56 -07:00
Michael Kuhn
92df1492f6 go: Update to 1.9 (#5216) 2017-08-25 20:29:02 -05:00
Michael Kuhn
b94711a54f Improve Ubuntu arch detection (#2649)
Ubuntu uses a YY.{04,10} release scheme, where YY.04 is not necessarily
binary-compatible with YY.10.
2017-08-25 17:30:40 -07:00
Mark C. Miller
c769e99eda Zfp shared libs (#5212) 2017-08-25 15:08:49 -07:00
scheibelp
499617897b Link extra_rpaths from compilers.yaml at build time (#5211) 2017-08-25 11:02:36 -07:00
Gregory Lee
9a1fd166aa patch config.guess for any ppc64le arch (#5215) 2017-08-25 10:55:41 -07:00
Todd Gamblin
313771c734 Improve grammar in build log error message. (#5214)
- "1 error found" instead of "1 errors found"

- don't print any build log context if no errors were found; just refer
  the user to the build log.
2017-08-25 04:07:42 -07:00
Mark C. Miller
a0f39397c1 Add contributors link to Sphinx docs (#5213) 2017-08-25 02:57:44 -07:00
Sergey Kosukhin
fda3249c8b Respect --insecure (-k) flag when fetching list_url. (#5178)
* Respect --insecure when fetching list_url.
* Ensure support for Python 2.6, and that urlopen works for python versions prior 2.7.9 and between 3.0 and 3.4.3.
2017-08-25 02:15:46 -07:00
Denis Davydov
c0d3d33b58 dealii: add nanoflann, sundials and adol-c plus fixes on macOS (#5175)
* expat: fix build on macOS

* nanoflann: add new package

* sundials: fix compilation on macOS with clang+gfortran

* adol-c: add 2.6.3

* dealii: add adol-c, nanoflann, sundials and 8.5.1

* sundials: minor cleanup
2017-08-24 20:18:06 -05:00
Michael Kuhn
61cc55985b pkgconf: New package (#5202)
pkgconf is a new pkg-config implementation with additional features and
no external dependencies.

For a detailed comparison, see: http://pkgconf.org/features.html
2017-08-24 17:54:14 -07:00
Audrey Thoma
6ff82ff5a3 ray: new package (#5200) 2017-08-24 16:31:21 -07:00
Ben Boeckel
0e7071befe test/gpg: init from the testing key directory
The old testing pattern set an attribute on the parser directly. Now
that there is a parsed flag, use it instead.
2017-08-24 16:17:35 -07:00
Ben Boeckel
f564b2abf7 gpg: add an argument for the import directory
This is hidden because it is only meant for use by the tests.
2017-08-24 16:17:35 -07:00
Sergey Kosukhin
a48b5a627c Make jpeg a virtual dependency. (#5190)
* Make jpeg a virtual dependency.

* Make 'libjpeg-turbo' the default implementation of 'jpeg'.
2017-08-24 10:30:35 +02:00
sknigh
49a9d63be7 Added options to libfabrics (#5191) 2017-08-23 15:47:28 -07:00
Massimiliano Culpo
5d7901b312 Improve Spec literals, add Spec.from_dict() (#5151)
* Simplified Spec.__init__ signature by removing the *dep_like argument.

The `*dep_like` argument of `Spec.__init__` is used only for tests. This
PR removes it from the call signature and introduces an equivalent
fixture to be used in tests.

* Refactored ``spec_from_dict`` to be a static method of ``Spec``

The fixture ``spec_from_dict`` has been refactored to be a static method
of ``Spec``. Test code has been updated accordingly. Added tests for
exceptional paths.

* Renamed argument `unique` to `normal` + added LazySpecCache class

As requested in the review the argument `unique` of `Spec.from_literal`
has been renamed to `normal`. To avoid eager evaluations of
`Spec(spec_like)` expressions a subclass of `collections.defaultdict`
has been introduced.

* Spec object can be keys of the dictionary for a spec literal.

Added back the possibility use a spec directly as a key. This permits
to build DAGs that are partially normalized.
2017-08-23 14:20:40 -07:00
Christoph Junghans
fa1d0a8a4d Add --source option to spack install (#4102)
- -- source will copy source into prefix along with the package.
- added a test for --source, as well
2017-08-23 14:08:52 -07:00
Audrey Thoma
359b21c888 pgdspider: new package (#5186)
* pgdspider: new package

* couple of fixes
2017-08-23 08:34:12 -05:00
Axel Huebl
0daa639788 Boost: develop (#5184)
Adds a development version of boost, based on their github master
repo.
Git clones the submodules forever, but installs! :)

Useful for testing since boost tends to break complex software
dependencies quite often. This helps testing it before releases.
2017-08-23 07:31:34 -05:00
healther
15186d4ae8 add test for lua and node patching in sbang (#5169)
* add test for lua and node handling in sbang patching (cf #5086)
2017-08-23 01:05:36 -07:00
Todd Gamblin
40e9171390 Add testing for new build output.
- Update handling of ChildError so that its output is capturable from a
  SpackCommand

- Update cmd/install test to make sure Python and build log output is
  being displayed properly.
2017-08-22 16:14:38 -07:00
Todd Gamblin
f51b541ef8 Make install command reusable within single Spack run
- install and probably other commands were designed to run once, but now
  we can to test them from within Spack with SpackCommand

- cmd/install.py assumed that it could modify do_install in PackageBase
  and leave it that way; this makes the decorator temporary

- package.py didn't properly initialize its stage if the same package had
  been built successfully before (and the stage removed).
  - manage stage lifecycle better and remember when Package needs to
    re-create the stage
2017-08-22 16:14:38 -07:00
Todd Gamblin
fa1faa61c4 SpackCommand uses log_output to capture command output. 2017-08-22 16:14:38 -07:00
Todd Gamblin
4f444c5f58 log_ouptut can take either a filename or a file object 2017-08-22 16:14:38 -07:00
Todd Gamblin
139d5bfa6b Display build output on ProcessError, instead of Python context.
- If a failure comes from an external command and NOT the Python code,
  display errors highlighted with some context.

- Add some rudimentary support for parsing errors out of the build log
  (not very sophisticated yet).

- Build errors in Python code will still display with Python context.
2017-08-22 16:14:38 -07:00
Todd Gamblin
d54110d208 Limit package context to 3 lines and colorize in error output. 2017-08-22 16:14:38 -07:00
Massimiliano Culpo
4600d106e2 Config scopes are now returning OrderedDicts instead of dicts. (#5183)
It seems 8f21332fec introduced a bug
in that normal dictionaries are returned from ConfigScope objects
instead of OrderedDicts. This is fixed here.
2017-08-22 14:20:19 -07:00
Audrey Thoma
79df4db8e5 tcoffee: new package (#5185) 2017-08-22 13:48:23 -05:00
Axel Huebl
61c5b5faa7 Boost: 1.65.0 (#5182)
Adds the latest boost release.
Downloads seem to be pointing to bintray from the official homepage.
2017-08-22 13:46:54 -05:00
Sergey Kosukhin
f52bdeda2a Package 'libaec': no need to specify per version urls. (#5176) 2017-08-22 09:27:03 +02:00
Sergey Kosukhin
e55efdf8ed Updates for package 'cdo'. (#5179)
* Package 'cdo': removed obsolete version 1.6.9.

* Package 'cdo': updated urls.

* Package 'cdo': added version 1.9.0.

* Package 'cdo': no need to specify per version urls.

* Package 'cdo': switched from Package to AutotoolsPackage.

* Package 'cdo': added new variant 'openmp'.

* Package 'cdo': variants 'curl' and 'magics' by default.
2017-08-22 08:42:55 +02:00
Matthew Scott Krafczyk
48bf1e276b Add environment variables to path substitution
Update documentation on config file variable substitutions and
add expansion of environment variables in config files.
2017-08-21 18:35:00 -07:00
Audrey Thoma
e0ebf44239 py-pyrad: new package (#5181) 2017-08-21 17:58:05 -05:00
Massimiliano Culpo
581f70ff6f Added custom messages for conflicts directive. fixes #4965 (#5083)
Users can now add an optional custom message to the conflicts directive.
Layout on screen has been changed to improve readability and the long
spec is shown in tree format. Two conflicts in `espresso` have been
modified to showcase the feature.
2017-08-21 09:20:07 -07:00
Axel Huebl
bd8ac0a738 Protobuf: 3.4 (#5177) 2017-08-21 07:29:47 -05:00
Todd Gamblin
10bb681b57 Unbuffer so that output from packages appears when redirecting
- Python I/O would not properly interleave (or appear) with output from
  subcommands.

- Add a flusing wrapper around sys.stdout and sys.stderr when
  redirecting, so that Python output is synchronous with that of
  subcommands.
2017-08-20 16:51:10 -07:00
Todd Gamblin
79045afada Add tests for output redirection. 2017-08-20 16:51:10 -07:00
Todd Gamblin
11196e7b69 Preserve verbosity across installs when 'v' is pressed.
- 'v' toggle was previously only good for the current install.
- subsequent installs needed user to press 'v' again.
- 'v' state is now preserved across dependency installs.
2017-08-20 16:51:10 -07:00
Todd Gamblin
48440766df Fix exit call in SpackError.die()
- Previously we would use `os._exit()` in to avoid Spack error handling
  in the parent process when build processes failed.  This isn't
  necessary anymore since build processes propagate their exceptions to
  the parent process.

- Use `sys.exit` instead of `os._exit`. This has the advantage of
  automatically flushing output streams on quit, so output from child
  processes is not lost when Spack exits.
2017-08-20 16:51:10 -07:00
Todd Gamblin
05cc6c966f Rework output redirection in Spack.
- Simplify interface to log_output. New interface requires only one
  context handler instead of two.  Before:

      with log_output('logfile.txt') as log_redirection:
           with log_redirection:
               # do things ... output will be logged

  After:

      with log_output('logfile.txt'):
          # do things ... output will be logged

  If you also want the output to be echoed to ``stdout``, use the
  `echo` parameter::

      with log_output('logfile.txt', echo=True):
          # do things ... output will be logged and printed out

  And, if you just want to echo *some* stuff from the parent, use
  ``force_echo``:

      with log_output('logfile.txt', echo=False) as logger:
          # do things ... output will be logged

          with logger.force_echo():
              # things here will be echoed *and* logged

  A key difference between this and the previous implementation is that
  *everything* in the context handler is logged.  Previously, things like
  `Executing phase 'configure'` would not be logged, only output to the
  screen, so understanding phases in the build log was difficult.

- The implementation of `log_output()` is different in two major ways:

  1. This implementation avoids race cases by using only one pipe (before
     we had a multiprocessing pipe and a unix pipe).  The logger daemon
     stops naturally when the input stream is closed, which avoids a race
     in the previous implementation where we'd miss some lines of output
     because the parent would shut the daemon down before it was done
     with all output.

  2. Instead of turning output redirection on and off, which prevented
     some things from being logged, this version uses control characters
     in the output stream to enable/disable forced echoing.  We're using
     the time-honored xon and xoff codes, which tell the daemon to echo
     anything between them AND write it to the log.  This is how
     `logger.force_echo()` works.

- Fix places where output could get stuck in buffers by flushing more
  aggressively.  This makes the output printed to the terminal the same
  as that which would be printed through a pipe to `cat` or to a file.
  Previously these could be weirdly different, and some output would be
  missing when redirecting Spack to a file or pipe.

- Simplify input and color handling in both `build_environment.fork()`
  and `llnl.util.tty.log.log_output()`.  Neither requires an input_stream
  parameter anymore; we assume stdin will be forwarded if possible.

- remove `llnl.util.lang.duplicate_stream()` and remove associated
  monkey-patching in tests, as these aren't needed if you just check
  whether stdin is a tty and has a fileno attribute.
2017-08-20 16:51:10 -07:00
Todd Gamblin
e0dd55e090 Make SpackCommand a bit more testable
- add fail_on_error argument
- record exception and return code when the command fails
2017-08-20 16:51:10 -07:00
Todd Gamblin
e77c1a20c5 Fix issue with color formatting regular expression. (#5171)
- Fix issue with color formatting regular expression.
  - _separators regex in spec.py could be constructed such that '^' came
    first in the character matcher, e.g. '[^@#/]'.  This inverts the match
    and causes transient KeyErrors.

  - Fixed to escape all characters in the constructed regex.

  - This bug comes up in Python3 due to its more randomized hash iteration
    order, but it could probably also happen in a Python 2 implementation.

- also clean up variable docstrings in spec.py
2017-08-20 15:34:35 -07:00
Massimiliano Culpo
99fb394ac1 Group Travis CI jobs in stages (#5104)
- This should speed-up Travis CI tests and refers to #5049

- Travis uses build-stages to group tests together
    - The idea is to let fast tests fail first, then move to longer ones.
    - Added external perl to avoid download failure from CPAN and reduce build time
    - Disabling perl-dbi: continues to fail with (504 Gateway Time-out) on Travis

- We now cover all the build systems in tests:
    - Add back `openblas` to Travis as a separate package.
    - Switched `openblas` for `astyle` to build a simpler MakefilePackage.
    - Added 'tut' (WafPackage)
    - Added 'py-setuptools' (PythonPackage)
    - Added 'perl-dbi' (PerlPackage)
    - Added 'build_systems' directory to the ones for which we get a summary
    - Added 'openjpeg' (CMakePackage)
    - Added 'r-rcpp' (RPackage)
    - Added comments to build tests to show the covered build system
2017-08-19 14:52:27 -07:00
Todd Gamblin
bb10bc39ab Make test_inspect_path work on Mac OS X without XCode (#5168)
- Mac OS X Sierra has no /usr/include by default
- Instead of assuming there's an include directory in /usr, mock up a directory that looks like we expect.
2017-08-19 14:48:24 -07:00
健美猫
be0e051870 Add version 1.7.1 for cub. (#5164) 2017-08-19 09:22:19 -05:00
Adam Moody
d80c70538f lbann: add depends_on hwloc (#5165) 2017-08-19 01:00:52 -05:00
Audrey Thoma
fa39afb598 cufflinks: new package (#5158) 2017-08-18 16:02:15 -05:00
Audrey Thoma
3d1c5f679f muscle: fix (#5160) 2017-08-18 16:01:30 -05:00
Kelly (KT) Thompson
c41c5bc9b8 For Tk, also provide a symlink for wishX.X. (#5161)
+ gitk (and possibly other tools) expect to find the Tk executable `wish`, so
  add a symlink with this name that points to the the versioned filename.
+ Example: `wish --> wish8.6`
2017-08-18 16:01:02 -05:00
healther
d6d2dff324 sbang support: add node-js and fix lua
This adds sbang hook support for node-js and fixes the sbang filter
for lua (the character class exclusion was swallowing newlines and
reporting a false positive if lua was mentioned anywhere in the 
file).
2017-08-18 11:57:52 -07:00
healther
6d155833c5 build boost with graph library even when +mpi
Previously, when +graph and +mpi were enabled, the graph library
was replaced with the graph_parallel library. This alters the
logic for +graph+mpi to build both libraries.
2017-08-18 11:19:55 -07:00
Audrey Thoma
9ad8e79332 corset: new package (#5157) 2017-08-18 11:02:58 -05:00
Audrey Thoma
6abe8e7d91 parsimonator: new package (#5143)
* parsimonator: new package

* adding variant conflict
2017-08-18 09:36:35 -05:00
Audrey Thoma
5fb23b21e0 vegas2: new package (#5150)
* vegas2: new package

* small version things
2017-08-18 09:36:18 -05:00
George Hartzell
9af953a4cb Add info for nextflow@v0.25.6 (#5148) 2017-08-18 09:36:02 -05:00
Stephen McDowell
61238baf56 add man-db package and friends (#4844)
* add man-db package and friends

* fix groff, libpipeline, and man-db dependencies

* remove parallel groff altogether, build-only deps
2017-08-18 14:17:25 +02:00
zenln
6d2092e1eb Add a new package for gaussian (#5149)
* Gaussian: Gaussian install

* Adding Patch to spack installed files

* Adding extra environment variables for gaussian at run time

* Adding provides linda

* Adding linda as a provided package

* Shortning vars and fixing flake8 indentation and spacings
2017-08-17 18:33:44 -05:00
Audrey Thoma
cf796ed595 pagit: new package (#5140)
* pagit: new package

* removed unneeded env var
2017-08-17 15:32:30 -05:00
Audrey Thoma
94af7ccb77 new package libfabric (#5146)
* pbmpi: new package

* forgot about libfabric
2017-08-17 15:31:31 -05:00
Audrey Thoma
cb4ede001c pbmpi: new package (#5144) 2017-08-17 11:59:02 -05:00
Axel Huebl
6472c39c2e Docs: Travis-CI Workflow (#5133)
* Docs: Travis-CI Workflow

Add a workflow how to use spack on Travis-CI.

Future Work:

depending if and how we can simplify 5101:
add a multi-compiler, multi-C++-standard, multi-software
build matrix example

* Fix Typos
2017-08-17 11:25:40 -05:00
Audrey Thoma
46d8cb8913 paml: new package (#5142) 2017-08-17 11:21:56 -05:00
Massimiliano Culpo
0f5582cefc Colorize spack info. Adds prominence to preferred version. (#4994)
* Colorize spack info. Adds prominence to preferred version. fixes #2708

This uses 'llnl.util.tty.color' to colorize the output of 'spack info'.
It also displays versions in the order the concretizer would choose
them and shows the preferred in a line on its own and in bold.

* Modified output according to Adam and Denis reviews.

Section titles are not bold + black, but bold + blue. Added a new
section named "Preferred version", which prints the preferred version
in bold characters.

* Further modifications according to Adam and Denis reviews.

After "Homepage:" we now have a single space. Removed newline after each
variant. Preferred version is not in bold fonts anymore. Added a simple
test that just runs the command.
2017-08-17 09:15:57 -07:00
Audrey Thoma
aa21590099 microbiomeutil: new package (#5134)
* microbiomeutil: new package

* got rid of unnecessary self

* oops
2017-08-17 09:19:00 -05:00
Adam J. Stewart
187f4420e2 Add new package for rhash, a cmake dependency (#5120)
* Add new package for rhash, a cmake dependency

* Add missing libuv dependency to cmake
2017-08-17 08:17:45 -05:00
Audrey Thoma
3bb7767839 py-faststructure: new package (#5131) 2017-08-17 07:49:57 -05:00
healther
d65d1269b9 add libiconv dependency to libxslt (#5138)
this is a fix to an installation that failed due to
configure for some reason not finding the libiconv
shipped with glibc, but still trying to link against it
see http://xmlsoft.org/FAQ.html
2017-08-17 07:18:02 -05:00
Massimiliano Culpo
101693d823 Improved error message for unsatisfiable specs (#5113)
* Improved error message for unsatisfiable specs. fixes #5066

This PR improves the error message for unsatisfiable specs by showing in tree format both the spec that cannot satisfy the constraint and the spec that asked for that constraint. After that follows a readable error message.
2017-08-17 08:26:04 +02:00
Massimiliano Culpo
c16a68f517 Relaxed constraints on config.yaml structure (#5115)
This PR allows additional unused properties at the top-level of the config.yaml file. Having these properties permits to use two different versions of Spack, one of which adds a new property, without receiving error messages due to the presence of this new property in a configuration cache stored in the user's home.
2017-08-17 06:37:09 +02:00
Patrick Gartung
1c8bdd7e24 buildcache fixes: index.html & unsigned installs
This fixes a syntax error in the index.html file generated by the
"spack buildcache" command when creating build caches. This also
fixes support for installing unsigned binaries.
2017-08-16 19:03:14 -07:00
sknigh
dd790fdaae add missing dependencies to elfutils (#5135) 2017-08-16 20:46:12 -05:00
Audrey Thoma
4c32b0ad56 tppred: new package (#5091)
* tppred: new package

* fixed url_for_version

* fixed version spec on dependency

* removing unneeded dependency
2017-08-16 17:48:50 -07:00
Audrey Thoma
d423f85fed dialign-tx: new package (#5126)
* dialign-tx: new package

* utilizing build_directory variable

* forgot one
2017-08-16 17:36:29 -07:00
Audrey Thoma
3a55d45497 discovar: new package (#5129) 2017-08-16 17:35:04 -07:00
Audrey Thoma
6a2cfedc7a gapcloser: new package (#5130) 2017-08-16 17:34:43 -07:00
Adam J. Stewart
af02774b3e Add tab completion & update docs for buildcache
This adds tab completion and fixes some formatting issues in the
documentation for the "spack buildcache" command.
2017-08-16 13:58:09 -07:00
Audrey Thoma
dc3526c7f1 py-misopy: new package (#5119)
* py-misopy: new package

* waiting for link to be fixed

* got correct url and checksum

* specifying dependency version requirements
2017-08-16 14:53:43 -05:00
healther
b547e6a273 Add package rtags (#5111)
* Add package rtags

* fixed license

* transform to cmakepackage and add dependencies

* add dependencies and patch for rtags

* flake8 fix

* clean up dependencies
2017-08-16 13:14:54 -05:00
Cesare Cugnasco
ffaa0b7eee Adding Thrift versions 0.10.0 and 0.9.3 (#5117)
* Adding Thrift version 0.10.0 and 0.9.3

Hi, I've added the versions 0.10.0 and 0.9.3

* fixed  flake8 errors
2017-08-16 13:14:37 -05:00
Audrey Thoma
b12fd4e831 phylip: new package (#5121) 2017-08-16 13:13:38 -05:00
Audrey Thoma
7aa81afa68 preseq: new package (#5122) 2017-08-16 13:13:18 -05:00
Adam J. Stewart
11b3ce27b7 Add better generator support to CMakePackage (#4988)
* Add better generator support to CMakePackage

* List valid CMake generators on error
2017-08-16 12:25:37 -05:00
Adam J. Stewart
db657d938d Refactor IntelInstaller into IntelPackage base class (#4300)
* Refactor IntelInstaller into IntelPackage base class

* Move license attributes from __init__ to class-level

* Flake8 fixes: remove unused imports

* Fix logic that writes the silent.cfg file

* More specific version numbers for Intel MPI

* Rework logic that selects components to install

* Final changes necessary to get intel package working

* Various updates to intel-parallel-studio

* Add latest version of every Intel package

* Add environment variables for Intel packages

* Update env vars for intel package

* Finalize components for intel-parallel-studio package

Adds a +tbb variant to intel-parallel-studio.
The tbb package was renamed to intel-tbb.
Now both intel-tbb and intel-parallel-studio+tbb
provide tbb.

* Overhaul environment variables set by intel-parallel-studio

* Point dependent packages to the correct MPI wrappers

* Never default to intel-parallel-studio

* Gather env vars by sourcing setup scripts

* Use mpiicc instead of mpicc when using Intel compiler

* Undo change to ARCH

* Add changes from intel-mpi to intel-parallel-studio

* Add comment explaining mpicc vs mpiicc

* Prepend env vars containing 'PATH' or separators

* Flake8 fix

* Fix bugs in from_sourcing_file

* Indentation fix

* Prepend, not set if contains separator

* Fix license symlinking broken by changes to intel-parallel-studio

* Use comments instead of docstrings to document attributes

* Flake8 fixes

* Use a set instead of a list to prevent duplicate components

* Fix MKL and MPI library linking directories

* Remove +all variant from intel-parallel-studio

* It is not possible to build with MKL, GCC, and OpenMP at this time

* Found a workaround for locating GCC libraries

* Typos and variable names

* Fix initialization of empty LibraryList
2017-08-16 12:21:07 -05:00
Audrey Thoma
ad8c60239f mpiblast: new package (#5106) 2017-08-16 10:48:39 -05:00
Michael Kuhn
3a0e9f29e6 scorep: Fix build with GCC 7 (#5107) 2017-08-16 10:48:20 -05:00
Michael Kuhn
95915b81d0 otf2: Add 2.1 (#5108) 2017-08-16 10:48:02 -05:00
Adam J. Stewart
2f9b0f6dd6 Fix future import in hdf5-blosc (#5010) 2017-08-16 10:34:52 -05:00
healther
f6a452d3ad Add package rr (#5105)
* Add package rr

* Flake8 fixes

* fix flake8 no2

* add future dependency stub, add hw dependency and clean up

* add missing self
2017-08-16 10:29:02 -05:00
healther
dbdf38f617 Add package PyPytestXdist and dependencies (#5095)
* Add py-pytest-xdist

* fixed licenses

* attempt to fix flake8

* added missing build dependency
2017-08-16 10:26:39 -05:00
healther
480764de5c Add package py-pybind11 (#5096)
* py-pybind11 package was missing

* fixed license file

* attempt to fix flake8

* use python3 compatible python detection
2017-08-16 08:29:54 -05:00
Audrey Thoma
619e298b8d cdhit: new package (#5085) 2017-08-16 07:05:16 +02:00
Gregory Lee
450b19b6e0 fix reference to spec in apex package (#5076)
* fix reference to spec in apex package

* fixed md5 sums for ompt-openmp and apex packages
2017-08-15 17:17:02 -05:00
Brian Van Essen
7b51791625 Openblas clang fix (#5065)
* Added a package for the MDAnalysis toolkit.

* Openblas now builds with clang when using 0.2.20

* Fixed flake8 error

* Added a guard to fail for openblas+openmp when on OSX systems

* Changed the guard to look for Apple's build of clang and to improve
the error messages.

* Removed blank line.
2017-08-15 16:57:11 -05:00
healther
8df9f9e1f4 Fix ffmpeg (add missing yasm dependency) (#5087) 2017-08-15 16:54:39 -05:00
Michael Kuhn
256cd68b27 nco: Add patch to fix invalid conversion from char to char* (#5102)
This patch is needed to be able to build nco with GCC 7.
2017-08-15 16:53:22 -05:00
Michael Kuhn
8d4dec7430 ncview: Fix download URL (#5103) 2017-08-15 16:52:34 -05:00
healther
b52e549758 add version 0.2.10 to py-lazyarray (#5093) 2017-08-15 12:15:00 +02:00
Michael Kuhn
43a634ca80 gcc: Add 7.2.0 (#5098) 2017-08-15 12:14:07 +02:00
Mark C. Miller
5712fbfeb0 Use correct variant syntax to build zfp (#5099)
`h5z-zfp` now  builds zfp with correct bit stream word size; the syntax of the variant declaration did not work in previous versions of spack but does now
2017-08-15 12:10:09 +02:00
healther
b229b739de add older versions to package folly (#5088) 2017-08-15 12:01:33 +02:00
Patrick Gartung
ab56c742ca Create, install and relocate tarballs of installed packages
Adds the "buildcache" command to spack. The buildcache command is
used to create gpg signatures for archives of installed spack
packages; the signatures and archives are placed together in a
directory that can be added to a spack mirror. A user can retrieve
the archives from a mirror and verify their integrity using the
buildcache command. It is often the case that the user's Spack
instance is located in a different path compared to the Spack
instance used to generate the package archive and signature, so
this includes logic to relocate the RPATHs generated by Spack.
2017-08-14 14:32:27 -07:00
Massimiliano Culpo
5184edb15f Added a custom action for --clean and --dirty. (#5081)
The action `CleanOrDirtyAction` has been added. It sets the default
value for `dest` to `spack.dirty`, and changes it according to the flags
passed via command line. Added unit tests to check that the arguments
are parsed correctly. Removed lines in `PackageBase` that were setting
the default value of dirty according to what was in the configuration.
2017-08-14 11:29:18 -07:00
scheibelp
4d9ef49b49 Decode process stream only for python3
Popen.communicate outputs a str object for python2 and a bytes
object for python3. This updates the Executable.__call__ function
to call .decode on the output of Popen.communicate only for python3.
This ensures that Executable.__call__ returns a str for python2 and
python3.
2017-08-14 11:23:03 -07:00
Brian Van Essen
3cce3e3ce4 Opencv update (#5079)
* Added a package for the MDAnalysis toolkit.

* Added version 3.3.0
2017-08-11 23:46:39 -05:00
Massimiliano Culpo
41c87a71a8 patch: get correct package directory for a given package
fixes #4236
fixes #5002

When a package is defined in more than one repository,
RepoPath.dirname_for_package_name may return the path
to either definition. This sidesteps that ambiguity by 
accessing the module associated with the package definition.
2017-08-11 19:18:52 -07:00
snehring
64a32ea1f9 adding falcon (#5057)
* py-networkx: adding older version py-networkx

* py-pypeflow: new package

* falcon: adding new package
pacbio-daligner: adding new package
pacbio-damasker: adding new package
pacbio-dazz-db: adding new package
pacbio-dextractor: adding new package

* py-networkx: modifying version order to be in line with convention

* falcon: tweaking py-networkx dependency to satisfy setuptools
py-pypeflow: adding missing dependency

* pacbio-dextractor: changing hdf5 dependency

* pacbio-daligner: adding gmake build dep
pacbio-damasker: adding gmake build dep
pacbio-dazz-db: adding gmake build dep
pacbio-dextractor: adding gmake build dep
2017-08-11 17:26:20 -05:00
Audrey Thoma
9e7917f7d3 mpest: new package (#5064)
* mpest: new package

* adding architecture env var and making more version-flexible

* fixing environment

* fixed build directory

* getting rid of duplicated code
2017-08-11 17:25:26 -05:00
Gregory Lee
14076c52f1 packages need to reference self.spec instead of spec (#5075) 2017-08-11 17:24:40 -05:00
Audrey Thoma
056faad3a2 signalp: new package (#5054)
* signalp: new package

* fixed homepage

* fixed url and phases

* refixed phase

* improved readability

* making path in execuatble adaptable to new versions
2017-08-11 13:54:12 -05:00
Audrey Thoma
d16f823f9d sspace-standard: new pacakge (#5071)
* sspace-standard: new pacakge

* fixing install versioning

* fixing description
2017-08-11 13:51:27 -05:00
Audrey Thoma
a030c858dd sspace-longread: new package (#5072)
* sspace-longread: new package

* fixing description

* fixing order
2017-08-11 13:51:08 -05:00
Audrey Thoma
295cdc5674 gapfiller: new package (#5073) 2017-08-11 13:50:08 -05:00
Mark C. Miller
39cb589510 More variants for MFEM (#4533)
* fixes #967

* Version bump to 0.9.1

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

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

* adding mfem variants; do not assume build defaults

* adjusting format to clarify options

* fixing some build issues

* fixing mfem+sundials

* removing mesquite variant...turns out it is obsolete

* adding examples to mfem; fixing sundials darwin installs

* adding some additional variants and setting some configure flags by fiat

* switching most check_variants logic to conflicts() directives

* adding comment about cmake config

* fixing flake8 issues; thought I had already done that

* moving func def into install method

* switch yes_no to no_yes; fix miss-spelling of miniapps

* switching make target all to lib

* changing yes_no to function as requested; fix problem with same in sundials

* fix missing import sys directive

* adding master and develop versions to amrex
2017-08-11 08:39:48 -05:00
Brian Van Essen
71c5b19464 Elemental fix (#5067)
* Added a package for the MDAnalysis toolkit.

* Added additional packages that Elemental depends on.

* Changed LBANN to not ask for the scalapack variant in Elemental.

* Removed variant control on scalapack
2017-08-11 08:29:24 -05:00
EmreAtes
038efc623d New package: qbox (#4711)
* New package: qbox

* API changes

* Use install instead of shutil for comd

* Use any BLAS library

* Fix typo

* Python2 fix

* python2 + fix backslashes

* Modified to respond to ld_flags correctly

* Modified to use ld_flags

* Add ld_flags support
2017-08-10 20:12:08 -05:00
Akhil Reddy Patlolla
e3a4631037 Add AMG2013 package (#4836)
*  Updated Changes

*  Updated AMG with required MPI

*  Updated AMG with Version ' changes'

*  Fixed Issues with flag's and variant checks

*  Updated with MPI Alone and Changes - NO Serial Variant

*  Updated with MPI Alone and Changes - NO Serial Variant

* Fixed Flake 8 line length error

*  Updated Spack Issues
2017-08-10 20:09:59 -05:00
Akhil Reddy Patlolla
e4c22efc85 Variants Serial MPI openmp (#4897)
*  Variants Serial MPI openmp

*  Fixed Flake8 Issue  and remove Patch File

*  Fixed issues with openmp Flag

*  Edited Required Changes

* Fixed issues with flake8 and Added Conditional GCC Flags

* Fixed Flake 8 Issue

*  Fixed flag's issue with non GCC Compiler

*  Fixed condition and spacing issues
2017-08-10 20:08:56 -05:00
Audrey Thoma
2f29e9c18e braker & genemark-et: new packages (#5058)
* braker & genemark-et: new packages

* fixing install
2017-08-10 20:04:37 -05:00
Audrey Thoma
637f72a8fe fimpute: new package (#5060) 2017-08-10 20:04:10 -05:00
Audrey Thoma
967370aa0b impute2: new package (#5062) 2017-08-10 20:03:52 -05:00
Audrey Thoma
518993431d mothur: new package (#5055)
* mothur: new package

* fixing mpi things
2017-08-10 18:09:40 -05:00
Jim Galarowicz
df3bc3906d Update Krell products: Add new OpenSpeedShop gui package based on qt4/qt5 gui toolkit. (#5056)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Trim comments to fit more concisely.

* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.

* Add new OpenSpeedShop gui package based on qt4/qt5 gui toolkit.

* Fix flake8 errors.

* Fix flake8 errors.
2017-08-10 18:08:32 -05:00
Audrey Thoma
81a1d7b72b gblocks: new package (#5061) 2017-08-10 17:56:20 -05:00
Audrey Thoma
ee66c3a7aa kallisto: new package (#5063) 2017-08-10 17:54:29 -05:00
Audrey Thoma
e99834df6a fastphase: new package (#5059) 2017-08-10 17:51:46 -05:00
Michael Kuhn
887e4724c2 go: Fix cgo (#5052) 2017-08-10 09:42:02 -07:00
George Hartzell
c6cd447a8a Add version 2.19.1.403 to bcl2fastq2 package (#5047)
* Update bcl2fastq2 with info for 2.19.1.403

Heads up, the download location changed (domain name AND protocol).

* Flake8 fix

What's one space between friends?
2017-08-09 22:17:34 -05:00
Audrey Thoma
5bb86ce964 soapindel: new package (#5048)
* soapindel: new package

* fixed versioning
2017-08-09 21:39:06 -05:00
Jon Rood
58cdd46ebd Adding lower bound to pnetcdf conflict in Trilinos (#5039)
* Adding lower bound to pnetcdf conflict in Trilinos to allow for use of develop and master branch.

* Using even lower bound for pnetcdf conflict in Trilinos.
2017-08-09 18:50:28 -05:00
Audrey Thoma
869d40648f soap2: new package (#5045) 2017-08-09 18:50:11 -05:00
Audrey Thoma
3edf36b0a4 haploview: new package (#5036) 2017-08-09 17:03:14 -05:00
Audrey Thoma
7ca5e4f734 soapsnp: new package (#5046) 2017-08-09 17:00:59 -05:00
Brian Van Essen
28b0421eb1 Opencv fix (#5040)
* Added a package for the MDAnalysis toolkit.

* Changed cmake_options to args to be consistent with the rest of the
file and fix a cmake error about undefined errors.  Additionally,
added guards for both png and zlib to not include their cmake options
when those variants are not specified.
2017-08-09 15:40:10 -05:00
Audrey Thoma
0137f17306 shapeit: new package (#5042)
* shapeit: new package

* fixing versioning
2017-08-09 15:39:37 -05:00
Audrey Thoma
1f578c5777 pipits: new package (#5041)
* pipits: new package and dependencies

* fixing rdp-classifier java dep

* adding resources to pipits and fixing deps for py-biom-format
2017-08-09 15:04:21 -05:00
becker33
79f9548a9a bugfix for module_cmd (#5038)
* bugfix for modulecmd when bash is symlinked to sh

* update test to make sure module_cmd can interpret sh
2017-08-09 12:14:35 -07:00
Massimiliano Culpo
faeb1b77b2 Merged 'purge' command with 'clean' and deleted 'purge' (#4970)
* Merged 'purge' command with 'clean'. Deleted 'purge'. fixes #2942

'spack purge' has been merged with 'spack clean'. Documentation has been
updated accordingly. The 'clean' and 'purge' behavior are not mutually
exclusive, and they log brief information to tty while they go.

* Fixed a wrong reference to spack clean in the docs

* Added tests for 'spack clean'. Updated bash completion.
2017-08-09 10:02:38 -07:00
pkondamudi
9e8cce41e3 OpenMC parallel build fix. (#5037) 2017-08-09 11:11:09 -05:00
Denis Davydov
db4776fcd5 alglib: add new package (#5035) 2017-08-09 09:10:25 -07:00
Sergey Kosukhin
e463461ed1 Bugfixes for compiler detection on the Cray platform. (#3075)
* Typo fixes in docstrings.

* Let OS classes know if the paths they get were explicitly specified by user.

* Fixed regexp for cray compiler version matching.

* Replaced LinuxDistro with CrayFrontend for the Cray platform's frontend.
2017-08-09 09:00:34 -07:00
Massimiliano Culpo
d6fc2363af slurm: added initial recipe (#4802)
* slurm: added initial recipe

* Modified variants following Adam comment.

The MV variant 'features' has been turned into a set of BV variants. The
dependency on 'readline' has been made optional.
2017-08-09 08:13:33 -05:00
Brian Homerding
a33f52cfb0 Fixed minor issues from Cmake conversion (#5024) 2017-08-08 23:47:34 -05:00
jiseung
a66fb012da Packages/cns nospec (#5023)
* new package: cns-nospec

* made changes as suggested and added proxy-app tag

* updated edit()

* adjusted logic for '+debug'

* install readme and license

* install readme and license

* install readme and license; fix mpi version build issues

* fix build issues for ~mpi

* pep8 compliant
2017-08-08 20:25:00 -05:00
Audrey Thoma
3506f2674c xplor-nih: new package (#5030) 2017-08-08 20:24:42 -05:00
Axel Huebl
dfb34da689 Adios2: ZeroMQ (#5031)
During my last rebase the zeromq core dependency got missing.
Currently it's needed for all dataman WAN transports.
2017-08-08 20:24:27 -05:00
Audrey Thoma
1a3021d22c rtax: new package (#5025)
* rtax: new package

* fixing usearch version flexibility
2017-08-08 16:29:20 -07:00
jiseung
f6a9c7d79c Packages/amr exp parabolic (#5027)
* new package: amr-exp-parabolic

* removed boilerplate and added tag

* install license and readme

* fix mpi build issues

* change access to include/lib directories and pep8 compliant now
2017-08-08 17:25:27 -05:00
Audrey Thoma
7f4d94667c vmatch: new package (#5028)
* vmatch: new package

* adding url_for_version
2017-08-08 17:24:56 -05:00
Audrey Thoma
6323234135 astral: new package (#5022)
* astral: new package

* simplifying join_path

* adding build phase and changing jdk to java

* forgot to change jdk to java....
2017-08-08 16:35:19 -05:00
Audrey Thoma
f82fb75aae varscan: new package (#5026)
* varscan: new package

* changing jdk to java
2017-08-08 15:54:29 -05:00
Alen Kansakar
c1f3ed6f67 Removing blanks. 2017-08-08 14:21:08 -05:00
Adam J. Stewart
97958d8347 Add latest version of Ninja (#4987)
* Add latest version of Ninja

* Re-add symlinks, add latest version of ninja-fortran
2017-08-08 11:33:24 -07:00
Jim Galarowicz
48f0e9592e Krell spack updates: Add Argo Navis/Krell new gui support library (#4964)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Trim comments to fit more concisely.

* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.

* Fix issues with the cbtf-argonavis build, update to use dyninst-9.3.2, fixes to openspeedshop package build.

* Fix issues with the cbtf-argonavis package.py files related to comments.

* Add changes for changing the krell packages from Package to CMakePackage.

* Add better changes for changing the krell packages from Package to CMakePackage.

* Add more modifications for changing the krell packages from Package to CMakePackage.

* Add additional modifications for changing the krell packages from Package to CMakePackage and fixing Travis erros

* Fix new travis errors.

* Fix new travis errors.

* Add more changes for PR 4765.

* Add more refinements to the conversion from Package to CMakePackage.

* Fix new travis errors.

* Add dependencies for MPI to be passed to cbtf-krell, so it can build the MPI collectors requested by the builder of openspeedshop.

* Remove extra unnecessary routine to adjust build arguments. Fix if-else clause issue.

* Fix more flake issues caused by last changes.

* Fix a bug where openspeedshop will not build when no mpi variants are specified.  Also switch to a multiple level variant for building the gui(s).  Use none, qt3, and qt4 as the variants with qt3 being the default.

* Add fix for spack issue #4843, where LTDL include files were not found.

* Add the build_type variant back into the openspeedshop package file.

* Add new package for the Argo Navis/Krell new graphical user support library: QtGraph.

* Revert "Add new package for the Argo Navis/Krell new graphical user support library: QtGraph."

This reverts commit f8883de446.

* Add new package for the Argo Navis/Krell new graphical user support library: qtgraph.

* Fix flake8 errors.

* Fix flake8 errors.

* Fix flake8 errors.

* Fix flake8 errors.

* Fix flake8 errors.

* Add changes to support QMakePackage class instead of Package class for qtgraph.

* Update change for suggested reviewer improvements.

* Fix flake8 errors.

* Fix flake8 errors.
2017-08-08 10:23:04 -05:00
jiseung
6196b7f9dd New package: VPFFT (#4995)
* new package: VPFFT

* install readme and license

* misc

* changed version name to 'develop'

* removed the misplaced package file

* updated eigen path, fixed docstring, and updated 'docs' installation method

* pep8 compliant, changed installation of docs
2017-08-08 10:20:40 -05:00
Axel Huebl
6e721bab6a IceT: Ill-Place CMake Modules (#5014)
IceT places its CMake module in the wrong directory,
which is not included in the default CMake search paths.

This fixes it for *directly* depending packages without the
need to add
```yaml
    icet:
      environment:
        prepend_path:
          CMAKE_PREFIX_PATH: '${PREFIX}/lib'
```

to the `modules.yaml` as a workaround.
2017-08-08 09:14:40 -05:00
Pramod S Kumbhar
f74eaa874a Add new version of dyninst package (#5017) 2017-08-08 12:08:51 +02:00
Adam J. Stewart
2853a28b2a Add latest version of gmake (#5013) 2017-08-07 18:45:07 -05:00
zenln
33cb093870 Add a new package for molcas (#5008)
* Molcas 8.2: Adding molcas spec file

* Molcas 8.2: Putting in patch file for molcas driver not to be installed in spack stage directory

* Molcas making changes

* Making changes in ordering
2017-08-07 17:41:51 -05:00
Axel Huebl
323d2d9aed CMake: 3.9.0 (#5009)
Add new versions:

- 3.8.2
- 3.9.0
2017-08-07 17:41:34 -05:00
Pramod S Kumbhar
a0d3a35afc Fix typo : spec to self.spec (#5011) 2017-08-07 17:35:03 -05:00
Pramod S Kumbhar
a5b76d24cf Update openspeedshop and cbtf-krell to use latest binutils version (fix #4992) (#4997) 2017-08-07 17:03:51 -05:00
Pramod S Kumbhar
f4dd905447 Fix build error with mpiP: (#5006)
change dependency types to default (build/link)
    and provide mpi compiler as cc (fix #5005)
2017-08-07 16:38:53 -05:00
Audrey Thoma
825c3c68a3 transabyss: new package (#4892)
* transabyss: new package and dependencies

* fixed build deps in igraph and version conflict spec in abyss

* fixed versioning stuff and package structure

*  fixed dep type

* fixing dep type for real this time
2017-08-07 15:42:49 -05:00
Pramod S Kumbhar
82463f1fd6 Fix Scalasca build error: (#5004)
Build system "usually" autodetects mpi library but this is
    not the case on many platforms. Provide mpi library name/version
    as part for configure args.
2017-08-07 14:56:47 -05:00
Kshitij Mehta
f2871c7529 savanna depends on adios+sz (#4954)
* savanna: explicitly adding variant sz to adios since it is no longer enabled by default in adios

* savanna: removing +sz from adios as sz is now enabled in adios by default

* savanna: explicitly specifying adios variants required by savanna
2017-08-07 14:37:26 -05:00
Kshitij Mehta
13cd98ac4a Adios (#4857)
* adios: conform to pep8

* adios: added versions 1.11.0 and 1.12.0

* adios: added variant no_mpi to explicitly disable mpi support

* adios: add new variant mxml

adios v1.12.0 onwards contains an xml library built within.
To build with an external mxml, a new variant must be used

* adios: new variant for sz transform

* adios: flexpath and dataspaces staging variants

Two new variants for staging: flexpath and dataspaces.
New variant 'staging' that will enable both

* adios: dependency on libtool:2.4.2 since adios does not build with newer libtool 2.4.6

* adios: better description for variant no-mpi

* adios: new variant for netcdf

as requested by @mamelara from LBL

* adios: renamed variant 'no_mpi' to 'serial'

* adios: removed variant mxml

* adios: corrected implementation of the mpi dependency, along with its relation with the 'serial' variant

Added conflicts between 'serial' and other variants

* adios: added 'else' clause when variants are not added

* adios: replaced variant 'serial' with 'mpi'

* adios: Added configure option to explicitly disable variants that are not enabled.

* adios: setting default zfp to true

* adios: fixed flake8 errors

* adios: removed some old comments

* adios: setting default sz to False.

It is recommended to set default to False when dependency is on develop (sz@develop).

* adios: removing dependency on develop for sz and setting default sz to true

* adios: updated url to latest release.

Just keeping it clean
2017-08-07 14:36:16 -05:00
Kshitij Mehta
a5e44504b0 Sz (#5003)
* sz: update to v1.4.9.2

* sz: fixed incorrect url
2017-08-07 14:34:33 -05:00
jiseung
629b17b36f Packages/snap (#5000)
* new package:SNAP

* removed boilerplate

* Delete .nfs00000000003a8b1700001358

* install another executable in bin and install readme

* added quotes around README.md

* moved readme to prefix
2017-08-07 14:34:06 -05:00
Brian Van Essen
8ca7c77008 Elemental cublas (#4889)
* Added a package for the MDAnalysis toolkit.

* Added a patch that allows Elemental to use cuBLAS internally.

* Added support for LBANN to use the new cuBLAS extension in Elemental.

* Added a proper variant for when LBANN does not want to use cuBLAS in
elemental.

* Added a package for the cnpy project and used it in the lbann package.

* Removed unnecessary comment lines.

* Removed blank lines

* Removed debug variant

* Add support for libjpeg-turbo

* Added additional variants for OpenCV features. Fixed bug when linking
in TIFF support, where libtiff used the regular JPEG library and
OpenCV used libjpeg-turbo.  Now libtiff can use libjpeg-turbo.

* Removed the variant for getting Elemental to use the cublas variant.
Updated the requirements for OpenCV to add new options.

* Fixed a flake8 error in OpenCV and added a path to find cnpy in lbann.

* Fixed line too long flake8 error.

* Added a flag to specify the datatype size in lbann and fixed a flake8 error.

* Added a debug build variant using hte new build_type

* Fixed flake8

* Fixed how the debug build is pushed to Elemental

* Fixed a bug in the Elemental package where the blas search flags were
being overridden by the blas link flags.  Changed how the sequential
initialization variant is implemented in LBANN.

* Added support via a variant to explicitly use mkl or openblas.  This
helps work around variant forwarding problems.

* Updated package files to address pull request comments.
2017-08-07 13:41:13 -05:00
jiseung
755081968f Packages/cns nospec (#4998)
* new package: cns-nospec

* made changes as suggested and added proxy-app tag

* updated edit()

* adjusted logic for '+debug'

* install readme and license

* install readme and license
2017-08-07 13:38:17 -05:00
Pramod S Kumbhar
8cbc7eeae4 Build Cube pckage with parallel make (only install phase serial) (#5001) 2017-08-07 13:32:09 -05:00
jiseung
cf2a96a3f5 Packages/smc (#4999)
* new package: SMC

* removed template and added proxy-app tag

* added comp variant in edit()

* edited comp variant in edit()

* move executable and input file into bin and install readme and license
2017-08-07 12:59:12 -05:00
scheibelp
5a94cee216 Variant satisfaction for indirect dependencies
Fixes #4898

Constraints that were supposed to be conditionally activated for
specified values of a single-valued variant were being activated
unconditionally in the case that the variant was associated with
an implicit dependency. For example if X->Y->Z and Y places a
conditional constraint on Z for a given single-valued variant on
Y, then it would have been applied unconditionally when
concretizing X.
2017-08-07 10:48:48 -07:00
Adam J. Stewart
392603e90b Make GCC binutils variant default to False (#4973) 2017-08-07 10:13:31 -07:00
Audrey Thoma
c53b1b9ad1 rsem: new package (#4991) 2017-08-07 10:04:20 -07:00
Audrey Thoma
45c227c1a3 vsearch: new package (#4993) 2017-08-07 10:02:54 -07:00
Audrey Thoma
c0e2204908 velvet: new package (#4996) 2017-08-07 10:01:50 -07:00
George Hartzell
0bd55cb8ce Limit make_jobs for boost < 1.59 (#4984)
Earlier versions of boost had a fixed maximum number of jobs.  1.54
was 64, it bumped once or twice afterwards and in 1.59 [this
commit][commit] it became dynamic.

I need 1.54 for as a prereq for bcl2fastq but I can't build 1.54 on my
144 core build box.

This fixes that.

[commit]: 316e26ca71
2017-08-06 15:23:13 -05:00
Adam J. Stewart
afc4f9c3c2 Download from pypi.io, not pypi.python.org (#4981) 2017-08-06 11:45:00 -05:00
Adam J. Stewart
0acee2f4b1 Add a new package for fastjar (#4983) 2017-08-05 16:05:12 -05:00
snehring
db74f4c3a1 Add a new package for IcedTea (#4804)
* alsa-lib: new package

* cups: new package

* icedtea: new package

* icedtea: adding JAVA_HOME variable

* alsa: removing placeholder

* icedtea: typo fix

* alsa: fixing formattting

* icedtea: formatting fixes and cleanup

* icedtea: additional cleanup

* jdk: adding provides('java') to jdk, setting jdk to default java.

* icedtea: adding jdk as a dependency

* java: changing depends_on('jdk') and similar entries to depends_on('java')

* icedtea: removing unused imports, trying to placate flake8.

* fastqc: fixing flake8 error

* bazel: fixing typo in java dependency

* jdk: changing provides java to a range

* icedtea: cleaning up. Splitting up checksums.

* icedtea: jdk dependency is build only
2017-08-05 14:53:09 -05:00
George Hartzell
ab0ea3cec4 Fix libbsd's cdefs.h to be compatible with gcc 4.8.x (#4979)
* Fix cdefs macro to be compatible with gcc 4.8.x

See the discussion in #4945 (after the merge) for additional
background.

libbsd builds with gcc@5.4.0 on CentOS 7, but not with the system's
gcc@4.8.5.  Others have reported problems with gcc@4.8.3 on Fedora 19.

The problem boils down to the lack of support for the clang extension
`__has_include_next`.  The immediate symptom seems to be the
pre-processor using defining macro like this

```
```

then then tripping over an expansion of it like this:

```
blah.h:13:23: error: missing binary operator before token "("
```

This patch changes the macro definition to:

```
```

which swallows the arguments with which the macro is invoked.

The end result is that libbsd builds for me on CentOS 7 using the
system compiler.

* Apply this patch for any compiler version before 5

This includes subversions of 4, like 4.8.5.
2017-08-05 13:33:24 -05:00
Mark Olesen
9f6c9d8afa Version: dev -> develop (for openfoam-org) (#4974) 2017-08-05 13:33:07 -05:00
Abhinav Bhatele
0117e1b76b add proxy-app tag to the lulesh package (#4951) 2017-08-05 13:32:40 -05:00
Adam J. Stewart
2a03585de6 gitignore everything in /etc/spack except /etc/spack/defaults (#4459)
* gitignore everything in /etc/spack except /etc/spack/defaults

* Don't ignore subsubdirectories of /etc/spack/defaults
2017-08-05 13:18:19 -05:00
Jia Li
41361cffea Fixed OpenBLAS compilation error on POWER8 with GCC 7. (#4783)
* Fixed compilation error on POWER8 with GCC 7.

* Restrict patch to ppc64 with gcc.
2017-08-05 12:56:04 -05:00
Audrey Thoma
6485c3feb5 snap-berkeley: new package (#4855)
* snap: new package

* changing name and adding stable release
2017-08-05 12:42:33 -05:00
snehring
cf017baa8d chlorop: new package (#4865)
* chlorop: new package

* chlorop: moving main script to bin and moving runtime tmp location.

* chlorop: fixing flake8 error.

* chlorop: cleaning up, removing CHLOROTMP, advising user to set it.

* chlorop: removing unused import
2017-08-05 12:39:44 -05:00
Sam Bateman
ce6d357161 Correct boost +mpi for Cray compiler wrappers (#4909) 2017-08-05 12:06:46 -05:00
Axel Huebl
50bf261197 Add ADIOS2 (#4944)
Adds ADIOS2, the C++ Exascale HPC I/O rewrite of ORNL's ADIOS
library.

Currently, many variants (especially for data transforms such as
compression) are not yet added. It already provides Python bindings.
2017-08-05 12:05:38 -05:00
Kelly (KT) Thompson
c54108cf63 Moab depends on BLAS. (#4952) 2017-08-05 12:04:12 -05:00
Adam J. Stewart
a31ce17f0b Various fixes to package name URL parsing (#4978) 2017-08-05 10:15:47 -05:00
Adam J. Stewart
c7df12f698 Massive conversion from Package to CMakePackage (#4975) 2017-08-05 10:15:18 -05:00
Adam J. Stewart
17cdb73be7 Add latest version of numpy and scipy (#4982) 2017-08-05 15:37:53 +02:00
Adam J. Stewart
7eb263effe Add a SConsPackage base class (#4936)
* Add a SConsPackage base class

* Make Matlab extendable

* Most dependencies are actually required

* Cantera requires older version of fmt
2017-08-04 16:52:10 -05:00
Adam J. Stewart
b8ed61cfea Make CMake the default build system (#4862) 2017-08-04 14:53:05 -05:00
Massimiliano Culpo
9be294de31 Changed every 'fpic' variant to 'pic' (#4969)
* Changed every 'fpic' variant to 'pic'. fixes #2463

Every variant that activates compilation of position independent code
has been changed to 'pic'. Hardcoded compiler flags in packages have
been substituted with `self.compiler.pic_flag`.

* Changed literal uses of '-fpic' to 'self.compiler.pic_flag'
2017-08-04 18:21:43 +02:00
Adam J. Stewart
452f382293 Add a QMakePackage base class (#4925)
* Add a QMakePackage base class

* Fix sqlite linking bug in qt-creator

* Add latest version of qt-creator

* Add latest version of qwt

* Use raw strings for regular expressions

* Increase minimum required version of qt

* Add comment about specific version of sqlite required

* Fixes for latest version of qwt and qt-creator

* Older versions of Qwt only work with older versions of Qt
2017-08-04 08:46:07 -07:00
Sergey Kosukhin
f6c2adc0ad New package libaec: a BSD-licensed replacement for the szip library. (#4437)
* Added package for 'libaec'.

* New version for package 'libaec'.
2017-08-04 10:38:54 -05:00
Adam J. Stewart
408dfc8e86 Qt: disable OpenGL support by default (#4962)
* Qt: disable OpenGL support by default

* Fix qt+opengl build
2017-08-04 09:36:02 -05:00
Sergey Kosukhin
f8dfb6a486 OpenBLAS: one of the patches is not needed starting version 0.2.20. (#4971) 2017-08-04 09:34:58 -05:00
Adam J. Stewart
739bb9e5b7 Fix trilinos dependency on superlu-dist (#4968) 2017-08-04 08:17:28 -05:00
Elsa Gonsiorowski
bb4692fdb6 SCR CMake package (#3916)
* SCR CMake package

* Fix dtcmp variant description and set pdsh deptypes to build/run

* added variants for system config file location

* add variants for several scr cmake options

* Added more variants for compile time options

* Added libyogrt and made corrosponding changes to scr package.

* Cleanup yogrt package now that Ive verified it works

* Added description for libyogrt

* upper case async api names

* Make use of mv variants

* fix pdsh package for scr

* added IBM BBAPI as async option

* update pdsh and scr to use static pdsh modules
2017-08-03 16:52:52 -07:00
Axel Huebl
8a7678cae0 Version: Dev -> Develop (#4947)
Adjust the CRP packages with the properly defined version
label "develop" which is now standardized in spack.
2017-08-03 16:35:28 -05:00
George Hartzell
f24398cde6 Add package for libbsd, add variant to expat for libbsd (#4945)
* Add package for libbsd, add variant to expat for libbsd

The recent expat release requires a high quality source of randomness.

CentOS 7 does not seem to have one, but one is available in libbsd.

This commit adds a package for libbsd and adds a variant to expat to
use it (defaults to False).

* Make libbsd default for newer, conflict for older

Make the libbsd variant default to true.

Conflict if you're asking for libbsd and an older version of expat.

This means that in order to install an older version of expat you'll
need to specify `~libbsd`.

* Rework so that 2.2.0 and 2.2.2 work by default

Get rid of the conflicts and use better constraints/tests in the
`depends_on` and the `configure_args` bits.
2017-08-03 14:57:58 -05:00
Adam J. Stewart
4e269510c5 Fix trailing whitespace at the end of headers.cpp_flags (#4957) 2017-08-03 14:24:51 -05:00
George Hartzell
36496b9174 Fix crashes when running spack install under nohup (#4926)
* Fix crashes when running spack install under nohup

Fixes #4919

For reasons that I do not entire understand, duplicate_stream() throws
an '[Errno 22] Invalid argument' exception when it tries to
`os.fdopen()` the duplicated file descriptor generated by
`os.dup(original.fileno())`.  See spack/llnl/util/lang.py, line
394-ish.

This happens when run under `nohup`, which supposedly has hooked
`stdin` to `/dev/null`.

It seems like opening and using `devnull` on the `input_stream` in
this situation is a reasonable way to handle the problem.

* Be more specific about error being handled.

Only catch the specific error that happens when trying to dup
the stdin that nohup provides.

Catching e as a StandardErorr and then
`type(e).__name__` tells me that it's an OSError.

Printing e.errno tells me that it's 22

Double checking tells me that 22 is EINVAL.

Phew.
2017-08-03 10:33:16 -07:00
Adam J. Stewart
5ac10b90c5 Add database support to apr-util package (#4932) 2017-08-03 12:18:23 -05:00
homerdin
d087eeacbd CloverLeaf, miniGhost, miniMD, miniSMAC2D, miniXyce: Adding Tags (#4963) 2017-08-03 12:13:44 -05:00
George Hartzell
687904c714 New package for canu (#4937)
* Add package for canu

There's a top-level perl script, which is touched up to use a
spack-built perl instead of `#!/usr/bin/env perl`.  It's
self-contained, it uses `FindBin` to locate it's libaries.

* Add dependency on gnuplot

I noticed a hidden mention of the use of gnuplot in the docs.

This adds the dependency.

* Tighten dependencies, flake8 cleanup

gnuplot is a run dependency.
jdk is a run dependency.
perl is a run dependency.

Make flake8 happy.
2017-08-03 11:32:44 -05:00
Sergey Kosukhin
963eb99b7f Account for hyphens in package names when searching for libraries. (#4948) 2017-08-03 09:17:07 +02:00
Axel Huebl
269925f775 Protobuf: CMake (#4846)
* Protobuf: CMake

This rebuilds protobuf to be build with CMake,
so cmake config packages are created and installed, too.

Unfurtunately, this drops support for protobuf < 3.

* Protobuf CMake: Add .pc files

* libprotobuf.a: -fPIC

* Protobuf: Minor Updates

Updates from upstream review and planned patch inclusion.
2017-08-02 08:03:31 -05:00
Todd Gamblin
44ce0adbd5 Fix color bug in Spec.format() introduced by #3013 2017-08-01 17:40:54 -07:00
Todd Gamblin
b88f55e523 Add spack dependencies command and tests for it and dependents. 2017-08-01 17:40:54 -07:00
Todd Gamblin
af3c794ab5 document and make display_specs more versatile 2017-08-01 17:40:54 -07:00
Todd Gamblin
b575d008bd Fix issue with case check and spack -m 2017-08-01 17:40:54 -07:00
Todd Gamblin
c8b2100630 Refactor installed_dependents -> installed_relatives 2017-08-01 17:40:54 -07:00
Todd Gamblin
36b3dd8cfe Package.possible_dependencies() descends into virtuals. 2017-08-01 17:40:54 -07:00
Todd Gamblin
b9606e3157 Add --transitive option to spack dependents 2017-08-01 17:40:54 -07:00
Todd Gamblin
6928cf7a68 spack dependents lists possible dependencies by default. 2017-08-01 17:40:54 -07:00
Todd Gamblin
bd94a17066 Remove last vestiges of "special" deptypes.
- Remove `special_types` dict in spec.py, as only 'all' is still used
- Still allow 'all' to be used as a deptype
- Simplify `canonical_deptype` function
- Clean up args in spack graph
- Add tests
2017-08-01 17:40:54 -07:00
Todd Gamblin
43f576cf19 Remove unused code. 2017-08-01 17:40:54 -07:00
Todd Gamblin
f2ddcfac5f Add --all argument to spack dependents
--all causes spack dependents to list all possible dependents for a
package, rather than actual dependents for an installed spec.
2017-08-01 17:40:54 -07:00
Alicia Klinvex
44653fa488 Fix xsdk build broken by petsc and trilinos (#4893)
* Fix xsdk build broken by petsc and trilinos

See #4891 for details

* Fix version conflict in trilinos package

Trilinos version 11 may conflict with superlu-dist.
The version "xsdk-0.2.0" was conflicting with superlu-dist,
even though it shouldn't.  I added a lower bound to the
comparison to fix this problem.

Thanks for the help @davydden!
2017-08-01 12:05:15 -05:00
Adam J. Stewart
82735deafd Clarify docs on using a hash in a spec (#4908) 2017-07-31 13:13:39 -07:00
scheibelp
69a6c8ef78 Fix preference for X.Y version when mixed with X.Y.Z versions (#4922)
For packages which contain a mix of versions with formats X.Y and
X.Y.Z, if the user entered an X.Y version as a preference in
packages.yaml, Spack would get confused and favor any version A.B.Z
where X=A and Y=B. In the case where there is a mix of these version
types, this commit updates preferences so Spack will favor an exact
match.
2017-07-31 13:11:08 -07:00
paulhopkins
1c7e5724d9 Add --color=[always|never|auto] argument; fix color when piping (#3013)
* Disable spec colorization when redirecting stdout and add command line flag to re-enable
* Add command line `--color` flag to control output colorization
* Add options to `llnl.util.tty.color` to allow color to be auto/always/never
* Add `Spec.cformat()` function to be used when `format()` should have auto-coloring
2017-07-31 12:57:47 -07:00
Adam J. Stewart
f3c70c235c Add latest version of SCons (#4929) 2017-07-31 19:57:56 +02:00
Axel Huebl
751f1d4fca ZeroMQ: C++ Headers (cppzmq) (#4841)
Adds the cppzmq library, adding a C++ API to ZeroMQ (libzmq). In order to find the autotools-build libzmq, this requires the upcoming cppzmq release (or development branch).
2017-07-31 19:54:06 +02:00
Adam J. Stewart
1f5ca90929 Add missing dependencies to unixodbc (#4928) 2017-07-31 19:44:33 +02:00
Adam J. Stewart
0aaab9bc8c Add latest version of expat (#4930) 2017-07-31 19:36:18 +02:00
Adam J. Stewart
a9efae271b Add latest version of apr (#4931) 2017-07-31 19:35:48 +02:00
George Hartzell
c126c5553c zsh: add variant that skips tcsetpgrp test (#4923)
zsh's configure script fails if there's it tries to test for terminal
functionality if there's not a terminal (e.g. in a Jenkins build).

The configure script has a switch that asserts that tcsetpgrp works
and thereby avoids running that test.

This commit adds a variant that invokes that switch, defaulting to
True.
2017-07-31 11:17:04 -05:00
Axel Huebl
6d97397ab0 gBenchmark: v1.2.0 (#4935)
Adds a the latest version of gBenchmark, release 1.2.0.

This is the first gBenchmark version with proper
[CMake config package installs](https://github.com/google/benchmark/issues/363).
This is important for dependencies building against it, such as gRPC.
2017-07-31 10:06:17 -05:00
Robert Pavel
f7c24289e5 Initial Spackage for qmd-progress library (#4924)
* Initial Spackage for qmd-progress library

PROGRESS is a library is focused on the development of general solvers
that are commonly used in quantum chemistry packages.

* Removed LA-CC from description to fix formatting

* Added Additional Formatting Requests

Added requested formatting changes and also ensured that graphlib and
mpi are disabled if not enabled
2017-07-28 17:10:24 -05:00
sknigh
92ea7c4337 Fix for m4%clang (#4912)
* Fix for m4%clang

* Restricted condition to not subsitute rtlib on OSX
2017-07-28 11:32:53 -05:00
Jon Rood
c5d2206206 Adding QWT package. (#4911)
* Adding QWT package.

* Using builtin file filtering.

* Formatting.
2017-07-27 16:22:29 -05:00
Christoph Junghans
78d7587c93 bml: fix homepage (#4918) 2017-07-27 16:07:47 -05:00
Akhil Reddy Patlolla
6bdc373100 Added Proxy App tag (#4917)
* Added Proxy App tag

*  NO changes except proxy app tag
2017-07-27 15:56:59 -05:00
pkondamudi
ce601a9304 New Package: lcals (#4792)
* New Pacakge: lcals

* added logic for arch detection and compiler choice.

* fixes for comments.

* addressed comments.

* removed LCALS_ARCH and added flags though spack.

* addressed comments.

* flake 8 fix.

* reerted the changes along with comments.
2017-07-27 14:24:28 -05:00
Jim Galarowicz
99cac0bf94 Fix for Krell openspeedshop spack package bug. New multi-value variant for GUI build. (#4880)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Trim comments to fit more concisely.

* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.

* Fix issues with the cbtf-argonavis build, update to use dyninst-9.3.2, fixes to openspeedshop package build.

* Fix issues with the cbtf-argonavis package.py files related to comments.

* Add changes for changing the krell packages from Package to CMakePackage.

* Add better changes for changing the krell packages from Package to CMakePackage.

* Add more modifications for changing the krell packages from Package to CMakePackage.

* Add additional modifications for changing the krell packages from Package to CMakePackage and fixing Travis erros

* Fix new travis errors.

* Fix new travis errors.

* Add more changes for PR 4765.

* Add more refinements to the conversion from Package to CMakePackage.

* Fix new travis errors.

* Add dependencies for MPI to be passed to cbtf-krell, so it can build the MPI collectors requested by the builder of openspeedshop.

* Remove extra unnecessary routine to adjust build arguments. Fix if-else clause issue.

* Fix more flake issues caused by last changes.

* Fix a bug where openspeedshop will not build when no mpi variants are specified.  Also switch to a multiple level variant for building the gui(s).  Use none, qt3, and qt4 as the variants with qt3 being the default.

* Add fix for spack issue #4843, where LTDL include files were not found.

* Add the build_type variant back into the openspeedshop package file.
2017-07-27 11:06:44 -05:00
pkondamudi
31a329d237 New Package: RSbench (#4752)
* New Package: RSbench

* minor change

* removed tags as per PR# 4749

* addressed comments and added gcc compiler.

* added proxy app tags to description.

* removed setting CC to pgicc through spec.

* removed compiler as depedency

* removed pgi variant.

* flake 8 fix.

* added mpi depedency with pgi compiler

* added  pgi compiler

* removed PGI compiler as depedency.

* added tags and addressed other code formattings.

* added tags and addressed other code formattings.

* addressed comments.
2017-07-27 10:59:30 -05:00
Denis Davydov
ddc1dcd084 openblas: add 0.2.20 (#4915) 2017-07-27 08:51:39 -05:00
Audrey Thoma
70a089287e snptest: new package (#4900)
* snptest: new package

* fixed version things

* fixed install phase
2017-07-26 17:44:15 -05:00
Adam J. Stewart
b33f92da34 Improve version detection for URLs with dynamic after version (#4902) 2017-07-26 17:43:54 -05:00
Robert Pavel
6e99e2c58e Updated Namespace of BML Repository (#4910) 2017-07-26 17:42:26 -05:00
pkondamudi
4ab12fb503 added MPI dependency to Nekbone package (#4903)
* removed the tags as per comment in PR# 4749

* addressed above comments

* changed fortran compiler.

* added proxy application tags.

* added tags by removing them from description.

* addressed comments

* used join_path instead of path concat.

* removed the tags as per comment in PR# 4749

* addressed above comments

* changed fortran compiler.

* added proxy application tags.

* added tags by removing them from description.

* addressed comments

* used join_path instead of path concat.

* added tags.

* changes to use MPI as depedency.

* removed MPI as variant.

* changed pointer to filtered makenek file.

* flake 8 fix.
2017-07-26 14:27:29 -05:00
Audrey Thoma
b62f0962b0 shortstack: new package (#4905) 2017-07-26 10:14:55 -05:00
Adam J. Stewart
07aec4366f Add universal build_type variant to CMakePackage (#4797)
* Add universal build_type variant to CMakePackage
* Override build_type in some packages with different possible values
* Remove reference to no longer existent debug variant
* Update CBTF packages with new build_type variant
* Keep note on build size of LLVM
2017-07-25 16:34:43 -07:00
Sam Bateman
4b996e9f49 tmux should not set PKG_CONFIG_PATH (#4901)
* fixes #967

* Version bump to 0.9.1

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

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

* Remove PKG_CONFIG_PATH from tmux configure

* Change tmux to AutotoolsPackage

* Correct link to libtinfo in tmux
2017-07-25 17:08:34 -05:00
becker33
30f6d2ab90 fix callpath bug (#4659)
* fix callpath bug I found while testing env/cc

* fix hanging indent for flake
2017-07-25 13:51:56 -07:00
Audrey Thoma
6693dc1092 transdecoder: new package (#4895)
* transdecoder: new package

* fixed package structure
2017-07-25 15:51:14 -05:00
Audrey Thoma
402233ecc8 transposome: new package (#4896) 2017-07-25 15:50:42 -05:00
Audrey Thoma
668233a819 trimgalore: new package (#4899) 2017-07-25 15:50:23 -05:00
Gregory Lee
42717bd8e8 fix config.guess patch for ppc64le (#4858)
* fix config.guess patch for ppc64le

* explicit patch for config.guess not required
2017-07-25 13:44:51 -07:00
Audrey Thoma
71991cd9c9 cleaveland4: new package (#4894)
* cleaveland4: new package

* fixing return line in viennarna url_for_version
2017-07-25 13:18:34 -05:00
Audrey Thoma
20ab66a2e9 tabix: new package (#4886)
* tabix: new package

* fixed docs location
2017-07-25 13:02:08 -05:00
Audrey Thoma
5184dda309 sumaclust: new package (#4884)
* sumaclust: new package

* tweaking url and make specs
2017-07-25 08:04:25 -05:00
Jimmy Tang
1d1a0e3d63 Update zstd version (#4873)
* Update zstd version

* Change order of versions

* Use MakefilePackage
2017-07-25 07:55:02 -05:00
Jimmy Tang
2b792f943f Rename the gpu variant to cuda, this is to be consistent with other (#4890)
packages.
2017-07-25 07:53:33 -05:00
Denis Davydov
b0b86e5ffe fix GobjectIntrospection on Darwin (#4872)
* fix GobjectIntrospection on Darwin

* minor
2017-07-24 19:51:17 -05:00
Audrey Thoma
4237e5fffd stacks: new package (#4875) 2017-07-24 19:50:40 -05:00
Stas Sergienko
07e60bc26b added new version of jdk 8u141-b15 (#4876) 2017-07-24 19:50:16 -05:00
Audrey Thoma
d2f08c95d9 swarm: new package (#4885) 2017-07-24 19:49:59 -05:00
Audrey Thoma
8038945145 structure: new package (#4879)
* structure: new pacakge

* fixing package structure (not a pun)
2017-07-24 18:02:20 -05:00
Audrey Thoma
0c96c330ec subread: new package (#4882) 2017-07-24 18:01:56 -05:00
Stas Sergienko
9aa3749787 added new version of cdo (#4877) 2017-07-24 15:50:44 -05:00
Audrey Thoma
bd0699b026 stringtie: new package (#4878) 2017-07-24 15:50:32 -05:00
Adam J. Stewart
250ee413e9 Change Version formatting properties and functions to return Version objects (#4834)
* Change version.up_to() to return Version() object
* Add unit tests for Version.up_to()
* Fix packages that expected up_to() to return a string
* Ensure that up_to() preserves separator characters
* Use version indexing instead of up_to
* Make all Version formatting properties return Version objects
* Update docs
* Tests need to test string representation
2017-07-24 13:02:13 -07:00
Jimmy Tang
df2fc25ddf Add a py-theano version from git repo (#4871) 2017-07-24 08:56:54 -05:00
健美猫
8a06e3d867 Add cuda variant for mvapich2. (#4800)
* Add cuda variant for mvapich2.

* Disable cuda for mvapich2 by default.
2017-07-23 12:18:05 -05:00
Stephen McDowell
1cdb3c61ca fix sphinx dependencies, add v1.6.3 (#4870) 2017-07-23 09:44:12 -05:00
Milton Woods
4044e9f918 Perl - allow package activation without PERL5LIB variable (#4540)
* perl: prepend default perl @INC path to support package activation

* perl: remove stray comma from list of configure arguments

* perl: final comma in configure arguments makes adding arguments safer

This reverts commit fdc10cd611f525ebc31ca1953e048095b1c75350.

* perl: add comment about modified @INC (thanks to George Hartzell)

* perl: use self.prefix.lib and self.prefix.bin for clarity

* perl: convert tabs added by editor to spaces for flake8

* perl: use new path syntax: prefix.lib.perl5

* perl: avoid line break before binary operator

* perl: use compact spack syntax for perl executable
2017-07-23 09:41:45 -05:00
Axel Huebl
62b4087c09 gBenchmark: Development Package (#4847)
* gBenchmark: Development Package

Add the development version (master branch) of `gBenchmark`

* gBenchmark: Remove Duplicate

Remove duplicate `gbenchmark` library
and keep its patch to remove the shipped
-Werror
2017-07-23 09:35:16 -05:00
Todd Gamblin
f159246d1d Make testing spack commands simpler (#4868)
Adds SpackCommand class allowing Spack commands to be easily in Python

Example usage:

    from spack.main import SpackCommand
    info = SpackCommand('info')
    out, err = info('mpich')
    print(info.returncode)

This allows easier testing of Spack commands.

Also:
* Simplify command tests
* Simplify mocking in command tests.
* Simplify module command test
* Simplify python command test
* Simplify uninstall command test
* Simplify url command test
* SpackCommand uses more compatible output redirection
2017-07-22 21:27:54 -07:00
Kshitij Mehta
c07d93a3e5 Savanna (#4856)
Installing the stable version 0.5 through the checksummed tar.gz does not fetch the git submodule in the package.
The submodule appears as an empty directory.

Thus, clone the commit tagged as v0.5 using git to get around this issue

* savanna: modified adios dependency spec
* Replaced adios+staging with adios+flexpath+dataspaces
* savanna: Enabling fortran support in adios by default
* savanna: reverting to variant 'staging' for enabling all staging transports
2017-07-21 23:47:13 -07:00
Audrey Thoma
aa96e1671b sparta: new package (#4867)
* sparta: new package

* fixing homepage
2017-07-21 21:40:31 -05:00
jiseung
e191ead9ac new package: miniGMG (#4849)
* new package: miniGMG

* changed based on comments

* removed cuda version
2017-07-21 20:52:09 -05:00
Audrey Thoma
cd9742a30b revbayes: trying this again (#4861) 2017-07-21 20:51:39 -05:00
Audrey Thoma
b56add1517 sortmerna: new package (#4866) 2017-07-21 20:51:03 -05:00
Gregory Lee
644f5b3229 added new pruners-ninja version (#4859) 2017-07-21 17:57:12 -05:00
Michael Kuhn
37d6907382 lmdb: Update to 0.9.21 (#4830)
Convert to MakefilePackage and add pkg-config file.
2017-07-21 17:12:17 -05:00
Audrey Thoma
aa98e35e58 singularity: new package (#4852) 2017-07-21 15:36:03 -05:00
Audrey Thoma
4164c5d5e6 smalt: new package (#4853) 2017-07-21 15:35:47 -05:00
Audrey Thoma
469e77068f seqprep: new package (#4850) 2017-07-21 14:25:18 -05:00
Audrey Thoma
cf88490059 sickle: new package (#4851) 2017-07-21 14:25:02 -05:00
Axel Huebl
e864e3bb51 New Package: C-Ares (#4840)
Adds the c-ares library, a C library for asynchronous DNS requests.

Required for the google gRPC library.
2017-07-21 09:36:14 -05:00
Audrey Thoma
51ad3a622e salmon: new package (#4833) 2017-07-21 09:17:55 +02:00
Audrey Thoma
7afce8d8cc satsuma2: new package (#4838) 2017-07-21 08:58:20 +02:00
Milton Woods
7876262826 py-cdat-lite: ensure that RPATH includes netcdf (#4521) 2017-07-20 14:13:36 -05:00
Mark Olesen
0ea2c7904a add mesa +swrender variants (gallium software/off-screen rendering) (#4602)
- +swrender variant lets you compile an off-screen only version for
  software rendering on clusters.

- +swrender+llvm for using llvm for the software pipe

- added newer versions (17.1 and 13.0) and corrected the url location
  to use the canonical location.
2017-07-20 14:12:05 -05:00
Kshitij Mehta
31425974b4 GTKorvo (#4657)
* gtkorvo-atl: atl library from gtkorvo

* gtkorvo-dill: dill library from gtkorvo

* gtkorvo-cercs-env: cercs_env library from gtkorvo

* gtkorvo-enet: Enet networking library from gtkorvo

* libffs: FFS middleware communication library from GTKorvo

* libevpath: EVPath high performance communication library from GTKorvo

* gtkorvo-cercs-env: Added homepage and removed function configure_args

* gtkorvo-cercs-env: Re-add of accidental removal of cmake_args function in previous commit

* gtkorvo-enet: Removed configure_args since unused
2017-07-20 14:07:52 -05:00
pkondamudi
b39e6c6fd0 New Package: SNbone. (#4754)
* removed the tags as per comment in PR# 4749

* addressed above comments

* changed fortran compiler.

* added proxy application tags.

* added tags by removing them from description.

* addressed comments

* used join_path instead of path concat.

* addressed comments

* removed string formatting for LDFLAGS.
2017-07-20 13:26:31 -05:00
Jim Galarowicz
5173a8bef9 Spack updates to three Krell packages (#4765)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Trim comments to fit more concisely.

* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.

* Fix issues with the cbtf-argonavis build, update to use dyninst-9.3.2, fixes to openspeedshop package build.

* Fix issues with the cbtf-argonavis package.py files related to comments.

* Add changes for changing the krell packages from Package to CMakePackage.

* Add better changes for changing the krell packages from Package to CMakePackage.

* Add more modifications for changing the krell packages from Package to CMakePackage.

* Add additional modifications for changing the krell packages from Package to CMakePackage and fixing Travis erros

* Fix new travis errors.

* Fix new travis errors.

* Add more changes for PR 4765.

* Add more refinements to the conversion from Package to CMakePackage.

* Fix new travis errors.

* Add dependencies for MPI to be passed to cbtf-krell, so it can build the MPI collectors requested by the builder of openspeedshop.

* Remove extra unnecessary routine to adjust build arguments. Fix if-else clause issue.

* Fix more flake issues caused by last changes.
2017-07-20 13:25:57 -05:00
Audrey Thoma
5f0e1514ac kentutils: new pacakge (#4831) 2017-07-20 13:16:32 -05:00
jiseung
16fbd0fc41 new package:SNAP (#4826) 2017-07-20 13:15:43 -05:00
becker33
f962aba6ce Allow packages to control handling of compiler flags (#4421)
* Initial work on flag trapping using functions called <flag>_handler and default_flag_handler

* Update packages so they do not obliterate flags

* Added append to EnvironmentModifications class

* changed EnvironmentModifications to have append_flags method

* changed flag_val to be a tuple

* Increased test coverage

* added documentation of flag handling
2017-07-19 20:12:00 -07:00
George Hartzell
acca75b368 Add info for zsh@5.3.1 (#4827) 2017-07-19 21:49:15 -05:00
pkondamudi
9df9a809a8 Add MPI support and tags to embs package (#4824) 2017-07-19 19:04:48 -05:00
pkondamudi
bdcd63ed70 Add tags to nekbone package (#4825) 2017-07-19 19:03:53 -05:00
jiseung
9ae36849af new package: cns-nospec (#4806)
* new package: cns-nospec

* made changes as suggested and added proxy-app tag

* updated edit()

* adjusted logic for '+debug'
2017-07-19 17:05:19 -05:00
jiseung
301b457de3 new package: amr-exp-parabolic (#4821)
* new package: amr-exp-parabolic

* removed boilerplate and added tag
2017-07-19 17:04:53 -05:00
pkondamudi
1b0d2888bb Package/xsbench (#4822)
* removed the tags as per comment in PR# 4749

* addressed above comments

* changed fortran compiler.

* added proxy application tags.

* added tags by removing them from description.

* addressed comments

* used join_path instead of path concat.

* added tags and other minor changes.

* removed tags from description.
2017-07-19 17:04:17 -05:00
jiseung
60cffbb9d0 new package PENNANT added (#4708)
* new package PENNANT

* made adjustments based on comments

* edited logic for mpi variant

* replaced with 'else'

* prefix.bin instead of 'bin'
2017-07-19 08:50:53 -05:00
Akhil Reddy Patlolla
a6cac6ac99 Added Proxy App CoSP2 (#4726)
*  Added Proxy App CoSP2

*  Updated the PATH

* Updated MPI Fix

*  Fixed Issues

*  Fixed Issues with compiler and Flake8

*  Enhanced block of code.

*  Intended
2017-07-19 08:49:29 -05:00
Akhil Reddy Patlolla
7165129598 Added Proxy App CoHMM (#4727)
*  Added Proxy App CoSP2

*  Added Proxy App CoHMM

*  Updated PATH cohmm

*  Chages Fixing Minor issues

* Minor Fix  git add cohmm/package.py

*  Updated

* Resolved TAG Conflict

*  Updated based on the codecov failure
2017-07-19 08:48:41 -05:00
jiseung
e3e8893ed9 new package: CLAMR (#4728)
* new package: CLAMR

* changed from bool variants to single value variants and corresponding logic in build_type and cmake_args

* lowercase variant values

* updated conditionals for variants

* adjusted url and docstring
2017-07-19 08:48:03 -05:00
pkondamudi
45a7e8bb12 New Package: SimpleMOC (#4742)
* New Package SimpleMOC

* addressed comments

* removed tags as per PR# 4749

* flake8 fix.

* travis fix.

* added proxy app tags to description.

* added mpi and openmpi depedency.

* removed openmpi depdedency.

* addressed comments.

* adding openmp flag conditionally.

* flake 8 fix for tabs.
2017-07-19 08:46:42 -05:00
Kshitij Mehta
6e2eb83943 codar-cheetah: URL fix (#4815) 2017-07-18 22:49:51 -05:00
Adam J. Stewart
5fc0243d35 Improve version detection of release versions (#4816) 2017-07-18 22:48:39 -05:00
jiseung
d1c199e15d new package: SMC (#4817)
* new package: SMC

* removed template and added proxy-app tag

* added comp variant in edit()

* edited comp variant in edit()
2017-07-18 22:48:21 -05:00
Gregory Lee
b411849200 Misc python updates (#4807)
* updated py-pylint version

* setuptools required at runtime for pkg_resources

* fixed url for updated pylint
2017-07-18 19:37:40 -05:00
Adam J. Stewart
2bd8d7a36a Always install xproto in serial (#4809) 2017-07-18 19:37:12 -05:00
Audrey Thoma
e2485efb94 poamsa: new package (#4808)
* poamsa: new package

* fixed version specs
2017-07-18 19:36:48 -05:00
jiseung
78c11320d6 new package to be added: NuT (#4760)
* new package to be added: NuT

* removed cmake_args() and made other changes as suggested

* Added setup_environment()

* PEP8 compliant

* edited version name, build_targets, and files/directories to install

* corrected executable directory

* compiler dependencies based on version
2017-07-18 16:37:47 -05:00
Audrey Thoma
748221840a price: new package (#4810) 2017-07-18 16:35:33 -05:00
Audrey Thoma
3e72263d79 New package busco (#4678)
* busco: new package

* busco: fixing fussy paths

* removing paths, probably was a problem with our module setup

* fixed dep type
2017-07-18 13:49:18 -05:00
Jon Rood
904f6f0572 Adding a bit more Mellanox MXM capability to OpenMPI. (#4762) 2017-07-18 13:45:43 -05:00
Audrey Thoma
0e28afef1e raxml: new package (#4777)
* raxml: new package

* changed compiler variable

* removing if statement regarding intel compiler
2017-07-18 13:43:42 -05:00
homerdin
68a8f63569 Package/minimd (#4788)
* New Package: miniMD

* Minor Changes

* Corrected Dependency

* Renamed Executable

* Change to use build directory directly
2017-07-18 13:42:57 -05:00
pkondamudi
e291f59ea3 New Package: OpenMC (#4790)
* New Package: OpenMC

* comments addressed.

* comments addressed.

* changed 'os.makedirs' to 'mkdirp'

* flake 8 fix.
2017-07-18 13:42:11 -05:00
becker33
d2a63d55fa Open ended variants (#4746)
* Change directives to allow open-ended variants more easily

* make None default to open-ended
2017-07-18 10:03:15 -07:00
Adam J. Stewart
1215c3b20c Change path to CMakeLists.txt to be relative to root, not pwd (#4420)
* Change path to CMakeLists.txt to be relative to root, not pwd

* Changes requested during code review

* Revert back to old naming of root_cmakelists_dir
* Make relative directory more clear in docs

* Revert change causing build_type AttributeError

* Fix forgotten abs_path var

* Update CLHEP with new relative path

* Update more packages with new root_cmakelists_dir syntax
2017-07-18 09:58:19 -07:00
Massimiliano Culpo
5a1ee22575 package: removed default no-op patch (#4103)
* package: removed default no-op patch fixes #4085

* do_patch: handles NoSuchMethodError nicely
2017-07-18 09:53:35 -07:00
健美猫
6b2d75a0a6 Repalce ftp:// with http:// for gdbm, mesa-glu and udunits2. (#4798) 2017-07-18 11:22:14 -05:00
George Hartzell
c597bdb284 somatic-sniper depends_in('curses') (#4796)
somatic-sniper installs its own copy of samtools, which needs curses.
I'm not sure why I didn't stumble on this in my dev environment, but I
just stumbled over it in a standalone build.
2017-07-18 09:40:41 -05:00
健美猫
870062076f Add version 3.4.1 for r. (#4799) 2017-07-18 13:04:49 +02:00
Audrey Thoma
07d82422b8 pcma: new package (#4793) 2017-07-18 11:13:17 +02:00
Adam Fidel
da61455cc3 New Package: tig (#4794) 2017-07-18 11:10:39 +02:00
homerdin
7c1ce6e206 Package/minixyce (#4789)
* New Package: miniXyce

* Removed Tag
2017-07-17 15:50:31 -05:00
Audrey Thoma
9872fe980b partitionfidner: new package (#4791) 2017-07-17 15:49:26 -05:00
Massimiliano Culpo
6dcbc30a2c qhull: fix to work around a known issue of the library with intel compiler (#4648) 2017-07-17 14:39:09 -05:00
Audrey Thoma
2bf140601b bsseeker2: new package (#4770) 2017-07-17 19:02:17 +02:00
Kshitij Mehta
9c9f0c9612 codar-cheetah: Experimentation harness from the ECP CODAR project (#4658)
* codar-cheetah: Experimentation harness from the ECP CODAR project

* codar-cheetah: conforming to flake8
2017-07-17 09:33:57 -05:00
Audrey Thoma
990d60d340 mrbayes: new package (#4757)
* mrbayes: new package

* fixing beagle version

* fixing typos

* fixing libbeagle dependency types
2017-07-17 09:20:49 -05:00
homerdin
62f5eafc55 New Package: miniSMAC2D (#4767) 2017-07-17 09:15:15 -05:00
homerdin
f43e4890db Package/minighost (#4773)
* New Package: miniGhost

* Fixed empty string formatting
2017-07-17 09:13:46 -05:00
Axel Huebl
c110d03f95 ZeroMQ: 4.2.2 & develop (#4785)
The 4.X branches are now on the homepage, so we take the GitHub release
artifact (careful: take their upload, not the automatic tarball).

Adds a development version of ZeroMQ.
Requires a autogen run, as for all their unreleased versions,
and the pkg-config fix in #4736
2017-07-17 08:40:48 -05:00
Axel Huebl
febf41e0e2 pkg-config: aclocal env (#4736)
Always sets the `pkg-config` environment hint for
autotools.

Required dependency for `autoreconf` of ZeroMQ when
build from source (e.g. v4.2.2) via autotools in `autogen.sh`
step for `autoreconf`.
2017-07-17 08:40:22 -05:00
Audrey Thoma
7e32756fce orfm: new package (#4769) 2017-07-15 19:03:55 +02:00
George Hartzell
89ef576ba4 Add package for the Python regex library (#4771)
Lightly tested on CentOS 7 with `python@2.7.13` and `python@3.6.0`.
2017-07-15 18:11:54 +02:00
George Hartzell
ad2a22fa01 Add package for r-ada, update r-rpart version (#4772)
* Add package for r-ada, update r-rpart version

Adds a package for r-ada.

Update the version for r-rpart because the previous version is
no longer at that URL.  The previous version *is* in the Archive,
but list_url does not seem to be able to find it.

* Clean up FIXMEs (blush)
2017-07-15 18:08:36 +02:00
George Hartzell
8e6d7f117a Add package for MuSE (#4779) 2017-07-15 18:06:43 +02:00
George Hartzell
8bd22c3294 Add package for Somatic Sniper (#4778)
Lightly tested on CentOS 7.
2017-07-15 18:05:51 +02:00
homerdin
246c07f864 New Package: miniFE (#4712)
* New Package: miniFE

* Removed extra property, using variant value directly
2017-07-14 15:55:51 -05:00
Kshitij Mehta
31503cb058 Savanna (#4713)
* savanna: Runtime framework for online workflow management from the ECP CODAR project

* savanna: added version 0.5

* savanna: Copying the package contents to prefix as part of installation

* savanna: Doing submodules=true for git checkout of develop version

* savanna: removed dependency on adios@develop. depends on adios

* Savanna: Converted package to MakefilePackage
2017-07-14 15:54:57 -05:00
homerdin
f5f37845d6 New Package: Pathfinder (#4714)
* New Package: Pathfinder

* Added index for String format

* Changed to make Makefile edit more specific

* Make Flake8 Happy

* Removed unneeded conversion
2017-07-14 15:54:31 -05:00
George Hartzell
88cb8b493b Add package for freebayes (#4718)
* Add package for freebayes

* Don't include url, must use git info.

* Fix flake8 complaints
2017-07-14 15:49:46 -05:00
George Hartzell
ea8c05b263 Add package for Sniffles (#4719)
* Add package for Sniffles

* Wire up a manual install step

The cmake infra doesn't install anything, so do it by hand.

The binaries land in a location that embeds the version...
2017-07-14 15:49:02 -05:00
Audrey Thoma
1e205c09d8 hybpiper: new package (#4720)
* hybpiper: new package and spades dependency

* hybpiper: making flkae8 happy

* hybpiper: fixing dependency errors

* fixing python dep type

* removing cmake from spade dependencies
2017-07-14 15:48:30 -05:00
homerdin
c78ee4a733 Package/cloverleaf (#4759)
* New Package: CloverLeaf

* Removed Tag and Added Documentation

* Corrected Dependencies and Variant Values
2017-07-14 15:46:20 -05:00
pkondamudi
76d95b1798 New Package: Nekbone. (#4748) 2017-07-14 19:40:18 +02:00
pkondamudi
b3692d14fd New Package: EBMS (#4749) 2017-07-14 19:37:52 +02:00
Axel Huebl
0d8b126d66 libwebsockets: new versions (#4764)
* libwebsockets: new versions

both new versions fix a nasty bug leading to a hanging
connection on connect.

* ISAAC Server: Fix libwebsockets

ISAAC server did hang in docker containers due to a bug
in libwebsockets.
2017-07-14 10:28:15 -05:00
Denis Davydov
d929ea8102 slepc: fix download url (#4763) 2017-07-14 08:00:28 -05:00
pkondamudi
dfd56da358 New Package:XSBench (#4751)
* New Package:XSBench

* minor changes

* replaced extend() with append()

* addressed comment.

* removed tags as per PR# 4749
2017-07-13 22:21:30 -05:00
Patrick Gartung
f63cdc7b61 Add two python packages for editing mach-O headers. (#4725)
* Add two python packages for editing mach-O headers. Much faster than calling otool and install_name_tool directly

* remove non-overriding function

* autopep8
2017-07-13 22:07:22 -05:00
Audrey Thoma
3eedbd7c4e py-deeptools: new package and dependencies (#4717)
* py-deeptools: new package and dependencies

* py-deeptools: fixing python things

* missed a fix
2017-07-13 22:02:08 -05:00
Alen Kansakar
29fd896179 jags: Adding atlas as it depends on atlas 2017-07-13 09:48:30 -05:00
homerdin
34aea1328a New Package: CloverLeaf3D (#4705)
* New Package: CloverLeaf3D

* Fixed Flake8 Mistake

* Removed unnecessary check
2017-07-13 09:22:45 -05:00
Audrey Thoma
d68aa03868 graphmap: new package (#4707) 2017-07-13 09:21:37 -05:00
Jon Rood
47fe9e7aad Adding OpenMP variant to Trilinos. Also building NetCDF with PNetCDF directly, for Trilinos. (#4687)
* Adding OpenMP variant to Trilinos. Also building NetCDF with PNetCDF in Trilinos when necessary.

* Adding runtime error for PNetCDF variant in Trilinos when necessary. Omitting unnecessary openmp variant for Trilinos in Nalu.

* Changing variant checks to conflicts statements.

* Adding comments to Trilinos package.
2017-07-13 09:14:15 -05:00
Audrey Thoma
bde58a319b idba: new package (#4722) 2017-07-13 08:35:22 -05:00
Audrey Thoma
c104fa233a infernal: new package (#4724) 2017-07-13 08:32:55 -05:00
Audrey Thoma
4cbe1b338f last: new package (#4729) 2017-07-13 08:26:17 -05:00
Audrey Thoma
e257ea59c2 maverick: new package (#4731) 2017-07-13 08:09:23 -05:00
George Hartzell
adcaa82b88 Add package for daligner (#4734) 2017-07-13 08:08:36 -05:00
Audrey Thoma
c7af89d8fc mcl: new package (#4732) 2017-07-13 08:03:26 -05:00
Denis Davydov
92e6616a8a dealii: workaround for concretization bug (#4735)
* dealii: workaround for concretization bug

* trilinos: add Anasazi which got disabled recently
2017-07-13 07:51:45 -05:00
Audrey Thoma
1ecb389dcb mitofates: new package and dependency libsvm (#4741) 2017-07-13 07:44:44 -05:00
Akhil Reddy Patlolla
5ac2020c98 Added ASPA Proxy App (#4743) 2017-07-13 07:30:01 -05:00
Alen Kansakar
6ce33d7773 Jags: Changing depends on to only include lapack 2017-07-12 14:52:54 -05:00
Alen Kansakar
d930c8d01a Jags: Fixing problems found by flack8 2017-07-12 11:39:08 -05:00
kansakar
8873fc3a20 Jags: Adding jags defination 2017-07-12 11:39:07 -05:00
Christoph Junghans
a95f40f18e hpx: added new package (#4709) 2017-07-12 07:54:27 +02:00
George Hartzell
ff906faf9a Typo: submdoules -> submodules (#4716) 2017-07-12 07:48:31 +02:00
Audrey Thoma
3566966d47 genometools: new package (#4706)
* genometools: new package

* genometools: fixing perl dependency type
2017-07-11 07:49:00 -05:00
Audrey Thoma
143d50ab67 fseq: new package (#4702)
* fseq: new package

* fseq: fixed dependency type
2017-07-10 18:30:24 -05:00
homerdin
5bad9dfeac New Package: MiniAMR (#4701)
* New Package: MiniAMR

* Removed empty braces string formatting
2017-07-10 18:30:08 -05:00
homerdin
45e731d574 New Package: HPCCG (#4693)
* New Package: HPCCG

* Moved Run Script Install Location
2017-07-10 12:31:41 -05:00
homerdin
c908ccecdc New Package: MiniAero (#4694) 2017-07-10 12:31:23 -05:00
Audrey Thoma
02258056fd exabayes: new pacakge (#4695)
* exabayes: new pacakge

* exabayes: added configure arg

* exabayes: adding comments regarding compilers
2017-07-10 12:29:59 -05:00
Audrey Thoma
1f9d6927b7 csdp: new pacakge (#4700) 2017-07-10 12:28:51 -05:00
Audrey Thoma
c80bca00ff ea-utils: new package (#4690)
* ea-utils: new package

* ea-utils: simplifying self.spec.prefix

* ea-utils: added comment about perl

* ea-utils: fixing flake8 error
2017-07-10 12:26:03 -05:00
EmreAtes
1abf31d3fa New package: CoMD (#4697)
* New package: comd

* Avoid re-defining build
2017-07-09 09:05:11 -05:00
Mike DePaulo
72aa99cb24 GCC: Add strip variant to reduce installation size (#4670)
* gcc: Add strip variant

* gcc: Fix strip variant description being too long
2017-07-07 22:17:52 -05:00
George Hartzell
efecefd4dd Add a package for tophat (#4698)
Lightly tested on CentOS 7.
2017-07-07 22:15:38 -05:00
Audrey Thoma
56b959501a fastx-toolkit: solving gcc conflict (#4696) 2017-07-07 16:53:15 -05:00
Christoph Junghans
1886b0b370 New package: quinoa (#4686) 2017-07-07 11:11:53 +02:00
homerdin
60a8b68a7e Added TeaLeaf Package (#4683) 2017-07-07 10:54:34 +02:00
Axel Huebl
46e3c2b274 Isaac Server 1.3.1: New version (#4689)
adds a new release of isaac-server.
2017-07-07 10:51:09 +02:00
Audrey Thoma
d64405a30f emboss: new package (#4691) 2017-07-07 10:47:26 +02:00
Axel Huebl
396e76eb7c New Packages: gearshifft, clFFT (#4560)
Adds the `gearshifft` package, a benchmark suite for heterogeneous implementations of FFTs.
Adds clFFT, a software library containing FFT functions written in OpenCL.

see: https://github.com/clMathLibraries/clFFT
2017-07-07 10:46:35 +02:00
Gregory Lee
28cb1e4379 patch config.guess after autoreconf step (#4604) 2017-07-06 23:07:54 -05:00
Audrey Thoma
e003e2f78b cap3: new package (#4680)
* cap3: new package

* cap3: removing boilerplate

* cap3: fixed version and added doc
2017-07-06 13:34:40 -05:00
George Hartzell
8fe51b3ffc Make vcftools actually install its libraries (#4682)
The vcftools package was installing its Perl libraries into a
directory in the staging directory named 'lib', instead of installing
them into `prefix.lib` where they should have been because the value
passed to the configure script was wrong.

The result was that any attempt to run one of the scripts in the
package failed with something like:

> Can't locate VcfStats.pm in @INC (you may need to install the
> VcfStats module) [...]

This fix provides the correct information in `configure_args`.

Tested lightly on CentOS 7.
2017-07-06 13:33:57 -05:00
Axel Huebl
b749986dcc Isaac 1.3.1: New version (#4685)
adds a new release of isaac.
(1.3.0 forgot to bump the internal version number
in include macros)
2017-07-06 13:23:11 -05:00
Audrey Thoma
c3d0911cf6 cdbfasta: new package (#4681) 2017-07-06 17:10:25 +02:00
Audrey Thoma
df99fb4980 New package butter (#4679)
* butter: new package

* butter: fixed dependency type
2017-07-05 19:33:43 -05:00
Audrey Thoma
4beb76daf6 New package bucky (#4677) 2017-07-05 21:09:01 +02:00
Pramod S Kumbhar
bf195cd8b9 Fix for building osu-micro-benchmarks on OS X (librt not avaialble/required) (#4675)
* Fix for building osu-micro-benchmarks on OS X (librt not available/required)

* Fixed typo and replaced extend by append
2017-07-05 13:31:26 -05:00
Audrey Thoma
09681f721d Package ampliconnoise (#4676)
* ampliconnoise: new package

* ampliconnoise: fixed installation

* ampliconnoise: fixing install again
2017-07-05 13:30:40 -05:00
Massimiliano Culpo
f403117f71 libint: factored parts of configure_args into their own functions (#4211)
* libint: factored parts of configure_args into their own functions

* libint: added -xSSE2, as suggested by @lee218llnl
2017-07-05 09:19:39 -05:00
Michael Kuhn
e3bd6e3d93 gcc: Add version 6.4.0 (#4673) 2017-07-05 15:44:07 +02:00
Philip Davis
58915e6e7f New package: DataSpaces (#4651)
* Dataspaces spack package, hard-wired for ubuntu VM

* Initial commit of dataspaces spack package

* Made changes and additions necessary to install on Cori and Titan

* Added temp 1.6.2.1 for testing

* Updated tar file for 1.6.2

* Fixed formatting

* Set the type of build dependencies

* Changed the way autogen.sh is called for compatibility

* Use append instead of extend to add configure flags

* Various syntax fixes

* Switched string checking to method for compatibility
Now using the six library for Python 3 compatibility. Thanks @adamjstewart

* Made MPI variant default
2017-07-04 13:56:33 -05:00
Todd Gamblin
b4d1654e68 Parametrized lock test and make it work with MPI
- Lock test can be run either as a node-local test or as an MPI test.

- Lock test is now parametrized by filesystem, so you can test the
  locking capabilities of your NFS, Lustre, or GPFS filesystem.  See docs
  for details.
2017-07-04 11:41:37 -07:00
Todd Gamblin
bd7a591df1 Make filesytem more resilient to concurrent updates.
- Uses O_CREAT for touch (for guaranteed atomic open on NFS, multi-node)
- Ignore concurrent create errors in mkdirp
2017-07-04 11:41:37 -07:00
Todd Gamblin
326e2f7f66 Ported lock test to pytest. 2017-07-04 11:41:37 -07:00
Kshitij Mehta
81d696cc66 mpix-launch-swift: MPIX_Launch library tailored to work using swift-t (#4656) 2017-07-03 18:10:06 -07:00
Mark Olesen
f49f7b5bc5 add openfoam community packages for adiosWrite (#3726) 2017-07-03 18:00:59 -05:00
Mark Olesen
76b9563dc3 new OpenFOAM June 2017 release: OpenFOAM-v1706 (#4652)
- renamed develop version from 'plus' to 'develop'

- patches now prefixed by corresponding OpenFOAM version number.
  This makes it easier to sort and see what old/junk exists.

- remove MPI_BUFFER_SIZEk env variable (for all openfoam variants).
  The OpenFOAM shell setup addresses this and there is no reason
  to pollute the module environment at this stage.
2017-07-03 17:54:50 -05:00
Levi Baber
245eee7a56 sabre (#4619)
* sabre initial commit, works but test does not

* removing test until I have time to fix it

* sabre: fixing flake8 errors

* sabre: changing to MakefilePackage
2017-07-02 08:31:17 -05:00
Jimmy Tang
f6e2320ef0 Apply patch to allow users to change path of lock file (#4649)
See - https://github.com/Microsoft/CNTK/issues/62
2017-07-02 08:26:23 -05:00
Barry Smith
182554520f PETSc requires metis build with compatible numerical precision (#4654)
Commit-type: bug-fix, portability-fix
Funded-by: IDEAS
Project: xSDK
Time: .4 hours
Reported-by: Stanislav Y Sergienko <ssergien@anl.gov>
2017-07-02 08:09:05 -05:00
Andrey Prokopenko
77527ce1ae Trilinos: add ForTrilinos resource (#4660) 2017-07-02 08:05:47 -05:00
Michael Kuhn
a88e93852d antlr: Use official sources (#4662)
The tarball used until now is not available anymore.
2017-07-02 08:05:09 -05:00
Michael Kuhn
51ee9a1a6b Update go and go-bootstrap (#4664)
* go-bootstrap: Update to 1.4-bootstrap-20170531

Clean up empty patch method.

* go: Update to 1.8.3
2017-07-02 08:02:27 -05:00
Michael Kuhn
a3765d8a23 shared-mime-info: Depend on pkg-config (#4663) 2017-07-01 12:12:29 -05:00
Michael Kuhn
a9c83d64f0 qt: Update to 5.9.1 (#4661)
5.9.0 fails to build with disabled OpenGL.
2017-07-01 09:16:49 -05:00
Adam Moody
4dc79f9efb mpifileutils: update to v0.7 (#4642)
* mpifileutils: update to v0.7

* mpifileutils: disable --enable-experimental in v0.6 and earlier

* mpifileutils: list newest version first, avoid experimental switch unless at v0.7 or later
2017-06-30 11:53:47 -05:00
Michael Kuhn
2e6a735b00 mvapich2: Fix mpifort wrapper (#4650) 2017-06-30 11:51:07 -05:00
Mark Olesen
cabcfb032f update libdrm version (fixes #4645) (#4646) 2017-06-30 06:48:43 -05:00
Adam J. Stewart
9933d759ac Update hdfgroup packages to new URL structure (#4643)
* Update hdfgroup packages to new URL structure

* Update docs now that HDF5 URL isn't that complicated
2017-06-29 21:38:47 -05:00
George Hartzell
35488e04a0 Helper script support JAVA_{ARGS,OPTS} (#4640)
Make it possible to pass addition arguments to the
JVM.

Apparently there are two vars and they are [commonly *both* used][1].

Go figure.

[1]: https://stackoverflow.com/questions/23507639/is-it-same-mean-java-args-and-java-opts
2017-06-29 15:38:12 -05:00
Douglas Duckworth
7d59197b7b added numpy 1.13 - modified albacore to use 1.13 (#4639)
* albacore 1.24 requires numpy 1.13 - added numpy 1.13

* added numpy 1.13
2017-06-29 13:42:56 -05:00
George Hartzell
c416983e5f Add package for lftp (#4634)
* Add package for lftp

* Avoid expensive list processing
2017-06-29 09:27:18 -05:00
Douglas Duckworth
bdb859f1e1 added albacore 1.2.4 (#4637) 2017-06-29 06:42:43 -05:00
Thierry
dd4fa07de9 make yorick extendable. See plugins on D Munro github. (#4631) 2017-06-28 14:14:24 -05:00
Audrey Thoma
d354289b9c New package allpaths-lg (#4632)
* allpathslg: adding package. compiler specs iffy, will fix

* allpaths-lg: adding new package

* allpaths-lg: fixing conflicts
2017-06-28 14:14:12 -05:00
Darach Golden
6550aeeafc Requested changes related to mumps compilation (#4614)
*  * add mpii* wrappers for use with intel compilers

 * in mumps package, scotch is compiled without metis option when
   ptscotch variant is selected. This removes confusion over which
   metis.h to use

 * for intel mkl, add SPACK_COMPILER_EXTRA_RPATHS ending in 'intel64'

 * scotch lib requires libz when compression is turned on.  This
   caused a link issue on some Ubuntu distributions (not
   redhat). Change Scotch package to add -lz when needed

*  * intel-mkl append to SPACK_COMPILER_EXTRA_RPATHS rather than setting

 * use more concise method to obtain libz libraries for scotch

* remove changes to intel mpi

* remove commented out depends_on

* fix flake8 errors
2017-06-28 13:22:18 -05:00
Mark Olesen
e5c665600c new package for KaHIP (#4613) 2017-06-28 13:15:43 -05:00
EmreAtes
898c7f8838 add mpi to providers to remove virtual package error (#4608) 2017-06-28 12:24:29 -05:00
Kyle Fernandes, né Jacobs
cd1322b2c9 Update intel-parallel-studio and intel packages (#4628) 2017-06-28 11:32:25 -05:00
George Hartzell
00ec64150e Add package for primer3 (#4615)
* Add package for primer3

Built and mildly tested on CentOS 7.

* Convert to MakefilePackage

I always forget about this...

* Set build_directory the easy way

Life's not always complicated.  Don't go out of my way
to make it so....

* Fix Flake8 issue
2017-06-28 10:48:21 -05:00
George Hartzell
d24e4e311a Add package for muscle (#4616)
* Add package for muscle

Minimally tested on CentOS7.

* Convert to MakefilePackage

Do it the easy way...
2017-06-28 10:47:48 -05:00
Audrey Thoma
e98662959e beast2: adding new package beast2 (#4617) 2017-06-28 10:17:45 -05:00
George Hartzell
6ff7dde9a5 Add package for ngmlr (#4618)
Minimally tested on CentOS 7.
2017-06-28 10:17:17 -05:00
Audrey Thoma
6480e38217 angsd: adding package angsd (#4620) 2017-06-28 10:15:00 -05:00
Christoph Junghans
ddb0704028 pegtl: version bump (#4621)
* pegtl: version bump

* pegtl: added 2.1.4

* pegtl: reorder versions

* pegtl: fix flake8
2017-06-28 10:13:49 -05:00
Jon Rood
158f99f9ad Return an error exit code if spack cd does not succeed. (#4623)
* Return an error exit code if spack cd does not succeed.

* Reducing amount of return statements in spack cd exit code.
2017-06-28 06:41:04 -05:00
Christoph Junghans
8f9f0ab8ec vpic: new package (#4624) 2017-06-28 06:35:55 -05:00
becker33
b1861b29ef Added install option to read spec from file (#4611) 2017-06-27 12:27:16 -07:00
Douglas Duckworth
7b0d295a4c Added STAR-Fusion (#4380)
* added perl-star-fusion and perl-intervaltree

* added perl-star-fusion and all dependencies

* changes

* made changes as requested to perl-star-fusion dependencies

* changed perl-intervaltree dependency

* changes to star fusion

* now using perl properly
2017-06-27 13:53:58 -05:00
serbanmaerean
77218b1c8d Fix xl/trilinos (#4607)
* Added magma package

* Incorporated Serban's change

* fix-xl/trilinos: add -qfixed to Fortran flags in seacas package

* fix-xl/trilinos: fixed spack flake8 errors
2017-06-27 06:40:38 -05:00
Mark Olesen
051d15f777 BUG: inconsistent -fPIC causes adios/mxml linkage problem (fix #4605) (#4606)
- Thanks to pointer from @adamjstewart - can avoid this either by
  avoiding an external mxml dependency, or by making certain that they
  both use consistent code generation.

  The adios package uses '-fPIC' for python linkage and this seems to
  require the same for mxml too. If the adios-internal version of mxml
  is used, it has the same flags for both.
2017-06-27 06:34:52 -05:00
Douglas Duckworth
351f0e2e16 added py-multiqc and dependencies (#4381)
* added py-multiqc and dependencies

* added requested changes per #4381

* added colormath dependency per https://github.com/jsvine/spectra/blob/master/requirements.txt

* py-multiqc changes

* py-multiqc does not need colormath - spectra does
2017-06-26 16:05:15 -05:00
Lynn Garren
575ee41413 update for clhep (#4588)
* adding clhep 2.3.4.4, etc and modernizing package.py

* add remaining 2.3.x.y clhep releases

* setting list_depth to 1 is sufficient

* remove whitespace
2017-06-26 16:04:36 -05:00
Mark Olesen
767cdf98d3 Cleanup some depends_on flex for scotch and things depending on scotch (#4600) (#4601)
- The buggy flex-2.6.2 was blacklisted in the corresponding flex
  package, but now also removed the md5sum to avoid suggesting that
  this version should be revived.
  The 2.6.3 has similar problems (at least for scotch), but 2.6.4
  seems to work.

- Rejig flex restriction for scotch to exclude 2.6.2-2.6.3 only. Since
  flex-2.6.4 appears to be okay again, we can remove the flex version
  restriction that trickled through into the openfoam packages as a
  consequent of an spack spec bug.

- Make flex a build dependency for the openfoam packages
  (seems to have been an earlier oversight).
2017-06-26 09:58:02 -05:00
Adam J. Stewart
ad1382e664 Don't immediately raise an error when an editor is not found (#4587)
* Don't immediately raise an error when an editor is not found
* If no editor is found, raise an error only if we try to use it.
2017-06-25 20:42:38 -07:00
Michael Kuhn
1d82ccd25c Update libbson and libmongoc to 1.6.3 (#4599) 2017-06-25 07:09:47 -05:00
Adam J. Stewart
e5ce7b1639 Allow arbitrary Prefix attributes (#4591)
* Allow arbitrary Prefix attributes
* Test attribute type as well

* Flake8 fixes

* Remove __new__ method

* Fewer uses of join_path in the docs
2017-06-24 22:39:31 -07:00
Todd Gamblin
cac4362f64 Make LICENSE recognizable by GitHub. (#4598) 2017-06-24 22:22:55 -07:00
Christoph Junghans
add971e416 votca-xtp: new package (#4597) 2017-06-24 22:34:15 -05:00
Rajeev Jain
e8f60629fc Add cgm to moab, for resolving conflicts installing MeshKit on a brand new machine. (#4596)
Use spack install meshkit ^cgm+oce, for geometry engine support, by default cgm is facet-based
2017-06-24 15:34:14 -05:00
Massimiliano Culpo
b7ca7274b8 mv variants: packages are now needed only during normalization (#4129)
* mv variants: packages are now needed only during normalization

The relationship among different types of variants have been weakened,
in the sense that now it is permitted to compare MV, SV and BV among
each other. The mechanism that permits this is an implicit conversion
of the variant passed as argument to the type of the variant asking
to execute a constrain, satisfies, etc. operation.

* asbtract variant: added a new type of variant

An abstract variant is like a multi valued variant, but behaves
differently on "satisfies" requests, because it will reply "True"
to requests that **it could** satisfy eventually.

Tests have been modified to reflect the fact that abstract variants
are now what get parsed from expressions like `foo=bar` given by users.

* Removed 'concrete=' and 'normal=' kwargs from Spec.__init__

These two keyword arguments where only used in one test module to force
a Spec to 'appear' concrete. I suspect they are just a leftover from
another refactoring, as now there's the private method '_mark_concrete'
that does essentially the same job. Removed them to reduce a bit the
clutter in Spec.

* Moved yaml related functions from MultiValuedVariant to AbstractVariant.

This is to fix the erros that are occurring in epfl-scitas#73, and that
I can't reproduce locally.
2017-06-23 13:36:29 -07:00
Mark Olesen
6c1c290a63 relax qt dependency for paraview (#4592)
- previously restricted everything to QT-4, but now only have that
  restriction for older paraview versions.
2017-06-23 12:41:29 -05:00
Mark Olesen
2126c03a28 update for new version: qt-5.9.0 (#4590) 2017-06-23 11:41:44 -05:00
Massimiliano Culpo
087b3885f9 cp2k: added missing macros to the makefile (#88) (#4589) 2017-06-23 11:14:01 -05:00
Jimmy Tang
7fb9c3903f Minor fixes to CNTK package (#4429)
* Remove unneeded patch lines which fail for the most recent CNTK version on the head of the git repo

* Really check for NVML/GDK

* Fix some violations
2017-06-23 09:18:50 -05:00
Milton Woods
a4de317737 Gtkplus icons (#4511)
* gtkplus: set XDG_DATA_DIRS

* shared-mime-info: database of common MIME types

* gtkplus: needs shared-mime-info for correct handling of stock icons

* shared-mime-info: builds with newer intltool than provided by some platforms

* atk: set XDG_DATA_DIRS at run-time

* gdk-pixbuf: set XDG_DATA_DIRS at run-time

* gtkplus: set XDG_DATA_DIRS at run-time

* pango: set XDG_DATA_DIRS at run-time

* shared-mime-info: set XDG_DATA_DIRS at run-time
2017-06-23 09:01:09 -05:00
David Böhme
e27ccac4a5 caliper: Update caliper package (#4532)
* caliper: Update caliper package

* caliper: Explicitly enable/disable cmake options for all variants

* caliper: Fix flake8 warnings

* caliper: Modify defaults for Mac

* caliper: Fix some more flake8 warnings
2017-06-23 08:59:59 -05:00
iulian787
75b8d728bd Moab 5.0 and meshkit 1.5 (#4557)
* enable some of the tools

do not make zoltan default

* modify moab package

add shared, debug options to cgm, too
build some tools by default (mbsize, mbconvert)
add hdf5, netcdf dependency
add pnetcdf variant (dependency), metis, parmetis, zoltan
add shared, debug, fortran options to moab

* few kinks for moab

zoltan should be built without fortran api, otherwise moab
complains (need to fix)
also, notice that when built with cgm, shared can't find
cgm libraries for the new tools/geometry execs

install in serial for the time being (because of example makefile
duplicate?)

for example, these builds are successful:
spack install moab+mpi+hdf5+zoltan ^mpich@3.2
spack install moab+mpi+hdf5+shared ^mpich@3.2

* force hdf5+mpi if both are specified

also, something like this works:
spack install  moab+mpi+hdf5+cgm ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2

use mpich32, and cgm built with oce 0.17.2

* forgot about irel, fbigeom, mbcoupler

* add meshkit package

simple build so far, moab and cgm deps only

also, an example of complex build for cgm
spack install  moab+mpi+hdf5+cgm+irel+fbigeom ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2

* for meshkit, moab needs to have irel, fbigeom

* forgot to self.spec

after building moab with cgm with oce 0.17.2, we can build
meshkit with something like this
spack install meshkit ^moab/tsb75zk

cgm depencency is found out from moab

moab has to be built with irel and fbigeom

* add netgen package and review

do not support yet older versions of meshkit
(which depend on lasso, etc)
add netgen package; tested with meshkit (netgen has to be built without
occ, for meshkit)
We are not enforcing that yet, we may have to test

* use conflicts where needed, suggested by review

remove release candidates

* flake8 alignment errors

* flake8

* reviews

flake8 alignment
explicit options, even for default variants
variant for netgen should be "gui", with the default ~gui (False)
FIXME: with-occ does not work right for netgen ; maybe it should be disabled?
       also, with +gui, it should depend on a lot more, like tk, tcl?

* flake8 issues

whitespaces and a comment in netgen

* add more explicit options

--without-mpi needs fixing for cgm, moab and meshkit
add variable url for netgen (although we don''t know if other
versions will appear)

* flake8, trailing whitespace
2017-06-23 08:53:43 -05:00
Andrey Prokopenko
811ea4f465 ninja-fortran: a Fortran-capable fork of ninja build tool (#4539)
* ninja-fortran: a Fortran-capable fork of ninja build tool

* Use url_for_version for clarity

* Clean ninja-fortran

* Cleanup in the original ninja package
2017-06-23 08:52:57 -05:00
Adam J. Stewart
3e087f2e25 Remove test dependencies from Python packages (#4572)
* Remove test dependencies from Python packages

* Make test deptype more clear for a couple more packages
2017-06-23 08:51:45 -05:00
Geoffrey Oxberry
1d741a2110 suite-sparse: add openmp variant (#4563)
Fixes #4549.
2017-06-23 08:50:49 -05:00
Mark Olesen
b741809bb2 BUG: flex+lex fails with lib64/ installation (issue #4583) (#4584)
- new version 2.6.4 as well
2017-06-23 08:45:17 -05:00
Audrey Thoma
8125780b86 New package augustus (#4586)
* augustus: adding augustus

* augustus: fixing flake8 things

* augustus: simplifying verbose
2017-06-22 16:00:43 -05:00
Adam J. Stewart
a803a5e986 Add latest version of libtiff (#4574) 2017-06-22 12:52:23 -05:00
Adam J. Stewart
6d9494f0d2 Add latest version of libmng (#4575) 2017-06-22 12:52:02 -05:00
Stas Sergienko
6aa3d51939 created py-tomopy package and fixed its dependencies (#4576)
* added py-tomopy package

* fixed dependencies and added import_modules

* edited deps for tomopy with import_modules and added py-olefile pkg

* changed module name

* changed dependency to python because it will not build with setuptools

* fixed dependency list for py-tomopy and py-dxchange

* added py-nose dependency

* fixed tests

* commented out dependency py-counter

* fixed dependency py-pybtex-docutils

* removed nose as a dependency

* fixed flake8 errors

* fixed import_modules

* fixed import_modules indent

* fixed various issues in tomopy and deps files
2017-06-22 12:51:51 -05:00
Audrey Thoma
3c8e65f3d8 New package albert (#4568)
* albert: adding new package albert

* albert: fixing dependency type and build process
2017-06-22 11:12:37 -05:00
Audrey Thoma
2fa918f32c gmap-gsnap: adding gmap-gsnap package (#4570) 2017-06-22 11:12:19 -05:00
Mark Olesen
ff26cb9723 Update for paraview 5.4.0 (#4582)
- paraview 5.2.1 -> 5.4.0 supports both Qt4 and Qt5, but the assumed
  default version changes between versions. So explicitly define
  which QT major version is being used.
2017-06-22 09:29:19 -05:00
becker33
689c1d2f0c fix issue #4577 (#4579) 2017-06-21 18:33:11 -05:00
becker33
a113101126 Module cmd fix (#3250)
* Parse modules in a way that works for both lmod and tcl

* added test and made method more robust

* refactoring for pythonic clarity

* Improved detection of 'module' shell function + refactored module utilities into spack.util.module_cmd

* Improved regex to reject nested parentheses we are not prepared to handle

* make tests backwards compatible with python 2.6

* Improved regex to account for sh being aliased to bash and used in bash module definition on some systems

* Improve test compatibility with lmod

* Added error for None module_cmd

* Add test for get_module_cmd_from_which()

Add test for get_module_cmd_from_which().
Add -c argument to Popen call to typeset -f module in get_module_cmd_from_bash().

* Increased detection options

Included BASH_FUNC_module() variable outside of typeset as a detection option
This should work on bash even in restricted_shell mode
Kept the typeset detection as an option in case the module function is not exported in bash

Also added try statements to tests, with environment recreation in finally blocks.

* More tests added; some hackiness

* increased test coverage for util/module_cmd
2017-06-21 09:58:41 -07:00
Massimiliano Culpo
59b66b0d27 mumps: fixed compilation issues due to scotch not found at link time (#4567) 2017-06-21 11:36:18 -05:00
Mark Olesen
1f2e56e1f3 refactor openfoam packages (#3669)
* Several improvements for the openfoam packages

--

Refactor openfoam packages by adding an OpenfoamArch class

Use separate configure, build, install phases.

Provide FOAM_PROJECT_DIR dependent env for openfoam packages
- easier way to locate

Eliminate intermediate installation directories
- unneeded clutter.
- makes it less than easy to find the etc/bashrc file

Add versioning for all openfoam patches
- no certainty which parts (if any) will be needed in future versions,
  especially if we strive to ensure that the upstream version builds
  well with spack to begin with.

Support build of develop branches
- helps track build regressions for future openfoam releases

STYLE: use common/ and assets/ to provide additional (build) resources ...

* - adjust OpenFOAM provider

Move openfoam-com up front since this is the one being used as a base
for the others
2017-06-21 11:35:31 -05:00
Audrey Thoma
b1fceb75d0 Andi and libdivsufsort (#4559)
* andi: adding andi and libdivsufsort

* andi: adding andi and dependency libdivsufsort

* andi: adding andi and dependency libdivsufsort

* andi: fixing autotool dependency types

* andi: fixed whitespace to make flake8 compliant
2017-06-21 10:51:05 -05:00
Jonathan Wong
cb87edf230 Modified ipopt package to support build on ppc64le (#4561)
Added line in package.py to patch using ipopt_ppc_build.patch. The patch simply adds support in config.guess and Ipopt/config.guess to build ipopt on ppc64le.
2017-06-21 06:47:06 -05:00
Mark C. Miller
2525363c11 adding H5Z-ZFP; updating zfp to use choice variant for bit stream word size (#4466)
* adding H5Z-ZFP; updating zfp to use choice variant for bit stream word size

* fixing homepage url

* removed fortran error message...just build fortran if can, otherwise ignore
2017-06-21 06:46:14 -05:00
Jim Eliot
7c0a759a26 Fix for SAMRAI build debug spec bug (#4564) (#4565) 2017-06-21 06:38:27 -05:00
serbanmaerean
0fe9cb5d1c FFTW: remove search for IBM XL threaded compiler when compiler is not gcc (#4187)
* Added magma package

* Incorporated Serban's change

* fftw: patch configuration file to remove search for xlc_r compiler
when compiler not gcc

FFTW assumes there are only 2 compilers: gcc and IBM XL.  When
building threaded fftw, the configuration file is looking for
the threaded IBM XL's xlc_r compiler when the compiler is not gcc.
The PGI compiler is not gcc.
2017-06-20 16:47:24 -05:00
Audrey Thoma
bcb8615fb0 Add abyss package (#4555)
* abyss

* abyss: deleting attemped test from script

* abyss: adding new package abyss

* abyss: partially fixing mpi dependency issue

* abyss: added mpi provider conflicts
2017-06-20 16:34:42 -05:00
Christoph Junghans
12113c41e4 Features/votca (#4556)
* votca-csg: needs non-mpi version of gromacs

* votca-csg: fixed deps

* votca-moo: new package

* votca-ctp: new package

* votca-ctp: make flake8 happy
2017-06-20 15:34:17 -05:00
George Hartzell
e5560dfbde fontconfig should depend on gperf (#4551)
* Include depends_on for gperf

Sometime around 2.12.2 fontconfig acquired a build-time
dependency on `gperf` (this commit, I think:
59fd9960bbb58fd6257adb13ec0f918882149332).

This adds the dependency.

`gperf` is called in the `src/Makefile`, see line 907 of
`src/Makefile.in`.

* Only depend_on gperf if @2.12.2:

The gperf dependency *seems* to only be required when @2.12.2:.

Earlier releases do not check the arg type of the gperf lookup
function (which requires gperf) and are able to use pre-generated
files so gperf is not required at build time.
2017-06-20 12:46:49 -05:00
Mark C. Miller
ca9e6576db Fix veclibfort for gcc (#4548)
* fixes #967

* Version bump to 0.9.1

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

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

* fixing Makefile override of PREFIX and install w/gcc-6
2017-06-20 09:59:40 -05:00
Stas Sergienko
229886aa8f added py-dxchange and its dependencies dxfile,edffile,spefile,tifffile (#4534)
* added py-dxchange and its dependencies dxfile,edffile,spefile,tifffile

* fixed https in homepage of py-dxfile
2017-06-19 16:26:37 -05:00
Adam J. Stewart
9b89272ae0 Various updates to wget and dependencies (#4116)
* Various updates to wget and dependencies

* Add newer version of gnutls
2017-06-19 15:13:18 -05:00
Adam J. Stewart
cf2178f416 Overhaul CONVERGE installation and concretization (#4397) 2017-06-19 10:18:48 -05:00
Diana Bite
b12c0e0f87 fontconfig: Update to latest stable release (#4543) 2017-06-19 10:02:30 -05:00
Todd Gamblin
04af95c69a Add Slack info to READMEmd (#4542)
- Added a badge to show who's online.
- Added a section under "Get involved!"
2017-06-19 01:00:40 -07:00
Todd Gamblin
d1f176541d Update README.md and add analytics. (#4537) 2017-06-17 19:37:33 +02:00
Andrey Prokopenko
cbdee5faf7 votca-csg: fixing develop url (#4536)
Fix #4525.
2017-06-17 09:32:14 -05:00
becker33
541496dfe1 System config (#4518)
* Code changes to enable system config scope in /etc

Files will go in either /etc/spack or /etc/spack/<platform>
Required minor changes to conftest.

* Updated documentation to match new config scope
2017-06-16 12:31:56 -07:00
Stas Sergienko
5c01fadc59 Added py-pybtex package (#4507)
* Added py-pybtex package

* added more dependencies to py-pybtex

* added run to py-latexcodec dependency
2017-06-16 12:45:30 -05:00
John Roberts
4bd05d0c52 Py ase (#4517)
* py-ase: Adding python package py-ase.

* py-ase: Adding Python package py-ase.

* py-ase: Shortened package description.

* py-ase: Splitting package description to multiple lines to avoid char count max.

* py-ase: Removing trailing whitespace. Local flake8 tests passed now that flake8 is working for me.
2017-06-16 12:44:12 -05:00
Stas Sergienko
09ff2afb78 added py-sphinxcontrib-bibtex and py-pybtex-docutils packages (#4520)
* added py-sphinxcontrib-bibtex and py-pybtex-docutils packages

* added dpendency py-ordereddict
2017-06-16 12:42:36 -05:00
Kyle Fernandes, né Jacobs
a8919b07ca Update intel* packages (#4528)
* Update intel-*  packages

* Update intel package
2017-06-16 12:18:25 -05:00
David Böhme
04c2a1caf4 Update Scalasca/Score-P/Cube/OTF2 (#4485)
* Update Scalasca/Score-P/OTF2/Cube. Should fix #4349#

* cube: Fix flake8 warnings

* cube, scalasca: Fix version range syntax for deps

* otf2: Fix version URL generation

* cube: Remove static URLs
2017-06-16 11:45:06 -05:00
Adam J. Stewart
60db73a3f5 Fix OpenMPI CUDA support (#4323)
* Fix OpenMPI CUDA support

* Remove --with-cuda-libdir flag, not a real flag

* Fix PGI and CUDA 7 support
2017-06-16 10:00:19 -05:00
Milton Woods
f6e3ad4d90 py-pillow: ensure that RPATH includes graphics libraries (#4522) 2017-06-16 08:43:18 -05:00
iulian787
fe7bf77afe oce changes for cgm (#4514)
* oce changes for cgm

cgm can be configured with oce, but oce needs
to have X11 enabled, because some libraries
(like TKCAF in occ/oce) gets built only of X11 is NOT disabled
so introduce a variant +X11 for oce, which is needed when
configuring cgm with oce(+X11)

* follow up review

simplify by removing the patch and different url paths
use append instead of extend, when necessary
make mpi true by default

X11 dependency is still to be addressed; it pulls in some opengl
library (on laptop nvidia seem to work, on virtual linux machine
mesa was good enough)
2017-06-16 08:29:59 -05:00
Todd Gamblin
790b06e0c3 bugfix: support EDITOR values with spaces (#4523)
- previous code called `which` on $EDITOR, but that doesn't work for
  EDITORs like `emacs -nw` or `emacsclient -t -nw`.

- This patch just trusts EDITOR if it is set (same as previous
  behavior), and only uses the defaults if it's not.
2017-06-16 14:03:21 +02:00
Massimiliano Culpo
8b5e94976d issue 4492: DependencyMap.concrete checks for unconditional dependencies (#4499)
* issue 4492: added xfailing test, added owner to DependencyMap

* DependencyMap.concrete checks if we have unconditional dependencies

This fixes #4492 and #4107 using some heuristics to avoid an infinite
recursion among Spec.satisfies, Spec.concrete and DependencyMap.concrete

The idea, as suggested by @becker33, is to check just for unconditional
dependencies. This is not covering the whole space and a package with
just conditional dependencies can still fail in the same way. It should
cover though all the **real** packages we have in our repo so far.
2017-06-16 12:41:15 +02:00
Mario Melara
da67ee9790 Fix tests on cray (#4298)
* Check for CRAYPE_VERSION instead of path

Architecture tests would fail on Cray since it would not find
the expected path. To make the test correctly work on Cray search
for the CRAYPE version instead.

* Catch SystemExit error in case flake8 not in path

On shared systems having flake8 can involve starting own virtual env.
Skip the test if no flake8 is found to avoid failure reporting.

* Add compatibility to 1.5 svnadmin create

The flag added is needed to correctly create svn repos on NERSC systems.
This could be unnecessary for other sites. I'd like to see others
test before this change gets merged.
2017-06-15 15:16:14 -07:00
Stas Sergienko
c102be2144 Added package py-oset (#4500)
* Added py-oset package

* Added package py-oset

* changed homepage url
2017-06-15 13:50:48 -05:00
Stas Sergienko
503efb8881 added py-latexcodec package (#4509)
* Added py-latexcodec package

* removed url line from the file
2017-06-15 09:46:44 -05:00
Stas Sergienko
080314c68e added py-counter package (#4510) 2017-06-15 09:45:27 -05:00
Diana Bite
a9a7805626 openblas: Fix build on aarch64. (#4487)
- invoke make with the correct TARGET for aarch64
- foforce PILERDRIVER as openblas cannot correctly detect CPU on aarch64
- update url to more recent version
2017-06-15 06:38:24 -05:00
Adam J. Stewart
41e4a034ff Add latest version of JDK (#4317)
* Add latest version of JDK

* Use a more specific URL to get curl to work

* Remove failing unit test
2017-06-15 12:40:55 +02:00
Adam J. Stewart
dc911661ca Add missing doc variant to fenics package (#4473) 2017-06-15 12:35:56 +02:00
Mark C. Miller
27e6e8715e Adding initial AMReX package (#4467)
* adding initial amrex package

* adding missing fortran variant predicate

* adjusting description text

* adjusting as per @tgamlin guidance
2017-06-15 12:27:52 +02:00
Stas Sergienko
336e3e6a89 Added py-pywavelets package (#4496)
* Added py-pywt  package

* passes flake8 test

* renamed py-pywt to py-pywavelets
2017-06-15 11:51:52 +02:00
Todd Gamblin
8c2447272e Fix dashes in variant parsing (#4498)
- Skip spack flake8 test when flake8 is not installed.
- Fix parsing of dashes in specs broken by new help parser.
    - use argparse.REMAINDER instead of narg='?'
    - don't interpret parts of specs like -mpi as arguments.
2017-06-15 11:32:55 +02:00
Jon Rood
6762714302 Nalu requires Trilinos with Exodus support (#4505)
* Disabling Exodus in Trilinos by default.

* Returning default of Exodus to true in Trilinos.
2017-06-15 11:31:03 +02:00
Adam J. Stewart
e627447417 Prefer vim to vi for default editor (#4230)
* vim > vi
* Allow which to accept multiple args
* Update __init__ to use which with multiple args
* Fix doc tests
2017-06-15 11:27:18 +02:00
Adam J. Stewart
ce11e78530 Add h5utils package (#4506) 2017-06-14 15:41:42 -05:00
Alicia Klinvex
f732598f51 Fix tpetra-related xsdk errors (#4501)
* Fix tpetra-related xsdk errors

Recent changes to the trilinos package broke the xsdk build.
xSDK explicitly disables tpetra, but packages depending on it
(such as ifpack2 and amesos2) are explicitly enabled by default
in the trilinos package.  This commit explicitly disables them
within the xsdk package.py.

* Disabled exodus in the xsdk build

See issue #4502 for details
2017-06-14 13:56:24 -05:00
Luigi Calori
daa5cf7e73 fix intltool_sbang issue #4191 (#4192)
* fix intltool_sbang issue #4191

* add per dep even if already depending on perl-xml-parser

* adding more comment, properly spaced
2017-06-14 13:24:01 -05:00
Michael Kuhn
1ec3c14d23 Improve qt (#4309)
- Introduce an opengl variant that is enabled by default. Disabling it
  allows building qt for X forwarding etc.
- Depend on fontconfig and freetype to make use of system fonts.
  Otherwise qt can not find any fonts.
- libx11 is required when libxcb is used.
- Set MAKEFLAGS to parallelize qmake compilation.
2017-06-14 13:13:39 -05:00
Nicolas Richart
f06c23ef42 Adding package namd (#4321)
* Initial version of the namd package

* Modified charm to consider compile against intel/intel-mpi

* Correction of namd to compile with intel-mkl and intel compiler

* Adding inclue64 in the prefix

* adding property for the build directory

* removing useless function build
2017-06-14 13:11:30 -05:00
Josh Asplund
bc2c4a14c2 Updates rose definition (#4411)
* Adds z3 package

* Adds binwalk package

* Updates spot package definition

* Updates rose package definition

* Modifications for code review

* Fixes string formatting

* Remove python version requirement
2017-06-14 12:43:50 -05:00
Adam J. Stewart
f4f2f25838 Added new package for py-rsa (#4494) 2017-06-14 10:35:10 -05:00
serbanmaerean
0e5fb26dc1 superlu-dist: don't use '_' symbols from BLAS for IBM XL compiler (#4486) 2017-06-14 00:10:51 -07:00
Geoffrey Oxberry
3025f9d303 ipopt 3.12.7 (#4490)
* ipopt: update version to 3.12.7
* ipopt: add +coinhsl option
* ipopt: add +metis option
2017-06-13 18:09:12 -07:00
Geoffrey Oxberry
6af44e63ad coinhsl 2014.01.17: new package (#4482) 2017-06-13 18:03:49 -07:00
Geoffrey Oxberry
56f7c85c93 metis: bugfix: make shared library build portable (#4489)
Fixes #4488. When compiling metis as a shared library, the package
used the syntax `-rpath=`, followed by a path. This syntax is
non-portable, so replace it using Spack's compiler rpath argument
property.
2017-06-13 17:59:25 -07:00
John Roberts
b802524517 visit: Added VisIt version 2.12.2 (#4495) 2017-06-13 18:17:51 -05:00
scheibelp
1e69d9d1a9 Override partial installs by default - part three (#4331)
* During install, remove prior unfinished installs

If a user performs an installation which fails, in some cases the
install prefix is still present, and the stage path may also be
present. With this commit, unless the user specifies
'--keep-prefix', installs are guaranteed to begin with a clean
slate. The database is used to decide whether an install finished,
since a database record is not added until the end of the install
process.

* test updates

* repair_partial uses keep_prefix and keep_stage

* use of mock stage object to ensure that stage is destroyed when it should be destroyed (and otherwise not)

* add --restage option to 'install' command; when this option is not set, the default is to reuse a stage if it is found.
2017-06-13 09:15:51 -07:00
Massimiliano Culpo
9defe2c1c2 espresso: fixed compilation for 6.1 (elpa) and added support for hdf5 (#4483)
* espresso: fixed compilation for 6.1 (elpa) and added support for hdf5

* espresso: addressed items in @davydden review

* espresso: fixed behavior for espresso@:5.4.0
2017-06-13 10:22:12 -05:00
serbanmaerean
df6d8d913b Fix/mumps (#4453)
* Added magma package

* Incorporated Serban's change

* mumps: Fix compiler error with IBM XL

Split the patching between v 5.0.2 and 5.1.1
2017-06-13 08:09:59 -05:00
Michael Kuhn
181fd95057 Fix building shared libraries for gmp (#4464)
If specific compiler flags are set, gmp will not build a shared library,
causing failures further down the line.
2017-06-13 08:06:44 -05:00
Diana Bite
d450e4a93b czmq: Fix invocation when building with clang. (#4479)
Also bump to latest stable version.
2017-06-13 07:43:54 -05:00
Adam J. Stewart
14aa3b63e3 Add list_url for packages from http://ab-initio.mit.edu/ (#4471) 2017-06-12 09:48:20 -05:00
Adam J. Stewart
0de653ff01 Add an installcheck phase to MakefilePackage (#4476)
* Add an installcheck phase to MakefilePackage

* Minor changes to ESMF
2017-06-12 09:47:46 -05:00
Axel Huebl
ab9155eb37 ISAAC Server: Less Strict Deps (#4481)
The dependencies of the server packages were overly strict and pulled in too many dependencies.
This fixes it.
2017-06-12 16:01:17 +02:00
Robert Pavel
f127c4ed27 New Package: bml (#4213)
* New Package: lanl-bml

Added LANL's BML library as Spack Package as dependency for future
packages

* Adjusted lanl-bml versions

Specified current master as develop and added v1.1.0 tagged version

* Renamed lanlbml package to bml
2017-06-11 17:21:51 -05:00
Adam J. Stewart
4db107353e Convert elk to MakefilePackage (#4477) 2017-06-11 18:47:40 +02:00
Milton Woods
a5c6f0412b gcc: use isl@0.14 for gcc@5 (#4474) 2017-06-10 08:16:10 -05:00
Todd Gamblin
c67f647785 Move description to top of spack info (#4475) 2017-06-09 21:02:16 -07:00
Adam J. Stewart
36b8ea2f92 Add default list_url for GitLab, BitBucket, and CRAN (#4439)
* Add default list_url for GitLab, BitBucket, and CRAN

* Fix flake and doc tests
2017-06-09 12:28:39 -05:00
Adam J. Stewart
218992862c Move gpg section of docs to Getting Started (#4446) 2017-06-09 12:27:29 -05:00
Massimiliano Culpo
a3b12a60d1 scala + spark: added legacy versions (#82) (#4461) 2017-06-09 07:15:54 -05:00
Michael Kuhn
23a95de2bd Fix autotools issues (#4463)
Add ACLOCAL_PATH to libtool and pkg-config. Without this, aclocal can
not find the .m4 files.
2017-06-09 07:12:27 -05:00
Denis Davydov
5c5fd4a7e3 add teuchos to Trilinos, update dealii to explicitly require certain packages (#4460) 2017-06-09 07:10:54 -05:00
Adam J. Stewart
85fd8f0b31 Fix url parse offset for SourceForge downloads (#4458) 2017-06-09 08:53:40 +02:00
George Hartzell
a6bbbd4458 Package for mono (#4435)
* First draft package for mono

Mono's vendor'ed boringssl interacts badly with openssl, so
you need to use `cmake~openssl`.

Left to its own devices, it wants to refer to things in
`/usr/share/.mono`.  This doesn't work for installs that don't run as
root, etc...  This package includes a variant to redirect those paths
to `prefix.share`.

* Whitespace/Flake8
2017-06-08 17:55:45 -05:00
Jon Rood
3508909f06 Adding Nalu package. (#4428)
* Adding Nalu package.

* Fixing flake8 stuff.

* Fixing flake8 stuff.

* Reorganizing trilinos package file a little to make it less verbose.

* Reorganizing trilinos package file for more general use as well as use as a dependency of the Nalu package. Setting fpic as default for yaml-cpp and superlu.

* Explicitly stating fpic variants in dependent packages.

* Updating nalu and trilinos package files with suggested changes.

* Fixing formatting issues. Making suggested changes.

* Fixing formatting.

* Reducing amount of explicit variants in Nalu. Adding suggested changes to Trilinos package file.

* Making suggested changes to Nalu package.

* Turning off superlu-dist variant.

* Cleaning up yaml-cpp file.

* Fixing pnetcdf requirements in trilinos.
2017-06-08 17:54:26 -05:00
Gregory Lee
816f4f8b04 fix mfem build for ppc with gcc (#4452) 2017-06-08 10:23:30 -05:00
Howard Pritchard
4e92811939 Open MPI: add 2.0.3 (#4450)
Add Open MPI bug fix release 2.0.3

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-06-07 14:42:49 -05:00
Massimiliano Culpo
69bd119d64 folly: added new package. Also modified double-conversion to use 'pic'. (#4449) 2017-06-07 14:42:15 -05:00
Adam J. Stewart
1b9af88572 Supress output from gpg --version during tests (#4441) 2017-06-07 11:52:28 -05:00
Adam J. Stewart
0bbafb1673 Fix tab completion of Spack subcommands (#4442) 2017-06-07 11:52:07 -05:00
George Hartzell
29090a527a Bug/cctools syscall (#4440)
* Handle missing defn of __NR_memfd_create

Generally SYS_foo is defined to __NR_foo (in sys/syscall.h) which is
then defined to a syscall number (in asm/unistd_64.h).  Certain CentOS
systems have SYS_memfd_create defined to __NR_memfd_create but are
missing the second definition.  This is a belt and suspenders solution
to the problem.

See [this post][syscall] for a nice general description of how these
parts fit together.

[syscall]: https://www.uninformativ.de/blog/postings/2017-02-11/0/POSTING-en.html

* Avoid flake8 warning
2017-06-07 11:51:46 -05:00
Stas Sergienko
8018f6cdf6 Fixed duplicated spec: nag@6.1 line in getting started guide (#4445) 2017-06-07 11:50:56 -05:00
Stas Sergienko
af85014978 Added latest version of image-magick 7.0.5-9 (#4447) 2017-06-07 11:49:39 -05:00
Diana Bite
06e7708728 postgresql: Fix build with threadsafe and add variant. (#4403)
* postgresql: Fix build with threadsafe and add variant.

* postgresql: Convert Package to AutotoolsPackage.

Also add explicit enable flag for +threadsafe variant.
2017-06-07 18:20:17 +02:00
Michael Kuhn
f7b8b75c12 Fix intel-mpi installation (#4438) 2017-06-06 11:24:33 -05:00
George Hartzell
aa51e766cd Add add'l output formats for graphviz (#4431)
* Add add'l output formats for graphviz

Add support for additional output formats to graphviz, including gif,
jpg, pdf, and png.

Graphviz calls its pango+cairo option *pangocairo* so I followed suit.

Libgd was missing jpeg/jpg support.  None of the other supported
formats are conditionalized and there is no --with/--without support,
so I followed suit.

* Fix ghostscript plugin

When I installed thusly:

    spack install graphviz+pangocairo+libgd^cairo+X^pango+X

the ghostscript plugin tripped over some variable names that had
changes in `gs@9.18:`.  This fixes them.

* Remove wayward import of tty
2017-06-06 06:06:36 -05:00
Milton Woods
54cc8dd7fd ncl: cairo and math libraries (#4434)
* ncl: depends on cairo+X (cairo~X is built by default)

* ncl: '-lm' is needed when linking fortran with gcc
2017-06-06 06:05:10 -05:00
Michael Kuhn
08a054afd8 Update bazel to 0.4.5 (#4436) 2017-06-06 05:59:25 -05:00
George Hartzell
baad627944 Need to help Makefile.PL find the expat bits (#4422)
* Need to help Makefile.PL find the expat bits

We need to provide Makefile.PL with a clue about where our
expat bits live.  We had the dependency, but I suspect
that the lib was actually linking against a system version.

* Use prefix.lib instead of building path myself

Ditto with .include
2017-06-05 14:17:12 -05:00
George Hartzell
6b9d485e06 Disable parallel builds for bamutil (#4430)
I've had non-repeatable failures in my CI runs on all three clusters
at the bamutil's step.  In each case there are .o or .so files that
are corrupt or truncated.

I suspect that the homebrewed bamutil Makefile scheme doesn't actually
support parallel builds.
2017-06-05 14:14:49 -05:00
George Hartzell
bfb45ba1ce Tighten up graphviz package (explicitly disable unused languages, etc...) (#4408)
* Tighten up graphviz package

The fun started when configure discovered a broken/partial
installation of `swig` in `/usr/local`, then auto-discovered my
system's python and ruby packages.

- SpackException doesn't seem to exist.  Convert it to a SpackError
  and call `.format(...)` on the error string to fill in the
  placeholder.

- Pull swig out of the list of languages.  It's something that can be
  asked for explicitly and that is needed if *any* of the langagues
  are enabled.  It's disabled by default.

- Explicitly disable the languages that are in "untested_bindings"
  list lest the configure script pick up things from the system.

* Touch up variant description string

* Clean up conditional statement

* Use InstallError, not SpackError

* Drop the swig variant

Get rid of the swig variant and drive that bit based on whether any
languages are enabled.

* Move perl to the untested list

That's not strictly accurate.  I tested it and it doesn't work.

There's a missing depends_on().  When you add that you'll discover
that the language binding bit can't find Perl's 'EXTERN.h'.  Then
you'll discover that graphviz's `configure` script doesn't have a good
way to include the paths to Perl's bits (looks like I'll have to
gather them for each language and then use them to build `CFLAGS` and
`CXXFLAGS` and `LDFLAGS`).  While pondering that, you'll discover that
EXTERN.h is buried down here:

```
opt/spack/linux-centos7-x86_64/gcc-4.8.5/perl-5.24.1-35ejv4426dmzreum4ekdibu3ddmhquvi/lib/5.24.1/x86_64-linux/CORE/EXTERN.h
```

and decide that you wish you had never thought to actually test
`graphviz+perl`.

I could find that directory with a snippet like so:

```
perl -MConfig -e 'print "$Config{archlib}\n"'
```

but at this point I'm much, much further down this rabbit hole then I
ever wanted to go.

* Convince python that tested_bindings is a list

When I removed `+perl` and made `tested_bindings` a list of one
thing, I ended up with this:

```
==> Error: cannot concatenate 'str' and 'tuple' objects
```

* Flake8 cleanup

* Don't convert a string to a string

* rm unused () and clarify variable name

Feedback from @adamjstewart

- Get rid of some unnecessary parens.
- Clearer variable name and use.

* Further cleanup of language enabling loop

Now we don't need that pesky temporary variable.
2017-06-05 13:02:39 -05:00
George Hartzell
36d153967b Add package for cctools (#4417)
* Add package for cctools

Add a package for cctools.

Requires the recently submitted "useshrplib" support in Perl (or some
other mechanism to enable -fPIC for perl).

* Delete extraneous import

* Perl's shared variant changed, adapt...

The name of the variant that perl uses to build a shared lib changed and
it now defaults to True.  Use the new name and continue to be insistent
about using the shared variant.

* Flake8 cleanup
2017-06-05 11:41:02 -05:00
serbanmaerean
626aa3a8d0 Bugfix/boost pgi (#4426)
* Added magma package

* Incorporated Serban's change

* boost-pgi: Add support for PGI compiler

There are two patches required:
  (1) general fixes required by PGI
  (2) workaround for a bug in PGI 17.4

Conflicts:
	var/spack/repos/builtin/packages/boost/package.py
2017-06-02 11:44:33 -05:00
George Hartzell
23474be4b0 Add variant to build shared Perl lib (#4416)
* Add variant to build shared Perl lib

Add a variant that enables Perl's "useshrplib" feature, which builds a
shared perl library.

This addresses problems like so:

```
/usr/bin/ld: /blah/blah/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/perl-5.24.1-y43dp3p5w66v7qh5xkwgufxohyuodyew/lib/5.24.1/x86_64-linux/CORE/libperl.a(op.o): relocation R_X86_64_32S against `PL_opargs' can not be used when making a shared object; recompile with -fPIC
/blah/blah/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/perl-5.24.1-y43dp3p5w66v7qh5xkwgufxohyuodyew/lib/5.24.1/x86_64-linux/CORE/libperl.a: could not read symbols: Bad value
```

It should also address the Intel compiler issue discussed in #3081
while respecting Perl's configuration machinery.

* Rename shared variant and default to True

* Use correct variant to add configure arg

* Restore bits that set ccflags for intel compilers

After some experimentation we've established that setting
the flag to build a shared perl library is tightly tied to
the use of -fPIC.

This commit restores the code that sets ccflags for
intel compilers.

* Flake8 cleanup
2017-06-02 10:44:01 -05:00
Adam J. Stewart
623e7cb7b6 Add latest version of gnuplot (#4418) 2017-06-02 08:04:47 -05:00
Denis Davydov
bf58524943 astyle: add new versions (#4424) 2017-06-02 08:00:45 -05:00
George Hartzell
d8b6859e7b Add a package for Picard (#4398)
See the discussion about installing jar files in #4386.

Also installs a wrapper script that has explicit references to the
prerequisite java exe and to the jar file in it's final resting place.
2017-06-01 16:13:33 -05:00
George Hartzell
391afa9271 Add packages for clustalw and clustalo (and argtable) (#4412)
* Add packages for clustalw and clustalo (and argtable)

Add packages for the classic multiple alignment package, `clustalw`
and its younger sibling, `clustalo`.

`clustalo` needed the `argtable` package (command line arg parsing).

Lightly tested on CentOS 7.

* Remove FIXME (sigh...)
2017-06-01 12:36:01 -05:00
Tom Merrick
916243b23a Packages/r factoextra (#4410)
* Add mpi support to R

* Add multiple precision math routines to R

* Updated the URL to match the version

* Remove duplicate packages

* Add packages for r-ergm and it's dependents

* Fixed depends-on types

* Correct flake8 errors

* Correct Build type

* r-factoextra and dependents

* Revert "r-factoextra and dependents"

This reverts commit afbf477fd6.

* Add only r-factoextra files
2017-06-01 10:43:51 -05:00
Massimiliano Culpo
489dde1135 travis: fixes failure on six (#4415) 2017-06-01 14:42:33 +02:00
George Hartzell
61f640238b Add a package for Trimmomatic (#4399)
* Add a package for Trimmomatic

See the discussion about installing jar files in #4386.

Also installs a wrapper script that has explicit references to the prerequisite java exe and to the jar file in it's final resting place.

* Fix bad format statement

Apparently something like this "blah{}".format(...) works (it's missing
something inside the curly braces) but fails the travis test.
2017-06-01 09:22:24 +02:00
Nils Deppe
2310e9dac0 Add Catch v1.7.1-1.9.4 (#4406) 2017-05-31 14:11:36 -05:00
Diana Bite
218d55a072 openssl: Fix build on Aarch64 with clang. (#4404) 2017-05-31 06:41:24 -05:00
Axel Huebl
c124fdb7a0 Fix Fetch MariaDB (#4394)
The two given versions of mariadb are not fetchable under the given
URL, probably because older versions are purged and only kept in
an archive.

Add two working, latest revisions of each release line.
2017-05-31 13:37:44 +02:00
Diana Bite
c15f3bc6ff cmocka: Bump version and add checksums (#4405) 2017-05-31 12:48:43 +02:00
Michael Kuhn
665598af1b Fix missing gcc dependency on zip (#4303)
For @:6, java is included in languages=all and requires zip.
2017-05-30 14:59:47 -05:00
Adam J. Stewart
421d8ea316 Make sure py-entrypoints runs its unit tests (#4347) 2017-05-30 14:57:53 -05:00
Axel Huebl
7e3a11b46a ISAAC: Fix CMakeLists.txt Path (#4374)
Somehow the path to `CMakeLists.txt` via the class property
`root_cmakelists_dir` was relative but is now actually relative
to `spack-build/`.

Close 4324 by providing a path relative to the source repo
of the stage via a method instead of a member variable
2017-05-30 14:55:50 -05:00
Adam J. Stewart
d9d5135ec9 Fix spack info bug for Python 3 (#4391) 2017-05-30 13:37:56 -05:00
Adam J. Stewart
336d988cc6 Add every version of OpenMPI (#4372) 2017-05-30 10:16:43 -05:00
Axel Huebl
c23ccb58e1 Package: Wt (#4384)
* Package: libharu (PDF)

C++ PDF generation library, necessary for wt

* Package: WT

Adds `wt` "witty", a Qt-like C++ web framework for GUIs
2017-05-30 09:37:34 -05:00
George Hartzell
8297244446 Add package for vcftools@0.1.14 (#4389)
* Add package for vcftools@0.1.14

The package munges the various perl scripts so that their sbang lines
point to the depended upon perl (perhaps with Spack sbanger in the
dance) instead of relying on `/usr/bin/env perl`.

As it stands it installs its Perl libraries into `prefix/lib` and then
depends on `setup_environment` to prepend that dir onto PERL5LIB.

See my [vcftools issue
80](https://github.com/vcftools/vcftools/issues/80) for a discussion
about fixing its non-functional attempt at isolating itself from
PERL5LIB shenanigans.

* perl dependency should be build/run
2017-05-30 06:59:37 -05:00
Diana Bite
115fec3346 zeromq: Fix invocation when building with clang. (#4395) 2017-05-30 06:57:28 -05:00
Axel Huebl
1b7c29cdfe Fix #3851 xmlto fetch (#4393)
xmlto migrated to https://pagure.io/xmlto
2017-05-30 06:56:44 -05:00
Axel Huebl
d7622b32f1 Close #4388 libaio fetch (#4392)
fetch libaio via the debian mirrors, the same way as archlinux builds
it (from original, unmodified sources):
  https://git.archlinux.org/svntogit/packages.git/commit/trunk/PKGBUILD?h=packages/libaio&id=a8ec32dd3988668809e6c6affe678db04db3fc76
2017-05-30 06:56:20 -05:00
George Hartzell
e3eaba80b1 Ensure Config.pm has correct setting for cc (#4345)
* Ensure Config.pm has correct setting for cc

Run a filter after install so that Config.pm records the compiler that
Spack built the package with.  If this isn't done, $Config{cc} will be
set to Spack's cc wrapper script.

* Also patch compilers Config_heavy.pl

This patch sets ld=gcc, which appears to work.  I'm not sure if
there's a good way to get at the ld that Spack uses.

* Clean up quoting

* Fix pattern for Config.pm

Does not start at beginning of line...
2017-05-29 16:59:30 -05:00
George Hartzell
e31f80988c Add support for an older version of STAR (#4385)
What the user wants, the user etc....

Add info for STAR@2.4.2a.  It's URL looks different, so added a URL for
it.  This broke the URL for the current version, so added a URL for it
also (known bug).

*Minimally* tested on CentOS 7.
2017-05-29 15:47:31 -05:00
George Hartzell
62daeaa525 Add package for bamutil (#4387)
*Minimally* tested on CentOS 7.

Stole the `install_target` bit from zip....
2017-05-29 15:36:18 -05:00
Milton Woods
7ea0e143c5 python: RPATH on Cray (#4209)
* python: ensure that distutils sets valid compiler options for RPATH on cray

* python: add cray-rpath patches for python@2.3:3.0.1 and python@3.1:

* python: in patch(..., when="@a:b platform=c"), limit b must be specified

* python: assume that python@4 will break the cray patches
2017-05-28 09:17:16 -07:00
Denis Davydov
87ebb0fc15 oce: add 0.18.1 (#4376) 2017-05-27 16:35:32 -05:00
Denis Davydov
0b252d5402 tbb: add 2017.6 (#4377) 2017-05-27 16:35:17 -05:00
Denis Davydov
d0d7768b90 Petsc and Slepc -- add new versions (#4378)
* petsc: add 3.7.6

* slepc: add 3.7.4

* hypre: remove whitespace
2017-05-27 16:35:05 -05:00
Douglas Duckworth
f14041d6c1 added STAR aligner package (#4368)
* added STAR aligner package

* fixed flake errors

* PATH NOW WORKS

* STAR install now works

* star install now perfected
2017-05-27 15:02:39 -05:00
Denis Davydov
50e729173b arpack: add 3.5.0 (#4375) 2017-05-27 15:02:25 -05:00
Adam J. Stewart
f9ac965fb9 Document known issue with R concretization (#4313) 2017-05-27 12:51:03 -05:00
eklee15
1b07d949ae Added pgi support for suite-sparse package (#4340)
* Added pgi support for suite-sparse package

* Patch modified

* added 'CFOPENMP={0}'.format(self.compiler.openmp_flag) for -mp flag
2017-05-27 06:49:21 -05:00
George Hartzell
1d80a87996 Fix mummerplot when ^perl@5.20: (#4348)
* Fix mummerplot when ^perl@5.20:

Calling defined() on a hash has been deprecated for ages.  It became
an error in perl@5.20.  If we're building with a perl where it's
illegal, we should fix it.

* Simplify call to filter_file

Treat the first arg to filter_file as a string rather than
a regex, so that we don't have to figure out the escapes.

* Patch mummerplot for *any* perl version.
2017-05-26 22:08:40 -05:00
George Hartzell
248fc92a45 Fix bwa url's (#4366)
* Fix bwa url's

Work around varying github URLs.

See #4365 for details.

* Restore main url entry

@adamjstewart pointed out that the package still needs a main url
so that `spack versions` works.
2017-05-26 22:08:00 -05:00
eklee15
c0fff6722d added -c11 flag for pgi compiler for TSL (#4367) 2017-05-26 22:07:24 -05:00
eklee15
a9feeefdb9 Added pgi support for mumps (#4369) 2017-05-26 22:06:55 -05:00
Adam J. Stewart
e7ad79fbed Add latest version of NCO (#4370) 2017-05-26 22:06:24 -05:00
Adam J. Stewart
d3a82ce632 Fix typo in mod_to_class docstring (#4371) 2017-05-26 22:05:54 -05:00
Adam J. Stewart
6f0ac9d54c Add --configure-args/vars support to RPackage (#4289)
* Add --configure-args/vars support to RPackage

* Docstring formatting change
2017-05-26 16:37:06 -05:00
Ben Boeckel
f38d250e50 gpg: add 'spack gpg subcommand (#3845)
- Add a `spack gpg` subcommand in anticipation of signed binaries.
- GPG keys are stored in var/spack/gpg, and the spack gpg command manages them.
- Docs are included on the command.
2017-05-26 10:31:04 -07:00
George Hartzell
71cc4e2ad1 Add info for jdk@7u80 (not downloadable) (#4363)
* Add info for jdk@7u80 (not downloadable)

Add version info for jdk@7u80.  Oracle does't seem to be
distributing it any longer so there's no reasonable URL to
provide, but for those of us who already have the tarball
this is useful.

* Flake8 cleanup
2017-05-26 10:46:14 -05:00
Nils Deppe
e5f5e98fc4 Add master as install option for yaml-cpp (#4364) 2017-05-26 07:46:11 -05:00
Douglas Duckworth
7bdf7a74af added libdrm 2.4.75 per #4316 (#4359)
* added libdrm 2.4.75 per #4316

* removed 'list_url'
2017-05-25 22:19:59 -05:00
George Hartzell
d13eac310a Add info for fastqc@0.11.4 (#4357)
* Add info for fastqc@0.11.4

* Delete the bamutil package (included by mistake)

The bamutil package was included by mistake, the commit deletes it.
2017-05-25 18:15:19 -05:00
Mark C. Miller
e85113faf6 updating mfem version (#4362)
* updating mfem version

* changing mfem tarball extension to .tar.gz
2017-05-25 18:14:47 -05:00
Denis Davydov
af77f811f2 petsc: fix scalapack error: (#4341)
Specify either "--with-scalapack-dir" or "--with-scalapack-lib --with-scalapack-include". But not both!
2017-05-25 16:23:59 -05:00
eklee15
c7de8d0cdc Added pgi support for superlu-dist package (#4343)
* Added pgi support for superlu-dist package

* added self.compiler.pic_flag
2017-05-25 16:23:26 -05:00
Tom Merrick
794dc50995 Packages/r adegenet (#4354)
* Add mpi support to R

* Add multiple precision math routines to R

* Updated the URL to match the version

* Remove duplicate packages

* Add packages for r-ergm and it's dependents

* Fixed depends-on types

* Correct flake8 errors

* Correct Build type

* r-adegenet and dependent packages
2017-05-25 14:42:49 -05:00
George Hartzell
7055be82b9 Add info for bwa@0.7.12 (#4356) 2017-05-25 14:42:32 -05:00
George Hartzell
d9892c629c Add ant@1.9.6 info (#4350) 2017-05-25 13:31:46 -05:00
George Hartzell
26440accab Touch up string expansion. (#4344)
* Touch up string expansion.

I'm chasing this:

```
$ (module purge; spack install perl %gcc/5.4.0)
==> Error: No installed spec matches the hash: '%s'
```

There's something deeper going on, but the error message isn't helpful.

After this change it tells me this:

```
$ (module purge; spack install perl %gcc/5.4.0)
==> Error: No installed spec matches the hash: '5.4.0'
```

Which is weird because `5.4.0` is not a hash...  Whatever is going on here, the error message needs to be fixed.

* Flake8 whitespace
2017-05-25 13:00:58 -05:00
Adam J. Stewart
53713d57c9 Add older version of CONVERGE (#4346) 2017-05-25 11:29:54 -05:00
Adam J. Stewart
f8a7549f51 Add missing dependency to py-entrypoints (#4330) 2017-05-25 09:49:00 -05:00
Andrey Prokopenko
8e9d905794 Trilinos: add DTK external package (#4304)
* trilinos: add DTK external package

* Making +dtk and ~tpetra conflict
2017-05-25 09:41:11 -05:00
becker33
12ab882eba Fix issues parsing multiple anonymous specs (#4199)
* fix parser
* Removed xfails
* cleaned up debug print statements
* make use of these changes in gcc
* Added comment explaining unreachable line, line left for added protection
2017-05-24 17:13:18 -07:00
Adam J. Stewart
c1cea7ebcf Add latest version of CONVERGE (#4337)
* Add latest version of CONVERGE

* Flake8 fixes
2017-05-24 14:20:13 -05:00
Douglas Duckworth
a0e7169df6 added new R package - r-rgl (#4335) 2017-05-24 10:25:31 -05:00
Adam J. Stewart
315bda3487 Fix PGI version detection: 17.4-0 -> 17.4 (#4251) 2017-05-24 06:57:31 -05:00
Milton Woods
0932b16d4e cairo: ensure that X support is disabled for variant "~X" (#4242)
* cairo: ensure that X support is disabled for variant "~X"

* cairo: explicitly enable X support for +X variant

* cairo: prefer "variant in spec" over spec.satisfies(variant)
2017-05-23 16:43:22 -05:00
George Hartzell
d0a81fda30 Correct installation step for mummer (and dependency) (#4293)
* Trailing whitespace cleanup

* Handcraft an install process for mummer (grumble)

Mummer punts on an installation step, they just build in and run from
the same directory.

Mummer also has various hardcoded paths built into it that allow it to
find other executables that it needs as well as its Perl library.

This updates the package to deal with this approach.

It patches the Makefile and scripts/Makefile so that the correct info
is fed to sed when it munges the perl scripts.

The install step is now finer grained and puts things where mummer
relatively wants to find them.

* Add perl dependency

* perl should be build/run dependency

* Fix whitespace

* Delete stray u at top of file
2017-05-23 16:37:33 -05:00
Luigi Calori
929c45916b new package virtualgl (#4297)
* new package virtualgl, depends on mesa-glu but NOT on mesa, so added a variant to mesa-glu

* add comment on mesa variant of mesa-glu
2017-05-23 16:36:48 -05:00
Gregory Lee
785168f5a1 fix build command for caffe with openblas (#4299) 2017-05-23 16:35:42 -05:00
Erik Schnetter
43edcfbf13 opencoarrays: new version (#4271) 2017-05-23 16:30:14 -05:00
George Hartzell
39ac8abbbd Add support for addl versions of bcl2fastq2 (#4328)
Two changes:

- It seems that Illumina version numbers are dotted and that the
  dashed version in the 2.18... filename is an anomaly (based on the
  names for 2.17.1.14 and 2.19.0).  `url_for_version` does the right
  thing for 2.18.  It will need to be fixed when support for 2.19 is
  added.  2.17 is no longer generally available so it gets a pass.

- Add version and hash for 2.17.1.14.

  2.17.1.14 is no longer distributed.  If you have a copy of the
  source tarball, you can drop it into a local mirror w/ the name
  mirror/bcl2fastq2/bcl2fastq2-2.17.1.14.zip and go from there.
2017-05-23 15:37:24 -05:00
Adam J. Stewart
d38e601134 Add latest version of libpciaccess (#4325) 2017-05-23 13:47:06 -05:00
Milton Woods
4553b1400c Magics with eccodes variant (#4320)
* magics: use filter_file to avoid using system python in all versions

* magics: add eccodes variant to switch between eccodes and grib-api
2017-05-23 10:06:59 -05:00
Tom Merrick
1469cfd0e7 Packages/r ergm (#4314)
* Add mpi support to R

* Add multiple precision math routines to R

* Add packages for r-ergm and it's dependents

* Fixed depends-on types

* Correct flake8 errors
2017-05-23 10:05:05 -05:00
Massimiliano Culpo
e89c699c06 plumed: fixed compilation on rhel6 (#4318)
* plumed: fixed compilation on rhel6 with mvapich2 and gcc@5.4.0 (#77)

* plumed: prevent parallel compilation, as it breaks for the newest version
2017-05-23 10:04:23 -05:00
Robert D. French
dd73c98d0e Add Microsoft's C++ Rest SDK (#4315) 2017-05-22 15:15:17 -05:00
Milton Woods
8ab8459397 magics: use spack perl instead of system perl (#4310) 2017-05-22 06:45:24 -05:00
Milton Woods
132b3c56bc qt: patch JavaScriptCore to favour internal pcre headers (#4270) 2017-05-21 18:01:26 -05:00
Michael Kuhn
f9203d4281 libdrm depends on pkg-config (#4308) 2017-05-21 13:34:16 -05:00
Milton Woods
ca2755d532 flex: create variant +lex that creates symlinks for lex and libl.{a,so} (#3894)
* flex: create variant +lex that creates symlinks for lex and libl.{a,so}

* flex: enable variant +lex by default

* flex: use dso_suffix for portability; replace repetitive code with a loop
2017-05-21 08:33:34 -05:00
Massimiliano Culpo
e4a3295c37 spark: remove whitespaces from run_env variable (#4210) 2017-05-20 23:40:59 -05:00
Michael Kuhn
17b2db0bd2 Fix ncview with netcdf+mpi (#4305)
ncview has to be compiled using the same compiler as netcdf.
2017-05-20 20:59:15 -05:00
Michael Kuhn
c741cd900b magics fixes for versions > 2.29.x (#4302) 2017-05-20 09:40:10 -05:00
Erik Schnetter
a32f8c33b0 julia: New version 0.5.2 (#4259) 2017-05-19 17:32:40 -05:00
Erik Schnetter
4b075de9de hwloc: new version (#4272) 2017-05-19 17:32:16 -05:00
Erik Schnetter
eb001e4d5d hpx5: new version (#4273) 2017-05-19 17:31:53 -05:00
Erik Schnetter
ff6ebe30e0 cmake: new version (#4274) 2017-05-19 17:31:20 -05:00
Michael Kuhn
a62bbb6ed8 gobject-introspection depends on pkg-build (#4301) 2017-05-19 17:30:54 -05:00
Adam Moody
efbcdafd30 Mpifileutils (#4283)
* adding mpifileutils

* mpifileutils: add +lustre variant

* mpifileutils: add variant for xattr

* mpifileutils: update to AutotoolsPackage

* mpifileutils: simplify and eliminate redundant make

* mpifileutils: drop unnecessary comments
2017-05-19 17:09:21 -05:00
Michael Kuhn
571a42d614 Fix gcc not finding zlib (#4291) 2017-05-19 12:03:56 -05:00
Douglas Duckworth
8b47fe5a78 added R 3.4.0, again (#4260) (#4294) 2017-05-19 11:55:48 -05:00
George Hartzell
18c7e96624 Fix boost@:1.56.0%gcc@:5 (#4295)
I need boost@1.54.0 for bcl2fastq2.  I tested bcl2fastq2 using the
system compiler (gcc@4.8.5).  My full build uses a spack-build
gcc@5.4.0.

boost@1.54.0 won't build.  I found the answer
[here](https://github.com/hashdist/hashstack/issues/802) with the
details in [this upstream/boost
ticket](https://svn.boost.org/trac/boost/ticket/10125).

I've confirmed that these combo's build:

boost version| compiler
------------ | ------------------
boost@1.54.0 | gcc@4.8.5 (system)
boost@1.54.0 | gcc@5.4.0 (Spack)
boost@1.64.0 | gcc@5.5.0 (system)
2017-05-19 11:55:21 -05:00
Tom Merrick
0bff9c1eb1 Add r-rmpfr and r-gmp to R (#4287)
* Add mpi support to R

* Add multiple precision math routines to R

* Updated the URL to match the version

* Remove duplicate packages
2017-05-19 09:59:35 -05:00
George Hartzell
be356cf707 Add info for libxml2@2.7.8 (#4290)
bcl2fastq2 needs this older version.
2017-05-18 19:02:03 -05:00
kothah
153a63de62 added new version 7.900.1 (#4292)
added new md5
2017-05-18 19:01:40 -05:00
Douglas Duckworth
f72cd79ad1 add mpi support to meme (#4265)
* added openmpi support to meme

* openmpi is a link dependency which leverages r_path

* openmpi support now the default - meme does not have configure argument for mpi - if it's found then it's used

* added serial option and set mpi to not be default

* modified meme
2017-05-18 15:37:47 -05:00
Adam J. Stewart
04ccb8f774 Add old version of ROOT 5 (#4288) 2017-05-18 13:22:09 -05:00
Adam J. Stewart
fa90a65d09 Fix spec['python'].home (#4228) 2017-05-18 12:12:08 -05:00
Tom Merrick
5486d021d6 Add mpi support to R (#4286) 2017-05-18 11:24:40 -05:00
Patrick Gartung
a29921b995 Add the gnupg package and missing dependencies. Update versions of ex… (#4281)
* Add the gnupg package and missing dependencies. Update versions of existing dependencies.

* this ended up in the wrong repo

* put versions back, remove uneeded function

* OK ;)

* autopep8

* typo on npth line

* whitespace
2017-05-18 10:11:27 -05:00
Adam J. Stewart
48588cb1d8 Add a new package for Open Babel (#4256)
* Add a new package for Open Babel

* Add post-installation tests, stolen from the fine folks at Homebrew

* Add patch to fix Python 3.6 support

* Add a more complete patch to get Python 3.6 support working

* Add patch to convert tabs to spaces in test script

testpdbformat.py contains mixed tabs and spaces
causing the unit tests to fail. With this patch,
all tests pass with flying colors.
2017-05-18 10:06:44 -05:00
Erik Schnetter
48eec5fc0f benchmark: New package for the Google Benchmark library (#4194)
* benchmark: New package

* benchmark: Remove empty function
2017-05-17 20:58:32 -05:00
George Hartzell
8eeb63e78e Add info for miniconda[23]@4.3.14 (#4263) 2017-05-17 20:57:48 -05:00
George Hartzell
daaa37c1ff Package for bcl2fastq2 (updates libxslt) (#4234)
* Add v1.1.26 and make crypto a variant

I need 1.1.26 for bcl2fastq2.

I also need to build it without crypto support.

* Initial support for bcl2fastq2

* Clean up commentary, messages, names

No substantial changes intended, just cleanup.

* fix flake8 and extra import

* The masked grammarian strikes again...

* Be normal (messages don't end in periods)

* When +crypto, add --with-crypto

Add `--with-crypto` to configure args when user hasn't explicitly set
`~crypto`.

* self.spec.satisfies is unsatisfying, in is in instead

See #4135, self.spec.satisfies has issues.  @adamjstewart suggests
simply using in.
2017-05-17 20:57:23 -05:00
Todd Gamblin
32c570913d Move doc dependencies to requirements.txt for readthedocs (#4280)
* Move doc dependencies to requirements.txt for readthedocs

* Move sphinx to doc requirements.
2017-05-17 20:45:03 -05:00
Adam J. Stewart
5b527e2c14 Add a new package for sphinxcontrib-programoutput (#4267) 2017-05-17 19:51:15 -05:00
Adam J. Stewart
bb451f967c Add latest version of matplotlib (#4279) 2017-05-17 19:50:50 -05:00
Adam J. Stewart
96560cc11f Add latest version of Sphinx (#4264)
* Add latest version of Sphinx

* Flake8 fix
2017-05-17 18:07:10 -05:00
Todd Gamblin
3e8662aaa7 fix bug with executables setting their own environment. (#4237) 2017-05-17 11:37:06 -05:00
Adam J. Stewart
cafc3cc3ca Sphinx no longer supports Python 2.6 (#4266)
* Sphinx no longer supports Python 2.6

* Update vendored sphinxcontrib.programoutput from 0.9.0 to 0.10.0

* Documentation cannot be built in parallel

* Let Travis install programoutput for us

* Remove vendored sphinxcontrib-programoutput

Recent updates to the sphinx package prevent the vendored version
from being found in sys.path. We don't vendor sphinx, so it doesn't
make sense to vendor sphinxcontrib-programoutput either.
2017-05-17 11:36:02 -05:00
Adam J. Stewart
b630c06773 Sphinx no longer ignores first argument (#4243)
* Sphinx no longer ignores first argument
* Duplicate first argument for maximum compatibility
2017-05-16 14:24:35 -07:00
Adam J. Stewart
de958df3b8 Update checksum for latest version of cudnn (#4254) 2017-05-16 11:42:00 -05:00
Douglas Duckworth
9a4b86cd49 added meme package (#4257)
* added albacore package as well as dependency py-ont-fast5-api

* added py-cutadapt and dependency py-xopen

* made more changes to albacore and cutadapt as well as dependencies

* made changes again per @adamjstewart

* fixed by python n00b errors i think

* fixed?

* tw=79

* made changes to py-ont-fast5-api ont-albacore

* removed bad characters

* albacore requires setuptools as build and run dependency

* added vmd

* added back albacore

* removed vmd package

* added meme software

* libz is only needed as link depedency for meme

* added libxml2 libxslt libgcrypt as link dependencies
2017-05-16 09:42:37 -05:00
Adam J. Stewart
fbc9d5a634 albacore requires setuptools as build and run requirement (#4255) 2017-05-15 15:57:21 -05:00
Adam J. Stewart
9f6c166f2f Add missing dependency to glib package (#4253) 2017-05-15 14:17:28 -05:00
Adam J. Stewart
6a328892d2 Add latest version of util-linux (#4252) 2017-05-15 12:47:03 -05:00
Adam J. Stewart
7864fbfcd3 Remove need for autoreconf in glib package (#4240) 2017-05-15 09:46:19 -05:00
Milton Woods
1ab2077b87 mesa-glu: provides libGLU, the OpenGL utility library from SGI (#4244) 2017-05-14 07:41:00 -05:00
Milton Woods
447d6f6602 harfbuzz: add latest version (1.4.6) (#4245) 2017-05-14 07:39:50 -05:00
Milton Woods
1cb98167a2 ncurses: build "normal" libs, not just "wide-char" libs, for ncurses@6: (#4246) 2017-05-14 07:37:50 -05:00
Christoph Junghans
f147c9f5f0 espressopp: always depends on py-numpy (#4207)
Ref espressopp/espressopp#161
2017-05-12 14:36:11 -05:00
Douglas Duckworth
360dc4a709 albacore and cutadapt again (#4219)
* added albacore package as well as dependency py-ont-fast5-api

* added py-cutadapt and dependency py-xopen

* made more changes to albacore and cutadapt as well as dependencies

* made changes again per @adamjstewart

* fixed by python n00b errors i think

* fixed?

* tw=79

* made changes to py-ont-fast5-api ont-albacore

* removed bad characters
2017-05-12 14:11:20 -05:00
Hans Pabst
4e13641db8 LIBXSMM 1.8.1 (#4235)
* Included LIBXSMM 1.8 into the list of available versions.

* LIBXSMM 1.8.1
2017-05-12 13:51:43 -05:00
Adam J. Stewart
c612781f6f Convert pixman to AutotoolsPackage (#4231) 2017-05-12 11:29:16 -05:00
Adam J. Stewart
1a6b4afe7f Add helpful error message for uncompressed downloads (#4205) 2017-05-12 09:52:01 -05:00
Jean-Paul Pelteret
d972ba7fbc Add SymEngine release 0.3.0 (#4227) 2017-05-12 07:49:06 -05:00
Milton Woods
2413f1ec3e Python cdat-lite package (#4208)
* py-cdat-lite: a python package for managing and analysing climate science data

* py-cdat-lite: depends on py-numpy

* py-cdat-lite: flake8 compliance

* py-cdat-lite: provide a generic URL where multiple versions are listed

* py-cdat-lite: restrict python versions; python required at run-time

* py-cdat-lite: use URL under pypi.io for consistency with other packages

* py-cdat-lite: add run-time dependency on py-numpy
2017-05-12 07:46:58 -05:00
Michael Kuhn
e7016b250f Add pdt support to scorep (#4198)
Add pdt dependency to scorep
2017-05-12 07:37:18 -05:00
Adam J. Stewart
5719cfb2f7 Download udunits from FTP server (#4218) 2017-05-11 19:07:12 -05:00
Adam J. Stewart
34cfd2483a Add latest version of eigen (#4224) 2017-05-11 19:06:11 -05:00
Adam J. Stewart
e7973dd290 Fix typo in PythonPackage documentation (#4221) 2017-05-11 19:05:02 -05:00
Adam J. Stewart
70939cf147 Fix metis list_url (#4222) 2017-05-11 19:04:38 -05:00
Stephen McDowell
d01f01c77f Flann package (#3966)
* Initial attempt at flann packaging.

Python2 somehow works. Python3 does not.  Still debugging their
obscure setup.py configuration.

* Flann good enough. Python3 broken but close.

Flake8 checks in place.  Unsure about CMAKE_BUILD_TYPE and default
spack behavior.

* spack uses RelWithDebInfo as default build type.

* builds py2/3, but direct site-packages install

* prefix working, empty python install dir

* flann package +python installs correctly

* str format {0} instead of {}

* potential doctest fix

* consistency of build env with PythonPackage

* fix python again, test deptype todo, build type

* potentially enable matlab, untested
2017-05-11 19:03:23 -05:00
Adam J. Stewart
4cc2d33bcf Force suite-sparse to use Spack's compiler wrappers (#4220) 2017-05-11 18:07:28 -05:00
Adam J. Stewart
9e65f2347c Add patch to fix missing MODULESHOME in profile (#4214) 2017-05-11 14:50:29 -05:00
Massimiliano Culpo
f8b3eff01c filesystem.py: fixed bug introduced in #3367 (scrambled order in output) (#4156)
PR #3367 inadvertently changed the semantics of _find_recursive and
_find_non_recursive so that the returned list are not ordered as the
input search list. This commit restores the original semantic, and adds
tests to verify it.
2017-05-11 10:29:08 -07:00
Adam J. Stewart
23ee792dcf Update NAG checksum, add F77 and FC (#4196) 2017-05-11 11:30:55 -05:00
Howard Pritchard
64dfc8bda6 Open MPI: add 2.1.1 to the list (#4204)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-05-10 16:08:52 -05:00
Michael Kuhn
a01be73185 Add nemesistcpib fabrics variant (#4197) 2017-05-10 14:37:01 -05:00
Suzanne Parete-Koon
e1d8cc86f0 updating git (#4200) 2017-05-10 14:36:10 -05:00
Matthew Thompson
604f65f395 Edits to get setup-env.csh working better (#4044)
* Edits to get setup-env.csh working better.

Autosets the sys_type a la setup-env.sh

* More stealing from bash setup script for module roots

* Add error message if SPACK_ROOT isn't set

* Remove _sp_lmod_root per Adam J Stewart
2017-05-10 10:18:45 -05:00
Erik Schnetter
e453865859 cosmomc: Enable Python bindings (#4169)
* cosmomc: Enable Python bindings

* cosmomc: Make python dependency optional
2017-05-10 10:10:53 -05:00
Erik Schnetter
28c7d15df8 hdf5: Correct spelling (#4172)
* hdf5: Correct spelling

* hdf5: avoid trailing spaces
2017-05-10 10:10:31 -05:00
Erik Schnetter
c422b33d77 highfive: New package; this is a C++ wrapper for the HDF5 library (#4173)
* highfive: New package; this is a C++ wrapper for the HDF5 library

The C++ wrapper that is shipped with the HDF5 library has several shortcomings. The highfive library seems to avoid these.

* highfive: Make MPI variant default to true
2017-05-10 09:47:56 -05:00
Adam J. Stewart
94c1651bce Add latest version of PGI compilers (#4186)
* Add latest version of PGI compilers

* Prepend, don't overwrite
2017-05-10 08:16:39 -05:00
Stephen McDowell
61ad369186 py-flask version updates, remote switch (#4166)
* version updates, remote switch

* trim versions to original and most recent

* proper url discovered and tested
2017-05-10 08:15:47 -05:00
Stephen McDowell
c0ceece9cc enable cuda support for suite-sparse (#4163)
* enable cuda support for suite-sparse

* do not use spec.satisfies

* cuda restructure, give clearer comment of why

* str format compatibility

* flake8 checks
2017-05-10 08:13:14 -05:00
Adam J. Stewart
b5eb298f3e Add a new package for ExtUtils::MakeMaker (#4179) 2017-05-09 18:52:08 -05:00
Adam J. Stewart
36db5ba9d8 Fix newline character in GCC package (#4181)
* Fix newline character in GCC package

* Remove the newline completely
2017-05-09 18:51:40 -05:00
Mark C. Miller
64fb2f22b4 Adding FASTMath uber package and missing FASTMath packages (#4120)
* adding 0.5.1 and variant for uint8 bit stream word type

* Revisions as per davydden

* fixing style (flake8) issues

* - switched to derive from MakefilePackage
- fixed typo in variant check
- Confirmed installs correctly with bswtuint8 variant

* added build method; changed zfp_incdir to incdir

* * Adding uber fastmath package to support 'spack install fastmath'
* Adding dims variant boxlib to control compile-time spatial dimension count
* Explicitly disabling many parts of moab to get lib to build. Don't need tools yet.
* Add logic to spack/setup-env to not refer to $SYS_TYPE if its not defined.

* adding mesquite package

* * Added Chombo (still working on Fortran name mangling)
* Made mesquite depend on mpi
* Fixed use of boxlib's dims numerical variant

* adding PUMI

* flake8 compliance

* adding phasta

* fixing flake8 issues

* undue $SYS_TYPE protection change

* fixing install step for fastmath uber package; resolve issues requested by adamjstewart in PR

* revisions as per adamjstewart

* re-enabling trilinos and phasta dependencies

* all changes requested modulu values= and assert statement

* fixing cmake_args usage in pumi; fixing lib installs for chombo

* first pass at numerical variant

* fixing dims variant as per @adamjstewart

* fixing func/var name collision

* fixing means of disabling -Werror

* fix name collision for cmake_args var/func

* fixing chombo homepage/url; make FASTMath use chombo#3.2; remove extraneous comment about boxlib dim

* remove dummy fastmath package; switch to @BarrySmith soln for install of dummy bundle

* fix flake8 import os issue

* remove extraneous comment

* adding url for fastmath scidac site

* final fixes as per @adamjstewart

* adding 1 dims option for boxlib

* switching make(all) to gmake(all)
2017-05-09 18:26:57 -05:00
Adam J. Stewart
a5fd658986 Add latest versions of Intel compiler (#4184) 2017-05-09 18:15:14 -05:00
George Hartzell
ba32f0d3a2 Make openmpi package defn more robust (#4183)
Make openmpi handle bad ibv_devices return statuses without bailing out completely.

See #4162 for background.
2017-05-09 18:00:08 -05:00
Erik Schnetter
692a100caa ncurses: Always build tools (#4174)
Otherwise, the install can fail if the system-provided `tic` binary is too old.
2017-05-09 17:59:46 -05:00
Erik Schnetter
caabcdc8b4 simulationio: Declare dependency on the HDF5 C++ bindings (#4177) 2017-05-09 17:59:21 -05:00
Erik Schnetter
44440d023d qthreads: Convert to AutoTools package (#4176) 2017-05-09 17:58:44 -05:00
Erik Schnetter
0e02f99323 funhpc: Update to version 1.3 (#4170)
Also use a Spack-provided GoogleTest.
2017-05-09 16:19:06 -05:00
Erik Schnetter
68034e4d42 gdbm: Declare readline dependency (#4171) 2017-05-09 16:18:17 -05:00
Gregory Lee
cbcf0f4674 Merge pull request #4165 from epfl-scitas/packages/cp2k_intel_stack_17
cp2k: fixed compilation issues for intel stack
2017-05-09 13:44:53 -07:00
Adam J. Stewart
e8f493ee7b Travis version of pip is too old (#4180)
* Travis version of pip is too old

* Also need to upgrade setuptools
2017-05-09 13:59:59 -05:00
Massimiliano Culpo
306f158c73 cp2k: fixed compilation issues for intel stack
Added DFLAGS to the `make.inc` file being written.
These macros are also added to the language specific variables
like CFLAGS, CXXFLAGS and FCFLAGS. Changed `spec.satisfies('foo')`
with `'foo' in spec` in `intel-mkl`, see #4135. Added a basic
build interface to `intel-mpi`.
2017-05-09 18:46:42 +02:00
Adam J. Stewart
4b866c6395 Add GCC 7 (#4144)
* Add GCC 7
* Allow users to build subset of GCC compilers with multi-value variant.
* Add comment explaining what 'all' actually means
* More specific golang support
* Only require Zip when building Java
* Comment out provide directives that don't currently work
* Add Ada support
* Use conflicts directive
* Fix joining of languages
* Need special flag to build jit
* Explicitly declare GNAT download extension
* Import tty, update lib64 to lib
* BRIG and Go are not supported on macOS
* Simplify formatting and imports
* JIT patch required for newer versions as well
2017-05-08 13:28:28 -07:00
Massimiliano Culpo
3efa9bd296 spec_syntax: added xfailing tests for cases in #4144 (#4151)
It seems that parse_anonymous_spec may fail if more than one part
(variant, version range, etc.) is given to the function. Added tests to
code against to fix the problem in #4144.
2017-05-08 13:24:37 -07:00
Todd Gamblin
ff3b5d88e4 rework spack help (#3033)
- Full help is now only generated lazily, when needed.
  - Executing specific commands doesn't require loading all of them.
  - All commands are only loaded if we need them for help.

- There is now short and long help:
  - short help (spack help) shows only basic spack options
  - long help (spack help -a) shows all spack options
  - Both divide help on commands into high-level sections

- Commands now specify attributes from which help is auto-generated:
  - description: used in help to describe the command.
  - section: help section
  - level: short or long

- Clean up command descriptions

- Add a `spack docs` command to open full documentation
  in the browser.

- move `spack doc` command to `spack pydoc` for clarity

- Add a `spack --spec` command to show documentation on 
  the spec syntax.
2017-05-08 13:18:29 -07:00
Denis Davydov
7923579a42 qt: add 5.8.0 which builds on Sierra with clang 8.1.0 (#4109)
* qt: add 5.8.0 which builds on Sierra with clang 8.1.0

* enable parallel build, add freetype dependency

* minor

* minor
2017-05-08 14:29:08 -05:00
scheibelp
16aa8faf45 Merge pull request #4145 from scheibelp/features/temporary-no-python-for-libxcb
Remove python dependency for libxcb and xcbproto
2017-05-08 11:22:27 -07:00
Massimiliano Culpo
85b0ebe836 BarrierTimeoutError must derive from Exception (#4157)
Seen in https://travis-ci.org/LLNL/spack/builds/229484526, very likely
due to a problem in the Travis builder.
2017-05-07 22:06:39 -07:00
Adam J. Stewart
cf93f49462 Fix PGI compiler detection on PowerPC (#4150) 2017-05-07 22:04:52 -07:00
Massimiliano Culpo
4e44d39f1a Spec.__init__: removed dead code (#4146)
The conditionals are repeated in the statement before _add_dependencies
2017-05-07 21:53:02 -07:00
Luigi Calori
b65daa93be Paramiko python extensions + his deps and other related extensions (#4158)
* adding paramiko and missing dependencies, setup to work with #2548

* adding other deps for paramiko

* fix flake8 errors

* removed spurious add

* address suggestion for proper dependencies

* fix cryptography deps

* remove FIXME comments and commented depends lines
2017-05-07 19:00:25 -05:00
nvarini
bb1a8efaca Added scala package (#67) 2017-05-07 13:05:29 +02:00
Adam J. Stewart
12633b06e4 Add Read the Docs badge to README (#4153) 2017-05-06 14:24:45 -05:00
Adam J. Stewart
42b09640f0 gmp: switch to download directly from GNU (#4152) 2017-05-06 14:24:19 -05:00
Adam J. Stewart
4f439f8e82 mpfr: switch to more reliable URL (#4139)
* Add list_url to mpfr

* Switch to download directly from GNU

* http -> https
2017-05-06 14:22:32 -05:00
Barry Britt
c0a52cc59e Updating bamtools to include a dependency for zlib. (#4031)
* Updating bamtools to include a dependency for zlib.

In a standard compile, bamtools will fail if zlib headers are not installed on the target machine. In order to maintain compatibility with all systems -- and since zlib is included already as a dependency for cmake -- this patch adds zlib as a link dependency for the bamtools package.

* Modified cmake rpath include.

Bamtools has a non-standard library location, so we need to append $prefix/lib/bamtools to the rpath. Not sure there's a better way to do this...

* Fixing syntax error in package.py

Fixed a non-terminated parenthesis on line 46.

* Updated bamtools to be a CMakePackage

Removed extraneous code, and altered the package to extend cmake_args
including the non-standard library location.

* UpRemoving cmake dependency and removing blank line from end of file

* Updates to cmake_args.

Removed the duplicate definition of std_cmake_args in favor of simply overriding the CMAKE_INSTALL_RPATH variable that is provided. This should allow the package to be linked correctly to itself.
2017-05-06 12:05:12 -05:00
Matthew Scott Krafczyk
741e4df233 Update zlib to work with other compilers (#4088)
* Fix -include issue with intel and pgi in zlib

MERGE CANDIDATE

* Patch zlib to compiler with the cray compiler suite.
2017-05-06 12:02:32 -05:00
Adam J. Stewart
73896e9481 Remind developers to update tab completion script (#4148) 2017-05-05 18:52:28 -05:00
George Hartzell
f55eddb9bd Add info for perl@5.22.1 (#4147)
What the user wants, the user gets....
2017-05-05 18:00:23 -05:00
Adam J. Stewart
be991a6efa Add latest version of curl (#4140) 2017-05-05 16:21:37 -05:00
Adam J. Stewart
6e23c31ad1 Python 3 doesn't have iteritems, use items (#4143) 2017-05-05 16:21:15 -05:00
Adam J. Stewart
c3af901ac6 Add latest version of Lmod (#4141) 2017-05-05 23:06:07 +02:00
Peter Josef Scheibel
19511a78b8 Remove python dependency for libxcb and xcbproto
python+tk will not build because it depends (indirectly) on python~tk
via libxcb. There are efforts to allow multiple instances of a package
to concretize together but they are ongoing so in the meantime this
comments out the dependencies and adds TODOs
2017-05-05 13:06:49 -07:00
Adam J. Stewart
9b49dfdc2a Fix typos in Basic Installation Tutorial (#4127) 2017-05-05 13:05:56 -05:00
George Hartzell
f532b4c90b Add info for jdk@8u73 (#4137)
* Fix ordering of versions (proper!)

* Add url/digest for jdk@8u73
2017-05-05 13:05:27 -05:00
Todd Gamblin
665e328566 Add OpenCV 3.2.0 checksum (#4138) 2017-05-05 13:05:05 -05:00
George Hartzell
0042b5e856 Add info for r@3.3.3 (#4128) 2017-05-05 13:04:46 -05:00
Massimiliano Culpo
85b4b15d9a SV variants are evaluated correctly in "when=" (#4118)
* SV variants are evaluated correctly in `when=` statements fixes #4113

The problem here was tricky:
```python
spec.satisfies(other)
```
changes already the MV variants in others into SV variants (where
necessary) if spec is concrete. If it is not concrete it does
nothing because we may be acting at a pure syntactical level.

When evaluating a `when=` keyword spec is for sure not concrete
as it is in the middle of the concretization process. In this case we
have to trigger manually the substitution in other to not end up
comparing a MV variant "foo=bar" to a SV variant "foo=bar" and having
False in return. Which is wrong.

* sv variants: improved error message for typos in "when=" statements
2017-05-04 11:01:02 -07:00
Massimiliano Culpo
6a9052bd4d variants: fixed packages reported by @adamjstewart in #4098 (#4105) 2017-05-04 10:58:58 -07:00
scheibelp
0cf406d7b6 Merge pull request #4121 from davydden/fix_transitive_build_dep_2
add transitive run dependencies of direct build dependencies
2017-05-04 10:32:50 -07:00
Gregory Lee
26a9793148 patch sqlite to work around macro definition (#4117) 2017-05-04 06:43:27 -05:00
Denis Davydov
7592971cb1 add transitive run dependencies of direct build dependencies 2017-05-04 08:43:06 +02:00
scheibelp
bee105fbb9 Merge pull request #4069 from davydden/fix_transitive_build_dep
only add direct build-only dependencies to PATH
2017-05-03 18:41:26 -07:00
Matthew Scott Krafczyk
18db25bb02 Update py-beautifulsoup4 (#4089)
* Update py-beautifulsoup4

* Change beautifulsoup4 url to pypi.io url.
2017-05-03 14:17:04 -05:00
Matthew Scott Krafczyk
6e14b97f84 Update cray compiler options (#4086) 2017-05-03 12:05:15 -05:00
Matthew Scott Krafczyk
07e1597a15 building wget depends on perl > 5.12.0 (#4087)
* building wget depends on perl > 5.12.0

* Remove extra parenthesis
2017-05-03 10:29:55 -05:00
Massimiliano Culpo
060351e121 bash completion: fixed invalid identifier (#4079)
* bash completion: fixed `_spack_create-db-tarball': not a valid identifier

* bash completion: dashes are translated to underscores

This also fixes the name of the subfunction to be called, as apparently
it was not updated after moving the command `create-db-tarball`.
2017-05-03 08:12:33 -05:00
Massimiliano Culpo
7ef46f4f69 hdf5: updated version (#4108) 2017-05-03 08:06:04 -05:00
Massimiliano Culpo
ae9a9e019a spack: no stacktrace if not in debug mode + fix emacs variant (#4098)
* spack: no stacktrace if not in debug mode + fix emacs variant

* emacs: removed dead code
2017-05-03 06:21:37 +02:00
Matthew Scott Krafczyk
72d45f7a44 Add the py-dryscrape package (#4094)
* Add the py-dryscrape package

* Adjust dependencies and change development to develop
2017-05-02 18:47:55 -05:00
Matthew Scott Krafczyk
a651b979ca Update the py-lxml package (#4090) 2017-05-02 16:35:42 -05:00
Matthew Scott Krafczyk
f265eefa22 Add findutils package (#4091) 2017-05-02 16:35:15 -05:00
Matthew Scott Krafczyk
abdb1fb0a0 Add the py-webkit-server package (#4092)
* Add the py-webkit-server package

* Change development to develop
2017-05-02 16:34:28 -05:00
Matthew Scott Krafczyk
2a1301596d Add the py-xvfbwrapper package (#4093) 2017-05-02 15:29:48 -05:00
Matthew Scott Krafczyk
70ea990efd Add py-pyprof2html package (#4095) 2017-05-02 15:28:46 -05:00
Matthew Scott Krafczyk
39ddc7d159 Add py-libconf package (#4096) 2017-05-02 15:28:19 -05:00
Matthew Scott Krafczyk
a0efcaef69 Add the libconfig package (#4097) 2017-05-02 15:27:56 -05:00
Massimiliano Culpo
78c4d0bd20 cgal: updated version (#4081) 2017-05-02 12:27:37 -05:00
Adam J. Stewart
1336630f17 Add link to spack view docs in command index (#4082) 2017-05-02 11:20:45 -05:00
Adam J. Stewart
9a3acea759 Allow ghostscript to build with Spack dependencies (#4065) 2017-05-02 09:45:10 -05:00
Adam J. Stewart
0f9059236c Add missing dependencies to emacs (#4068) 2017-05-02 09:44:02 -05:00
Massimiliano Culpo
b32afbbbcb mvapich2: fixed broken reference to spec (#4078) 2017-05-02 11:26:30 +02:00
Denis Davydov
708d8586ea add run-time dependencies of direct build-time dependencies to PATH 2017-05-02 08:43:37 +02:00
Todd Gamblin
094d47bff1 Allow user to specify profile sort column on the command line. (#4056)
- Add -P <STAT> argument so that caller can specify a sort column for
  cProfile. Can specify multiple columns with commas. e.g.:
      spack -P cumtime,module

- Add --lines option to Spack spec to control number of profile lines
  displayed

- Sort by time by default (because it works in all Python versions)

- Show sort column options in command help.

- Do a short profile run in the unit tests.
2017-05-01 14:32:33 -07:00
Denis Davydov
ef5da08f80 only add direct build-only dependencies to PATH 2017-05-01 22:58:24 +02:00
Adam J. Stewart
c86b53a73f Add latest version of libtiff (#4067) 2017-05-01 15:19:51 -05:00
Massimiliano Culpo
9e4b0eb34a Multi-valued variants (#2386)
Modifications:
- added support for multi-valued variants
- refactored code related to variants into variant.py
- added new generic features to AutotoolsPackage that leverage multi-valued variants
- modified openmpi to use new features
- added unit tests for the new semantics
2017-05-01 13:08:47 -07:00
Adam J. Stewart
5d0d670b72 Add latest version of lcms (#4066) 2017-05-01 14:31:59 -05:00
Todd Gamblin
32dd20035f Skip fetch tests for tools that are not installed. (#4059)
This allows people on systems that don't have all the fetchers to still
run Spack tests. Mark tests that require git, subversion, or mercurial to
be skipped if they're not installed.
2017-05-01 11:53:16 -07:00
Massimiliano Culpo
aa9da358b5 url_parse: ported to pytest (#3430) 2017-05-01 08:57:49 -07:00
Massimiliano Culpo
f60134cdb1 namespace_trie: ported to pytest (#4060) 2017-05-01 08:53:50 -07:00
Adam J. Stewart
2511520b32 Add a WafPackage base class (#3975)
* Add a WafPackage base class

* Correct comment in docstring

* Be more specific about the Python versions supported
2017-05-01 08:00:09 -07:00
Massimiliano Culpo
b3ce04cba3 url_substitution: ported to pytest (#4032) 2017-05-01 01:41:48 -07:00
Christoph Junghans
9f46bc8997 flecsale: works with python3 (#4058)
Ref laristra/flecsale#41
2017-04-30 19:25:16 -07:00
Denis Davydov
c7a5b2eaa9 disable rpaths on Darwin when arg=-r mode=ccld (#3930)
This fixes build of Ipopt package.
2017-04-30 19:16:28 -07:00
Sergey Kosukhin
4421013290 Updated cc wrapper: switch from ld to vcheck if version is requested. (#2501) 2017-04-30 19:08:49 -07:00
Adam J. Stewart
1f303c9ac8 Don't add system paths to PATH (#3910)
* Filter all system paths introduced by dependencies from PATH
* Make sure path filtering works *even* for trailing slashes
* Revert some of the changes to `filter_system_paths`
* Yes, `bin64` is a real thing (sigh)
* add tests: /usr, /usr/, /usr/local/../bin, etc.
* Convert from rST to Google-style docstrings
2017-04-30 18:43:44 -07:00
Massimiliano Culpo
8551ef3874 spack_yaml: ported to pytest (#4033) 2017-04-30 17:27:40 -07:00
Massimiliano Culpo
6a01612ad4 file_list: ported to pytest (#4054) 2017-04-30 10:09:04 -07:00
Massimiliano Culpo
17767bcf25 suite-sparse: updated version (#4055) 2017-04-30 12:01:35 +02:00
Christoph Junghans
110f68a83f Clean up now that submodules are properly supported. (#4053) 2017-04-29 20:43:16 -07:00
Christoph Junghans
0a9beccc4a flecsale: add more features (#4052) 2017-04-29 20:39:22 -05:00
Christoph Junghans
ea2f6b89e9 fetch: do full clone of git submodules (fix #3956) (#3958)
The required hash of a submodule might point to the
non-HEAD commit of the current main branch and hence
would lead to a "no such remote ref" at checkout in
a shallow submodule.
2017-04-29 17:58:52 -07:00
Adam J. Stewart
ce3ab503de Python command, libraries, and headers (#3367)
## Motivation

Python installations are both important and unfortunately inconsistent. Depending on the Python version, OS, and the strength of the Earth's magnetic field when it was installed, the name of the Python executable, directory containing its libraries, library names, and the directory containing its headers can vary drastically. 

I originally got into this mess with #3274, where I discovered that Boost could not be built with Python 3 because the executable is called `python3` and we were telling it to use `python`. I got deeper into this mess when I started hacking on #3140, where I discovered just how difficult it is to find the location and name of the Python libraries and headers.

Currently, half of the packages that depend on Python and need to know this information jump through hoops to determine the correct information. The other half are hard-coded to use `python`, `spec['python'].prefix.lib`, and `spec['python'].prefix.include`. Obviously, none of these packages would work for Python 3, and there's no reason to duplicate the effort. The Python package itself should contain all of the information necessary to use it properly. This is in line with the recent work by @alalazo and @davydden with respect to `spec['blas'].libs` and friends.

## Prefix

For most packages in Spack, we assume that the installation directory is `spec['python'].prefix`. This generally works for anything installed with Spack, but gets complicated when we include external packages. Python is a commonly used external package (it needs to be installed just to run Spack). If it was installed with Homebrew, `which python` would return `/usr/local/bin/python`, and most users would erroneously assume that `/usr/local` is the installation directory. If you peruse through #2173, you'll immediately see why this is not the case. Homebrew actually installs Python in `/usr/local/Cellar/python/2.7.12_2` and symlinks the executable to `/usr/local/bin/python`. `PYTHONHOME` (and presumably most things that need to know where Python is installed) needs to be set to the actual installation directory, not `/usr/local`.

Normally I would say, "sounds like user error, make sure to use the real installation directory in your `packages.yaml`". But I think we can make a special case for Python. That's what we decided in #2173 anyway. If we change our minds, I would be more than happy to simplify things.

To solve this problem, I created a `spec['python'].home` attribute that works the same way as `spec['python'].prefix` but queries Python to figure out where it was actually installed. @tgamblin Is there any way to overwrite `spec['python'].prefix`? I think it's currently immutable.

## Command

In general, Python 2 comes with both `python` and `python2` commands, while Python 3 only comes with a `python3` command. But this is up to the OS developers. For example, `/usr/bin/python` on Gentoo is actually Python 3. Worse yet, if someone is using an externally installed Python, all 3 commands may exist in the same directory! Here's what I'm thinking:

If the spec is for Python 3, try searching for the `python3` command.
If the spec is for Python 2, try searching for the `python2` command.
If neither are found, try searching for the `python` command.

## Libraries

Spack installs Python libraries in `spec['python'].prefix.lib`. Except on openSUSE 13, where it installs to `spec['python'].prefix.lib64` (see #2295 and #2253). On my CentOS 6 machine, the Python libraries are installed in `/usr/lib64`. Both need to work.

The libraries themselves change name depending on OS and Python version. For Python 2.7 on macOS, I'm seeing:
```
lib/libpython2.7.dylib
```
For Python 3.6 on CentOS 6, I'm seeing:
```
lib/libpython3.so
lib/libpython3.6m.so.1.0
lib/libpython3.6m.so -> lib/libpython3.6m.so.1.0
```
Notice the `m` after the version number. Yeah, that's a thing.

## Headers

In Python 2.7, I'm seeing:
```
include/python2.7/pyconfig.h
```
In Python 3.6, I'm seeing:
```
include/python3.6m/pyconfig.h
```
It looks like all Python 3 installations have this `m`. Tested with Python 3.2 and 3.6 on macOS and CentOS 6

Spack has really nice support for libraries (`find_libraries` and `LibraryList`), but nothing for headers. Fixed.
2017-04-29 17:24:13 -07:00
Adam J. Stewart
a32a0eacba Add a new package for dash (#4050) 2017-04-29 12:24:50 -07:00
Adam J. Stewart
90a57cdf8f Add latest version of PGI compilers (#4047)
* Add latest version of PGI compilers

* Add environment variables for PGI
2017-04-29 13:55:00 -05:00
Massimiliano Culpo
89ea5bdd61 A few updates to packages (mostly version updates) (#4049) 2017-04-29 07:44:55 -05:00
George Hartzell
2cfc5eebb5 Bug/make dia build (#4045)
* Make dia build w/ Spack's X bits (and misc)

X related

- need to depend on the +X variant of gtkplus
- need to depend on freetype

misc

- fix path to tarball

* Make freetype a "build" dependency

* Freetype is not just a build dep
2017-04-28 15:30:09 -05:00
Mark Olesen
6814842814 Allow compilation of mgridgen (serial) as well as parmgridgen (parallel) (#3906) 2017-04-28 15:02:05 -05:00
sknigh
15692c5475 ncurses package builds ncurses and ncursesw (#3953)
* ncurses package will build ncurses and ncursesw

* Added libs property to ncurses, added fix for hstr

* flake8 is a harsh mistress

* make libs() more robust

* atop depends on ncurses

* fish depends on ncurses

* libtermkey and nano depend on ncurses

* Adjust url spacing
2017-04-28 14:57:55 -05:00
Adam J. Stewart
4bfba146d5 Add tests to MakefilePackage (#4039) 2017-04-28 14:55:28 -05:00
Brian Van Essen
7f9acfa3b2 Various patches to Openblas for Intel (#4030)
* Added a patch to the openblas package to change the openmp flag for
icc to qopenmp.

* Fixed a linking problem where when using Intel compilers, it was still
pulling in -lgfortran
2017-04-28 14:54:59 -05:00
George Hartzell
529a2ae5fa Depend on readline, remove hardcoded -ltermcap (#4042)
* depend on readline, remove hardcoded -ltermcap

Bowtie should use Spack's readline and not explicitly depend on the
system termcap (which, on CentOS, leads to linking against the
system's tinfo library).

* Add depends_on('zlib')

* Add conflict with gcc@6:

Build seems to have trouble with 6's migration to -std=gnu++14.
2017-04-28 14:47:43 -05:00
Adam J. Stewart
3f6e03d5c1 Add a new package for Cbench (#4043) 2017-04-28 13:44:30 -05:00
Adam J. Stewart
2b6206a504 Add a new package for dos2unix (#4037) 2017-04-28 13:13:42 -05:00
Denis Davydov
a1059b5a6c dealii: fix missing -march=native in flags (#4036) 2017-04-28 12:43:06 -05:00
Adam J. Stewart
d970ef5404 Add a list_url for libpng (#4038) 2017-04-28 10:53:14 -05:00
Massimiliano Culpo
e78e87fd4b python: added version 3.6.1 (#4035) 2017-04-28 09:55:02 -05:00
Massimiliano Culpo
59ac047996 No compiler found: fixed error message (#4034)
When a compiler was not found a stacktrace was displayed to user because
there were three arguments to be substituted in a string with only two
substitutions to be done.
2017-04-28 08:37:47 -05:00
Christoph Junghans
8d92e26712 New package: portage (#4029) 2017-04-28 07:25:29 +02:00
Adam J. Stewart
091a689cb0 Add new package for PVM (#4028) 2017-04-28 07:24:23 +02:00
scheibelp
9a67e95686 Reindex checks install for non-external packages (#4027)
Fixes #4026

#1167 updated Database.reindex to keep old installation records to
support external packages. However, when a user manually removes a
prefix and reindexes this kept the records so the packages were
still installed according to "spack find" etc. This adds a check
for non-external packages to ensure they are properly installed
according to the directory layout.
2017-04-27 15:23:09 -07:00
Christoph Junghans
e8a814463c New package: flecsale (#4025) 2017-04-27 16:52:26 -05:00
Jeffrey Salmond
510d725b64 add relion package (#4020)
* add relion package

* fix flake8

* add licence
2017-04-27 16:52:05 -05:00
Kelly (KT) Thompson
109a3ed8e9 Dia requires libxml2. (#3976)
* Dia requires libxml2.

* Clean up dependencies for Dia (and add X11 deps).

+ Remove dependencies on cairo and libpng.  The will be satisfied via gtkplus.
+ Add dependencies on X11 libraries: libsm, libuuid, libxinerama, libxrender.
+ From a dependency diagram, it doesn't appear that we need libxml2 since this
  dependency should be come in through cairo (via gtkplus).  However, Dia will
  not build without it.
2017-04-27 14:04:45 -07:00
Adam J. Stewart
0488654f67 Prevent spack test flake8 from making changes (#4023) 2017-04-27 15:18:38 -05:00
Christoph Junghans
6f62a4fe36 flecsi: add mpi interoperability (#4000) 2017-04-27 15:10:30 -05:00
Adam J. Stewart
5d6a488c69 Add latest versions of root (#4022) 2017-04-27 14:13:39 -05:00
Todd Gamblin
bb5a433a46 Separate integration tests; simplify test scripts (#4006)
* Separate build integration tests; simplify test scripts

- Move build tests out of the regular Travis unit tests, add more smoke
  test packages to build.

- Run all test scripts with bash -e, which fails on error.

- Factor coverage out into a Travis environment variable, so it's more
  obvious from .travis.yml which tests contribute to coverage and which
  don't.

- Factor dependency checking and much of the front-matter in tests
  scripts into a setup.sh script, which is sourced by all the test
  scripts.  Extra cruft in each tests script now reduced to 2 lines at
  the beginning.
2017-04-27 11:47:56 -07:00
Adam J. Stewart
a0ebce0cb3 Remove 'release' suffix from package name (#4014) 2017-04-27 10:11:59 -07:00
Adam J. Stewart
d83ae6dcff Don't print successfully uninstalled twice (#4019) 2017-04-27 10:11:35 -07:00
Todd Gamblin
2d9dac9af0 Fix Python3 issue with sbang checking; add tests. (#4017) 2017-04-27 09:21:35 -07:00
George Hartzell
58567a2182 Adjustments to get gtkplus to build (#3208)
* Hackery to get gtkplus to build

PR #3077 broke gtkplus by introducing gobject-introspection.

This big hack makes things work.  It has problems.

1. Rather than deal with the nasty sbang fooey in the
   g-ir-tool-template.in derived scripts, it just adds a python
   dependency to each package that runs one of the scripts.  This lets
   the `/usr/bin/env python` sbang do the right thing.

2. It stuffs a several directories on to the XDG_DATA_DIRS environment
   variable, which is used for (among other things) locating the .gir
   files.

3. It avoids building the gtkplus demos because I can't make the bit
   that calls `gdk-pixbuf-csource` work.  It doesn't think that it can
   load `.png` files and all of the google hits I found suggest a bad
   `loader.cache` file.  The file's fine and I can strace the command
   and watch it read it in...  Many, many hours wasted here.

   In spite of the demo failing, the tests pass and an emacs built
   with this lib seems to work.

* Fix sbang so everyone needn't depend_on python

Rather than have every package that
`depends_on('gobject-introspection')` also need to
`depend_on('python')`, this commit fixes the
scripts (e.g. `g-ir-scanner`).

The interesting bit is in the gobject-introspection package.  There is
a beefy comment there that is included below.

The commit also removes the now un-necessary dependencies from various
packages.

I have two reservations about this commit:

1. How portable is the "insertion" sed command?  I'm particularly
   worried that some sed's might need the line to insert to be on a
   different line, which I can't imagine how to cram into the
   Makefile.in.

   The solution I see to this is rather than extending the existing
   sed command in the Makefile I could shim in another line in the
   rule and e.g. call a bit of Perl (or Python, I suppose) which would
   end up being much neater.

2. As written it always uses Spack's `.../bin/sbang`, which might or
   might not be a good idea.

   If I use "the solution" from number 1 above, then I can check the
   line length before I munge it.  Otherwise???

---

 This package creates several scripts from                                                                                                |
 toosl/g-ir-tool-template.in.  In their original form these                                                                               |
 scripts end up with a sbang line like                                                                                                    |
                                                                                                                                          |
 `#!/usr/bin/env /path/to/spack/python`.                                                                                                  |
                                                                                                                                          |
 These scripts are generated and then used as part of the build                                                                           |
 (other packages also use the scripts after they've been                                                                                  |
 installed).                                                                                                                              |
                                                                                                                                          |
 The path to the spack python can become too long.  Because these                                                                         |
 tools are used as part of the build, the normal hook that fixes                                                                          |
 this problem can't help us.                                                                                                              |
 This package fixes the problem in two steps:                                                                                             |
 - it rewrites the g-ir-tool-template so that its sbang line                                                                              |
   refers directly to spack's python (filter_file step below); and                                                                        |
 - it patches the Makefile.in so that the generated Makefile has an                                                                       |
   extra sed expression in its TOOL_SUBSTITUTION that results in                                                                          |
   an `#!/bin/bash /path/to/spack/bin/sbang` unconditionally being                                                                        |
   inserted into the scripts as they're generated.                                                                                        |

* Cairo needs python when it's +X

Cairo needs to depend_on python when it's +X.  I think it's an
indirect requirement that's coming in via libxcb).

* Flake8 cleanup

* Make cairo's dep on python be type=build

This seems to be the right thing and seems to produce a result
that works (I can build gtk+ and then emacs+X on top of it).
2017-04-27 11:04:26 -05:00
Milton Woods
41e3e7dbff ghostscript: add version 9.21 and handle new URL format (#3898)
* ghostscript: add version 9.21 and handle new URL format

* ghostscript: add url of latest version to fix `spack versions`

* ghostscript: use github for all versions our package provides (>= 9.18)
2017-04-27 10:42:56 -05:00
Todd Gamblin
455cae01c2 Convert rest docstrings to Google docstrings. (#3994)
- Sometimes you need something mindless to do.
- Sometimes it can be helpful, as well.
2017-04-27 07:45:34 -07:00
Massimiliano Culpo
a6986312ba pattern: ported to pytest (#4015) 2017-04-27 07:45:04 -07:00
Adam J. Stewart
91b32f67cc Fix alignment of versions and urls in spack checksum (#4003) 2017-04-26 15:55:35 -07:00
Massimiliano Culpo
0403a08509 link_tree: ported to pytest (#4008) 2017-04-26 15:36:35 -07:00
Adam J. Stewart
5422ac1558 Add latest version of libx11 (#4011) 2017-04-26 17:35:29 -05:00
Adam J. Stewart
2553afac25 Add latest version of libxpm (#4012) 2017-04-26 17:34:47 -05:00
Adam J. Stewart
369d370d0c Add latest version of libxrender (#4013) 2017-04-26 17:34:27 -05:00
Adam J. Stewart
463d91cd9f Add latest version of xproto (#4010) 2017-04-26 16:35:07 -05:00
Adam J. Stewart
581635c5ab Add latest version of libpthread-stubs (#4009) 2017-04-26 16:27:46 -05:00
Adam J. Stewart
2c1e5f9ee1 Add latest version of fontconfig (#4007) 2017-04-26 15:49:48 -05:00
Adam J. Stewart
348e715da7 Add missing readline dependency to sqlite (#4001)
* Add missing readline dependency to sqlite

* Fix typo
2017-04-26 14:59:03 -05:00
Gregory Lee
378935916a matplotlib and basemap require setuptools to run properly together (#3835)
* matplotlib and basemap require setuptools to run properly together

* flake 8 fix
2017-04-26 13:53:27 -05:00
Barry Smith
1e18ace647 Update checksum for dummy xsdk package (#4002)
Commit-type: bug-fix
Funded-by: IDEAS
Project: xSDK
Reported-by: "Klinvex, Alicia Marie" <amklinv@sandia.gov>
2017-04-26 13:39:09 -05:00
Todd Gamblin
b3ba9bdb37 Add __format__ support to version for fancy formatting. (#3996)
- add Version.__format__ to support new-style formatting.
- Python3 doesn't handle this well -- it delegates to
  object.__format__(), which raises an error for fancy format strings.
- not sure why it doesn't call str(self).__format__ instead, but that's
  hwo things are.
2017-04-26 11:06:34 -07:00
Adam J. Stewart
c616e4a619 Add list_url for bzip2 (#3988) 2017-04-26 10:49:27 -05:00
Jeffrey Salmond
e3378a0d3b add kokkos package (#3997)
* add kokkos package

* fix flake8

* add descriptions to kokkos variants
2017-04-26 09:33:00 -05:00
Christoph Junghans
97af407ae4 gasnet: build with fPIC for shared lib consumers (#3962) 2017-04-26 09:31:23 -05:00
jadoro
eba21b86bd Add ncurses as zsh dependency (#3991)
zsh build will fail with 
configure: error: "No terminal handling library was found on your system."
if ncurses is not found.
2017-04-26 07:53:58 -05:00
Milton Woods
e6efb1aa21 perl: identify dependency on gdbm (#3896)
* perl: provide +gdbm variant for use when system dbm is missing or buggy

* perl: remove gdbm variant; always depends on gdbm

* perl: pass gdbm paths as Configure arguments
2017-04-26 07:42:43 -05:00
futuretristan
3b32e008ec ipopt: fix build with Linux clang (#3995) 2017-04-26 01:42:48 -07:00
Adam J. Stewart
eaa50d3b7c Add API Docs for lib/spack/llnl (#3982)
* Add API Docs for lib/spack/llnl
* Clean up after previous builds
* Better fix for purging API docs
2017-04-25 22:24:02 -07:00
Adam J. Stewart
11dae722c2 Fix bug with '# noqa' filtering (#3993) 2017-04-25 22:23:01 -07:00
George Hartzell
33c9a91d85 Make perl and python variants (#3992)
The blast+ configure script supports building
--with-{python,perl}=path and --without-{python,perl}.

This commit makes the use of those two languages configurable via
variants and adds dependencies and explicit --with-... or
--without-... flags to configure.

Python was a non-optional dependency, now it is a variant that
defaults to `True`.

Perl was not previously an explicit dependency but the configure
script was likely to discover one on your system (`/usr/bin/perl`).
It is now a variant that defaults to `True`.

I am unable to accurately determine what these flags to the configure
script enable.  My users are frustrated by the dependency on Python in
particular because it constrains the other modules that they can have
loaded for new discernible benefit.
2017-04-26 06:04:20 +02:00
Barry Smith
d04ae9a2b4 xsdk version 0.2.0 (#3928)
* xSDK: a bundle/meta package that simple installs a series of packages with suitable specs

This is based on struggles with previous attempts at such a bundler
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 12 hours

* PETSc needs c++11 when built with Trilinos

* Added alquimia package

* remove direct setting of cpp in petsc/package.py since it doesn't work on some systems.

Funded-by: IDEAS
Project: IDEAS/xSDK
Time: .3 hours
Reported-by: Mark A. Berrill <berrillma@ornl.gov>

* provide the MPI compilers to PETSc configure with --with-cc etc instead of --with-mpi-dir

Funded-by: IDEAS
Project: IDEAS/xSDK

* Spack bug fix issue #3144

String could contain /n which resulting in spack generating warning message to stderr on each
use of compiler which configure interpreted as failing compiler

Thanks-to: Mark A. Berrill <berrillma@ornl.gov>

* Fixed alquimia package

Alquimia expects PETSC_DIR and PETSC_ARCH to be defined, and
refuses to install if they are not.  Spack does not define PETSC_
ARCH, so Alquimia will not install.  This patch does two things
to fix the alquimia build:

1. A patch has been added to remove the dependency on PETSC_ARCH.

2. Alquimia currently depends on old versions of PETSc and pflotran.
   @ghammond86 updated the alquimia interfaces to use more recent
   versions, but his patch is still sitting in an alquimia pull
   request.  As a result, the spack installer now uses his fork
   of alquimia.  This is a temporary fix until his pull request is
   accepted.

* Need to pass to Alquimia the MPI compilers, not the raw compilers

Otherwise the PETSc tests do not produce executables that can run because they are not
linked against MPI libraries

Funded-by: IDEAS
Project:  IDEAS/xSDK
Time: .5 hours

* Add alquimia to xSDK build

Funded-by: IDEAS
Project: IDEAS/xSDK

* Fix flake8 errors for xsdk packages

* Add xsdk support for xsdk version xsdk-0.2.0

Note that currently it is just dummy code, but will eventually use
a xsdk-0.2.0 tag for each package it installs.

Funded-by: IDEAS
Project:  IDEAS/xSDK
Time: .7 hours

* Do not build Mumps by default for PETSc since it is not portable, for example to Cray

Allow alquimia to accept PETSc even if the PETSc test executable cannot run since this is a problem on Cray.

Reported-by: Alicia Marie Klinvex <amklinv@sandia.gov>

* Add xsdk-0.2.0-rc1 tag for xsdk-0.2.0 installs

* Switch alquimia download site back to standard location

since they have incorporated Glenn Hammond's fixes
Also it no longer needs the patch to the Alquimia cmake

Funded-by: IDEAS
Project: IDEAS/xSDK
Reported-by: Sergi Molins Rafa <smolins@lbl.gov>

* update hypre to use the latest release candidate for xsdk 0.2.0

Funded-by: IDEAS
Project: IDEAS/xSDK
Reported-by: Ulrike Meier Yang <yang11@llnl.gov>

* Re-added patch to alquimia

The patch was out of date and has been updated accordingly.

* Added Tpetra-free option to Trilinos

The Tpetra stack takes forever to build and is not used by any of the
IDEAS teams, so there should be an option to disable it.  I have added
this option and updated the xSDK accordingly.  I also disabled
xSDKTrilinos in the xSDK, since none of the apps teams currently use it,
and it's largely Tpetra-based.

* Removed alquimia patch from develop version

The patch has been incorporated into alquimia and is no longer
necessary for the develop version.  The tagged version has not
been updated accordingly and still needs the patch for now.
(When the tagged version gets updated, the patch does need to be
removed from spack altogether, or it will break the build.)

* Removed patch from alquimia

It has been incorporated into alquimia, both the develop and
rc2 tagged versions.  The 0.2.0 version of alquimia has been updated
to tag rc2 rather than rc1.

* update xsdk-0.2.0 to depend on PETSc xsdk-0.2.0-rc2 which fixes for Apple xcode 8.3

Commit-type: bug-fix
Funded-by: IDEAS
Project: IDEAS/xSDK

* import sys got lost in merge with develop

* Update xsdk packages to use xsdk-0.2.0 tag

Commit-type: feature
Funded-by: IDEAS
Project: ECP

* Fixes for Flake8

note, had to ignore some long lines due to a single string

* simple improvements to XDK packages as suggested by Spack pull request reviewers

Commit-type: style-fix
Funded-by: IDEAS
Project: xSDK

* Removed unneeded : after develop as requested by Denis Davydov in pull request review

Commit-type: style-fix
Funded-by: IDEAS
Project: xSDK
Thanks-to: Denis Davydov

* Removed change that may not be needed due to updates in PETSc spack file such as using mpicc etc directly

Commit-type: bug-fix
Funded-by: IDEAS
Project: xSDK
Thanks-to: Adam J. Stewart

* Do not turn on xSDKTrilinos for xSDK builds since it requires tpetra

Commit-type: bug-fix
Funded-by: IDEAS
Project: xSDK

* comment why MUMPS is disabled by default for PETSc so that others won't try to enable it when modifying petsc package next time

Commit-type: documentation
Funded-by: IDEAS
Project: xSDK
Thanks-to: Denis Davydov
2017-04-25 16:09:30 -07:00
Adam J. Stewart
4a7a4f5cd3 Add latest version of freetype (#3989) 2017-04-25 16:56:42 -05:00
Adam J. Stewart
af4893f854 Add latest version of libpng (#3987) 2017-04-25 16:12:40 -05:00
Adam J. Stewart
1617b88759 Mark 1.64.0 unstable until +mpi+python fixed. (#3984) 2017-04-25 15:45:52 -05:00
Adam J. Stewart
95a0e6a5fd Add list_url for fftw (#3985) 2017-04-25 15:45:25 -05:00
Christoph Junghans
ef09049f24 New package: pax-utils (#3980) 2017-04-25 15:06:07 -05:00
Todd Gamblin
3e508884fa spack flake8 should exempt line-wrapped directives (#3990)
- Omit final paren from regular expressions in cmd/flake8.py
- Allows long directives to be exempted even if they are wrapped.
2017-04-25 12:58:24 -07:00
Massimiliano Culpo
fc9896ed45 hooks take spec as an argument (instead of pkg) (#3967) 2017-04-25 12:54:53 -07:00
Adam J. Stewart
58f2a947db Properly ignore flake8 F811 redefinition errors (#3932)
* Properly ignore flake8 F811 redefinition errors
* Add unit tests for flake8 command
* Allow spack flake8 to work on systems with older git
* Skip flake8 unit tests for Python 2.6 and 3.3
2017-04-25 11:01:25 -07:00
Adam J. Stewart
827ebe280d Add latest version of NCO (#3978) 2017-04-25 12:10:55 -05:00
Adam J. Stewart
18dd9c0860 Add patch to gettext to fix parallel make check (#3981) 2017-04-25 12:10:35 -05:00
Christoph Junghans
54bfa888b9 legion: add mpi interoperability and shared libs (#3959)
* legion: add mpi inoperability

* legion: make +mpi the default

* legion: add shared variant
2017-04-25 12:06:05 -05:00
健美猫
dd5f4cb251 A new package: CNTK. (#3578) 2017-04-25 06:40:23 -05:00
serbanmaerean
eef7d17946 Add global arrays package (#3970)
* Added magma package

* Incorporated Serban's change

* globalarrays: add global arrays package to Spack.

* globalarray: remove extreaneous comment from package file
2017-04-24 16:04:40 -07:00
Todd Gamblin
99a8297add Rename tutorial_sc16.rst to tutorial.rst (#3974)
- make the name more generic for posterity.
2017-04-24 15:25:41 -07:00
Brian Van Essen
00fdbe81bc Caffe (#3948)
* Added a package for the MDAnalysis toolkit.

* Added the hash for the 1.0 release of caffe and put in a conflict
statemet indicating that protobuf requires a c++11 compiler.

* Changed minimum version number.

* Tweaked the minimum version number.

* Fixed flake8 error.
2017-04-24 13:32:27 -05:00
Adam J. Stewart
c144c88302 Use six.moves.input instead of raw_input (#3961)
* Use six.moves.input instead of raw_input

* Remove comment mentioning raw_input
2017-04-23 10:32:08 -05:00
Gregory Lee
67bf71630b Do not require license for new Intel libraries (#3931)
* new Intel libs do not require license to install

* updated Intel library package URLs

* disable license_required for new Intel libraries
2017-04-23 08:58:47 -05:00
Milton Woods
b2155a5682 Update ECWMF packages: grib-api, libemos and magics (#3901)
* grib-api: add version 1.21.0

* libemos: add version 4.4.7 and allow choice of eccodes or grib-api

* magics: add version 2.32.0

* libemos: add description for eccodes variant
2017-04-23 07:56:47 -05:00
Milton Woods
980ffcdcec eccodes: new package for encoding and decoding meteorological data (#3900)
* eccodes: new package for encoding and decoding meteorological data

* eccodes: remove line breaks from package docstring

* eccodes: simplify names of variants

* eccodes: give a description for each variant

* eccodes: use succinct code for cmake_args

* eccodes: found extra dependency for python variant

* eccodes: add URL for a list of available releases
2017-04-23 07:55:51 -05:00
Massimiliano Culpo
3b52d0a883 External packages are now registered in the DB (#1167)
* treats correctly a change from `explicit=False` to `explicit=True` in an external package DB entry.
* added unit tests
* fixed issues raised by @tgamblin . In particular the PR is no more hash-changing for packages that are not external.
* added a test to check correctness of a spec/yaml round-trip for things that involve an external
* Don't find external module path at each step of concretization
    * it's not necessary.. The paths are retrieved at the end of concretizaion
* Don't find replacements for external packages.
* Test root of the DAG if external
    * No reason not to test if the root of the DAG is external when external
packages are now first class citizens!
* Create `external` property for Spec (for external_path and external_module)
* Allow users to specify external package paths relative to spack
    * Canonicalize external package paths so that users may specify their
locations relative to spack's directory.
* Update tests to use new external_path and external properly.
* skip license hooks on external
2017-04-22 18:06:27 -07:00
Adam J. Stewart
4e17ae911b Hack to fix python dependency ranges (#3938)
* Hack to fix python dependency ranges

* Flake8
2017-04-22 17:31:50 -05:00
Adam J. Stewart
fc8106afe3 Find more versions from GitHub (#3952) 2017-04-22 17:31:22 -05:00
George Hartzell
281ba99460 Add version info for emacs@25.2 (#3957) 2017-04-22 16:01:17 -05:00
Denis Davydov
94a0cca080 add Intel mpi package and add MPI wrappers to Intel parallel studio (#3905)
* intel-mpi: add new package

* fix hashes

* fix typo

* flake8

* add install

* blank line

* error

* add bin64

* fix MPI wrappers in intel-parallel-studio

* add missing I_MPI_FC

* use shorter hashes
2017-04-22 07:30:51 -05:00
Matthew Krafczyk
16a7b27a9e more fixes for use of setuptools in python packages
- py-setuptools is required by py-yt for importing yt in jupyter notebooks.
- add two dependencies needed for python 2.7
- add the py-subprocess32 package
2017-04-21 23:35:02 -07:00
Paul Hopkins
8b92908ab4 Fix setuptools handling in Python packages.
- add setuptools dependencies to packages that need it.
- remove setuptools from packages that do not need it.
2017-04-21 23:35:02 -07:00
Todd Gamblin
9f0b94b4e1 PythonPackage builds flat installs instead of egg directories.
- Spack doesn't need eggs -- it manages its own directories

- Simplify install layout and reduce sys.path searches by installing all
  packages flat (eggs are deprecated for wheels, and this is also what
  wheels do).

- We now supply the --single-version-externally-managed argument to
  `setup.py install` for setuptools packages and setuptools.

- modify packages to only use setuptools args if setuptools is an
  immediate dependency

- Remove setuptools from packages that do not need it.

  - Some packages use setuptools *only* when certain args (likeb
    'develop' or 'bdist') are supplied to setup.py, and they specifically
    do not use setuptools for installation.

  - Spack never calls setup.py this way, so just removing the setuptools
    dependency works for these packages.
2017-04-21 23:35:02 -07:00
Christoph Junghans
0b002c2911 fetch git submodules recursively (#3779)
* fetch git submodules recursively

This is useful if the submodules have submodules themselves. On
the other hand doing a recursive update doesn't hurt if there
is only one level.

* fetch submodules with depth=1 as well (fix #2190)

* use git submodule with depth only for git>=1.8.4
2017-04-21 21:59:30 -07:00
Todd Gamblin
4572685710 Coverage for multiple Python versions. (#3951)
Update tests to use codecov for multiple python versions.
2017-04-21 17:41:30 -07:00
Todd Gamblin
ead58cbb90 spack uninstall no longer requires a known package. (#3915)
- Spack install would previously fail if it could not load a package for
  the thing being uninstalled.

- This reworks uninstall to handle cases where the package is no longer
  known, e.g.:
    a) the package has been renamed or is no longer in Spack
    b) the repository the package came from is no longer registered in
       repos.yaml
2017-04-21 16:52:44 -07:00
Adam J. Stewart
2a04fdca52 Convert LLVM to CMakePackage, update cmake dependency version (#3940)
* Convert LLVM to CMakePackage, update cmake dependency version

* Remove unused import
2017-04-21 18:38:07 -05:00
George Hartzell
a90e34f4ca Add info for nextflow@0.17.3 (#3947) 2017-04-21 18:28:13 -05:00
Todd Gamblin
c67f8e4aa1 Fix ABI detection issues with macOS gcc. (#3854)
- gcc on macOS says it's version 4.2.1, but it's really clang, and it's
  actually the *same* clang as the system clang.

- It also doesn't respond with a full path when called with
  --print-file-name=libstdc++.dylib, which is expected from gcc in abi.py.
  Instead, it gives a relative path and _gcc_compiler_compare doesn't
  understand what to do with it.  This results in errors like:

  ```
  lib/spack/spack/abi.py, line 71, in _gcc_get_libstdcxx_version
      libpath = os.readlink(output.strip())
  OSError: [Errno 2] No such file or directory: 'libstdc++.dylib'
  ```

- This commit does two things:

  1. Ignore any gcc that's actually clang in abi.py.  We can probably do
     better than this, but it's not clear there is a need to, since we
     should handle the compiler as clang, not gcc.

  2. Don't auto-detect any "gcc" that is actually clang anymore.  Ignore
     it and expect people to use clang (which is the default macOS
     compiler anyway).

Users can still add fake gccs to their compilers.yaml if they want, but
it's discouraged.
2017-04-21 15:45:12 -07:00
Todd Gamblin
63c3410370 Fix checksumming in Python3; add more fetch tests (#3941)
* Checksum code wasn't opening binary files as binary.

- Fixes Python 3 issue where files are opened as unicode text by default,
  and decoding fails for binary blobs.

* Simplify fetch test parametrization.

* - add tests for URL fetching and checksumming.
- fix coverage on interface functions in FetchStrategy superclass
- add some extra crypto tests.
2017-04-21 15:36:15 -07:00
Todd Gamblin
c0356182b6 Remove all test variants (#3923) 2017-04-21 15:18:56 -07:00
Denis Davydov
6017a6a6fe netcdf: fix missing CC = mpicc ; this makes it work with Intel MPI (#3942) 2017-04-21 14:43:27 -07:00
Jeffrey Salmond
a2135dff49 add cppcheck new version (#3935) 2017-04-21 12:54:27 -05:00
Adam J. Stewart
46d0ca9d01 Ensure that tests are optional (#3922) 2017-04-21 12:15:39 -05:00
Adam J. Stewart
5250e8ee89 Fix HPL build, convert to MakefilePackage (#3777)
* Fix HPL build, convert to MakefilePackage

* Flake8 fix

* Fix: spec -> self.spec

* Properly query for system libraries

* Update Intel-MKL as well

* Recurse in system libs, fix MKL path, fixes lapack_libs
2017-04-21 12:11:29 -05:00
Javier
41efada340 Adding new python package: py-python-gitlab (#3936) 2017-04-21 11:47:52 -05:00
Jimmy Tang
f86ed1e34d Fix for llvm 4.0.0 on centos (#3904)
* Fix for llvm 4.0.0 on centos

This addresses https://github.com/LLNL/spack/issues/3791

* Only enable this option if on linux

* Change condition to satisfy standard
2017-04-21 11:29:41 -05:00
Bruno Turcksin
a017c5e2ef Add boost 1.64.0 (#3934) 2017-04-21 10:06:31 -05:00
Brian Van Essen
011442fd37 Keras 2.0.3 (#3927)
* Added a package for the MDAnalysis toolkit.

* Added has for Keras version 2.0.3
2017-04-20 17:48:30 -05:00
Michael Kuhn
f520c0dd8d Add vampirtrace (#3911)
Since scorep does not support all use cases yet, vampirtrace is still
useful in some circumstances.
2017-04-20 15:01:06 -05:00
Adam J. Stewart
e2e6dea9b3 Gettext test suite fails when run in parallel (#3921) 2017-04-20 13:06:11 -05:00
Adam J. Stewart
f0a6ead19c Flake8 2017-04-20 12:48:02 -05:00
Adam J. Stewart
9ca0d1f5f0 Remove all test variants 2017-04-20 12:13:11 -05:00
Adam J. Stewart
21e4a81de0 Add Napoleon extension to support Google docstrings (#3920) 2017-04-20 08:32:21 -07:00
Todd Gamblin
beeca6bb54 Revert "Override partial installs by default" (#3918)
* Revert "Override partial installs by default (#3530)"

This reverts commit a65c37f15d.
2017-04-20 03:53:41 -07:00
Todd Gamblin
fa3e91bf2a Revert "Add lmod files to MODULEPATH" (#3917)
* Revert "Add lmod files to MODULEPATH (#3912)"

This reverts commit 186d1f4511.
2017-04-20 03:05:44 -07:00
Massimiliano Culpo
50d7b33563 test/python_version.py: ported to pytest (#3438) 2017-04-20 01:18:52 -07:00
scheibelp
a65c37f15d Override partial installs by default (#3530)
* Package install remove prior unfinished installs

Depending on how spack is terminated in the middle of building a
package it may leave a partially installed package in the install
prefix. Originally Spack treated the package as being installed if
the prefix was present, in which case the user would have to
manually remove the installation prefix before restarting an
install. This commit adds a more thorough check to ensure that a
package is actually installed. If the installation prefix is present
but Spack determines that the install did not complete, it removes
the installation prefix and starts a new install; if the user has
enabled --keep-prefix, then Spack reverts to its old behavior.

* Added test for partial install handling

* Added test for restoring DB

* Style fixes

* Restoring 2.6 compatibility

* Relocated repair logic to separate function

* If --keep-prefix is set, package installs will continue an install from an existing prefix if one is present

* check metadata consistency when continuing partial install

* Added --force option to make spack reinstall a package (and all dependencies) from scratch

* Updated bash completion; removed '-f' shorthand for '--force' for install command

* dont use multiple write modes for completion file
2017-04-19 21:59:18 -07:00
Adam J. Stewart
e12f2c1855 Set proper deptypes for certain build systems (#3866)
* Set proper deptypes for certain build systems

* Add depends_on to namespace
2017-04-19 21:33:14 -07:00
Adam J. Stewart
9bd6d21322 Add variant to mvapich2 to set size of rank bits (#3886) 2017-04-19 21:31:21 -07:00
Adam J. Stewart
186d1f4511 Add lmod files to MODULEPATH (#3912) 2017-04-19 21:30:08 -07:00
Adam J. Stewart
3c0c0f3457 binutils should link to Spack zlib installation (#3914) 2017-04-19 21:29:27 -07:00
Adam J. Stewart
f51af42bc6 Add latest version of HOOMD-blue (#3889) 2017-04-19 21:24:32 -07:00
Adam J. Stewart
f4858cb7a7 Rework Spack's Mercurial support (#3834)
* Add tests to mercurial package

* Add support for --insecure with mercurial fetching

* Install man pages and tab-completion scripts

* Add tests and latest version for all deps

* Flake8 fix

* Use certifi module to find CA certificate

* Flake8 fix

* Unset PYTHONPATH when running hg

* svn_fetch should use to svn-test, not hg-test

* Drop Python 3 support in Mercurial

Python 3 support is a work in progress and isn't currently
recommended:

https://www.mercurial-scm.org/wiki/SupportedPythonVersions

* Test both secure and insecure hg fetching

* Test both secure and insecure git and svn fetching
2017-04-19 18:59:04 -07:00
Jimmy Tang
53763f7698 Sox (#3908)
* Initial add of flac

* Initial add of id3lib

* Initial add of the opus codec

* Initial add of sox audio processing tools

* Cleanup spec files to be inline with current standard

* Fix pep8 compliance

* Remove un-needed configuration
2017-04-19 16:21:13 -05:00
George Hartzell
a3dff31b07 Add info for sqlite@3.18.0 (#3913) 2017-04-19 16:15:21 -05:00
Mark Olesen
22a966d010 add lines missed in rebase (adios +bzip2) (#3907) 2017-04-19 09:36:46 -05:00
Milton Woods
9b6b91b0b9 ncl: capture more dependencies (#3902)
* ncl: add depends_on statements for bison, flex and libiconv

* ncl: depends on flex for building and linking

* ncl: links with -ll, so requires flex with variant '+lex'

* ncl: depends on szip; external hdf5 may not provide it
2017-04-19 06:55:22 -05:00
Milton Woods
b00a12565c pango: depends on libxft when +X, disable libxft support when ~X (#3899) 2017-04-19 06:54:06 -05:00
George Hartzell
13fef18244 Ensure sbin is prepended to PATH in modulefiles (#3843) 2017-04-19 06:51:04 -05:00
Denis Davydov
eaefaaba5b espresso: add 6.1.0 (#3881)
* espresso: fix missing dependency on elpa, add 6.1.0

* override default libs of elpa to get shared always
2017-04-19 12:34:42 +02:00
Milton Woods
13911f1b46 gdbm: GNU dbm package for manipulating hashed databases (#3895) 2017-04-19 09:32:00 +02:00
George Hartzell
a0b19d50c5 Disable parallel builds for vim (#3893)
* Disable parallel builds

The install step creates a bunch of links to the vim binary, e.g.
`view`.  When run with -j greater than 1 there are silent failures.

Running w/out parallelism seems to fix it.

* Only constrain the install phase to be -j 1

Thanks @adamjstewart!
2017-04-18 20:46:09 -05:00
Javier
687f5e78ae Adding new python package: py-simplejson (#3883)
* Adding new python package: py-simplejson

* Adding setuptools dependency

* Fixing typo
2017-04-18 12:02:55 -05:00
Christoph Junghans
2a3fc6c404 charm: set sane default (#3865)
see https://github.com/LLNL/spack/pull/3852#pullrequestreview-32996651
for details
2017-04-18 12:02:41 -05:00
Denis Davydov
ce714b5641 ocotpus and arpack-ng: fix arpack bug and add libs to arpack-ng (#3875)
* ocotpus and arpack-ng: fix arpack bug and add libs to arpack-ng

also rename the variant to be consistent with other packages

* fix a bug

* flake8
2017-04-18 11:50:10 -05:00
George Hartzell
afbe81b455 Add version info for git-lfs v2.0.2 (#3885) 2017-04-18 11:48:53 -05:00
Kelly (KT) Thompson
fad4ce21cc Provide version 3.8.0 of CMake. (#3882) 2017-04-18 10:59:59 -05:00
Javier
7ed99a4c86 Adding new package: sas (#3877) 2017-04-18 07:07:07 -05:00
Denis Davydov
5558bec14e ape: constrain libxc version (#3876) 2017-04-18 07:03:48 -05:00
Mark Olesen
c65d0775cf ADIOS - add bzip2 transport, python patch not applicable to adios 1.9.0 (#3874) 2017-04-18 07:00:39 -05:00
sknigh
d17b5eb2b9 Added expat dependency to apr-util (#3871) 2017-04-18 06:57:49 -05:00
健美猫
4e95525280 Add patched openfst-1.4.1 and kaldi@c024e8 required by CNTK. (#3806) 2017-04-18 06:56:18 -05:00
Denis Davydov
fc938962fa octave: add 4.2.1 (#3872)
Also switch to arpack-ng, which is maintained and has bugfixes,
whereas the original arpack code is abandoned.
2017-04-18 06:55:11 -05:00
Denis Davydov
89f531c18a gmsh: add 3.0.1 (#3873) 2017-04-18 11:30:17 +02:00
Adam J. Stewart
6d7b386199 Add a py-fiscalyear package (#3864)
* Add a py-fiscalyear package

* Declare supported Python versions
2017-04-17 16:46:52 -05:00
Adam J. Stewart
ebf30d95cd Add latest numpy release (#3869) 2017-04-17 15:45:52 -05:00
Denis Davydov
0ed18de836 opneblas: fix compilation with clang (#3862)
* opneblas: fix compilation with clang

* indentation
2017-04-17 09:16:18 -05:00
Michael Kuhn
3331c042af Fix udunits2 (#3809) 2017-04-17 09:15:02 -05:00
Adam J. Stewart
cc747d6b6f Remove redundant cmake dependencies (#3860) 2017-04-16 12:23:26 -05:00
Christoph Junghans
675a67e2ca random123: put uniform.hpp in right subfolder (#3858) 2017-04-16 08:47:46 -05:00
Christoph Junghans
a3378ccd3d charm: add support for shared linking (#3859) 2017-04-16 08:47:00 -05:00
Christoph Junghans
fdc8f71a5c trilinos: allow to compile exodus (#3857) 2017-04-15 21:57:44 -05:00
Christoph Junghans
1d514f48bc random123: install uniform.hpp as well (#3856) 2017-04-15 21:57:19 -05:00
Adam J. Stewart
5aa273b319 Fix flake8 changed files detection (#3855) 2017-04-15 11:46:28 -05:00
Adam J. Stewart
bd1beedaf5 Allow users to set parallel jobs in config.yaml (#3812)
* Allow users to set parallel jobs in config.yaml

* Undo change from endash to emdash

* Remove parallel config, rename jobs to build_jobs
2017-04-15 08:31:00 -07:00
Erik Schnetter
62fb1ad990 hpx5: Add patch to select Spack compiler on Cray (#3798) 2017-04-14 22:38:22 -05:00
Christoph Junghans
caad110757 New package: flecsi (#3780)
* New package: flecsi

* make fetch independent of #3779
2017-04-14 17:56:36 -05:00
healther
bd6a90742c Add package gccxml (#3836)
* Add package gccxml

* Fix spec undefinedwq

* fix versions

* fix patch when statement

* fix flake8...
2017-04-14 17:54:19 -05:00
Christoph Junghans
7d655f77ee New package: boost-mpl-cartesian_product (#3841) 2017-04-14 17:53:35 -05:00
Christoph Junghans
9e693336ad New package: tut (#3844) 2017-04-14 17:52:57 -05:00
Ben Boeckel
6574ec3143 stage: remove a rogue period (#3846) 2017-04-14 17:51:54 -05:00
George Hartzell
2ed2469b11 Add a package for FLASh (bioinformatics) (#3848)
Add a package for FLASh.
2017-04-14 17:51:36 -05:00
Adam J. Stewart
acad217cba Add a py-pkgconfig package (#3815) 2017-04-14 13:14:45 -05:00
George Hartzell
a4311f242a vim wasn't linking against ncurses (#3838)
See #3829.  Vim's configure was searching for ncurses
instead of ncursesw.
2017-04-14 13:13:36 -05:00
Christoph Junghans
9626a042f8 New package: PEGTL (#3839) 2017-04-14 13:13:15 -05:00
Christoph Junghans
ef64734192 New package: pstreams (#3840) 2017-04-14 12:18:49 -05:00
Jean-Paul Pelteret
a0217747d0 Readline package: Add ncurses library directory to link line. (#3802)
Resolves a issue with finding the ncurses library on MacOS.
2017-04-14 12:17:45 -05:00
Christoph Junghans
9922c374aa New package: MAD's numdiff (#3811) 2017-04-14 11:18:32 -05:00
Adam J. Stewart
5ce0126c91 Prevent users from building Score-P on macOS (#3825)
* Prevent users from building Score-P on macOS

* Add link to original reporting issue
2017-04-14 08:38:34 -07:00
Adam J. Stewart
3f21b82815 Add variant to mvapich2 to control thread level (#3832) 2017-04-14 08:14:19 -07:00
Adam J. Stewart
331f42b991 Convert Image-Magick to AutotoolsPackage (#3828) 2017-04-14 08:13:47 -07:00
Adam J. Stewart
bec6d99b15 Add documentation on explicit param for do_install (#3823) 2017-04-14 08:13:14 -07:00
Mario Melara
0405505e21 Quick fix for #3153 (#3822) 2017-04-14 07:56:51 -07:00
Adam J. Stewart
91d82c44e6 Remove mawk dependency from ncurses (#3782) 2017-04-14 09:38:13 -05:00
健美猫
102dcbcbd4 Add cub-1.4.1 required by cntk. (#3819) 2017-04-14 08:29:18 -05:00
健美猫
e636bf05fc A new package: bowtie. (#3837) 2017-04-14 08:16:51 -05:00
Christoph Junghans
c08965701f New package: h5part (#3821) 2017-04-13 15:00:17 -05:00
Christoph Junghans
90f46186f9 New package: pugixml (#3830) 2017-04-13 14:59:32 -05:00
Michael Kuhn
afdc2f4182 Fix adios (#3814)
adios currently only supports zfp <= 0.5.0 due to an API change.
2017-04-12 16:58:18 -05:00
George Hartzell
5b65380f98 Add package for nginx@1.12.0 (#3810)
* Add package for nginx@1.12.0

Includes support for:
- zlib
- pcre (and pcre-jit)
- openssl (https support)

Built and basics tested on CentOS 7.  I haven't tested the `https`
support [yet].

* Include final bit of doc string sentence.

I trimmed the docstring that I lifed from https://nginx.org/en a bit
too aggressively and left a '...' to remind me to fix it.

Apparently I need more obvious reminders.

Thanks @davydden!
2017-04-12 15:27:46 -05:00
Adam J. Stewart
e12e9996e4 Document commands that no longer work (#3781) 2017-04-12 10:46:00 -05:00
Jean-Paul Pelteret
0af57ce345 Apply a patch to allow valgrind 3.12 to build on MacOS >= 10.11 (#3808) 2017-04-12 07:43:14 -05:00
Javier
7203a3c055 Update xrootd versions (#3807)
* Update xrootd versions

* Removing unnecessary url_for_version method
2017-04-12 06:50:31 -05:00
Nils Deppe
701965fb2a brigand: New Package (#3801) 2017-04-11 22:14:54 -05:00
Christoph Junghans
56ae607a39 New package: f90cache (#3804) 2017-04-11 20:13:41 -05:00
Nils Deppe
d7b5726fdc blaze: New Package (#3803) 2017-04-11 17:08:26 -05:00
Gregory Lee
9a4077c272 added stat version 3.0.1 (#3800) 2017-04-11 14:10:09 -05:00
Adam J. Stewart
ed86dc2db6 Help cscope find ncursesw library (#3785)
* Help cscope find ncursesw library

* Overwrite CURSES_LIBS at build time
2017-04-11 14:09:29 -05:00
Erik Schnetter
cea4352555 spherepack: New package (#3797) 2017-04-11 13:15:41 -05:00
Erik Schnetter
4d18f9f233 pocl: New version 0.14 (#3799) 2017-04-11 13:15:19 -05:00
Javier
e55c9a0eb8 Update ccache version to 3.3.4 (#3794)
* Update ccache version to 3.3.4

* Flake8 fix
2017-04-11 09:32:31 -05:00
George Hartzell
47aa8053e9 Install the shell completion scripts (#3784)
* Install the shell completion scripts

Install the `git-completion.{bash,tcsh,zsh}` and `git-prompt.sh` into
`$(spack location -i git)/share/` (aka `prefix.share/`).

* Use copy_tree to copy all the files

The dest dir already exists, so install_tree()'s not an option.
2017-04-11 07:39:03 -05:00
healther
74b1f2b860 Fixup gcc@4.9{0,1,2} build on darwin (#3789) 2017-04-11 07:37:44 -05:00
Brian Van Essen
808e9b4649 Added a package for the MDAnalysis toolkit. (#3576)
* Added a package for the MDAnalysis toolkit.

* Added the dependency on setuptools.

* Added the rest of the dependencies to the py-mdanalysis package.  Also
added the griddataformats and seaborn packages to satisfy requirements.

* Removed seaborn package since it has been recently added.

* Fixed flake8 error

* Removed inadvertent commits.

* Cleaned up reviewers feedback.
2017-04-10 21:02:32 -05:00
Adam J. Stewart
4627655704 Rename libson-c to json-c, add new version (#3776) 2017-04-10 15:09:59 -05:00
George Hartzell
4acc36d188 Fix build, add version info for 1.3.0 (#3773)
Update the package recipe w.r.t. AutotoolsPackage changes,
now builds "out of source".

Update the package with version info for 1.3.0.

> Mosh 1.3.0 released, with John Hood as release lead. The release includes broader platform compatibility, robustness improvements, better testing, and fixes for excess CPU consumption in some cases. We have switched to semver.org-style versioning and will increment the minor version number whenever we add new functionality. (In our previous practice, this release would probably have been called “1.2.7.”)

Tested on CentOS 7.
2017-04-10 11:12:49 -05:00
Denis Davydov
c9da92dc97 doc: start with known issues section (#3722) 2017-04-10 08:20:57 -05:00
healther
5008973d99 Fix namespaced python packages (#3757)
* Fix namespaced python packages

* Update package.py

* Update package.py

* fix typo
2017-04-10 08:12:57 -05:00
健美猫
77673f4c42 A new package: cudnn. (#3770) 2017-04-10 07:27:15 -05:00
Adam J. Stewart
8e4ada5e99 Make it more clear that version ranges are inclusive (#3759) 2017-04-10 07:25:48 -05:00
健美猫
87818abf21 A new pacakge: hstr(hh). (#3769) 2017-04-09 11:56:49 -05:00
Adam J. Stewart
bd9213a55f Append system PKG_CONFIG_PATH on Cray instead of prepend (#3766) 2017-04-08 20:50:16 -05:00
Michael Kuhn
b91bf0e067 Update libbson and libmongoc to 1.6.2 (#3767) 2017-04-08 06:40:55 -05:00
George Hartzell
bf9dcc4a10 Add info for go@1.8.1 (#3765) 2017-04-07 16:50:08 -05:00
Mark C. Miller
a2afe984c0 Adding ZFP version 0.5.1 and variant for uint8 bit stream word type (#3753)
* adding 0.5.1 and variant for uint8 bit stream word type

* Revisions as per davydden

* fixing style (flake8) issues

* - switched to derive from MakefilePackage
- fixed typo in variant check
- Confirmed installs correctly with bswtuint8 variant

* added build method; changed zfp_incdir to incdir
2017-04-07 15:00:32 -05:00
Massimiliano Culpo
28e20313ac lmod: added new version (#3763) 2017-04-07 14:32:32 -05:00
Todd Gamblin
d995f9a314 Disable OpenSSL test dependency until we have proper support. (#3760) 2017-04-07 14:14:02 -05:00
Adam J. Stewart
ed4f276b68 Add a package for the NAS Parallel Benchmarks (NPB) (#3762) 2017-04-07 14:10:29 -05:00
Matthew Scott Krafczyk
7c4ed0a70a Add the rockstar package (#3680)
* Add the rockstar package

* Add rockstar to yt.

* Correct signature of prep_yt.

* Correct rockstar package installation process

Needed to change the way the necessary prefixes are found as well as
how the completed package is copied.

There should probably be a way to do the copying in a more 'spack' way.

* Add license

* Add description.

* Set no hdf5 variant as default.

* Use copy_tree for copying files

* Use MakefilePackage

* Address concerns from @adamjstewart

* Fix flake8 errors.
2017-04-07 13:17:19 -05:00
Jean-Paul Pelteret
c6777ddf74 Update LLVM to version 4.0.0 (#3683)
* Update LLVM to version 4.0.0

* Add arguments to prevent lldb, polly building when using ~<variant>
2017-04-07 13:15:14 -05:00
健美猫
3ad6754c1a Add the 'shared' variant for protobuf. (#3703) 2017-04-07 13:11:22 -05:00
Mark Olesen
f166f57f09 remove mxml CFLAGS option that was breaking configure (fixes #3700) (#3706)
- provide urls for versions 2.7, 2.6, 2.5 (archive copies)
2017-04-07 13:06:09 -05:00
Milton Woods
04f20320f4 subversion: spec.satisfies('^swig') does not work; replace spec.satisfies by "in spec" (#3662) 2017-04-07 13:03:57 -05:00
Axel Huebl
a8bd69f01c Package: ISAAC (#3733)
Adds the [ISAAC](https://github.com/ComputationalRadiationPhysics/isaac)
in situ volume rendering library. The ISAAC library can be build with
render/filter kernels for Nvidia GPUs via CUDA or with a more general
backend via [Alpaka](https://github.com/ComputationalRadiationPhysics/alpaka)
with support for Nvidia GPUs (via CUDA) and multicore CPUs.

Since alpaka is not yet part of spack, the second variant is still
commented out.

Packages

- `isaac`: header-only library with dependencies to other C++ libraries
           that is then used in simulations
- `isaac-server`: stand-alone executable that connects N simulations with M
                  clients in a `N simulations:1 server` and
                  `1 server:M clients` fashion

(ISAAC clients simply speak websockets/JSON and are usually
[HTML/JS pages](https://github.com/ComputationalRadiationPhysics/isaac/tree/v1.2.0/client))

Downstream Usage

PIConGPU uses ISAAC for in situ visualization.

References

- [Repo](https://github.com/ComputationalRadiationPhysics/isaac) (LGPLv3+)
- [Documentation](http://computationalradiationphysics.github.io/isaac/)
- [Talk at GTC2016](http://on-demand.gputechconf.com/gtc/2016/video/S6294.html)
2017-04-07 11:04:45 -05:00
Axel Huebl
7b37620e25 mallocMC: Spack Package (#3745)
Adds a package for mallocMC, a memory allocator for many core
architectures.

This project provides a framework for fast memory managers on
many core accelerators. Currently, it supports NVIDIA GPUs of
compute capability sm_20 or higher through the ScatterAlloc
algorithm. mallocMC is header-only.

Downstream Dependencies

PIConGPU and other projects of HZDR's
*Computational Radiation Physics* group

References

- Markus Steinberger, Michael Kenzel, Bernhard Kainz and Dieter Schmalstieg.
  *ScatterAlloc: Massively parallel dynamic memory allocation for the GPU*,
  Innovative Parallel Computing (InPar), 2012,
  https://doi.org/10.1109/InPar.2012.6339604

- Carlchristian Eckert.
  *Enhancements of the massively parallel memory allocator ScatterAlloc and its adaption to the general interface mallocMC*,
  Junior Thesis (grosser Beleg), 2014,
  http://dx.doi.org/10.5281/zenodo.34461
2017-04-07 11:03:58 -05:00
Adam J. Stewart
54d0f9157d Tell libedit to link to -lncursesw (#3752) 2017-04-07 11:03:19 -05:00
Christoph Junghans
f1943589b5 gromacs: added 5.1.4 and 2016.3 (#3758) 2017-04-07 10:59:14 -05:00
Adam J. Stewart
16fb872f84 Fix ncurses support in bash package (#3735) 2017-04-07 08:43:13 -05:00
healther
1d21a11ff4 fix dependencies of py-pynn (#3756) 2017-04-07 06:46:46 -05:00
Massimiliano Culpo
10c395b2f5 Abinit: a few modernizations for the package and its dependencies (#3699)
* libxc: added libs interface

* hdf5: added libs interface, added conflicts

* abinit: modernized package to use build interface

* netcdf-fortran: added libs interface

* abinit: added version 8.2.2
2017-04-07 11:18:34 +02:00
Axel Huebl
030127a071 cuda_memtest: Package of CRP (#3747)
This adds a maintained version of the (since 2012)
stalled original project.

https://github.com/ComputationalRadiationPhysics/cuda_memtest

Nvidia's NVML (via the GPU deployment kit) could also be
added, providing serial number output of failing GPUs
for multi-GPU nodes.
2017-04-06 22:05:13 -05:00
Christoph Junghans
e3bfb79824 Add Votca packages (#3748)
* A new package: votca-tools

* A new package: votca-csg
2017-04-06 22:04:51 -05:00
Todd Gamblin
279d410758 Add package for OpenSSH (#3750) 2017-04-06 21:37:49 -05:00
Christoph Junghans
10ceed3b66 A new package: legion (#3738) 2017-04-06 17:55:09 -05:00
George Hartzell
3232c16d0c Update version info to include v1.5.5 (#3743)
* Update version info to include v1.5.5

* Clean up url specifications.
2017-04-06 17:54:36 -05:00
Adam J. Stewart
7c41d9c6db spglib requires setuptools during runtime (#3744) 2017-04-06 17:54:07 -05:00
Denis Davydov
5c0fe2829b deal.ii: add 8.5.0 (#3741) 2017-04-06 16:29:40 -05:00
George Hartzell
84208523f9 set_executable can set S_IX{GRP,OTH} (#3742)
`set_executable` now checks if a user/group.other had read permission
on a file and if it does then it sets the corresponding executable
bit.

See #1483.
2017-04-06 16:25:13 -05:00
Max Katz
a526bcaf11 Correct uninstall -d to uninstall -R in tutorial (#3740)
-d was changed to -R as of PR #1917
2017-04-06 15:44:43 -05:00
Axel Huebl
f31a38532f libSplash & PNGwriter: CMakePackage (#3739)
Use new CMakePackage base class
2017-04-06 21:33:19 +02:00
Michael Kuhn
95e401fe80 Fix wx (#3734)
It is missing a pkg-config dependency.
2017-04-06 13:54:57 -05:00
Axel Huebl
951f4bf514 PNGwriter: 0.6.0 (#3732)
Adds the latest release of PNGwriter.
2017-04-06 12:31:55 -05:00
Todd Gamblin
eb9cb2d4a1 Fix libdwarf/elfutils conflict 2017-04-06 09:42:46 -07:00
健美猫
85f937525d A new package: xqilla. (#3731) 2017-04-06 10:54:16 -05:00
Jimmy Tang
00fb0dd6c6 Openmpi cuda support (#3725)
* Update cuda to latest ga2 release

* Add CUDA support to openmpi

* Use spec's lib directories for cuda

* flake8 compliance
2017-04-06 16:12:54 +02:00
Michael Kuhn
b81a50b4e3 Add zip package (#3715) 2017-04-06 08:12:51 -05:00
Michael Kuhn
095f57409c Fix magics (#3721)
- magics requires perl and perl-xml-parser.
- xml2cc_new.pl uses /usr/bin/perl by default.
2017-04-06 08:11:32 -05:00
Todd Gamblin
715ac8b7e6 Update copyright on the docs. (#3718) 2017-04-05 18:34:17 -07:00
Adam J. Stewart
df150b3e92 spack create MakefilePackage (#3710)
* spack create MakefilePackage

* Change default Perl template to match other build systems
2017-04-05 18:00:42 -05:00
Josh Asplund
048b6fc454 Fixes patch paths for earlier boost versions (#3712)
* Fixes patch paths for earlier boost versions

The directory structure of boost changed at version 1.56.0, so the patch
being used for python support did not work on earlier versions. This
adds another patch that matches earlier versions.

* Removes commented out code
2017-04-05 16:26:22 -05:00
Adam J. Stewart
745e2ce52f Fixes needed to build htop (#3691)
* Fixes needed to build htop

* Build libncursesw.so, not libncurses.so

* Remove htop hack now that it is picking up newer ncurses

* Tell packages to link to new ncursesw libraries
2017-04-05 16:03:11 -05:00
Milton Woods
87eafaa125 subversion: provide checksums for versions 1.8.17 and 1.9.5 (#3663)
* subversion: provide checksums for versions 1.8.17 and 1.9.5

* subversion: release versions sorted from newest to oldest
2017-04-05 15:15:22 -05:00
Denis Davydov
bccc73c6c9 petsc trilinos: fix Scalapack via MKL (#3702)
* petsc trilinos: fix Scalapack via MKL

* indentation
2017-04-05 14:55:28 -05:00
Mark Olesen
aa63bc6f34 update versions for scalasca and related tools (#3697)
- clean up fetch urls

- inherit from AutotoolsPackage instead of Package

- explicit fPIC flags look suspicious, but leave them in there.

- in scalasca, use the cube version that is implicit from
  the scorep dependency instead of specifying it twice.
2017-04-05 14:54:40 -05:00
Michael Kuhn
a813764874 Fix libxpm (#3704)
It tries to use gettext but fails because it does not explicitly link
against libintl.
2017-04-05 14:50:42 -05:00
Michael Kuhn
9dcd6052cb Fix ncl (#3708)
- Add patch to make ncl compile with hdf5 1.10.
- Add missing dependencies to make ncl compile without errors.
2017-04-05 13:59:26 -05:00
scheibelp
9e50d16f13 Merge pull request #2789 from paulhopkins/features/allow_package_installation_directory_to_be_configured
Allow installation directory layout to be configured
2017-04-05 10:45:11 -07:00
Adam J. Stewart
cd1c88c519 Add stress package (#3695) 2017-04-05 11:48:56 -05:00
健美猫
70372ddcd7 Add versions 3.2.0 3.1.0 for protobuf. (#3698) 2017-04-05 07:59:18 -05:00
Paul Hopkins
95c3cff6be Allow installation directory layout to be configured using either hash
length parameter or spec formatting.
2017-04-05 12:08:56 +01:00
George Hartzell
46f25a4e0a Add package for open source Shiny Server (#3688)
* The beginnings of a package for shiny-server

Just stashing a WIP.

This doesn't work.

This goes for a while and/but blows up with some OpenSSL related issue.

* Make it work!

Yay!

* shiny-server needs R with X support

My environment gets this for "free" from my packages.yaml, but it
should be explicity.

* Address feedback

- python version
- gcc dependency
- Flake8 comment rules

* Richer caveats and warnings.

* Convert to CMakePackage and fix python version typo

* Fix typo: noqab -> noqa

* Ensure proper build location, clean up comments
2017-04-04 18:05:28 -05:00
scheibelp
0038ea84a1 Avoid null reference in arch concretization (#2596)
Fixes #2587

The concretizer falls back on using the root architecture (followed
by the default system architecture) to fill in unspecified arch
properties for a spec. It failed to check cases where the root could
be None.
2017-04-04 15:03:52 -07:00
Adam J. Stewart
3866dba265 Convert STREAM to MakefilePackage (#3692) 2017-04-04 15:00:35 -05:00
Adam J. Stewart
3c57862084 Add fio package (#3689) 2017-04-04 13:26:08 -05:00
Denis Davydov
0dbeeab70e intel-mkl: add 2017.2 (#3687)
* intel-mkl: add 2017.2

* intel-mkl: add urls, update docstring
2017-04-04 11:39:26 -05:00
Massimiliano Culpo
20f388cebd Fixes #3675: Abinit: invalid spec on concretization #(3686) 2017-04-04 07:03:11 -07:00
Jean-Paul Pelteret
7de6a28b15 Update SymEngine package to enable build against LLVM (#3682) 2017-04-04 06:56:44 -05:00
Mayeul d'Avezac
0e32369a26 Cppcheck (#3684)
* Adds cppcheck version 1.72

* cppcheck installation requires cfg files

Without these files, cppcheck does not work correctly
2017-04-04 06:55:02 -05:00
Mayeul d'Avezac
8276bd75fc Update tinyxml (#3649)
* Update tinyxml

* url seems to have changed
* spack replaces "_2_6_2" with "_2.6.2" unless the url is explicitly
given
* copyfile is no longuer available by default

* URL version-parsing should work as of #2972
2017-04-04 06:52:58 -05:00
Justin Cook
508c96d046 Update getting_started.rst (#3685)
Fixed typo referring to .bashrc file
2017-04-04 06:50:44 -05:00
Adam J. Stewart
d6a28a7401 Add IOzone package (#3679) 2017-04-03 18:05:45 -05:00
Adam J. Stewart
50df071ad9 Overhaul Spack's URL parsing (#2972)
* Remove fake URLs from Spack

* Ignore long lines for URLs that start with ftp:

* Preliminary changes to version regexes

* New redesign of version regexes

* Allow letters in version-only

* Fix detection of versions that end in Final

* Rearrange a few regexes and add examples

* Add tests for common download repositories

* Add test cases for common tarball naming schemes

* Finalize version regexes

* spack url test -> spack url summary

* Clean up comments

* Rearrange suffix checks

* Use query strings for name detection

* Remove no longer necessary url_for_version functions

* Strip off extraneous information after package name

* Add one more test

* Dot in square brackets does not need to be escaped

* Move renaming outside of parse_name_offset

* Fix versions for a couple more packages

* Fix flake8 and doc tests

* Correctly parse Python, Lua, and Bio++ package names

* Use effective URLs for mfem

* Add checksummed version to mitos

* Remove url_for_version from STAR-CCM+ package

* Revert changes to version numbers with underscores and dashes

* Fix name detection for tbb

* Correctly parse Ruby gems

* Reverted mfem back to shortened URLs.

* Updated instructions for better security

* Remove preferred=True from newest version

* Add tests for new `spack url list` flags

* Add tests for strip_name_suffixes

* Add unit tests for version separators

* Fix bugs related to parseable name but in parseable version

* Remove dead code, update docstring

* Ignore 'binary' at end of version string

* Remove platform from version

* Flip libedit version numbers

* Re-support weird NCO alpha/beta versions

* Rebase and remove one new fake URL

* Add / to beginning of regex to avoid picking up similarly named packages

* Ignore weird tar versions

* Fix bug in url parse --spider when no versions found

* Less strict version matching for spack versions

* Don't rename Python packages

* Be a little more selective, version must begin with a digit

* Re-add fake URLs

* Fix up several other packages

* Ignore more file endings

* Add parsing support for Miniconda

* Update tab completion

* XFAILS are now PASSES for 2 web tests
2017-04-03 15:34:16 -07:00
Adam J. Stewart
7e9777f294 Add latest version of pkg-config (#3672) 2017-04-03 14:09:44 -05:00
健美猫
734f90d11f openfst conflicts with intel@16: and gcc@6: . (#3671) 2017-04-03 13:35:04 -05:00
健美猫
74bd894427 Fix conflict directives for libpfm4. (#3673) 2017-04-03 13:05:03 -05:00
Adam J. Stewart
6cf87e3637 Add latest alpha release of MVAPICH2 (#3674) 2017-04-03 13:04:42 -05:00
George Hartzell
11fe0b9b26 Add depends_on() new-ish bison (#3661)
* Add depends_on() new-ish bison

* Refine dependency, only needed to build.
2017-04-03 10:59:44 -05:00
健美猫
57b3961778 Add libpfm4 package. (#3667) 2017-04-03 10:59:24 -05:00
Jeffrey Salmond
9b19968bac add CUDA_HOME arg to nccl makefile (#3666) 2017-04-03 08:08:28 -05:00
Jeffrey Salmond
b7eee1bd7b add gflags as dependency of glog (#3665) 2017-04-03 07:56:58 -05:00
George Hartzell
cddb7524b7 Hey, I was using that! :) (#3660)
Turns out that we really want 5.22.2 for backward compatibility.
2017-04-02 20:32:20 -05:00
Adam J. Stewart
c0cfaacbc8 Set default providers for all virtual dependencies (#3634)
* Set default providers for everything

* Add default OpenFOAM provider
2017-04-02 14:48:27 -05:00
Massimiliano Culpo
ffef681377 new directive: conflicts() (#3125)
* Add conflicts(<spec>) directive
* openblas: added conflicts for intel@16 refs #3119
* added brief docs and unit tests
2017-04-02 11:40:09 -07:00
Todd Gamblin
0e785e0500 Add epigraph in docs. 2017-04-01 15:32:06 -07:00
Todd Gamblin
221f179716 Add better tests for web.py; fix some bugs found with spidering.
- _spider in web.py was actually failing to spider deeper than a certain
  point.
- Fixed multiprocessing pools to not use daemons and to allow recursive
  spawning.
- Added detailed tests for spidering and for finding archive versions.
- left some xfail URL finding exercises for the reader.
- Fix noqa annotations for some @when decorators
2017-04-01 15:10:45 -07:00
Adam J. Stewart
28d6d375b4 Fix Python 3 support in spack versions
- Add missing import, fixes spack versions in Python 2
- Fix spack versions in Python 3
2017-04-01 15:10:45 -07:00
Kenneth Hoste
b67e2db159 fix version specs for EasyBuild packages (#3659)
* fix Python version requirement for easybuild-framework

* make 'when' for depends_on('py-easybuild-framework') open-ended
2017-04-01 13:14:15 -05:00
Kenneth Hoste
90306cf415 EasyBuild and dependencies (#3658)
* add packages for EasyBuild and dependencies

* fix remarks w.r.t. docstrings & download urls, make dependency specs stricter w.r.t. required versions

* fix easybuild-* dep specs, should be open-ended

* correct dep specs for easybuild and easybuild-easyconfigs using @3.1.2[:]
2017-04-01 10:27:58 -07:00
Kenneth Hoste
fb98f9ee19 fix annoying 'fatal: Not a git repository' error message (#3657)
fix annoying 'fatal: Not a git repository' error message produced by 'spack list' when Spack is not run from a Git repository (#3657)
2017-04-01 03:29:06 -07:00
健美猫
f982cd78ae Add a pcakge: libzip. (#3656) 2017-04-01 00:09:09 -05:00
Gregory Lee
12c1216c34 fix flake8 ignore syntax (use E instead of ignore) (#3651) 2017-03-31 17:51:09 -07:00
Massimiliano Culpo
0c44dd28bb test/package_sanity.py: ported to pytest (#3474) 2017-03-31 13:42:04 -07:00
Massimiliano Culpo
ee7753a597 test/versions.py: ported to pytest (#3635) 2017-03-31 13:41:48 -07:00
Todd Gamblin
a8bcc23fe7 Spack works with Python 3
- Update version guard in spack script to allow python 3
- Update min required version in the docs
2017-03-31 13:40:41 -07:00
Todd Gamblin
3f21f2b088 Clean up tests and add Python3 to Travis.
- Clean up spec_syntax tests: don't dependend on DB order.
- spec_syntax hash parsing tests were strongly dependent on the order the
  DB was traversed.
- Tests now specifically grab the specs they want from the mock DB.
- Tests are more readable as a result.

- Add Python3 versions to Travis tests.
2017-03-31 13:40:41 -07:00
Todd Gamblin
b9ee86cac9 Make packages Python3 compatible. 2017-03-31 13:40:41 -07:00
Todd Gamblin
7f3f493024 Fix concretization bugs with virtuals and deptypes.
1. Fix #2807: Can't depend on virtual and non-virtual package

- This is tested by test_my_dep_depends_on_provider_of_my_virtual_dep in
  the concretize.py test.

- This was actually working in the test suite, but it depended on the
  order the dependencies were resolved in. Resolving non-virtual then
  virtual worked, but virtual, then non-virtual did not.

- Problem was that an unnecessary copy was made of a spec that already
  had some dependencies set up, and the copy lost half of some of the
  dependency relationships.  This caused the "can'd depend on X twice
  error".

- Fix by eliminating unnecessary copy and ensuring that dep parameter of
  _merge_dependency is always safe to own -- i.e. it's a defensive copy
  from somewhere else.

2. Fix bug and simplify concretization of deptypes.

- deptypes weren't being accumulated; they were being set on each
  DependencySpec. This could cause concretization to get into an infinite
  loop.

- Fixed by accumulating deptypes in DependencySpec.update_deptypes()

- Also simplified deptype normalization logic: deptypes are now merged in
  constrain() like everything else -- there is no need to merge them
  specially or to look at dpeendents in _merge_dependency().

- Add some docstrings to deptype tests.
2017-03-31 13:40:41 -07:00
Todd Gamblin
fe6f39b662 Use key sorting instead of cmp()
- Get rid of pkgsort() usage for preferred variants.
- Concretization is now entirely based on key-based sorting.
- Remove PreferredPackages class and various spec cmp() methods.
- Replace with PackagePrefs class that implements a key function for
  sorting according to packages.yaml.
- Clear package pref caches on config test.
- Explicit compare methods instead of total_ordering in Version.
- Our total_ordering backport wasn't making Python 3 happy for some
  reason.
- Python 3's functools.total_ordering and spelling the operators out
  fixes the problem.
- Fix unicode issues with spec hashes, json, & YAML
- Try to use str everywhere and avoid unicode objects in python 2.
2017-03-31 13:40:41 -07:00
Todd Gamblin
0cd6555388 Resolve Python2/Python3 unicode issues by using str()
- Remove ascii encoding assumption from spack_yaml
- proc.communicate() returns bytes; convert to str before adding.
- Fix various byte string/unicode issues for Python 2/3 support
- Need to decode subprocess output as utf-8 in from_sourcing_files.
- Fix comments in strify()
2017-03-31 13:40:41 -07:00
Todd Gamblin
1d1a14dbe9 Convert Python 2 idioms to Python 2/3-compatible ones.
- convert print, StringIO, except as, octals, izip
- convert print statement to print function
- convert StringIO to six.StringIO
  - remove usage of csv reader in Spec, in favor of simple regex
  - csv reader only does byte strings
- convert 0755 octal literals to 0o755
- convert `except Foo, e` to `except Foo as e`
- fix a few places `str` is used.
  - may need to switch everything to str later.
- convert iteritems usages to use six.iteritems
- fix urllib and HTMLParser
- port metaclasses to use six.with_metaclass
- More octal literal conversions for Python 2/3
- Fix a new octal literal.
- Convert `basestring` to `six.string_types`
- Convert xrange -> range
- Fix various issues with encoding, iteritems, and Python3 semantics.
- Convert contextlib.nested to explicitly nexted context managers.
- Convert use of filter() to list comprehensions.
- Replace reduce() with list comprehensions.
-  Clean up composite: replace inspect.ismethod() with callable()
- Python 3 doesn't have "method" objects; inspect.ismethod returns False.
- Need to use callable in Composite to make it work.
- Update colify to use future division.
- Fix zip() usages that need to be lists.
- Python3: Use line-buffered logging instead of unbuffered.
- Python3 raises an error with unbuffered I/O
  - See https://bugs.python.org/issue17404
2017-03-31 13:40:41 -07:00
Todd Gamblin
0331b08c64 Update externals to work with Python 3
- Update YAML version to support Python 3
- Python 3 support for ordereddict backport
- Exclude Python3 YAML from version tests.
- Vendor six into Spack.
- Make Python version-check tests work with Python 3
- Add ability to add version check exceptions with '# nopyqver' line
  comments.
2017-03-31 13:40:41 -07:00
Adam J. Stewart
bc404532ea PythonPackage: Let There Be Tests! (#2869)
* Run python setup.py test if --run-tests
* Attempt to import the Python module after installation
* Add testing support to numpy and scipy
* Remove duplicated comments
* Update to new run-tests callback methodology
* Remove unrelated changes for another PR
2017-03-31 13:39:07 -07:00
Gregory Lee
3ade829566 new and updated PRUNERS tools (#3648) 2017-03-31 13:42:03 -05:00
Michael Kuhn
0d421137f4 Fix mxml (#3639)
mxml is now hosted on GitHub.
2017-03-31 13:41:08 -05:00
Adam J. Stewart
343f3b2fde Add QBank package (#3641)
* Add QBank package

* Install the documentation and add it to the MANPATH

* Add Perl DBI package

* Make sure setup method variables are consistent
2017-03-31 11:51:13 -05:00
Adam J. Stewart
d13854b5d4 Perl: add more versions, add phases (#3640) 2017-03-31 09:18:28 -05:00
Mark Olesen
832f932310 CONFIG: add older bison version 2.7 (#3645)
- for programs that don't yet work with bison 3.x
2017-03-31 07:54:04 -05:00
Hans Pabst
d59ceba9c5 Included LIBXSMM 1.8 into the list of available versions. (#3646) 2017-03-31 07:53:37 -05:00
Milton Woods
890213d5c2 Subversion with perl bindings (#3644)
* perl-term-readkey: add perl Term::ReadKey package
* subversion: add variant with perl bindings
* subversion: use `which('perl')` to find perl executable in package.py
2017-03-31 01:48:18 -07:00
Milton Woods
a81b2b4dc6 perl-xml-parser: add perl XML::Parser package (#3643) 2017-03-30 21:54:56 -07:00
Milton Woods
9e43ff821c Extendable Perl (#3614)
* perl: make extendable and add Module::Build package
* perl: allow 'spack create' to identify perl packages from their contents
* perl-module-build: fix indenting of package docstring
* perl: split install() method for extensions into phases
* perl: auto-detect build method (Makefile.PL vs Build.PL) and define a 'check' method
* PerlPackage: use import statements similar to those in AutotoolsPackage
* PerlModule: fix detection of Build.PL
* PerlPackageTemplate: remove extraneous lines to avoid flake8 warnings
* PerlPackageTemplate: split into separate templates for Makefile.PL and Build.PL
* PerlPackage: add cross-references to docstrings
* AutotoolsPackage: fix ambiguous cross-references to avoid errors in doc tests
* PerlbuildPackageTemplate: depend on perl-module-build if Build.PL exists
2017-03-30 16:38:58 -07:00
Mark Olesen
9e1abb13dc support OpenFOAM package(s) (#3528)
* ENH: add package for building OpenFOAM (1612) from www.openfoam.com
- provide 'openfoam' as virtual package.
- package as openfoam-com to reflect the distribution point.

This initial spack packaging for OpenFOAM supports a number of possible
variants and should handle 64-bit labels properly now that the scotch
package has been updated accordingly.

* ENH: update package for foam-extend (extend-project.de)

- provide 'openfoam' as virtual package.

- much of the build is now aligned with how the openfoam-com package
  looks, with the aim of future refactoring.

- avoid installing intermediate targets.

- contains its own environment sourcing script for the build, for more
  flexibility and robustness (doesn't touch the python build environ)

* ENH: added package for building from openfoam.org

- provide 'openfoam' as a virtual package.

- this is largely a direct copy of the openfoam-com package.
  It has been supplied as a courtesy for users and to ensure maximum
  consistency in quality and naming between the foam-extend,
  openfoam-com and openfoam-org packages.

* CONFIG: add openfoam into bash completion providers list

* ENH: have openfoam-com use spack as USERMPI

- also simplify the generation of mplib/compiler rules

* ENH: have openfoam-org use spack as SYSTEMMPI

- this setup requires more environment settings than USERMPI
  (openfoam-com), but is currently the only means of integration
  for openfoam-org

- simplify generation of mplib/compiler rules

* ENH: simplify generation of mplib/compiler rules (foam-extend)

- rename mpi rules from SPACK,SPACKMPI to USER,USERMPI for consistency
  with openfoam-com and to generalize for any build system.

* STYLE: record spack tree as a log file (openfoam)

- can be useful for future diagnostics and general record keeping
2017-03-30 16:35:57 -07:00
healther
2bd216a6a1 add package py-spykeutils (#3633)
* add package py-spykeutils

* fixed dependency version restriction
2017-03-30 10:33:09 -05:00
Massimiliano Culpo
f9c0348891 cp2k: update to 4.1 + update of dependencies (#3561)
* libint: updated version, ported to AutotoolsPackage

* elpa: updated version, ported to AutotoolsPackage

* wannier90: updated version, ported to MakefilePackage

* pexsi: updated version, ported to MakefilePackage

* cp2k: updated version, removed wannier 90 from dependencies if cp2k@4.1

* plumed: updated version

Modifications:

* modules has been turned into a single variant, as different versions
  have different modules available
* added dictionaries for patches

* netlib-scalapack: ported to CMakePackage
2017-03-30 09:46:05 -05:00
Adam J. Stewart
73f78cb8c4 Move py-dev to the proper repo directory (#3630) 2017-03-30 09:18:40 +02:00
Adam J. Stewart
da6faa086a Fix url fetching for GnuTLS (#3631) 2017-03-30 09:16:56 +02:00
George Hartzell
68415f0fe5 Concretization problem breaks httpie dependency (#3629)
* Concretization problem breaks httpie dependency

Concretization problem breaks this.  Unconditional for now...
https://github.com/LLNL/spack/issues/3628

* Flake8 cleanups
2017-03-29 18:59:54 -05:00
George Hartzell
4cd4a2da46 Add package for snakemake (#3605)
* Add package for snakemake

* Flake8 cleanups

* Add package for py-wrapt

* Address PR feedback

Switch to pypi URL.

Tighten Python3 dependency spec.

Add missing dependencies (wrapt, requests).
    - add package for wrapt.
2017-03-29 14:25:09 -05:00
George Hartzell
6138350c9e Add package for httpie (#3609)
* Add package for httpie

* Remove wayward FIXME and flake8 cleanup

* Update dependencies, address PR feedback

Fine tune dependencies (version constraints).
Add missing dependency.
Make SOCKS support a variant.

* Flake8 cleanup
2017-03-29 14:24:52 -05:00
Denis Davydov
782882c2a9 petsc: a workaround for macOS Clang 8.1.0 and XCode 8.3 (#3615) 2017-03-29 14:24:18 -05:00
healther
64a80ba822 add package py-bokeh (#3618)
* add package py-bokeh

* remove setuptools dependency

* add missing dependencies
2017-03-29 14:23:53 -05:00
healther
28db55b1a7 Allow py-py2cairo to be built with cairo~X (#3620) 2017-03-29 14:23:24 -05:00
healther
b73f1e557c add package py-pympler (#3621)
* add package py-pympler

* add python@2.5: dependency
2017-03-29 14:21:41 -05:00
healther
8e99c97d21 Add package py-pynn (#3622)
* add package py-pynn

* fix docstring

* fix dependency mess

* add python dependency
2017-03-29 14:21:13 -05:00
healther
8d87c01f62 Add py-pymongo dependencies (#3624)
* add package py-mongo

* add dependencies
2017-03-29 14:20:58 -05:00
George Hartzell
259cc02260 htslib depends_on version must match samtools (#3625) 2017-03-29 14:20:37 -05:00
Adam J. Stewart
46251eb559 Add abipy package and dependencies (#3352)
* Add abipy package and dependencies

* Add first official release of py-abipy

* Ignore files from dependencies during activation
2017-03-29 11:13:23 -05:00
healther
441170f316 add package py-mongo (#3619) 2017-03-29 02:54:09 -07:00
healther
5ba4fce428 add package py-brian2 (#3617) 2017-03-29 02:52:59 -07:00
healther
754be1b275 Add version 3.5.9 to package gnutls (#3616) 2017-03-29 01:55:02 -07:00
George Hartzell
f5bc42f229 Add Blast+ package. (#3562)
* Add Blast+ package.

Adds support for NCBI's blast+@2.6.0.  I'll be adding a few historical versions in the near future.

It's a fairly direct transliteration of the [Homebrew Science recipe][hbs].

I skipped the mysql support.

There is a problem with HDF5 support.  Blast's configure script test program defines a macro 'HOST' to a string value and one of the HDF5 bits has an variable named 'HOST'.  Fun things happen.   I've disabled support for now.

I've run very very basic tests.  I'll get this out to my users and ensure that it works and fine tune the options and etc....

[hbs]: https://github.com/Homebrew/homebrew-science/blob/master/blast.rb

* Flake8 fixes

* Update w.t.r. mamelara's PR and cleanup

Add paths to things in the --with-* config args

Add add'l config flags from #3394.

Update patch to no-op and add comment.

Add add'l dependencies after studying `configure --help`.

* Flake8 cleanup

* Add support for blast+@2.2.30

Need to work around a configure bug.  See https://github.com/Homebrew/homebrew-science/issues/2337#issuecomment-170011511.

* Re-wrap comment, line length not a problem.

I'd broken a comment across to line in a fit of flake8
induced fear.  Adam pointed out that it's ok.

* Remove explicit prefix config

Remove explicit prefix config, the autotools package does it for us.
2017-03-28 21:38:51 -05:00
George Hartzell
53b0d93a7a Add info for version 2.16 (#3601) 2017-03-28 21:37:57 -05:00
George Hartzell
14194a137a Add support for v1.9.9 (#3602) 2017-03-28 21:37:34 -05:00
George Hartzell
18a4be3e56 Add packages for jq and ongiruma (#3607)
jq is a commandline JSON processor.  Oniguruma is a regexp
library on which jq depends.
2017-03-28 21:37:10 -05:00
George Hartzell
83e661604d Add package for direnv (#3608) 2017-03-28 21:36:39 -05:00
George Hartzell
ec3eabfc7a Add package for BATS (#3611)
Add package for the BASH Automated Testing System.
2017-03-28 21:36:12 -05:00
George Hartzell
9385659aa1 bowtie2: add support for version 2.3.1 (#3599)
* Add support for 2.3.1

Updated digest and added a dependency on tbb.

* Cleanup patch name and add description
2017-03-28 21:35:46 -05:00
George Hartzell
d6cbae81c7 Update/samtools (#3595)
* Update samtools family to 1.4

* simple cleanup

* Make bzip depends_on for future versions too
2017-03-28 21:34:41 -05:00
George Hartzell
70ec06949c New package: ncftp client (#3603)
* Add package for ncftp

* Flake8 cleanups
2017-03-28 21:33:59 -05:00
George Hartzell
d94757238a New package: staden-io-lib (#3604)
* Add package for staden-io-lib

* Flake8 cleanups
2017-03-28 21:33:34 -05:00
George Hartzell
bdf0baead7 New package: mummer (#3606)
* Add package for mummer

Blocked on https://github.com/LLNL/spack/pull/3555.

* Make "check" step optional and flake8 cleanups
2017-03-28 21:27:20 -05:00
George Hartzell
81a0881a57 new package: pigz (#3612)
* Add package for pigz

* Whitespace

* Remove leftover instructions (oops...)

* Flake8 cleanup

* Convert to MakefilePackage
2017-03-28 21:15:30 -05:00
George Hartzell
e5eb8e34c5 new package: blat (#3610)
* Add package for blat

* Whitespace cleanup

* Flake8 cleanup
2017-03-28 21:14:26 -05:00
George Hartzell
1e5da65d65 Add packages for miniconda[23] (#3613) 2017-03-28 21:13:46 -05:00
George Hartzell
36f80bdfa4 Add support for version 20170322 (#3598) 2017-03-28 18:56:21 -05:00
George Hartzell
a9025e3283 Add version info for 7.4.1 (#3600) 2017-03-28 18:55:25 -05:00
George Hartzell
212b342fd3 Add support for v8.0.0503 (#3596) 2017-03-28 18:51:30 -05:00
George Hartzell
5f3e9a791f Nextflow versions 0.24.1 and 0.23.3 (#3597)
Add support for nextflow versions 0.24.1 and 0.23.3.
2017-03-28 18:50:21 -05:00
sknigh
42f9040dfe fix for #3588 (#3589)
* fix for #3588

* set 'build_directory' variable instead
2017-03-28 12:59:24 -05:00
健美猫
8378d659e7 Add a package: cub. (#3584) 2017-03-28 12:46:47 -05:00
healther
41cfb811f0 add package double-conversion (#3585) 2017-03-28 12:29:05 -05:00
healther
98d67bd060 Add new version to glog (#3586) 2017-03-28 12:28:30 -05:00
sknigh
f6b6e397cb Add SST/macro and Dumpi trace packages (#3025)
* Added packages for Structural Simulation Toolkit and Dumpi trace

* sst-dumpi deps

Remove extraneous dependency from sst-dumpi

* Removed redundant function and fake-url from sst-dumpi package

* Fixed URL, Added git branches, requested changes

sst-dumpi version listed as 6.1, made an upstream change to 6.1.0
sst-macro and sst-dumpi can be installed as v6.1.0 and master branch

* Added bootstrap. Tweaked URLs and description
2017-03-28 12:28:05 -05:00
Todd Gamblin
dead67ae56 Restore newlines to easy-install.pth files. (#3583)
Previous syntax fix in 8a873bb was not quite right.
2017-03-28 09:32:50 -07:00
Todd Gamblin
782f29bc4b Fix bug in spack find for installations with unknown namespaces. (#3573)
- Spack find would fail with "unknown namespace" for some queries when a
  package from an unknown namespace was installed.

- Solve by being conservative: assume unknown packages are NOT providers
  of virtual dependencies.
2017-03-28 08:43:43 -07:00
Todd Gamblin
e549daa8ce Bugfix: allow deactivating installs that don't have packages anymore. (#3572)
- deactivate -a wouldn't work if the installation's package was no longer
  available.

- Fix installed_extensions_for so that it doesn't need to look at the
  package.py file.
2017-03-28 08:43:15 -07:00
健美猫
d9ddf2070c Add package kaldi. (#3503) 2017-03-28 09:39:23 -05:00
Erik Schnetter
e9737ee452 googletest: Convert to CMakePackage (#3571)
* googletest: New version 1.8.0

* googletest: Simplify
2017-03-28 09:34:45 -05:00
Denis Davydov
a8c58551ae openblas: raise an error when using unsupported Apple clang (#3577) 2017-03-28 08:14:12 -05:00
Mark Olesen
89d08c5be4 CONFIG: update versions for paraview (#3537)
- drop old TCL support from paraview build.

- add +plugins variant to have include directories installed. This is
  enabled by default since the additional diskspace for includes is
  really minimal and since this also allows re-use of the VTK libraries
  from ParaView without necessarily requiring a separate VTK
  installation.

- +opengl2 is now the default. As per all newer VTK and paraview versions.

BUG: broken install for paraview-5.0.1 with includes and without python

- incorrect conditional for ui_pqExportStateWizard.h when python is
  disabled and includes are to be installed.
  gcc compiler detection patch.
  These have both been fixed in paraview 5.3.0

ENH: refactor as a CMakePackage.

- Note that "spack install paraview" works as expected, but
  "spack build paraview" fails in weird unrelated ways.
2017-03-28 08:09:22 -05:00
Peter Doak
c20cd73b4a this builds cvs CentOS Linux release 7.2.1511 (#3574) 2017-03-27 14:33:22 -07:00
Gregory Lee
1cc2d22268 Merge pull request #3570 from LLNL/packages/elfutils-preferred-version
Make 0.163 the preferred version of elfutils.
2017-03-27 11:15:46 -07:00
Gregory Lee
8a873bbd8d Fix easy-install.pth syntax (#3569) 2017-03-27 10:56:55 -07:00
Todd Gamblin
394b78637d Make 0.163 the preferred version of elfutils.
- later versions do not seem to work well with libdwarf.
2017-03-27 10:14:49 -07:00
George Hartzell
625a1634bb Update to version 0.4.8-1 (#3568) 2017-03-27 11:24:51 -05:00
George Hartzell
9f19cb4193 Bugfix/gnutls (#3565)
* Fix nettle dependency

GnuTLS requires a nettle from the 2.7 series, won't work
with 3.x (so sayeth configure when it crashes...).

* Fix configure symlinking GNUmakefile to itself

I'm confused about how this ever worked, but....

As configure runs, it does something like this:

```
config.status: linking /home/hartzelg/tmp/spack/var/spack/stage/gnutls-3.3.9-uq2u4ecucncv2l3akran765aystyvkys/gnutls-3.3.9/GNUmakefile to GNUmakefile
```

and since that is the cwd the build crashes with:

```
==> 'make' '-j28'
make: GNUmakefile: Too many levels of symbolic links
make: stat: GNUmakefile: Too many levels of symbolic links
make: *** No rule to make target `GNUmakefile'.  Stop.
```

Since the comment in the configure script points out that the
GNUmakefile is "only for the maintainer" I've just commented out the
bit that leads to the symlinking.

Builds for me on CentOS 7.  (I do have a recent-ish set of auto-*
things in my patch via linuxbrew)

* Wordsmith

* Fix symbolic link problem properly

Autotools magic.  See #3565 for the details.

* Flake8 cleanup

* Add some headroom on the version number constraint

We really want < 3.0 but there's not a good way to express it.

We'd like to avoid having to update the file if they release 2.7.2.

This seems like a good compromise.
2017-03-27 10:29:56 -05:00
Mark Olesen
f3ee4ec5bd CONFIG: update qt package to build qt-5.7.1 (#3535)
- adjusted formatting to reduce some flake8 complaints
2017-03-27 08:29:33 -05:00
健美猫
a623a146de fftw: Add 3.3.6-pl2, remove 3.3.6-pl1. (#3566) 2017-03-27 07:55:16 -05:00
Mark Olesen
1c73f9d92f ENH: add int64 variant to scotch (as per metis +int64) (#3536)
BUG: provide patch for scotch 6.0.4 if building non-threaded

- corresponds to issue #20179 from the scotch issue trackter
2017-03-27 07:48:14 -05:00
George Hartzell
dd79630464 Update texlive digest/md5 (sigh...) (#3564) 2017-03-26 19:26:33 -05:00
George Hartzell
2d78b3113c Nettle: new version (#3563)
gnutls needs nettle from the 2.7 series.  Might as well give it
the latest.
2017-03-26 19:26:07 -05:00
Denis Davydov
2b3ce576a5 tbb: add 2017.5 (#3560) 2017-03-26 09:38:18 +02:00
Denis Davydov
b8486f413a mumps: add 5.1.1 (#3557) 2017-03-26 09:33:44 +02:00
Denis Davydov
a14f9491db hypre: add 2.11.2 (#3556) 2017-03-26 09:32:49 +02:00
Denis Davydov
57ef184254 superlu-dist: add 5.1.3 (#3559) 2017-03-26 09:31:32 +02:00
Denis Davydov
1e9eae4bfa suite-sparse: add 4.5.4 (#3558) 2017-03-26 09:26:57 +02:00
George Hartzell
bfd2db0c76 Add url_for_version and depends_on('libiconv') (#3555)
* Add url_for_version and depends_on('libiconv')

Fetching is broken.  See https://github.com/LLNL/spack/issues/3554.

libgd, when used in gnuplot at least, needs a dependency
on libiconv.

* Undo change from debugging pokery
2017-03-25 20:06:09 -05:00
Michael Kuron
55300d1181 pnfft: new package (#2646)
* pnfft: new package

* Convert some packages with overridden install from AutotoolsPackage to Package

* pnfft: fix URL

* Switch FFTW-derived packages back to AutotoolsPackage

* Disable unneeded build phases in FFTW and derived packages

* Separate build phases for FFTW and derived packages

* Fix broken merge

* fftw: pfft_patches for 3.3.6

* fftw: address @adamjstewart’s review comments
2017-03-25 14:27:52 -05:00
Brian Van Essen
3af971165a Added a package for Nvida NCCL (#3552) 2017-03-24 17:53:16 -07:00
Denis Davydov
61d01a71dd make git fetching quite (#3180)
also output repo and branch/commit/tag in one line
2017-03-24 17:37:47 -07:00
Adam J. Stewart
6461737bba Add latest version of util-linux (#3551) 2017-03-24 16:44:54 -05:00
Adam J. Stewart
821155470c Add mozjs package (#3550) 2017-03-24 16:31:59 -05:00
Adam J. Stewart
c97d79b150 Add old version of zlib (#3549) 2017-03-24 16:31:31 -05:00
Adam J. Stewart
5297d3d2ff Add NSPR package (#3548) 2017-03-24 16:23:01 -05:00
Adam J. Stewart
78301396f0 Add linux-headers package (#3547) 2017-03-24 16:22:36 -05:00
Adam J. Stewart
50f4f0827d Add libcap package (#3546) 2017-03-24 16:02:01 -05:00
Adam J. Stewart
0b4c39a9e0 Various updates to the intltool package (#3545) 2017-03-24 15:45:08 -05:00
Adam J. Stewart
df777bf077 Add autogen package (#3542) 2017-03-24 15:44:34 -05:00
Adam J. Stewart
eca8f548dc coreutils can no longer be built in-source (#3543) 2017-03-24 15:44:01 -05:00
George Hartzell
b5acd5e44b Fix r package, tk no longer has an X variant (#3544)
Tk recently lost its X variant (it now always uses X).

That broke r, this commit fixes it.

Tested on CentOS 7.
2017-03-24 15:43:25 -05:00
Adam J. Stewart
08799eac23 Add latest version of GNU Guile (#3541) 2017-03-24 15:20:52 -05:00
Adam J. Stewart
a60210f6b2 Add latest version of bdw-gc (#3539) 2017-03-24 15:20:25 -05:00
Adam J. Stewart
8a463c07ea Convert libatomic-ops to AutotoolsPackage (#3540) 2017-03-24 15:13:05 -05:00
Adam J. Stewart
3c96749622 Add latest version of libunistring (#3538) 2017-03-24 14:57:42 -05:00
Adam J. Stewart
1fe987949f Clean up the gcc package (#3511)
* Clean up the gcc package

* Add preliminary testing support

* Older versions of GCC do not depend on MPC

* DejaGnu 1.4.4 cannot be built in parallel

* Fix GCC test dir

* Add two more deps required to run the testsuite
2017-03-24 14:56:22 -05:00
Mark Olesen
268d48b407 CONFIG: update mxml versions (#3534) 2017-03-24 14:22:26 -05:00
Jimmy Tang
be5bb33aac Initial add of dev package (#3533)
* Initial add of dev package

* Use a more acceptable URL
2017-03-24 13:12:57 -05:00
健美猫
c68295df2c Add cuda support for gromacs. (#3527) 2017-03-24 07:48:08 -05:00
George Hartzell
4a36f23fa8 Add release info for git v2.12.1 (#3532)
Add info for git and git-manpages.

Built/tested on CentOS7.
2017-03-23 17:43:28 -05:00
Adam J. Stewart
929a3317e9 Add env vars for Intel VTune Amplifier (#3531)
* Add env vars for Intel VTune Amplifier

* Flake8 fix
2017-03-23 15:58:12 -05:00
Adam J. Stewart
10b49fd845 Add DejaGnu package (#3518) 2017-03-23 14:35:38 -05:00
Adam J. Stewart
4ecfc39e1e Add Expect package (#3517)
* Add Expect package

* Ignore patches during flake8 tests for package.py files

* Remove controversial changes
2017-03-23 14:35:11 -05:00
Adam J. Stewart
ace890af49 Only configure requested lammps features (#3526)
* Only configure requested lammps features

* Run configure from root and make from src
2017-03-23 12:28:17 -05:00
Adam J. Stewart
4e8a59a062 Add patch to fix xcb-proto make check (#3520) 2017-03-22 16:17:01 -05:00
Howard Pritchard
7c82db07ac Open MPI: add new packages (#3519)
there were various updated packages, both for the 2.x, 2.0.x,
and 1.10.x release branches of Open MPI.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
(cherry picked from commit 3b671935783fc3af76dc642a54461c2f02ab8ebf)
2017-03-22 16:16:32 -05:00
Jeffrey Salmond
f225741d07 configure vtk with external hdf5 and netcdf packages (#3504)
* configure vtk with external hdf5 and netcdf packages

* remove ~mpi constraints from hdf5 and netcdf
2017-03-22 14:53:05 -05:00
Erik Schnetter
7e7045e0ca llvm: Install utilities into libexec (#3516) 2017-03-22 09:01:10 -07:00
Jimmy Tang
31e28f9662 Update googletest (#3514) 2017-03-22 06:57:20 -05:00
Gregory Lee
606c5fbc5f patch readline to fix ipython seg fault (#3512) 2017-03-21 16:24:13 -07:00
Adam J. Stewart
07397e8ef7 Convert gettext to AutotoolsPackage (#3510) 2017-03-21 17:40:45 -05:00
George Hartzell
9b5f5fccf0 Fix for find --explicit #3374 (#3492)
This fixes the problem described in #3374, which describes `spack find` ignore explicit/implicit.

I believe that this was broken in #2626.

This restores the behavior of implicit/explicit for me.

I believe that it does not screw anything else up, but ....
2017-03-21 15:30:38 -07:00
Adam J. Stewart
657110f9d7 Convert isl to AutotoolsPackage (#3507) 2017-03-21 12:11:03 -05:00
Adam J. Stewart
ed9dec2259 Add recommended patches to mpfr package (#3506) 2017-03-21 11:25:14 -05:00
Kim Serradell
3923bdca90 Replacing failing git clone by valid url (#3505)
* Replacing failing git clone by valid url

* Moving to previous version package (0.163)

* Removing automake and autoconf dependencies and adding url_list to pick up newer versions

* Corrected typo

* Reorder versions and removed libtool
2017-03-21 10:50:34 -05:00
健美猫
babeb32c6d Add package openfst. (#3324) 2017-03-21 09:53:58 -05:00
Erik Schnetter
75c6c9f1ee llvm: Don’t copy “prefix/bin” into “prefix” during install (#3460) 2017-03-20 20:46:29 -05:00
Adam J. Stewart
777acb4c03 Fix: setuptools is a runtime dependency for pudb (#3502) 2017-03-20 18:08:45 -05:00
Adam J. Stewart
d31bbe450b Add latest version of binutils (#3500) 2017-03-20 18:07:37 -05:00
Michael Kuhn
0be9cee984 Update leveldb to 1.20 (#3441) 2017-03-20 15:07:24 -05:00
Erik Schnetter
79d0e7a5d7 gasnet: Update to 1.28.2 (#3496) 2017-03-20 15:05:23 -05:00
Erik Schnetter
ae8380c4fb cereal: Update to 1.2.2 (#3499) 2017-03-20 15:05:02 -05:00
Erik Schnetter
91dd854694 jemalloc: Update to 4.5.0 (#3497) 2017-03-20 15:04:34 -05:00
Erik Schnetter
68a4706b1e py-yt: Update to 3.3.5 (#3498) 2017-03-20 15:04:17 -05:00
scheibelp
19dca26f3a Improve output for compiler commands (#3480)
* Order listed compiler sections

"spack compiler list" output compiler sections in an arbitrary order.
With this commit compiler sections are ordered primarily by compiler
name and then by operating system and target.

* Compiler search lists config files with compilers

If a compiler entry is already defined in a configuration file that
the user does not know about, they may be confused when that compiler
is not added by "spack compiler find". This commit adds a message at
the end of "spack compiler find" to inform the user of the locations
of all config files where compilers are defined.
2017-03-20 12:36:44 -07:00
Matthew LeGendre
5ac6421f14 Fix issue with config.guess patching when the overwritten config.guess did not have write permissions. (#3494) 2017-03-20 12:35:38 -07:00
Erik Schnetter
22f3c9de84 fftw: Update to 3.3.6-pl1 (#3495) 2017-03-20 12:35:08 -07:00
健美猫
1655161ebb Add ffmpeg package. (#3470) 2017-03-19 10:12:34 -05:00
健美猫
fb248f17fb Substitue ftp:// with http:// (#3491) 2017-03-19 10:11:06 -05:00
健美猫
14c181e480 Add new version for intel package: 16.0.4 17.0.2 . (#3490) 2017-03-19 07:57:06 -05:00
Todd Gamblin
1297e47463 Use byte-encoded UTF-8 for sourced environment in Python 2 (#3489)
- Fixes recurring errors on develop with unicode commit characters.
- still Python3-proof: python3 will use str instead of bytestrings.
2017-03-18 22:48:20 -07:00
Erik Schnetter
a0ab3c2523 hdf5: Clean up building self-tests (#3483)
* hdf5: Clean up building self-tests

* hdf5: Clean up running self-tests
2017-03-18 20:14:47 -05:00
Adam J. Stewart
4866b4592f Add missing dependencies to gawk (#3481)
* Add missing dependencies to gawk

* Fix make check

* Add mawk packages and awk virtual dependency

* Use mawk instead of gawk to build ncurses

* Rearrange order of patches and dependencies
2017-03-18 19:13:32 -05:00
Adam J. Stewart
9d0a3c6b05 Fix deptype of various dependencies on Python packages (#3486) 2017-03-18 15:20:16 -05:00
Javier
6b97f538cf Adding new packages: py-argparse and py-importlib (#3488) 2017-03-18 13:45:29 -05:00
Adam J. Stewart
773357e20f setuptools is a runtime dependency of virtualenv (#3485) 2017-03-17 16:25:48 -05:00
Erik Schnetter
a2235fed41 julia: Create cacert directory manually to ensure correct permissions (#3482) 2017-03-17 16:07:49 -05:00
Javier
b0d9088603 Adding new package: py-future (#3401)
* Adding new package: py-future

* Commenting out deps needed when installing python@2.6
2017-03-17 13:59:38 -05:00
Adam J. Stewart
10b767b93f Don't use @system in packages.yaml (#3472) 2017-03-17 07:55:55 -07:00
Adam J. Stewart
5f13e40655 Add package for ESMF (#2831)
* Add package for ESMF

* Apparently mvapich2 is supported?
2017-03-17 09:21:25 -05:00
Adam J. Stewart
2c39f16d44 Add version constraints to VTK patch (#3357) 2017-03-17 09:19:44 -05:00
Erik Schnetter
19b3afebc9 hpx5: Convert to AutotoolsPackage, several updates (#3456)
* hpx5: Convert to AutotoolsPackage, several updates

- convert to AutotoolsPackage
- add several variants
- add several dependencies
- add new version 4.0.0
- don’t set compiler flags explicitly

* hpx5: Don’t import os

* hpx5: Clean up configure arguments

* hpx5: Correct libffi configure declaration

Also add new variant “+instrumentation”.

* hpx5: Correct CUDA, MPI, OpenCL configuration

* hpx5: Use built-in libffi

Spack’s libffi installs its headers in a strange place, and hpx5 can’t pick them up.
2017-03-17 09:11:02 -05:00
Erik Schnetter
e7bf8034b0 libpciaccess: Convert to AutotoolsPackage, remove Darwin work-around (#3459)
* libpciaccess: Convert to AutotoolsPackage, remove Darwin work-around

Other packages that depend on libpciaccess can do so via a conditional dependency (via a variant); we don’t need a dummy package for Darwin any more.

* Disable libpciaccess dependency on non-Darwin platforms

* hwloc: Remove direct dependency on libpciaccess
2017-03-17 09:09:09 -05:00
Michael Kuhn
1124bdc99e Add packages libbson and libmongoc (#3440) 2017-03-16 23:16:30 -07:00
Erik Schnetter
9c1885022e simulationio: New package (#3422)
* simulationio: New package

* simulationio: Rename development version to “develop”

* simulationio: Try to make flake8 happy

* simulationio: Correct flake8 error

* simulationio: Extend Python

* simulationio: Remove unused imports
2017-03-16 23:06:47 -07:00
Adam J. Stewart
386462c0cb Add latest version of NCO (#3469) 2017-03-16 21:39:41 -07:00
Brian Van Essen
3f17f761fe Py keras extension (#3468)
* Added support for building Theano with GPU support.  Added a package
for the libgpuarry libary needed for Theano.

* Added dependency on py-pexpect package which ipython requires.
2017-03-16 21:24:36 -07:00
scheibelp
0b27a7e13d Detect when OS updates affect compiler selection (#3410)
Fixes #1476

Concretization uses compilers defined in config files and if those
are not available defaults to searching typical paths where the
detected operating system would have a compiler. If there is an OS
update, the detected OS can change; in this case all compilers
defined in the config files would no longer match (because they would
be associated with the previous OS version). The error message in
this case was too vague. This commit adds logic for detecting when it
is likely that the OS has been updated (in particular when that
affects compiler concretization) and improves the information provided
to the user in the error message.
2017-03-16 21:08:13 -07:00
scheibelp
5936ad2ca7 Dont propagate flags between different compilers (#3379)
* Dont propagate flags between different compilers

Fixes #2786

Previously when a spec had no parents with an equivalent compiler,
Spack would default to adding the compiler flags associated with the
root of the DAG. This eliminates that default.

* added test for compiler flag propagation

* simplify compiler flag propagation logic
2017-03-16 21:07:35 -07:00
Todd Gamblin
328b2142f5 Fix Qt4 build on Yosemite (10.11) (#3444) 2017-03-16 17:55:06 -07:00
Erik Schnetter
4f05fb4b3f gasnet: Convert to AutotoolsPackage, update (#3455)
* gasnet: Convert to AutotoolsPackage, update

- convert to AutotoolsPackage
- add new version 1.28.0
- create variants for IB and MPI support

* gasnet: Don’t specify prefix explicitly

* gasnet: Add missing variant descriptions

* gasnet: Correct syntax error
2017-03-16 18:12:25 -05:00
scheibelp
9a27dec8e8 Dont auto-init compiler conf for 'compiler find' (#3439)
Fixes #3428

Users can run 'spack compiler find' to automatically initialize their
compilers.yaml configuration file. It also turns out that Spack will
implicitly initialize the compilers configuration file as part of
detecting compilers if none are found (so if a user were to attempt to
concretize a spec without running 'spack compiler find' it would not
fail). However, in this case Spack was overlooking its own implicit
initialization of the config files and would report that no new
compilers were found. This commit removes implicit initialization when
the user calls 'spack compiler find'.

This did not surface until #2999 because the 'spack compiler' command
defaulted to using a scope 'user/platform' that was not accounted for
in get_compiler_config (where the implicit initialization logic
predates the addition of this new scope); #2999 removed the scope
specification when checking through config files, leading to the
implicit initialization.
2017-03-16 11:24:34 -07:00
Adam J. Stewart
99ef28b5d2 Add latest version of lmod (#3467) 2017-03-16 12:50:30 -05:00
Adam J. Stewart
4c7a721341 Add latest version of git, convert to AutotoolsPackage (#3466) 2017-03-16 12:50:10 -05:00
Erik Schnetter
2eda08f192 julia: New variant +simd (#3458) 2017-03-16 11:49:37 -05:00
Erik Schnetter
83fe65e121 hwloc: Add missing dependencies (#3457)
* hwloc: Add missing dependencies

- add several missing dependencies
- add variants for various features
- add new version 1.11.6

* hwloc: Add descriptions to variants
2017-03-16 11:48:39 -05:00
Erik Schnetter
53ca628d8b qthreads: New version 1.12 (#3464) 2017-03-16 10:08:48 -05:00
Erik Schnetter
a609d22b95 pocl: Introduce virtual package “opencl” (#3461)
OpenCL is a standard like MPI, with several versions and several implementations.
2017-03-16 09:47:46 -05:00
Erik Schnetter
d6a7000aee py-numpy: Correct typos in comment (#3462) 2017-03-16 09:45:09 -05:00
Erik Schnetter
19a90ccc19 py-scipy: New version 0.19.0 (#3463) 2017-03-16 09:39:26 -05:00
Javier
9e1e3a203a Adding new package: py-jpype (#3402)
* Adding new package: py-jpype

* Moving jdk dependency
2017-03-16 06:37:09 -05:00
Adam J. Stewart
4518ff0150 Add latest version of lua (#3454) 2017-03-15 21:28:56 -05:00
Adam J. Stewart
a40ccc24d6 Add latest version of pcre (#3453) 2017-03-15 21:28:29 -05:00
Adam J. Stewart
72890f4840 Add latest version of readline (#3452) 2017-03-15 20:36:24 -05:00
Adam J. Stewart
caf209bdd7 Add latest version of libiconv (#3451) 2017-03-15 20:08:01 -05:00
Gregory Lee
d0060bc318 added parallel studio composer edition 2017.2 (#3450) 2017-03-15 18:51:18 -05:00
Adam J. Stewart
7be728d551 Add latest version of libsigsegv (#3449) 2017-03-15 18:00:17 -05:00
Adam J. Stewart
9f1af5913b Add latest version of cURL (#3447) 2017-03-15 16:01:10 -05:00
Adam J. Stewart
41114c3e76 Add latest version of Intel Parallel Studio (#3445) 2017-03-15 13:46:48 -05:00
健美猫
9af7bef10b Add version 4.0 for foam-extend. (#3442) 2017-03-15 13:02:36 -05:00
Adam J. Stewart
dca4d2b15e Consistent docs and usage of env mod methods (#3351) 2017-03-14 22:26:44 -07:00
Denis Davydov
560d28ac7f fix automatic mixing of clang with gfortran 6.3.0 on macOS (#3427)
* fix automatic mixing of clang with gfortran 6.3.0 on macOS
* automatically mix any gfortran with any clang on macOS
* adjust the unit test
2017-03-14 09:48:27 -07:00
Massimiliano Culpo
8c3edfd36f test/file_cache.py: ported to pytest (#3429) 2017-03-14 09:07:04 -07:00
Adam J. Stewart
64bd7adefa Fix vim ~gui behavior (#3432) 2017-03-14 07:45:17 -07:00
Adam J. Stewart
5430d45db1 Add latest version of openpyxl and missing dependencies (#3431) 2017-03-14 07:44:46 -07:00
Adam J. Stewart
b203058891 Fix zlib %pgi build (#3436) 2017-03-14 07:43:54 -07:00
Erik Schnetter
415c9398d2 ncurses: Use gawk as awk (#3425) 2017-03-14 07:43:02 -07:00
Todd Gamblin
d11e262b36 Fix from_sourcing_files(): decode json input as utf-8 (#3433) 2017-03-13 15:52:36 -07:00
Erik Schnetter
9121599145 New package pocl (#3413)
* New package pocl

* pocl: Update dependencies, add self-test

* pocl: Don't require LLVM shared libraries

LLVM build fails with shared libraries.

* Add patch

* Update

* Update

* Make build and install work; install test still fails

* Split pocl into pocl proper and pocl-test

* Add debug output

* pocl: Update to 0.14-rc

* pocl: Correct flake8 error

* pocl: Heed code review recommendations

* pocl: Add newline at end of file

* pocl: Correct flake8 error

I don’t want to use an even longer line by putting the whole variant declaration onto a single line, nor do I think that having an overlong line and adding `# noqa` at the end is more readable than splitting a string over three lines.

* pocl: Correct dependency type for libtool
2017-03-12 12:52:18 -05:00
Denis Davydov
0b948da74c gnuplot: fixed broken package and add variants (#3185)
* gnuplot: fix conflict in header via a simple patch; add variants

* gtkplus: fix missing dependency

* wx: fix build on macOS; switch to AutotoolsPackage

* gnuplot: add missing dependencies

* wx: put back parallel build
2017-03-12 09:37:26 -05:00
Erik Schnetter
d8f1446265 julia: New version 0.5.1 (#3418)
* julia: New version 0.5.1

* julia: Define url on a single line
2017-03-11 21:04:44 -06:00
Erik Schnetter
9a14597493 autoconf: Correct m4 dependency declaration (#3415)
* autoconf: Correct m4 dependency declaration

Closes #3406.

* autoconf: Correct m4 dependency type

* autoconf: Update comment
2017-03-11 21:04:18 -06:00
Erik Schnetter
02db630985 hwloc: Disable OpenCL (#2854)
* hwloc: Disable OpenCL

* hwloc: Convert `install` to `configure_args`
2017-03-11 20:59:06 -06:00
Erik Schnetter
41a3957540 libxsmm: Add header-only variant (#3419)
* libxsmm: Add header-only variant

* libxsmm: Implement requestes from code review

* libxsmm: Correct error in previous simplification

* libxsmm: Raise error if `header-only` variant is not supported by version

* libxsmm: Correct flake8 errors
2017-03-11 16:00:47 -06:00
Erik Schnetter
18ac76b320 bison: Declare m4 dependency correctly (#3424)
* bison: Declare m4 dependency correctly

* bison: Declare m4 as run-time dependency
2017-03-11 15:58:57 -06:00
Erik Schnetter
23d4a60639 funhpc: New package (#3421)
* funhpc: New package

* funhpc: Rename development version to “develop”

* funhpc: Try to make flake8 happy

* funhpc: Correct flake8 error
2017-03-11 15:58:09 -06:00
Erik Schnetter
63a8f79980 Correct inconsistency in comment (#3414) 2017-03-11 12:52:08 -06:00
Erik Schnetter
7e3eaba899 hdf5-blosc: Update compiler selection in self-test (#3417) 2017-03-11 12:50:54 -06:00
Erik Schnetter
093ffdfa45 cuda: Allow using unknown compilers (#3416)
* cuda: Allow using unknown compilers

* cuda: Correct flake8 error
2017-03-11 12:42:02 -06:00
Erik Schnetter
b30637e1ce py-yt: New version 3.3.4 (#3420) 2017-03-11 12:39:33 -06:00
Erik Schnetter
48640cf2fa binutils: Add gettext dependency (#3423) 2017-03-11 12:38:51 -06:00
Elsa Gonsiorowski
eef2021d91 pdsh basic package (#3408)
* added basic pdsh package

* need link to actual archive file
2017-03-11 09:12:26 -06:00
Todd Gamblin
e3101808ae Make multimethods work with inheritance. (#3411)
Previously, this would fail with a NoSuchMethodError:

    class Package(object):
        # this is the default implementation
        def some_method(self):
            ...

    class Foo(Package):
        @when('platform=cray')
        def some_method(self):
            ...

        @when('platform=linux')
        def some_method(self):
            ...

This fixes the implementation of `@when` so that the superclass method
will be invoked when no subclass method matches.

Adds tests to ensure this works, as well.
2017-03-11 05:48:36 -08:00
Mario Melara
15f80ed15c Add paths to PKG_CONFIG_PATH to find cray .pc file (#3378)
* Add paths to PKG_CONFIG_PATH to find cray .pc file

Adds two paths: /usr/lib64/pkgconfig and /usr/local/lib64/pkgconfig.

cray pkg-config looks at two different paths which are not included
in PKG_CONFIG_PATH environment variable. This PR addresses #3167.

* Flake8 fixes

* flake8 fix again
2017-03-10 16:29:20 -08:00
scheibelp
e727f56d89 Features/compiler config consistency (#2999)
* default scope for config command is made consistent with cmd/__init__ default

* dont specify a scope when looking for compilers with a matching spec (since compiler concretization is scope-independent)

* config edit should default to platform-specific file only for compilers

* when duplicate compiler specs are detected, the exception raised now points the user to the files where the duplicates appear

* updated error message to emphasize that a spec is duplicated (since multiple specs can reference the same compiler)

* 'spack compilers' is now also broken down into sections by os and target

* Added tests for new compiler methods
2017-03-10 13:58:48 -08:00
Javier
68f5b9adf8 Adding new package: py-lxml (#3403)
* Adding new package: py-lxml

* Adding missing version
2017-03-10 13:18:17 -06:00
Javier
a1e8644f63 Adding new package: py-elasticsearch (#3398)
* Adding new package: py-elasticsearch

* Adding missing dependency
2017-03-10 12:48:41 -06:00
Javier
0c9ddeafe4 Adding new package: py-keras (#3400)
* Adding new package: py-keras (and dependencies)

* Fixing dependencies
2017-03-10 12:48:22 -06:00
Jon Rood
6066526492 Confining CPPFLAGS=-P to only happen for GCC. (#3404) 2017-03-10 12:48:03 -06:00
Javier
22d7f9da40 Adding new package: py-py4j (#3390)
* Adding new package: py-py4j

* Adding missing depedency
2017-03-10 07:30:28 -06:00
Javier
a7f35b3db6 Adding new package: py-joblib (#3399) 2017-03-10 07:30:01 -06:00
Javier
84db03b5a8 Adding new package: vdt (#3396) 2017-03-10 07:08:41 -06:00
Javier
901f044bbf Adding new package: vc (#3397) 2017-03-10 07:08:17 -06:00
Javier
f0fd0156de Adding new package: py-pathos (and dependencies) (#3391)
* Adding new package: py-pathos (and dependencies)

* Fixing required versions
2017-03-09 17:28:32 -06:00
George Hartzell
611df0bebf New gcc uses C++14 mode, this fixes implicit conversion (#3392)
* New gcc uses C++14 mode, this fixes implicit conversion

The issue is described in depth [here][desc].  C++14 no longer
allows implicit conversion from iostream classes to void*.

This patch comes directly from [PR #6][patch].

[desc]: http://stackoverflow.com/questions/38659115/make-fails-with-error-cannot-convert-stdistream-aka-stdbasic-istreamchar
[patch]: https://github.com/agordon/libgtextutils/pull/6

* mend
2017-03-09 17:27:56 -06:00
Javier
ebd5066d07 Adding new package: py-4suite-xml (#3389) 2017-03-09 13:44:37 -06:00
Gregory Lee
604b75c1f9 created elf virtual package and updated dependent packages (#3317)
* created elf virtual package and updated dependent packages
* added `hide_files` context manager to handle moving files.
2017-03-09 10:36:32 -08:00
Erik Schnetter
2ac343e92e cosmomc: New package CosmoMC (#3292)
* cosmomc: New package CosmoMC

* cosmomc: Improve version numbering scheme

* planck-likelihood: New package

* cosmomc: Pacify flake8

* cosmomc: Code cleanup as requested in the review

* cosmomc: Various updates suggested during review

* cosmomc: Limit compiler versions (as documented in the build instructions)

* cosmomc: Correct flake8 error

* cosmomc: Use `libs` instead of `lapack_libs`

* planck-likelihood: Make makefile output more verbose and readable

* planck-likelilhood: Correct order of libraries when calling linker

* cosmomc: Clean up check for suitable compiler

* planck-likelihood: Use modern mechanism to set environment variables
2017-03-09 08:14:13 -06:00
Brian Van Essen
21e913bac5 Updated the spectrum-mpi package to get the right compiler names when (#3381)
we use spectrum.
2017-03-09 08:11:59 -06:00
Michael Kuhn
44b165461a udunits2: Add build dependency on texinfo (#3383) 2017-03-09 08:11:23 -06:00
Michael Kuhn
c1f8fbed34 ncl: Update to 6.4.0 (#3384) 2017-03-09 08:11:06 -06:00
Javier
e8c8e444e8 Fixing checkum of py-coverage v4.3.4 (#3386) 2017-03-09 08:10:45 -06:00
Massimiliano Culpo
f2c1cbdcd3 patch: configure and build out of source fixes #3387 (#3388) 2017-03-09 07:40:05 -06:00
Brian Van Essen
acf95c92a6 Fixes the Elemental and LBANN packages to conform to the new syntax (#3382)
introduced by PR https://github.com/LLNL/spack/pull/1875
2017-03-08 14:32:26 -06:00
healther
bacb60457d Add package py-guiqwt and dependencies (#3334)
* add package py-guiqwt with dependencies

* fixed url

* fixed url2

* Update package.py

* Update package.py
2017-03-08 10:18:57 -06:00
Massimiliano Culpo
f1d66467e3 package.py: packages dump build dependencies in prefix (#3373)
Modifications:
- `dump_packages` copies build dependencies into `$prefix/.spack`, as well as the link/run dependencies that we already copied there.
- fake installs copy dependency packages into `$prefix/.spack` as well
2017-03-07 07:05:45 -08:00
Massimiliano Culpo
c6d9a45f18 test/environment.py: ported to pytest, added a test on separators (#3375) 2017-03-07 07:03:12 -08:00
AP97
3d9cd72e33 Adding farmhash package from google (#3239)
* Adding farmhash package from google
2017-03-07 07:02:08 -08:00
Aidan San
5d1a16805e Added gemmlowp package (#3240) 2017-03-07 07:00:53 -08:00
Hans Pabst
2ae1ebbbe8 LIBXSMM 1.7.1 (#3371)
* Cleanup list of offered versions (only the latest update release of each minor version is kept: 1.4.4, 1.5.2, 1.6.6, 1.7.1); introduced master revision (via Git). Slightly more selective installation of the documentation; copy README.md and LICENSE files to documentation folder. Removed outdated build options (make_args); generally stay with LIBXSMM's defaults (general purpose build). Introduced one build variant ("debug").

* Incorporated comments of PR #3371 (https://github.com/LLNL/spack/pull/3371).

* Fixed flake8 complaints.

* Made the full list of versions available starting with version 1.4 (there are earlier releases, however those have been released before the Spack specification became available; original spec. also started with 1.4).

* Made DBG and TRACE actually two separate arguments.
2017-03-07 06:58:17 -08:00
Erik Schnetter
55e1550a59 openblas: Run tests only when requested (#3370)
The tests fail on some systems (e.g. Comet at SDSC) that impose limits on the number of processes or threads one can run simultaneously on the head node. Thus the tests should not be run by default.
2017-03-05 12:29:02 -06:00
Barry Smith
00d6cb9a8f Fixes veclibfort which was broken by PR1875 (#3368)
Funded-by: IDEAS
Project: IDEAS/xSDK
Thanks-to: Adam J. Stewart
2017-03-05 07:34:38 -06:00
healther
a7bab8a418 add package py-py-cpuinfo (#3339)
* add package py-py-cpuinfo

* renamed package to py-cpuinfo
2017-03-04 20:12:37 -06:00
Adam J. Stewart
a2d70a45fb Allow find_libraries to accept lists or strings (#3363)
* Allow find_libraries to accept lists or strings

* Convert one more example from list to string
2017-03-04 11:23:57 -06:00
Massimiliano Culpo
192a4b30f0 atlas: added a missing property decorator (#3366) 2017-03-04 10:24:48 -06:00
Denis Davydov
a36ed7fb9b fix blas/lapack usage after PR 1875 (#3365) 2017-03-04 09:42:02 -06:00
serbanmaerean
c3ac86310e ADIOS: change subclassing from Package to AutotoolsPackage (#3230)
* ADIOS: change the invocation of python script that generates test files

The python script ADIOS*/utils/gpp/gpp.py is invoked directly in the
ADIOS*/tests/genarray/Makefile and the name of the python interpreter
can be quite long if it is one built under spack, i.e. longer than the
80 characters allowed by the #! line in bash.  The name of the shbang
line is truncated at 80 characters and bash cannot find the python
interpreter specified.

This fix changes how the script is executed, by invoking it under
python. This way, the shbang line is ignored.

* adios: fixed flake8 errors from previous commit.

* adio: Switch to AutotoolsPackage class from Package class

Switched in order to add support for the ppc64le platform.
2017-03-04 07:53:50 -06:00
Jon Rood
0c1441c3e3 Using fPIC in PERL when using an Intel compiler. (#3355) 2017-03-04 07:50:38 -06:00
Adam J. Stewart
d52ac82f95 Convert gl2ps to CMakePackage (#3360)
* Convert gl2ps to CMakePackage

* Remove unused spec variable
2017-03-04 07:49:57 -06:00
Erik Schnetter
3e4fced7d8 ncurses: Work around an awk bug (#3361) 2017-03-04 07:49:12 -06:00
healther
1e6871add1 correct ipython dependency (#3332)
* correct ipython dependency

* needed to introduce a github download for py-jedi

* corrected dependencies

* restrict appnope dependency to darwin>10.8

* flake8 fix
2017-03-04 07:45:07 -06:00
healther
16c08fb5b3 add package py-junit-xml (#3336)
* add package py-junit-xml

* Update package.py

* flake8 fix
2017-03-04 07:44:36 -06:00
eklee15
c4e7cfe02b Added magma package (#3273)
* Added magma package

* Incorporated Serban's change

* Removed cmake dependency
2017-03-03 21:37:29 -06:00
healther
f34cd4be2b add package py-neo and py-quantities (#3337)
* add package py-neo and py-quantities

* Update package.py

* fixed errors
2017-03-03 21:34:20 -06:00
healther
ec81643906 add package py-pyminifier (#3340) 2017-03-03 21:34:04 -06:00
healther
b6ebfdaa60 add package py-serial (#3341)
* add package py-serial

* fixed setuptools dependency
2017-03-03 21:33:48 -06:00
healther
16e77086e0 add package py-pyfftw (#3342)
* add package py-pyfftw

* Update package.py
2017-03-03 21:33:31 -06:00
Adam J. Stewart
e7b019bf48 Revert "Make libgcc_s relocatable on Macos by adding @rpath to installname" (#3349) 2017-03-03 21:32:44 -06:00
Denis Davydov
003e841016 openblas: fix flags (#3344) 2017-03-03 19:30:35 -06:00
Andrew Holler
1cf8dbd200 features/highwayhash (#3242)
* Adding highwayhash package from Google

* Added the highwayhash package for Tensorflow

* Fixed the numerous flake8 issues

* fixed requested changes

* added conditionals for some installs

* forgot an import

* create install directories before you install anything in them
2017-03-03 19:00:43 -06:00
healther
8333c56ab8 add versions to package py-pandas (#3338) 2017-03-03 16:35:04 -06:00
Adam J. Stewart
678603f3cc scipy build fails when built in parallel (#3275) 2017-03-03 16:31:03 -06:00
Joschka Lingemann
7ef95767ee Fix error raised for multiple virtual packages. (#3306) 2017-03-03 16:30:32 -06:00
Erik Schnetter
37eb59622d opencoarrays: Correct download url, update version (#3322) 2017-03-03 16:29:56 -06:00
健美猫
9ec148e484 Add package sga. (#3330) 2017-03-03 16:28:34 -06:00
healther
dfbe3278c4 add package py-lmfit (#3333)
* add package py-lmfit

* needed to deactivate testing in openblas due to spec.cppflags being undefined

* undid openblas modification
2017-03-03 16:27:32 -06:00
healther
7dff5e7646 add package py-myhdl (#3335)
* add package py-myhdl

* Update package.py
2017-03-03 16:27:14 -06:00
Adam J. Stewart
897d0f3f3e Fix unexpected keyword error in Python 2.6 (#2954) 2017-03-03 15:24:44 -06:00
健美猫
d63a53e691 Fix simul by diabling inline and replacing mpicc command. (#3323) 2017-03-03 10:19:17 -06:00
healther
191bf1e132 add package py-elephant (#3302)
* add package py-elephant

* add variants for docs and pandas
2017-03-03 08:39:06 -06:00
healther
ba21940409 add resource manpages to package git (#3299)
* add resource manpages to package git

* Update package.py

* added manpages per version

* added explaining comment

* fixed synatx error
2017-03-03 08:07:50 -06:00
healther
def42f156d add flex variant to cscope (#3252)
* add flex variant to cscope

* fixed dependency

* fixed typo
2017-03-03 08:06:25 -06:00
健美猫
9df2649d02 Add package mdtest. (#3303) 2017-03-03 08:05:16 -06:00
健美猫
f443490f34 Add package sctk. (#3325) 2017-03-03 08:04:01 -06:00
健美猫
e4a0d8a78e Add packag gradle. (#3326) 2017-03-03 08:02:32 -06:00
healther
bb997d2de5 add package py-spyder (#3312)
* add package py-spyder

* fixed dependencies

* py-flake8 -> py-pycodestyle

* fixed packagename

* Update package.py

* Update package.py
2017-03-03 08:01:20 -06:00
healther
818118c589 add package py-qtawesome (#3308)
* add package py-qtawesome

requires py-qtpy

* fixed url

* remove unnecessary comment
2017-03-03 08:00:21 -06:00
healther
2d395d7d75 add package py-qtpy (#3307)
* add package py-qtpy

* (re)added qt dependence

* changed url
2017-03-03 08:00:01 -06:00
healther
ac0fa0ca6e add package py-numpydoc (#3311)
* add package py-numpydoc

* removed unnecessary dependency

* added dependency
2017-03-03 07:59:28 -06:00
健美猫
7511c9cd1a Add a new version for bamtools 2.4.1. (#3328) 2017-03-03 07:58:41 -06:00
healther
15c311fbeb add package notmuch and dependencies (#3329)
* add package notmuch and dependencies

depends on
* gmime

* flake8 again
2017-03-03 07:57:47 -06:00
healther
4494233c93 add package gmime (#3327)
* add package gmime

* flake8 fix..
2017-03-03 07:57:15 -06:00
Adam J. Stewart
7fcd414050 Fixes to allow Boost to build with Python 3 (#3293)
* Fixes to allow Boost to build with Python 3

* Restrict patch to Python 3 only
2017-03-02 18:36:10 -06:00
Adam J. Stewart
bde0a67415 Add new package for PaGMO/PyGMO (#3210)
* Add new package for PaGMO/PyGMO

* Rename py-pygmo to pagmo

* Fix concretization bug

* Correct Python detection, use correct flags

* Install PyGMO to the pagmo prefix, not the Python prefix
2017-03-02 18:35:19 -06:00
Federico Padua
ecca9abc72 Ior package: fix build issues (#3276)
This commits address build issues reported in issue #3268.
In particular, makes cleaner the dependency on parallel-netcdf
when +ncmpi variant is requested and adds CFLAGS=-D H5_USE_16_API
to handle the fact that Ior uses old 1.6 style APIs when +hdf5 is
requested.
These changes make Ior build fine and create modules for HDF5 versions
1.8.x and 1.10.0.
Even though build is successfull the modules haven't been tested in a
run.
2017-03-02 18:33:36 -06:00
Adam J. Stewart
a7be0d4e5d Convert icu4c to AutotoolsPackage (#3316) 2017-03-02 18:32:04 -06:00
Patrick Gartung
4afb7a729c Make libgcc_s relocatable on Macos by adding @rpath to installname (#1671)
* Make libgcc_s relocatable

* spack specifies full path to lib64

* don't need trailing /

* setting rpath is different on macos

* add -headerpad_max_install_names linker options

* formatting fixes

* Add Adam's recommendation
2017-03-02 16:39:05 -06:00
healther
7baefa83b9 add package py-jedi (#3313) 2017-03-02 16:29:01 -06:00
healther
c67b8173e3 add package py-rope (#3314) 2017-03-02 16:28:42 -06:00
healther
a562d684b7 add various variants to vim (#3255)
* add various variants to vim

* default to --enable-fail-if-missing

* vim package: -{python,ruby,lua,perl} sets build option to `no`

* vim's interpreter build options are `--enable-XXXXinterp={yes,no,dynamic}`
* dynamic seems to work only on windows builds
* `=no` is the default => use it in spack if the variant is disabled
2017-03-02 14:26:52 -06:00
healther
d0835289e8 add package py-chardet (#3310) 2017-03-02 13:50:21 -06:00
healther
73836fccd2 add package py-boltons (#3279)
* add package py-boltons

* added description

* fixed non-utf8 characters
2017-03-02 12:51:00 -06:00
Michael Kuhn
6d0fbe7d96 Update adios to 1.11.1 (#3221)
Add a zfp variant and a patch that resets the interpreter for gpp.py.
2017-03-02 12:44:43 -06:00
healther
acb72c7037 add package py-brian (#3280)
* add package py-brian

* fixed typo

* removed unnecessary dependency

* fixed typo2
2017-03-02 12:44:09 -06:00
healther
c610c197ba Feature/py doxypy (#3283)
* add package py-doxypy

* fixed template and url
2017-03-02 12:44:01 -06:00
healther
9607c55eac add package py-doxypypy (#3284) 2017-03-02 12:43:43 -06:00
healther
98baff0167 add package py-fasteners (#3285)
* add package py-fasteners

* fixed dependencies
2017-03-02 12:43:34 -06:00
healther
a8c57d65c1 add package py-flexx (#3288) 2017-03-02 12:43:24 -06:00
healther
2f0c3d81aa add version 2.0.0 for py-matplotlib (#3289) 2017-03-02 12:43:13 -06:00
healther
0c014bf36c add package py-lazyarray (#3290)
* add package py-lazyarray

* added numpy dependency

* flake8 fixes
2017-03-02 12:43:02 -06:00
healther
7bcc12a3c1 add package py-lazy (#3291) 2017-03-02 12:42:33 -06:00
健美猫
0c1ccd5180 Add simul. (#3300) 2017-03-02 12:42:15 -06:00
Brian Van Essen
5bb22c3024 Added a recipe for the Caffe deep learning toolkit. (#3232)
* Added a recipe for the Caffe deep learning toolkit.

* Added code to extend python and fixed flake8 error.

* Fixed Flake8 error
2017-03-02 12:30:00 -06:00
Massimiliano Culpo
ed582cef68 New interface for passing build information among specs (#1875)
- Added a new interface for Specs to pass build information
  - Calls forwarded from Spec to Package are now explicit
  - Added descriptor within Spec to manage forwarding
  - Added state in Spec to maintain query information
  - Modified a few packages (the one involved in spack install pexsi) to showcase changes

- This uses an object wrapper to `spec` to implement the `libs` sub-calls.
  - wrapper is returned from `__getitem__` only if spec is concrete
  - allows packagers to access build information easily
2017-03-02 10:01:29 -08:00
Massimiliano Culpo
5ce926d2d1 test/packages: fixed test suite (#3236)
It seems the tests in `packages.py` were running just because we had a specific order of execution. This should fix the problem, and make the test_suite more resilient to running order.
2017-03-02 09:29:23 -08:00
Denis Davydov
88f97c07de fix build of 64bit PETSc and Trilinos in the same deal.II DAG (#3223)
Declare that (i) Trilinos can be only built against 32bit Hypre
(ii) SLEPc can not be built with Arpack when 64bit indices are used
(iii) reflect those constraints in deal.II's depends_on
While there, add extra release flags for best performance.
2017-03-02 08:16:58 -06:00
Jon Rood
8f915de610 Updating SAMRAI package with new urls and new versions (#3188)
* Updating SAMRAI package file with new urls and new versions. Also using Spack's MPI compilers.

* Using default optimization for Samrai and setting type to build for m4 dependency.

* Adding debug variant to Samrai.

* Converting Samrai to AutotoolsPackage.
2017-03-02 06:52:53 -06:00
healther
ffce6e1c4e add variant shared to yaml-cpp (#3254) 2017-03-01 16:36:46 -06:00
healther
20360f6727 add package py-current (#3282) 2017-03-01 15:34:04 -06:00
eklee15
8b52a87285 Add xl and spectrum mpi support for mumps (#3231)
* Add xl and spectrum mpi support for mumps

* Incorporated Denis's comments. fPIC and if-else
2017-03-01 15:33:41 -06:00
eklee15
4e601bb6d3 Exclude a few packages to build with xl (#3270) 2017-03-01 14:46:58 -06:00
healther
fa294a25db add version 2.2.0 to package bear (#3278) 2017-03-01 13:37:47 -06:00
healther
1ee470c37e Add package: git-review (#3088)
* Add git-review

* Fix flake8 errors

* use PythonPackage for git-review

* added dependencies for git-review

* fix flake8

* moved url's to pypi.io based urls

* fixed flake8... again

* mostly url fixes, not tested, will do tomorrow

* flake8 fix

* changed URL for py-pysocks

* Fixed URL for pysocks

* fixed url
2017-03-01 12:29:22 -06:00
healther
5fe96dec27 add packages vcsh (#3256)
* add packages vcsh

* added git dependency

* added comment regarding makefile
2017-03-01 07:51:36 -06:00
healther
6a1a2d5ec1 add package units (#3257)
* add package units

* removed unnecessary dependency

* readded python dependency
2017-03-01 07:51:17 -06:00
healther
2fb179f55b add package py-xmlrunner and fix unittest2 dependency (#3260)
* add package py-xmlrunner and fix unittest2 dependency

* add setuptools dependency
2017-03-01 07:51:05 -06:00
healther
d5884bdb78 add package py-symfit (#3264)
* add package py-symfit

* added missing dependency

* fixed ordering of versions
2017-03-01 07:50:54 -06:00
healther
4e433f8a03 add package py-statsmodels and py-patsy (#3265)
* add package py-statsmodels and py-patsy

* fixed typo

* fixed urls

* removed rc version
2017-03-01 07:50:28 -06:00
Adam J. Stewart
186d990791 pip requires setuptools during runtime (#3272) 2017-03-01 07:49:57 -06:00
Gregory Lee
ecc8f578af added urls for Intel Parallel Studio (#3220) 2017-02-28 14:57:10 -06:00
healther
37c36cf04e add package py-tqdm (#3262)
* add package py-tqdm

* added py-setuptools dependency
2017-02-28 13:36:32 -06:00
eklee15
bce2accb69 xl support for suite-sparse (#3226)
* xl support for suite-sparse

* make_args.extend([
    'CFLAGS={0}'.format(self.compiler.pic_flag),
    'FFLAGS={0}'.format(self.compiler.pic_flag)
])
2017-02-28 11:26:49 -08:00
eklee15
9be0c06b98 Patch hypre to support ppc64le (#3238)
- Patch applies through v2.11.1
2017-02-28 11:24:43 -08:00
healther
c32a9416ec add package py-tabulate (#3263)
* add package py-tabulate
* added py-setuptools dependency
2017-02-28 11:20:46 -08:00
Jean-Paul Pelteret
86276cd734 Update Adol-C to AutotoolsPackage; Change develop repository (#3246)
The new repository for the development version points to the most
up-to-date official source for Adol-C. The previous SVN repository was
only occasionally sync'd with this repository.
2017-02-28 13:18:40 -06:00
Thierry
315dfe0970 nfft distclean before configure patch (#3241) 2017-02-28 13:05:01 -06:00
healther
d1040b7111 add package py-sh (#3266)
* add package py-sh

* removed constraint on py-setuptools
2017-02-28 12:59:43 -06:00
Adam J. Stewart
c1382f9d02 Fix infinite recursion in swig build (#3249) 2017-02-28 12:58:08 -06:00
Bryce Allen
b2784f3664 add sz package (#3251) 2017-02-28 12:57:16 -06:00
healther
dee2259f3a add package py-saga-python and dependencies (#3267)
* add package py-saga-python and dependencies

* fixed url and dependencies
2017-02-28 12:56:36 -06:00
healther
70d0cdcd0a add package py-attrs (#3253) 2017-02-28 10:51:31 -06:00
healther
be0033ac91 add py-ranger package (#3258) 2017-02-28 10:21:06 -06:00
healther
25f10cca48 add package py-xarray (#3259) 2017-02-28 10:17:43 -06:00
healther
a43f2a49cb add version 0.29.0 to py-wheel (#3261) 2017-02-28 10:12:51 -06:00
Denis Davydov
b5b1e58843 numdiff: add 5.9.0 (#3243) 2017-02-26 08:17:17 -06:00
Eric Müller
ef55b01906 Add py-mock version 2.0.0 (#3234) 2017-02-24 08:05:49 -06:00
Eric Müller
06f366c53f Add bazel version 0.4.4 (#3233) 2017-02-24 08:05:21 -06:00
Javier
9650afd97e Fixing graphviz issue when calling spec (#3225) 2017-02-23 07:56:39 -06:00
Denis Davydov
60b7e13e1a fix py-setuptools (#3217) 2017-02-22 15:15:23 -08:00
Pramod Kumbhar
c9f705ffc2 Add SCOREC Core package for unstructured mesh simulations. (#3202)
* Add SCOREC Core package for unstructured mesh simulations.
2017-02-22 14:03:11 -08:00
Pramod Kumbhar
f86dcd8b4c Fix scotch build on bg-q (#3196)
* Fix build issue #3190 on bg-q :
 - disable parallel build as it produces weired linker errors
   in cross compiling environment
 - update ldflags for bg-q as per Makefile provided Makefile.inc.ppca2_ibm_bgq
* Added note about -lpthread vs -pthread
2017-02-22 11:04:14 -08:00
Kim Serradell
871a94ee41 Updating homepages and sources from two BSC packages (#3216)
* Corrected extrae package homepage and url
* Corrected paraver package homepage and url
* To fix 'undefined reference to libintl_dgettext' appearing in extrae package when using binutils+libiberty
* Adding support to previous paraver version and reverting binutils changes to open another PR
2017-02-22 11:03:25 -08:00
Todd Gamblin
539a454900 Convert Jaspert to AutotoolsPackage (#3212) 2017-02-22 09:29:34 -08:00
eklee15
52fab8fff3 Boost modification for IBM xl compiler (#3205)
Tested with:
spack install boost@1.62.0+iostreams%xl_r^zlib%gcc^bzip2%gcc
2017-02-21 16:40:09 -08:00
healther
177c54ecbf Add packages: mosh (#3098)
* Add packages: mosh

Perl is a run dependency. See https://github.com/mobile-shell/mosh/wiki/Build-Instructions
2017-02-21 09:50:06 -08:00
Javier
d49cb2734f Fixing issue wheh overwriting build_args in PythonPackage (#3200) 2017-02-21 08:04:32 -06:00
Javier
3195264546 Fix malformed py-appdirs patch (#3203) 2017-02-21 07:51:19 -06:00
healther
7827a0ff67 Default to OpenSSL 1.0 (#3100)
* Added version 1.1 to openssl
* restore note explaining preferred=True for 1.0.2k
2017-02-20 18:21:27 -08:00
Carlos Bederián
6681fc1a47 parallel-netcdf: use spack_cc for sequential code instead of system gcc (#3143) 2017-02-20 18:19:45 -08:00
Adam J. Stewart
d2a52d6dd6 Fix setuptools bootstrapping now that dependencies are no longer vendored (#3198)
* Fix setuptools bootstrapping now that dependencies are no longer vendored
* Reorder patch and comments
* Use exact same patch as https://github.com/ActiveState/appdirs/pull/84
* Use exact same patch as https://sourceforge.net/p/pyparsing/patches/10/
2017-02-20 18:09:03 -08:00
Javier
fbbcf456e9 Updating package: geant4 (#3197) 2017-02-20 17:33:32 -08:00
Adam J. Stewart
5b6d2754d9 Add MATLAB package (#2614)
* Add MATLAB package
* Remove auto-accept license feature
2017-02-20 16:10:06 -08:00
Adam J. Stewart
f0e99456ed Fix tab completion of directories and filenames (#3184) 2017-02-20 15:44:58 -08:00
Barry Smith
ab2d6285c4 Add installer for petsc4py and slepc4py (#3187)
* Add installer for petsc4py and slepc4py
* @adamjstewart requested changes on this pull request; make these type=('build', 'run')
* @citibeth suggestion  Remove unneeded indirect dependencies
2017-02-20 15:43:33 -08:00
Adam J. Stewart
0203545eb8 Update CUDA docstring, no longer need to download manually (#3191)
* Update CUDA docstring, no longer need to download manually
2017-02-20 15:41:31 -08:00
Denis Davydov
031cde6e25 openblas: add develop version to make it work with Kabylake CPUs (#3192)
* openblas: add develop version to make it work with Kabylake CPUs
* dealii: fix develop branch
2017-02-20 15:40:46 -08:00
Pramod Kumbhar
8c2f5baa19 Fix zoltan installation issue on bg-q #3193 (#3194)
Zoltan expects mpi libraries with option --with-mpi-libs.
If this option is not provided then it uses '-lmpi' which
may not be correct. To avoid this, we have to explicitly
pass empty string.

This adds notes to the source explaining the change.
2017-02-20 15:39:51 -08:00
Adam J. Stewart
4de85ab4b7 Add new versions of several Python packages (#3195) 2017-02-20 15:38:30 -08:00
healther
8ebd49c962 add symlink variant (needed for AFS) (#3147)
* add symlink variant (needed for AFS)

* fix flake8

* added missing return statement
2017-02-20 17:14:44 -06:00
healther
c8cfe317c2 Added version 1.49.2 to gobject-introspection (#3090) 2017-02-20 07:53:33 -06:00
Carlos Bederián
4b9a37a357 silo: adding patch to support newer versions of hdf5 (#3162) 2017-02-19 17:45:19 -08:00
Barry Smith
7edea4361f Add installer for SAWs (#3186) 2017-02-19 17:44:16 -08:00
健美猫
a211795a0c Add Intel Parallel Studio XE 2016u4 and 2015u6. (#3182) 2017-02-18 19:12:05 -08:00
Adam J. Stewart
49d7f9db3d Add patches to allow PGI to build Tar properly (#3177) 2017-02-18 19:09:50 -08:00
Adam J. Stewart
4397ce8118 Replace GCC-specific warning flags with valid PGI flags (#3137) 2017-02-18 16:42:45 -06:00
Adam J. Stewart
341b78a96d Add patch to allow M4 make check to pass for PGI (#3108) 2017-02-18 16:42:13 -06:00
Denis Davydov
7f89bc1e1d octave: fix missing --without statements (#3178) 2017-02-18 16:13:00 -06:00
healther
1a5b3e184f Add package: log4cxx (#3097)
* Add log4cxx package

* add missing patch files to log4cxx

* remove unnecessary dependencies

* this fails at 'make check'

* this is the AutotoolsPackage version

* fixed install bug
2017-02-18 16:10:15 -06:00
healther
63a0ca729d Added 2017 Intel libraries (#3084) 2017-02-18 16:02:33 -06:00
healther
5712b524cc Add binutils variant +plugins (#3083)
* Add binutils variant +plugins

* added description to plugins variant
2017-02-18 16:02:01 -06:00
Jim Galarowicz
4da66d71b0 Fix for qt3 specific qt build (#3063)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Trim comments to fit more concisely.

* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.
2017-02-18 15:56:40 -06:00
sknigh
69b01c617e Added shmem variant to Score-p build (#3024)
* Disable by default to fix builds on Centos 7
2017-02-18 15:54:57 -06:00
Pramod Kumbhar
18334edf1a Bug fix: PDT configure uses -prefix, not --prefix (#2976)
* This bug was introduced in #2845.
2017-02-18 15:45:47 -06:00
Adam J. Stewart
c2d210568c Fix tab completion after change to uninstall flag (#3175) 2017-02-18 13:08:59 -06:00
Adam J. Stewart
6d3f649382 Fix readline support in spack python (#3132)
* Fix readline support in `spack python`
* Add documentation on `spack python`
* Add unit tests for `spack python`
2017-02-17 15:58:06 -08:00
serbanmaerean
0d22b3eea9 netlib-lapack: Update package file for netlib-lapack to work with IBM (#3040)
Update package file for netlib-lapack to work with IBM XL compiler

The flag -qzerosize is redundant, as the IBM XL compiler should set this flag
by default.  However, at this time the default flag appears to be ignore.
Hence, I am setting it in the package file as well, as it has no negative
effect if set twice.
2017-02-17 15:51:10 -08:00
healther
5c37c17173 Add package: py-apache-libcloud (#3101)
* Add py-apache-libcloud package
2017-02-17 15:30:49 -08:00
Adam J. Stewart
524303db06 Set default module type based on modules.yaml (#3173) 2017-02-17 13:46:31 -08:00
Adam J. Stewart
e492aff4f7 More consistent yes/no prompts (#3174)
* More consistent yes/no prompts
* Add ==> prefix to yes/no and number prompts
2017-02-17 13:45:02 -08:00
Elizabeth Fischer
29d070e50c On uninstall, change shortcut flag for --dependents to -R, as per Spack convention. (-r = --dependencies, -R = --dependents). (#1917) 2017-02-17 12:08:17 -08:00
Elizabeth Fischer
7180613218 graphviz: Tame Language Bindings (#1089)
graphviz: 
  * Download from Fedora projet, as main graphviz site not working.
  * Disable java because Spack does not yet support Java, and the system might not have it installed.
  * Added all language binding variants; disabled enough in the default configuration to avoid dependencies.
  * Removed alternate download location (turned into comments).
  * Turn off all language bindings by default.
  * Raise an exception on bindings that have not been verified to work.
  * Added text indicating what works and doesn't work when user runs `spack info`.
2017-02-17 12:07:54 -08:00
健美猫
1de2c53935 Patch openblas Makefile only when version >= 0.2.16. (#3170) 2017-02-17 12:03:43 -08:00
Adam J. Stewart
38dd01f6b5 Fix missing space in error message output (#3169) 2017-02-17 12:02:48 -08:00
Elizabeth Fischer
682d5cf164 py-git2: New Package (#1971) 2017-02-17 11:55:22 -08:00
Elizabeth Fischer
8cb7f3d262 Keep Curl Bootstrap Working With http:// (#3113)
* Add comments documenting problems in recent versions of NetCDF.
* Add comments to packages required to install curl.
2017-02-17 11:52:08 -08:00
Adam J. Stewart
a9cf99b3e2 Fix typos in External Packages documentation (#3168) 2017-02-17 11:49:55 -08:00
George Hartzell
ea1c582145 go: add support for v1.8 (#3165) 2017-02-17 11:48:45 -08:00
Denis Davydov
3c5024232c abinit: fix compilation on macOS, disable internal netcdf (#3157)
* abinit: fix compilation on macOS
* disable internal netcdf
2017-02-17 11:46:58 -08:00
Carlos Bederián
0f51daff24 hdf5: configure uses FCFLAGS instead of FFLAGS (#3155)
When building `hdf5+pic`, `-fPIC` wasn't being passed to the fortran compiler because `configure` takes `FCFLAGS` instead of `FFLAGS`.
2017-02-17 11:44:16 -08:00
Kelly (KT) Thompson
78962c8978 Provide Random123 header-only package. (#3141)
Add DESRES Random123 package:
- http://www.deshawresearch.com/resources_random123.html
2017-02-17 11:40:14 -08:00
Adam J. Stewart
c719802c83 Add new version of zlib, deprecate 1.2.10 (#3136) 2017-02-17 11:39:21 -08:00
Adam J. Stewart
4f60011121 Add patch to allow ncurses to be built with PGI (#3135) 2017-02-17 11:39:05 -08:00
Justin M Wozniak
163bdfde93 Swift/T: all packages (#3130)
* New package.py for ExM C-Utils: An initial package dependency for Swift/T
* New package.py for ADLB/X: A 2nd package dependency for Swift/T
* New package.py for Turbine
* New package.py for STC
2017-02-17 11:35:45 -08:00
Adam J. Stewart
c2fa7b1254 Add latest version of OpenSSL (#3171) 2017-02-17 07:11:54 -08:00
Ce Qin
f7a0a6fbc4 Add tag master for version develop of dealii. (#3048) 2017-02-16 18:37:20 -08:00
serbanmaerean
7bebfd29c2 spectrum-mpi: Add url info to spectrum-mpi package file (#3042)
Spack wants URL info even for external packages.  Without it, I get
the following error:

NoURLError: Package SpectrumMpi has no version with a URL.
  File "/home_local/serbanspack/spack/lib/spack/spack/repository.py", line 580, in get
    self._instances[key] = package_class(copy)
  File "/home_local/serbanspack/spack/lib/spack/spack/package.py", line 562, in __init__
    f = fs.for_package_version(self, self.version)
  File "/home_local/serbanspack/spack/lib/spack/spack/fetch_strategy.py", line 878, in for_package_version
    url = pkg.url_for_version(version)
  File "/home_local/serbanspack/spack/lib/spack/spack/package.py", line 682, in url_for_version
    raise NoURLError(cls)
2017-02-14 11:28:35 -08:00
Gregory Lee
4a20d170f4 fixes for pygtk and some dependencies (#3077) 2017-02-14 10:52:05 -08:00
Brian Van Essen
56952aaf1f LBANN (#3049)
* Creating a spack package for LLNL's LBANN (Livermore Big
Artificial Neural Network) training toolkit.

* Recipe for building LBANN toolkit.  Contains limited feature set and
is optimized for building with GNU gcc and OpenBLAS.

* Removed unnecessary dependencies based on reviewers feedback.

* Added support for the int64 data type in the Elemental library.  This
is required for supporting indices for large matrices.

* Added a variant to force a sequential weight matrix initialization.
This is slow, but provides an initialization that is independent of
model parallelism.

* Added a guard to prevent building Elemental with the Intel compiler
for versions that have known bugs.
2017-02-13 11:57:46 -08:00
Massimiliano Culpo
e34acd0074 qa: allow fast finish to avoid consuming a precious OSX build on a PR that will fail (#3120) 2017-02-10 18:21:52 -08:00
Adam J. Stewart
4dd0b349f9 Add Jmol package (#3041) 2017-02-10 16:18:56 -08:00
Adam J. Stewart
6e2903534a Add patch to allow PGI to build Bison (#3044) 2017-02-10 16:17:55 -08:00
Massimiliano Culpo
e24fdb49ea fix: don't call setup_environment when not needed (#3060)
* Don't call setup_environment when not needed. fixes #3059

* setup_environment and modules: added unit tests
2017-02-10 16:09:43 -08:00
Denis Davydov
cbbf5791ba numdiff: update dependencies and fix (#3061)
compile with -O0 as per upstream known issue with optimization and GMP,
according to Ubuntu folks.
2017-02-10 16:05:07 -08:00
Justin M Wozniak
2305f6434e New package.py for ExM C-Utils and Turbine (#3076)
* New package.py for ExM C-Utils: An initial package dependency for Swift/T
* New package turbine

* Fix package.py as requested by @adamjstewart

* New package.py for ADLB/X: A 2nd package dependency for Swift/T

* Add latest version of GNU Parallel (#3106)

* Address formatting guidelines from @adamjstewart

* WIP on new Turbine package.py

* Formatting fixes

* Complete Turbine package.py
2017-02-10 16:03:40 -08:00
healther
c98249c129 Add version 2017.0.098 to ipp (#3093) 2017-02-10 16:00:52 -08:00
Erik Schnetter
4362caa51a es: Declare readline dependency (#3071) 2017-02-10 16:00:20 -08:00
Adam J. Stewart
57855cab5d Explicitly tell MPC where to find its deps (#3073) 2017-02-10 15:59:46 -08:00
healther
563b6ab73a Add version 2017.0.098 to intel-mkl (#3092) 2017-02-10 15:55:02 -08:00
healther
2aec15a6f9 Add version 2.49.7 to glib (#3089) 2017-02-10 15:52:39 -08:00
becker33
f9e3b58d7e Make distro more robust to unreadable files (#3110)
* Make distro more robust to unreadable files. Will upstream

* Comment for clarify
2017-02-10 10:23:04 -08:00
Adam J. Stewart
f1ca79ba6c Add latest version of PGI (#3107) 2017-02-09 13:58:17 -08:00
Denis Davydov
b07835904a valgrind: add develop; fix build on macOS with clang (#3066)
- add develop version to valgrind; fix build on macOS with clang
- switch valgrind to AutotoolsPackage
2017-02-09 13:57:50 -08:00
Denis Davydov
b1eb921f28 make svn fetch quiet (#3070) 2017-02-09 13:55:18 -08:00
Adam J. Stewart
8d7bcbbbbb Add latest version of GNU Parallel (#3106) 2017-02-09 10:38:08 -08:00
Adam J. Stewart
2a3228e004 Add latest version of NCO (#3080) 2017-02-09 08:33:01 -08:00
Massimiliano Culpo
c91d18b622 qa: adjust thresholds for acceptance (#3105) 2017-02-09 08:31:57 -08:00
Todd Gamblin
b192011add Revert "db and concretization of packages modified after installation: fixes #2911" (#3078) 2017-02-08 13:12:10 -08:00
Massimiliano Culpo
79c1f7885a db and concretization of modified packages: fixes #2911 (#2920) 2017-02-07 18:28:01 -08:00
Massimiliano Culpo
28b7ef3175 codecov: added commit status, made green a reachable state (#3051) 2017-02-07 18:25:38 -08:00
Elizabeth Fischer
892955cc46 Add comments documenting problems in recent versions of NetCDF. (#3058) 2017-02-07 18:23:33 -08:00
Denis Davydov
4264051954 fix usage of self.build_directory in espressopp and astyle (#3053) 2017-02-07 18:22:52 -08:00
George Hartzell
b1f5b5f75b Add comment explaining why patch is still needed (#3054)
[The fix](https://github.com/golang/go/issues/17986) for the small buglet addressed by `misc-cgo-testcshared.patch` has been merged into the tree a while back.  I was surprised to see that it wasn't in 1.7.5 and did a bit of digging.  It is *has not* been merged into the 1.7 branch but it *has* been merged into 1.8 (and therefor the patch will no longer be necessary).

Figured I'd document my digging for the next person to come along.
2017-02-07 18:22:30 -08:00
Denis Davydov
7bf7016383 mpfr: add 3.1.5 (#3050) 2017-02-07 18:22:13 -08:00
Matthew Scott Krafczyk
f71df7bda3 move rpath from ALL to other sections of site.cfg (#3028)
* move rpath from ALL to other sections of site.cfg.  Solves #3007
* Add back mac condition to py-numpy
* Refactor py-numpy a bit.
2017-02-07 13:15:02 -08:00
Brian Van Essen
88e9bb586e Added a new version of the Google protobuf to the spack package. (#3046) 2017-02-07 10:05:02 -08:00
Adam J. Stewart
941dfcbe43 Bash Programmable Completion for Spack (#3026) 2017-02-06 12:34:35 -08:00
serbanmaerean
d78a35bb54 spectrum-mpi: Add new package file for external package (#3005)
* spectrum-mpi: Add new package file for external package

IBM Spectrum MPI is a commercial implementation of MPI based on
OpenMPI.  It is usually install in /opt/ibm/spectrum_mpi.

Users need to add the Spectrum MPI package in their packages.yaml
file as follows:

packages:
    spectrum-mpi:
        version: ['10.1.0.2']
        paths:
            spectrum-mpi@10.1.0.2: /opt/ibm/spectrum_mpi/
        buildable: False

    all:
        providers:
            mpi: [spectrum-mpi@10.1.0.2]

* spectrum-mpi: Added license files and removed the versions

No need for versions as the package is external.

* spectrum-mpi: Remove extraneous defines

Keep only the defines that other MPI implementation define in their
package file:
    self.spec.mpicc
    self.spec.mpicxx
    self.spec.mpif77
    self.spec.mpifc
2017-02-06 10:53:53 -08:00
Brian Van Essen
ffd582b2f6 Elemental (#2991)
* Add a package for the Elemental distributed linear algebra library.
2017-02-06 00:04:41 -08:00
Gregory Lee
158a1b9c36 fix OMPT support in Archer (#3035) 2017-02-05 23:34:38 -08:00
Nicolas Richart
7c09ad5305 Boostrapping the lammps package (#3032)
* First commit for the lammps package
* reviewed by adamjstewart and davydden
2017-02-05 19:34:53 -08:00
sknigh
dfff1f5cf4 Changed spark URL, Added version 2.0.2, 2.1.0 (#3027) 2017-02-05 15:56:34 -08:00
George Hartzell
d1c7f9c8bd Add a package for hunspell (#3029)
Add a package for the hunspell spelling checker.

This was created by `spack create`, trimmed down, and tested on CentOS 7.
2017-02-05 15:55:55 -08:00
健美猫
47f9096073 Use the official Maven site. (#3034) 2017-02-05 15:49:05 -08:00
Gregory Lee
ccb07dc25e added archer OpenMP race detector and its deps (#3030) 2017-02-04 15:42:22 -08:00
becker33
968199de7d Fix spec hash printing (#2941)
- Fix format printing to match command line for hashes and full name formats
- Update spack graph to use new format
- Changed format string signifier for hashes from `$#` to `$/`
2017-02-03 18:27:34 -08:00
Carlos Bederián
5aefaa6ffe Add FFTW 2.1.5 (#2987) 2017-02-03 18:26:27 -08:00
Carlos Bederián
384698157a MKL: Provide scalapack (#2974) 2017-02-03 18:18:31 -08:00
Erik Schnetter
4c1c284e56 New package “es” (extensible shell) (#3009) 2017-02-03 18:09:25 -08:00
George Hartzell
5e2827433c Update go to v1.7.5 (#3023)
Update the go package to v1.7.5.

- This release no longer needs the time-test patch (it's been merged upstream).
- This release still seems to need the cgo-testcshared patch.
- Also add a comment about environment set up that I need to build it successfully on a very large server.

Tested on CentOS 7.
2017-02-03 18:09:01 -08:00
健美猫
864670c0ab Retrive CUDA installers from Internet. (#3012) 2017-02-03 18:07:54 -08:00
sknigh
24553c12bb Flex and Glib builds are dependent on m4 (#3022) 2017-02-03 17:19:23 -08:00
George Hartzell
c456dfb60f Make module autoload warnings configurable (#2763)
Modules generated by the module creation machinery currently print out
a notice that warnts the user that things are being autoloaded.  In
some situations those warnings are problematic.  See #2754 for
discussion.

This is a first cut at optionally disabling the warning messages:

- adds a helper tothe EnvModule base class that encapsulates the
  config file variable;
- adds a method to the base class that provides a default (empty)
  code fragment for generating a warning message;
- passes the warning fragment into the bit that formats the autoload
  string;
- adds specialized autload_warner() methods in the tcl and lmod
  subclasses;; and finally
- touches up the autoload_format strings in the specialized classes.
2017-02-03 15:53:30 -08:00
George Hartzell
b28d8345ec Force particular repo to increase predictability (#2746)
The repository used by the texlive installer defaults to a redirector
that sends one off to various URLs depending on <fill in the blank>.

This is problematic because all of the mirrors do not update in
synchrony and bad tarballs often hang around for a while.

This leads to problems that are particularly hard to diagnose because
you're likely to end up using a different repo the next time around.

This commit constraints the package to a particular, mainstream,
repository.  It's not fast, but it's consistent and usually correct.

It also updates the installer digest, because no day is complete
without updating it at least (sigh) once.
2017-02-03 15:44:26 -08:00
George Hartzell
5a836fd06e Blacklist implicit packages for modulefile generation (#2603)
Add the ability to the modules generation process to blacklist
packages that were installed implicitly.  One can still whitelist
modules that were installed implicitly.

This changes adds a `blacklist_implicts` boolean as a peer to the
`whitelist` and `blacklist` arrays, e.g.:

```
modules:
  enable::
    - lmod
  lmod:
    whitelist:
      - 'lua'
      - 'py-setuptools'
    blacklist:
      -  '%gcc@4.8.3'
    blacklist_implicits: True
```

It adds a small helper in `spec.py` and then touches up the package
filtering code in `modules.py`.
2017-02-03 15:42:46 -08:00
George Hartzell
acb9281dbf Different versions of cmake need diff vers of openssl (#2993)
* Different versions of cmake need diff vers of openssl.  See Issue https://github.com/LLNL/spack/issues/2990 for background.

Versions of cmake through 3.6.9 seem to need OpenSSL up to 1.0.99.  Later
versions can use the current release (thanks to @citibeth for
[digging up details](https://cmake.org/pipermail/cmake/2016-November/064631.html)).

@davydden suggested this change.

Without it I *am not* able to build `cmake@3.6.1` on CentOS 7 and I *am*
able to build `cmake@3.7.2`.

Tested with `cmake@3.7.2` and `cmake@3.6.1` on CentOS 7.
With this change I am able to build both `cmake@3.6.1` and `cmake@3.7.2`
on CentOS 7.
2017-02-03 14:35:16 -08:00
George Hartzell
6c1b19f394 Ocaml fails as an AutotoolsPackage (#2995)
Switch the ocaml install bit back to being a Package with its own little install method.

This fix allows me to build Unison on CentOS 7.
2017-02-03 14:22:50 -08:00
George Hartzell
10d36ee343 Fetch tarballs from ant archive dir. (#2997)
There was a new release of Ant (1.9.8) which led to the v1.9.7
tarball disappearing.

This changes the URL to Ant's archive dir, which seems to contain
*everything* including the two current releases (1.9.8 and 1.10.0)

It adds a digest for 1.9.8.

It adds and comments out a digest for 1.10.0 (which requires Java 8),
as I have not tested it.
2017-02-03 14:21:14 -08:00
Mayeul d'Avezac
d7c816386a Add new versions of catch (#3016) 2017-02-03 14:20:41 -08:00
George Hartzell
0929b23d53 Update git package to include 2.11.1 (#3020)
Add git v2.11.1 digest.

Built and lightly tested on CentOS 7.
2017-02-03 14:17:33 -08:00
Carlos Bederián
3d67bf46ba Update Tcl/Tk to 8.6.6 (#3002) 2017-02-03 14:15:15 -08:00
Howard Pritchard
0cdbd74b82 openmpi (#2988)
We just released 2.0.2 yesterday, so add in that release for
spack.  Don't need the PMI patch for this release.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-02-03 14:10:44 -08:00
Adam J. Stewart
dbb18df3f2 Add latest stable Perl release (#2969) 2017-02-03 14:10:08 -08:00
Tom Scogland
95c04f3ab1 llvm: add 3.9.1, only download necessary resources (#3015)
* llvm: add 3.9.1, only download necessary resources

* sacrifice some spaces on the altar of flake8 the vengeful and merciless
2017-02-03 14:04:36 -08:00
健美猫
a08ccbedee Patch OpenMPI 2.0.x to fix pmi_opcaddy_t_class issue. (#2962) 2017-01-31 14:52:38 -05:00
serbanmaerean
8275b44715 Change default fflags for XL compiler to only "-qzerosize" (#2966) 2017-01-31 14:51:05 -05:00
Henrik Bengtsson
4f297f4336 R: Using official cloud URL for CRAN (#2956)
cran.r-project.org runs on a single old-school server in Austria
and could potentially be overloaded if "everyone" used it.

cloud.r-project.org is a cloud-based repository that "automatic redirection to servers worldwide [...]", cf. https://cran.r-project.org/mirrors.html.

I assume, that cloud.* can be scale up as needed. Out of the official CRAN mirror, this should be the safest one to pick if a static CRAN mirror is needed.
2017-01-31 14:47:20 -05:00
Adam J. Stewart
41c77d7429 Add installcheck phase to AutotoolsPackage (#2863)
* Add installcheck phase to AutotoolsPackage
* Update installcheck phase with new callbacks API
* build_directory has been converted to a property
2017-01-31 14:35:38 -05:00
Gregory Lee
7d279e06a0 Merge pull request #2964 from Zzzoom/fftw_add_sse2
FFTW: Add SSE2 support to x86_64 target
2017-01-31 09:48:47 -08:00
Adam J. Stewart
2ac0bcfcb0 Add latest version of Xorg util-macros (#2965) 2017-01-31 08:30:08 -08:00
Henrik Bengtsson
6e729bc333 DOCS: Examplify what file types are automatically extracted (#2955) 2017-01-31 08:26:19 -08:00
Adam J. Stewart
123f057089 Refactor Spack's URL parsing commands (#2938)
* Replace `spack urls` and `spack url-parse` with `spack url`
* Allow spack url list to only list incorrect parsings
* Add spack url test reporting
* Add unit tests for new URL commands
2017-01-31 11:14:52 -05:00
Denis Davydov
2e81fe4fb3 openssl: add extra url to download old versions (#2935) 2017-01-31 10:51:26 -05:00
Massimiliano Culpo
2babe4e4ff removed call syntax from property fixes #2944 (#2945) 2017-01-31 10:48:57 -05:00
健美猫
d46a1eadcd Replace FTP retrieval URLs with HTTP/HTTPS serving packages with identical checksum. (#2958) 2017-01-31 09:56:35 -05:00
Adam J. Stewart
0c0a1fdedc Add several new R packages (#2952)
* Add several new R packages

* Add a few more R packages

* Update more versions

* Convert Package to RPackage

* Add a few more packages

* Add missing dependencies
2017-01-31 09:54:34 -05:00
Massimiliano Culpo
19cf7a2833 libmng: fix trying to run configure on an already configured directory fixes #2959 (#2961) 2017-01-31 09:49:29 -05:00
Carlos Bederián
617786707f FFTW: Add SSE2 support to x86_64 target 2017-01-30 18:17:36 -03:00
Adam J. Stewart
75763bb8e3 Make OpenSSL tests optional (#2939)
* Make OpenSSL tests optional

* Add version constraint to Perl dependency in OpenSSL
2017-01-27 11:38:21 -08:00
becker33
58a4c5c14d Fix ambiguous hash message generation. (#2940)
* Fix ambiguous hash message generation. Engineering fix
2017-01-27 11:37:21 -08:00
Denis Davydov
aa7c5d1115 mumps: fix compilation with MKL (#2936) 2017-01-27 11:32:25 -08:00
Adam J. Stewart
6158115ca8 Standardize argparse help messages (#2847) 2017-01-26 02:33:01 -08:00
Adam J. Stewart
c7a1328326 Add missing dependencies to VizGlow package (#2581)
* Add missing dependencies to VizGlow package

* Use a version-specific URL for xterm
2017-01-26 02:30:18 -08:00
Todd Gamblin
ffb8aaa3f3 Packaging docs for MPI (#2838)
* Add MPI docs to packaging guide and simplify packaging guide TOC a bit.
2017-01-26 02:29:31 -08:00
Massimiliano Culpo
81a5146b1d AutotoolsPackage: minor improvements (#2859)
* AutotoolsPackage: added configure_directory to permit build out of source. The configure script executable is now invoked with an absolute path. Modified a few packages accordingly.

* build_systems: functions returning directories are now properties

* build_systems: fixed issues with tcl and tk

* AutotoolsPackage: reworked recipe for autoreconf
2017-01-26 02:27:15 -08:00
Todd Gamblin
3b2124af6a Turn off codecov comments (use only statuses) 2017-01-26 02:21:26 -08:00
Todd Gamblin
a5700a8888 Use codecov for coverage instead of coveralls (#2933)
* Switch from coveralls to codecov

- Add .codecov.yml, simplify .travis.yml
- Add codecov badge to README.md

* Add tests for spack graph.
2017-01-26 02:19:35 -08:00
Jean-Paul Pelteret
f59011f314 Adol-C: Enable trig/erf functions; advanced branching (#2747) 2017-01-26 01:33:20 -08:00
Denis Davydov
d324d13456 py-numpy: rework blas/lapack (#2365)
* py-numpy: fix blas/lapack section title

* py-numpy: rework BLAS/LAPACK

including a workaround for MKL due to
limited config system of numpy
2017-01-26 00:46:35 -08:00
scheibelp
e4d2d747ce Spec.satisfies accesses Spec.concrete as property (#2928)
* Spec.satisfies accesses Spec.concrete as property

Fixes #2760

When copying a spec, _concrete is always set to False for each
dependency. "Spec.satisfies" was accessing the member "_concrete"
directly instead of using the property "concrete". This means that
if you copy a spec, the dependencies will be considered equal, but
did not necessarily satisfy one another. Spec.satisfies is a
prerequisite for a package to be considered an extension; as a
consequence, an extension with run-time dependencies that were also
extensions did not activate those extensions. This updates
Spec.satisfies to avoid checking the cached member "_concrete"
directly.

* Added test to check for activation of dependency extension

* Added test to check for transitive satisfiability between a spec and its copy
2017-01-25 21:43:12 -07:00
Sam Gutiérrez
596190c83c Update libquo's homepage, url, and description. (#2925)
* Update libquo's homepage, url, and description.

Recently LANL moved to lanl (from losalamos).

* Fix formatting.

Conform to style guidelines.

* More style updates.

Doesn't appear to be necessary, but for good measure.
2017-01-25 21:41:26 -07:00
Adam J. Stewart
b18b6bad6f Remove intel-parallel-studio +all checks (#2905) 2017-01-25 21:41:09 -07:00
Denis Davydov
c24dc9072e oce: fix fetching (#2921)
* oce: fix fetching

apparently the fetcher is confused when there is a mixture of 3-digits
versions and 2-digits versions, i.e. 0.18 and 0.17.2

* flake8
2017-01-25 21:39:40 -07:00
Erik Schnetter
1ddd9c75c6 c-blosc: Add variant to disable AVX2 support (#2931)
Not all compilers support AVX2 instructions, and the package’s test for this is much too simplistic.
2017-01-25 21:39:10 -07:00
Timothy Brown
11454280e7 Updating udunits version. (#2922)
* Updating udunits.

Udunits 2.2.21 is no longer on the unidata ftp site.
The latest is 2.2.23, adding that and it's md5sum.

* Updating udunits2 download URL.

The Unidata ftp site does not keep previous versions of udunits.
However all the tagged versions are in their github.com repository.
Updating the URL to use github.

* Updating udunits2 with a autoreconf def.

The udunits packages on github do not contain a configure script.
One has to run autoreconf to generate it, so adding that to
package file.

Also updated to the latest version and all md5 checksums.
2017-01-25 21:38:44 -07:00
becker33
8ae380fb71 Fixes for parsing specs with hashes (#2889)
- Allows hashes to be specified after other parts of the spec
- Does not allow other parts of the spec to be specified after the hash
- The hash must either end input or be followed by another separate spec
- The next spec cannot be an anonymous spec (it must start with a package name or a hash)

See #2769 (after it was merged) for further discussion of this interface addition. That discussion resulted in these requirements:

```
python                     # 1 spec
/abc123                    # 1 spec
python /abc123             # 1 spec
/456789                    # 1 spec
python /abc123 /456789     # 2 specs
python /456789 /abc123     # 2 specs
/abc123 /456789            # 2 specs
/456789 /abc123            # 2 specs
/456789 /abc123 python     # 3 specs
```

assuming `abc123` and `456789` are both hashes of different python specs.
2017-01-25 21:38:10 -07:00
Jean-Paul Pelteret
a4f594a68d Update valgrind to 3.12.0 (#2929) 2017-01-25 17:14:55 -08:00
serbanmaerean
5e2a96574b Add support for IBM threaded compilers: xl*_r (#2894)
* Add support for IBM threaded compilers, xl*_r

Added new compiler class, xl_r; added default flags to the compilers.yaml file.

* Add cppflags to the set of default flags to be added to the compilers stanza in compiler.yaml.

These flags are optional. Only defined flags will be listed in the compilers.yaml file.

* Fix scripting warnings revealed by flake8.

Updated __init__.py and xl_r.py to conform with flake8 rules.

* Add justification to the definition of the XL default compiler flags.
2017-01-25 16:26:17 -07:00
Massimiliano Culpo
fc866ae0fe build systems: simpler, clearer decorators: run_after, run_before (#2860)
* PackageMeta: `run_before` is an alias of `precondition`, `run_after` an alias of `sanity_check`

* PackageMeta: removed `precondition` and `sanity_check`

* PackageMeta: decorators are now free-standing

* package: modified/added docstrings. Fixed the semantics of `on_package_attributes`.

* package: added unit test assertion as side effects of install

* build_systems: factored build-time test running into base class

* r: updated decorators in package.py

* docs: updated decorator names
2017-01-25 08:57:01 -07:00
George Hartzell
90d47a3ead Add dependency on perl (#2909)
* Add dependency on perl

The build process uses perl and also needs `Test::More`.

Some distros, e.g. CentOS, break the core Perl distribution
into separate packages, so it's possible to "have perl" but
not have all the bits one needs to build OpenSSL.

We'll just install one of ours, which comes with all of its
factory parts included.

* Remove uninformative comment

>  # Also requires make

doesn't really add any value...
2017-01-24 14:07:13 -07:00
Adam J. Stewart
268347ccbf Add latest version of flex (#2914) 2017-01-24 14:06:56 -07:00
Adam J. Stewart
fae36b8489 Add latest version of NetCDF (#2915) 2017-01-24 14:06:42 -07:00
Adam J. Stewart
a04ac74c4c Add latest version of xz (#2916) 2017-01-24 14:01:10 -07:00
Jason Sarich
6e895c4ccc add static options for some libraries (#2876)
* add static options for some libraries

* make requested changes: add comments and use configure_args
2017-01-24 12:48:01 -07:00
Adam J. Stewart
7d3da2ebdc Grammar and broken link fixes in modules tutorial (#2912) 2017-01-24 10:25:44 -07:00
Jean-Paul Pelteret
416e52c150 Update SymEngine package (#2919)
Take advantage of new configuration options in the @develop branch
2017-01-24 10:00:27 -07:00
Mayeul d'Avezac
db7a786d1c Simplifying gbenchmark (#2892)
Also, it seems the cmake_args API has changed in spack
2017-01-23 16:12:31 -08:00
Adam J. Stewart
f8c7dab826 Convert xerces-c to AutotoolsPackage (#2907) 2017-01-23 15:50:34 -08:00
Adam J. Stewart
e317f2639c Add latest version of PnetCDF (#2906) 2017-01-23 15:30:01 -08:00
Adam J. Stewart
bcef90fe10 Add --without-x when building r~X (#2864)
* Add --without-x when building r~X

* Add latest version of R

* Run patch for latest version as well
2017-01-23 15:29:48 -08:00
Michael Kuhn
258dfc707d Export spack function so it works in subshells (#2908) 2017-01-23 15:29:25 -08:00
Denis Davydov
c76088906e oce & trilinos: force rpath on Sierra to avoid issues with load commands size (#2855)
* oce: force rpath on Sierra to avoid issues with load commands size

* trilinos: use rpath on Sierra to avoid load commands limit
2017-01-23 13:59:16 -08:00
Massimiliano Culpo
a8e1d78881 documentation: build-system phases + build-time tests (#2780)
* documentation: reworked packaging guide to add build-system phases

* documentation: improvements to AutotoolsPackage autodocs

* build_systems: updated autodocs

* run-tests: added a few information on how to run tests fixes #2606 fixes#2605

* documentation: fixed items brought up by @davydden

    * typos in docs
    * consistent use of 'build system' (i.e. removed 'build-system' from docs)
    * added a note on possible default implementations for build-time tests

* documentation: fixed items brought up by @citibeth

    * added note to explain the difference between build system and language used in a package
    * capitalized bullet items
    * added link to API docs

* documentation: fixed multiple cross-references after rebase

* documentation: fixed minor issues raised by @tgamblin

* documentation: added entry in table for the `PythonPackage` class

* docs: fixed issues brought up by @citybeth in the second review
2017-01-23 13:55:39 -08:00
Michael Kuhn
72f2f845e7 Update lz4 to 1.7.5 (#2878) 2017-01-23 10:26:21 -08:00
Jason Sarich
3686d0ceb3 have trilinos search for static libraries first when not using shared variant (#2896) 2017-01-23 10:24:21 -08:00
George Hartzell
162be154d2 Fix configure's zlib version check (#2901)
* Fix configure's zlib version check

R wants a version of zlib that is 1.2.5 or newer.

The version checking code just does a lexicographic comparison
of the first 5 characters of the string, so it seesthat the latest
zlib version, 1.2.10, as 1.2.1 and fails.

This patch changes the comparison to use zlibs' hex ZLIB_VERNUM
so that it does not suffer from this problem.

A version of this patch is wending it's way through the R comunity
community and will/should be included in a future release.

I tested the patch with the current R, 3.3.1.

* Tighten zlib dependency version (>= 1.2.5)

* Convert patch to level=1 format.
2017-01-23 10:20:54 -08:00
Michael Kuhn
7fd936735c Add zstd package (#2897) 2017-01-23 10:18:51 -08:00
Adam J. Stewart
dae353374e Simplify unit tests listed in Contribution Guide (#2904)
* Simplify unit tests listed in Contribution Guide

* Use long name for option flags
2017-01-23 09:48:49 -08:00
Gregory Lee
6bc7be9217 updated config file name for Python 3.6 (#2881) 2017-01-23 09:34:50 -08:00
Erik Schnetter
19699a7607 libevent: Properly declare OpenSSL dependency version bounds (#2888)
* libevent: Properly declare OpenSSL dependency version bounds

* libevent: Handle ~openssl variant correctly
2017-01-20 13:57:15 -08:00
John Wohlbier
3e8106955b For qt3, append to LD_LIBRARY_PATH, do not nuke it (#2862)
* libmonitor does not exist at
http://libmonitor.googlecode.com/svn/trunk/

Change location to HPCToolkit version at github. Specify the hash corresponding
to the 20130218 version.

* When xcb is version 1.11, patch the configure file so it doesn't trip on
pthread-stubs and xau.

* Add os.getcwd()/lib to LD_LIBRARY_PATH, instead of nuking
existing LD_LIBRARY_PATH.
2017-01-20 10:34:40 -08:00
Erik Schnetter
adac3ebbf9 cfitsio: Allow building as shared libraries (#2887)
* cfitsio: Allow building as shared libraries

- Allow building as shared libraries
- Also add optional bzip2 variant
- Also update to newest version

This requires the recent correction to “fix_darwin_install_name”.

* cfitsio: Simplify code, default to +shared
2017-01-20 10:28:07 -08:00
Erik Schnetter
4e390e6689 m4: Update version (#2872) 2017-01-20 10:23:53 -08:00
Erik Schnetter
56cdb1d1ab swig: Update version (#2871) 2017-01-20 10:23:23 -08:00
Erik Schnetter
cade0181fd Spack: Correct fix_darwin_install_name (#2886)
Previously, fix_darwin_install_name would only handle dependencies that have no path set, and it ignore dependencies that have the build directory as path baked in. Catch this, and replace it by the install directory.
2017-01-20 10:22:59 -08:00
Jason Sarich
bc37a1012c let pflotran depend on hdf 1.8.12 and above (#2875) 2017-01-20 10:18:58 -08:00
Michael Kuhn
042307d5f1 Update c-blosc to 1.11.1 (#2877) 2017-01-20 10:17:46 -08:00
Erik Schnetter
a0c4fe247f OpenSSL: Update to version 1.1.0c (#2885) 2017-01-20 10:12:09 -08:00
Denis Davydov
1223e43827 p4est: add 2.0 (#2890) 2017-01-20 10:11:11 -08:00
Denis Davydov
c350bd1216 dealii: fix config without mpi (#2856)
* dealii: fix config without mpi

* dealii: add check of variants
2017-01-19 11:24:09 -08:00
Quinn
f511f7b558 Adding some fixes to packages that use configure_args function without setting spec set or directly referencing it (#2868)
* Adding 'self.' to the spec call for configure_args

* Updating this to set spec to self.spec

* More updates to the configure_args spec calls

* Another spec issue

* Another spec issue.

* And another spec issue

* Switching cmor back to self.spec.
2017-01-19 06:26:39 -08:00
Adam J. Stewart
4dad5aab84 Add spack edit option for build systems (#2865) 2017-01-18 18:49:48 -08:00
Erik Schnetter
9b7001fda1 OpenMPI: Update auto-detection of Verbs library location (#2124) 2017-01-18 14:54:39 -08:00
Adam J. Stewart
02f92fc7f8 Massive conversion from Package to AutotoolsPackage (#2845)
* Massive conversion from Package to AutotoolsPackage

* Forgot to convert p4est to AutotoolsPackage

* Fix typo

* Fix broken link in docs
2017-01-18 10:34:09 -08:00
Denis Davydov
5812081b80 gmsh: add 2.16 (#2857) 2017-01-18 09:34:05 -08:00
Denis Davydov
ddfbb14ad9 octave: add 4.2.0; fix Blas/Lapack; use AutotoolsPackage (#2858)
* octave: add 4.2.0; fix Blas/Lapack; use AutotoolsPackage

* fix a bug
2017-01-18 09:33:45 -08:00
Adam J. Stewart
026e2d0fe6 Convert 3 more new packages to PythonPackage (#2841) 2017-01-18 08:51:38 -08:00
Erik Schnetter
6242aaef6c papi: Update to 5.5.1 (#2849) 2017-01-18 08:18:38 -08:00
Erik Schnetter
70042f9e7d hwloc: Update to 1.11.5 (#2851) 2017-01-18 08:18:08 -08:00
Erik Schnetter
b452a7619c curl: update to 7.52.1 (#2852) 2017-01-18 08:17:50 -08:00
Erik Schnetter
a23fcd2a93 cmake: Update to 3.7.2 (#2853) 2017-01-18 08:17:31 -08:00
Erik Schnetter
3bd0101fb9 jemalloc: Update to 4.4.0 (#2850) 2017-01-18 08:16:59 -08:00
Adam J. Stewart
f0f230d480 Allow spack create to detect packages that need to run autoreconf (#2848) 2017-01-17 17:42:45 -08:00
Denis Davydov
a040c8c743 oce: add 0.18 and fix patching (#2844)
* oce: add 0.18 and fix patching

* oce: simplify the patch
2017-01-17 14:40:07 -08:00
Jason Sarich
a1f7006400 check if node is already deleted (#2799)
* check if node is already deleted

* fix variable name
2017-01-17 14:23:32 -08:00
Denis Davydov
190a5b575c p4est: switch to AutotoolsPackage (#2839) 2017-01-17 11:05:34 -08:00
Adam J. Stewart
061076aea9 Support scionlib version detection (#2818) 2017-01-17 10:54:36 -08:00
Todd Gamblin
52a9e5d2a3 Merge branch 'releases/v0.10.0' 2017-01-17 01:36:03 -08:00
Todd Gamblin
1856317777 Bump version to 0.10.0 2017-01-16 20:01:07 -08:00
Todd Gamblin
1bd13827c9 Add release branches to travis testing. 2017-01-16 20:01:07 -08:00
Adam J. Stewart
c0aaa8fcea Add PythonPackage base class
- Add a PythonPackage class with build system support.
  - Support build phases in PythonPackage
  - Add a custom sanity check for PythonPackages
  - Get rid of nolink dependencies in python packages

- Update spack create to use new PythonPackage class

- Port most of Python packages to new PythonPackage class

- Conducted a massive install and activate of Python packages.
  - Fixed bugs introduced by install and activate.

- Update API docs on PythonPackage
2017-01-16 20:00:31 -08:00
Adam J. Stewart
1f49493fee Major improvements to spack create (#2707)
* Initial changes to spack create command

* Get 'spack create <url>' working again

* Simplify call to BuildSystemGuesser

* More verbose output of spack create

* Remove duplicated code from spack create and spack checksum

* Add better documentation to spack create docstrings

* Fix pluralization bug

* Flake8

* Update documentation on spack create and deprecate spack edit --force

* Make it more obvious when we are renaming a package

* Further deprecate spack edit --force

* Fix unit tests

* Rename default template to generic template

* Don't add automake/autoconf deps to Autotools packages

* Remove changes to default $EDITOR

* Completely remove all traces of spack edit --force

* Remove grammar changes to make the PR easier to review
2017-01-16 17:13:12 -08:00
Mario Melara
beafcfd3ef Set MPI environment variables to the compiler wrappers on Cray (#2762)
* Set MPI[lang] env var to compiler wrappers on cray

Sets MPICC, MPICXX, MPIFC etc to point to the compiler wrappers on Cray systems.
Some packages look for MPIs via environment variables - e.g adios

* Use spec to check for Cray

* os is no longer used.
2017-01-16 16:15:37 -08:00
Adam J. Stewart
6eed279fce Don't duplicate spack test in spack help (#2837) 2017-01-16 14:56:38 -08:00
George Hartzell
aa3cc0ea81 Add lmod support for spack module loads (#2758)
The `spack module loads` command only supported tcl and dotkit.
This adds support for lmod.
2017-01-16 03:25:39 -08:00
Jon Rood
6e8058ad41 Specify Python location in VisIt in a more uniform fashion. (#2803) 2017-01-16 03:21:52 -08:00
Todd Gamblin
de7be6694f Fix issue with Mac OS version detection in m4 package. (#2835) 2017-01-16 03:03:52 -08:00
Denis Davydov
8365dbd959 petsc: add 64bit variant (#2655)
* petsc: add 64bit variant

* hypre: add int64 variant

* superlu-dist: add int64 variant

* petsc: add int64 variant

* metis: rename idx64 to int64 to make it consistent with other packages

* mumps: rename idx64 to int64 to make it consistent with other packages

* dealii: rename 64bit to int64 to make it consistent with other packages
2017-01-16 02:23:07 -08:00
Axel Huebl
e2697e4a37 isl: add latest version (#2834)
added latest version of isl. Needed to get llvm/clang in the latest
trunk to build via spack, but there are more versions available.
what is the policy regarding those? Add what we need for now?
2017-01-16 01:17:35 -08:00
becker33
a091eeceab Parser fix (#2769)
* Fixed parser to eliminate need for escape quotes. TODO: Fix double call to shlex, fix spaces in spec __str__

* Fixed double shlex

* cleanup

* rebased on develop

* Fixed parsing for multiple specs; broken since #360

* Revoked elimination of the `-` sigil in the syntax, and added it back into tests

* flake8

* more flake8

* Cleaned up dead code and added comments to parsing code

* bugfix for spaces in arguments; new bug found in testing

* Added unit tests for kv pairs in parsing/lexing

* Even more flake8

* ... yet another flake8

* Allow multiple specs in install

* unfathomable levels of flake8

* Updated documentation to match parser fix
2017-01-15 19:17:54 -08:00
Jon Rood
b2f29b855b Updating BoxLib with the ability to build again. (#2813)
* Updating BoxLib with the ability to build again.

* Using Spack MPI compilers directly.

* Fixing typo.

* Using tarball from github archive for boxlib.
2017-01-15 17:07:44 -08:00
Adam J. Stewart
e3a631c90e Add Astra package (#2800) 2017-01-15 16:23:52 -08:00
Adam J. Stewart
f480e3449e Added customization for make targets in 'build' and 'install' phases for CMakePackage (#2742)
* Added customization for make targets in 'build' and 'install' phases for CMakePackage

* Use rst in build system docs so that Sphinx generates nice API docs

* Allow AutotoolsPackages to be built in a different directory

* Flake8

* Fix missing import

* Allow configure to be located in different directory

* Update espressopp to use build targets

* Flake8

* Sphinx fix, lists must be a new paragraph

* Back out change that allowed a configure script in a different directory than build_directory

* Add missing deps, build in parallel

* Missing space for rst list
2017-01-15 16:23:16 -08:00
Jean-Paul Pelteret
4b7b595e3c New package: CppAD (#2832) 2017-01-15 16:20:26 -08:00
Adam J. Stewart
f2d4c15395 Remove cmake build dep from CMakePackages (#2684) 2017-01-15 03:18:52 -08:00
Adam J. Stewart
7fce4c5083 Add list_url to cmake (#2714) 2017-01-15 03:16:41 -08:00
Axel Huebl
3f7b4ab7aa Clang & Boost: No PCH (#2827)
Although it hurts a little, officially pre-compiled headers in
boost are only supported for gcc & msvc and the latest clang
releases still fail to build boost with it.

Therefore, I disabled building those to get boost build with
clang 3.9.0 on an Ubuntu 14.04 (x86).

Links to documentation and boost bug reports are inline, so
people can later on check if they still apply. Seems just to
be a bug in `Boost.Build` that tries to set `-o` with multiple
output files.
2017-01-15 02:38:14 -08:00
Todd Gamblin
0d367bbd20 Add a test to exercise non-buildable external packages. (#2833) 2017-01-15 02:37:20 -08:00
becker33
677623962e Fixed find -lp command (coloring was broken) (#2820) 2017-01-15 02:36:36 -08:00
Axel Huebl
5c4d2627ff Packages: Add CUDA8 (#2823)
Adds the latest CUDA release, 8.0.44.
2017-01-15 02:35:53 -08:00
Adam J. Stewart
367f46eee2 Add old version of PGI (#2784) 2017-01-15 02:35:27 -08:00
Adam J. Stewart
12edc4e369 Add latest version of PETSc (#2783) 2017-01-15 02:34:48 -08:00
Massimiliano Culpo
436f6a4ab6 get_std_cmake_args delegates to CMakePackage._std_args fixes #2665 (#2805) 2017-01-15 02:34:15 -08:00
danielsjensen1
957cb968c6 Features/octopus 6.0 (#2819)
* Added support for Octopus 6.0 and the optional libraries: metis, parmetis, netcdf, arpack-ng, and scalapack.

* Fix PEP 8 line too long error.

* Changed format syntax {} to {0} to support Python 2.6.
2017-01-15 02:30:47 -08:00
Gregory Lee
c6c6773c03 added psutil python package (#2812) 2017-01-15 02:30:12 -08:00
Stephen McDowell
1f4ca71e21 Adding the py-ipdb package for more stable debugging with iPython. (#2824)
* Adding the py-ipdb package for more stable debugging with iPython.

* Removing deprecated python support, adding missing dependencies.

* Adding version checks for (i)python
2017-01-15 02:29:29 -08:00
Matthew Scott Krafczyk
28ea72d5b2 Add the package py-sphinx-bootstrap-theme (#2825) 2017-01-15 02:27:17 -08:00
Andrey Prokopenko
1128922b44 boost: fixing boost-1.55.0 for gcc-5 (#2822)
boost-1.55.0 requires patching when compiling with gcc-5. See these
threads:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197594
https://svn.boost.org/trac/boost/ticket/10125

Fixes #2821.
2017-01-13 08:43:50 -08:00
Massimiliano Culpo
cd511791d1 configure and build command: fix the stop iteration semantics
- broke somewhere between bdf4832269 (#2810) and 17b13b161b
2017-01-12 09:11:48 -08:00
Massimiliano Culpo
de2cb864fa mirror: fix error for some specs during concretization (#2806) 2017-01-11 07:38:22 -08:00
Jim Galarowicz
481bc91854 Update the boost versions used by openspeedshop. Boost-1.60 to current latest causes compile errors when building openspeedshop. (#2300)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.
2017-01-10 12:28:05 -08:00
Todd Gamblin
f5557b5723 Change nargs='*' to argparse.REMAINDER for constraint options. (#2798) 2017-01-10 12:25:41 -08:00
Massimiliano Culpo
a7a77b5b41 openjpeg: fixes url (#2790) 2017-01-10 09:14:16 -08:00
Adam J. Stewart
1ece25bdc2 Temporary workaround for R concretization bug (#2756) 2017-01-09 19:07:49 -08:00
sknigh
c7ca96b327 Added list_url to r-dt package (#1533) 2017-01-09 14:37:06 -08:00
Elizabeth Fischer
402dfe30f9 Get Rid of nobuild, nolink, and alldeps (#2765)
* Removing the nobuild, nolink, and alldeps dependency types in favor of being explicit.
* This will help with maintenance going forward, as adding more dependency types won't affect existing declared dependencies in weird ways.
* default deptype is still `('build', 'link')`
2017-01-07 19:59:02 -08:00
Adam J. Stewart
68baac0549 Various updates to the NCO package and dependencies (#2639)
* Remove +mpi variant from NCO

* Update NCO deps to AutotoolsPackage

* Update the other NetCDF packages to AutotoolsPackage

* ANTLR has a nolink deptype on java, don't worry about csharp

* Remove restrictions from NCO package, fix homepage

* Add version 4.6.3 of NCO

* Missed AutotoolsPackage for NetCDF-CXX4

* NetCDF tests fail when run in parallel

* Remove commented out dependency

* Add documentation dependency
2017-01-07 18:06:59 -08:00
Adam J. Stewart
a0195371e8 Unset PETSC_DIR during installation (#2768)
* Set PETSC_DIR during installation

* Move env var unsets to setup_environment

* Fix unset var name and number of args
2017-01-07 17:38:53 -08:00
James Wynne III
b7fdc03bd5 Added needed deps for bbcp (#2773) 2017-01-07 16:30:54 -08:00
Adam J. Stewart
daff3c0908 Preliminary RPackage class (#2761) 2017-01-07 16:28:52 -08:00
Todd Gamblin
f379697985 Fix issues linking hDF5 1.8.14 and below on Ubuntu. (#2772) 2017-01-07 09:03:50 -08:00
Cyrus Harrison
e39ba88e9c add conduit 0.2.1 release (#2766) 2017-01-06 12:33:51 -08:00
Bruno Turcksin
2f173bda9c Add boost 1.63.0 (#2743) 2017-01-06 11:44:41 -08:00
Gregory Lee
a016fd01ec Merge pull request #2740 from jrood-nrel/jonrood
Renaming mkl to intel-mkl
2017-01-06 11:01:16 -08:00
Axel Huebl
05d77917fd GitLab: Tarball Version Test (#2296)
* GitLab: Tarball Version Test

Upload a test demonstrating #2290

* Add GitLab parsing
2017-01-06 08:53:19 -08:00
Gregory Lee
7b337de93e various python package version and dependency updates (#2751)
* various python package version and dependency updates

* various python package version and dependency updates
2017-01-06 08:50:06 -08:00
Christoph Junghans
8dc056130c espressopp: package for the ESPResSo++ software (#2602)
* espressopp: package for the ESPResSo++ software

This commit adds a package for the ESPResSo++
simulation software.

* Move Espressopp package to CMakePackage

This commit moves Espressopp package to CMakePackage.
Addresses some comments in the PR.

* Remove run_tests and changed type of dependencies

Addressed some comments from @adamjstewart.
Removed global run_tests setting and removed type from many
dependencies. Set type for py-mpi4py to 'nolink'.

* Updated to last version and fix mpi4py dependency

Added latest espressopp version and changed mpi4py (version) dependency for
different espressopp versions.

* Changed mpi4py version requirements for espressopp

Changed py-mpi4py version requirements for espressopp@1.9.4 according
to the package build requirements for that version.
2017-01-05 21:20:55 -08:00
Matthew Krafczyk
8c650303ff Add dependencies and finish the py-tornado package.
This adds the following packages:

 py-backports-shutil-get-terminal-size  py-nbformat
 py-backports-ssl-match-hostname        py-pathlib2
 py-entrypoints                         py-pickleshare
 py-futures                             py-pip
 py-ipykernel                           py-prompt-toolkit
 py-ipython-genutils                    py-ptyprocess
 py-ipywidgets                          py-simplegeneric
 py-jupyter-client                      py-singledispatch
 py-jupyter-console                     py-terminado
 py-jupyter-core                        py-traitlets
 py-jupyter-notebook                    py-wcwidth
 py-monotonic                           py-widgetsnbextension
 py-nbconvert
2017-01-05 16:10:30 -08:00
Jean-Paul Pelteret
6a5185a2a7 Added npm, node.js, and Jupyter dependencies
Adds the following packages:
  node-js  py-backports-abc  py-functools32  py-pycurl   py-vcversione
  npm      py-certifi        py-jsonschema   py-tornado  py-zmq

- Added python packages that are dependencies for the Jupyter suite
- Update new python packaages to use extension package install function.
- Added npm and node-js packages
2017-01-05 16:10:30 -08:00
Mario Melara
3d54c3c689 Correct env vars for modulecmd; Fixes #1481 (#2745)
Don't override MODULEPATH with PATH, PATH has no modulefiles

PEP8 compliance
2017-01-05 11:15:38 -08:00
Massimiliano Culpo
9271c69b5d test: fixed 'refresh_builtin_mock' fixture (#2748) 2017-01-05 10:25:24 -08:00
Elizabeth Fischer
3dd4a01a5e Standardize package names: lower-case, not Mixed_CASE (#2475)
* Rename packages

* Upcasing depends_on() in packages.

* Downcased extends('r')

* Fixed erroneously changed URL that had slipped through.

* Fixed typo

* Fixed link from documentation into package source code.

* Fixed another doc problem.

* Changed underscores to dashes in package names.

* Added test to enforce lowercase, no-underscore naming convention.

* Fix r-xgboost

* Downcase more instances of 'R' in package auto-creation.

* Fix test.

* Converted unit test packages to use dashes not underscores

* Downcase `r` in the docs.

* Update module_file_support.rst

Fix r->R for class R.
2017-01-04 18:24:07 -08:00
Jon Rood
01406251c9 Intel-mkl provides mkl 2017-01-04 14:02:23 -07:00
Jon Rood
c8405b4b5f Renaming mkl to intel-mkl 2017-01-04 13:55:08 -07:00
George Hartzell
4e653254c5 Use zlib's "fossil" site for old tarballs (#2735)
* Use zlib's "fossil" site for old tarballs

Following citibeth's suggestion in #2732, use zlib's "fossil"
site (not to be confused with the sqlite team's VCS...) for retrieving
old tarballs.

Digests for 1.2.{8,10} match and both install for me on CentOS 7.

* Use zlib's "fossil" URL as the one true URL

Everything seems to be available at zlib's "fossil" URL, so just use
it as the one and only url.

(and fix a flake8 complaint about a comment)
2017-01-04 11:43:10 -08:00
Cyrus Harrison
eaa24b08fd add package for conduit (#2670)
* add package for conduit

* try to fix main conduit docstring

* use join_path instead of pjoin

* address a few requests in pr #2670

change name of 'github-master' to 'master'

change 'docs' variant to 'doc', set default to False

remove explicit +shared variant spec for silo and hdf5 deps
(in the conduit +shared case) cases since they default to True

add reference to static rpath issue
(https://github.com/LLNL/spack/issues/2658)

* address pr #2670 requests

add todos and more info on why variants for deps where selected
use python module install python to enable spack activate
use .format instead of %s
2017-01-04 10:20:08 -08:00
Jeffrey Salmond
e57fc3d950 opencoarrays: new version (#2734)
* add version 1.8.0

* remove depends_on('cmake') as it is now unecessary

* remove 'coarrays' as a virtual package
2017-01-04 08:40:55 -08:00
Jean-Paul Pelteret
4ff33d41a7 New package: ccache (#2721) 2017-01-04 08:39:58 -08:00
Elizabeth Fischer
03471469e7 libpng: Upgrade versions to fix vulnerability. (#2723) 2017-01-04 08:32:10 -08:00
George Hartzell
2e24a3a2be zlib@1.2.10 and R do not get along, work around it (#2727)
* zlib@1.2.10 and R do not get along, work around it

R's configure script has trouble with version numbers > 1.2.9.

This works around it by constraining R to 1.2.8.

I'm working with some R folk on getting it fixed going forward.

* Add adamjstewart's change.
2017-01-04 07:51:16 -08:00
Barry Smith
2322deda65 Update to latest zlib version, server no longer provides older version (#2720)
* Update to latest zlib version, server no longer provides older version

Funded-by: IDEAS
Project: IDEAS/xSDK

* Add alternative URL for previous release of zlib
2017-01-03 13:52:14 -08:00
Todd Gamblin
d32d5e45fb Fix issues when a package provides the same vdep twice. (#2710)
* Fix issues when a package provides the same vdep twice.

- provides() now adds to a set of provided vdeps instead of a single one.

* flake8
2017-01-02 18:40:57 -08:00
Massimiliano Culpo
34d23c617c tests: coverage combine run only if tests succeeded (#2712) 2017-01-01 13:05:33 -08:00
Todd Gamblin
b9ec69dce1 Disallow vdeps in packages.yaml (#2699)
* Consolidate packages.yaml code to preferred_packages

* Add validation check and a test for packages.py parsing.

* flake8
2016-12-31 08:12:38 -08:00
Adam J. Stewart
040f8a7176 Add latest version of gmp (#2695) 2016-12-30 22:53:54 -08:00
Adam J. Stewart
8cb54a9a67 Fix missing debug parameter for parse_version() (#2696) 2016-12-30 22:52:49 -08:00
Todd Gamblin
c88df5819d Fix test command arg handling. 2016-12-30 17:18:19 -08:00
Todd Gamblin
b5537553f2 Run coverage for the spack install command as well as spack test.
- Also don't run coverage on OSX.
2016-12-30 17:18:19 -08:00
Michael Kuhn
a42f340d37 Allow setting default variants (#2644) 2016-12-30 14:11:39 -08:00
Todd Gamblin
d52c44cba9 Add OSX build to .travis.yml. Clean up .travis.yml (#2689)
* Add OSX build to .travis.yml.  Clean up .travis.yml
* Add gcc/gfortran to the mac brew setup.
2016-12-30 13:59:21 -08:00
Todd Gamblin
972a277956 Fix Python issue with build failures; Add test case for build failures. (#2687) 2016-12-30 11:37:50 -08:00
Todd Gamblin
5fbab1f4b5 Concretize preserves deptypes (#2681)
Concretization preserves deptypes
2016-12-29 14:43:59 -08:00
Todd Gamblin
d6390c159f Fix issues related to the switchover to pytest. (#2685)
- Remove stale reference to `import nose` from `bin/spack` script.
- Add `py` to externals (missing dependency for `pytest`)
2016-12-29 11:59:45 -08:00
Massimiliano Culpo
7ea10e768e unit tests: replace nose with pytest (#2502)
* Porting: substitute nose with ytest

This huge commit substitutes nose with pytest as a testing system. Things done here:

* deleted external/nose as it is no longer used
* moved mock resources in their own directory 'test/mock/'
* ported two tests (cmd/find, build_system) to pytest native syntax as an example
* build_environment, log: used monkeypatch instead of try/catch
* moved global mocking of fetch_cache to an auto-used fixture
* moved global mocking from test/__init__.py to conftest.py
* made `spack test` a wrapper around pytest
* run-unit-tests: avoid running python 2.6 tests under coverage to speed them up
* use `pytest --cov` instead of coverage run to cut down testing time

* mock/packages_test: moved mock yaml configuration to files instead of leaving it in the code as string literals

* concretize.py: ported tests to native pytest, reverted multiprocessing in pytest.ini as it was creating the wrong report for coveralls

* conftest.py, fixtures: added docstrings

* concretize_preferences.py: uses fixtures instead of subclassing MockPackagesTest

* directory_layout.py: uses fixtures instead of subclassing MockPackagesTest

* install.py: uses fixtures instead of subclassing MockPackagesTest

* optional_deps.py: uses fixtures instead of subclassing MockPackagesTest

optional_deps.py: uses fixtures instead of subclassing MockPackagesTest

* packages.py: uses fixtures instead of subclassing MockPackagesTest

* provider_index.py: uses fixtures instead of subclassing MockPackagesTest

* spec_yaml.py: uses fixtures instead of subclassing MockPackagesTest

* multimethod.py: uses fixtures instead of subclassing MockPackagesTest

* install.py: now uses mock_archive_url

* git_fetch.py: uses fixtures instead of subclassing MockPackagesTest

* hg_fetch.py: uses fixtures instead of subclassing MockPackagesTest

* svn_fetch.py, mirror.py: uses fixtures instead of subclassing MockPackagesTest
repo.py: deleted

* test_compiler_cmd.py: uses fixtures instead of subclassing MockPackagesTest

* cmd/module.py, cmd/uninstall.py: uses fixtures instead of subclassing MockDatabase

* database.py: uses fixtures instead of subclassing MockDatabase, removed mock/database

* pytest: uncluttering fixture implementations

* database: changing the scope to 'module'

* config.py: uses fixtures instead of subclassing MockPackagesTest

* spec_dag.py, spec_semantics.py: uses fixtures instead of subclassing MockPackagesTest

* stage.py: uses fixtures instead of subclassing MockPackagesTest. Removed mock directory

* pytest: added docstrings to all the fixtures

* pytest: final cleanup

* build_system_guess.py: fixed naming and docstrings as suggested by @scheibelp

* spec_syntax.py: added expected failure on parsing multiple specs closes #1976

* Add pytest and pytest-cov to Spack externals.

* Make `spack flake8` ignore externals.

* run-unit-tests runs spack test and not pytest.

* Remove all the special stuff for `spack test`

- Remove `conftest.py` magic and all the special case stuff in `bin/spack`

- Spack commands can optionally take unknown arguments, if they want to
  handle them.

- `spack test` is now a command like the others.

- `spack test` now just delegates its arguments to `pytest`, but it does
  it by receiving unknown arguments and NOT taking an explicit
  help argument.

* Fix error in fixtures.

* Improve `spack test` command a bit.

- Now supports an approximation of the old simple interface
- Also supports full pytest options if you want them.

* Use external coverage instead of pytest-cov

* Make coverage use parallel-mode.

* change __init__.py docs to include pytest
2016-12-29 07:48:48 -08:00
Elizabeth Fischer
88f57d7543 Allow exclusion of packages from spack module loads (#2667)
* Allow exclusion of packages from `spack module loads`

* Comment out excluded packages instead of not showing them at all.
2016-12-28 13:31:18 -08:00
Massimiliano Culpo
17b13b161b Directive inheritance: laziness for the win (#2623)
* inheritance of directives: using meta-classes to inject attributes coming from directives into packages + lazy directives

* _dep_types -> dependency_types
* using a meta-class to inject directives into packages
* directives are lazy

fixes #2466

* directives.py: allows for multiple inheritance. Added blank lines as suggested by @tgamblin

* directives.py: added a test for simple inheritance of directives

* Minor improvement requested by @tgamblin

CMakePackage: importing names from spack.directives
directives: wrap __new__ to respect pep8

* Refactoring requested by @tgamblin

directives: removed global variables in favor of class variables. Simplified the interface for directives (they return a callable on a package or a list of them).
2016-12-28 12:37:02 -08:00
Thierry
857dac88c8 init yorick package (#2635)
* init yorick package

* attempt at picking up SPACK's compiler choice, todo ~X variant.

* sphinx docstring error ?

* version# tarball, ~X default, docstring fix

* sphinx docstring fix(?)
2016-12-28 10:08:02 -08:00
George Hartzell
18c10f2bad Cleanup post luafilesystem version de-underscoring (#2683)
The upstream luafilesystem tarball/version had a wayward/inconsistent
underscore in their more recent version tag.  The played badly with
our package fetching machinery (due to recent changes?).

Upstream cleaned up their bit which required some touchups here.

- updated the url
- updated the version (digest)
- updated the format statement for the path to the rockspec.
2016-12-27 11:49:53 -08:00
Mayeul d'Avezac
81c1404b9c Adds catch, cppunit, spdlog, tinyxml(1 and 2), google benchmark (#2627)
* Adds catch, cppunit, spdlog, tinyxml(1 and 2), google benchmark

Tinyxml comes in two flavors, 1 and 2. Each comes in several
versions... So they cannot be easily united into a single package.

* Use CMakePackage and friends, add copyright

Also eleminate debug/release variants, since it no longuer fits in the
CMakePackage format.

* Remove unnecessary url

* spdlog now has tagged releases

* Remove unnecessary url argument

* Fewer quotes in cmake args, because magic

* Incorrect base class for tinyxml
2016-12-27 00:32:29 -08:00
Michael Kuhn
baaa613e44 Update wx to 3.1.0 (#2641) 2016-12-27 00:18:26 -08:00
Adam J. Stewart
29bac34c1d Ensure that every file in Spack has a license (#2659)
* Ensure that every package has a license

Also fixes URLs with http://http:// doubled.

This is a continuation of #2656.

* Add license to every file in Spack

* Make sure Todd is the author of all packages

* Fix flake8 tests

* Don't license external Sphinx docs

* Don't display licenses in tutorial example packages

Also fixes typos and converts command-line examples
from tcsh to bash, which is more common
2016-12-27 00:17:12 -08:00
Matthew Scott Krafczyk
3e92ffde7d Update py-cython with new pypi.io url and new version (#2650) 2016-12-25 19:48:11 -08:00
Adam J. Stewart
f34c5367d5 Better tabulation for spack checksum (#2673) 2016-12-25 19:25:53 -08:00
Denis Davydov
91bfebbed8 filter_system_path: additionally filter system prefixes (#2672)
That's because in set_build_environment_variables()
the funciton filter_system_paths() is actually applied to
package prefixes, and not to prefix/lib or prefix/include.
2016-12-25 19:24:56 -08:00
Bruno Turcksin
e16908b16b Add 64 bit variant to dealii. (#2654) 2016-12-25 18:55:14 -08:00
Adam J. Stewart
b240fdb2b9 Add latest version of Python 2 (#2668) 2016-12-25 18:53:16 -08:00
Michael Kuhn
33592d0142 Update gcc to 6.3.0 (#2669) 2016-12-25 18:52:58 -08:00
Todd Gamblin
c4afaabea9 Add argument to spack spec to show deptypes. (#2680)
- `-t` | `--types` argument now shows deptypes in `spack spec`
2016-12-25 14:15:58 -08:00
George Hartzell
041f96b349 Update the texlive distro digest. (#2679)
sigh.
2016-12-25 12:37:03 -08:00
Adam J. Stewart
7e8767e3fd Remove usernames from paths in docs (#2675)
* Remove usernames from paths in docs

* Fix path export
2016-12-25 12:36:35 -08:00
Massimiliano Culpo
8fe5fb7988 go: fixed GOROOT_BOOTSTRAP without workarounds (#2671) 2016-12-25 12:33:57 -08:00
Adam J. Stewart
c3cd948537 Modify github archive regex to support luaposix (#2677) 2016-12-25 12:32:19 -08:00
Michael Kuhn
e340f275b8 Update cairo to 1.14.8, gtkplus to 2.24.31 and pango to 1.40.3 (#2642) 2016-12-21 15:03:28 -08:00
Kim Serradell
70a4c4e105 Bug fontconfig (#2652)
* Added uuid: OSSP uuid is a ISO-C:1999 application programming interface

* Fixed install error in cmor package

* Added uuid: OSSP uuid is a ISO-C:1999 application programming interface

* Fixed install error in cmor package

* Modifiying fontconfig file to allow install in OpenSuse 13.2

* Adding pkg-config dependency to freetype and libxml2

* Removed first possible solution. With @adamjstewart selecting the one adding pkg-config to dependencies
2016-12-21 14:27:15 -08:00
Federico Padua
60dc751225 Fix homepage for the package libspatialindex (#2656)
Small fix for the homepage of the package libspatialindex.
2016-12-21 14:23:32 -08:00
scheibelp
3f1cdbf5ef Revert #2292: use frontend compiler for build deps (#2549)
The primary goal of #2292 was to use the frontend compiler to make
build dependencies like cmake on HPC platforms. It turns out that
while this works in some cases, it did not handle cases where a
package was a link dependency of the root and of a build dependency
(and could produce incorrect concretizations which would not build).
2016-12-20 00:21:25 -08:00
Michael Kuhn
3ce3165ae6 Update gdal to 2.1.2 (#2643) 2016-12-19 17:06:57 -08:00
Adam J. Stewart
b3ba45afa9 Various improvements to H5hut (#2636) 2016-12-19 17:06:14 -08:00
Todd Gamblin
c89de04f40 Support Yorick versions (#2640) 2016-12-19 14:55:23 -08:00
Andrey Prokopenko
d306893d83 moab: changed trilinos dependency to zoltan, and added fortran variant (#2582)
Trilinos dependency is very heavy, the zoltan one is light. I'm not sure
if there is a situation where one needs the former.
2016-12-19 14:41:09 -08:00
Adam J. Stewart
d24186ea84 Update PnetCDF to AutotoolsPackage (#2637) 2016-12-19 14:26:47 -08:00
George Hartzell
d8efeabf77 Update digest for vim@8.0 tarball. (#2600)
* Update digest for vim@8.0 tarball.

The digest appears to have changed.

The new digest value matches the value in their
[MD5SUMS](ftp://ftp.vim.org/pub/vim/unix/MD5SUMS)
file.

* Change ftp.vim.org -> github.com/vim/vim/archive

Vim seems to do weekly releases, but the name of the tarball on
ftp.vim.org doesn't change so we have to regularly play 'update the
digest' (aka Internet whack-a-mole).

This commit changes the url so that we are now downloading particular
versions from the Vim project's github archive.

I didn't walk back through of time to get all of the versions that
used to be explicit.  I grabbed the final `7.4` and the current `8.0`
releases.  If people need more we can add them.
2016-12-19 14:26:16 -08:00
Todd Gamblin
4b7b6768e6 Modify github regex to support NCO. (#2633) 2016-12-19 14:17:18 -08:00
Adam J. Stewart
46436a0909 GSL: Add latest version, update to AutotoolsPackage (#2630) 2016-12-19 09:21:38 -08:00
Todd Gamblin
a2b4146e10 Fixes for various hash issues (#2626)
* Better output for disambiguate_specs()

* Fix wrong exception name.

* Fix satsifies(): concrete specs require matching by hash.

- Fixes uninstall by hash and other places where we need to match a
  specific spec.

- Fix an error in provider_index (satisfies() call was backwards)

- Fix an error in satisfies_dependencies(): checks were too shallow.

* Fix default args in Spec.tree()

* Move installed_dependents() to DB to avoid unknown package error.

* Make `spack find` and `sapck.store.db.query()` faster for hashes.

* Add a test to ensure satisfies() respects concrete Specs' hashes.
2016-12-19 09:09:53 -08:00
Adam J. Stewart
08d323b1f8 NCO: Add latest version, update to AutotoolsPackage (#2629) 2016-12-19 08:49:37 -08:00
Todd Gamblin
b18738e03d Add gawk (GNU awk) (#2625)
* Add gawk, GNU awk.

* flake8 fix.
2016-12-18 22:35:23 -08:00
George Hartzell
6e1b3f621d Feature/add package for fastqc (#1573)
* Add package for fastqc

This tool is a java mess.  Their Way To Do It is to just copy the entire
tree into it's final resting place, make the perl script at the top
level executable and take it from there.

Yuck.

This package assumes that `set_executable` actually sets all the user
bits.  If that change doesn't go in, then something equivalent needs to
be done.

* Use chmod to make fastqc executable

I haven't gotten any feedback on changing set-executable, so switch to
using chmod (from the cuda package).

* Flake8 cleanup

* Install files neatly, don't just copy top level of dir

Rather than blindly copying everything in the distribution, carefully
put the necessary bits into reasonable places.  Neatness counts, etc...

This requires patching the `fastqc` perl script, so this commit adds a
patch file.

* Additional pep8 cleanup

* Let dependency handle adding jdk to PATH

* Flake8 cleanup

* Ensure that java is on PATH

I thought that the run dependency on the jdk would put
java on my PATH, but it does not appear to work.

For now, do it by hand.
2016-12-18 16:38:14 -08:00
Alfredo Adolfo Gimenez
68e9a2ed8d Added customization for make targets in 'build' and 'install' phases for AutotoolsPackage (#2464)
* Customization for make targets in build and test phases for AutotoolsPackage

* Updated Blitz++ to use customized make build and test targets

* Removed flake8 error

* Removed make test customization, added make install customization, need to figure out issues with multiple make targets

* Changed build_targets and install_targets to normal attributes
2016-12-18 16:27:47 -08:00
Chris MacMackin
0de7b5504e py-markdown: Add new package for python-markdown. (#2611)
* py-markdown: Add new package for python-markdown.

* py-markdown: Added restrictions on Python version.

* py-markdown: Removed upper-limit on compatible Python versions.

* py-markdown: Reinstated upper bound on Python version. Also fixed small formatting error.
2016-12-18 16:23:31 -08:00
Denis Davydov
1c0f28c559 gmsh: add 2.15.0 and switch to CMakePackage (#2620) 2016-12-18 16:20:37 -08:00
Denis Davydov
da2350a1c9 tbb: add 2017.3 (#2619) 2016-12-18 16:20:26 -08:00
Denis Davydov
aeb58dc2de cmake: add 3.7.1 (#2618) 2016-12-18 16:20:13 -08:00
Gregory Lee
592df25aef build fixes for openblas (#2601)
* build fixes for openblas

* avx2 in openblas nnot supported with older gcc

* merge fix for openblas
2016-12-17 17:04:59 -08:00
Denis Davydov
0ef55b831f dealii: fix config for Netcdf with lib64 (#2616) 2016-12-17 08:57:33 -08:00
Chris MacMackin
a1a41bb4c7 graphviz: fixed build error due to specifying ltdl lib but not include. (#2609)
* graphviz: fixed build error due to specifying ltdl lib but not include.

* graphviz: Fixed dependencies on libtool and expat.
2016-12-16 16:22:13 -08:00
Andrey Prokopenko
394f010952 libmesh: added mpi variant (#2584) 2016-12-16 15:39:55 -08:00
Thierry
5f88bea442 init nfft 3.3.2 package file (#2612)
* init nfft 3.3.2 package file

* shorten comment line
2016-12-16 15:36:34 -08:00
Chris MacMackin
3089d118c1 py-beautifulsoup4: Added version 4.5.1 (#2610) 2016-12-16 14:21:26 -08:00
Jon Rood
d7ff4b8f34 Updating Trilinos with superlu variant and fixing git branch version options. (#2604) 2016-12-16 14:14:50 -08:00
Adam J. Stewart
36072c4776 [HACK] Make concretization great again! (#2590)
* Always default to +mpi

* Always default to ~X
2016-12-16 10:49:02 -08:00
Massimiliano Culpo
87c9b01033 openblas: derives from MakefilePackage (#2488)
* MakefilePackage: changed build_args and install_args for consistency with #2464
openblas: derives from MakefilePackage

* MakefilePackage: changed default edit behavior
2016-12-15 10:15:52 -08:00
Massimiliano Culpo
f9ca5b9f27 go: see #2567, temporary fix (#2588) 2016-12-15 09:12:33 -08:00
Todd Gamblin
6971918c27 Add GNU patch to Spack. (#2598) 2016-12-15 01:35:45 -08:00
Mario Melara
32cecf55ee Fix target for compiler on CNL operating systems (#2580)
Changes any to a string to avoid <built-in function any> being
incorrectly added to target in compilers.yaml.
2016-12-14 14:37:14 -08:00
Jean-Paul Pelteret
8816cdea9e Blacklist flex 2.6.2 by commenting out package version (#2571)
Fixes #2554
2016-12-14 14:34:55 -08:00
Adam J. Stewart
1ac4ae0b41 Make unzip quiet (#2593) 2016-12-14 14:24:02 -08:00
George Hartzell
f487102c0c Update texlive digest (#2591)
Texlive is *live*, they update the contents of their tarball on a whim.

Here's the current one.
2016-12-14 11:55:48 -08:00
Kim Serradell
c02de564e4 New package py-cdo (#2569)
* Add python cdo support

* Correct pypi url

* Corrected a blanck space that was failing CI

* Corrected url that was failing CI

* Following @alalazo indications, Write this line wrapping it around 80 chars to pass Travis

* Added cdo package depency
2016-12-13 14:36:06 -08:00
Mario Melara
01230a62d4 Change attribute to match ArchSpec refactor (#2579)
Fixes issue #2578
2016-12-13 13:58:03 -08:00
Gregory Lee
392ed4f0cc Merge pull request #2506 from skosukhin/pr_python
A couple of updates for python package.
2016-12-13 13:56:15 -08:00
Ben Morgan
fb809189d3 Better cxx11/14/17 flags for GNU/Clang/Intel (#2539)
* Better cxx11/14 flags for GNU/Clang/Intel

- GCC 4.8 only supports -std=c++1y for C++14
- Use CMake's rules for AppleClang to set cxx11 and cxx14 flags based on
  Apple Xcode/LLVM version
- Use CMake's rules for Intel to add support for cxx14 flags based on
  Intel version.

* Add cxx17_flag property

Implement property in compiler for c++17 as per those for c++11/14.
Add concrete support for GNU/Clang:

- Return -std=c++1z for GCC 5 and above per GCC documentation
- Return -std=c++1z for Clang 3.5 and above per Clang documentation
- Return -std=c++1z for Apple LLVM 6.1 and above per CMake's rules
2016-12-13 13:15:10 -08:00
amklinv
f613445eb2 Added support for xSDKTrilinos package (#2201)
* Added support for xSDKTrilinos package

* Updated xsdktrilinos/package.py for PR review

* Added trilinos version # reqs to xsdktrilinos

* xsdktrilinos now uses CMakePackage

* Cleaned up xsdktrilinos/package.py

* Removed unused cxxflags from xsdktrilinos

* Removed unused sys import from xsdktrilinos
2016-12-13 11:50:10 -08:00
Elizabeth Fischer
4f9e548bf6 Update spack setup and spack graph to be consistent with recent refactoring (#2317)
* Update `spack setup` and `spack graph` to be consistent with c557e765 and 9347f869.  Fixes #2316.

* Added another "fix" necessary to make `spack setup` work.

* Added another "fix" necessary to make `spack setup` work. (reverted from commit 7f0d3ecb38)
2016-12-13 10:48:40 -08:00
Denis Davydov
d855403546 likwid: remote root from INSTALL_CHOWN (#2564) 2016-12-13 10:46:31 -08:00
Denis Davydov
fab9af7081 slepc/petsc: fix python dependency (#2560) 2016-12-13 01:32:42 -08:00
Todd Gamblin
8496d8ff77 Add a test to ensure package names have the right case. (#2562) 2016-12-13 01:23:40 -08:00
Sergey Kosukhin
d8c4418952 Updated python: refactoring and warning messages. 2016-12-13 08:36:56 +01:00
Sergey Kosukhin
3ba88a7509 Updated python: pass LDSHARED to dependants' setup scripts. 2016-12-13 08:36:56 +01:00
Sergey Kosukhin
ec855df071 Updated python: account for lib64 when filtering compilers. 2016-12-13 08:36:56 +01:00
Sergey Kosukhin
58cb2cc2af Updated python: reformat code. 2016-12-13 08:36:56 +01:00
Adam J. Stewart
9f71382912 Add missing bzip2 dependency to freetype (#2536)
* Add freetype dependency on bzip2

* Switch package with an install method for the docs
2016-12-12 14:20:36 -08:00
Jean-Paul Pelteret
6698650679 Doxygen: Add new version (#2561) 2016-12-12 13:45:29 -08:00
Sergey Kosukhin
8f28c9009e Set parent process's input stream inside the build process. (#2535) 2016-12-12 11:55:13 -08:00
Denis Davydov
eb645a8e46 p4est: remove unneded lua dependency (#2559) 2016-12-12 09:51:58 -08:00
Todd Gamblin
d3d87ea190 Add documentation for repositories and namespaces. (#2474)
* Add documentation for repositories and namespaces.

* Update and extend repository documentation per review.

- Also add `-N` argument for `spack spec`
2016-12-12 00:54:20 -08:00
Javier
641db8b9bd New package - r-xgboost (#2493) 2016-12-11 11:49:33 -08:00
Denis Davydov
c8a89d84b5 atlas: fix lapack stage path (#2371)
* atlas: fix lapack stage path

* atlas: add a few links to other package managers
2016-12-11 11:48:23 -08:00
Denis Davydov
d8fd5835b6 rename: add new package (#2486) 2016-12-11 11:44:30 -08:00
Stephen McDowell
7e96b09e63 [docs] missin .. code-block:: console in Spack 101 (#2530)
The advanced [Uninstalling Packages](spack.readthedocs.io/en/latest/tutorial_sc16_spack_basics.html#uninstalling-packages) via hash has a couple missing `.. code-block:: console` directives ;)

I have no idea what branch to direct this to though...
2016-12-11 11:40:36 -08:00
Denis Davydov
62dedc80b1 likwid: add todo (#2531)
* likwid: add todo

* liwkid: add a note on hwloc dependency
2016-12-11 11:39:56 -08:00
Denis Davydov
6475937fc2 numdiff: fix dependency type on macOS (#2538) 2016-12-11 11:38:40 -08:00
Sergey Kosukhin
42dbd4f855 Updated cmor: corrected way to set constraints for the extendee. (#2543) 2016-12-11 11:37:00 -08:00
Jean-Paul Pelteret
70f1e92951 Update Adol-C package (#2556)
Rename developer version, add new version, and make patch version
specific.
2016-12-11 11:35:57 -08:00
Denis Davydov
1570f90fde clang: do xcode mockup iff requested by a package (#2544)
* clang: do xcode mockup iff requested by a package

* add a note

* add pkg to setup_custom_environment() and decide whether or not to use mockup XCode there based on the package
2016-12-10 16:23:39 -08:00
Stephen McDowell
b03881d1bb Eigen 3.3.1 is latest stable version. (#2551)
Main page states [3.3.1 is latest stable](http://eigen.tuxfamily.org/index.php?title=Main_Page).
2016-12-10 16:23:20 -08:00
Stephen McDowell
3887d9b2bc Scotch 6.0.4 is available. (#2552)
Source project page states [6.0.4 is latest stable](http://scotch.gforge.inria.fr/)
2016-12-10 16:23:03 -08:00
Barry Smith
3a1e191b72 Implementation of spack file for Pflotran (#2444)
Supports installing both a "known version" of PETSc/PFlotran that works and
the develop/master branches of both packages

Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 4 hour
2016-12-10 16:22:36 -08:00
Tom Scogland
943c007fb5 update flux dependencies and package (#2541)
* update flux dependencies and package

* refinements from @adamjstewart

* fix flux document generation

The docbook-xsl package has been added, and correctly configures catalog
files to generate documentation correctly with asciidoc.
2016-12-09 17:19:53 -08:00
Denis Davydov
d7e9134d42 astyle: do not set user/group when installing on macOS (#2542)
* astyle: do not set user/group when installing on macOS

* astyle: add new version
2016-12-09 10:58:08 -08:00
Denis Davydov
4d0ea423fb petsc: explicitly disable X11 (#2533)
otherwise petsc may pickup libX11 on login nodes during config/build,
but libX11 may not be available on computation nodes.
2016-12-09 08:43:38 -08:00
becker33
3f8613ae42 Make targets an attribute of compilers (#2500)
* Make targets an attribute of compilers, similar to OS. Allows users to use `spack compiler find` to add compilers for the same platform/os but different targets when spack is installed on a file system mounted on machines with different targets.

* Changed get_compilers() method to treat old compilers with no target as target='any'

* flake8 changes

* Address change requests for comments/code clarity
2016-12-08 22:40:26 -08:00
Sergey Kosukhin
10591fb87f Json loader now returns str objects instead of unicode. (#2524) 2016-12-08 13:42:18 -08:00
Sergey Kosukhin
607f4e7b81 Added packages: cmor and uuid. (#2527)
* Added package 'uuid'.

* Added package 'cmor'.

* Updated 'cmor' and 'uuid': docstring formatting.
2016-12-08 12:09:21 -08:00
scheibelp
065e3d7c0d Revert to-string for CNL operating system (#2526) 2016-12-08 11:41:34 -08:00
Todd Gamblin
be300eb6d5 Add support for parsing R-XML URL versions. (#2525)
* Add support for parsing R-XML URL versions.

* Better url-parse debug output.

- just print the debug stuff all the time.

* fix R-XML versions.
2016-12-08 11:08:58 -08:00
George Hartzell
65df417444 Update emacs: current release, use our x11 bits (#2052)
* Update emacs: current release, use our x11 bits

Add checksum for 25.1 release.

Rework the X support:

- use Spack's X11 bits
- add ability to specify an X toolkit (gtk or athena, default is gtk).
- change toolkit names to align with Emacs' configure usage.

* PEP8 cleanups.

* glib dependency should not be type=build

I'd like to blame that on a typo, but it's a few too many characters
for that to be viable.  I'm not sure what I was thinking.

* Pass X variant down: emacs->pango->cairo

* X variants default to False, warn on bad toolkit

Change the X variants for emacs, pango and cairo to default to False.

Check that the toolkit is a valid choice and give a reasonable error if
not.

* Fix flake8 issue, reword warning text

* gtkplus needs to use +X variant for pango to work

In order for a useful variant of pango to be built into the spec I
needed to make the dependency on gtkplus explicitly specify it's X
variant.  The X variant is the default, but that wasn't enough to make
it happy.  Since it's happiness is the most imporant thing in the
world, this change! :)
2016-12-08 09:43:29 -08:00
Adam J. Stewart
ed8060abe0 Scotch fails to build with latest flex (#2523) 2016-12-08 09:37:18 -08:00
Denis Davydov
cab8788f53 dealii: remove dependencies which are not needed (#2522) 2016-12-08 07:29:22 -08:00
Pramod Kumbhar
29e42143e0 fix for bluegene-q platform (#1980)
* fix for  bluegene-q platform

* change powerpc to ppc64

* change CNK to cnk
2016-12-08 01:01:02 -08:00
scheibelp
83c9f7a4f2 Fix deptypes for deps specified on command line (#2307)
Fixes #2306

Any dependency explicitly mentioned in a spec string ended up with the
build and link deptypes unconditionally. This fixes dependency
resolution to ensure that packages which are mentioned in the spec
string have their deptypes determined by the dependency information
in the package.py files. For example if a package has cmake as a build
dependency, and cmake is mentioned as a dependency in the spec string
for the package, then it ends up with just the build deptype.
2016-12-08 00:54:30 -08:00
scheibelp
30daf95ae8 Use frontend OS for build/run deps by default (#2292)
Packages built targeting a backend may depend on packages like cmake
which can be built against the frontend. With this commit, any build
dependency or child of a build dependency will target the frontend by
default. In compiler concretization when packages copy compilers from
nearby packages, build dependencies use compiler information from
other build dependencies, and link dependencies avoid using compiler
information from build dependencies.
2016-12-08 00:51:19 -08:00
George Hartzell
5f01f273e0 Add version/digest for emacs 25.1 (#2511)
* Add version/digest for emacs 25.1

* Put newest version at top of list
2016-12-07 16:33:41 -08:00
Andrey Prokopenko
bb7b51855a yaml-cpp: add boost dependency (#2517)
yaml-cpp has a boost dependency, and according to [yaml-cpp
page](https://github.com/jbeder/yaml-cpp):
    yaml-cpp 0.5.3 has been released! This is a bug fix release. It also
    will be the last release that uses Boost; futures releases will require
    C++11 instead.
2016-12-07 13:55:12 -08:00
Tom Scogland
e0f5b12475 add ACLOCAL_PATH updates for packages that register m4 macros (#2518) 2016-12-07 13:53:57 -08:00
Oliver Breitwieser
55059a53a3 Fixed spelling of variable (#2516) 2016-12-07 13:08:51 -08:00
George Hartzell
72c01fbd33 Building lua-luafilesystem requires a newish-git (#2515)
See #2059 for background.

I'm unable to install `lmod` because lua-luafilesystem fails.

The luarocks install bits attempt to do a shallow clone of the luafilesystem
sources and the default git on my CentOS 7 test box (`git version 1.8.3.1`)
fails.

This adds a build dependency that ensures that a relatively modern git is
available.
2016-12-07 12:12:53 -08:00
George Hartzell
f3410a0b1d Update texlive digest value (#2514)
* Update texlive digest value

While the discussion in #2494 progresses, this changes fixes the digest
values so that builds succeeed.

* Add warning that texlive is not repeatably installable
2016-12-07 12:02:22 -08:00
Andrey Prokopenko
3088cb171e netcdf: add checksum for 4.3.3.1 version (#2509) 2016-12-07 09:34:31 -08:00
Andrey Prokopenko
8239bd1681 cmake: added checksum for 3.1.0 version (#2508) 2016-12-07 09:33:54 -08:00
Barry Smith
4e6f6320ad hypre, superlu-dist, trilinos - support using develop/master branches of these packages (#2443)
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 1 hour
2016-12-06 13:55:58 -08:00
Barry Smith
76dae1dc5f hypre, superlu-dist, trilinos - support using develop/master branches of these packages (#2443)
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 1 hour
2016-12-06 12:10:51 -08:00
Joseph Ciurej
9c57a49bf4 Fixed a few minor issues with the 'fontconfig' package install script. (#2491) 2016-12-06 10:39:59 -08:00
Andrey Prokopenko
9edb31a51c hdf5: added 'pic' variant (#2373) 2016-12-05 11:57:04 -08:00
Todd Gamblin
089e5b5996 Remove CYAML tests from Spack now that the DB is JSON. (#2487) 2016-12-05 10:31:49 -08:00
Adam J. Stewart
9115ab5097 Add Java support to OpenMPI (#2285)
* Update OpenMPI to the AutotoolsPackage

* Add Java support to OpenMPI

* Fix missing commas

* Be more specific about what versions support what flags

* Revert description for thread_multiple variant
2016-12-05 10:15:12 -08:00
Elizabeth Fischer
cd0524b5b7 py-rtree: Added package (#1548)
* py-rtree: Added package

* py-rtree = RTree (spatial indexing) data structure for Python
* libspatialindex = Underlying C library wrapped by py-rtree

* Flake8 and Copyright issues.

* Fix Python syntax error.

* Fixed dependency type error.

* Added new version, based on updates requested in upstream PR

* 1. Change cmake to build dependency.
2. Updated to CMakePackage
2016-12-05 10:08:52 -08:00
Todd Gamblin
41b8f31bcd Use JSON for the database instead of YAML. (#2189)
* Use JSON for the database instead of YAML.

- JSON is much faster than YAML *and* can preserve ordered keys.
  - 170x+ faster than Python YAML when using unordered dicts
  - 55x faster than Python YAML (both using OrderedDicts)
  - 8x faster than C YAML (with OrderedDicts)

- JSON is built into Python, unlike C YAML, so doesn't add a dependency.
- Don't need human readability for the package database.
- JSON requires no major changes to the code -- same object model as YAML.
- add to_json, from_json methods to spec.

* Add tests to ensure JSON and YAML don't need to be ordered in DB.

* Write index.json first time it's not found instead of requiring reindex.

* flake8 bug.
2016-12-05 10:03:58 -08:00
Adam J. Stewart
161d6205b2 Allow spack create to handle packages with period in name (#2351)
* Allow spack create to handle packages with period in name

* Update tests to handle new package name detection scheme
2016-12-05 09:34:14 -08:00
Denis Davydov
24093a932c ghostcript-fonts: fix install on macOS (#2482) 2016-12-05 08:28:35 -08:00
Denis Davydov
2d1ab68656 xextproto: fix on macOS by not running parallel build (#2483) 2016-12-05 08:28:02 -08:00
Massimiliano Culpo
2634e4909f travis: sphinx does not support python 2.6 anymore (#2485) 2016-12-05 08:27:03 -08:00
Todd Gamblin
b8b14c84e0 Bugfix: restore __contains__ method after ArchSpec refactor. (#2481) 2016-12-04 16:22:16 -08:00
George Hartzell
f0dcb5bbf7 Update go to 1.7.4 and 1.6.4 to fix security issues (#2467)
* Update go to 1.7.4 and 1.6.4 to fix security issues

The go team recently rolled out two releases to address security
issues.  Details available on the [go release
site](https://golang.org/doc/devel/release.html).

This commit updates our explicitly supported versions.

It also includes a comment about two CentOS requirements (enable
user_namespace and ensure that the static c library is installed) that
are required for the pacakges to pass their tests.

* Flake8 cleanup
2016-12-03 16:44:03 -08:00
Andrey Prokopenko
f17c22dfb5 zlib: added 'pic' variant (#2470)
It looks more complicated because zlib has custom configure which does
not support CFLAGS option. So instead, we take it from environment.
2016-12-03 16:43:44 -08:00
George Hartzell
6ddc518417 Update git package to include 2.11.0 (#2471) 2016-12-03 16:41:12 -08:00
Joseph Ciurej
552b4eae9e Fixes to Handling Multiple Architectures (#2261)
* Added some notes about how multiarch detection could be fixed.

* Implemented a preliminary version of the "spack.spec.ArchSpec" class.

* Updated the "spack.spec.Spec" class to use "ArchSpec" instead of "Arch".

* Fixed a number of small bugs in the "spack.spec.ArchSpec" class.

* Fixed the 'Concretizer.concretize_architecture' method so that it uses the new architecture specs.

* Updated the package class to properly use arch specs.
Removed a number of unused architecture functions.

* Fixed up a number of bugs that were causing the regression tests to fail.
Added a couple of additional regression tests related to architecture parsing/specification.
Fixed a few bugs with setting reserved os/target values on "ArchSpec" objects.
Removed a number of unnecessary functions in the "spack.architecture" and "spack.concretize" modules.

* Fixed a few bugs with reading architecture information from specs.
Updated the tests to use a uniform architecture to improve reliability.
Fixed a few minor style issues.

* Adapted the compiler component of Spack to use arch specs.

* Implemented more test cases for the extended architecture spec features.
Improved error detection for multiple arch components in a spec.

* Fix for backwards compatibility with v0.8 and prior

* Changed os to unknown for compatibility specs

* Use `spack09` instead of `spackcompat` for the platform of old specs.
2016-12-03 15:38:31 -08:00
hegner
2f46613132 Fix download URL and dependencies for py-pypar (#2430)
* fix download URL and dependencies for py-pypar

* use url_for_version in py-pypar
2016-12-02 13:56:00 -08:00
Nicolas Richart
cc92b9a3a2 foam-extend: modification to accept flex version >= 2.6 (#2452)
* Modification to accept flex version >= 2.6 + bug fix on paraview dependency

* flake8 "corrections"
2016-12-02 13:51:03 -08:00
Elizabeth Fischer
18878a8615 doxygen: Disable unnecessary graphviz dependency by default. (#2323) 2016-12-02 10:56:40 -08:00
Jon Rood
8b612d3568 Updating SuperLU package to use pic_flag instead of -fPIC, and removing specific version for default install method. (#2456) 2016-12-02 10:47:35 -08:00
Jon Rood
946605a4c9 Updating yaml-cpp from Package to CMakePackage. (#2457) 2016-12-02 10:41:18 -08:00
Gregory Lee
84dc0b5b83 new intel parallel studio versions (#2459) 2016-12-02 10:35:36 -08:00
Andrey Prokopenko
3024c0096a cmake: update the requirements for --no-system-jsoncpp option (#2312)
The option appeared in CMake 3.2 (specifically, in 3.2.0-rc2, see
https://cmake.org/pipermail/cmake-developers/2015-February/024552.html).
2016-12-01 17:51:00 -08:00
George Hartzell
c01f78e515 Make X11 font install dir the font search default (#2203)
* Make X11 font install dir the font search default

We install the X11 fonts into `/share/fonts` beneath the font-util
installation prefix, but that directory is not one of the places that
the font subsystem searches.

This commit makes the fontconfig package depend on the font-util
package, and then it makes

```python
spec['font-util'].prefix + "/share/fonts"
```

be the fontconfig default font location.

Before this change, plots drawn by R have bounding boxes where font
glyphs should be.  After this change fonts appear as expected.

* Enrich description string (trigger new CI run)

Improve the docstring for the package.

Also interested in the side effect of triggering another CI run
to see if the recent flake8 fix lets this PR run clean.

* Flake8 cleanups
2016-12-01 17:38:00 -08:00
hegner
8dae60c5f0 Fix py-scientificpython and py-argcomplete dependencies (#2420)
* add missing py-numpy dependency to scipy

* add missing setuptools build dependency to py-argcomplete
2016-12-01 14:34:07 -08:00
Sergey Kosukhin
c6e2d9c1b0 Updated hdf5: new versions added. (#2442)
* Updated hdf5: new versions added.

* Updated hdf5: url_for_version() accounts for per-version urls.
2016-12-01 14:31:27 -08:00
Matt Belhorn
e26a0be731 Does nothing if no prexisting config.guess is found. (#2446)
* Does nothing if no prexisting config.guess is found.

* Update name for RHEL OS.
2016-12-01 11:54:48 -06:00
TomasPuverle
f1fe614d67 Update tutorial_sc16_packaging.rst (#2450)
Fixed a typo.
2016-12-01 11:53:18 -06:00
TomasPuverle
a961797155 Update workflows.rst (#2451)
Fixed a typo.
2016-12-01 11:53:03 -06:00
Sergey Kosukhin
051720defd More informative help messages for spack config. (#2453) 2016-12-01 11:52:56 -06:00
Bruno Turcksin
bc4237c93e Update trilinos version to 12.10.1 (#2454) 2016-12-01 11:52:05 -06:00
Denis Davydov
6ce0ee49a9 likwid: add new package (#2455) 2016-12-01 11:51:23 -06:00
Gregory Lee
8e816f8f88 Merge pull request #2364 from davydden/ips_mkl
intel-parallel-studio: fix location of MKL libs
2016-12-01 09:21:37 -08:00
George Hartzell
8ab69c4d32 Update R&friends to use our X11 libs (#2053)
* Update R&friends to use our X11 libs

Add `depends_on()`'s for R, Cairo, and Tk so that they use the Spack X
bits.

* Conditionalize X stuff on variant

Another step towards hooking up the X stuff.

There's still discussion happening on the issue, but this is better
than the 'everything must build with X' state that it was in.
2016-11-30 15:49:49 -06:00
Adam J. Stewart
6cc9b31747 Allow shell support to work when set -u is set (#2418) 2016-11-29 17:04:29 -08:00
Javier
5eb7026dd1 New package - r-irkernel (#2434)
* New package - r-irkernel

* New package - r-pbdzmq, dependency of r-irkernel

* Adding blank line expected by flake8 tests
2016-11-29 16:59:28 -08:00
Joseph Ciurej
3d439d8946 Added the '+debug' and '+except' variants to the 'tetgen' package. (#2370)
Fixed a bug that was causing memory errors after asserts in 'tetgen@1.5.0'.
2016-11-29 16:18:03 -06:00
hegner
c3e34b480a CDash fixes (#2438)
use short spec instead of spec as CDash has a limitation in name length
mark all problems as 'FAILED' as CDash does not understand "ERRORED" status
2016-11-29 13:30:59 -06:00
Javier
e3778923b6 New package - r-rbokeh (#2436) 2016-11-29 11:29:46 -06:00
Erik Schnetter
00ad8e87f4 jemalloc: Update to 4.3.1 (#2435)
This corrects a severe problem (segfault) on macos Sierra.
2016-11-29 09:51:55 -06:00
Barry Smith
4d56d4f1f9 add support for installing the development (master) version of PETSc (#2431)
Funded-by:  IDEAS
Project:  IDEAS/xSDK
Time:   .3 hours
x
2016-11-29 09:28:09 -06:00
hegner
a6d579ea15 add headers neede for CDASH to junit output (#2433) 2016-11-29 08:29:57 -06:00
Adam J. Stewart
664939eeba Fix building latest version of flex (#2401)
* Fix building latest version of flex

* Don't need when clause

* Remove perl deps, shebang too long
2016-11-28 09:48:34 -08:00
hegner
a2e6de9b5d add missing zeromq dependency to r-rzmq (#2425) 2016-11-28 09:14:16 -08:00
Javier
bb5bd8091d New package - r-pryr (#2424) 2016-11-28 09:14:10 -08:00
Javier
2d43b56deb New package - r-uuid (#2423) 2016-11-28 09:14:05 -08:00
Javier
6e68a01e50 New package - r-rmarkdown (#2422) 2016-11-28 09:14:00 -08:00
Javier
6c2729ae6f New package - r-repr (#2421) 2016-11-28 09:13:20 -08:00
Denis Davydov
d2d23b76da hdf5: fix for lib64 installation (#2349) 2016-11-28 09:12:48 -08:00
Denis Davydov
b47bd9cc00 scotch: fix compilation on macOS (#2326) 2016-11-26 16:48:50 -08:00
Javier
eeb9c84677 New package - r-rinside (#2416)
* New package - r-rinside

* Changes to pass flake8 test
2016-11-26 16:48:04 -08:00
Javier
1cdfc30374 New package - r-rsnns (#2415) 2016-11-26 16:47:56 -08:00
Javier
0c4e97b6a1 New package - r-rzmq (#2414)
* New package - r-rzmq

* Adding homepage
2016-11-26 16:47:47 -08:00
Javier
7baa6e824b New package - r-irdisplay (#2413) 2016-11-26 16:47:38 -08:00
Javier
cc0d08255c New package - r-hexbin (#2412) 2016-11-26 16:47:25 -08:00
Andrey Prokopenko
8f0b91edaa netcdf: multiple improvements (#2377)
- Added 'dap' and 'cdmremote' variants
  This is based on work in #2324 with the following motivation:
      Turn off DAP support by deafult.  DAP requires curl, which has issues
      with circular dependencies.  For 95% of NetCDF users that do not need
      DAP, turning it off avoides this rats nest of problems.
- Added 'parallel-netcdf' variant
  To support work with parallel-netcdf
- Added 'shared' and 'static' build separation
2016-11-24 13:52:28 -08:00
George Hartzell
cde8f697a9 Bugfix/update go packages (#2369)
* Update go-bootstrap package

The last C based Go src tree was the 1.4 series.  For a while they
were cutting new releases so that people could bootstrap from a C only
system.  Now they're recommending that you either use the release-1.4
branch or that you use a date-stamped tarball that they'll produce on
an as-needed basis.

There are several issues that keep 1.4.2 from building on a CentOS 7
system.

I've switched to the date based tarball.

The cgo bits were also mis-behaving, but they're not needed for the
bootstrapping task so I've set an environment variable that disables
them.

Details [on the install-from-source
page](https://golang.org/doc/install/source#go14) and these issues:

- https://github.com/golang/go/issues/17545
- https://github.com/golang/go/issues/16352.

* Update go package

Switched from pulling from the git repository to using the source
tarballs and added digest values.

Added support for 1.7.3, continued supporting 1.6.2, including patches
for a couple of problems (details in
[17545](https://github.com/golang/go/issues/17545) and
[17986](https://github.com/golang/go/issues/17986).

Dropped support for 1.5.4 and 1.4.2 because they no longer pass their
tests and the patches above to not apply.
2016-11-24 12:25:51 -08:00
Andrey Prokopenko
11bfccd53f Adding pic_flag property to compilers (#2375)
Different compilers have different flags for PIC (position-independent
code). This patch provides a common ground to accessing it inside specs.

See discussions in #508 and #2373. This patch does not address the issue
of mixed compilers as mentioned in #508.
2016-11-24 12:25:22 -08:00
scheibelp
261d36e801 Add dynamic search option for package sources (#2270)
Package provides a 'list_url' attribute which may be searched to find
download links. #1822 created a slowdown for all tests by always
searching this URL. This reenables dynamic search only in cases where
all other fetchers fail. This also only enables dynamic search when
'mirror_only' is set to false.
2016-11-24 12:21:05 -08:00
Javier
9c267e9c73 Updated version - r-lattice (#2410) 2016-11-24 12:19:42 -08:00
Javier
09a5826903 New package - r-testit (#2409) 2016-11-24 12:19:10 -08:00
Javier
f4fc670ab4 New package - r-highr (#2408) 2016-11-24 12:19:05 -08:00
Javier
bb3239903b New package - r-knitr (#2407) 2016-11-24 12:19:01 -08:00
Javier
8949e67ce3 New package - r-gistr (#2406) 2016-11-24 12:18:57 -08:00
Javier
85638aad03 New package - r-formatr (#2405)
* New package - r-formatr

* Block comment should start with '# '
2016-11-24 12:18:47 -08:00
Javier
4214281ab3 New package - r-evaluate (#2404) 2016-11-24 12:18:41 -08:00
Gregory Lee
96bc3ff8f6 added qt variants for pyqt to build (#2389) 2016-11-23 14:10:12 -08:00
Jon Rood
a6db0bfae2 Updating SuperLU package file with ability to build version 4.3. (#2390)
* Updating SuperLU package file with ability to build version 4.3 (before they added cmake) with external blas or internal blas, and added capability to build the latest version 5.2.1 (with cmake) with internal blas.

* Updating SuperLU package file with suggested changes, i.e. reorganizing installation methods based on version, adding cmake dependency when necessary, removing any use of internal blas, and also adding fpic variant.

* Fixing flake8 failures.
2016-11-23 13:26:00 -08:00
Javier
c3aa5443b9 Adding R library r-bitops (#2382) 2016-11-23 13:24:35 -08:00
Adam J. Stewart
e60bccd95c Fix indentation for newly created packages (#2391) 2016-11-23 10:58:13 -08:00
Javier
7bda4e98b3 New package - r-catools (#2394)
* New package - r-catools

* Splitting lines to pass flake8 travis test
2016-11-23 10:57:47 -08:00
Javier
b085ce9e94 New package - r-partykit (#2395)
* New package - r-partykit

* Splitting lines to pass flake8 travis test
2016-11-23 10:57:23 -08:00
Javier
0eddf8421d New package - r-formula (#2396) 2016-11-23 10:56:59 -08:00
Javier
d6710a6aaf New package - r-deoptim (#2397) 2016-11-23 10:56:37 -08:00
Javier
74e6db9060 New package - r-c50 (#2393)
* Adding R library r-bitops

* New package - r-c50
2016-11-23 10:56:13 -08:00
Jon Rood
f8d038c0b8 New package yaml-cpp (#2399)
* Adding new package for yaml-cpp.

* Removing gcc specific c++11 flag. Adding fpic variant. Fixing formatting.
2016-11-23 10:54:22 -08:00
Matthew Scott Krafczyk
1fbe67af3d Update flex package url's and versions (#2384)
* Update flex package url's and versions

The old sourceforge page for flex is now defunct. While version 2.6.0
still downloads fine, later versions are no longer hosted there.
Development continues on github. I've adjusted urls to point to this
new location.

In addition, from 2.6.0 onwards, a new naming scheme for releases seems
to have been adopted. I've created a url_for_version function to sort
this out.

* Change flex to an AutotoolsPackage

Also move the url_for_version function to the end of the package
definition.

* Implement the autoreconf function for flex
2016-11-22 14:30:25 -08:00
Adam J. Stewart
f351e4402c Update external distro package to 1.0.1 (#2381) 2016-11-22 14:01:01 -08:00
Todd Gamblin
1901b05b9c Forgot http:// in tutorial link. 2016-11-22 01:24:48 -08:00
Todd Gamblin
c394046971 Fix broken doc links. 2016-11-22 00:55:04 -08:00
becker33
5e73266572 Merge pull request #2291 from ax3l/topic-icet
Packages: Add IceT
2016-11-21 14:27:17 -08:00
becker33
294ad3e818 Merge pull request #2343 from krafczyk/features/better_diagnostics
Improve diagnostics to ease debugging
2016-11-21 14:22:26 -08:00
becker33
760bca3048 Merge pull request #2376 from aprokop/misprint_fix
llvm-lld: minor misprint fix
2016-11-21 14:12:44 -08:00
Andrey Prokopenko
3954fc8545 llvm-lld: minor misprint fix 2016-11-21 16:22:31 -05:00
Glenn Johnson
a8e40bf803 intel-parallel-studio: fix location of MKL libs 2016-11-18 23:16:47 +01:00
Matthew Krafczyk
f1b26cb72e Improve stacktrace printing
Sometimes files in the stacktrace are not from spack. Remove these
files before finding the spack root.
2016-11-17 12:51:41 -05:00
Matthew Krafczyk
de7171db8a Use better scheme for getting root directory 2016-11-16 12:14:25 -05:00
Matthew Krafczyk
6c854246aa Fix some formatting errors caught by flake8. 2016-11-16 11:58:36 -05:00
Matthew Krafczyk
8e6d890a19 -s now includes the file and line number with info
The option -s now causes file and line number information to be printed
along with any invocation of msg, info, etc...

This will greatly ease debugging.
2016-11-16 11:58:36 -05:00
Denis Davydov
a5fb33b0e4 python: symlink lib64/python2.7/lib-dynload/ to lib/python2.7/lib-dynload/ (#2295) 2016-11-16 07:29:08 -07:00
Todd Gamblin
2611cbed40 Move tutorial slides to external link and stop using git LFS (#2341)
- Seems like older git versions won't be able to clone an LFS repo.

- Reverting to an external link for the slides to avoid storing an 8MB
  file in the repo and to avoid using git LFS.
2016-11-15 14:11:26 -07:00
Todd Gamblin
2fcac22e66 Add tutorial link to README 2016-11-14 18:35:21 -07:00
Todd Gamblin
85a05681cc Add SC16 tutorial to the Spack docs. (#2334) 2016-11-14 18:23:30 -07:00
Todd Gamblin
bdd1069a9e Add SC16 tutorial to the Spack docs. 2016-11-14 18:08:21 -07:00
becker33
93287b950b Merge pull request #1547 from citibeth/efischer/160816-PyPathspec
py-pathspec: New package
2016-11-14 15:13:21 -08:00
Axel Huebl
4b82d881dc Add Package: IceT
Adds the IceT compositing library from Sandia/Kitware.
Most default functionality needed for image compositing is
added, OpenGL acceleration for very large displays is disabled.

Downstream usage:
  most VTK based software which supports parallel image compositing,
such as VisIt, Paraview and in our use-case
[ISAAC](https://github.com/ComputationalRadiationPhysics/isaac).
2016-11-13 16:50:14 -07:00
becker33
b13b253ced Edited/fixed basic usage tutorial (#2329)
* Colify compiler output

* Edited/fixed basic usage tutorial

* fix console spacing.
2016-11-13 09:29:32 -07:00
Massimiliano Culpo
103a98a468 fake install: mock include directory (#2294) 2016-11-13 04:45:50 -07:00
Massimiliano Culpo
7e93a0e5f1 install: fixed choices for --only (removed the default) fixes #2303 (#2308) 2016-11-13 04:45:29 -07:00
Kelly Thompson
05c6c40e36 Force the recipe for Lua to use the spack compiler. (#2299)
* Force the recipe for Lua to use the spack compiler.

I'm not sure how the old recipe worked for anyone. The Lua Makefiles set
`CC=gcc` and for my spack environment the first `gcc` found in my `PATH` is
`$SPACK_ROOT/lib/spack/env/gcc`, which is a directory. This caused the build
to fail. My change drops the `-std=gnu99`, but this option doesn't appear
to be required for a sucessful build.

* Preserve the '-std=gnu99' compile option.
2016-11-12 21:46:59 -07:00
Elizabeth Fischer
8c0c3263e2 Simplify the CMake build to make it more robust. (#2325)
* Simplify the CMake build to make it more robust.

* ncurses on by default.
2016-11-12 21:26:40 -07:00
Todd Gamblin
a5934fcaa6 Remove automake dep in libelf. (#2328) 2016-11-12 21:25:14 -07:00
Gregory Becker
7201053f2a Basic usage step-by-step tutorial 2016-11-12 16:55:37 -07:00
Matthew LeGendre
216d269f1d Add packaging tutorial to docs (#2315)
* Add packaging tutorial to docs

* packaging tutorial: formatting
2016-11-12 07:45:50 -08:00
Adam J. Stewart
09470ec672 Add VizGlow package (#2298) 2016-11-10 21:55:27 -08:00
Axel Huebl
42cc997aea Packages: Add Jansson (#2287)
This adds the built recipe for
[Jansson](http://www.digip.org/jansson/),
*a C library for encoding, decoding and manipulating JSON data.*

GitHub Repo: https://github.com/akheron/jansson

Downstream Usage:
  In [ISAAC](https://github.com/ComputationalRadiationPhysics/isaac)
which is an *in situ visualization library* based on
  [alpaka](https://github.com/ComputationalRadiationPhysics/alpaka)
and/or CUDA which is used in
  [PIConGPU](https://github.com/ComputationalRadiationPhysics/picongpu).
2016-11-10 21:52:49 -08:00
Denis Davydov
7cb756cdbb tree: use Spack's compiler and fix installation on macOS (#2293) 2016-11-10 21:52:22 -08:00
Axel Huebl
26ed2327ae Packages: Add libwebsockets (#2288)
This adds the built recipe for
[libwebsockets](https://libwebsockets.org/lws-api-doc-master/html/index.html),
a *C library for lightweight websocket clients and servers*.

GitHub Repo: https://github.com/warmcat/libwebsockets

Downstream Usage:
  In [ISAAC](https://github.com/ComputationalRadiationPhysics/isaac)
which is an *in situ visualization library* based on
  [alpaka](https://github.com/ComputationalRadiationPhysics/alpaka)
and/or CUDA which is used in
  [PIConGPU](https://github.com/ComputationalRadiationPhysics/picongpu).
2016-11-10 21:51:50 -08:00
Adam J. Stewart
99cf7b4ab3 Run HDF 5 tests post-installation (#2297) 2016-11-10 21:50:32 -08:00
scheibelp
bece9aca84 Allow compiler wrapper to modify environment (#2275)
* Allow compiler wrapper to modify environment

This adds the ability to set environment variables in the compiler
wrappers. These are specified as part of the compilers.yaml config.
The user may also specify RPATHs in compilers.yaml that should be
added.

* Minor doc tweak
2016-11-09 08:00:34 -08:00
christianbaensch
2e11e7e456 Update package.py with/out CUDA support (#2266)
Adding some lines to prevent from using any CUDA stuff, if NVIDIA CUDA Developement Kit was installed before.
2016-11-09 07:37:40 -08:00
Massimiliano Culpo
e5edac8af6 zlib, tar: passed to AutotoolsPackage (#2273) 2016-11-09 07:37:08 -08:00
Massimiliano Culpo
01e42bfea0 find, uninstall: improved user interaction in the case of empty DB (#2278) 2016-11-09 07:36:45 -08:00
Gregory Lee
1b64213b10 added numpy version 1.11.2 and moved url to pypi.io (#2286) 2016-11-09 07:35:30 -08:00
Oliver Breitwieser
98f27a89ec Add py-pudb package (#2289) 2016-11-09 07:34:30 -08:00
Oliver Breitwieser
68f79043aa Add 1.5.3 for py-matplotlib and moved to pypi.io (#2271)
* Added version 1.5.3 for py-matplotlib

* Updated url to pypi.io so all versions are properly downloaded.
2016-11-09 07:34:17 -08:00
Sergey Kosukhin
4457c6a2ad Updated environment-modules package: (#2279)
Added 'lib64' directory as a possible option where tclConfig.sh file can be found.
2016-11-08 07:19:31 -08:00
Pramod Kumbhar
ba58a9f30d fix tau installation issue (#2269)
* fix tau installation issue : setup_environment() is
called before install phase when 'Makefile.*' doesn't
exist (causing list index out of range error).

* Added detailed comment suggested by @alalazo
2016-11-08 07:18:14 -08:00
Gregory Lee
1f5ca24197 Merge pull request #2197 from skosukhin/ext_bugfix
Updated python package reflecting the changes in 9347f86
2016-11-07 16:05:57 -08:00
Todd Gamblin
908ba6e3d6 Waste less space when fetching cached archives, simplify fetch messages. (#2264)
* Waste less space when fetching cached archives, simplify fetch messages.

- Just symlink cached files into the stage instead of copying them with curl.
- Don't copy linked files back into the cache when done fetching.

* Fixes for review.

* more updates

* last update
2016-11-07 01:34:30 -08:00
Todd Gamblin
08477f6624 Don't automatically spider remote list_urls before making stage. (#2263)
- This might be useful but we don't want to do it unconditionally.
2016-11-06 20:50:14 -08:00
becker33
49b1c0df2b Changed cflag matching to exact rather than subset. (#2227)
Not the desired eventual behavior, but cflag subset matching is not currently working for anonymous specs and this provides a temporary solution by restricting the feature until it is fixed.
2016-11-06 15:32:05 -08:00
Adam J. Stewart
ca5f713282 Further restrict versions of GCC patched (#2259) 2016-11-06 15:31:48 -08:00
George Hartzell
7f5d1953d4 Wordsmithing/minor-edits to module tutorial (#2256)
* Wordsmithing/minor-edits to module tutorial

A small set of wordsmithing, spell checking and minor edits to the fancy
new modules tutorial!

* Fix typo (sneaky z key...)

* Fix "S:" and "manual<" typos
2016-11-06 14:56:41 -08:00
Todd Gamblin
544b147370 Add detection for redhat enterprise server to distro.py (#2262) 2016-11-06 14:23:21 -08:00
Michael Kuron
6f2c05b888 Add PFFT parallel FFT package (#2255)
* Add PFFT parallel FFT package

* pfft: fix non-double precision
2016-11-05 12:19:19 -07:00
Massimiliano Culpo
6c1113769b mpich: updated package to build_systems (#2254)
* mpich: updated package to build_systems

* qa : flake8 issues
2016-11-05 11:23:57 -07:00
Massimiliano Culpo
1bef2b7e98 variable referenced before assignment (#2252) 2016-11-05 10:15:29 -07:00
Jeffrey Salmond
a260e7e860 Bugfix in concretize_compiler (#2196)
* fix bug in search for concrete compiler

* simplify implementation of concretize_compiler

* fix flake8 errors
2016-11-04 23:20:49 -07:00
Adam J. Stewart
6d1c32d46a Add STAR-CCM+ package (#2202)
* Add STAR-CCM+ package

* Cleanup commented out code
2016-11-04 23:16:20 -07:00
Sergey Kosukhin
6dfc536ecd Updated py-netcdf: added dependency on py-setuptools. (#2213) 2016-11-04 23:15:55 -07:00
George Hartzell
bcee2ca162 New texlive release, updating the digest to match (#2218)
* November 1 seems to have brought a new texlive release, updating the
digest to match.

Also switching the url from their automagic mirror to an explicit
site to avoid inconsistencies during their updates.

It seems like only yesterday (#2073) that I updated this....

* Add comment to url warning about mirror updates

Add a comment to the download info warning to use a
specific site rather than the mirror, to avoid wobbles
during their asynchronous updates.

* Fix typo ('to no' -> 'do not')
2016-11-04 23:14:48 -07:00
scheibelp
0940ee6015 Fixes #1520 (#1822)
Some packages which include resources fetched from source control
repositories terminated package installs because they failed to
archive; specifically, this included all SCM resources which identify
a specific state of the repo - for example a revision in svn or a
tag/revision in git. This is because the resource stage creation
logic did not choose an appropriate archive name for these kinds of
resources.
2016-11-04 20:14:56 -07:00
Adam J. Stewart
4e6d535058 Set Clang as the default compiler on macOS (#2225)
* Set OS-specific default compilers

* Fix flake8 warnings
2016-11-04 17:32:25 -07:00
Todd Gamblin
78154a63e8 Fix bug in distribution detection on unsupported platforms. 2016-11-04 16:49:19 -07:00
Jeffrey Salmond
9cd83a4efb Use code from the distro package to improve linux distro detection. (#1629)
* Use code from the `distro` package to improve linux distro detection.

Various issues [1] [2] with the platform.linux_distribution function led
to the function being deprecated in python 3.4. The pipi package distro
[3] contains compatible improved code that better tracks current methods
for identifying linux distributions (see, for example, [4],[5]).

[1]: https://bugs.python.org/issue20454
[2]: http://bugs.python.org/issue1322
[3]: https://pypi.python.org/pypi/distro
[4]: https://refspecs.linuxbase.org/LSB_3.0.0/LSB-PDA/LSB-PDA/lsbrelease.html
[5]: https://www.freedesktop.org/software/systemd/man/os-release.html

* fix (potential) unicode problems
2016-11-04 16:38:44 -07:00
Axel Huebl
c3d9dda0e5 libSplash: Add 1.6.0 Release (#2244)
* libSplash: Add 1.6.0 Release

Add the latest release of libSplash, version 1.6.0.

* Fix flake8 checks (another loop inversion issue)
2016-11-04 16:27:17 -07:00
Massimiliano Culpo
401b4cb137 module files tutorial : first complete draft (#2228)
* module files tutorial : first complete draft

- first complete draft for module files tutorial
- minor corrections to module file reference

* module file tutorial : first batch of corrections

- module avail spelled out fully
- typos from @adamjstewart
- rewording of a few sentences

* module file tutorial : first batch of corrections

- emphasized lines in yaml files

* module file tutorial : fixes according to @citibeth and @adamjstewart reviews

- used long format for command options
- reworded unclear sentence on tokes
- reworked table in reference manual to make it clearer

* module file tutorial : implemented corrections collected on site from @schlyfts

* module file tutorial : removed comment (@hartzell suggestion)
2016-11-04 12:55:43 -07:00
Gregory Lee
ee6eb508cb patch older config.guess for newer architectures (#2221) 2016-11-04 12:12:37 -07:00
Massimiliano Culpo
296a349d49 setup script for bash : fixes #2209 for sh setup (#2212) 2016-11-04 12:00:01 -07:00
Jeffrey Salmond
472ad39db3 updates to matio package (#2243)
* updates to matio package

- update to a AutoTools package
- add variants for hdf5 and zlib
- add latest version

* fix flake8 error
2016-11-04 11:56:47 -07:00
Jeffrey Salmond
f01b9797d7 opencoarrays package fixes and new version (#2239)
* fix and simplify opencoarrays package using new CMakePackge methods

* add new version
2016-11-04 11:50:25 -07:00
Todd Gamblin
2536029ea9 Better spack spec (#2238)
* Add options for hashes, tree depth, and YAML to `spack spec`.

- Can now display hashes with `spack spec`, like `spack find`.
  - Removed the old "ids" argument to `spack spec` (which
    printed numerical values)b

- Can output YAML spec from `spack spec` with `-y`

- Can control depth of DAG traversal with --cover=[nodes|edges|paths]

- Can print install status (installed, missing, not installed) with -I

* Don't use YAML aliases in specs.

- Force Spack's YAML dumper to ignore aliases.
- aliases cause non-canonical YAML to be used in DAG hash, and result in
  redundant hashes.
- add a test to ensure this behavior stays
2016-11-04 11:47:57 -07:00
Peter J. Scheibel
9a585e6c6a Make spec.format properties case-insensitive 2016-11-04 11:41:20 -07:00
Peter J. Scheibel
74b439b7f1 Support 'COMPILERVERSION' in spec format string 2016-11-04 11:41:20 -07:00
Jeffrey Salmond
a135a1245a tweaks to packages using CMakePackage (#2241)
* fix to trilinos package

* fix to dealii package

* fix to everytrace package

* fix to everytrace-example package

* changes suggested by @davydden
2016-11-04 10:57:53 -07:00
Denis Davydov
29f81b7775 trilinos: switch to CMakePackage and minor cleanup (#2226) 2016-11-04 02:00:03 -07:00
Denis Davydov
453331dba0 dealii: switch to CMakePackage and minor cleanup (#2237) 2016-11-04 01:46:39 -07:00
Denis Davydov
1eeef97c78 remove obsolete instructions on hacking clang+gfortran (#2217)
* remove obsolete instructions on hacking clang+gfortran

* add detailed instructions on how to setup Clang+gfortran on macOS
2016-11-03 08:06:33 -07:00
Massimiliano Culpo
36a4ca8b11 spack install: forward sys.stdin to child processes (#2158)
* spack install: forward sys.stdin to child processes fixes #2140

 - [ ] redirection process is spawned in __enter__ instead of __init__
 - [ ] sys.stdin is forwarded to child processes

* log: wrapped __init__ definition
2016-11-03 08:03:10 -07:00
Massimiliano Culpo
5b5894afba spack find: accepts anonymous specs as arguments fixes #2170 (#2188) 2016-11-03 00:45:15 -07:00
Pramod Kumbhar
b706da1109 Set TAU_MAKEFILE env variable (#2210)
* In order to use TAU module, we have to set TAU_MAKEFILE env variable.

* updated with suggestions from @citibeth
2016-11-02 15:05:47 -05:00
Todd Gamblin
b304387308 Fix style checker bug. (#2214)
* Fix style checker bug.

* spack flake8: print cwd-relative paths by default, with root-relative option.
2016-11-02 12:17:35 -05:00
Barry Smith
9455621ec2 Add support for gfortran to be used with clang (#2192)
1) list gfortran as a fc and f77 compiler that can work with clang
2) allow compatible gfortran to ./spack compiler find with clang by matching version numbers

This is based on the discussions in

https://github.com/LLNL/spack/issues/237
https://github.com/dealii/dealii/wiki/deal.II-in-Spack#mixing-gcc-and-clang-on-osx

This is not a long term solution but something to get us through the next months until the compiler
infrastructure is reworked to allow mixing and matching for C/C++ and Fortran compilers

Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 1.5 hours
2016-11-02 11:17:13 -05:00
Sergey Kosukhin
8fb5cb2137 Added first version of the NCL package. (#2195)
Without GRIB2 and HDF-EOS support yet.
2016-11-02 10:20:57 -05:00
Peter Doak
1aa5d4875e Nmap package added (#2206)
* works to build newest version of nmap with gcc@5.3.0

* formatting

* clean up
2016-11-01 16:10:39 -07:00
scheibelp
45a4388164 Update references in debug command (#2204) 2016-11-01 13:55:13 -07:00
Sergey Kosukhin
62eba4774d Updated python package reflecting the changes in 9347f86 2016-11-01 16:15:34 +01:00
Todd Gamblin
edfe2297fd Improved package.py error handling. (#2187)
- Detailed debug information is now handed back to the parent process
  from builds, for *any* type of exception.

- previously this only worked for Spack ProcessErrors, but now it works
  for any type of error raised in a child.

- Spack will print an error message and source code context for build
  errors by default.

- It will print a stack trace when using `spack -d`, even when the error
  occurred in the child process.
2016-10-31 15:32:19 -07:00
Todd Gamblin
1b7f9e24f4 Add spack flake8 command. (#2186)
- Ported old run-flake8-tests qa script to `spack flake8` command.
- New command does not modify files in the source tree
- Copies files to a temp stage modifies them there, and runs tests.
- Updated docs and `run-flake8-tests` script to call `spack flake8`.
2016-10-31 11:40:20 -07:00
Todd Gamblin
4be703cde0 Allow common args to be written the same way regular args are. 2016-10-30 23:55:00 -07:00
Todd Gamblin
8f21332fec Bugfix: '::' only worked on top-level key in config.
- generalized and fixed to work with any key in YAML file
- simplified schema writing, as well
- add more unit tests for the config system
- Rename test/yaml.py to test/spack_yaml.py
  - Add test/yaml.pyc to ignored pyc files.
2016-10-30 23:55:00 -07:00
Todd Gamblin
d155156e32 Documentation for configuration 2016-10-30 23:55:00 -07:00
Todd Gamblin
b962622975 Add spack arch --platform option 2016-10-30 23:55:00 -07:00
Todd Gamblin
db89b534bd travis.yml: Only build master and develop on push 2016-10-30 23:55:00 -07:00
Todd Gamblin
58e76721b9 Make provider_index use spack yaml for cleaner output. 2016-10-30 23:55:00 -07:00
Todd Gamblin
da760a66de source_cache, misc_cache, verify_ssl, checksum, & dirty in config.yaml
- Added new preferences to config.yaml:
  - source_cache
  - misc_cache
  - verify_ssl
  - checksum
  - dirty
2016-10-30 23:55:00 -07:00
Todd Gamblin
22b14e0f23 Add module_roots to config.yaml 2016-10-30 23:55:00 -07:00
Todd Gamblin
0da639298c Move temp directory configuration to config.yaml
- Moved temp finding logic to spack.stage
- Updated stage tests
- Added tests for new path substaitution of $user, $spack, $tempdir
2016-10-30 23:55:00 -07:00
Todd Gamblin
9347f86939 Rename install.yaml -> config.yaml, install_area -> "store"
- Added a schema for config.yaml
- Moved install tree configuration to config.yaml
- Moved etc/spack/install.yaml to etc/spack/defaults/config.yaml
- renamed install_area to "store", to use a term in common with guix/nix.
  - in `config.yaml` file, it's called the `install_tree` to be more
    intuitive to users.
  - `install_tree` might've worked in the code, but `install_tree` is
    already a global function in the spack namespace, from
    llnl.util.filesystem.
2016-10-30 23:55:00 -07:00
Benedikt Hegner
24901f7a38 add documentation for new option to set install area 2016-10-30 23:55:00 -07:00
Benedikt Hegner
c557e76565 refactor settings for install area and make them config options 2016-10-30 23:55:00 -07:00
Matt Belhorn
7ccf56a0b7 Removes cyclic dependency on spack.config. (#2121)
Merge #2030 added a cyclic dependency between the Cray platform needing
to read a `targets.yaml` config file and `config.py` needing to get the
platform names.

This commit removes the cyclic dependency in favor of the more general
config scheme. It also removes the now functionless `targets.yaml`
config file. This breaks 'frontend' targets on the Cray platform but
all architecture targets, including the frontend, that are provided by
CrayPE are added to the Platform anyway so users can be explicit about
the architecture targeted by the Cray compiler wrappers:

```
spack spec libelf arch=cray-CNL-frontend
```

becomes

```
spack spec libelf arch=cray-CNL-mc8         # on an XK7 or
spack spec libelf arch=cray-CNL-sandybridge # on an older XC30, etc..
```

The only way the 'frontend' target can be defined after this commit is
through target environment variables.
2016-10-30 21:02:27 -07:00
Barry Smith
a714377123 python: PYTHONHOME may not be the same as the prefix of the python executable (#2173)
On MacOS, brew installs /usr/local/bin/python but the Python prefix is not /usr/local/bin
Use the python command sys.exec to get the correct directory, instead of the ad hoc self.prefix
previously used

This was a bear to debug; been driving me nuts since I started using spack.
Since spack passes PYTHONHOME down to package builds in the environment
it was passing PYTHONHOME of /usr/local/bin to the PETSc build that uses Python so
the PETSc Python ./configure errored immediately with

ImportError: No module named site

since python could find no python modules. Todd Gamblin pointed out that my first try to fix
this was wrong since it assumed the spack python was the same python used to run spack. Elizabeth Fischer
suggested how to get it to work also with python3

Funded-by: IDEAS
Project: IDEAS/xSDK
Time:  7 hours
Thanks-to: Todd Gamblin, Elizabeth Fischer
2016-10-30 17:13:16 -07:00
Massimiliano Culpo
9989f8e267 module file support: major rework of docs (#2169)
* module file support: major rework of docs

* module file support: fixed issues found by @adamjstewart

- list or enumeration should not be indented
- use console instead of bash or csh in things that are not scripts
- other typos

* module file support: fixed other issues found by @adamjstewart

- tables should not be indented
- substitute lines with pyobject to import an entire function
- get help output running commands
- typos

* module file support: fixes according to review comments

- @citibeth moved `spack module loads` after `spack load`
- @glennpj tried to clarify installation table + changes to language
- @tgamblin Removed top level section and moved the whole thing into the reference manual

* module file support: moved directive before spack module loads
2016-10-30 12:41:41 -07:00
Massimiliano Culpo
4d35ac6a16 configuration file for modules : fixed enable keyword (#2176)
- enable keyword works again
- test/modules.py : proper clean-up after tests
2016-10-30 12:30:51 -07:00
Gregory Lee
dbd9f1c5a1 updated gtk and gobject dependences (#2126) 2016-10-30 11:50:36 -07:00
Barry Smith
ef2c42a889 Do not check directory layout for external packages (#2172)
External packages do not have an spec.yaml file so don't check for it.
Without this change any time a package depends on an external package
when the new package is installed you will get the error

Install prefix exists but contains no spec.yaml

This problem has also haunted me since I started using Spack since PETSc
depends on Python and I used an external python but fortunately it
was relatively easy to debug once I could reproduce it at will.

Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 1 hour
2016-10-29 20:57:41 -07:00
Matthew Scott Krafczyk
c2d58d39dd Import dso_suffix from spack.build_environment in abi.py (#2174)
Fixes #1845
2016-10-29 16:47:06 -07:00
Adam J. Stewart
893b2e4f62 Update license directory for intel-paralel-studio (#2163) 2016-10-29 14:30:00 -07:00
scheibelp
23683c65de Use Spec.format for token substitution in modules (#1848)
This replaces a custom token-based substitution format with calls to
Spec.format in modules.py

This also resolves a couple issues:

- LmodModules set configuration globally instead of in its initializer
  which meant test-specific configuration was not applied
- Added support for setting hash_length=0 for LmodModules. This only
  affects the module filename and not the directory names for the
  hierarchy tokens in the path. This includes an additional unit test.
2016-10-29 13:56:34 -07:00
Joseph Ciurej
c82985cb5e Update and Clean Up the Visit and VTK Packages (#2167)
* Made some refactoring improvements to the 'visit' and 'vtk' packages.

* Added a small fix for the 'vtk' package when building with 'qt+webkit'.
2016-10-28 17:59:21 -07:00
Adam J. Stewart
58409a2eaf Fix rpath linking for NAG, add documentation on setup (#2142) 2016-10-27 15:28:09 -07:00
Adam J. Stewart
dd53ddb003 Add latest version of Intel Parallel Studio XE (#2151) 2016-10-27 12:58:31 -07:00
Elizabeth Fischer
12270b9dbf Remove support for deprecated package. See also #2085 and #2086 (#2090) 2016-10-26 21:53:08 -07:00
Barry Smith
eb36b2a622 Get Trilinos 12.6.2 to build with Intel compilers and spack (#2102)
Funded-by: IDEAS
Project: IDEAS/xSDK
Time:  2 hours
2016-10-26 21:52:29 -07:00
George Hartzell
bf08bd7076 Fix typo: _choiches -> _choices (#2127)
The breaks `spack create`.
2016-10-26 20:39:08 -07:00
George Hartzell
e652a32f05 typo: vlaues -> values (#2147) 2016-10-26 17:51:01 -07:00
Elizabeth Fischer
3895c974a0 Removed documentation on false paths as per #2083 (#2146)
Removed documentation on false paths as per #2083
2016-10-26 17:11:54 -07:00
Denis Davydov
9f54cea5c5 document recommended usage of system blas/lapack (#2081)
* document recommended usage of system blas/lapack

* update doc

* minor

* reword
2016-10-26 16:22:18 -07:00
Massimiliano Culpo
37dc719d13 ProcessError : now the exception is correctly pickled and passed across processes. (#2143) 2016-10-26 15:17:20 -07:00
Axel Huebl
0007877944 libSplash: Add 1.5.0 Release (#2137)
Add the latest release of libSplash, version 1.5.0.
2016-10-26 14:23:09 -07:00
Massimiliano Culpo
e73ab84680 spack install : added --log-format option (incorporates test-install command) (#2112)
* spack install : added --log-format option (incorporates test-install command)

fixes #1907

* qa : removed extra whitespace
2016-10-26 14:22:46 -07:00
Denis Davydov
46433b9eb3 require fortran for MPI providers to avoid delayed compiler errors (#1937)
* openmpi: require fortran for now

* mpich: requre fortran for now

* mvapich2: require fortran for now

* openmpi: flake8 fixes
2016-10-26 09:12:26 -07:00
Jim Galarowicz
92f17eeba7 Develop: Resolve issue 2070 with new depends_on clause in the openspeedshop package file. (#2136)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.
2016-10-26 08:37:02 -07:00
Denis Davydov
33fb7bbd1b add a unit test for conretization with develop version (#2064) 2016-10-26 01:49:52 -07:00
Denis Davydov
e65c9f6865 veclibfort: add new package (#2080)
* veclibfort: add new package

* veclibfort: add a small test
2016-10-26 01:49:06 -07:00
George Hartzell
89c1d361b2 Add package for ant (#2133)
Add a package for ant, a java build tool.
2016-10-25 23:57:27 -07:00
George Hartzell
37dede3163 Add package for maven (#2132)
Add a package that installed the pre-built maven distribution.

I've given up, for now, on building maven from source.  That processed
stumbled on two points before I gave up:

1. It downloaded several hundred .{pop,jar} files and I despaired of
   figuring out some way of mirroring and checksumming them; and

2. It exploded complaining about too many unacceptable license files,
   which seems odd in its own source tree.

Perhaps someone with more Java fu that I admit to can figure it out.
In the meantime, this is useful.
2016-10-25 23:56:31 -07:00
Denis Davydov
39772e4c4c filter system paths (#2083)
* add filter_system_paths()

* filter system paths in set_build_environment_variables()

* two function: lib/inc + bin

* reverse order in bin

* fix order

* minor

* improvements of the code

* more cleanup

* alternative solution for filter_bins

* fiddle base alalazo's approach

* minor

* minor
2016-10-25 11:25:13 -07:00
Barry Smith
3de26ff3d7 openblas: Fixes to get OpenBLAS to install with Intel compilers (#2101)
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 1 hour
2016-10-25 11:12:22 -07:00
Stephen Herbein
14e3a541e1 Add latest versions of Flux prerequisites (#2108)
* libsodium: add latest versions, fix old versions

older versions of libsodium were added to an "old" subdirectory

* zeromq: add 4.1.4

prerequiste for the latest develop version of flux
2016-10-25 11:11:23 -07:00
Mayeul d'Avezac
65c250699f pkg-config variant to use internal glib (#2104)
Pkg-config depends on glib which depends on pkg-config. As a result,
pkg-config used to build glib internally. However, this fails on Mac.
Building pkg-config with an internal glib is now a variant, turned on
by default, and required to build glib.
2016-10-25 11:08:32 -07:00
Adam J. Stewart
a250792202 Find compatibility versions of GCC (#2099) 2016-10-25 11:07:49 -07:00
Adam J. Stewart
08300ccffb Allow newer versions of GCC to compile older versions of GCC (#2107)
* Add patch allowing GCC 6 to compile GCC 5

* Expand patch version range
2016-10-25 11:06:33 -07:00
George Hartzell
14ed97f219 Update cask to v0.8.1 (#2125) 2016-10-25 10:58:50 -07:00
Adam J. Stewart
eeded917cd Rename xpyb to py-xpyb (#2120) 2016-10-25 10:10:16 -07:00
Massimiliano Culpo
7a575d2f4b multimethod.py : calls functools.wraps before returning the correct method fixes #2118 (#2119) 2016-10-25 08:30:40 -07:00
Mayeul d'Avezac
1928d83259 Tells boost explictly about python libraries and headers (#2106)
* Tells boost explictly about libraries and headers

Ideally, bjam would determine the libraries and headers from the
executable. But it doesn't. This rigs a best guess for python libraries
and headers.

* Move glob import to top of file

* variable name change: alllibs --> all_libs

* Use dso suffix rather than hard-coded string

* Use only MAJOR.MINOR when setting up python in bjam
2016-10-25 08:10:52 -07:00
Massimiliano Culpo
b27e78cd78 spack setup : fixed regression after #1186 (#2117) 2016-10-25 07:53:11 -07:00
Denis Davydov
d7b624457f gmp: fix a bug (#2114) 2016-10-25 07:08:52 -07:00
Todd Gamblin
0f6a5cd385 Merge pull request #1186 from epfl-scitas/features/install_with_phases
do_install : allow for an arbitrary number of phases
2016-10-24 17:13:49 -07:00
Todd Gamblin
c1ad4bde28 Rename EditableMakefile to MakefilePackage 2016-10-24 16:41:20 -07:00
Joseph Ciurej
7dd14870ce Bug Fix : Apply Compiler Flags Specified by Manual Compiler Configuration (#1532)
* Fixed a bug causing config-specified compiler flags to be ignored.
Updated the compiler config so all flags are in a separate section.

* Updated the documentation for the `compilers.yaml` file spec.

* Implemented basic testing for the 'flags' section of compiler config.

* Fixed a few minor problems with the manual compiler config documentation.
2016-10-24 14:37:03 -07:00
George Hartzell
e35c023c61 Typo: becuase -> because (#2110) 2016-10-24 14:28:04 -07:00
Barry Smith
453ad8df9d Get netlib-lapack to compile with Intel and add deprecated routines (#2103)
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: .4 hours
2016-10-24 14:25:59 -07:00
Mayeul d'Avezac
509bbd7067 Adds new versions to eigen (#2105)
* Adds new versions to eigen

* Reorder versions from oldest to newest
2016-10-24 11:09:17 -07:00
Elizabeth Fischer
4f0b7cd2c2 Small fix to docs. (#2092) 2016-10-24 11:09:02 -07:00
Massimiliano Culpo
8af9881e9b spack test : exits after ctrl+c fixes #2029 (#2082) 2016-10-24 11:07:08 -07:00
alalazo
7bd735416d package.py : moved each specialized package to its own module file 2016-10-23 22:38:19 +02:00
alalazo
e0f3188970 spack setup : improved error message 2016-10-23 19:10:07 +02:00
alalazo
fa3f07c092 CMakePackage, AutotoolsPackage : added default behavior on check 2016-10-23 19:02:46 +02:00
alalazo
ebbbed166e Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases_rebase 2016-10-23 13:35:12 +02:00
alalazo
284ed13fa6 spack.error : fixed pickling and representation to permit to pass FetchErrors 2016-10-23 13:34:29 +02:00
Barry Smith
9d3d492214 mumps: Add support for Intel compiler and insure both lapack and blas… (#2076)
* mumps: Add support for Intel compiler and insure both lapack and blas libraries are passed to the examples

Likely it was not discoverged before that the examples require both lapack and blas libraries because it
was tested with Openblas which is one large library containing everything.
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: .3 hours

* flake8 fix.
2016-10-22 15:57:44 -07:00
Joseph Ciurej
9f3a46c6c1 Add Package : OpenSceneGraph (#2075)
* Created the initial version of the 'OpenSceneGraph' package.

* Added 'zlib' as a dependency and linked it during the build step.

* Fixed a few minor PEP8 style violations in the 'OpenSceneGraph' package.

* Added cmake as a build dependency and improved the build procedure.

* Made a few important argument updates to improve package compatibility.

* Fixed up a few remaining style issues in the 'openscenegraph' package.

* Added a description for the 'openscenegraph' package.

* Fixed a bug that was causing some 'openscenegraph@3.2.3%gcc' installs to fail.

* Fixed a number of small issues with the 'openscenegraph' package.

* Removed a number of superfluous flags from the 'openscenegraph' install.
2016-10-22 15:14:29 -07:00
Jean-Paul Pelteret
7565f9dcdb Add new package "gource" and dependencies "glew, sdl, sdl-image". (#2084) 2016-10-22 14:28:59 -07:00
alalazo
bdf4832269 spack build, spack configure : added commands 2016-10-22 17:08:52 +02:00
alalazo
484aaf50cc CMakePackage : changed method name from wdir to build_directory 2016-10-22 14:54:26 +02:00
alalazo
8091a3d6cb do_install : use build_system_class attribute instead of type(self).__base__ 2016-10-22 10:48:16 +02:00
alalazo
c84123dce5 spack info : shows the build-system class used 2016-10-22 10:39:33 +02:00
George Hartzell
cfbacdb41e Updated the texlive digest value (#2073)
The texlive tarball, install-tl-unx.tar.gz is unversioned and changes
periodically.  When it does, the digest needs to change too.  This does
that.
2016-10-21 16:57:42 -07:00
Matthew LeGendre
859d296105 Don't clear LD_LIBRARY_PATH and friends from compiler wrappers (#2074)
* Don't clear LD_LIBRARY_PATH and friends from compiler wrappers

* remove debugging print
2016-10-21 16:25:12 -07:00
alalazo
482f60d1d3 packages : moved decorators into AutotoolsPackage and CMakePackage 2016-10-22 01:03:07 +02:00
alalazo
012da99644 spack create : fixed typo 2016-10-22 00:10:37 +02:00
alalazo
e8dafd1090 Removed space before colon in FIXME:, added one line description of guess classes 2016-10-21 23:54:11 +02:00
Joseph Ciurej
6464d6682c Update Package : Qt (Add 'WebKit' Support) (#1455)
* Added the '+webkit' variant to the 'qt' package.

* Made 'qmake' an available executable to 'qt' depdendents.
2016-10-21 14:13:56 -07:00
Matthew LeGendre
79c20a7edd Merge pull request #2071 from mplegendre/bug_concretize_external_virtuals
Bug concretize external virtuals
2016-10-21 13:47:25 -07:00
alalazo
715e029361 spack info : added phases 2016-10-21 22:44:41 +02:00
Matthew LeGendre
5ff08386af Remove unnecessary blackslash for flake8 2016-10-21 13:17:23 -07:00
alalazo
fd2b72fd0f qa : flake8 issues 2016-10-21 22:15:29 +02:00
alalazo
04821c7be8 spack create : now creates packages that are derived from AutotoolsPackage and CMakePackage 2016-10-21 22:12:21 +02:00
Matthew LeGendre
73b46a92bc Fix concretize bug where provider sort couldn't handle version ranges 2016-10-21 11:59:41 -07:00
Matthew LeGendre
9f36ae4e20 Extend concretization test to excercise bug in concretize's provider sorting 2016-10-21 11:57:57 -07:00
Adam J. Stewart
52158d9316 Add new Version property to handle joined version numbers (#2062)
* Add new version property to handle joined version numbers

* Add unit test for new joined property

* Add documentation on version.up_to() and version.joined
2016-10-21 07:49:36 -07:00
Adam J. Stewart
c513fd72fb Add latest version of Armadillo (#2061) 2016-10-21 07:39:48 -07:00
Massimiliano Culpo
aa86432ec6 patch directive : fixed retrieval from urls ( fixes #1584 ) (#2039)
* patch directive : fixed retrieval from urls fixes #1584

 - add support for 'gz' archives
 - fixed bugs with URL patches
 - updated nwchem

* patch directive : added checksum to UrlPatch

 - refactored classes in patch.py
 - updated nwchem

* patch directive : added caching
2016-10-21 07:32:52 -07:00
alalazo
2251428f0a CMakePackage : changed list() to [] 2016-10-21 13:01:55 +02:00
alalazo
5ce3071143 do_install : removed install_self from the list of arguments (leftover after rebasing #1956) 2016-10-21 12:51:38 +02:00
alalazo
213e3f0860 Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases_rebase
Conflicts:
	lib/spack/spack/cmd/install.py
	lib/spack/spack/cmd/setup.py
2016-10-21 12:38:43 +02:00
Matthew LeGendre
8de143a994 Fixes needed to build gcc on Linux/ppc64le (#2057)
* Fixes needed to build gcc on Linux/ppc64le

* flake8 fix.
2016-10-19 23:29:59 -07:00
Todd Gamblin
4b5281bfe6 Update mail map. So many email aliases. 2016-10-19 22:47:39 -07:00
George Hartzell
027632cbac Fix cdd package definition, dotted is a property (#2054)
Things that accessed the cdd package, such as `spack info cdd run
tripped over a buglet in the *cdd* package, causing them to exit with
something like this:

```
Caused by:
TypeError: 'str' object is not callable
  File "/rss/spack/lib/spack/spack/repository.py", line 584, in get
    self._instances[key] = package_class(copy)
  File "/rss/spack/lib/spack/spack/package.py", line 398, in __init__
    f = fs.for_package_version(self, self.version)
  File "/rss/spack/lib/spack/spack/fetch_strategy.py", line 852, in for_package_version
    attrs['url'] = pkg.url_for_version(version)
  File "/rss/spack/var/spack/repos/builtin/packages/cdd/package.py", line 40, in url_for_version
    str(version.dotted()).replace('.', ''))
```

@tgamblin pointed out that `dotted` is a property, not a functin call
and that the parentheses are therefor inappropriate.

This deletes the parentheses.  `spack info cdd` now works for me.
2016-10-19 12:28:26 -07:00
George Hartzell
dbbef6ba23 Add package for htop (#2051)
Add package for htop, an interactive text-mode process viewer for
Unix systems.  Think top, with pretty colors and dyanmic bar graphs.

More info [here](https://github.com/hishamhm/htop).
2016-10-19 10:33:49 -07:00
scheibelp
8111a4bb9d Don't cache truncated dag hash for spec (#2048)
If Spec.dag_hash was called for the first time with a 'length'
specified, the cached hash was truncated. This ensures that the
full hash is cached.
2016-10-18 22:34:46 -07:00
Massimiliano Culpo
0a3cc5e8e3 Package.do_install : removed install_self from arguments (#1956)
* Removes the extra argument from Package.do_install while maintaining the changes in behavior pulled in #1603

* install : removed -i and -d shorthands (breaks backward compatibility)

* Change ':' to ','
2016-10-18 14:25:07 -07:00
Denis Davydov
0e59ade030 petsc: minor fixes... (#2036)
* petsc: require boost for :3.5 only

* petsc: turn off download for c2html and hwloc
2016-10-18 08:09:18 -07:00
Eric
306eea5e59 Support for bazel (#2023)
* Add package bazel

* Add support for bazel-based builds
2016-10-18 07:46:42 -07:00
Denis Davydov
4c2af4f888 superlu-dist: add 5.1.0 and 5.1.1 (#2038) 2016-10-18 07:45:48 -07:00
Denis Davydov
dd28f5b5eb mumps: add 5.0.2 (#2041) 2016-10-18 07:38:30 -07:00
Denis Davydov
5f20c43315 hypre: add 2.11.1 (#2040) 2016-10-18 07:38:15 -07:00
Jim Galarowicz
87adcfeea8 Update the Krell Institute products to use the latest features of spa… (#1984)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.
2016-10-17 01:18:30 -07:00
Pramod Kumbhar
b5e20018b5 fix download url for paraver (#2033)
* fix download url for paraver

* added note to remove older version
2016-10-17 01:17:01 -07:00
Adam J. Stewart
d891143a08 Ignore GPG/PGP signatures/checksums when finding available downloads (#2028)
* Ignore GPG/PGP signatures/checksums when finding available downloads

* Remove duplicated basename
2016-10-16 14:46:29 -07:00
Todd Gamblin
193f68083f Platform-specific config scopes (#2030)
* Add platform-specific configuration scopes.

* Update `spack config` to use the new scope arguments.
2016-10-15 17:00:11 -07:00
Pramod Kumbhar
e93c9060f5 fix sqlite download url (#2031) 2016-10-15 16:31:23 -07:00
Massimiliano Culpo
8d5961ecaf spack purge : updated documentation fixes #1938 (#2025) 2016-10-15 15:51:49 -07:00
Massimiliano Culpo
9726574846 travis : unit tests will run with and without libyaml (#2024)
* travis : unit tests will run with and without libyaml

* travis : fixed package that are installed
2016-10-15 14:21:50 -07:00
Elizabeth Fischer
3dbde09747 Workaround for illegal package merging in py-matplotlib/py-basemap (#1964)
* Workaround for illegal package merging in py-matplotlib/py-basemap

# Conflicts:
#	var/spack/repos/builtin/packages/py-basemap/package.py

* flake8

* flake8

* Be conservative: only apply the namespace package fix for Python >= 3.5.2

* flake8

* Bug fix
2016-10-14 16:09:54 -07:00
Adam J. Stewart
fbe9142b7e Fix list_url for fish shell (#2022) 2016-10-14 12:46:59 -07:00
John Finigan
4be224238e py-macs2: New package (#2011)
* py-macs2: New package

* py-macs2: add py-numpy@1.6: dependency
2016-10-14 12:00:56 -07:00
Kelly Thompson
e359a7ca59 Add missing 'import os'. (#2012) 2016-10-14 12:00:43 -07:00
Denis Davydov
48f23aadbe dealii: remove extra test which are now mostly integrated in make test (#2013) 2016-10-14 09:49:31 -07:00
Adam J. Stewart
78d3c7e2a2 Major updates to Contribution Guide (#1968)
* Major updates to Contribution Guide

* Grammar changes

* Fix missing/extra backticks

* Rewording, links, and tips added
2016-10-14 09:16:13 -07:00
Denis Davydov
0d89e5e32b Package/petsc slepc new versions (#2019)
* petsc: add 3.7.4

* slepc: add 3.7.3
2016-10-14 08:25:22 -07:00
Todd Gamblin
d861a52ebe Use cYAML if it is available in Python. (#2010) 2016-10-12 18:25:18 -07:00
Elizabeth Fischer
b27f4e3aeb py-matplotlib: Add variants for optional dependencies. (#2008) 2016-10-12 14:55:38 -07:00
Elizabeth Fischer
67ef6df4db Made optional CGAL dependencies optional. (#2006)
* Made optional CGAL dependencies optional.

* cgal: Added note explaining that the CORE library is not the same as core CGAL functionality.

* Bug fix and flake8

* flake8
2016-10-12 13:02:06 -07:00
Ben Boeckel
b369be65d7 Mock up Xcode devdir to make Qt5 work on Mac OS X (#1832)
* build_environment: allow compilers to set up an environment

* clang: mock up a toolchain directory for xcode

Some projects ignore CC and CXX flags and instead use xcode to find the
toolchain. Clang on Apple should set up the environment properly.
Arguably, every compiler could do this on Apple, but let's see how this
works out just for AppleClang for now.

The Documentation directory is ~1.7G and the excluded platforms add up
to about 7G. Ignoring swift saves another 500M. The resulting Xcode.app
copy is in the 2G range.

* compiler: set member variables early

This is required so that later methods can query things such as the
version of the compiler.

* compiler: support finding the real path of the compiler

On Apple, the /usr/bin compilers are actually wrapping tools themselves
which query xcrun for the currently selected Xcode installation. Pierce
this veil and get the real, full path the to underlying compilers
instead.

* icu4c: install with rpath

On macOS, icu installs with a library ID of the library name. Enabling
rpath makes its ID its full installed path which lets Qt5 link against
it successfully.

* qt: no -no-gtkstyle flag on Qt5 on macOS
2016-10-12 09:58:12 -07:00
Massimiliano Culpo
1925db5c77 spack list : updated documentation (#2004)
* spack list : updated documentation

* spack list : removed space before ':'
2016-10-12 09:43:28 -07:00
Glenn Johnson
5b070418e7 Documentation for modules configuration options (#1685)
This PR add documentation for the `suffixes` and `hash_length` options
for modules.yaml.

This resolves #1416.
2016-10-11 23:14:42 -07:00
Todd Gamblin
488e1bab2c Make insecure option work with curl AND git. (#1786) 2016-10-11 23:13:40 -07:00
Elizabeth Fischer
a6f85f51d0 patchelf: Add version (#1540)
* patchelf: Add version

* flake8

* Removed unnecessary url_for_version() function.

* Restored old URL
2016-10-11 23:11:25 -07:00
Denis Davydov
025b914079 oce: fix for Sierra (#1934) 2016-10-11 23:10:51 -07:00
Massimiliano Culpo
eb17895630 environment modifications : permit to pass parameters along with file to be sourced (#1626) 2016-10-11 22:55:14 -07:00
gmatteo
949766d92e Abinit: Added package(s) (#1995)
* First version of Abinit package

* Ignore *.swp files

* Add libxc, etsf_io packages

* AtomPaw package

* Make Abinit depend on mpi@2: and external version of libxc, netcdf, hdf5, etsf_io

* etsf_io: install Fortran modules in prefix.include

* Remove etsf_io from abinit requirements

* Add libxc2.2.1 (required by Abinit and atompaw)

* Cleanup

* Run make check

* Cleanup

* Use ld_flags instead of hard-coded libs, fix pep8, add copyright

* Put scalapack before lapackblas
2016-10-11 15:22:46 -07:00
Joseph Ciurej
37d125b890 Update Package : ExodusII (#1504)
* Added support for the 'maxdims' and 'maxvars' flags for 'NetCDF'.

* Added the '+mpi' variant and improved dependencies for 'exodusii'.
Improved the 'exodusii' package so that it's less reliant on patches.

* Added better type checking to variant values in the 'netcdf' package.

* Corrected the required CMake version for the 'exodusii' package.

* Fixed the dependencies of the '+mpi' variant of the 'exodusii' package.
2016-10-11 14:53:02 -07:00
Adam J. Stewart
6dc8bbcb3a Package all of Xorg/X11/XCB (#1740)
* Updates to Mesa and other Xorg packages

* Add packages for all Xorg Protocol extensions

* Add packages for first half of Xorg libraries

* Add packages for remaining Xorg libraries

* Add packages for all Xorg utilities

* Add packages for Xorg documentation tools

* Add build deps to Xorg protocol headers

* Add packages for XCB

* Add build deps to Xorg libraries

* Add build deps to Xorg utilities

* Add packages for Xorg fonts and font-related utilities

* Change font deptype from build to default

I wasn't sure which deptype was appropriate at first since none of
the packages are actually linked together. I initially chose the
build deptype for this reason. However, the font packages don't
install into their own prefix. They install into font-config. If
font-config is a build dependency, that means you can uninstall it
without uninstalling the font packages, which wouldn't make sense
since they install into font-config. So I switched them back to
the default deptype.

* Minor formatting changes to ncview

* Add half-way done xorg-server package

* Add packages for Xorg test suites, not yet tested!

* Add packages for Xorg data

* Add first quarter of Xorg apps

* Add more packages for Xorg apps

* Add dependencies to mesa

* Remove comments from mesa package

* Flake8

* Add more packages for Xorg apps

* Add more packages for Xorg apps

* Add more packages for Xorg apps

* Add more packages for Xorg apps

* Add more packages for Xorg apps

* Add package for Sublime Text

* Add packages for remaining Xorg apps

* Revisit testing packages, add missing dependencies

* Add dependencies, clean up FIXMEs
2016-10-11 09:42:20 -07:00
alalazo
dd56784d28 qa : flake8 issues 2016-10-11 16:44:18 +02:00
alalazo
c7a5dd36e2 qa : flake8 issues 2016-10-11 16:30:06 +02:00
alalazo
ab995df777 Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases_rebase
Conflicts:
	lib/spack/spack/build_environment.py
	lib/spack/spack/cmd/install.py
	lib/spack/spack/cmd/setup.py
	lib/spack/spack/package.py
	var/spack/repos/builtin/packages/gmp/package.py
	var/spack/repos/builtin/packages/hdf5/package.py
2016-10-11 16:28:08 +02:00
Mario Melara
b42dbc01fe Use python platform.system for system ID (#1499)
* Rebase and merging using platform.system

Rebasing and merging using platform.system instead of uname -a.

* Add missing import platform statement

* Remove subprocess import

Remove ununsed import subprocess to make changes flak8 compliant
2016-10-11 07:04:29 -07:00
Denis Davydov
4d939802ae hypre: fix blas/lapack for MKL (#1993) 2016-10-11 06:48:16 -07:00
Todd Gamblin
1dff309a3f Merge pull request #1989 from KineticTheory/cray_compile_wrappers
On Cray machines, use the Cray compile wrappers instead of MPI wrappers.
2016-10-11 06:46:29 -07:00
Todd Gamblin
f9d8325cc2 Merge pull request #1562 from LLNL/features/db-locking
Finer-grained locking
2016-10-11 02:35:46 -07:00
Adam J. Stewart
aa079dbdf1 Add variant to MPICH to enable ROMIO support (#1944) 2016-10-11 02:16:01 -07:00
Denis Davydov
49aed3969c tethex: add a new package (#1991) 2016-10-11 02:13:25 -07:00
Todd Gamblin
9c5c8b22c8 Fix bug in spack debug create-db-tarball
- Fix a bug handling '/' characters in branch names.

- Make tarballs use a descriptive name for the top-level directory, not
  just `opt`.
2016-10-11 01:55:33 -07:00
Todd Gamblin
f0edfa6edf Roll my my own bit_length function for Python 2.6 compatibility. 2016-10-11 01:55:33 -07:00
Todd Gamblin
222f551c37 Use a single lock file for stages and a single file for prefixes.
- Locks now use fcntl range locks on a single file.

How it works for prefixes:

- Each lock is a byte range lock on the nth byte of a file.

- The lock file is ``spack.installed_db.prefix_lock`` -- the DB tells us
  what to call it and it lives alongside the install DB.  n is the
  sys.maxsize-bit prefix of the DAG hash.

For stages, we take the sha1 of the stage name and use that to select a
byte to lock.

With 100 concurrent builds, the likelihood of a false lock collision is
~5.36e-16, so this scheme should retain more than sufficient paralellism
(with no chance of false negatives), and get us reader-writer lock
semantics with a single file, so no need to clean up lots of lock files.
2016-10-11 01:55:33 -07:00
Todd Gamblin
080a78664e Add tests for locks with byte ranges. 2016-10-11 01:55:33 -07:00
Todd Gamblin
3d8d8d3644 Fix bug with lock upgrades.
- Closing and re-opening to upgrade to write will lose all existing read
  locks on this process.
  - If we didn't allow ranges, sleeping until no reads would work.
  - With ranges, we may never be able to take some legal write locks
    without invalidating all reads. e.g., if a write lock has distinct
    range from all reads, it should just work, but we'd have to close the
    file, reopen, and re-take reads.

- It's easier to just check whether the file is writable in the first
  place and open for writing from the start.

- Lock now only opens files read-only if we *can't* write them.
2016-10-11 01:55:33 -07:00
Todd Gamblin
a024c6df95 Add base32_prefix_bits function to get prefix of DAG hash as an int. 2016-10-11 01:55:32 -07:00
Todd Gamblin
da6bbfb2d4 Add byte-range parameters to llnl.util.lock 2016-10-11 01:55:32 -07:00
Todd Gamblin
ea10e3bab0 Remove need to touch lock files before using.
- Locks will now create enclosing directories and touch the lock file
  automatically.
2016-10-11 01:55:32 -07:00
Todd Gamblin
907fe912ef Make llnl.util.lock use file objects instead of low-level OS fds.
- Make sure we write, truncate, flush when setting PID and owning host in
  the file.
2016-10-11 01:55:32 -07:00
alalazo
f229290880 stage : try to remove dead links only of folder that you actually care about
A use case where the previous approach was failing is :

 - more than one spack process running on compute nodes
 - stage directory is a link to fast LOCAL storage

 In this case the processes may try to unlink something that is "dead" for them, but actually used by other processes on storage they cannot see.
2016-10-11 01:55:32 -07:00
alalazo
f47dcdc47a lockfiles : creates directory for locks if not already present 2016-10-11 01:55:32 -07:00
alalazo
a3fc492d45 diy : removed global write lock on the db 2016-10-11 01:55:32 -07:00
alalazo
74fb1029fa uninstall : removed global lock 2016-10-11 01:55:25 -07:00
alalazo
b3a6e307b9 unit tests : fixed failing tests 2016-10-11 01:38:27 -07:00
alalazo
34fe51a4aa install : finer graned locking for install command 2016-10-11 01:38:27 -07:00
Adam J. Stewart
5988b3a222 More specific dependency versions, wrap make check (#1962) 2016-10-11 01:36:40 -07:00
Sergey Kosukhin
7fd639d6fc Update libjpeg-turbo: added new version and removed redundant dependency. (#1897) 2016-10-11 01:32:05 -07:00
James Wynne III
bd61a36587 Fixed set operation from undefined += to a union (#1963)
Fixed flake8 issues
2016-10-11 01:30:11 -07:00
Massimiliano Culpo
b7a612dcdf spack list : merged package-list into list (#1932)
* spack list : merged package-list into the command

* list : removed option for case sensitivity
2016-10-11 01:22:53 -07:00
Denis Davydov
6c250ab486 pango: add missing dependency (#1958) 2016-10-11 01:19:44 -07:00
Denis Davydov
907546b55e libcerf: fix for modern clang (#1959) 2016-10-11 01:19:12 -07:00
scheibelp
9e7f53a35a [WIP] Use boost system layout by default (#1955)
Use boost system layout by default
2016-10-11 01:17:26 -07:00
Erik Schnetter
f555b8110d Charm++: Ignore compiler warnings while configuring (#1981) 2016-10-11 00:45:01 -07:00
Kelly Thompson
ff1108712c Make CMake-based builds more verbose by default. (#1988) 2016-10-11 00:43:36 -07:00
Kelly Thompson
1891ce3545 Trilinos: Use more flexible option for locating the BLAS library directory. (#1987)
+ This change fixes a problem that manifests when trilinos is built against a
  MKL installation defined as an external package. In this scenario, the MKL
  libraries are found one directory deeper than for the case where spack
  provides MKL. The extra directory is a platform name like 'intel64'.
+ The changes in this PR were recommended by contributor @davydden. I
  implemented and tested with intel@16.0.3. These changes fix the issue I
  reported. I did not attempt building trilinos against other BLAS
  implementations.
+ fixes #1923
2016-10-11 00:42:59 -07:00
Massimiliano Culpo
b1a2728af6 uninstall : permits to uninstall all installed software fixes #1477 (#1973) 2016-10-11 00:42:31 -07:00
Massimiliano Culpo
c8bf8a5e6e md5 : normalizes input before computing the md5 fixes #1508 (#1977)
Bottomline :

- fetcher change the current working directory
- relative paths were resolved differently depending on the prder f evaluation
2016-10-11 00:37:29 -07:00
Pramod Kumbhar
afd5d6b5cd hpx5 version update (#1967) 2016-10-11 00:36:31 -07:00
Geoffrey Oxberry
9a05ffea27 Mfem 3.2 (#1202)
* mfem: add tarball extension

Add tarball extension as a result of a feature added in PR#1926, which
fixes earlier issues in this PR (PR#1202). Prior to adding this feature,
Spack would not autodetect the extension of the tarball downloaded from
the redirected, shorted Google URL, requiring a messy hack. This hack
worked for mfem version 3.1, but led to errors when adding mfem version
3.2 because the files downloaded from Google did not contain the package
name, version number, or extension. Adding the extension enables Spack
to rename the tarball downloaded from Google to a sensible name that is
compatible with its filename parsing algorithms so that Spack "does the
right thing" (detects that the file is a GZipped tarball, decompresses
it, runs GNU Make) in fetching and staging the package.

* mfem: add linkage to KLU & BTF

Add linkage to the KLU & BTF solvers, which are now enabled in MFEM for
versions 3.2 and later.

* mfem: Add superlu-dist variant

Add linkage to SuperLU_DIST, which is a new linear solver interface for
MFEM versions 3.2 and later.

* mfem: add netcdf variant for cubit mesh support

Add NetCDF variant for MFEM versions 3.2 and later; installing the
NetCDF interfaces enables CUBIT mesh support.
2016-10-11 00:33:26 -07:00
Kelly (KT) Thompson
3553c8b9e9 On Cray machines, use the Cray compile wrappers instead of MPI wrappers.
+ Cray compile wrappers are MPI wrappers.
+ Packages that need to be compiled with MPI compile wrappers normally use
  'mpicc', 'mpic++' and 'mpif90' provided by the MPI vendor. However, when using
  cray-mpich as the MPI vendor, the compile wrappers 'CC', 'cc' and 'ftn' must
  be used.
+ In this scenario, the mpich package is hijacked by specifying cray-mpich as an
  external package under the 'mpich:' section of packages.yaml. For example:

  packages:
    mpich:
      modules:
        mpich@7.4.2%intel@16.0.3 arch=cray-CNL-haswell: cray-mpich/7.4.2
      buildable: False
    all:
      providers:
        mpi: [mpich]

+ This change allows packages like parmetis to be built using the Cray compile
  wrappers. For example: 'spack install parmetis%intel@16.0.3 ^mpich@7.4.2 os=CNL'
+ This commit relies on the existence of the environment variable CRAYPE_VERSION
  to determine if the current machine is running a Cray environment. This check is
  insufficient, but I'm not sure how to improve this logic.
+ Fixes #1827
2016-10-10 19:10:26 -06:00
Kelly Thompson
29fc9cd22c Update package to use MPI compile wrappers as specified in MPI package. (#1985)
+ Previouly, these strings were hard coded to 'mpicc', 'mpic++', and 'mpifort'.
2016-10-10 15:33:00 -07:00
Denis Davydov
c2ca8693e9 fix blas-lapack in scipy and numpy (#1949)
* fix blas-lapack in scipy and numpy

* py-numpy: do not set rpath on macOS

* py-scipy: do not set Blas/Lapack. This appears to be picked up from py-numpy

* py-numpy: don't write rpath= in Sierra only

* py-numpy: add a link to build notes
2016-10-10 12:38:44 -07:00
Erik Schnetter
377ac68690 Correct Charm++ install procedure (#1957)
Charm++ only creates symbolic links instead of copying files. Correct this.
2016-10-10 09:13:20 -07:00
Jean-Paul Pelteret
876c26f658 Add documentation for standard python repositories. (#1970)
Fixes #1939
2016-10-07 22:46:22 -07:00
Jean-Paul Pelteret
d3daa829f0 Added symengine and associated packages (#1885)
Symengine and associated packages
2016-10-07 22:45:24 -07:00
Isuru Fernando
ccf530ba5e Check for -r in ccld mode too (#1972) 2016-10-07 22:44:37 -07:00
Massimiliano Culpo
efae58a4ef fixes #858 (#1961)
Fix spack uninstall -f
2016-10-07 11:30:10 -07:00
Todd Gamblin
dbc864c9db Restore default RPATH settings but allow packages to limit to immediate deps. (#1954)
- Some packages (netcdf) NEED RPATHs for transitive deps.
- Others (dealii) will exceed OS limits when the DAG is too large.
2016-10-06 15:57:23 -07:00
Denis Davydov
9683e0df07 atlas: add 3.10.3 (#1952) 2016-10-06 15:23:18 -07:00
Joseph Ciurej
82fcc5e1de Feature Proposal : Make All Python Extensions User Configuration Independent (#1435)
* Updated all Python extension packages to use 'setup_py' on install.

* Fixed a few minor style issues with the updated Python packages.
2016-10-06 14:43:49 -07:00
Adam J. Stewart
415ddeecf8 Fix bugs preventing readthedocs from rebuilding the documentation (#1945) 2016-10-06 12:50:49 -07:00
Sergey Kosukhin
ebef9628a3 Update gmp: fixed an issue with intel compiler. (#1898) 2016-10-06 12:49:03 -07:00
Jay
6e9353f1a8 Updated nettle to have m4 as an immediate dependency (#1946)
* Updated nettle to have m4 as an immediate dependency to match new PATH
construction logic which only includes immediate dependencies.

* Update package.py
2016-10-06 11:50:50 -07:00
Elizabeth Fischer
98f8f40896 [Bug Fix (and docs too)] : Do not select @develop version by default (#1933)
* This fixes a bug in concretization.  Before the recent change to the
algorithm, the intent was that the @develop version, although
"greater" than numberic versions, is never preferred BY DEFAULT over
numeric versions.

To test this... suppose you have a package with no `preferred=True` in
it, and nothing in `packages.yaml`, but with a `develop` version.  For
the sake of this example, I've hacked my `python/package.py` to work
this way.

Without bugfix (WRONG: user should never get develop by default):

```
  python@develop%clang@7.3.0-apple~tk~ucs4 arch=darwin-elcapitan-x86_64
      ...
```

With bugfix (RIGHT: largest numeric version selected):

```
  python@3.5.2%clang@7.3.0-apple~tk~ucs4 arch=darwin-elcapitan-x86_64
      ...
```

* Documented version selection in concretization algo.

* Fix typos

* flake8
2016-10-06 09:08:15 -07:00
Denis Davydov
2ccb3d5531 add contribution guide focused on Git and PRs (#1664) 2016-10-06 07:45:47 -07:00
Adam J. Stewart
83a074eea6 Fix various documentation bugs (#1678)
* Fix various documentation bugs

* Keep long option names, but don't include in Command Index

* Use long option name

* Explicitly designate sections to be listed in the Command Index

* Consistent menu bar titles
2016-10-06 02:49:44 -07:00
James Wynne III
7dc11472bf Sqlite ppc64le configure build guess fix (#1684)
* Added check for ppc64le because configure cant guess the build type for rhel on ppc64le

Expand/clarify description of dependency types

Refactored getting the arch so that its less verbose

* Fixed flake8 issues
2016-10-06 02:48:05 -07:00
Sergey Kosukhin
92ca6d6423 Update pixman: mmx is disabled only for MacOS. (#1896) 2016-10-06 02:43:34 -07:00
Sergey Kosukhin
4cce23ea89 Update libtiff: updated homepage and fetch urls. (#1895)
* Update libtiff: updated homepage and fetch urls.

* Update libtiff: new version 4.0.6.
2016-10-06 02:43:23 -07:00
Matt Belhorn
6b98e86056 Fixes bug closing Executable file io-streams (#1890)
Input/output/error streams not directed to None or 'str' were not being closed
because `close()` method was being called on the argument value (a string type)
instead of the open file descriptor object.
2016-10-06 02:41:28 -07:00
Elizabeth Fischer
3de3664671 Fix fetch() method. Was being called with "wrong" arguments, raising exception. (#1916)
DIYFetchBugfix
2016-10-06 02:40:24 -07:00
Elizabeth Fischer
264604df3e cgal: build out of source. (#1918)
* cgal: build out of source.

* Simplify cmake out-of-source.
2016-10-06 02:36:27 -07:00
Elizabeth Fischer
208537f6f2 Fix Issues with non-numeric versions, as well as preferred=True (#1561)
* Fix bug in handling of precedence of preferred=True vs. versions given in packages.yaml (#1556)

* Standardized comparison of versions: numeric versions are always greater than non-numeric versions; and non-numeric versions are sorted alphabetically.

This is
   a) simple
   b) ensures that non-numeric versions (such as 'develop') in package.py are not chosen ahead of numeric versions, when nothing is specified in packages.yaml

Fixes Issue #1557

* Removed debugging output

* Fix variable shadowing bug

* Ensure develop < numeric version.

* Bug fix.

* Passes all unit tests in versions.py

* flake8 fixes

* flake8 fixes

* Changed type test to be more correct.

See http://stackoverflow.com/questions/8203336/difference-between-int-and-numbers-integral-in-python
2016-10-06 02:35:34 -07:00
Jeffrey Salmond
a648dc6b33 add python options to vtk package (#1931) 2016-10-06 02:29:25 -07:00
Elizabeth Fischer
2966f174ae mumps: Add alternate download location (in comments) (#1919) 2016-10-05 23:15:38 -07:00
scheibelp
508d79c475 Handle packages with unparseable extensions (#1758)
This closes #1757 which provides an example of a url scheme where the
version appears after the extension. Instead of extending the parsing
logic to handle this case, this commit allows the user to specify
their extension type. This helps Spack choose the appropriate
decompressor and mirror archive filename.
2016-10-05 22:45:02 -07:00
Geoffrey Oxberry
6f0b32a71f docs/getting_started: s/Macintosn/Macintosh/; (#1928) 2016-10-05 21:15:54 -07:00
Elizabeth Fischer
015e29efe1 Documentation Improvements for SC16 (#1676)
* Transferred pending changes from efischer/develop

* 1. Rewrite of "Getting Started": everything you need to set up Spack, even on old/ornery systems.  This is not a reference manual section; items covered here are covered more systematically elsewhere in the manual.  Some sections were moved here from elsewhere.

2. Beginning to write three methods of application developer support.  Two methods were moved from elsewhere.

* Edits...

* Moved sections in preparation for additional text to be added from old efischer/docs branch.

* Moved 2 more sections.

* Avoid accid

* Applied proofreading edits from @adamjstewart

* Fixed non-standard section characters.

* Moved section on profiling to the developer's guide.

* Still working on Spack workflows...

* Finished draft of packaging_guide.rst

* Renamed sample projects.

* Updates to docstrings

* Added documentation to resolve #638 (content taken from #846)

* Added section on resolving inconsistent run dependencies.  Addresses #645

* Showed how to build Python extensions only compatible with certain versions of Python.

* Added examples of getting the right behavior from depends_on().  See #1035

* Added section on Intel compilers and their GCC masquerading feature.  Addresses #638, #1687.

* Fixed formatting

* Added fixes to filesystem views.  Added a caveats section to ``spack setup``.

* Updated section on Intel compiler configuration because compiler flags currently do not work (see #1687)

* Defined trusted downloads, and updated text based on them. (See #1696)

* Added workflow to deal with buggy upstream software.  See #1683

* Added proper separation between Spack Docs vs. Reference Manual

* Renamed spack_workflows to workflows.  Resolves a conflict with the .gitignore file.

* Removed repeated section.

* Created new "Vendor Specific Compiler Configuration" section and organized existing Intel section into it.  Added new PGI and NAG sections; but they need to be expanded  / rewritten based on the existing text plus research through Spack issues on GitHub.

* Fixed text on `spack load --dependencies` to conform to reality.  See #1662

* Added patching as option for upstream bugfixes.

* Added section on using licensed compilers.

* Added section on non-downloadable tarballs.

* Wrote sections on NAG and PGI.  Arranged compilers in alphabetical order.

* Fix indent.

* Fixed typos.

* Clarified dependency types.

* Applied edits from Adam J. Stewart.  Spellchecked workflows and getting_started.

* Removed spurious header

* Fixed Sphinx errors

* Fixed erroneous symbol in docstring.

* Fix many typos and formatting problems.

* Spacing changes

* Added section on fixing Git problems.  See #1779

* Fixed signature of install() method.

* Addressed system packages in greater detail.  See #1794 #1795

* Fixed typos

* Fixed quotes

* Duplicate section on Spack profiling removed from configuration.rst.  It had earlier been moved to developer_guide.rst, where it fits better.

* Minor edits

- Tweak supported platform language.
- Various small changes to the new getting started guide.

* Fixed bug with quotes.
2016-10-05 13:00:27 -07:00
Elizabeth Fischer
abc9412f23 New command flag: spack install --dependencies-only (#1603)
* 1. Renamed ignore_deps variable to install_deps (use positive logic).  UI remains the same.

2. install_self kwarg added to do_install().  Enables installation of a package's dependencies without installing the package itself.

3. Added `spack install --dependencies-only <package>` command.

* Flak8 fixes

* Indentation problem
2016-10-05 11:23:06 -07:00
Adam J. Stewart
6ee020cea4 Add package for CONVERGE CFD (#1905) 2016-10-05 10:37:50 -07:00
Adam J. Stewart
95b07c365c Add latest versions, resolve variant resolution bug (#1909) 2016-10-05 10:37:35 -07:00
Elizabeth Fischer
8e75575b88 Added missing function for CMake builds. (#1250)
* Added missing function for CMake builds.

* Update build_environment.py

* std_cmake_args

Changed std_cmake_args to use get_std_cmake_args().

* Update build_environment.py

Delete additional lines subsumed by get_std_cmake_args()

* flake8.
2016-10-05 10:37:20 -07:00
Elizabeth Fischer
42c69b3809 everytrace: New package (#1543)
* everytrace: New package

Everytrace ensures that stack trace is obtained every time a program exits, for whatever reason.

* everytrace: Change CMake to build dependency

* Renamed to everytrace-example, flake8 and copyright issues.

* flake8

* Missing type=build
2016-10-05 10:03:05 -07:00
Adam J. Stewart
d5e5e4ed1a Add missing dependencies for Flake8 (#1883)
* Warn user if flake8 can't find setuptools

* Add missing dependencies of flake8

* Updates to py-autopep8, make packages activateable

* Check for presence of setuptools for Sphinx too

* Fix bug in order of commands
2016-10-05 10:00:31 -07:00
Elizabeth Fischer
42a60b2434 Added copyright and build deps specification; should be ready to merge. 2016-10-05 12:14:08 -04:00
Axel Huebl
ac3e21f8d4 PNGwriter, libSplash: Add master version (#1744)
* PNGwriter, libSplash: Add `master` version

* PNGwriter, libSplash: Add `dev` versions

Can be used for now, `develop` is currently discouraged.
2016-10-05 06:46:20 -07:00
Denis Davydov
4e5d340665 boost: set 1.61 as preffered until 1.62 is fixed (#1908) 2016-10-05 05:16:06 -07:00
alalazo
7a26c60dbd Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases_rebase
Conflicts:
	lib/spack/spack/cmd/setup.py
	lib/spack/spack/package.py
	var/spack/repos/builtin/packages/gmp/package.py
2016-10-05 09:33:59 +02:00
Todd Gamblin
bff1656a1a Read-only locks should close fd before opening for write. (#1906)
- Fixes bad file descriptor error in lock acquire, #1904
- Fix bug introduced in previous PR #1857
- Backported fix from soon-to-be merged fine-grained DB locking branch.
2016-10-04 15:36:37 -07:00
Pramod Kumbhar
9daafc32f1 Packages for Darshan I/O performance characterization tool from ANL (#1900) 2016-10-04 14:40:35 -07:00
Todd Gamblin
544fa3eddb Fix some documentation build warnings. (#1902)
- Fix issue with package_list.py regeneration confusing Sphinx.
- Add -E option to avoid caching and make Sphinx happy.
2016-10-04 12:37:57 -07:00
Adam J. Stewart
7806fded3e Update documentation URL after switch to readthedocs (#1901) 2016-10-04 11:47:25 -07:00
Todd Gamblin
e9d4780bbc Rework build environment and cc to use smaller RPATHs. (#1894)
- Fixed up dependency management so that:
  - build deps go in PATH and -I
  - link deps go in -L args
  - only *immediate* link deps are RPATH'd

The latter reduces the number of libraries that need to be added to
DT_NEEDED / LC_RPATH.  This removes redundant RPATHs to transitive
dependencies.
2016-10-04 09:40:28 -07:00
Sergey Kosukhin
1d981ebd50 A set of tools used in climate modeling and numerical weather prediction. (#1317)
* Update grib-api: switched to cmake building system.

* Update harfbuzz: added pkg-config dependency.

* Update pango: added pkg-config dependency.

* Add libemos package.

* Add Magics (from ECMWF) package.

* Revert "Variant for building cdo without mpi (#1638)":
CDO does not use MPI.

This reverts commit 079d063c6d.

* Update CDO package: full featured implementation.

* Update magics: added python as build dependency.

* Update cdo: added disabling configuration options.
2016-10-04 09:29:22 -07:00
Todd Gamblin
36c79e9df6 Fixes #1893: missing import 2016-10-04 01:49:07 -07:00
Ivo Jimenez
d36028cff4 Adds mpip package (#1886) 2016-10-04 01:30:52 -07:00
Ivo Jimenez
2c701d372e Adds lulesh package (#1887) 2016-10-04 01:28:23 -07:00
Pramod Kumbhar
e546d6246f Spack package for HPCToolkit (#1892)
* Spack package for HPCToolkit (performance analysis tool)

* Correction for PR comments, make flake8 happy

* update note / comments
2016-10-04 01:02:50 -07:00
Massimiliano Culpo
50fcade81b cp2k : added support for libint, fixed compilation issues on elpa (#1889) 2016-10-03 08:25:36 -07:00
Geoffrey Oxberry
df79ba0dcf gcc: fix darwin dispatch/object.h header issue (#1518)
Fixes #1203. Apple ships headers in Yosemite (and possibly earlier) that
are gcc-incompatible, but compile fine with clang. The fix is to copy
the offending system header from /usr/include/${REST_OF_HEADER_PATH} to
${GCC_PREFIX}/include/${REST_OF_HEADER_PATH} and replace the non-gcc-
compatible features with gcc-compatible equivalents.

See https://github.com/hashdist/hashstack/pull/771/files for
inspiration, and
http://hamelot.io/programming/osx-gcc-dispatch_block_t-has-not-been-declared-invalid-typedef/
for a description of the header issue.
2016-10-02 18:54:43 -07:00
Nicolas Richart
16f99bd0b2 Adding latest version of fenics (#1528)
* Adding last version of fenics and making trilinos not ambiguous on hdf5

* forcing fenics to ignore hdf5 cxx

* Adding deptypes and correcting the hdf5 patch

* flake8 corrections

* cleaning some useless code
2016-10-02 18:51:34 -07:00
Adam J. Stewart
2ce1b388c9 Run make clean to prevent warning messages (#1742)
* Run make clean to prevent warning messages

* Don't delete temporary files after completion
2016-10-02 18:51:09 -07:00
Kelly Thompson
621a4d637d Provide newer versions of llvm (3.8.1, 3.9.0) (#1765)
* Provide new versions of llvm.

+ Provide file list and md5 hashes for 3.8.1 and 3.9.0.
+ Clean up indentation for the 'releases' data structure to improve
  consistency.

* Adding a block of code to the 'resources' structure for cfe.

* Merge cfe and clang resources into single entity.
2016-10-02 18:50:42 -07:00
Alfredo Adolfo Gimenez
1ea9582218 Added hadoop, spark, and variant spark+hadoop (#1833)
* Added hadoop, spark, and variant spark+hadoop

* Docstrings, dependency types, urls, copyright

* Flake8 fixes, link dependency for hadoop

* Build type for spark, env problem setting JAVA_HOME
2016-10-02 18:49:30 -07:00
Erik Schnetter
b22956bab2 git: Don't link against -lrt on Darwin (#1877)
There is no librt on Darwin, and it's not necessary either.
2016-10-02 18:37:45 -07:00
Erik Schnetter
28b48f3e1a Update PAPI to 5.5.0 (#1878) 2016-10-02 18:37:26 -07:00
Erik Schnetter
b2ff9dbcd4 Update tmux to 2.3.0 (#1879) 2016-10-02 18:37:17 -07:00
Kelly Thompson
051c5dbc27 New package: libquo (#1880)
* New package: libquo

libquo is a high-level, easy to use programming interface tailored specifically
for MPI/MPI+X codes that may benefit from evolving process binding policies
during their execution. QUO allows for arbitrary process binding policies to
be enacted and reverted during the execution of an MPI/MPI+X application as
different computational phases are entered and exited, respectively.

https://github.com/losalamos/libquo

* Remove use of 'which' and fix style non-conformance.
2016-10-02 18:36:48 -07:00
Bruno Turcksin
e854e053e4 Add boost 1.62.0 (#1882) 2016-10-02 18:36:31 -07:00
Jean-Paul Pelteret
c86d4c8920 Added bash-completion package (#951) 2016-10-02 17:50:39 -07:00
Pramod Kumbhar
4b34ba1035 pdt url change to download full installer tarball (#1881) 2016-09-30 14:31:28 -07:00
Michael Kuhn
8d1ec0df3d Fix read locks on read-only file systems (#1857) 2016-09-30 09:45:08 -07:00
Pramod Kumbhar
6c627dbac9 Add cube variant for building GUI component with qt, parallel built supported (#1525) 2016-09-29 15:37:35 -04:00
Pramod Kumbhar
6ec46ca802 updated to latest available package and fixed installation issue (old packages are no longer available for download) (#1523) 2016-09-29 15:37:07 -04:00
Mitchell Devlin
86cad961e5 added libxstream (#1454) 2016-09-29 15:36:37 -04:00
Adam J. Stewart
deb1cb4805 Add libint package (#1264)
* Add libint package

* Add Intel optimization flags recommended by CP2K

* Add new version and Intel compiler optimization flags for libxc

* Add older version of libint

* Libint depends on GMP C++ library
2016-09-29 15:35:10 -04:00
Robert D. French
a77b48f491 Library for manipulating grib1 and grib2 files (#1736)
Pro tips from @adamjstewart:
* line too long in package description
* name it grib-api instead of grib_api
* depend on netcdf without reference to unnecessary constraints
2016-09-28 17:02:29 -04:00
Elizabeth Fischer
3352889d73 py-pil: Protect against building with Python3. (#1868)
* py-pil: Does not build with Python3.

* Set py-pillow to be the default pil provider

* Update package.py

* Change to comments requested by adamjstewart

* Remove version constraint from extends(), avoid a Spack bug.
2016-09-28 16:51:41 -04:00
Erik Schnetter
4040792501 Update Qthreads to 1.11 (#1863) 2016-09-28 15:22:02 -04:00
Todd Gamblin
295742e2b5 Fixes #1860. Subversion builds sequentially due to race. 2016-09-28 15:18:52 -04:00
Robert D. French
fea0a74bec vim8 is out! (#1753)
* depends on ncurses for 8.0 or higher
2016-09-28 15:17:15 -04:00
Todd Gamblin
cb229f0842 Fixes #1720: spack reindex fails with invalid ref count. (#1867)
* Fixes #1720: spack reindex fails with invalid ref count.

- Database graph wasn't being built properly; dependencies were set up
  incorrectly in the nodes that ended up in the graph on reindex.

- Reworked _add to increment ref count properly and to always build
  bottom-up to make the logic simpler to understand.

* Add checks to ensure DB is a valid merkle tree.
2016-09-28 15:00:26 -04:00
Adam J. Stewart
66c2ac0bc9 Tell Mercurial where to find CA certs (#1873) 2016-09-28 14:58:51 -04:00
Elizabeth Fischer
9aa77178f3 Prohibit Python3 in Python version check. (#1872) 2016-09-28 12:36:25 -04:00
Adam J. Stewart
6df84a794b Add single letter arg flags for spack graph (#1871) 2016-09-28 12:09:31 -04:00
Todd Gamblin
78f4081bc9 Merge pull request #1862 from LLNL/features/graph-improvements
spack graph improvements
2016-09-28 00:10:14 -04:00
Todd Gamblin
05d52752ff Make graph_ascii support deptypes.
- fix deptype support
- by default, graph command omits build depedencies
- update docs to use deptype args
2016-09-27 23:49:41 -04:00
Todd Gamblin
f082d26ddd Fixes #1098: spack graph crashes for large graphs.
- Fixed logic for collapsing backward edges

- Last collapse now depends on whether prior step in left collapse
  sequence alrady did the collapse.
2016-09-27 23:28:51 -04:00
Todd Gamblin
0d3d74e5c2 Improvements to the Spack graph command.
- Distinguish between static (package) and dynamic (spec) graphs.

  - static graphs ignore conditions and multiple instances (hashes) and
    plot raw dependencies among packages.

  - dynamic graphs include information from particular specs (instances of
    packages) and can have multiple instances with hashes.

- Allow graphing all packages in the install DB.

  - useful for debugging.
2016-09-27 11:00:50 -04:00
Todd Gamblin
43ca805248 Factor out canonical_deptype function, cleanup spec.py 2016-09-27 11:00:50 -04:00
Todd Gamblin
cd960caf8d Clean up Exceptions in spec.py 2016-09-27 11:00:45 -04:00
Adam J. Stewart
9b575dd976 Various updates to scipy and numpy (#1856) 2016-09-27 10:56:24 -04:00
Michael Kuhn
00b3aa77ae Update cdo to 1.7.2 (#1858) 2016-09-27 10:56:04 -04:00
Erik Schnetter
88af9f783d Make PETSc build on Darwin (#1835)
Don't set cpp when building on Darwin.
2016-09-26 10:38:02 -07:00
Erik Schnetter
3282eaea8d Update OpenSSL (#1853) 2016-09-26 10:37:40 -07:00
Denis Davydov
1e10309ff7 some fixes to blas/lapack usage in packages (#1852)
* atlas: fix unit test

* openblas: remove symlinks; use lapack_libs.ld_flags in the test

* mkl: fix openmp variant of blas/lapack libs

* intel-parallel-studio: fix openmp variant of blas/lapack libs

* netlib-scalapack: fix blas/lapack for multilib case (e.g. mkl)

* arpack-ng: fix blas/lapack for multilib case (e.g. mkl)

* petsc: explicitly specify blas/lapack

* minor

* cantera: fix blas/lapack usage

* ipopt: fix blas/lapack usage

* netlib-lapack: fix external blas usage

* mfem: fix lapack/blas usage

* superlu-mt: fix blas usage

* flake8 fixes
2016-09-26 10:37:23 -07:00
Todd Gamblin
cb36aadaf6 Fix doc bugs, widen columns in the package list 2016-09-23 18:07:33 -07:00
Patrick Gartung
ec91152a36 a few package used in HEP including ROOT6 2016-09-23 18:07:22 -07:00
Adam J. Stewart
64194a823a Remove duplicate ICU package (#1837)
* Remove duplicate ICU package

* Ignore deleted files during flake8 tests

* Rename Boost ICU variant
2016-09-23 14:16:59 -07:00
Denis Davydov
6ef6428331 m4: fix compilation on Sierra with GCC (#1844)
* m4: fix compilation on Sierra with GCC

* m4: check macOS version
2016-09-23 13:38:29 -07:00
Bruno Turcksin
98d54182d3 Add Trilinos 12.8.1 (#1843) 2016-09-23 13:36:21 -07:00
Erik Schnetter
73ec2a27d0 Don't require git for Julia @0.5: (#1834) 2016-09-23 13:35:12 -07:00
Erik Schnetter
8147a09489 Update jemalloc to 4.2.1 (#1839) 2016-09-23 13:32:57 -07:00
Robert D. French
3d282b9239 Add libmesh, needed for some FEM applications (#1846) 2016-09-23 13:26:27 -07:00
Denis Davydov
df5e151049 hypre: fix a bug with blas/lapack names (#1841) 2016-09-23 10:06:18 -07:00
Erik Schnetter
c0ebbc97c9 Update OpenSSL (#1836)
This is a security update with priority "HIGH".
2016-09-23 08:21:15 -07:00
Denis Davydov
462a4a1353 boost: fix a bug which broke it on macOS with clang+gfortran (#1816)
* dealii: add missing python dependency

* boost: fix a bug which  broke it on macOS with clang+gfortran

Boost was using gcc compiler instead of clang++, which lead to
cryptic Undefined symbols linking errors for boost::python::objects::function_object()
when building other packages against boost+python.

* boost: add exceptions for intel

* boost: use spack_cxx
2016-09-22 13:47:22 -07:00
Adam J. Stewart
a638b62ab1 Updates to CGAL and ICU4C packages (#1828) 2016-09-22 11:50:50 -07:00
Ben Boeckel
c7860322f5 package: fix variable name usage (#1829) 2016-09-22 11:47:25 -07:00
Adam J. Stewart
f1f301ad3b Fix spack checksum output indentation (#1826) 2016-09-22 11:33:29 -07:00
Elizabeth Fischer
64c3b11478 suitesparse: Added +fpic (for linking with shared libraries) (#1542) 2016-09-22 11:03:49 -07:00
Erik Schnetter
7ad6c35627 New package "charm" for the Charm++ parallel programming framework (#1766) 2016-09-22 00:48:00 -07:00
Eric
025b779a30 Fix sbang for perl (#1802)
* Perform shebang fix for all files

* Fix sbang for perl scripts

Otherwise perl would look at the #! line and call sbang again, resulting
in an infinite loop.
2016-09-22 00:43:47 -07:00
Elizabeth Fischer
98f9dd266f Remove SPACK_DIRTY env var (#1818)
* Removed SPACK_DIRTY env var support.

* Finished removing SPACK_DIRTY support.

* Minor changes.
2016-09-22 00:43:33 -07:00
Massimiliano Culpo
1db2552644 fix : stops infinite recursion for python 2.6 (#1823) 2016-09-22 00:31:28 -07:00
Massimiliano Culpo
d848559f70 Reworking of lapack_shared_libs and similar properties (#1682)
* Turned <provider>_libs into an iterable

Modifications :
- added class LibraryList + unit tests
- added convenience functions `find_libraries` and `dedupe`
- modifed non Intel blas/lapack providers
- modified packages using blas_shared_libs and similar functions

* atlas : added pthread variant

* intel packages : added lapack_libs and blas_libs

* find_library_path : removed unused function

* PR review : fixed last issues

* LibraryList : added test on __add__ return type

* LibraryList : added __radd__ fixed unit tests

fix : failing unit tests due to missing `self`

* cp2k and dependecies : fixed blas-lapack related statements in package.py
2016-09-21 12:27:59 -07:00
Todd Gamblin
6b6f868f2a Flake8 fixes. 2016-09-21 04:35:15 -07:00
Todd Gamblin
786ab114b7 Merge branch 'qt-osx' of git://github.com/mathstuf/spack into mathstuf-qt-osx 2016-09-21 04:32:03 -07:00
George Hartzell
51d869493a Add package for bedtools2 (#1572)
Add package for bedtools2, with support for v2.25.0 and v2.26.0.
2016-09-21 04:23:03 -07:00
George Hartzell
db0baaafe3 Add package for bamtools (#1571)
bamtools provides a C++ API & command-line toolkit for working with BAM
data.
2016-09-21 04:22:55 -07:00
Mayeul d'Avezac
3d1c92e22c Update espresso recipe to track change in spack internals (#1734) 2016-09-21 04:18:35 -07:00
Adam J. Stewart
cf925ddc97 Add missing build dependencies to hdf package (#1812) 2016-09-21 04:16:57 -07:00
Kelly Thompson
3d3614e522 Update to allow netlib-scalapack to build against netlib-lapack. (#1539) 2016-09-21 04:10:30 -07:00
Glenn Johnson
c1284a9046 Stop python from linking with system ncurses (#1672)
Python will look to link with libncursesw in preference to libncurses. Since
ncurses in spack is built without suffixes there is no libncursesw and
python will link to the system libncursesw for _curses.so and
_curses_panel.so, as well as libpanelw for _curses_panel.so.

This PR introduces a patch that simple removes the check for ncursesw in
setup.py and therefore sets `curses_library` to `ncurses`.
2016-09-21 04:02:28 -07:00
Glenn Johnson
851b58248d Build pkg-config files for ncurses (#1673) 2016-09-21 04:02:07 -07:00
Elizabeth Fischer
899f3a7e37 Fixed bug propagating --dirty flag to sub-installs. (#1625)
* Fixed bug propagating --dirty flag to sub-installs.

* Fix syntax error

* Allow --dirty flag to be set with SPACK_DIRTY env var.

* Added dirty flag to `spack diy` and `spack setup`, as is currently in `spack install`

* flake8
2016-09-21 03:56:56 -07:00
Glenn Johnson
73012ec4c8 Rework libgd package (#1679)
* Added missing libtiff dependency
* added dependency on fontconfig
* Added version 2.2.3
* use autotools rather than cmake

The cmake build was not producing a complete install.
* There was no versioning of the installed libraries.
* gdlib-config was missing
* pkgconfig directory was missing

These problems do not happen when built with autotools.
2016-09-21 01:56:20 -07:00
Matt Belhorn
94b24e8893 Adds all available CrayPE CPU targets to platform by default. (#1745) 2016-09-21 01:48:33 -07:00
Todd Gamblin
ae6252ca5f Merge branch 'efischer/160914-FixBinutils226Question' of git://github.com/citibeth/spack into bugfix/efischer-160914-FixBinutils226Question 2016-09-21 01:45:38 -07:00
Axel Huebl
d3e04b3daf Close #1683 Apply ADIOS 1.10.0 Patch (HDF5 1.10+) (#1699)
* Close #1683 Apply ADIOS 1.10.0 Patch

Also correct version dependencies and comments.

* Clean Up ADIOS

- add develop
- simplify HDF5 options (parallel only)
- remove optional netCDF (not fully v4)
2016-09-21 00:55:54 -07:00
Massimiliano Culpo
3254d2f8f9 cp2k : added dependencies (#1724)
* wannier90 : added package (#24)

* wannier90 : added package

* cp2k : added dependency on wannier90

* elpa : updated package, added cp2k dependency (#26)

Conflicts:
	var/spack/repos/builtin/packages/elpa/package.py
2016-09-21 00:53:06 -07:00
Alfredo Adolfo Gimenez
02307cf7ce Set JAVA_HOME on module load and on dependent installs. (#1716)
* Set JAVA_HOME on module load and on dependent installs.

* Include environment setup from dependencies in dependee module (#1714)
2016-09-21 00:52:09 -07:00
Massimiliano Culpo
1cc48bf7d7 grackle : added package (#1725)
Modifications :

* grackle : added package
* grackle : added version 2.2
2016-09-21 00:51:49 -07:00
Erik Schnetter
3c7ea3000a Wrap yt package (#1751)
yt is a python package for analyzing and visualizing volumetric, multi-resolution data from astrophysical simulations, radio telescopes, and a burgeoning interdisciplinary community.
2016-09-21 00:37:46 -07:00
Sergey Kosukhin
746495896c Qt library: added variant to enable/disable compilation of examples (#1763) 2016-09-21 00:25:14 -07:00
Patrick Gartung
e6dc448f18 Compiling python with gnu c++ on macos fails with toolboxglue enabled. 2016-09-20 23:34:15 -07:00
Denis Davydov
27801c354b fix MacOs class for Sierra (#1811) 2016-09-20 17:25:23 -07:00
Gregory L. Lee
25ee9456f5 added STAT release 3.0.0 2016-09-20 16:09:31 -07:00
Erik Schnetter
ef1f441424 Julia: Add version 0.5.0 (#1809) 2016-09-20 12:40:58 -07:00
Adam J. Stewart
db483e77e4 Remove url_for_version as it breaks spack info (#1503) 2016-09-20 10:17:51 -07:00
Joseph Ciurej
7f9e89eb53 Update Package: Git-LFS (#1769)
* Fixed a few small bugs in the 'git-lfs' install script.

* Fixed a bug in the '(go|go-bootstrap)@1.4.2+test' install scripts.

* Fixing a minor style issue in the 'git-lfs' install script.
2016-09-20 10:08:25 -07:00
Erik Schnetter
00bac8f294 PETSc: Explicitly point to cpp when configuring (#1807)
I encountered an HPC system where PETSc's configure stage does not find a valid `cpp` (C preprocessor). Explicitly pointing to Spack's `cpp` wrapper resolves the problem.
2016-09-20 10:05:57 -07:00
Adam J. Stewart
f180d748be Remove lingering boilerplate FIXMEs (#1756) 2016-09-20 08:01:55 -07:00
Massimiliano Culpo
eb8a0ef75e fix : failing unit tests due to missing self (#1806) 2016-09-20 07:47:13 -07:00
Joseph Ciurej
2cbae1d691 Update Package: Metis (#1783)
* Fixed a bug that was causing post-install METIS tests to fail.

* Improved the patching procedure used in the 'metis' install script.

* Enabled patch skipping for the 'metis' and 'parmetis' packages.

* Fixed some minor style issues in the 'parmetis' package.

* Improved the 'metis' test fix and added 'run_tests' support.
2016-09-20 02:48:31 -07:00
Robert D. French
5c11fe88df Add UberFTP utility (#1780) 2016-09-20 02:47:10 -07:00
Denis Davydov
1565a643bd dealii: add 8.4.2 (#1782) 2016-09-20 02:46:57 -07:00
Bruno Turcksin
20fcd3f1dd Add Python support to gdb. (#1790) 2016-09-20 02:46:30 -07:00
Joseph Ciurej
e73a7c80bf Update Package : Zoltan (#1793)
* Refactored and reorganized the 'zoltan' install script.

* Fixed a few bugs with the '+mpi' and '+fortan' variants of 'zoltan'.

* Reintroduced and improved the '+shared' variant for the 'zoltan' package.

* Improved compatibility with different MPI providers for 'zoltan'.
2016-09-20 02:46:13 -07:00
Eric
c9fe2cd469 Fix format string (in class RemoveFailedError) (#1803) 2016-09-20 02:27:35 -07:00
Tom Merrick
d71f8dcab5 samtools could not find the ncurses library (#1785) 2016-09-20 02:27:19 -07:00
Massimiliano Culpo
ea446c0f0e lmod : added support for the creation of hierarchical lua module files (#1723)
Includes :
- treatment of a generic hierarchy (i.e. lapack + mpi + compiler)
- possibility to specify which compilers are to be considered Core
- correct treatment of the 'family' directive
- unit tests for most new features
2016-09-20 02:26:25 -07:00
Eric
efadc0e299 Allow multi-user installations (#1804)
When re-using previously downloaded tarballs, spack copies from
`var/spack/stage/PACKAGE-VERSION-HASH/downloaded_file` to
`var/spack/cache/PACKAGE/downloaded_file`. This fails if the source is owned by
a different user (`shutil.copy` tries to retain all meta data including file
ownership). Change to a non-meta-data copy function (`shutil.copyfile`).
2016-09-20 02:18:26 -07:00
Erik Schnetter
bd6aac3102 Update Julia to 0.4.7 (#1805) 2016-09-20 02:16:25 -07:00
Erik Schnetter
bddb15ef4c Make VisIt build again (#1762)
- add new version 2.10.3
- explicitly require hdf5 variant ~mpi, since we don't know how to build with mpicc
- explicitly disable glew since it may not be installed
2016-09-20 02:15:58 -07:00
Erik Schnetter
70424b511e Work around cmake problems in VTK (#1761)
The cmake scripts can't handle the semicolons in gcc's version output. Filter them out before detecting the version.
2016-09-20 02:15:37 -07:00
Erik Schnetter
2a558e9d7a Tighten HDF5 version requirements for Silo (#1760) 2016-09-20 02:14:55 -07:00
Erik Schnetter
8426b65592 Make cmake @2.8 build again (#1759) 2016-09-20 02:14:37 -07:00
Erik Schnetter
140f1773cf Update hwloc to 1.11.4 (#1752) 2016-09-20 02:14:17 -07:00
Erik Schnetter
682ac5194e Declare py-beautifulsoup4's dependency on py-setuptools (#1748) 2016-09-20 02:14:06 -07:00
Erik Schnetter
48c87da07b Update curl to 7.50.3 (#1747)
* Update curl to 7.50.2
* Update curl to 7.50.3
2016-09-20 02:13:54 -07:00
Erik Schnetter
bbdc429db3 Update OpenMPI to 2.0.1 (#1721) 2016-09-20 02:13:40 -07:00
Erik Schnetter
2e490050f6 Update OpenBLAS to 0.2.19 (#1702) 2016-09-20 02:13:25 -07:00
Erik Schnetter
ebde2a101e Reorder versions in openssl (#1601) 2016-09-20 02:13:14 -07:00
Erik Schnetter
ee2ddaa7cc Update mbedtls to 2.3.0 (#1600) 2016-09-20 02:13:03 -07:00
Erik Schnetter
6848752fed Update cereal to 1.2.1 (#1599) 2016-09-20 02:12:52 -07:00
Erik Schnetter
dfad4a0abc Update binutils to 2.27 (#1598) 2016-09-20 02:12:40 -07:00
Michael Kuhn
7043fff807 Fix location -p and -P (#1776) 2016-09-15 10:48:28 +08:00
Michael Kuhn
7fd44a983d Update mvapich2 to 2.2 (#1775) 2016-09-15 10:42:57 +08:00
Erik Schnetter
6117ef44e4 Make libstdc++-detection work on Darwin (#1778) 2016-09-15 10:42:14 +08:00
Elizabeth Fischer
2a823fbdfd [RtM] Added py-proj/package.py (RtM = Ready to Merge) (#717)
* Added py-proj package

* Added bug-fix patched version to the package.

* Removed dependency of py-proj on proj.

* py-proj: Added missing dependency

* py-proj: Removed versions from forked repos, now that necessary bug fixes have been merged into the main repo.

* Update package.py

Added a blank line that Travis wanted.

* 1. Added copyright
2. Used setup_py
3. Added type='build' for dependencies.
2016-09-15 10:35:57 +08:00
Elizabeth Fischer
a954d0976a Put back full-length URL. 2016-09-14 16:52:33 -04:00
Elizabeth Fischer
595ec7e034 Bug fix capturing which packages work with which binutils. 2016-09-14 16:50:17 -04:00
Elizabeth Fischer
4a1df7e0b2 Resolved issues of py-pillow, py-scipy and binutils dependencies. Resolves #1506
py-pillow: Remove version dependency on binutils@2.25.  In tests, it works just fine with binutils@2.26.

Fixed flake8 issues.
2016-09-14 10:56:08 -04:00
Erik Schnetter
1d09d1a4e2 Update netlib-lapack to 3.6.1 (#1597) 2016-09-09 13:50:37 -07:00
Erik Schnetter
567d67fae2 Add libiconv dependency for git (#1468)
Also remove "--without-pcre" flag that git does not understand any more.
2016-09-09 12:57:49 -07:00
Erik Schnetter
8249108cc6 Qthreads: Switch back to using tarball to get released version (#1739)
* Qthreads: Switch back to using tarball for download

* Don't require autotools any more

* Re-enable autotools

* Remove autotools again

* Use .tar.bz tarball; remove outdated code
2016-09-09 06:56:11 -07:00
Erik Schnetter
e06a0271a4 New package h5hut (#1737)
* New package h5hut -- High-Performance I/O Library for Particle-based Simulations

* Set up MPI compilers

* Add version 1.8.12 to HDF5

* Correct Sphinx error
2016-09-08 13:27:47 -07:00
Erik Schnetter
ff7c0335ff Declare fontconfig dependency on pkg-config (#1686) 2016-09-08 12:15:42 -07:00
Todd Gamblin
3d3d65f3f7 Merge pull request #1553 from adamjstewart/fixes/netcdf-hdf5
Fix NetCDF/HDF5 dependency resolution problems
2016-09-08 11:58:46 -07:00
Adam J. Stewart
a22f5d8d86 Don't overwrite PYTHONPATH in docs Makefile (#1693) 2016-09-08 09:02:56 -07:00
Adam J. Stewart
06d8a3ad23 Add missing dependency for run-doc-tests (#1691) 2016-09-08 09:02:38 -07:00
Adam J. Stewart
0586b388df Add latest version of libpng, ncview depends on libpng (#1502)
* Add latest version of libpng

* ncview depends on libpng
2016-09-08 09:02:10 -07:00
scheibelp
fd02a140c4 Fix fetching non-expanded resources from mirrors (#1310)
This closes #1308, where fetching a non-expanded resource from a mirror
will cause an error.

This also ensures that when a URL resource is fetched from a mirror,
that it will be named as though it were retrieved from the original
URL. This is particularly useful for non-expanded resources since it
ensures that the resource name is consistent for the installation
(this is less important for expanded resources because the build takes
place inside the expanded resource).
2016-09-07 07:02:24 -07:00
Ian Lee
d55b17dd65 Fixed broken link in README (#1733) 2016-09-06 14:52:44 -07:00
Ben Boeckel
77611913c6 qt: only pass -qt-xcb on non-OS X 2016-09-06 16:53:38 -04:00
Ben Boeckel
112122bc28 qt: progress on qt5.5 on osx
Qt5.5 searches for the SDK itself and just ignores environment variables
like CC and CXX, skipping the spack wrappers.
2016-09-06 16:01:16 -04:00
Ben Boeckel
fca26c0b79 qt: make -no-phonon specific to qt4 2016-09-06 16:00:22 -04:00
Ben Boeckel
67462ca65a qt: fix pcre header conflict in javascriptcore 2016-09-06 16:00:21 -04:00
Ben Boeckel
4687860885 qt: force the 10.9 SDK on macos
The 10.11 SDK fails to configure.
2016-09-06 16:00:21 -04:00
Ben Boeckel
a05a6456d5 glib: build on macos 2016-09-06 16:00:21 -04:00
Ben Boeckel
b810a113af pixman: disable mmx 2016-09-06 16:00:21 -04:00
Ben Boeckel
3df1eeccb9 qt: setup the sdk and platform arguments 2016-09-06 16:00:21 -04:00
Ben Boeckel
71c357e485 qt: support building with 10.10+ SDKs 2016-09-06 16:00:21 -04:00
Ben Boeckel
aa9faceb03 qt: disable phonon support 2016-09-06 16:00:21 -04:00
Ben Boeckel
6075abfbdb qt: depend on icu4c 2016-09-06 16:00:21 -04:00
Ben Boeckel
a9bfd88248 qt: depend on OpenSSL
OS X doesn't come with an OpenSSL supported by Qt4.
2016-09-06 16:00:21 -04:00
Ben Boeckel
4c566617f7 qt: make libxcb a conditional dependency
OS X doesn't have X (usually).
2016-09-06 16:00:21 -04:00
Ben Boeckel
5ba1144515 qt: create a dbus variant 2016-09-06 16:00:20 -04:00
Ben Boeckel
4b471ecc6e qt: support detecting newer SDK paths 2016-09-06 15:59:46 -04:00
Todd Gamblin
f34dd94166 Add debug command for creating tarball of install DB. 2016-09-06 07:55:54 -07:00
Robert D. French
ccfbfcc890 ITS XML Translation Tool (#1728) 2016-09-06 06:56:13 -07:00
Jeffrey Salmond
26d45bc106 fontconfig: add --disable-docs to configure (#1729) 2016-09-06 06:55:58 -07:00
Kelly Thompson
f0192edf0d For OpenMPI v 2+, add a configure option to provide C++ bindings. (#1730)
+ Starting with version 2.0, OpenMPI no longer provides C++ bindings by default
  (libmpi_cxx.so). Add a configure option to instruct the build to also build
  and install libmpi_cxx.so.
+ This MPI feature is needed by at least one spack package (moab).
2016-09-06 06:55:37 -07:00
Todd Gamblin
a8b4a0f287 Merge pull request #1731 from epfl-scitas/packages/plumed_gslcblas
plumed : avoid linking with libgslcblas
2016-09-06 06:55:16 -07:00
Todd Gamblin
1cb6f31b03 Merge pull request #1732 from epfl-scitas/fixes/autoload_and_build_dependencies
fix : ('build',) type dependencies are not accounted when autoloading
2016-09-06 06:55:02 -07:00
alalazo
fc576a40d6 modules : ('build',) type dependencies are not accounted when autoloading
fixes #1681
2016-09-06 15:07:11 +02:00
alalazo
d39b666913 plumed : avoid linking with libgslcblas 2016-09-06 11:21:26 +02:00
alalazo
47f6a6d3cf Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases_rebase
Conflicts:
	lib/spack/spack/build_environment.py
	lib/spack/spack/package.py
	var/spack/repos/builtin/packages/astyle/package.py
	var/spack/repos/builtin/packages/lzo/package.py
	var/spack/repos/builtin/packages/openjpeg/package.py
	var/spack/repos/builtin/packages/swiftsim/package.py
2016-09-04 10:12:52 +02:00
Axel Huebl
16c5403ab3 spack boostrap: fix missing include (#1657)
fix a missing include in booststrap.
found on debian 8 with python 2.7
2016-09-03 09:43:00 -07:00
Massimiliano Culpo
497bbb3ae3 added package : pexsi (#1550)
* pexsi : added package
* cp2k : added pexsi (works for gcc+openmpi with and without plumed)
2016-09-03 08:13:47 -07:00
becker33
fa310c825d Merge pull request #1704 from eschnett/eschnett/libiconf-gets
Make libiconv work with C11
2016-09-02 16:46:40 -07:00
becker33
6de191a926 Merge pull request #1708 from robertdfrench/globus-toolkit
Globus Toolkit
2016-09-02 15:31:34 -07:00
Todd Gamblin
07fa1cd5f8 Attributes for directives need to be set at class construction time. (#1718)
- moved ensure_dicts() call from Package.__init__ to
  Package.__metaclass__.
2016-09-02 15:10:30 -07:00
becker33
ea6143402f Merge pull request #1715 from alfredo-gimenez/bugfix/vim
Fix vim package.
2016-09-02 14:59:14 -07:00
becker33
83a8a8ed22 Merge pull request #1717 from alfredo-gimenez/features/sbt
Add sbt (scala build tool) package
2016-09-02 14:56:44 -07:00
Alfredo Gimenez
19102559f0 Add sbt (scala build tool) package 2016-09-02 14:15:20 -07:00
Alfredo Gimenez
817c120b1c Fix vim package 2016-09-02 14:09:46 -07:00
Erik Schnetter
d78d18c4bd Update OpenMPI description (#1705) 2016-09-02 10:57:35 -07:00
Jeffrey Salmond
5146c64dfc Fixes for the ImageMagick package. (#1709)
* add pango dependency

* add new package ghostscript-fonts & add to ImageMagick as dependency

also tell ImageMagick's configure where the font dir is!

* refactor to fix flake8

* add homepage to ghostscript-fonts

* use install_tree

* remove unneeded import
2016-09-02 10:41:35 -07:00
Erik Schnetter
c7bb523c8f Declare qthreads dependency on automake (#1711) 2016-09-02 10:34:07 -07:00
Todd Gamblin
e22ff0d8cd Merge pull request #1707 from eschnett/eschnett/autoconf-old-versions
Add two famous old versions of autoconf
2016-09-02 10:32:33 -07:00
Robert.French
d876d9b778 Globus Toolkit 2016-09-02 16:04:26 +00:00
Erik Schnetter
9ceb3f6b49 Add two famous old versions of autoconf
These old versions are often used because their immediate successors are incompatible in some way.
2016-09-02 11:23:33 -04:00
Erik Schnetter
0bd63ce8be Make libiconv work with C11
C11 does not provide gets() any more, so we cannot reference it
2016-09-02 10:53:59 -04:00
Todd Gamblin
417fe0ec67 Merge pull request #1698 from LLNL/bugfix/hash-collision
Fix hash collisions, add stable hashing
2016-09-02 07:29:44 -07:00
Todd Gamblin
c8b4f978e1 Clean up stable hashing so that specs don't contain !!python/object/apply
- only output basic lists, dicts, etc.
- spec and database now parse and write specs as ordered data.
2016-09-02 03:03:47 -07:00
Todd Gamblin
674434b0fc Merge branch 'UCL-RITS-hash_stability' into bugfix/hash-collision 2016-09-02 03:03:25 -07:00
Todd Gamblin
9268b7aa7c Fix hash copying in _dup.
- Spec._dup() incorrectly copied cached hashes and normal/concrete values
  even when dependency structure was not preserved.

- Now these are only copied when *all* dependencies are copied.
2016-09-02 01:26:19 -07:00
Todd Gamblin
69d45b49e9 Fix hash handling in directory layout
- Currently, build dependencies are not currently hashed; we are waiting
  to hash these until we have smarter concretization that can reuse more
  installed specs.  The layout needs to account for this when checking
  whethert things are installed.
2016-09-02 01:26:01 -07:00
Todd Gamblin
f5bc0cbb65 Merge pull request #1535 from LLNL/bugfix/faster-install-db-gh1521
[WIP] Faster database loading, faster in-memory hashing
2016-09-01 13:00:21 -07:00
Todd Gamblin
8d755c010d Merge pull request #1658 from LLNL/features/git-lfs
Add git-lfs package.
2016-09-01 11:58:18 -07:00
Todd Gamblin
0f26bb9e92 Merge pull request #1688 from LLNL/bugfix/database-issues
Fix dependency bug with `spack reindex`.
2016-09-01 11:39:21 -07:00
Todd Gamblin
69b68153a1 Fix spack reindex so that it will work if DB is corrupt (duh).
- Transaction logic had gotten complicated -- DB would not reindex when
  corrupt, rather the error would be reported (ugh).

- DB will now print the error and force a rebuild when errors are
  detected reading the old databse.
2016-09-01 11:29:32 -07:00
Todd Gamblin
bee5c05568 Update tests to reflect new in-memory hashing vs. coarser dag_hash.
- Spack currently not hashing build deps (to allow more reuse of packages
  and less frequent re-installing)

- Fast in-memory hash should still hash *all* deptypes, and installed
  specs will only reflect link and run deps.

- We'll revert this when we can concretize more liberally based on what
  is already installed.
2016-09-01 11:29:32 -07:00
Todd Gamblin
235a045d08 Add option to copy only certain deptypes to Spec.copy()
- can now pass these to Spec.copy() and Spec._dup():
  - deps=True
  - deps=False
  - deps=(list of deptypes)

- Makes it easy to filter out only part of a spec.
2016-09-01 11:29:32 -07:00
Todd Gamblin
409e7a2e64 Faster database loading.
- use a 3-pass algorithm to load the installed package DAG.

- avoid redundant hashing/comparing on load.
2016-09-01 11:29:32 -07:00
Todd Gamblin
a8aad95d41 Specs now cache result of "fast" in-memory hash.
- Hash causes major slowdown for reading/setting up large DBs

- New version caches hash for concrete specs, which includes all specs in
  the install DB
2016-09-01 11:29:32 -07:00
Todd Gamblin
c46a15b574 Fix dependency bug in database. Fixes #1265, #1320. 2016-09-01 11:25:01 -07:00
Todd Gamblin
4a87d4ab8e Make gh-pages redirect to readthedocs.io 2016-08-31 19:40:22 -07:00
Todd Gamblin
bf8413379f Merge pull request #1593 from eschnett/eschnett/depends_on
Expand/clarify description of dependency types
2016-08-31 12:07:11 -07:00
Erik Schnetter
efc570afab Expand/clarify description of dependency types 2016-08-31 14:42:32 -04:00
Todd Gamblin
e3c182a1c4 Merge pull request #1677 from eschnett/eschnett/lzo-hotfix
Switch lzo download from https to http
2016-08-31 09:43:16 -07:00
Erik Schnetter
932cd6fa19 Switch lzo download from https to http
lzo's download server does not present a valid certificate, so that downloads via https are failing. Spack's MD5 checksum still ensure a safe download.

Closes #1675.
2016-08-31 12:41:04 -04:00
Todd Gamblin
0ff048521b Fix modules.rst doc build warning. 2016-08-30 22:15:13 -07:00
Todd Gamblin
8709e1c1c3 Move docs to readthedocs.io
- Docs are now visible immediately, and we don't have to push them
  separately.
2016-08-30 21:19:31 -07:00
Todd Gamblin
9de7e25085 Merge branch 'bugfix/rtd-generation' into develop 2016-08-30 21:13:53 -07:00
Todd Gamblin
3a9388b43a Move sphinx-apidoc into conf.py, too. 2016-08-30 21:02:34 -07:00
Todd Gamblin
32834dd67d fix sys.path in conf.py 2016-08-30 20:50:14 -07:00
Todd Gamblin
05545a2528 test. 2016-08-30 20:49:56 -07:00
Todd Gamblin
41675e5ed6 sorted command index, better colification. 2016-08-30 20:49:56 -07:00
Todd Gamblin
918cb16921 Merge branch 'features/travis' into develop 2016-08-30 20:43:29 -07:00
Todd Gamblin
176a84a828 Don't test sphinx-generated conf.py for flake8 issues. 2016-08-30 20:30:43 -07:00
Todd Gamblin
c470ffe1ac Install graphviz before build. 2016-08-30 20:17:12 -07:00
Todd Gamblin
d9c5191563 Fix issue with path to Spack. 2016-08-30 19:57:33 -07:00
Todd Gamblin
fc748eb3d0 Exclude spack.__all__ from documentation.
Everything in the __all__ list in the spack module is from some other
module, so only do their documentation in their original location.  This
also avoids issues like the fact that some directive names shadow spack
core module names.
2016-08-30 16:36:50 -05:00
Adam J. Stewart
1be6267149 Undo changes to trailing triple quotes in docstring 2016-08-30 16:28:55 -05:00
Adam J. Stewart
f6d07b54f1 Always run spack unit tests 2016-08-30 16:01:00 -05:00
Adam J. Stewart
9b455e9254 Resolve new documentation issues that have cropped up 2016-08-30 15:58:22 -05:00
Adam J. Stewart
cc7df29e81 Keep dashes in command names, translate to underscores 2016-08-30 15:37:23 -05:00
Adam J. Stewart
ae2a803496 Make subcommands importable, '-' -> '_', fixes #1642 2016-08-30 15:36:33 -05:00
Adam J. Stewart
8d1a753a1b Fix spack --profile, fixes #1639 2016-08-30 15:35:58 -05:00
Adam J. Stewart
e04b76c2c3 Add spack to the PATH for doc tests 2016-08-30 15:35:58 -05:00
Adam J. Stewart
a0c8aca3a2 Remove py-mercurial, going with mercurial package instead 2016-08-30 15:35:58 -05:00
Adam J. Stewart
6795f4ca12 Use console instead of shell syntax lexer, fixes #1634 2016-08-30 15:35:58 -05:00
Adam J. Stewart
f856952728 Always run Documentation tests 2016-08-30 15:32:54 -05:00
Adam J. Stewart
f78134efa5 Fixes #1620, Missing references 2016-08-30 15:32:54 -05:00
Adam J. Stewart
867a92f083 Fixes #1618, Problems with spack package-list 2016-08-30 15:32:54 -05:00
Adam J. Stewart
69e50595bf Fix docstrings for core Spack libraries, fixes #1612 2016-08-30 15:32:54 -05:00
Adam J. Stewart
02239c094e Fix unexpected indentation in .rst files, #1612 2016-08-30 15:29:51 -05:00
Adam J. Stewart
eb56744f4d Fix package docstrings, #1612 2016-08-30 15:29:50 -05:00
Adam J. Stewart
0614bd206f Fix #1608, Include file not found 2016-08-30 15:28:09 -05:00
Adam J. Stewart
2326355497 Fix #1604 and fix #1605, title underline problems 2016-08-30 15:28:08 -05:00
Adam J. Stewart
c36f13e44d Added more missing dependencies 2016-08-30 15:21:15 -05:00
Adam J. Stewart
fda7fcd73d Fix #1594, duplicate explicit target name 2016-08-30 15:21:15 -05:00
Adam J. Stewart
a235d030ac Fix typos and bugs in Travis config file
Forgot to change one of the TEST_TYPEs to TEST_SUITE.
-eq not working, trying == instead.
Cache doesn't seem to be working, removed.
2016-08-30 15:21:15 -05:00
Adam J. Stewart
7f9d098c2f Add mercurial package, used as test dependency 2016-08-30 15:21:15 -05:00
Adam J. Stewart
1fc14fd7ed Only run unit tests when core Spack framework is modified 2016-08-30 15:21:15 -05:00
Adam J. Stewart
d2d6c91b66 Run documentation tests when documentation is modified 2016-08-30 15:21:15 -05:00
Adam J. Stewart
679f787a65 Add generic changed_files script 2016-08-30 15:21:15 -05:00
Adam J. Stewart
c6aa32bb3c Some flake8 settings weren't documented 2016-08-30 15:20:03 -05:00
Adam J. Stewart
732c1985ef Overhaul Spack's CI Infrastructure 2016-08-30 15:20:03 -05:00
Todd Gamblin
7e4c6afd91 Merge pull request #1412 from adamjstewart/features/cmake
Overhaul of CMake package and compression libraries
2016-08-30 12:18:56 -07:00
Todd Gamblin
abd1546d86 Merge pull request #1668 from ax3l/topic-pngwriter
PNGwriter: Add Spack Package
2016-08-30 10:21:27 -07:00
Todd Gamblin
fa99b76b58 Merge pull request #1667 from ax3l/topic-libsplash
libSplash: Add Spack Package
2016-08-30 10:20:57 -07:00
Axel Huebl
d2d2234def HDF5 Dependency: Rewrite to Union
@adamjstewart
```
think you'll find that if you try running something like:
spack spec libsplash ^hdf5@1.8.15
It will complain that libsplash does not depend on hdf5.
This is a bug in Spack's dependency resolution. A workaround
for this is to tell it to always depend on hdf5.
```

@davydden
```
to expand on @adamjstewart comment, spack will make a union
of dependencies,
i.e. hdf5@1.8.6: + hdf5+mpi = hdf5:1.8.6:+mpi, that's why it works.
```

thank you for the hint!
2016-08-30 17:00:09 +02:00
Axel Huebl
03c4d65af1 PNGwriter: Add Spack Package
Adds a package for
[PNGwriter](https://github.com/pngwriter/pngwriter/),
a simple high-level C++ png API used in scientific projects.

```
PNGwriter is a very easy to use open source graphics library that
uses PNG as its output format. The interface has been designed to be
as simple and intuitive as possible. It supports plotting and reading
pixels in the RGB (red, green, blue), HSV (hue, saturation,
value/brightness) and CMYK (cyan, magenta, yellow, black) colour
spaces, basic shapes, scaling, bilinear interpolation, full TrueType
antialiased and rotated text support, bezier curves, opening existing
PNG images and more.
```

PNGwriter is a dependency for [PIConGPU](http://picongpu.hzdr.de),
an open-source, many-core, fully-relativistic particle-in-cell code
and further software developed at
[Helmholz-Zentrum Dresden - Rossendorf](https://www.hzdr.de).
2016-08-30 12:45:53 +02:00
Axel Huebl
3aaa077c9f libSplash: Add Spack Package
Adds a package for
[libSplash](https://github.com/ComputationalRadiationPhysics/libSplash),
a high-level library around serial and parallel HDF5 for regular
grids and particle data sets.

```
libSplash aims at developing a HDF5-based I/O library for HPC
simulations. It is created as an easy-to-use frontend for the
standard HDF5 library with support for MPI processes in a cluster
environment. While the standard HDF5 library provides detailed
low-level control, libSplash simplifies tasks commonly found in
large-scale HPC simulations, such as iter- ative computations
and MPI distributed processes.
```

libSplash is a dependency for [PIConGPU](http://picongpu.hzdr.de),
an open-source, many-core, fully-relativistic particle-in-cell
code and further software developed at
[Helmholz-Zentrum Dresden - Rossendorf](https://www.hzdr.de).

libSplash builds in two versions, one without MPI writing
domain-decomposed posix-style HDF5 files per process and one
(default) with MPI and MPI-I/O ("parallel HDF5") support
aggregating into a single file per MPI communicator.

libSplash is used in conjunction with
[openPMD](http://openPMD.org), see also
[github.com/openPMD/](https://github.com/openPMD/).
2016-08-30 12:42:39 +02:00
Todd Gamblin
dae00fec29 Move all documentation generation into conf.py
- extra steps in Makefile are ignored by readthedocs
2016-08-30 00:47:04 -07:00
Todd Gamblin
47bf7ecb2b Merge pull request #1652 from ax3l/topic-updateAdios110
Update ADIOS Package
2016-08-29 22:59:39 -07:00
Massimiliano Culpo
3ecf4ef8c9 resources : added docs fixes #1551 (#1627) 2016-08-29 22:40:50 -07:00
Todd Gamblin
8ab47537c7 Fix exception constructors. (#1663) 2016-08-29 22:34:47 -07:00
Elizabeth Fischer
cf11c32720 libpciaccess: Changed libtool to a build dependency. (#1602) 2016-08-29 22:11:27 -07:00
Axel Huebl
0f40175524 Remove Space, Enable Parallel
- remove space before comma
- enable parallel build again (seems to work)
2016-08-30 02:02:48 +02:00
Axel Huebl
ecacce7e07 ADIOS: Use NetCDF Prefix from spec's 2016-08-30 00:51:44 +02:00
Gregory Lee
e32247e53a added qt-creator (#1659) 2016-08-29 15:45:16 -07:00
Axel Huebl
37f489886e Defaults: MPI=True, Fortran=False
- ADIOS is mainly a parallel I/O library
- a Fortran compiler is non-standard in a minimal install
2016-08-30 00:14:29 +02:00
Axel Huebl
b33777fd2f RM Outdated Comments, Versions & Code 2016-08-29 23:18:31 +02:00
Axel Huebl
88254a14a7 Always External MXML; type='build'
- always use `mxml` as an external dependency in spack
- declare `build`-only dependencies correctly
2016-08-29 23:01:20 +02:00
Axel Huebl
e1464ece55 ADIOS: disable parallel make 2016-08-29 19:06:22 +02:00
Axel Huebl
f2eb1c93df ADIOS: Run Autotools First 2016-08-29 18:42:07 +02:00
Axel Huebl
4bd863761a Update ADIOS Package
This PR updates the ADIOS package.

**Changes:**

- add latest stable release `1.10.0`
- add previous versions (hashes)
- add default license header
- add build options (shamelessly taken from HDF5 package)
- add validation for excisting FC (as in HDF5) and make optional
- handle mxml dependency correctly (not required in 1.10.0+)
- add `CFLAGS=-fPIC` to build shared (python) libs in ADIOS' lib
- remove `-DMPICH_IGNORE_CXX_SEEK` since it is normally not required
- remove `MPICC/CXX?FC` since `--with-mpi` just performs well
- add transforms:
  - `zlib`: useful (optional) default
  - `szip`: optional (compile often broken)
- add transports that are not as performant as the `.bp` format:
  - `hdf5`: non-default
  - `netcdf`: non-default, close #1610
2016-08-29 17:16:15 +02:00
Todd Gamblin
ed365614f4 Add git-lfs package. 2016-08-28 19:27:59 -07:00
Adam J. Stewart
eace068788 Use self.run_tests for make check 2016-08-24 15:21:23 -05:00
Adam J. Stewart
70bb1f1707 Reduce number of variants, just use system or no-system libs 2016-08-24 14:39:05 -05:00
Adam J. Stewart
28537ae7b7 Workaround until variant forwarding works properly 2016-08-18 14:40:21 -05:00
Adam J. Stewart
4d12c5455a Fix NetCDF/HDF5 dependency resolution problems 2016-08-17 13:03:56 -05:00
Elizabeth Fischer
a733e7e303 py-pathspec: New package
Related to Python unit testing.
2016-08-17 00:34:33 -04:00
Todd Gamblin
4f8167b7ed Don't assume spack is in the path when building docs. 2016-08-15 10:57:15 -07:00
Adam J. Stewart
b47357d73c Add patch for Intel compilers 2016-08-11 10:22:47 -05:00
Adam J. Stewart
5fc20487e4 Flake8 and formatting changes 2016-08-11 10:22:47 -05:00
Adam J. Stewart
534e1cbf1b Some tests don't pass with Intel compilers 2016-08-11 10:20:08 -05:00
Adam J. Stewart
ee5e20dae3 Add dependencies to libarchive and cmake 2016-08-11 10:17:42 -05:00
Adam J. Stewart
58d7704060 Overhaul of compression libraries 2016-08-11 10:15:13 -05:00
Mayeul d'Avezac
7769367747 dag_hash stabilised by depending on sorted dict
Spec.to_node_dict uses OrderedDict

This is to try and ensure that the dag_hash is stable across python
version and processes.
2016-08-11 16:03:50 +01:00
alalazo
f5433477b9 qa : flake8 issues 2016-08-11 09:08:00 +02:00
alalazo
b4b9ebe7d7 Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases
Conflicts:
	lib/spack/llnl/util/tty/log.py
	lib/spack/spack/__init__.py
	lib/spack/spack/cmd/install.py
	lib/spack/spack/cmd/setup.py
	lib/spack/spack/package.py
	var/spack/repos/builtin/packages/blitz/package.py
	var/spack/repos/builtin/packages/gmp/package.py
	var/spack/repos/builtin/packages/qhull/package.py
	var/spack/repos/builtin/packages/szip/package.py
2016-08-11 08:55:20 +02:00
alalazo
b92deda41b spack setup : work as in documentation for openjpeg 2016-07-20 22:27:01 +02:00
alalazo
40cb314638 Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases
Conflicts:
	lib/spack/spack/package.py
2016-07-20 21:02:19 +02:00
alalazo
6c00a13ed5 Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases
Conflicts:
	var/spack/repos/builtin/packages/swiftsim/package.py
2016-07-18 08:49:24 +02:00
alalazo
833b0ac282 Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases
Conflicts:
	lib/spack/spack/__init__.py
	var/spack/repos/builtin/packages/gmp/package.py
	var/spack/repos/builtin/packages/openjpeg/package.py
2016-07-15 11:03:02 +02:00
alalazo
893a5565fe Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases
Conflicts:
	lib/spack/spack/__init__.py
	var/spack/repos/builtin/packages/gmp/package.py
	var/spack/repos/builtin/packages/openjpeg/package.py
2016-07-15 11:02:55 +02:00
alalazo
b8fccb5f61 CMakePackage : added hook for roo CmakeLists.txt, removed duplicated code from build_environment.py 2016-07-14 12:04:24 +02:00
alalazo
1ecea4c2f1 log : refactored acquire and release semantic to meet the context manager protocol 2016-07-14 09:34:01 +02:00
alalazo
00b8e0b567 package.py : joined and simplified try/except blocks in do_install 2016-07-14 09:11:44 +02:00
alalazo
9d66b85492 log : changed semantic for start / join (now it's explicit) 2016-07-13 22:51:12 +02:00
alalazo
90b131260b log : changed semantic for start / join (now it's explicit) 2016-07-13 22:50:39 +02:00
alalazo
7cedd620f1 package.py : added CMakePackage, changed qhull, ibmisc, openjpeg to work as examples 2016-07-13 17:36:06 +02:00
alalazo
ad16830f71 log : added timeout to avoid deadlocks on daemon join 2016-07-13 11:20:23 +02:00
alalazo
468a6431f9 package.py : workaround for a known bug that was not fixed in python 2.6
https://bugs.python.org/issue1515
2016-07-13 11:08:19 +02:00
alalazo
5cc59507f7 package.py : hdf5 and lzo have examples of run_tests 2016-07-13 09:27:09 +02:00
alalazo
97c2224cd6 package.py : extra arguments, fixed inheritance issue
- added attribute to hold extra arguments in PackageBase instances
- fixed registration from within packages
- examples : hdf5, lzo
2016-07-13 09:27:09 +02:00
alalazo
813cb032c4 package.py : updated logic to log.py rework
Conflicts:
	lib/spack/spack/package.py
2016-07-13 09:27:09 +02:00
alalazo
513cdd580e do_install : can stop at an arbitrary phase
Now uses a StopIteration exception as a signal
2016-07-13 09:27:09 +02:00
alalazo
9af964a6d6 log_output : moved from os.fork to multiprocessing.Process 2016-07-13 09:27:09 +02:00
alalazo
440e71ff13 build_environment : moved from os.fork to multiprocessing.Process 2016-07-13 09:27:09 +02:00
alalazo
857d7bfe0f do_install : can stop at an arbitrary phase
The mechanism would be simpler if we could leverage exceptions to raise signals. Unfortunately forking does not permit to do so.
2016-07-13 09:27:09 +02:00
alalazo
a43c63f149 package : added EditableMakefile
Modifications :
- added EditableMakefile to PackageBase subclasses
- astyle modified as an example
- preliminary hook to stop at a certain phase of install
2016-07-13 09:27:09 +02:00
alalazo
8f75d34331 package : added a stub for AutotoolsPackage, examples in szip and swiftsim 2016-07-13 09:27:09 +02:00
alalazo
8ed028e2d6 package : introduced InstallPhase, added decorators for prerequisites and sanity_checks of phases 2016-07-13 09:27:09 +02:00
alalazo
a36f3764af package : added hooks for generic phases 2016-07-13 09:27:09 +02:00
Todd Gamblin
164da8eed1 Version bump to 0.9.1
- Bugfixes for spack find
- 0.9.1 can read specs from current develop.
2016-05-18 08:30:13 -07:00
alalazo
6e1257ed2d fixes #967 2016-05-18 08:28:02 -07:00
4254 changed files with 255083 additions and 77437 deletions

36
.codecov.yml Normal file
View File

@@ -0,0 +1,36 @@
coverage:
precision: 2
round: nearest
range: 60...90
status:
project:
default: true
llnl:
threshold: 0.5
paths:
- lib/spack/llnl
commands:
threshold: 0.5
paths:
- lib/spack/spack/cmd
build_systems:
threshold: 0.5
paths:
- lib/spack/spack/build_systems
modules:
threshold: 0.5
paths:
- lib/spack/spack/modules
core:
threshold: 0.5
paths:
- "!lib/spack/llnl"
- "!lib/spack/spack/cmd"
ignore:
- lib/spack/spack/test/.*
- lib/spack/env/.*
- lib/spack/docs/.*
- lib/spack/external/.*
comment: off

View File

@@ -1,6 +1,8 @@
# -*- conf -*-
# .coveragerc to control coverage.py
[run]
parallel = True
concurrency = multiprocessing
branch = True
source = lib
omit =

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

23
.flake8
View File

@@ -1,23 +1,24 @@
# -*- conf -*-
# flake8 settings for Spack.
# flake8 settings for Spack core files.
#
# Below we describe which flake8 checks Spack ignores and what the
# rationale is.
# These exceptions ar for Spack core files. We're slightly more lenient
# with packages. See .flake8_packages for that.
#
# Let people line things up nicely:
# - E129: visually indented line with same indent as next logical line
# - E221: multiple spaces before operator
# - E241: multiple spaces after ,
# - E241: multiple spaces after ','
# - E272: multiple spaces before keyword
#
# Let people use terse Python features:
# - E731 : lambda expressions
# - E731: lambda expressions
#
# Spack allows wildcard imports:
# - F403: disable wildcard import
# These are required to get the package.py files to test clean:
# - F999: syntax error in doctest
#
# These are required to get the package.py files to test clean.
# - F821: undefined name (needed for cmake, configure, etc.)
# - F999: name name be undefined or undefined from star imports.
# Exempt to allow decorator classes to be lowercase, but follow otherwise:
# - N801: CapWords for class names.
#
[flake8]
ignore = E129,E221,E241,E272,E731,F403,F821,F999,F405
ignore = E129,E221,E241,E272,E731,F999,N801,W503,W504
max-line-length = 79

22
.flake8_packages Normal file
View File

@@ -0,0 +1,22 @@
# -*- conf -*-
# flake8 settings for Spack package files.
#
# This should include all the same exceptions that we use for core files.
#
# In Spack packages, we also allow the single `from spack import *`
# wildcard import and dependencies can set globals for their
# dependents. So we add exceptions for checks related to undefined names.
#
# Note that we also add *per-line* exemptions for certain patters in the
# `spack flake8` command. This is where F403 for `from spack import *`
# is added (beause we *only* allow that wildcard).
#
# See .flake8 for regular exceptions.
#
# Redefinition exceptions:
# - F405: `name` may be undefined, or undefined from star imports: `module`
# - F821: undefined name `name` (needed for cmake, configure, etc.)
#
[flake8]
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!

15
.gitignore vendored
View File

@@ -1,5 +1,7 @@
/db
/var/spack/stage
/var/spack/cache
/var/spack/environments
/var/spack/repos/*/index.yaml
/var/spack/repos/*/lock
*.pyc
@@ -7,11 +9,20 @@
*~
.DS_Store
.idea
/etc/spack/licenses
/etc/spack/*.yaml
# Ignore everything in /etc/spack except /etc/spack/defaults
/etc/spack/*
!/etc/spack/defaults
/etc/spackconfig
/share/spack/dotkit
/share/spack/modules
/share/spack/lmod
/TAGS
*.swp
/htmlcov
.coverage
#*
.#*
lib/spack/spack/test/.cache
/bin/spackc
*.in.log
*.out.log

View File

@@ -1,20 +1,58 @@
Todd Gamblin <tgamblin@llnl.gov> George Todd Gamblin <gamblin2@llnl.gov>
Todd Gamblin <tgamblin@llnl.gov> Todd Gamblin <gamblin2@llnl.gov>
Adam Moody <moody20@llnl.gov> Adam T. Moody <moody20@llnl.gov>
Alfredo Gimenez <gimenez1@llnl.gov> Alfredo Gimenez <alfredo.gimenez@gmail.com>
David Boehme <boehme3@llnl.gov> David Boehme <boehme3@sierra324.llnl.gov>
David Boehme <boehme3@llnl.gov> David Boehme <boehme3@sierra648.llnl.gov>
Kevin Brandstatter <kjbrandstatter@gmail.com> Kevin Brandstatter <kbrandst@hawk.iit.edu>
Luc Jaulmes <luc.jaulmes@bsc.es> Luc Jaulmes <jaulmes1@llnl.gov>
Saravan Pantham <saravan.pantham@gmail.com> Saravan Pantham <pantham1@surface86.llnl.gov>
Tom Scogland <tscogland@llnl.gov> Tom Scogland <scogland1@llnl.gov>
Tom Scogland <tscogland@llnl.gov> Tom Scogland <tom.scogland@gmail.com>
Joachim Protze <protze@rz.rwth-aachen.de> jprotze <protze@rz.rwth-aachen.de>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@surface86.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@cab687.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@cab690.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@catalyst159.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory Lee <lee218@llnl.gov>
Massimiliano Culpo <massimiliano.culpo@epfl.ch> Massimiliano Culpo <massimiliano.culpo@googlemail.com>
Massimiliano Culpo <massimiliano.culpo@epfl.ch> alalazo <massimiliano.culpo@googlemail.com>
Mark Miller <miller86@llnl.gov> miller86 <miller86@llnl.gov>
Abhinav Bhatele <bhatele@llnl.gov> Abhinav Bhatele <bhatele@gmail.com>
Adam Moody <moody20@llnl.gov> Adam T. Moody <moody20@llnl.gov>
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>
Brett Viren <bv@bnl.gov> Brett Viren <brett.viren@gmail.com>
David Boehme <boehme3@llnl.gov> David Boehme <boehme3@sierra324.llnl.gov>
David Boehme <boehme3@llnl.gov> David Boehme <boehme3@sierra648.llnl.gov>
David Poliakoff <poliakoff1@llnl.gov> David Poliakoff <david.poliakoff@gmail.com>
Dhanannjay Deo <dhanannjay.deo@kitware.com> Dhanannjay 'Djay' Deo <dhanannjay.deo@kitware.com>
Elizabeth Fischer <elizabeth.fischer@columbia.edu> Elizabeth F <elizabeth.fischer@columbia.edu>
Elizabeth Fischer <elizabeth.fischer@columbia.edu> Elizabeth F <rpf2116@columbia.edu>
Elizabeth Fischer <elizabeth.fischer@columbia.edu> Elizabeth Fischer <rpf2116@columbia.edu>
Elizabeth Fischer <elizabeth.fischer@columbia.edu> citibeth <rpf2116@columbia.edu>
Geoffrey Oxberry <oxberry1@llnl.gov> Geoffrey Oxberry <goxberry@gmail.com>
Glenn Johnson <glenn-johnson@uiowa.edu> Glenn Johnson <gjohnson@argon-ohpc.hpc.uiowa.edu>
Glenn Johnson <glenn-johnson@uiowa.edu> Glenn Johnson <glennpj@gmail.com>
Gregory Becker <becker33@llnl.gov> Gregory Becker <becker33.llnl.gov>
Gregory Becker <becker33@llnl.gov> becker33 <becker33.llnl.gov>
Gregory Becker <becker33@llnl.gov> becker33 <becker33@llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Greg Lee <lee218@llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@cab687.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@cab690.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@catalyst159.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory L. Lee <lee218@surface86.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory Lee <lee218@llnl.gov>
Ian Lee <lee1001@llnl.gov> Ian Lee <IanLee1521@gmail.com>
James Wynne III <wynnejr@ornl.gov> James Riley Wynne III <wynnejr@ornl.gov>
James Wynne III <wynnejr@ornl.gov> James Wynne III <wynnejr@gpujake.com>
Joachim Protze <protze@rz.rwth-aachen.de> jprotze <protze@rz.rwth-aachen.de>
Kelly (KT) Thompson <kgt@lanl.gov> <kellyt@MENE.localdomain>
Kelly (KT) Thompson <kgt@lanl.gov> Kelly Thompson <KineticTheory@users.noreply.github.com>
Kevin Brandstatter <kjbrandstatter@gmail.com> Kevin Brandstatter <kbrandst@hawk.iit.edu>
Luc Jaulmes <luc.jaulmes@bsc.es> Luc Jaulmes <jaulmes1@llnl.gov>
Mario Melara <maamelara@gmail.com> Mario Melara <mamelara@genepool1.nersc.gov>
Mark Miller <miller86@llnl.gov> miller86 <miller86@llnl.gov>
Massimiliano Culpo <massimiliano.culpo@epfl.ch> Massimiliano Culpo <massimiliano.culpo@googlemail.com>
Massimiliano Culpo <massimiliano.culpo@epfl.ch> alalazo <massimiliano.culpo@googlemail.com>
Mayeul d'Avezac <m.davezac@ucl.ac.uk> Mayeul d'Avezac <mdavezac@gmail.com>
Mitchell Devlin <mitchell.r.devlin@gmail.com> Mitchell Devlin <devlin@blogin4.lcrc.anl.gov>
Nicolas Richart <nicolas.richart@epfl.ch> Nicolas <nrichart@users.noreply.github.com>
Nicolas Richart <nicolas.richart@epfl.ch> Nicolas Richart <nrichart@users.noreply.github.com>
Peter Scheibel <scheibel1@llnl.gov> scheibelp <scheibel1@llnl.gov>
Robert D. French <frenchrd@ornl.gov> Robert D. French <robert@robertdfrench.me>
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>
Tom Scogland <tscogland@llnl.gov> Tom Scogland <scogland1@llnl.gov>
Tom Scogland <tscogland@llnl.gov> Tom Scogland <tom.scogland@gmail.com>
Tzanio Kolev <tzanio@llnl.gov> Tzanio <tzanio@llnl.gov>

View File

@@ -1,27 +1,200 @@
language: python
#=============================================================================
# Project settings
#=============================================================================
# Only build master and develop on push; do not build every branch.
branches:
only:
- master
- develop
- /^releases\/.*$/
python:
- "2.6"
- "2.7"
env:
- TEST_TYPE=unit
- TEST_TYPE=flake8
#=============================================================================
# Build matrix
#=============================================================================
# Exclude flake8 from python 2.6
matrix:
exclude:
- python: "2.6"
env: TEST_TYPE=flake8
# 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: 'style checks'
python: '2.7'
sudo: required
os: linux
language: python
env: TEST_SUITE=flake8
- stage: 'flake8 + documentation'
python: '2.7'
os: linux
language: python
env: TEST_SUITE=doc
- stage: 'unit tests'
python: '2.6'
sudo: required
os: linux
language: python
env: TEST_SUITE=unit
- python: '2.7'
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
- 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 ]
# mpich (AutotoolsPackage)
- stage: 'build tests'
python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=mpich' ]
# astyle (MakefilePackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=astyle' ]
# tut (WafPackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=tut' ]
# py-setuptools (PythonPackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=py-setuptools' ]
# perl-dbi (PerlPackage)
# - python: '2.7'
# os: linux
# language: python
# env: [ TEST_SUITE=build, 'SPEC=perl-dbi' ]
# openjpeg (CMakePackage + external cmake)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=openjpeg' ]
# r-rcpp (RPackage + external R)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, 'SPEC=r-rcpp' ]
# mpich (AutotoolsPackage)
- python: '3.6'
os: linux
language: python
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'
- 'unit tests'
- 'build tests'
- name: 'unit tests - osx'
if: type IN (cron)
#=============================================================================
# Environment
#=============================================================================
# Use new Travis infrastructure (Docker can't sudo yet)
sudo: false
# Install coveralls to obtain code coverage
install:
- "pip install coveralls"
- "pip install flake8"
# Docs need graphviz to build
addons:
apt:
packages:
- gfortran
- mercurial
- graphviz
- gnupg2
- cmake
- ninja-build
- r-base
- r-base-core
- r-base-dev
- perl
- perl-base
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;
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:
- pip install --upgrade pip
- pip install --upgrade six
- pip install --upgrade setuptools
- pip install --upgrade codecov
- pip install --upgrade flake8
- pip install --upgrade pep8-naming
- if [[ "$TEST_SUITE" == "doc" ]]; then
pip install --upgrade -r lib/spack/docs/requirements.txt;
fi
before_script:
# Need this for the git tests to succeed.
- git config --global user.email "spack@example.com"
- git config --global user.name "Test User"
@@ -29,18 +202,47 @@ before_install:
# Need this to be able to compute the list of changed files
- git fetch origin develop:develop
# 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:
# Run unit tests with code coverage plus install libdwarf
- 'if [ "$TEST_TYPE" = "unit" ]; then share/spack/qa/run-unit-tests; fi'
# Run flake8 code style checks.
- 'if [ "$TEST_TYPE" = "flake8" ]; then share/spack/qa/run-flake8; fi'
after_success:
- 'if [ "$TEST_TYPE" = "unit" ] && [ "$TRAVIS_PYTHON_VERSION" = "2.7" ]; then coveralls; fi'
- share/spack/qa/run-$TEST_SUITE-tests
- 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
#=============================================================================
notifications:
email:
recipients:
- tgamblin@llnl.gov
recipients: tgamblin@llnl.gov
on_success: change
on_failure: always

46
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at maintainers@spack.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

8
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,8 @@
# Contributing to Spack
All contributions to Spack must be made under both the Apache License,
Version 2.0 (Apache-2.0) and the MIT license (MIT).
Before contributing to Spack, you should read the
[Contribution Guide](https://spack.readthedocs.io/en/latest/contribution_guide.html),
which is maintained as part of Spack's documentation.

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

393
LICENSE
View File

@@ -1,393 +0,0 @@
########################################################################
GNU LESSER GENERAL PUBLIC LICENSE (Lesser GPL)
Version 2.1, February 1999
########################################################################
Copyright (c) 2013-2016, 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/llnl/spack
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
########################################################################
LLNL NOTICE AND TERMS AND CONDITIONS OF THE GNU LGPL
LLNL Preamble Notice
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.
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.
The precise terms and conditions for copying, distribution and
modification follows.
########################################################################
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 liked 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 propriety 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.
1 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.
2 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.
3 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.
4 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.
1 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.
2 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
1 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.
2 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 CONSQUENTIAL 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.

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.

21
NOTICE Normal file
View File

@@ -0,0 +1,21 @@
This work was produced under the auspices of the U.S. Department of
Energy by Lawrence Livermore National Laboratory under Contract
DE-AC52-07NA27344.
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.
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.
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.

116
README.md
View File

@@ -1,46 +1,49 @@
![image](share/spack/logo/spack-logo-text-64.png "Spack")
============
# <img src="https://cdn.rawgit.com/spack/spack/develop/share/spack/logo/spack-logo.svg" width="64" valign="middle" alt="Spack"/> Spack
[![Build Status](https://travis-ci.org/LLNL/spack.svg?branch=develop)](https://travis-ci.org/LLNL/spack)
[![Coverage Status](https://coveralls.io/repos/github/LLNL/spack/badge.svg?branch=develop)](https://coveralls.io/github/LLNL/spack?branch=develop)
[![Build Status](https://travis-ci.org/spack/spack.svg?branch=develop)](https://travis-ci.org/spack/spack)
[![codecov](https://codecov.io/gh/spack/spack/branch/develop/graph/badge.svg)](https://codecov.io/gh/spack/spack)
[![Read the Docs](https://readthedocs.org/projects/spack/badge/?version=latest)](https://spack.readthedocs.io)
[![Slack](https://spackpm.herokuapp.com/badge.svg)](https://spackpm.herokuapp.com)
Spack is a package management tool designed to support multiple
versions and configurations of software on a wide variety of platforms
and environments. It was designed for large supercomputing centers,
where many users and application teams share common installations of
software on clusters with exotic architectures, using libraries that
do not have a standard ABI. Spack is non-destructive: installing a new
version does not break existing installations, so many configurations
can coexist on the same system.
Spack is a multi-platform package manager that builds and installs
multiple versions and configurations of software. It works on Linux,
macOS, and many supercomputers. Spack is non-destructive: installing a
new version of a package does not break existing installations, so many
configurations of the same package can coexist.
Most importantly, Spack is simple. It offers a simple spec syntax so
that users can specify versions and configuration options
concisely. Spack is also simple for package authors: package files are
written in pure Python, and specs allow package authors to write a
single build script for many different builds of the same package.
Spack offers a simple "spec" syntax that allows users to specify versions
and configuration options. Package files are written in pure Python, and
specs allow package authors to write a single script for many different
builds of the same package. With Spack, you can build your software
*all* the ways you want to.
See the
[Feature Overview](http://software.llnl.gov/spack/features.html)
[Feature Overview](http://spack.readthedocs.io/en/latest/features.html)
for examples and highlights.
To install spack and install your first package:
To install spack and your first package, make sure you have Python.
Then:
$ git clone https://github.com/llnl/spack.git
$ git clone https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install libelf
Documentation
----------------
[**Full documentation**](http://software.llnl.gov/spack) for Spack is
[**Full documentation**](http://spack.readthedocs.io/) for Spack is
the first place to look.
Try the
[**Spack Tutorial**](http://spack.readthedocs.io/en/latest/tutorial.html),
to learn how to use spack, write packages, or deploy packages for users
at your site.
See also:
* [Technical paper](http://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf) and
[slides](https://tgamblin.github.io/files/Gamblin-Spack-SC15-Talk.pdf) on Spack's design and implementation.
* [Short presentation](https://tgamblin.github.io/files/Gamblin-Spack-Lightning-Talk-BOF-SC15.pdf) from the *Getting Scientific Software Installed* BOF session at Supercomputing 2015.
Get Involved!
------------------------
@@ -50,43 +53,50 @@ packages to bugfixes, or even new core features.
### Mailing list
If you are interested in contributing to spack, the first step is to
join the mailing list. We're using a Google Group for this, and you
can join it here:
If you are interested in contributing to spack, join the mailing list.
We're using Google Groups for this:
* [Spack Google Group](https://groups.google.com/d/forum/spack)
### Slack channel
Spack has a Slack channel where you can chat about all things Spack:
* [Spack on Slack](https://spackpm.slack.com)
[Sign up here](https://spackpm.herokuapp.com) to get an invitation mailed
to you.
### 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
[pull request](https://help.github.com/articles/using-pull-requests/).
When you send your request, make ``develop`` the destination branch on the
[Spack repository](https://github.com/LLNL/spack).
[Spack repository](https://github.com/spack/spack).
Before you send a PR, your code should pass the following checks:
Your PR must pass Spack's unit tests and documentation tests, and must be
[PEP 8](https://www.python.org/dev/peps/pep-0008/) compliant. We enforce
these guidelines with [Travis CI](https://travis-ci.org/spack/spack). To
run these tests locally, and for helpful tips on git, see our
[Contribution Guide](http://spack.readthedocs.io/en/latest/contribution_guide.html).
* Your contribution will need to pass the `spack test` command.
Run this before submitting your PR.
* Also run the `share/spack/qa/run-flake8` script to check for PEP8 compliance.
To encourage contributions and readability by a broad audience,
Spack uses the [PEP8](https://www.python.org/dev/peps/pep-0008/) coding
standard with [a few exceptions](https://github.com/LLNL/spack/blob/develop/.flake8).
We enforce these guidelines with [Travis CI](https://travis-ci.org/LLNL/spack).
Spack uses a rough approximation of the [Git
Flow](http://nvie.com/posts/a-successful-git-branching-model/)
Spack uses a rough approximation of the
[Git Flow](http://nvie.com/posts/a-successful-git-branching-model/)
branching model. The ``develop`` branch contains the latest
contributions, and ``master`` is always tagged and points to the
latest stable release.
contributions, and ``master`` is always tagged and points to the latest
stable release.
Authors
----------------
Many thanks go to Spack's [contributors](https://github.com/llnl/spack/graphs/contributors).
Many thanks go to Spack's [contributors](https://github.com/spack/spack/graphs/contributors).
Spack was originally written by Todd Gamblin, tgamblin@llnl.gov.
Spack was created by Todd Gamblin, tgamblin@llnl.gov.
### Citing Spack
@@ -97,9 +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
LICENSE file.
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``

View File

@@ -1,28 +1,10 @@
#!/bin/bash
##############################################################################
# Copyright (c) 2013-2016, 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/llnl/spack
# Please also see the LICENSE file 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.
#
@@ -104,15 +86,28 @@ lines=0
while read line && ((lines < 2)) ; do
if [[ "$line" = '#!'* ]]; then
interpreter="${line#\#!}"
elif [[ "$line" = '//!'*node* ]]; then
interpreter="${line#//!}"
elif [[ "$line" = '--!'*lua* ]]; then
interpreter="${line#--!}"
fi
lines=$((lines+1))
done < "$script"
# this is ineeded for scripts with sbang parameter
# like ones in intltool
# #!/<spack-long-path>/perl -w
# this is the interpreter line with all the parameters as a vector
interpreter_v=(${interpreter})
# this is the single interpreter path
interpreter_f="${interpreter_v[0]}"
# Invoke any interpreter found, or raise an error if none was found.
if [ -n "$interpreter" ]; then
exec $interpreter "$@"
if [[ -n "$interpreter_f" ]]; then
if [[ "${interpreter_f##*/}" = "perl" ]]; then
exec $interpreter_v -x "$@"
else
exec $interpreter_v "$@"
fi
else
echo "error: sbang found no interpreter in $script"
exit 1

202
bin/spack
View File

@@ -1,184 +1,48 @@
#!/usr/bin/env python
# flake8: noqa
##############################################################################
# Copyright (c) 2013-2016, 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/llnl/spack
# Please also see the LICENSE file 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
##############################################################################
import sys
if not sys.version_info[:2] >= (2, 6):
v_info = sys.version_info[:3]
sys.exit("Spack requires Python 2.6 or higher. "
"This is Python %d.%d.%d." % v_info)
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
from __future__ import print_function
import os
import sys
if sys.version_info[:2] < (2, 6):
v_info = sys.version_info[:3]
sys.exit("Spack requires Python 2.6 or higher."
"This is Python %d.%d.%d." % v_info)
# Find spack's location and its prefix.
SPACK_FILE = os.path.realpath(os.path.expanduser(__file__))
os.environ["SPACK_FILE"] = SPACK_FILE
SPACK_PREFIX = os.path.dirname(os.path.dirname(SPACK_FILE))
spack_file = os.path.realpath(os.path.expanduser(__file__))
spack_prefix = os.path.dirname(os.path.dirname(spack_file))
# Allow spack libs to be imported in our scripts
SPACK_LIB_PATH = os.path.join(SPACK_PREFIX, "lib", "spack")
sys.path.insert(0, SPACK_LIB_PATH)
SPACK_EXTERNAL_LIBS = os.path.join(SPACK_LIB_PATH, "external")
sys.path.insert(0, SPACK_EXTERNAL_LIBS)
spack_lib_path = os.path.join(spack_prefix, "lib", "spack")
sys.path.insert(0, spack_lib_path)
import warnings
# Avoid warnings when nose is installed with the python exe being used to run
# spack. Note this must be done after Spack's external libs directory is added
# to sys.path.
with warnings.catch_warnings():
warnings.filterwarnings("ignore", ".*nose was already imported")
import nose
# Add external libs
spack_external_libs = os.path.join(spack_lib_path, "external")
# 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, n)
for n in ('functools.pyc', 'ordereddict.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 sys.version_info[:2] == (2, 6):
sys.path.insert(0, os.path.join(spack_external_libs, 'py26'))
# If there is no working directory, use the spack prefix.
try:
working_dir = os.getcwd()
except OSError:
os.chdir(SPACK_PREFIX)
working_dir = SPACK_PREFIX
sys.path.insert(0, spack_external_libs)
# clean up the scope and start using spack package instead.
del SPACK_FILE, SPACK_PREFIX, SPACK_LIB_PATH
import llnl.util.tty as tty
from llnl.util.tty.color import *
import spack
from spack.error import SpackError
import argparse
# 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']
# Command parsing
parser = argparse.ArgumentParser(
formatter_class=argparse.RawTextHelpFormatter,
description="Spack: the Supercomputing PACKage Manager." + colorize("""
if 'ruamel' in sys.modules:
del sys.modules['ruamel']
spec expressions:
PACKAGE [CONSTRAINTS]
CONSTRAINTS:
@c{@version}
@g{%compiler @compiler_version}
@B{+variant}
@r{-variant} or @r{~variant}
@m{=architecture}
[^DEPENDENCY [CONSTRAINTS] ...]"""))
parser.add_argument('-d', '--debug', action='store_true',
help="Write out debug logs during compile")
parser.add_argument('-D', '--pdb', action='store_true',
help="Run spack under the pdb debugger")
parser.add_argument('-k', '--insecure', action='store_true',
help="Do not check ssl certificates when downloading.")
parser.add_argument('-m', '--mock', action='store_true',
help="Use mock packages instead of real ones.")
parser.add_argument('-p', '--profile', action='store_true',
help="Profile execution using cProfile.")
parser.add_argument('-v', '--verbose', action='store_true',
help="Print additional output during builds")
parser.add_argument('-V', '--version', action='version',
version="%s" % spack.spack_version)
# each command module implements a parser() function, to which we pass its
# subparser for setup.
subparsers = parser.add_subparsers(metavar='SUBCOMMAND', dest="command")
import spack.cmd
for cmd in spack.cmd.commands:
module = spack.cmd.get_module(cmd)
subparser = subparsers.add_parser(cmd, help=module.description)
module.setup_parser(subparser)
# Just print help and exit if run with no arguments at all
if len(sys.argv) == 1:
parser.print_help()
sys.exit(1)
# actually parse the args.
args = parser.parse_args()
def main():
# Set up environment based on args.
tty.set_verbose(args.verbose)
tty.set_debug(args.debug)
spack.debug = args.debug
if spack.debug:
import spack.util.debug as debug
debug.register_interrupt_handler()
from spack.yaml_version_check import check_yaml_versions
check_yaml_versions()
spack.spack_working_dir = working_dir
if args.mock:
from spack.repository import RepoPath
spack.repo.swap(RepoPath(spack.mock_packages_path))
# If the user asked for it, don't check ssl certs.
if args.insecure:
tty.warn("You asked for --insecure. Will NOT check SSL certificates.")
spack.curl.add_default_arg('-k')
# Try to load the particular command asked for and run it
command = spack.cmd.get_command(args.command)
try:
return_val = command(parser, args)
except SpackError as e:
e.die()
except KeyboardInterrupt:
sys.stderr.write('\n')
tty.die("Keyboard interrupt.")
# Allow commands to return values if they want to exit with some other code.
if return_val is None:
sys.exit(0)
elif isinstance(return_val, int):
sys.exit(return_val)
else:
tty.die("Bad return value from command %s: %s"
% (args.command, return_val))
if args.profile:
import cProfile
cProfile.run('main()', sort='time')
elif args.pdb:
import pdb
pdb.run('main()')
else:
main()
# Once we've set up the system path, run the spack main method
import spack.main # noqa
sys.exit(spack.main.main())

View File

@@ -1,28 +1,10 @@
#!/bin/sh
##############################################################################
# Copyright (c) 2013-2016, 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/llnl/spack
# Please also see the LICENSE file 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

@@ -0,0 +1,119 @@
# -------------------------------------------------------------------------
# This is the default spack configuration file.
#
# 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/config.yaml
#
# Per-user settings (overrides default and site settings):
# ~/.spack/config.yaml
# -------------------------------------------------------------------------
config:
# This is the path to the root of the Spack install tree.
# You can use $spack here to refer to the root of the spack instance.
install_tree: $spack/opt/spack
# Locations where templates should be found
template_dirs:
- $spack/share/spack/templates
# Default directory layout
install_path_scheme: "${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}"
# Locations where different types of modules should be installed.
module_roots:
tcl: $spack/share/spack/modules
lmod: $spack/share/spack/lmod
dotkit: $spack/share/spack/dotkit
# Temporary locations Spack can try to use for builds.
#
# Spack will use the first one it finds that exists and is writable.
# You can use $tempdir to refer to the system default temp directory
# (as returned by tempfile.gettempdir()).
#
# A value of $spack/var/spack/stage indicates that Spack should run
# builds directly inside its install directory without staging them in
# temporary space.
#
# The build stage can be purged with `spack clean --stage`.
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $spack/var/spack/stage
# 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 clean --misc-cache`
misc_cache: ~/.spack/cache
# If this is false, tools like curl that use SSL will not verify
# certifiates. (e.g., curl will use use the -k option)
verify_ssl: true
# If set to true, Spack will always check checksums after downloading
# archives. If false, Spack skips the checksum step.
checksum: true
# If set to true, `spack install` and friends will NOT clean
# potentially harmful variables from the build environment. Use wisely.
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

@@ -0,0 +1,27 @@
# -------------------------------------------------------------------------
# This file controls default concretization preferences for Spack.
#
# 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/packages.yaml
#
# Per-user settings (overrides default and site settings):
# ~/.spack/packages.yaml
# -------------------------------------------------------------------------
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

@@ -24,12 +24,12 @@ modules:
- MANPATH
share/man:
- MANPATH
share/aclocal:
- ACLOCAL_PATH
lib:
- LIBRARY_PATH
- LD_LIBRARY_PATH
lib64:
- LIBRARY_PATH
- LD_LIBRARY_PATH
include:
- CPATH
lib/pkgconfig:
@@ -38,3 +38,7 @@ modules:
- PKG_CONFIG_PATH
'':
- CMAKE_PREFIX_PATH
lmod:
hierarchy:
- mpi

View File

@@ -15,7 +15,32 @@
# -------------------------------------------------------------------------
packages:
all:
compiler: [gcc, intel, pgi, clang, xl, nag]
providers:
mpi: [openmpi, mpich]
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]
mpi: [openmpi, mpich]
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]
unwind: [libunwind]
permissions:
read: world
write: user

View File

@@ -1,4 +1,5 @@
package_list.rst
package_list.html
command_index.rst
spack*.rst
llnl*.rst
_build

View File

@@ -2,13 +2,13 @@
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXOPTS = -E
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
export PYTHONPATH = ../../spack
APIDOC_FILES = spack*.rst
export PYTHONPATH := ../../spack:$(PYTHONPATH)
APIDOC_FILES = spack*.rst llnl*.rst
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
@@ -17,28 +17,10 @@ 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
#
# This autogenerates a package list.
#
package_list:
spack package-list > package_list.rst
#
# Generate a command index
#
command_index:
cp command_index.in command_index.rst
echo >> command_index.rst
grep -ho '.. _spack-.*:' *rst \
| perl -pe 's/.. _([^:]*):/ * :ref:`\1`/' \
| sort >> command_index.rst
custom_targets: package_list command_index
#
# This creates a git repository and commits generated html docs.
# It them pushes the new branch into THIS repository as gh-pages.
@@ -58,13 +40,25 @@ gh-pages: _build/html
git push -f $$root master:gh-pages && \
rm -rf .git
# This version makes gh-pages into a single page that redirects
# to spack.readthedocs.io
gh-pages-redirect:
root="$$(git rev-parse --show-toplevel)" && \
cd _gh_pages_redirect && \
rm -rf .git && \
git init && \
git add . && \
git commit -m "Spack Documentation" && \
git push -f $$root master:gh-pages && \
rm -rf .git
upload:
rsync -avz --rsh=ssh --delete _build/html/ cab:/usr/global/web-pages/lc/www/adept/docs/spack
git push -f origin gh-pages
git push -f github gh-pages
apidoc:
sphinx-apidoc -T -o . $(PYTHONPATH)/spack
sphinx-apidoc -f -T -o . ../spack
sphinx-apidoc -f -T -o . ../llnl
help:
@echo "Please use \`make <target>' where <target> is one of"
@@ -89,10 +83,10 @@ 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: apidoc custom_targets
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."
@@ -202,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

@@ -0,0 +1,10 @@
<html>
<head>
<meta http-equiv="refresh" content="0; url=http://spack.readthedocs.io/" />
</head>
<body>
<p>
This page has moved to <a href="http://spack.readthedocs.io/">http://spack.readthedocs.io/</a>
</p>
</body>
</html>

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 contributors. 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 %}

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,137 @@
.. 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
============
Some sites may encourage users to set up their own test environments
before carrying out central installations, or some users may prefer to set
up these environments on their own motivation. To reduce the load of
recompiling otherwise identical package specs in different installations,
installed packages can be put into build cache tarballs, uploaded to
your Spack mirror and then downloaded and installed by others.
--------------------------
Creating build cache files
--------------------------
A compressed tarball of an installed package is created. Tarballs are created
for all of its link and run dependency packages as well. Compressed tarballs are
signed with gpg and signature and tarball and put in a ``.spack`` file. Optionally,
the rpaths (and ids and deps on macOS) can be changed to paths relative to
the Spack install tree before the tarball is created.
Build caches are created via:
.. code-block:: console
$ spack buildcache create spec
---------------------------------------
Finding or installing build cache files
---------------------------------------
To find build caches or install build caches, a Spack mirror must be configured
with:
.. code-block:: console
$ spack mirror add <name> <url>
Build caches are found via:
.. code-block:: console
$ spack buildcache list
Build caches are installed via:
.. code-block:: console
$ spack buildcache install
----------
Relocation
----------
Initial build and later installation do not necessarily happen at the same
location. Spack provides a relocation capability and corrects for RPATHs and
non-relocatable scripts. However, many packages compile paths into binary
artifacts directly. In such cases, the build instructions of this package would
need to be adjusted for better re-locatability.
.. _cmd-spack-buildcache:
--------------------
``spack buildcache``
--------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^
``spack buildcache create``
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Create tarball of installed Spack package and all dependencies.
Tarballs are checksummed and signed if gpg2 is available.
Places them in a directory ``build_cache`` that can be copied to a mirror.
Commands like ``spack buildcache install`` will search Spack mirrors for build_cache to get the list of build caches.
============== ========================================================================================================================
Arguments Description
============== ========================================================================================================================
``<specs>`` list of partial specs or hashes with a leading ``/`` to match from installed packages and used for creating build caches
``-d <path>`` directory in which ``build_cache`` directory is created, defaults to ``.``
``-f`` overwrite ``.spack`` file in ``build_cache`` directory if it exists
``-k <key>`` the key to sign package with. In the case where multiple keys exist, the package will be unsigned unless ``-k`` is used.
``-r`` make paths in binaries relative before creating tarball
``-y`` answer yes to all create unsigned ``build_cache`` questions
============== ========================================================================================================================
^^^^^^^^^^^^^^^^^^^^^^^^^
``spack buildcache list``
^^^^^^^^^^^^^^^^^^^^^^^^^
Retrieves all specs for build caches available on a Spack mirror.
============== =====================================================================================
Arguments Description
============== =====================================================================================
``<specs>`` list of partial package specs to be matched against specs downloaded for build caches
============== =====================================================================================
E.g. ``spack buildcache list gcc`` with print only commands to install ``gcc`` package(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
``spack buildcache install``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Retrieves all specs for build caches available on a Spack mirror and installs build caches
with specs matching the specs input.
============== ==============================================================================================
Arguments Description
============== ==============================================================================================
``<specs>`` list of partial package specs or hashes with a leading ``/`` to be installed from build caches
``-f`` remove install directory if it exists before unpacking tarball
``-y`` answer yes to all to don't verify package with gpg questions
============== ==============================================================================================
^^^^^^^^^^^^^^^^^^^^^^^^^
``spack buildcache keys``
^^^^^^^^^^^^^^^^^^^^^^^^^
List public keys available on Spack mirror.
========= ==============================================
Arguments Description
========= ==============================================
``-i`` trust the keys downloaded with prompt for each
``-y`` answer yes to all trust all keys downloaded
========= ==============================================

View File

@@ -0,0 +1,224 @@
.. 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
===================
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., MPI or BLAS/LAPACK),
or you can make it prefer to build with particular compilers. You can
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:
.. code-block:: yaml
packages:
package1:
# settings for package1
package2:
# settings for package2
# ...
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.
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`.
.. _sec-external-packages:
-----------------
External Packages
-----------------
Spack can be configured to use externally-installed
packages rather than building its own packages. This may be desirable
if machines ship with system packages, such as a customized MPI
that should be used instead of Spack building its own MPI.
External packages are configured through the ``packages.yaml`` file found
in a Spack installation's ``etc/spack/`` or a user's ``~/.spack/``
directory. Here's an example of an external configuration:
.. code-block:: yaml
packages:
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-x86_64-debian7: /opt/openmpi-1.6.5-intel
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 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``
token under the package name, which lists externals in a
``spec: /path`` or ``spec: module-name`` format. Each spec should be as
well-defined as reasonably possible. If a
package lacks a spec component, such as missing a compiler or
package version, then Spack will guess the missing component based
on its most-favored packages, and it may guess incorrectly.
Each package version and compiler listed in an external should
have entries in Spack's packages and compiler configuration, even
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, 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
be:
.. code-block:: yaml
packages:
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-x86_64-debian7: /opt/openmpi-1.6.5-intel
buildable: False
The addition of the ``buildable`` flag tells Spack that it should never build
its own version of OpenMPI, and it will instead always rely on a pre-built
OpenMPI. Similar to ``paths``, ``buildable`` is specified as a property under
a package name.
If an external module is specified as not buildable, then Spack will load the
external module into the build environment which can be used for linking.
The ``buildable`` does not need to be paired with external packages.
It could also be used alone to forbid packages that may be
buggy or otherwise undesirable.
.. _concretization-preferences:
--------------------------
Concretization Preferences
--------------------------
Spack can be configured to prefer certain compilers, package
versions, dependencies, and variants during concretization.
The preferred configuration can be controlled via 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:
.. code-block:: yaml
packages:
opencv:
compiler: [gcc@4.9]
variants: +debug
gperftools:
version: [2.2, 2.4, 2.3]
all:
compiler: [gcc@4.4.7, gcc@4.6:, intel, clang, pgi]
providers:
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
be built with debug options. The gperftools package should prefer version
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
package names are specified on the next level. The special string ``all``
applies settings to each package. Underneath each package name is
one or more components: ``compiler``, ``variants``, ``version``,
or ``providers``. Each component has an ordered list of spec
``constraints``, with earlier entries in the list being preferred over
later entries.
Sometimes a package installation may have constraints that forbid
the first concretization rule, in which case Spack will use the first
legal concretization rule. Going back to the example, if a user
requests gperftools 2.3 or later, then Spack will install version 2.4
as the 2.4 version of gperftools is preferred over 2.3.
An explicit concretization rule in the preferred section will always
take preference over unlisted concretizations. In the above example,
xlc isn't listed in the compiler list. Every listed compiler from
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
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,167 +0,0 @@
Using Spack for CMake-based Development
==========================================
These are instructions on how to use Spack to aid in the development
of a CMake-based project. Spack is used to help find the dependencies
for the project, configure it at development time, and then package it
it in a way that others can install. Using Spack for CMake-based
development consists of three parts:
1. Setting up the CMake build in your software
2. Writing the Spack Package
3. Using it from Spack.
Setting Up the CMake Build
---------------------------------------
You should follow standard CMake conventions in setting up your
software, your CMake build should NOT depend on or require Spack to
build. See here for an example:
https://github.com/citibeth/icebin
Note that there's one exception here to the rule I mentioned above.
In ``CMakeLists.txt``, I have the following line::
include_directories($ENV{CMAKE_TRANSITIVE_INCLUDE_PATH})
This is a hook into Spack, and it ensures that all transitive
dependencies are included in the include path. It's not needed if
everything is in one tree, but it is (sometimes) in the Spack world;
when running without Spack, it has no effect.
Note that this "feature" is controversial, could break with future
versions of GNU ld, and probably not the best to use. The best
practice is that you make sure that anything you #include is listed as
a dependency in your CMakeLists.txt.
To be more specific: if you #inlcude something from package A and an
installed HEADER FILE in A #includes something from package B, then
you should also list B as a dependency in your CMake build. If you
depend on A but header files exported by A do NOT #include things from
B, then you do NOT need to list B as a dependency --- even if linking
to A links in libB.so as well.
I also recommend that you set up your CMake build to use RPATHs
correctly. Not only is this a good idea and nice, but it also ensures
that your package will build the same with or without ``spack
install``.
Writing the Spack Package
---------------------------------------
Now that you have a CMake build, you want to tell Spack how to
configure it. This is done by writing a Spack package for your
software. See here for example:
https://github.com/citibeth/spack/blob/efischer/develop/var/spack/repos/builtin/packages/icebin/package.py
You need to subclass ``CMakePackage``, as is done in this example.
This enables advanced features of Spack for helping you in configuring
your software (keep reading...). Instead of an ``install()`` method
used when subclassing ``Package``, you write ``configure_args()``.
See here for more info on how this works:
https://github.com/LLNL/spack/pull/543/files
NOTE: if your software is not publicly available, you do not need to
set the URL or version. Or you can set up bogus URLs and
versions... whatever causes Spack to not crash.
Using it from Spack
--------------------------------
Now that you have a Spack package, you can get Spack to setup your
CMake project for you. Use the following to setup, configure and
build your project::
cd myproject
spack spconfig myproject@local
mkdir build; cd build
../spconfig.py ..
make
make install
Everything here should look pretty familiar here from a CMake
perspective, except that ``spack spconfig`` creates the file
``spconfig.py``, which calls CMake with arguments appropriate for your
Spack configuration. Think of it as the equivalent to running a bunch
of ``spack location -i`` commands. You will run ``spconfig.py``
instead of running CMake directly.
If your project is publicly available (eg on GitHub), then you can
ALSO use this setup to "just install" a release version without going
through the manual configuration/build step. Just do:
1. Put tag(s) on the version(s) in your GitHub repo you want to be release versions.
2. Set the ``url`` in your ``package.py`` to download a tarball for
the appropriate version. (GitHub will give you a tarball for any
version in the repo, if you tickle it the right way). For example::
https://github.com/citibeth/icebin/tarball/v0.1.0
Set up versions as appropriate in your ``package.py``. (Manually
download the tarball and run ``md5sum`` to determine the
appropriate checksum for it).
3. Now you should be able to say ``spack install myproject@version``
and things "just work."
NOTE... in order to use the features outlined in this post, you
currently need to use the following branch of Spack:
https://github.com/citibeth/spack/tree/efischer/develop
There is a pull request open on this branch (
https://github.com/LLNL/spack/pull/543 ) and we are working to get it
integrated into the main ``develop`` branch.
Activating your Software
-------------------------------------
Once you've built your software, you will want to load it up. You can
use ``spack load mypackage@local`` for that in your ``.bashrc``, but
that is slow. Try stuff like the following instead:
The following command will load the Spack-installed packages needed
for basic Python use of IceBin::
module load `spack module find tcl icebin netcdf cmake@3.5.1`
module load `spack module find --dependencies tcl py-basemap py-giss`
You can speed up shell startup by turning these into ``module load`` commands.
1. Cut-n-paste the script ``make_spackenv``::
#!/bin/sh
#
# Generate commands to load the Spack environment
SPACKENV=$HOME/spackenv.sh
spack module find --shell tcl git icebin@local ibmisc netcdf cmake@3.5.1 >$SPACKENV
spack module find --dependencies --shell tcl py-basemap py-giss >>$SPACKENV
2. Add the following to your ``.bashrc`` file::
source $HOME/spackenv.sh
# Preferentially use your checked-out Python source
export PYTHONPATH=$HOME/icebin/pylib:$PYTHONPATH
3. Run ``sh make_spackenv`` whenever your Spack installation changes (including right now).
Giving Back
-------------------
If your software is publicly available, you should submit the
``package.py`` for it as a pull request to the main Spack GitHub
project. This will ensure that anyone can install your software
(almost) painlessly with a simple ``spack install`` command. See here
for how that has turned into detailed instructions that have
successfully enabled collaborators to install complex software:
https://github.com/citibeth/icebin/blob/develop/README.rst

View File

@@ -1,10 +1,9 @@
.. _command_index:
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,27 +1,9 @@
##############################################################################
# Copyright (c) 2013, 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.
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file 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 General Public License (as published by
# the Free Software Foundation) version 2.1 dated 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 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)
# flake8: noqa
# -*- coding: utf-8 -*-
#
# Spack documentation build configuration file, created by
@@ -37,30 +19,102 @@
import sys
import os
import re
import shutil
import subprocess
from glob import glob
# 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 -----------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# add these directories to sys.path here. If the directory is relative to the
# documentation root, use os.path.abspath to make it absolute, like shown here.
sys.path.insert(0, os.path.abspath('exts'))
sys.path.insert(0, os.path.abspath('../external'))
if sys.version_info[0] < 3:
sys.path.insert(0, os.path.abspath('../external/yaml/lib'))
else:
sys.path.insert(0, os.path.abspath('../external/yaml/lib3'))
sys.path.append(os.path.abspath('..'))
# Add the Spack bin directory to the path so that we can use its output in docs.
spack_root = '../../..'
os.environ['SPACK_ROOT'] = spack_root
os.environ['PATH'] += os.pathsep + '$SPACK_ROOT/bin'
spack_version = subprocess.Popen(
[spack_root + '/bin/spack', '-V'],
stderr=subprocess.PIPE).communicate()[1].strip().split('.')
os.environ['PATH'] += '%s%s/bin' % (os.pathsep, spack_root)
# Set an environment variable so that colify will print output like it would to
# a terminal.
os.environ['COLIFY_SIZE'] = '25x80'
os.environ['COLIFY_SIZE'] = '25x120'
#
# Generate package list using spack command
#
with open('package_list.html', 'w') as plist_file:
subprocess.Popen(
[spack_root + '/bin/spack', 'list', '--format=html'],
stdout=plist_file)
#
# Find all the `cmd-spack-*` references and add them to a command index
#
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)
if match:
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:
subprocess.Popen(
[spack_root + '/bin/spack', 'commands', '--format=rst'] + list(
documented_commands),
stdout=index)
#
# Run sphinx-apidoc
#
# Remove any previous API docs
# Read the Docs doesn't clean up after previous builds
# Without this, the API Docs will never actually update
#
apidoc_args = [
'--force', # Older versions of Sphinx ignore the first argument
'--force', # Overwrite existing files
'--no-toc', # Don't create a table of contents file
'--output-dir=.', # Directory to place all output
]
sphinx_apidoc(apidoc_args + ['../spack'])
sphinx_apidoc(apidoc_args + ['../llnl'])
# Enable todo items
todo_include_todos = True
#
# Disable duplicate cross-reference warnings.
#
from sphinx.domains.python import PythonDomain
class PatchedPythonDomain(PythonDomain):
def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode):
if 'refspecific' in node:
del node['refspecific']
return super(PatchedPythonDomain, self).resolve_xref(
env, fromdocname, builder, typ, target, node, contnode)
def setup(sphinx):
sphinx.override_domain(PatchedPythonDomain)
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
@@ -70,6 +124,7 @@
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc',
'sphinx.ext.graphviz',
'sphinx.ext.napoleon',
'sphinx.ext.todo',
'sphinxcontrib.programoutput']
@@ -96,16 +151,16 @@
# General information about the project.
project = u'Spack'
copyright = u'2013-2015, 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 = '.'.join(spack_version[:2])
version = '.'.join(str(s) for s in spack.spack_version_info[:2])
# The full version, including alpha/beta/rc tags.
release = '.'.join(spack_version[:2])
release = spack.spack_version
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@@ -154,7 +209,7 @@
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".
@@ -165,7 +220,7 @@
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
html_logo = '../../../share/spack/logo/spack-logo-white-text-48.png'
html_logo = '../../../share/spack/logo/spack-logo-white-text.svg'
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32

View File

@@ -0,0 +1,217 @@
.. 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
==============
Spack's basic configuration options are set in ``config.yaml``. You can
see the default settings by looking at
``etc/spack/defaults/config.yaml``:
.. literalinclude:: ../../../etc/spack/defaults/config.yaml
:language: yaml
These settings can be overridden in ``etc/spack/config.yaml`` or
``~/.spack/config.yaml``. See :ref:`configuration-scopes` for details.
--------------------
``install_tree``
--------------------
The location where Spack will install packages and their dependencies.
Default is ``$spack/opt/spack``.
---------------------------------------------------
``install_hash_length`` and ``install_path_scheme``
---------------------------------------------------
The default Spack installation path can be very long and can create
problems for scripts with hardcoded shebangs. There are two parameters
to help with that. Firstly, the ``install_hash_length`` parameter can
set the length of the hash in the installation path from 1 to 32. The
default path uses the full 32 characters.
Secondly, it is
also possible to modify the entire installation scheme. By default
Spack uses
``${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}``
where the tokens that are available for use in this directive are the
same as those understood by the ``Spec.format`` method. Using this parameter it
is possible to use a different package layout or reduce the depth of
the installation paths. For example
.. code-block:: yaml
config:
install_path_scheme: '${PACKAGE}/${VERSION}/${HASH:7}'
would install packages into sub-directories using only the package
name, version and a hash length of 7 characters.
When using either parameter to set the hash length it only affects the
representation of the hash in the installation directory. You
should be aware that the smaller the hash length the more likely
naming conflicts will occur. These parameters are independent of those
used to configure module names.
.. warning:: Modifying the installation hash length or path scheme after
packages have been installed will prevent Spack from being
able to find the old installation directories.
--------------------
``module_roots``
--------------------
Controls where Spack installs generated module files. You can customize
the location for each type of module. e.g.:
.. code-block:: yaml
module_roots:
tcl: $spack/share/spack/modules
lmod: $spack/share/spack/lmod
dotkit: $spack/share/spack/dotkit
See :ref:`modules` for details.
--------------------
``build_stage``
--------------------
Spack is designed to run out of a user home directory, and on many
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.
By default, Spack's ``build_stage`` is configured like this:
.. code-block:: yaml
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $spack/var/spack/stage
This is an ordered list of paths that Spack should search when trying to
find a temporary directory for the build stage. The list is searched in
order, and Spack will use the first directory to which it has write access.
See :ref:`config-file-variables` for more on ``$tempdir`` and ``$spack``.
When Spack builds a package, it creates a temporary directory within the
``build_stage``, and it creates a symbolic link to that directory in
``$spack/var/spack/stage``. This is used to track the stage.
After a package is successfully installed, Spack deletes the temporary
directory it used to build. Unsuccessful builds are not deleted, but you
can manually purge them with :ref:`spack clean --stage
<cmd-spack-clean>`.
.. note::
The last item in the list is ``$spack/var/spack/stage``. If this is the
only writable directory in the ``build_stage`` list, Spack will build
*directly* in ``$spack/var/spack/stage`` and will not link to temporary
space.
--------------------
``source_cache``
--------------------
Location to cache downloaded tarballs and repositories. By default these
are stored in ``$spack/var/spack/cache``. These are stored indefinitely
by default. Can be purged with :ref:`spack clean --downloads
<cmd-spack-clean>`.
--------------------
``misc_cache``
--------------------
Temporary directory to store long-lived cache files, such as indices of
packages available in repositories. Defaults to ``~/.spack/cache``. Can
be purged with :ref:`spack clean --misc-cache <cmd-spack-clean>`.
--------------------
``verify_ssl``
--------------------
When set to ``true`` (default) Spack will verify certificates of remote
hosts when making ``ssl`` connections. Set to ``false`` to disable, and
tools like ``curl`` will use their ``--insecure`` options. Disabling
this can expose you to attacks. Use at your own risk.
--------------------
``checksum``
--------------------
When set to ``true``, Spack verifies downloaded source code using a
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``
--------------------
By default, Spack unsets variables in your environment that can change
the way packages build. This includes ``LD_LIBRARY_PATH``, ``CPATH``,
``LIBRARY_PATH``, ``DYLD_LIBRARY_PATH``, and others.
By default, builds are ``clean``, but on some machines, compilers and
other tools may need custom ``LD_LIBRARY_PATH`` settings to run. You can
set ``dirty`` to ``true`` to skip the cleaning step and make all builds
"dirty" by default. Be aware that this will reduce the reproducibility
of builds.
--------------
``build_jobs``
--------------
Unless overridden in a package or on the command line, Spack builds all
packages in parallel. For a build system that uses Makefiles, this means
running ``make -j<build_jobs>``, where ``build_jobs`` is the number of
threads to use.
The default parallelism is equal to the number of cores on your machine.
If you work on a shared login node or have a strict ulimit, it may be
necessary to set the default to a lower value. By setting ``build_jobs``
to 4, for example, commands like ``spack install`` will run ``make -j4``
instead of hogging every core.
To build all software in serial, set ``build_jobs`` to 1.
--------------------
``ccache``
--------------------
When set to ``true`` Spack will use ccache to cache compiles. This is
useful specifically in two cases: (1) when using ``spack setup``, and (2)
when building the same package with many different variants. The default is
``false``.
When enabled, Spack will look inside your ``PATH`` for a ``ccache``
executable and stop if it is not found. Some systems come with
``ccache``, but it can also be installed using ``spack install
ccache``. ``ccache`` comes with reasonable defaults for cache size
and location. (See the *Configuration settings* section of ``man
ccache`` to learn more about the default settings and how to change
them). Please note that we currently disable ccache's ``hash_dir``
feature to avoid an issue with the stage directory (see
https://github.com/LLNL/spack/pull/3761#issuecomment-294352232).

View File

@@ -1,236 +1,531 @@
.. 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
===================================
===================
Configuration Files
===================
.. _temp-space:
Spack has many configuration files. Here is a quick list of them, in
case you want to skip directly to specific docs:
Temporary space
----------------------------
* :ref:`compilers.yaml <compiler-config>`
* :ref:`config.yaml <config-yaml>`
* :ref:`mirrors.yaml <mirrors>`
* :ref:`modules.yaml <modules>`
* :ref:`packages.yaml <build-settings>`
* :ref:`repos.yaml <repositories>`
.. warning:: Temporary space configuration will eventually be moved to
configuration files, but currently these settings are in
``lib/spack/spack/__init__.py``
-----------
YAML Format
-----------
By default, Spack will try to do all of its building in temporary
space. There are two main reasons for this. First, Spack is designed
to run out of a user's home directory, and on may systems the home
directory is network mounted and potentially not a very fast
filesystem. We create build stages in a temporary directory to avoid
this. Second, many systems impose quotas on home directories, and
``/tmp`` or similar directories often have more available space. This
helps conserve space for installations in users' home directories.
You can customize temporary directories by editing
``lib/spack/spack/__init__.py``. Specifically, find this part of the file:
.. code-block:: python
# Whether to build in tmp space or directly in the stage_path.
# If this is true, then spack will make stage directories in
# a tmp filesystem, and it will symlink them into stage_path.
use_tmp_stage = True
# Locations to use for staging and building, in order of preference
# Use a %u to add a username to the stage paths here, in case this
# is a shared filesystem. Spack will use the first of these paths
# that it can create.
tmp_dirs = ['/nfs/tmp2/%u/spack-stage',
'/var/tmp/%u/spack-stage',
'/tmp/%u/spack-stage']
The ``use_tmp_stage`` variable controls whether Spack builds
**directly** inside the ``var/spack/`` directory. Normally, Spack
will try to find a temporary directory for a build, then it *symlinks*
that temporary directory into ``var/spack/`` so that you can keep
track of what temporary directories Spack is using.
The ``tmp_dirs`` variable is a list of paths Spack should search when
trying to find a temporary directory. They can optionally contain a
``%u``, which will substitute the current user's name into the path.
The list is searched in order, and Spack will create a temporary stage
in the first directory it finds to which it has write access. Add
more elements to the list to indicate where your own site's temporary
directory is.
.. _sec-external_packages:
External Packages
----------------------------
Spack can be configured to use externally-installed
packages rather than building its own packages. This may be desirable
if machines ship with system packages, such as a customized MPI
that should be used instead of Spack building its own MPI.
External packages are configured through the ``packages.yaml`` file found
in a Spack installation's ``etc/spack/`` or a user's ``~/.spack/``
directory. Here's an example of an external configuration:
Spack configuration files are written in YAML. We chose YAML because
it's human readable, but also versatile in that it supports dictionaries,
lists, and nested sections. For more details on the format, see `yaml.org
<http://yaml.org>`_ and `libyaml <http://pyyaml.org/wiki/LibYAML>`_.
Here is an example ``config.yaml`` file:
.. code-block:: yaml
config:
install_tree: $spack/opt/spack
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
Each Spack configuration file is nested under a top-level section
corresponding to its name. So, ``config.yaml`` starts with ``config:``,
``mirrors.yaml`` starts with ``mirrors:``, etc.
.. _configuration-scopes:
--------------------
Configuration Scopes
--------------------
Spack pulls configuration data from files in several directories. There
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
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. They override the defaults scope.
#. **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 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
configurations conflict, settings from higher-precedence scopes override
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
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:
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-x86_64-debian7: /opt/openmpi-1.6.5-intel
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
Each ``packages.yaml`` begins with a ``packages:`` token, followed
by a list of package names. To specify externals, add a ``paths`` or ``modules``
token under the package name, which lists externals in a
``spec: /path`` or ``spec: module-name`` format. Each spec should be as
well-defined as reasonably possible. If a
package lacks a spec component, such as missing a compiler or
package version, then Spack will guess the missing component based
on its most-favored packages, and it may guess incorrectly.
Each package version and compilers listed in an external should
have entries in Spack's packages and compiler configuration, even
though the package and compiler may not every 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.
To prevent this, the ``packages.yaml`` configuration also allows packages
to be flagged as non-buildable. The previous example could be modified to
be:
mypackage:
version: [1.7]
A:
version: [2.3]
B:
version: [0.8]
.. code-block:: yaml
:caption: ~/myscopes/develop/packages.yaml
packages:
openmpi:
paths:
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7: /opt/openmpi-1.4.3
openmpi@1.4.3%gcc@4.4.7 arch=linux-x86_64-debian7+debug: /opt/openmpi-1.4.3-debug
openmpi@1.6.5%intel@10.1 arch=linux-x86_64-debian7: /opt/openmpi-1.6.5-intel
buildable: False
packages:
mypackage:
version: [develop]
A:
version: [develop]
B:
version: [develop]
The addition of the ``buildable`` flag tells Spack that it should never build
its own version of OpenMPI, and it will instead always rely on a pre-built
OpenMPI. Similar to ``paths``, ``buildable`` is specified as a property under
a package name.
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.
If an external module is specified as not buildable, then Spack will load the
external module into the build environment which can be used for linking.
"""""""""""""""""""""""""""""""
Example: swapping MPI providers
"""""""""""""""""""""""""""""""
The ``buildable`` does not need to be paired with external packages.
It could also be used alone to forbid packages that may be
buggy or otherwise undesirable.
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]
Concretization Preferences
--------------------------------
.. _platform-scopes:
Spack can be configured to prefer certain compilers, package
versions, depends_on, and variants during concretization.
The preferred configuration can be controlled via the
``~/.spack/packages.yaml`` file for user configuations, or the
``etc/spack/packages.yaml`` site configuration.
------------------------
Platform-specific Scopes
------------------------
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:
#. ``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
----------------
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
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
your configurations look like this:
.. code-block:: yaml
:caption: $(prefix)/etc/spack/defaults/config.yaml
config:
install_tree: $spack/opt/spack
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
Here's an example packages.yaml file that sets preferred packages:
.. code-block:: yaml
:caption: ~/.spack/config.yaml
.. code-block:: sh
packages:
opencv:
compiler: [gcc@4.9]
variants: +debug
gperftools:
version: [2.2, 2.4, 2.3]
all:
compiler: [gcc@4.4.7, gcc@4.6:, intel, clang, pgi]
providers:
mpi: [mvapich, mpich, openmpi]
config:
install_tree: /some/other/directory
At a high level, this example is specifying how packages should be
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).
These options are used to fill in implicit defaults. Any of them can be overwritten
on the command line if explicitly requested.
Spack will only override ``install_tree`` in the ``config`` section, and
will take the site preferences for other settings. You can see the
final, combined configuration with the ``spack config get <configtype>``
command:
Each packages.yaml file begins with the string ``packages:`` and
package names are specified on the next level. The special string ``all``
applies settings to each package. Underneath each package name is
one or more components: ``compiler``, ``variants``, ``version``,
or ``providers``. Each component has an ordered list of spec
``constraints``, with earlier entries in the list being preferred over
later entries.
.. code-block:: console
:emphasize-lines: 3
Sometimes a package installation may have constraints that forbid
the first concretization rule, in which case Spack will use the first
legal concretization rule. Going back to the example, if a user
requests gperftools 2.3 or later, then Spack will install version 2.4
as the 2.4 version of gperftools is preferred over 2.3.
An explicit concretization rule in the preferred section will always
take preference over unlisted concretizations. In the above example,
xlc isn't listed in the compiler list. Every listed compiler from
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
dependency.
$ spack config get config
config:
install_tree: /some/other/directory
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
Profiling
------------------
.. _config-overrides:
Spack has some limited built-in support for profiling, and can report
statistics using standard Python timing tools. To use this feature,
supply ``-p`` to Spack on the command line, before any subcommands.
^^^^^^^^^^^^^^^^^^^^^^^^^^
Overriding entire sections
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. _spack-p:
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:
``spack -p``
~~~~~~~~~~~~~~~~~
.. code-block:: yaml
:emphasize-lines: 1
:caption: ~/.spack/config.yaml
``spack -p`` output looks like this:
config::
install_tree: /some/other/directory
.. code-block:: sh
Spack will ignore all lower-precedence configuration under the
``config::`` section:
$ spack -p graph dyninst
o dyninst
|\
| |\
| o | libdwarf
|/ /
o | libelf
/
o boost
.. code-block:: console
307670 function calls (305943 primitive calls) in 0.127 seconds
$ spack config get config
config:
install_tree: /some/other/directory
Ordered by: internal time
ncalls tottime percall cumtime percall filename:lineno(function)
853 0.021 0.000 0.066 0.000 inspect.py:472(getmodule)
51197 0.011 0.000 0.018 0.000 inspect.py:51(ismodule)
73961 0.010 0.000 0.010 0.000 {isinstance}
1762 0.006 0.000 0.053 0.000 inspect.py:440(getsourcefile)
32075 0.006 0.000 0.006 0.000 {hasattr}
1760 0.004 0.000 0.004 0.000 {posix.stat}
2240 0.004 0.000 0.004 0.000 {posix.lstat}
2602 0.004 0.000 0.011 0.000 inspect.py:398(getfile)
771 0.004 0.000 0.077 0.000 inspect.py:518(findsource)
2656 0.004 0.000 0.004 0.000 {method 'match' of '_sre.SRE_Pattern' objects}
30772 0.003 0.000 0.003 0.000 {method 'get' of 'dict' objects}
...
^^^^^^^^^^^^^^^^^^^^
List-valued settings
^^^^^^^^^^^^^^^^^^^^
The bottom of the output shows the top most time consuming functions,
slowest on top. The profiling support is from Python's built-in tool,
`cProfile
<https://docs.python.org/2/library/profile.html#module-cProfile>`_.
Let's revisit the ``config.yaml`` example one more time. The
``build_stage`` setting's value is an ordered list of directories:
.. 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:
.. code-block:: yaml
:caption: ~/.spack/config.yaml
build_stage:
- /lustre-scratch/$user
- ~/mystage
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
:emphasize-lines: 7-10
$ spack config get config
config:
install_tree: /some/other/directory
module_roots:
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
user config looked like this:
.. 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
:emphasize-lines: 7-8
$ spack config get config
config:
install_tree: /some/other/directory
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- /lustre-scratch/$user
- ~/mystage
.. _config-file-variables:
---------------------
Config File Variables
---------------------
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 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
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
substituted first, so any environment variables with the same name will
not be used.
^^^^^^^^^^^^^^^^^^^^^
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 home directories
^^^^^^^^^^^^^^^^^^^^^
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

@@ -0,0 +1,603 @@
.. 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:
==================
Contribution Guide
==================
This guide is intended for developers or administrators who want to
contribute a new package, feature, or bugfix to Spack.
It assumes that you have at least some familiarity with Git VCS and Github.
The guide will show a few examples of contributing workflows and discuss
the granularity of pull-requests (PRs). It will also discuss the tests your
PR must pass in order to be accepted into Spack.
First, what is a PR? Quoting `Bitbucket's tutorials <https://www.atlassian.com/git/tutorials/making-a-pull-request/>`_:
Pull requests are a mechanism for a developer to notify team members that
they have **completed a feature**. The pull request is more than just a
notification—its a dedicated forum for discussing the proposed feature.
Important is **completed feature**. The changes one proposes in a PR should
correspond to one feature/bugfix/extension/etc. One can create PRs with
changes relevant to different ideas, however reviewing such PRs becomes tedious
and error prone. If possible, try to follow the **one-PR-one-package/feature** rule.
Spack uses a rough approximation of the `Git Flow <http://nvie.com/posts/a-successful-git-branching-model/>`_
branching model. The develop branch contains the latest contributions, and
master is always tagged and points to the latest stable release. Therefore, when
you send your request, make ``develop`` the destination branch on the
`Spack repository <https://github.com/spack/spack>`_.
----------------------
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
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.4-3.7 on both macOS and Linux. We currently
perform 3 types of tests:
^^^^^^^^^^
Unit Tests
^^^^^^^^^^
Unit tests ensure that core Spack features like fetching or spec resolution are
working as expected. If your PR only adds new packages or modifies existing ones,
there's very little chance that your changes could cause the unit tests to fail.
However, if you make changes to Spack's core libraries, you should run the unit
tests to make sure you didn't break anything.
Since they test things like fetching from VCS repos, the unit tests require
`git <https://git-scm.com/>`_, `mercurial <https://www.mercurial-scm.org/>`_,
and `subversion <https://subversion.apache.org/>`_ to run. Make sure these are
installed on your system and can be found in your ``PATH``. All of these can be
installed with Spack or with your system package manager.
To run *all* of the unit tests, use:
.. code-block:: console
$ spack test
These tests may take several minutes to complete. If you know you are only
modifying a single Spack feature, you can run a single unit test at a time:
.. code-block:: console
$ spack test architecture
This allows you to develop iteratively: make a change, test that change, make
another change, test that change, etc. To get a list of all available unit
tests, run:
.. command-output:: spack test --list
A more detailed list of available unit tests can be found by running
``spack test --long-list``.
By default, ``pytest`` captures the output of all unit tests. If you add print
statements to a unit test and want to see the output, simply run:
.. 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.
.. note::
There is also a ``run-unit-tests`` script in ``share/spack/qa`` that
runs the unit tests. Afterwards, it reports back to Codecov with the
percentage of Spack that is covered by unit tests. This script is
designed for Travis CI. If you want to run the unit tests yourself, we
suggest you use ``spack test``.
^^^^^^^^^^^^
Flake8 Tests
^^^^^^^^^^^^
Spack uses `Flake8 <http://flake8.pycqa.org/en/latest/>`_ to test for
`PEP 8 <https://www.python.org/dev/peps/pep-0008/>`_ conformance. PEP 8 is
a series of style guides for Python that provide suggestions for everything
from variable naming to indentation. In order to limit the number of PRs that
were mostly style changes, we decided to enforce PEP 8 conformance. Your PR
needs to comply with PEP 8 in order to be accepted.
Testing for PEP 8 compliance is easy. Simply run the ``spack flake8``
command:
.. code-block:: console
$ spack flake8
``spack flake8`` has a couple advantages over running ``flake8`` by hand:
#. It only tests files that you have modified since branching off of
``develop``.
#. It works regardless of what directory you are in.
#. It automatically adds approved exemptions from the ``flake8``
checks. For example, URLs are often longer than 80 characters, so we
exempt them from line length checks. We also exempt lines that start
with "homepage", "url", "version", "variant", "depends_on", and
"extends" in ``package.py`` files.
More approved flake8 exemptions can be found
`here <https://github.com/spack/spack/blob/develop/.flake8>`_.
If all is well, you'll see something like this:
.. code-block:: console
$ run-flake8-tests
Dependencies found.
=======================================================
flake8: running flake8 code checks on spack.
Modified files:
var/spack/repos/builtin/packages/hdf5/package.py
var/spack/repos/builtin/packages/hdf/package.py
var/spack/repos/builtin/packages/netcdf/package.py
=======================================================
Flake8 checks were clean.
However, if you aren't compliant with PEP 8, flake8 will complain:
.. code-block:: console
var/spack/repos/builtin/packages/netcdf/package.py:26: [F401] 'os' imported but unused
var/spack/repos/builtin/packages/netcdf/package.py:61: [E303] too many blank lines (2)
var/spack/repos/builtin/packages/netcdf/package.py:106: [E501] line too long (92 > 79 characters)
Flake8 found errors.
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 ``spack flake8`` again
to update them.
.. tip::
Try fixing flake8 errors in reverse order. This eliminates the need for
multiple runs of ``spack flake8`` just to re-compute line numbers and
makes it much easier to fix errors directly off of the Travis output.
.. warning::
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
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
that means Flake8 couldn't find setuptools in your ``PYTHONPATH``.
^^^^^^^^^^^^^^^^^^^
Documentation Tests
^^^^^^^^^^^^^^^^^^^
Spack uses `Sphinx <http://www.sphinx-doc.org/en/stable/>`_ to build its
documentation. In order to prevent things like broken links and missing imports,
we added documentation tests that build the documentation and fail if there
are any warning or error messages.
Building the documentation requires several dependencies, all of which can be
installed with Spack:
* sphinx
* sphinxcontrib-programoutput
* sphinx-rtd-theme
* graphviz
* git
* mercurial
* subversion
.. warning::
Sphinx has `several required dependencies <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-sphinx/package.py>`_.
If you installed ``py-sphinx`` with Spack, make sure to add all of these
dependencies to your ``PYTHONPATH``. The easiest way to do this is to run:
.. code-block:: console
$ spack activate py-sphinx
$ spack activate py-sphinx-rtd-theme
$ spack activate py-sphinxcontrib-programoutput
so that all of the dependencies are symlinked to a central location.
If you see an error message like:
.. 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:
.. code-block:: console
$ cd "$SPACK_ROOT/lib/spack/docs"
$ make clean
$ make
If you see any warning or error messages, you will have to correct those before
your PR is accepted.
.. note::
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
documentation tests. But even if you are simply adding a new package, your
changes could cause the documentation tests to fail:
.. code-block:: console
package_list.rst:8745: WARNING: Block quote ends without a blank line; unexpected unindent.
At first, this error message will mean nothing to you, since you didn't edit
that file. Until you look at line 8745 of the file in question:
.. code-block:: rst
Description:
NetCDF is a set of software libraries and self-describing, machine-
independent data formats that support the creation, access, and sharing
of array-oriented scientific data.
Our documentation includes :ref:`a list of all Spack packages <package-list>`.
If you add a new package, its docstring is added to this page. The problem in
this case was that the docstring looked like:
.. code-block:: python
class Netcdf(Package):
"""
NetCDF is a set of software libraries and self-describing,
machine-independent data formats that support the creation,
access, and sharing of array-oriented scientific data.
"""
Docstrings cannot start with a newline character, or else Sphinx will complain.
Instead, they should look like:
.. code-block:: python
class Netcdf(Package):
"""NetCDF is a set of software libraries and self-describing,
machine-independent data formats that support the creation,
access, and sharing of array-oriented scientific data."""
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
-------------
Spack is still in the beta stages of development. Most of our users run off of
the develop branch, and fixes and new features are constantly being merged. So
how do you keep up-to-date with upstream while maintaining your own local
differences and contributing PRs to Spack?
^^^^^^^^^
Branching
^^^^^^^^^
The easiest way to contribute a pull request is to make all of your changes on
new branches. Make sure your ``develop`` is up-to-date and create a new branch
off of it:
.. code-block:: console
$ git checkout develop
$ git pull upstream develop
$ git branch <descriptive_branch_name>
$ git checkout <descriptive_branch_name>
Here we assume that the local ``develop`` branch tracks the upstream develop
branch of Spack. This is not a requirement and you could also do the same with
remote branches. But for some it is more convenient to have a local branch that
tracks upstream.
Normally we prefer that commits pertaining to a package ``<package-name>`` have
a message ``<package-name>: descriptive message``. It is important to add
descriptive message so that others, who might be looking at your changes later
(in a year or maybe two), would understand the rationale behind them.
Now, you can make your changes while keeping the ``develop`` branch pure.
Edit a few files and commit them by running:
.. code-block:: console
$ git add <files_to_be_part_of_the_commit>
$ git commit --message <descriptive_message_of_this_particular_commit>
Next, push it to your remote fork and create a PR:
.. code-block:: console
$ git push origin <descriptive_branch_name> --set-upstream
GitHub provides a `tutorial <https://help.github.com/articles/about-pull-requests/>`_
on how to file a pull request. When you send the request, make ``develop`` the
destination branch.
If you need this change immediately and don't have time to wait for your PR to
be merged, you can always work on this branch. But if you have multiple PRs,
another option is to maintain a Frankenstein branch that combines all of your
other branches:
.. code-block:: console
$ git co develop
$ git branch <your_modified_develop_branch>
$ git checkout <your_modified_develop_branch>
$ git merge <descriptive_branch_name>
This can be done with each new PR you submit. Just make sure to keep this local
branch up-to-date with upstream ``develop`` too.
^^^^^^^^^^^^^^
Cherry-Picking
^^^^^^^^^^^^^^
What if you made some changes to your local modified develop branch and already
committed them, but later decided to contribute them to Spack? You can use
cherry-picking to create a new branch with only these commits.
First, check out your local modified develop branch:
.. code-block:: console
$ git checkout <your_modified_develop_branch>
Now, get the hashes of the commits you want from the output of:
.. code-block:: console
$ git log
Next, create a new branch off of upstream ``develop`` and copy the commits
that you want in your PR:
.. code-block:: console
$ git checkout develop
$ git pull upstream develop
$ git branch <descriptive_branch_name>
$ git checkout <descriptive_branch_name>
$ git cherry-pick <hash>
$ git push origin <descriptive_branch_name> --set-upstream
Now you can create a PR from the web-interface of GitHub. The net result is as
follows:
#. You patched your local version of Spack and can use it further.
#. You "cherry-picked" these changes in a stand-alone branch and submitted it
as a PR upstream.
Should you have several commits to contribute, you could follow the same
procedure by getting hashes of all of them and cherry-picking to the PR branch.
.. note::
It is important that whenever you change something that might be of
importance upstream, create a pull request as soon as possible. Do not wait
for weeks/months to do this, because:
#. you might forget why you modified certain files
#. it could get difficult to isolate this change into a stand-alone clean PR.
^^^^^^^^
Rebasing
^^^^^^^^
Other developers are constantly making contributions to Spack, possibly on the
same files that your PR changed. If their PR is merged before yours, it can
create a merge conflict. This means that your PR can no longer be automatically
merged without a chance of breaking your changes. In this case, you will be
asked to rebase on top of the latest upstream ``develop``.
First, make sure your develop branch is up-to-date:
.. code-block:: console
$ git checkout develop
$ git pull upstream develop
Now, we need to switch to the branch you submitted for your PR and rebase it
on top of develop:
.. code-block:: console
$ git checkout <descriptive_branch_name>
$ git rebase develop
Git will likely ask you to resolve conflicts. Edit the file that it says can't
be merged automatically and resolve the conflict. Then, run:
.. code-block:: console
$ git add <file_that_could_not_be_merged>
$ git rebase --continue
You may have to repeat this process multiple times until all conflicts are resolved.
Once this is done, simply force push your rebased branch to your remote fork:
.. code-block:: console
$ git push --force origin <descriptive_branch_name>
^^^^^^^^^^^^^^^^^^^^^^^^^
Rebasing with cherry-pick
^^^^^^^^^^^^^^^^^^^^^^^^^
You can also perform a rebase using ``cherry-pick``. First, create a temporary
backup branch:
.. code-block:: console
$ git checkout <descriptive_branch_name>
$ git branch tmp
If anything goes wrong, you can always go back to your ``tmp`` branch.
Now, look at the logs and save the hashes of any commits you would like to keep:
.. code-block:: console
$ git log
Next, go back to the original branch and reset it to ``develop``.
Before doing so, make sure that you local ``develop`` branch is up-to-date
with upstream:
.. code-block:: console
$ git checkout develop
$ git pull upstream develop
$ git checkout <descriptive_branch_name>
$ git reset --hard develop
Now you can cherry-pick relevant commits:
.. code-block:: console
$ git cherry-pick <hash1>
$ git cherry-pick <hash2>
Push the modified branch to your fork:
.. code-block:: console
$ git push --force origin <descriptive_branch_name>
If everything looks good, delete the backup branch:
.. code-block:: console
$ git branch --delete --force tmp
^^^^^^^^^^^^^^^^^^
Re-writing History
^^^^^^^^^^^^^^^^^^
Sometimes you may end up on a branch that has diverged so much from develop
that it cannot easily be rebased. If the current commits history is more of
an experimental nature and only the net result is important, you may rewrite
the history.
First, merge upstream ``develop`` and reset you branch to it. On the branch
in question, run:
.. code-block:: console
$ git merge develop
$ git reset develop
At this point your branch will point to the same commit as develop and
thereby the two are indistinguishable. However, all the files that were
previously modified will stay as such. In other words, you do not lose the
changes you made. Changes can be reviewed by looking at diffs:
.. code-block:: console
$ git status
$ git diff
The next step is to rewrite the history by adding files and creating commits:
.. code-block:: console
$ git add <files_to_be_part_of_commit>
$ git commit --message <descriptive_message>
After all changed files are committed, you can push the branch to your fork
and create a PR:
.. code-block:: console
$ git push origin --set-upstream

View File

@@ -1,7 +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)
.. _developer_guide:
===============
Developer Guide
=====================
===============
This guide is intended for people who want to work on Spack itself.
If you just want to develop packages, see the :ref:`packaging-guide`.
@@ -11,17 +17,18 @@ It is assumed that you've read the :ref:`basic-usage` and
concepts discussed there. If you're not, we recommend reading those
first.
--------
Overview
-----------------------
--------
Spack is designed with three separate roles in mind:
#. **Users**, who need to install software *without* knowing all the
details about how it is built.
#. **Packagers** who know how a particular software package is
built and encode this information in package files.
#. **Developers** who work on Spack, add new features, and try to
make the jobs of packagers and users easier.
#. **Users**, who need to install software *without* knowing all the
details about how it is built.
#. **Packagers** who know how a particular software package is
built and encode this information in package files.
#. **Developers** who work on Spack, add new features, and try to
make the jobs of packagers and users easier.
Users could be end users installing software in their home directory,
or administrators installing software to a shared directory on a
@@ -41,9 +48,9 @@ specification.
This gets us to the two key concepts in Spack's software design:
#. **Specs**: expressions for describing builds of software, and
#. **Packages**: Python modules that build software according to a
spec.
#. **Specs**: expressions for describing builds of software, and
#. **Packages**: Python modules that build software according to a
spec.
A package is a template for building particular software, and a spec
as a descriptor for one or more instances of that template. Users
@@ -63,75 +70,75 @@ building the software off to the package object. The rest of this
document describes all the pieces that come together to make that
happen.
-------------------
Directory Structure
-------------------------
-------------------
So that you can familiarize yourself with the project, we'll start
with a high level view of Spack's directory structure::
with a high level view of Spack's directory structure:
spack/ <- installation root
bin/
spack <- main spack executable
.. code-block:: none
etc/
spack/ <- Spack config files.
Can be overridden by files in ~/.spack.
spack/ <- installation root
bin/
spack <- main spack executable
var/
spack/ <- build & stage directories
repos/ <- contains package repositories
builtin/ <- pkg repository that comes with Spack
repo.yaml <- descriptor for the builtin repository
packages/ <- directories under here contain packages
cache/ <- saves resources downloaded during installs
etc/
spack/ <- Spack config files.
Can be overridden by files in ~/.spack.
opt/
spack/ <- packages are installed here
var/
spack/ <- build & stage directories
repos/ <- contains package repositories
builtin/ <- pkg repository that comes with Spack
repo.yaml <- descriptor for the builtin repository
packages/ <- directories under here contain packages
cache/ <- saves resources downloaded during installs
lib/
spack/
docs/ <- source for this documentation
env/ <- compiler wrappers for build environment
opt/
spack/ <- packages are installed here
external/ <- external libs included in Spack distro
llnl/ <- some general-use libraries
lib/
spack/
docs/ <- source for this documentation
env/ <- compiler wrappers for build environment
spack/ <- spack module; contains Python code
cmd/ <- each file in here is a spack subcommand
compilers/ <- compiler description files
test/ <- unit test modules
util/ <- common code
external/ <- external libs included in Spack distro
llnl/ <- some general-use libraries
spack/ <- spack module; contains Python code
cmd/ <- each file in here is a spack subcommand
compilers/ <- compiler description files
test/ <- unit test modules
util/ <- common code
Spack is designed so that it could live within a `standard UNIX
directory hierarchy <http://linux.die.net/man/7/hier>`_, so ``lib``,
``var``, and ``opt`` all contain a ``spack`` subdirectory in case
Spack is installed alongside other software. Most of the interesting
parts of Spack live in ``lib/spack``. Files under ``var`` are created
as needed, so there is no ``var`` directory when you initially clone
Spack from the repository.
parts of Spack live in ``lib/spack``.
Spack has *one* directory layout and there is no install process.
version and the source code. Most Python programs don't look like
this (they use distutils, ``setup.py``, 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
Most Python programs don't look like this (they use distutils, ``setup.py``,
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 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.
--------------
Code Structure
-------------------------
--------------
This section gives an overview of the various Python modules in Spack,
grouped by functionality.
^^^^^^^^^^^^^^^^^^^^^^^
Package-related modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^
:mod:`spack.package`
Contains the :class:`Package <spack.package.Package>` class, which
@@ -158,9 +165,9 @@ Package-related modules
decorator, which allows :ref:`multimethods <multimethods>` in
packages.
^^^^^^^^^^^^^^^^^^^^
Spec-related modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^
:mod:`spack.spec`
Contains :class:`Spec <spack.spec.Spec>` and :class:`SpecParser
@@ -208,9 +215,9 @@ Spec-related modules
Not yet implemented. Should eventually have architecture
descriptions for cross-compiling.
^^^^^^^^^^^^^^^^^
Build environment
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^
:mod:`spack.stage`
Handles creating temporary directories for builds.
@@ -224,15 +231,17 @@ Build environment
Create more implementations of this to change the hierarchy and
naming scheme in ``$spack_prefix/opt``
^^^^^^^^^^^^^^^^^
Spack Subcommands
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^
:mod:`spack.cmd`
Each module in this package implements a Spack subcommand. See
:ref:`writing commands <writing-commands>` for details.
^^^^^^^^^^
Unit tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^
:mod:`spack.test`
Implements Spack's test suite. Add a module and put its name in
@@ -242,78 +251,247 @@ Unit tests
This is a fake package hierarchy used to mock up packages for
Spack's test suite.
^^^^^^^^^^^^^
Other Modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:mod:`spack.globals`
Includes global settings for Spack. the default policy classes for
things like :ref:`temporary space <temp-space>` and
:ref:`concretization <concretization-policies>`.
:mod:`spack.tty`
Basic output functions for all of the messages Spack writes to the
terminal.
:mod:`spack.color`
Implements a color formatting syntax used by ``spack.tty``.
^^^^^^^^^^^^^
:mod:`spack.url`
URL parsing, for deducing names and versions of packages from
tarball URLs.
:mod:`spack.util`
In this package are a number of utility modules for the rest of
Spack.
:mod:`spack.error`
:class:`SpackError <spack.error.SpackError>`, the base class for
Spack's exception hierarchy.
:mod:`llnl.util.tty`
Basic output functions for all of the messages Spack writes to the
terminal.
:mod:`llnl.util.tty.color`
Implements a color formatting syntax used by ``spack.tty``.
:mod:`llnl.util`
In this package are a number of utility modules for the rest of
Spack.
------------
Spec objects
-------------------------
------------
---------------
Package objects
-------------------------
Most spack commands
look something like this:
#. Parse an abstract spec (or specs) from the command line,
#. *Normalize* the spec based on information in package files,
#. *Concretize* the spec according to some customizable policies,
#. Instantiate a package based on the spec, and
#. Call methods (e.g., ``install()``) on the package object.
---------------
Most spack commands look something like this:
#. Parse an abstract spec (or specs) from the command line,
#. *Normalize* the spec based on information in package files,
#. *Concretize* the spec according to some customizable policies,
#. Instantiate a package based on the spec, and
#. Call methods (e.g., ``install()``) on the package object.
The information in Package files is used at all stages in this
process.
Conceptually, packages are overloaded. They contain:
Conceptually, packages are overloaded. They contain
-------------
Stage objects
-------------------------
-------------
.. _writing-commands:
----------------
Writing commands
-------------------------
----------------
Adding a new command to Spack is easy. Simply add a ``<name>.py`` file to
``lib/spack/spack/cmd/``, where ``<name>`` is the name of the subcommand.
At the bare minimum, two functions are required in this file:
^^^^^^^^^^^^^^^^^^
``setup_parser()``
^^^^^^^^^^^^^^^^^^
Unless your command doesn't accept any arguments, a ``setup_parser()``
function is required to define what arguments and flags your command takes.
See the `Argparse documentation <https://docs.python.org/2.7/library/argparse.html>`_
for more details on how to add arguments.
Some commands have a set of subcommands, like ``spack compiler find`` or
``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
be defined in ``lib/spack/spack/cmd/common/arguments.py`` so that they don't
need to be redefined in multiple commands.
^^^^^^^^^^^^
``<name>()``
^^^^^^^^^^^^
In order to run your command, Spack searches for a function with the same
name as your command in ``<name>.py``. This is the main method for your
command, and can call other helper methods to handle common tasks.
Remember, before adding a new command, think to yourself whether or not this
new command is actually necessary. Sometimes, the functionality you desire
can be added to an existing command. Also remember to add unit tests for
your command. If it isn't used very frequently, changes to the rest of
Spack can cause your command to break without sufficient unit tests to
prevent this from happening.
Whenever you add/remove/rename a command or flags for an existing command,
make sure to update Spack's `Bash tab completion script
<https://github.com/adamjstewart/spack/blob/develop/share/spack/spack-completion.bash>`_.
----------
Unit tests
-------------------------
----------
------------
Unit testing
-------------------------
------------
------------------
Developer commands
-------------------------
------------------
.. _cmd-spack-doc:
^^^^^^^^^^^^^
``spack doc``
~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^
.. _cmd-spack-test:
^^^^^^^^^^^^^^
``spack test``
~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^
.. _cmd-spack-python:
^^^^^^^^^^^^^^^^
``spack python``
^^^^^^^^^^^^^^^^
``spack python`` is a command that lets you import and debug things as if
you were in a Spack interactive shell. Without any arguments, it is similar
to a normal interactive Python shell, except you can import spack and any
other Spack modules:
.. code-block:: console
$ spack python
Spack version 0.10.0
Python 2.7.13, Linux x86_64
>>> from spack.version import Version
>>> a = Version('1.2.3')
>>> b = Version('1_2_3')
>>> a == b
True
>>> c = Version('1.2.3b')
>>> c > a
True
>>>
You can also run a single command:
.. code-block:: console
$ spack python -c 'import distro; distro.linux_distribution()'
('Fedora', '25', 'Workstation Edition')
or a file:
.. code-block:: console
$ spack python ~/test_fetching.py
just like you would with the normal ``python`` command.
.. _cmd-spack-url:
^^^^^^^^^^^^^
``spack url``
^^^^^^^^^^^^^
A package containing a single URL can be used to download several different
versions of the package. If you've ever wondered how this works, all of the
magic is in :mod:`spack.url`. This module contains methods for extracting
the name and version of a package from its URL. The name is used by
``spack create`` to guess the name of the package. By determining the version
from the URL, Spack can replace it with other versions to determine where to
download them from.
The regular expressions in ``parse_name_offset`` and ``parse_version_offset``
are used to extract the name and version, but they aren't perfect. In order
to debug Spack's URL parsing support, the ``spack url`` command can be used.
"""""""""""""""""""
``spack url parse``
"""""""""""""""""""
If you need to debug a single URL, you can use the following command:
.. command-output:: spack url parse http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz
You'll notice that the name and version of this URL are correctly detected,
and you can even see which regular expressions it was matched to. However,
you'll notice that when it substitutes the version number in, it doesn't
replace the ``2.2`` with ``9.9`` where we would expect ``9.9.9b`` to live.
This particular package may require a ``list_url`` or ``url_for_version``
function.
This command also accepts a ``--spider`` flag. If provided, Spack searches
for other versions of the package and prints the matching URLs.
""""""""""""""""""
``spack url list``
""""""""""""""""""
This command lists every URL in every package in Spack. If given the
``--color`` and ``--extrapolation`` flags, it also colors the part of
the string that it detected to be the name and version. The
``--incorrect-name`` and ``--incorrect-version`` flags can be used to
print URLs that were not being parsed correctly.
"""""""""""""""""""""
``spack url summary``
"""""""""""""""""""""
This command attempts to parse every URL for every package in Spack
and prints a summary of how many of them are being correctly parsed.
It also prints a histogram showing which regular expressions are being
matched and how frequently:
.. command-output:: spack url summary
This command is essential for anyone adding or changing the regular
expressions that parse names and versions. By running this command
before and after the change, you can make sure that your regular
expression fixes more packages than it breaks.
---------
Profiling
---------
Spack has some limited built-in support for profiling, and can report
statistics using standard Python timing tools. To use this feature,
supply ``--profile`` to Spack on the command line, before any subcommands.
.. _spack-p:
^^^^^^^^^^^^^^^^^^^
``spack --profile``
^^^^^^^^^^^^^^^^^^^
``spack --profile`` output looks like this:
.. command-output:: spack --profile graph dyninst
:ellipsis: 25
The bottom of the output shows the top most time consuming functions,
slowest on top. The profiling support is from Python's built-in tool,
`cProfile
<https://docs.python.org/2/library/profile.html#module-cProfile>`_.

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,25 +0,0 @@
Copyright (c) 2010, 2011, 2012 Sebastian Wiesner <lunaryorn@googlemail.com>
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are
met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

View File

@@ -1,33 +0,0 @@
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file 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 General Public License (as published by
# the Free Software Foundation) version 2.1 dated 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 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 -*-
"""
sphinxcontrib
~~~~~~~~~~~~~
Contains 3rd party Sphinx extensions.
"""
__import__('pkg_resources').declare_namespace(__name__)

View File

@@ -1,287 +0,0 @@
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Produced at the Lawrence Livermore National Laboratory.
#
# This file is part of Spack.
# Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://github.com/llnl/spack
# Please also see the LICENSE file 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 General Public License (as published by
# the Free Software Foundation) version 2.1 dated 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 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 -*-
# Copyright (c) 2010, 2011, 2012, Sebastian Wiesner <lunaryorn@gmail.com>
# All rights reserved.
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
"""
sphinxcontrib.programoutput
===========================
This extension provides a directive to include the output of commands as
literal block while building the docs.
.. moduleauthor:: Sebastian Wiesner <lunaryorn@gmail.com>
"""
from __future__ import (print_function, division, unicode_literals,
absolute_import)
import sys
import os
import shlex
from subprocess import Popen, PIPE, STDOUT
from collections import defaultdict, namedtuple
from docutils import nodes
from docutils.parsers import rst
from docutils.parsers.rst.directives import flag, unchanged, nonnegative_int
__version__ = '0.9'
class program_output(nodes.Element):
pass
def _slice(value):
parts = [int(v.strip()) for v in value.split(',')]
if len(parts) > 2:
raise ValueError('too many slice parts')
return tuple((parts + [None] * 2)[:2])
class ProgramOutputDirective(rst.Directive):
has_content = False
final_argument_whitespace = True
required_arguments = 1
option_spec = dict(shell=flag, prompt=flag, nostderr=flag,
ellipsis=_slice, extraargs=unchanged,
returncode=nonnegative_int, cwd=unchanged)
def run(self):
env = self.state.document.settings.env
node = program_output()
node.line = self.lineno
node['command'] = self.arguments[0]
if self.name == 'command-output':
node['show_prompt'] = True
else:
node['show_prompt'] = 'prompt' in self.options
node['hide_standard_error'] = 'nostderr' in self.options
node['extraargs'] = self.options.get('extraargs', '')
_, cwd = env.relfn2path(self.options.get('cwd', '/'))
node['working_directory'] = cwd
node['use_shell'] = 'shell' in self.options
node['returncode'] = self.options.get('returncode', 0)
if 'ellipsis' in self.options:
node['strip_lines'] = self.options['ellipsis']
return [node]
_Command = namedtuple(
'Command', 'command shell hide_standard_error working_directory')
class Command(_Command):
"""
A command to be executed.
"""
def __new__(cls, command, shell=False, hide_standard_error=False,
working_directory='/'):
if isinstance(command, list):
command = tuple(command)
# `chdir()` resolves symlinks, so we need to resolve them too for
# caching to make sure that different symlinks to the same directory
# don't result in different cache keys. Also normalize paths to make
# sure that identical paths are also equal as strings.
working_directory = os.path.normpath(os.path.realpath(
working_directory))
return _Command.__new__(cls, command, shell, hide_standard_error,
working_directory)
@classmethod
def from_program_output_node(cls, node):
"""
Create a command from a :class:`program_output` node.
"""
extraargs = node.get('extraargs', '')
command = (node['command'] + ' ' + extraargs).strip()
return cls(command, node['use_shell'],
node['hide_standard_error'], node['working_directory'])
def execute(self):
"""
Execute this command.
Return the :class:`~subprocess.Popen` object representing the running
command.
"""
if self.shell:
if sys.version_info[0] < 3 and isinstance(self.command, unicode):
command = self.command.encode(sys.getfilesystemencoding())
else:
command = self.command
else:
if sys.version_info[0] < 3 and isinstance(self.command, unicode):
command = shlex.split(self.command.encode(
sys.getfilesystemencoding()))
elif isinstance(self.command, str):
command = shlex.split(self.command)
else:
command = self.command
return Popen(command, shell=self.shell, stdout=PIPE,
stderr=PIPE if self.hide_standard_error else STDOUT,
cwd=self.working_directory)
def get_output(self):
"""
Get the output of this command.
Return a tuple ``(returncode, output)``. ``returncode`` is the
integral return code of the process, ``output`` is the output as
unicode string, with final trailing spaces and new lines stripped.
"""
process = self.execute()
output = process.communicate()[0].decode(
sys.getfilesystemencoding(), 'replace').rstrip()
return process.returncode, output
def __str__(self):
if isinstance(self.command, tuple):
return repr(list(self.command))
return repr(self.command)
class ProgramOutputCache(defaultdict):
"""
Execute command and cache their output.
This class is a mapping. Its keys are :class:`Command` objects represeting
command invocations. Its values are tuples of the form ``(returncode,
output)``, where ``returncode`` is the integral return code of the command,
and ``output`` is the output as unicode string.
The first time, a key is retrieved from this object, the command is
invoked, and its result is cached. Subsequent access to the same key
returns the cached value.
"""
def __missing__(self, command):
"""
Called, if a command was not found in the cache.
``command`` is an instance of :class:`Command`.
"""
result = command.get_output()
self[command] = result
return result
def run_programs(app, doctree):
"""
Execute all programs represented by ``program_output`` nodes in
``doctree``. Each ``program_output`` node in ``doctree`` is then
replaced with a node, that represents the output of this program.
The program output is retrieved from the cache in
``app.env.programoutput_cache``.
"""
if app.config.programoutput_use_ansi:
# enable ANSI support, if requested by config
from sphinxcontrib.ansi import ansi_literal_block
node_class = ansi_literal_block
else:
node_class = nodes.literal_block
cache = app.env.programoutput_cache
for node in doctree.traverse(program_output):
command = Command.from_program_output_node(node)
try:
returncode, output = cache[command]
except EnvironmentError as error:
error_message = 'Command {0} failed: {1}'.format(command, error)
error_node = doctree.reporter.error(error_message, base_node=node)
node.replace_self(error_node)
else:
if returncode != node['returncode']:
app.warn('Unexpected return code {0} from command {1}'.format(
returncode, command))
# replace lines with ..., if ellipsis is specified
if 'strip_lines' in node:
lines = output.splitlines()
start, stop = node['strip_lines']
lines[start:stop] = ['...']
output = '\n'.join(lines)
if node['show_prompt']:
tmpl = app.config.programoutput_prompt_template
output = tmpl.format(command=node['command'], output=output,
returncode=returncode)
new_node = node_class(output, output)
new_node['language'] = 'text'
node.replace_self(new_node)
def init_cache(app):
"""
Initialize the cache for program output at
``app.env.programoutput_cache``, if not already present (e.g. being
loaded from a pickled environment).
The cache is of type :class:`ProgramOutputCache`.
"""
if not hasattr(app.env, 'programoutput_cache'):
app.env.programoutput_cache = ProgramOutputCache()
def setup(app):
app.add_config_value('programoutput_use_ansi', False, 'env')
app.add_config_value('programoutput_prompt_template',
'$ {command}\n{output}', 'env')
app.add_directive('program-output', ProgramOutputDirective)
app.add_directive('command-output', ProgramOutputDirective)
app.connect(str('builder-inited'), init_cache)
app.connect(str('doctree-read'), run_programs)

View File

@@ -1,29 +1,37 @@
Feature overview
==================
.. 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
================
This is a high-level overview of features that make Spack different
from other `package managers
<http://en.wikipedia.org/wiki/Package_management_system>`_ and `port
systems <http://en.wikipedia.org/wiki/Ports_collection>`_.
---------------------------
Simple package installation
----------------------------
---------------------------
Installing the default version of a package is simple. This will install
the latest version of the ``mpileaks`` package and all of its dependencies:
.. code-block:: sh
.. code-block:: console
$ spack install mpileaks
--------------------------------
Custom versions & configurations
-------------------------------------------
--------------------------------
Spack allows installation to be customized. Users can specify the
version, build compiler, compile-time options, and cross-compile
platform, all on the command line.
.. code-block:: sh
.. code-block:: console
# Install a particular version by appending @
$ spack install mpileaks@1.1.2
@@ -38,7 +46,7 @@ platform, all on the command line.
$ spack install mpileaks@1.1.2 %gcc@4.7.3 +debug
# Add compiler flags using the conventional names
$ spack install mpileaks@1.1.2 %gcc@4.7.3 cppflags=\"-O3 -floop-block\"
$ spack install mpileaks@1.1.2 %gcc@4.7.3 cppflags="-O3 -floop-block"
# Cross-compile for a different architecture with arch=
$ spack install mpileaks@1.1.2 arch=bgqos_0
@@ -47,37 +55,39 @@ Users can specify as many or few options as they care about. Spack
will fill in the unspecified values with sensible defaults. The two listed
syntaxes for variants are identical when the value is boolean.
----------------------
Customize dependencies
-------------------------------------
----------------------
Spack allows *dependencies* of a particular installation to be
customized extensively. Suppose that ``mpileaks`` depends indirectly
on ``libelf`` and ``libdwarf``. Using ``^``, users can add custom
configurations for the dependencies:
.. code-block:: sh
.. code-block:: console
# Install mpileaks and link it with specific versions of libelf and libdwarf
$ spack install mpileaks@1.1.2 %gcc@4.7.3 +debug ^libelf@0.8.12 ^libdwarf@20130729+debug
------------------------
Non-destructive installs
-------------------------------------
------------------------
Spack installs every unique package/dependency configuration into its
own prefix, so new installs will not break existing ones.
-------------------------------
Packages can peacefully coexist
-------------------------------------
-------------------------------
Spack avoids library misconfiguration by using ``RPATH`` to link
dependencies. When a user links a library or runs a program, it is
tied to the dependencies it was built with, so there is no need to
manipulate ``LD_LIBRARY_PATH`` at runtime.
-------------------------
Creating packages is easy
-------------------------------------
-------------------------
To create a new packages, all Spack needs is a URL for the source
archive. The ``spack create`` command will create a boilerplate
@@ -86,7 +96,7 @@ in pure Python.
For example, this command:
.. code-block:: sh
.. code-block:: console
$ spack create http://www.mr511.de/software/libelf-0.8.13.tar.gz
@@ -96,22 +106,32 @@ creates a simple python file:
from spack import *
class Libelf(Package):
homepage = "http://www.example.com/"
"""FIXME: Put a proper description of your package here."""
# FIXME: Add a proper url for your package's homepage here.
homepage = "http://www.example.com"
url = "http://www.mr511.de/software/libelf-0.8.13.tar.gz"
version('0.8.13', '4136d7b4c04df68b686570afa26988ac')
def install(self, prefix):
configure("--prefix=%s" % prefix)
# FIXME: Add dependencies if required.
# depends_on('foo')
def install(self, spec, prefix):
# FIXME: Modify the configure line to suit your build system here.
configure('--prefix={0}'.format(prefix))
# FIXME: Add logic to build and install here.
make()
make("install")
make('install')
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

File diff suppressed because it is too large Load Diff

View File

@@ -1,10 +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)
.. 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
contain the root `toctree` directive.
Spack Documentation
=================================
===================
Spack
===================
.. epigraph::
`These are docs for the Spack package manager. For sphere packing, see` `pyspack <https://pyspack.readthedocs.io>`_.
Spack is a package management tool designed to support multiple
versions and configurations of software on a wide variety of platforms
@@ -24,36 +34,57 @@ maintain a single file for many different builds of the same package.
See the :doc:`features` for examples and highlights.
Get spack from the `github repository
<https://github.com/llnl/spack>`_ and install your first
<https://github.com/spack/spack>`_ and install your first
package:
.. code-block:: sh
.. code-block:: console
$ git clone https://github.com/llnl/spack.git
$ git clone https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install libelf
If you're new to spack and want to start using it, see :doc:`getting_started`,
or refer to the full manual below.
Table of Contents
---------------------
.. toctree::
:maxdepth: 2
:caption: Basics
features
getting_started
basic_usage
packaging_guide
mirrors
workflows
tutorial
known_issues
.. toctree::
:maxdepth: 2
:caption: Reference
configuration
developer_guide
case_studies
config_yaml
build_settings
mirrors
module_file_support
repositories
binary_caches
command_index
package_list
API Docs <spack>
.. toctree::
:maxdepth: 2
:caption: Contributing
contribution_guide
packaging_guide
build_systems
developer_guide
docker_for_developers
Spack API Docs <spack>
LLNL API Docs <llnl>
==================
Indices and tables
==================

View File

@@ -0,0 +1,63 @@
.. 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
============
This is a list of known bugs in Spack. It provides ways of getting around these
problems if you encounter them.
---------------------------------------------------
Variants are not properly forwarded to dependencies
---------------------------------------------------
**Status:** Expected to be fixed in the next release
Sometimes, a variant of a package can also affect how its dependencies are
built. For example, in order to build MPI support for a package, it may
require that its dependencies are also built with MPI support. In the
``package.py``, this looks like:
.. code-block:: python
depends_on('hdf5~mpi', when='~mpi')
depends_on('hdf5+mpi', when='+mpi')
Spack handles this situation properly for *immediate* dependencies, and
builds ``hdf5`` with the same variant you used for the package that
depends on it. However, for *indirect* dependencies (dependencies of
dependencies), Spack does not backtrack up the DAG far enough to handle
this. Users commonly run into this situation when trying to build R with
X11 support:
.. code-block:: console
$ spack install r+X
...
==> Error: Invalid spec: 'cairo@1.14.8%gcc@6.2.1+X arch=linux-fedora25-x86_64 ^bzip2@1.0.6%gcc@6.2.1+shared arch=linux-fedora25-x86_64 ^font-util@1.3.1%gcc@6.2.1 arch=linux-fedora25-x86_64 ^fontconfig@2.12.1%gcc@6.2.1 arch=linux-fedora25-x86_64 ^freetype@2.7.1%gcc@6.2.1 arch=linux-fedora25-x86_64 ^gettext@0.19.8.1%gcc@6.2.1+bzip2+curses+git~libunistring+libxml2+tar+xz arch=linux-fedora25-x86_64 ^glib@2.53.1%gcc@6.2.1~libmount arch=linux-fedora25-x86_64 ^inputproto@2.3.2%gcc@6.2.1 arch=linux-fedora25-x86_64 ^kbproto@1.0.7%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libffi@3.2.1%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libpng@1.6.29%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libpthread-stubs@0.4%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libx11@1.6.5%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libxau@1.0.8%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libxcb@1.12%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libxdmcp@1.1.2%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libxext@1.3.3%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libxml2@2.9.4%gcc@6.2.1~python arch=linux-fedora25-x86_64 ^libxrender@0.9.10%gcc@6.2.1 arch=linux-fedora25-x86_64 ^ncurses@6.0%gcc@6.2.1~symlinks arch=linux-fedora25-x86_64 ^openssl@1.0.2k%gcc@6.2.1 arch=linux-fedora25-x86_64 ^pcre@8.40%gcc@6.2.1+utf arch=linux-fedora25-x86_64 ^pixman@0.34.0%gcc@6.2.1 arch=linux-fedora25-x86_64 ^pkg-config@0.29.2%gcc@6.2.1+internal_glib arch=linux-fedora25-x86_64 ^python@2.7.13%gcc@6.2.1+shared~tk~ucs4 arch=linux-fedora25-x86_64 ^readline@7.0%gcc@6.2.1 arch=linux-fedora25-x86_64 ^renderproto@0.11.1%gcc@6.2.1 arch=linux-fedora25-x86_64 ^sqlite@3.18.0%gcc@6.2.1 arch=linux-fedora25-x86_64 ^tar^util-macros@1.19.1%gcc@6.2.1 arch=linux-fedora25-x86_64 ^xcb-proto@1.12%gcc@6.2.1 arch=linux-fedora25-x86_64 ^xextproto@7.3.0%gcc@6.2.1 arch=linux-fedora25-x86_64 ^xproto@7.0.31%gcc@6.2.1 arch=linux-fedora25-x86_64 ^xtrans@1.3.5%gcc@6.2.1 arch=linux-fedora25-x86_64 ^xz@5.2.3%gcc@6.2.1 arch=linux-fedora25-x86_64 ^zlib@1.2.11%gcc@6.2.1+pic+shared arch=linux-fedora25-x86_64'.
Package cairo requires variant ~X, but spec asked for +X
A workaround is to explicitly activate the variants of dependencies as well:
.. code-block:: console
$ spack install r+X ^cairo+X ^pango+X
See https://github.com/spack/spack/issues/267 and
https://github.com/spack/spack/issues/2546 for further details.
----------------------------
``spack setup`` doesn't work
----------------------------
**Status:** Work in progress
Spack provides a ``setup`` command that is useful for the development of
software outside of Spack. Unfortunately, this command no longer works.
See https://github.com/spack/spack/issues/2597 and
https://github.com/spack/spack/issues/2662 for details. This is expected
to be fixed by https://github.com/spack/spack/pull/2664.

View File

@@ -1,7 +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)
.. _mirrors:
=======
Mirrors
============================
=======
Some sites may not have access to the internet for fetching packages.
These sites will need a local repository of tarballs from which they
@@ -10,27 +16,29 @@ mirror is a URL that points to a directory, either on the local
filesystem or on some server, containing tarballs for all of Spack's
packages.
Here's an example of a mirror's directory structure::
Here's an example of a mirror's directory structure:
mirror/
cmake/
cmake-2.8.10.2.tar.gz
dyninst/
dyninst-8.1.1.tgz
dyninst-8.1.2.tgz
libdwarf/
libdwarf-20130126.tar.gz
libdwarf-20130207.tar.gz
libdwarf-20130729.tar.gz
libelf/
libelf-0.8.12.tar.gz
libelf-0.8.13.tar.gz
libunwind/
libunwind-1.1.tar.gz
mpich/
mpich-3.0.4.tar.gz
mvapich2/
mvapich2-1.9.tgz
.. code-block:: none
mirror/
cmake/
cmake-2.8.10.2.tar.gz
dyninst/
dyninst-8.1.1.tgz
dyninst-8.1.2.tgz
libdwarf/
libdwarf-20130126.tar.gz
libdwarf-20130207.tar.gz
libdwarf-20130729.tar.gz
libelf/
libelf-0.8.12.tar.gz
libelf-0.8.13.tar.gz
libunwind/
libunwind-1.1.tar.gz
mpich/
mpich-3.0.4.tar.gz
mvapich2/
mvapich2-1.9.tgz
The structure is very simple. There is a top-level directory. The
second level directories are named after packages, and the third level
@@ -49,27 +57,16 @@ contains tarballs for each package, named after each package.
not standardize on a particular compression algorithm, because this
would potentially require expanding and re-compressing each archive.
.. _spack-mirror:
.. _cmd-spack-mirror:
----------------
``spack mirror``
----------------------------
----------------
Mirrors are managed with the ``spack mirror`` command. The help for
``spack mirror`` looks like this::
``spack mirror`` looks like this:
$ spack mirror -h
usage: spack mirror [-h] SUBCOMMAND ...
positional arguments:
SUBCOMMAND
create Create a directory to be used as a spack mirror, and fill
it with package archives.
add Add a mirror to Spack.
remove Remove a mirror by name.
list Print out available mirrors to the console.
optional arguments:
-h, --help show this help message and exit
.. command-output:: spack help mirror
The ``create`` command actually builds a mirror by fetching all of its
packages from the internet and checksumming them.
@@ -77,10 +74,11 @@ 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``
----------------------------
-----------------------
You can create a mirror using the ``spack mirror create`` command, assuming
you're on a machine where you can access the internet.
@@ -89,8 +87,7 @@ The command will iterate through all of Spack's packages and download
the safe ones into a directory structure like the one above. Here is
what it looks like:
.. code-block:: bash
.. code-block:: console
$ spack mirror create libelf libdwarf
==> Created new mirror in spack-mirror-2014-06-24
@@ -124,25 +121,31 @@ what it looks like:
Once this is done, you can tar up the ``spack-mirror-2014-06-24`` directory and
copy it over to the machine you want it hosted on.
^^^^^^^^^^^^^^^^^^^
Custom package sets
~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^
Normally, ``spack mirror create`` downloads all the archives it has
checksums for. If you want to only create a mirror for a subset of
packages, you can do that by supplying a list of package specs on the
command line after ``spack mirror create``. For example, this
command::
command:
$ spack mirror create libelf@0.8.12: boost@1.44:
.. code-block:: console
$ spack mirror create libelf@0.8.12: boost@1.44:
Will create a mirror for libelf versions greater than or equal to
0.8.12 and boost versions greater than or equal to 1.44.
^^^^^^^^^^^^
Mirror files
~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^
If you have a *very* large number of packages you want to mirror, you
can supply a file with specs in it, one per line::
can supply a file with specs in it, one per line:
.. code-block:: console
$ cat specs.txt
libdwarf
@@ -150,65 +153,77 @@ can supply a file with specs in it, one per line::
boost@1.44:
boost@1.39.0
...
$ spack mirror create -f specs.txt
$ spack mirror create --file specs.txt
...
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``
----------------------------
--------------------
Once you have a mirror, you need to let spack know about it. This is
relatively simple. First, figure out the URL for the mirror. If it's
a file, you can use a file URL like this one::
a directory, you can use a file URL like this one:
file:///Users/gamblin2/spack-mirror-2014-06-24
.. code-block:: none
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:
https://example.com/some/web-hosted/directory/spack-mirror-2014-06-24
https://example.com/some/web-hosted/directory/spack-mirror-2014-06-24
Spack will use the URL as the root for all of the packages it fetches.
You can tell your Spack installation to use that mirror like this:
.. code-block:: bash
.. code-block:: console
$ spack mirror add local_filesystem file:///Users/gamblin2/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``
----------------------------
---------------------
To see all the mirrors Spack knows about, run ``spack mirror list``::
To see all the mirrors Spack knows about, run ``spack mirror list``:
.. code-block:: console
$ spack mirror list
local_filesystem file:///Users/gamblin2/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``
----------------------------
-----------------------
To remove a mirror by name::
To remove a mirror by name, run:
.. code-block:: console
$ spack mirror remove local_filesystem
$ spack mirror list
==> No mirrors configured.
-----------------
Mirror precedence
----------------------------
-----------------
Adding a mirror really adds a line in ``~/.spack/mirrors.yaml``::
Adding a mirror really adds a line in ``~/.spack/mirrors.yaml``:
.. code-block:: yaml
mirrors:
local_filesystem: file:///Users/gamblin2/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
@@ -217,18 +232,19 @@ search the topmost mirror first and the bottom-most mirror last.
.. _caching:
-------------------
Local Default Cache
----------------------------
-------------------
Spack caches resources that are downloaded as part of installs. The cache is
a valid spack mirror: it uses the same directory structure and naming scheme
as other Spack mirrors (so it can be copied anywhere and referenced with a URL
like other mirrors). The mirror is maintained locally (within the Spack
installation directory) at :file:`var/spack/cache/`. It is always enabled (and
is always searched first when attempting to retrieve files for an installation)
but can be cleared with :ref:`purge <spack-purge>`; the cache directory can also
be deleted manually without issue.
like other mirrors). The mirror is maintained locally (within the Spack
installation directory) at :file:`var/spack/cache/`. It is always enabled (and
is always searched first when attempting to retrieve files for an installation)
but can be cleared with :ref:`clean <cmd-spack-clean>`; the cache directory can also
be deleted manually without issue.
Caching includes retrieved tarball archives and source control repositories, but
only resources with an associated digest or commit ID (e.g. a revision number
only resources with an associated digest or commit ID (e.g. a revision number
for SVN) will be cached.

View File

@@ -0,0 +1,989 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<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"
version="1.1"
width="682"
height="382"
id="svg3341"
inkscape:version="0.48.4 r9939"
sodipodi:docname="module_file_generation.svg">
<metadata
id="metadata3657">
<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>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1134"
id="namedview3655"
showgrid="false"
inkscape:zoom="2.0073314"
inkscape:cx="341"
inkscape:cy="191"
inkscape:window-x="1920"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="g3345" />
<defs
id="defs3343" />
<g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Background">
<rect
style="fill:none;stroke:#ff0000;stroke-width:1.40437257;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8.42623582, 8.42623582;stroke-dashoffset:0"
id="rect3844"
width="442.15341"
height="375.15021"
x="18.745768"
y="3.2206354" />
<rect
style="fill:none;stroke:#0000ff;stroke-width:1.50000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:9, 9;stroke-dashoffset:0"
id="rect3844-6"
width="175.74904"
height="179.83459"
x="486.96402"
y="179.3212" />
</g>
<g
id="g3345">
<g
transform="translate(-246,-214) scale(1,1)"
id="g3347">
<rect
fill="#C0C0C0"
stroke="none"
x="297"
y="231"
width="198"
height="104"
opacity="0.2"
id="rect3349" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3351">
<rect
fill="#ffffff"
stroke="none"
x="290"
y="224"
width="198"
height="104"
id="rect3353" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3355">
<path
fill="none"
stroke="#000000"
d="M 290 224 L 488 224 L 488 328 L 290 328 L 290 224 Z Z"
stroke-miterlimit="10"
id="path3357" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3359">
<rect
fill="#ffffff"
stroke="none"
x="280"
y="231"
width="20"
height="10"
id="rect3361" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3363">
<path
fill="none"
stroke="#000000"
d="M 280 231 L 300 231 L 300 241 L 280 241 L 280 231 Z Z"
stroke-miterlimit="10"
id="path3365" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3367">
<rect
fill="#ffffff"
stroke="none"
x="280"
y="251"
width="20"
height="10"
id="rect3369" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3371">
<path
fill="none"
stroke="#000000"
d="M 280 251 L 300 251 L 300 261 L 280 261 L 280 251 Z Z"
stroke-miterlimit="10"
id="path3373" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3375">
<g
id="g3377">
<path
fill="none"
stroke="none"
id="path3379" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="343"
y="243.5"
id="text3381">Configuration files</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3383">
<rect
fill="#C0C0C0"
stroke="none"
x="327"
y="263"
width="98"
height="24"
opacity="0.2"
id="rect3385" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3387">
<rect
fill="#ffffff"
stroke="none"
x="320"
y="256"
width="98"
height="24"
id="rect3389" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3391">
<path
fill="none"
stroke="#000000"
d="M 320 256 L 418 256 L 418 280 L 320 280 L 320 256 Z Z"
stroke-miterlimit="10"
id="path3393" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3395">
<rect
fill="#ffffff"
stroke="none"
x="320"
y="256"
width="98"
height="24"
id="rect3397" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3399">
<path
fill="none"
stroke="#000000"
d="M 320 256 L 418 256 L 418 280 L 320 280 L 320 256 Z Z"
stroke-miterlimit="10"
id="path3401" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3403">
<g
id="g3405"
transform="translate(-2.8259277,-4.138916)">
<path
id="path3407"
d=""
inkscape:connector-curvature="0"
style="fill:none;stroke:none" />
<text
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="328.5"
y="275.5"
id="text3409"
style="font-size:13px;font-style:normal;font-weight:bold;text-decoration:none;fill:#000000;stroke:none;font-family:Arial">modules.yaml</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3411">
<rect
fill="#C0C0C0"
stroke="none"
x="335"
y="295"
width="83"
height="24"
opacity="0.2"
id="rect3413" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3415">
<rect
fill="#ffffff"
stroke="none"
x="328"
y="288"
width="83"
height="24"
id="rect3417" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3419">
<path
fill="none"
stroke="#000000"
d="M 328 288 L 411 288 L 411 312 L 328 312 L 328 288 Z Z"
stroke-miterlimit="10"
id="path3421" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3423">
<rect
fill="#ffffff"
stroke="none"
x="328"
y="288"
width="83"
height="24"
id="rect3425" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3427">
<path
fill="none"
stroke="#000000"
d="M 328 288 L 411 288 L 411 312 L 328 312 L 328 288 Z Z"
stroke-miterlimit="10"
id="path3429" />
</g>
<g
transform="translate(-248.92773,-218.16748)"
id="g3431">
<g
id="g3433">
<path
id="path3435"
d=""
inkscape:connector-curvature="0"
style="fill:none;stroke:none" />
<text
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="336.5"
y="307.5"
id="text3437"
style="font-size:13px;font-style:normal;font-weight:bold;text-decoration:none;fill:#000000;stroke:none;font-family:Arial">config.yaml</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3439">
<rect
fill="#C0C0C0"
stroke="none"
x="489"
y="407"
width="198"
height="72"
opacity="0.2"
id="rect3441" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3443">
<rect
fill="#ffffff"
stroke="none"
x="482"
y="400"
width="198"
height="72"
id="rect3445" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3447">
<path
fill="none"
stroke="#000000"
d="M 482 400 L 680 400 L 680 472 L 482 472 L 482 400 Z Z"
stroke-miterlimit="10"
id="path3449" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3451">
<rect
fill="#ffffff"
stroke="none"
x="472"
y="407"
width="20"
height="10"
id="rect3453" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3455">
<path
fill="none"
stroke="#000000"
d="M 472 407 L 492 407 L 492 417 L 472 417 L 472 407 Z Z"
stroke-miterlimit="10"
id="path3457" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3459">
<rect
fill="#ffffff"
stroke="none"
x="472"
y="427"
width="20"
height="10"
id="rect3461" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3463">
<path
fill="none"
stroke="#000000"
d="M 472 427 L 492 427 L 492 437 L 472 437 L 472 427 Z Z"
stroke-miterlimit="10"
id="path3465" />
</g>
<g
transform="translate(-255.37842,-194.16748)"
id="g3467">
<g
id="g3469">
<path
id="path3471"
d=""
inkscape:connector-curvature="0"
style="fill:none;stroke:none" />
<text
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="528"
y="419.5"
id="text3473"
style="font-size:13px;font-style:normal;font-weight:bold;text-decoration:none;fill:#000000;stroke:none;font-family:Arial">Module subpackage</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3475">
<path
fill="none"
stroke="#000000"
d="M 369 313 L 368 440 L 471 438"
stroke-miterlimit="10"
stroke-dasharray="3"
id="path3477" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3479">
<path
fill="none"
stroke="#000000"
d="M 460.9209632639215 442.4060207072573 L 471 438 L 460.7575176559406 433.98857189624056"
stroke-miterlimit="10"
id="path3481" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3483">
<path
fill="#ffffff"
stroke="none"
d="M 256 448 L 381 448 L 391 458 L 391 496 L 256 496 L 256 448"
id="path3485" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3487">
<path
fill="none"
stroke="#000000"
d="M 256 448 L 381 448 L 391 458 L 391 496 L 256 496 L 256 448 L 256 448"
stroke-miterlimit="10"
id="path3489" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3491">
<path
fill="none"
stroke="#000000"
d="M 381 448 L 381 458 L 391 458 L 381 448"
stroke-miterlimit="10"
id="path3493" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3495">
<g
id="g3497">
<path
fill="none"
stroke="none"
id="path3499" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="normal"
text-decoration="none"
x="261"
y="466"
id="text3501">template directory</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3503">
<g
id="g3505">
<path
fill="none"
stroke="none"
id="path3507" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="normal"
text-decoration="none"
x="261"
y="481"
id="text3509">module file directory</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3511">
<path
fill="none"
stroke="#000000"
d="M 419 439 L 393 448"
stroke-miterlimit="10"
stroke-dasharray="3"
id="path3513" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3515">
<path
d="M 419,267 576.40856,267.26845 576,399"
stroke-miterlimit="10"
id="path3517"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000;stroke-miterlimit:10;stroke-dasharray:3"
sodipodi:nodetypes="ccc" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3519">
<path
fill="none"
stroke="#000000"
d="M 571.790482243984 388.83732514237585 L 576 399 L 580.209517756016 388.83732514237585"
stroke-miterlimit="10"
id="path3521" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3523">
<path
fill="#ffffff"
stroke="none"
d="M 600 296 L 737 296 L 747 306 L 747 344 L 600 344 L 600 296"
id="path3525" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3527">
<path
fill="none"
stroke="#000000"
d="M 600 296 L 737 296 L 747 306 L 747 344 L 600 344 L 600 296 L 600 296"
stroke-miterlimit="10"
id="path3529" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3531">
<path
fill="none"
stroke="#000000"
d="M 737 296 L 737 306 L 747 306 L 737 296"
stroke-miterlimit="10"
id="path3533" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3535">
<g
id="g3537">
<path
fill="none"
stroke="none"
id="path3539" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="normal"
text-decoration="none"
x="605"
y="314"
id="text3541">content customization</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3543">
<g
id="g3545">
<path
fill="none"
stroke="none"
id="path3547" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="normal"
text-decoration="none"
x="605"
y="329"
id="text3549">layout customization</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3551">
<path
fill="none"
stroke="#000000"
d="M 576 331 L 599 328"
stroke-miterlimit="10"
stroke-dasharray="3"
id="path3553" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3555">
<rect
fill="#C0C0C0"
stroke="none"
x="801"
y="415"
width="99"
height="44"
opacity="0.2"
id="rect3557" />
</g>
<g
transform="translate(-246,-210)"
id="g3559">
<rect
x="794"
y="408"
width="99"
height="44"
id="rect3561"
style="fill:#ffffff;stroke:none" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3563">
<path
fill="none"
stroke="#000000"
d="M 794 408 L 893 408 L 893 452 L 794 452 L 794 408 Z Z"
stroke-miterlimit="10"
id="path3565" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3567">
<rect
fill="#ffffff"
stroke="none"
x="784"
y="415"
width="20"
height="10"
id="rect3569" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3571">
<path
fill="none"
stroke="#000000"
d="M 784 415 L 804 415 L 804 425 L 784 425 L 784 415 Z Z"
stroke-miterlimit="10"
id="path3573" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3575">
<rect
fill="#ffffff"
stroke="none"
x="784"
y="435"
width="20"
height="10"
id="rect3577" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3579">
<path
fill="none"
stroke="#000000"
d="M 784 435 L 804 435 L 804 445 L 784 445 L 784 435 Z Z"
stroke-miterlimit="10"
id="path3581" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3583">
<g
id="g3585"
transform="translate(-6.7685547,5.861084)">
<path
id="path3587"
d=""
inkscape:connector-curvature="0"
style="fill:none;stroke:none" />
<text
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="832"
y="427.5"
id="text3589"
style="font-size:13px;font-style:normal;font-weight:bold;text-decoration:none;fill:#000000;stroke:none;font-family:Arial">Jinja2</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3591">
<path
fill="#C0C0C0"
stroke="none"
d="M 568.9 519 L 596.34 519 L 608.1 530.76 L 608.1 568 L 568.9 568"
opacity="0.2"
id="path3593" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3595">
<path
fill="#ffffff"
stroke="none"
d="M 561.9 512 L 589.34 512 L 601.1 523.76 L 601.1 561 L 561.9 561"
id="path3597" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3599">
<path
fill="none"
stroke="#000000"
d="M 561.9 512 L 589.34 512 L 601.1 523.76 L 601.1 561 L 561.9 561 L 561.9 512"
stroke-miterlimit="10"
id="path3601" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3603">
<path
fill="none"
stroke="#000000"
d="M 589.34 512 L 589.34 523.76 L 601.1 523.76 L 589.34 512"
stroke-miterlimit="10"
id="path3605" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3607">
<g
id="g3609">
<path
fill="none"
stroke="none"
id="path3611" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="551.5"
y="580.5"
id="text3613">Templates</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3615">
<path
d="M 620,549 836.73155,549.54866 838,453"
stroke-miterlimit="10"
id="path3617"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000;stroke-miterlimit:10;stroke-dasharray:3"
sodipodi:nodetypes="ccc" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3619">
<path
fill="none"
stroke="#000000"
d="M 842.4139237018308 463.0755782739462 L 838 453 L 833.9966056593214 463.2456251030878"
stroke-miterlimit="10"
id="path3621" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3623">
<path
d="M 680.18289,431.54866 783,431"
stroke-miterlimit="10"
id="path3625"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000;stroke-miterlimit:10;stroke-dasharray:3"
sodipodi:nodetypes="cc" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3627">
<path
fill="none"
stroke="#000000"
d="M 772.9654737429415 435.5064712133113 L 783 431 L 772.7179620834851 427.0910747917938"
stroke-miterlimit="10"
id="path3629" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3631">
<path
fill="#C0C0C0"
stroke="none"
d="M 862.4 247 L 889.84 247 L 901.6 258.76 L 901.6 296 L 862.4 296"
opacity="0.2"
id="path3633" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3635">
<path
fill="#ffffff"
stroke="none"
d="M 855.4 240 L 882.84 240 L 894.6 251.76000000000002 L 894.6 289 L 855.4 289"
id="path3637" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3639">
<path
fill="none"
stroke="#000000"
d="M 855.4 240 L 882.84 240 L 894.6 251.76000000000002 L 894.6 289 L 855.4 289 L 855.4 240"
stroke-miterlimit="10"
id="path3641" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3643">
<path
fill="none"
stroke="#000000"
d="M 882.84 240 L 882.84 251.76000000000002 L 894.6 251.76000000000002 L 882.84 240"
stroke-miterlimit="10"
id="path3645" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3647">
<g
id="g3649">
<path
fill="none"
stroke="none"
id="path3651" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="840.5"
y="308.5"
id="text3653">Module files</text>
</g>
</g>
<g
transform="translate(-261.34866,-222.82727)"
id="g3635-8">
<path
style="fill:#ffffff;stroke:none"
inkscape:connector-curvature="0"
d="m 855.4,240 27.44,0 11.76,11.76 0,37.24 -39.2,0"
id="path3637-9" />
</g>
<g
transform="translate(-261.34866,-222.82727)"
id="g3639-7">
<path
style="fill:none;stroke:#000000;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 855.4,240 27.44,0 11.76,11.76 0,37.24 -39.2,0 0,-49"
stroke-miterlimit="10"
id="path3641-3" />
</g>
<g
transform="translate(-261.34866,-222.82727)"
id="g3643-6">
<path
style="fill:none;stroke:#000000;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 882.84,240 0,11.76 11.76,0 L 882.84,240"
stroke-miterlimit="10"
id="path3645-1" />
</g>
<g
transform="translate(-278.09946,-233.44973)"
id="g3635-84">
<path
style="fill:#ffffff;stroke:none"
inkscape:connector-curvature="0"
d="m 855.4,240 27.44,0 11.76,11.76 0,37.24 -39.2,0"
id="path3637-5" />
</g>
<g
transform="translate(-278.09946,-233.44973)"
id="g3639-0">
<path
style="fill:none;stroke:#000000;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 855.4,240 27.44,0 11.76,11.76 0,37.24 -39.2,0 0,-49"
stroke-miterlimit="10"
id="path3641-36" />
</g>
<g
transform="translate(-278.09946,-233.44973)"
id="g3643-1">
<path
style="fill:none;stroke:#000000;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 882.84,240 0,11.76 11.76,0 L 882.84,240"
stroke-miterlimit="10"
id="path3645-0" />
</g>
<g
transform="translate(-27.431351,-208.3001)"
id="g3375-6" />
<g
id="g4709"
transform="matrix(1,0,0,0.81117898,54.337968,31.640263)">
<g
id="g3623-5"
transform="matrix(0,-1,1,0,121.9107,875.37876)">
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-miterlimit:10;stroke-dasharray:3"
inkscape:connector-curvature="0"
id="path3625-4"
stroke-miterlimit="10"
d="M 680.18289,431.54866 783,431" />
</g>
<g
id="g3627-7"
transform="matrix(0,-1,1,0,121.98695,871.00978)">
<path
id="path3629-6"
stroke-miterlimit="10"
d="M 772.96547,435.50647 783,431 772.71796,427.09107"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000;stroke-miterlimit:10" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -0,0 +1,672 @@
.. 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:
=======
Modules
=======
The use of module systems to manage user environment in a controlled way
is a common practice at HPC centers that is often embraced also by individual
programmers on their development machines. To support this common practice
Spack integrates with `Environment Modules
<http://modules.sourceforge.net/>`_ , `LMod
<http://lmod.readthedocs.io/en/latest/>`_ and `Dotkit <https://computing.llnl.gov/?set=jobs&page=dotkit>`_ by
providing post-install hooks that generate module files and commands to manipulate them.
.. note::
If your machine does not already have a module system installed,
we advise you to use either Environment Modules or LMod. See :ref:`InstallEnvironmentModules`
for more details.
.. _shell-support:
----------------------------
Using module files via Spack
----------------------------
If you have installed a supported module system either manually or through
``spack bootstrap``, you should be able to run either ``module avail`` or
``use -l spack`` to see what module files have been installed. Here is
sample output of those programs, showing lots of installed packages:
.. code-block:: console
$ module avail
--------------------------------------------------------------- ~/spack/share/spack/modules/linux-ubuntu14-x86_64 ---------------------------------------------------------------
autoconf-2.69-gcc-4.8-qextxkq hwloc-1.11.6-gcc-6.3.0-akcisez m4-1.4.18-gcc-4.8-ev2znoc openblas-0.2.19-gcc-6.3.0-dhkmed6 py-setuptools-34.2.0-gcc-6.3.0-fadur4s
automake-1.15-gcc-4.8-maqvukj isl-0.18-gcc-4.8-afi6taq m4-1.4.18-gcc-6.3.0-uppywnz openmpi-2.1.0-gcc-6.3.0-go2s4z5 py-six-1.10.0-gcc-6.3.0-p4dhkaw
binutils-2.28-gcc-4.8-5s7c6rs libiconv-1.15-gcc-4.8-at46wg3 mawk-1.3.4-gcc-4.8-acjez57 openssl-1.0.2k-gcc-4.8-dkls5tk python-2.7.13-gcc-6.3.0-tyehea7
bison-3.0.4-gcc-4.8-ek4luo5 libpciaccess-0.13.4-gcc-6.3.0-gmufnvh mawk-1.3.4-gcc-6.3.0-ostdoms openssl-1.0.2k-gcc-6.3.0-gxgr5or readline-7.0-gcc-4.8-xhufqhn
bzip2-1.0.6-gcc-4.8-iffrxzn libsigsegv-2.11-gcc-4.8-pp2cvte mpc-1.0.3-gcc-4.8-g5mztc5 pcre-8.40-gcc-4.8-r5pbrxb readline-7.0-gcc-6.3.0-zzcyicg
bzip2-1.0.6-gcc-6.3.0-bequudr libsigsegv-2.11-gcc-6.3.0-7enifnh mpfr-3.1.5-gcc-4.8-o7xm7az perl-5.24.1-gcc-4.8-dg5j65u sqlite-3.8.5-gcc-6.3.0-6zoruzj
cmake-3.7.2-gcc-6.3.0-fowuuby libtool-2.4.6-gcc-4.8-7a523za mpich-3.2-gcc-6.3.0-dmvd3aw perl-5.24.1-gcc-6.3.0-6uzkpt6 tar-1.29-gcc-4.8-wse2ass
curl-7.53.1-gcc-4.8-3fz46n6 libtool-2.4.6-gcc-6.3.0-n7zmbzt ncurses-6.0-gcc-4.8-dcpe7ia pkg-config-0.29.2-gcc-4.8-ib33t75 tcl-8.6.6-gcc-4.8-tfxzqbr
expat-2.2.0-gcc-4.8-mrv6bd4 libxml2-2.9.4-gcc-4.8-ryzxnsu ncurses-6.0-gcc-6.3.0-ucbhcdy pkg-config-0.29.2-gcc-6.3.0-jpgubk3 util-macros-1.19.1-gcc-6.3.0-xorz2x2
flex-2.6.3-gcc-4.8-yf345oo libxml2-2.9.4-gcc-6.3.0-rltzsdh netlib-lapack-3.6.1-gcc-6.3.0-js33dog py-appdirs-1.4.0-gcc-6.3.0-jxawmw7 xz-5.2.3-gcc-4.8-mew4log
gcc-6.3.0-gcc-4.8-24puqve lmod-7.4.1-gcc-4.8-je4srhr netlib-scalapack-2.0.2-gcc-6.3.0-5aidk4l py-numpy-1.12.0-gcc-6.3.0-oemmoeu xz-5.2.3-gcc-6.3.0-3vqeuvb
gettext-0.19.8.1-gcc-4.8-yymghlh lua-5.3.4-gcc-4.8-im75yaz netlib-scalapack-2.0.2-gcc-6.3.0-hjsemcn py-packaging-16.8-gcc-6.3.0-i2n3dtl zip-3.0-gcc-4.8-rwar22d
gmp-6.1.2-gcc-4.8-5ub2wu5 lua-luafilesystem-1_6_3-gcc-4.8-wkey3nl netlib-scalapack-2.0.2-gcc-6.3.0-jva724b py-pyparsing-2.1.10-gcc-6.3.0-tbo6gmw zlib-1.2.11-gcc-4.8-pgxsxv7
help2man-1.47.4-gcc-4.8-kcnqmau lua-luaposix-33.4.0-gcc-4.8-mdod2ry netlib-scalapack-2.0.2-gcc-6.3.0-rgqfr6d py-scipy-0.19.0-gcc-6.3.0-kr7nat4 zlib-1.2.11-gcc-6.3.0-7cqp6cj
The names should look familiar, as they resemble the output from ``spack find``.
You *can* use the modules here directly. For example, you could type either of these commands
to load the ``cmake`` module:
.. code-block:: console
$ use cmake-3.7.2-gcc-6.3.0-fowuuby
.. code-block:: console
$ module load cmake-3.7.2-gcc-6.3.0-fowuuby
Neither of these is particularly pretty, easy to remember, or
easy to type. Luckily, Spack has its own interface for using modules and dotkits.
^^^^^^^^^^^^^
Shell support
^^^^^^^^^^^^^
To enable additional Spack commands for loading and unloading module files,
and to add the correct path to ``MODULEPATH``, you need to source the appropriate
setup file in the ``$SPACK_ROOT/share/spack`` directory. This will activate shell
support for the commands that need it. For ``bash``, ``ksh`` or ``zsh`` users:
.. code-block:: console
$ . ${SPACK_ROOT}/share/spack/setup-env.sh
For ``csh`` and ``tcsh`` instead:
.. code-block:: console
$ set SPACK_ROOT ...
$ source $SPACK_ROOT/share/spack/setup-env.csh
Note that in the latter case it is necessary to explicitly set ``SPACK_ROOT``
before sourcing the setup file (you will get a meaningful error message
if you don't).
When ``bash`` and ``ksh`` users update their environment with ``setup-env.sh``, it will check for spack-installed environment modules and add the ``module`` command to their environment; This only occurs if the module command is not already available. You can install ``environment-modules`` with ``spack bootstrap`` as described in :ref:`InstallEnvironmentModules`.
Finally, if you want to have Spack's shell support available on the command line at
any login you can put this source line in one of the files that are sourced
at startup (like ``.profile``, ``.bashrc`` or ``.cshrc``). Be aware though
that the startup time may be slightly increased because of that.
.. _cmd-spack-load:
^^^^^^^^^^^^^^^^^^^^^^^
``spack load / unload``
^^^^^^^^^^^^^^^^^^^^^^^
Once you have shell support enabled you can use the same spec syntax
you're used to:
========================= ==========================
Modules Dotkit
========================= ==========================
``spack load <spec>`` ``spack use <spec>``
``spack unload <spec>`` ``spack unuse <spec>``
========================= ==========================
And you can use the same shortened names you use everywhere else in
Spack.
For example, if you are using dotkit, this will add the ``mpich``
package built with ``gcc`` to your path:
.. code-block:: console
$ spack install mpich %gcc@4.4.7
# ... wait for install ...
$ spack 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 if you are using modules, you could type:
.. code-block:: console
$ 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
want to use a package, you can type unload or unuse similarly:
.. code-block:: console
$ spack unload mpich %gcc@4.4.7 # modules
$ spack unuse mpich %gcc@4.4.7 # dotkit
.. note::
These ``use``, ``unuse``, ``load``, and ``unload`` subcommands are
only available if you have enabled Spack's shell support *and* you
have dotkit or modules installed on your machine.
^^^^^^^^^^^^^^^^^^^^^^
Ambiguous module names
^^^^^^^^^^^^^^^^^^^^^^
If a spec used with load/unload or use/unuse is ambiguous (i.e. more
than one installed package matches it), then Spack will warn you:
.. code-block:: console
$ spack load libelf
==> Error: Multiple matches for spec libelf. Choose one:
libelf@0.8.13%gcc@4.4.7 arch=linux-debian7-x86_64
libelf@0.8.13%intel@15.0.0 arch=linux-debian7-x86_64
You can either type the ``spack load`` command again with a fully
qualified argument, or you can add just enough extra constraints to
identify one package. For example, above, the key differentiator is
that one ``libelf`` is built with the Intel compiler, while the other
used ``gcc``. You could therefore just type:
.. code-block:: console
$ spack load libelf %intel
To identify just the one built with the Intel compiler.
.. _extensions:
.. _cmd-spack-module-loads:
^^^^^^^^^^^^^^^^^^^^^^^^^^
``spack module tcl loads``
^^^^^^^^^^^^^^^^^^^^^^^^^^
In some cases, it is desirable to load not just a module, but also all
the modules it depends on. This is not required for most modules
because Spack builds binaries with RPATH support. However, not all
packages use RPATH to find their dependencies: this can be true in
particular for Python extensions, which are currently *not* built with
RPATH.
Scripts to load modules recursively may be made with the command:
.. code-block:: console
$ spack module tcl loads --dependencies <spec>
An equivalent alternative using `process substitution <http://tldp.org/LDP/abs/html/process-sub.html>`_ is:
.. code-block :: console
$ source <( spack module tcl loads --dependencies <spec> )
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Module Commands for Shell Scripts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Although Spack is flexible, the ``module`` command is much faster.
This could become an issue when emitting a series of ``spack load``
commands inside a shell script. By adding the ``--shell`` flag,
``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 tcl loads --dependencies py-numpy git
# bzip2@1.0.6%gcc@4.9.3=linux-x86_64
module load bzip2-1.0.6-gcc-4.9.3-ktnrhkrmbbtlvnagfatrarzjojmkvzsx
# ncurses@6.0%gcc@4.9.3=linux-x86_64
module load ncurses-6.0-gcc-4.9.3-kaazyneh3bjkfnalunchyqtygoe2mncv
# zlib@1.2.8%gcc@4.9.3=linux-x86_64
module load zlib-1.2.8-gcc-4.9.3-v3ufwaahjnviyvgjcelo36nywx2ufj7z
# sqlite@3.8.5%gcc@4.9.3=linux-x86_64
module load sqlite-3.8.5-gcc-4.9.3-a3eediswgd5f3rmto7g3szoew5nhehbr
# readline@6.3%gcc@4.9.3=linux-x86_64
module load readline-6.3-gcc-4.9.3-se6r3lsycrwxyhreg4lqirp6xixxejh3
# python@3.5.1%gcc@4.9.3=linux-x86_64
module load python-3.5.1-gcc-4.9.3-5q5rsrtjld4u6jiicuvtnx52m7tfhegi
# py-setuptools@20.5%gcc@4.9.3=linux-x86_64
module load py-setuptools-20.5-gcc-4.9.3-4qr2suj6p6glepnedmwhl4f62x64wxw2
# py-nose@1.3.7%gcc@4.9.3=linux-x86_64
module load py-nose-1.3.7-gcc-4.9.3-pwhtjw2dvdvfzjwuuztkzr7b4l6zepli
# openblas@0.2.17%gcc@4.9.3+shared=linux-x86_64
module load openblas-0.2.17-gcc-4.9.3-pw6rmlom7apfsnjtzfttyayzc7nx5e7y
# py-numpy@1.11.0%gcc@4.9.3+blas+lapack=linux-x86_64
module load py-numpy-1.11.0-gcc-4.9.3-mulodttw5pcyjufva4htsktwty4qd52r
# curl@7.47.1%gcc@4.9.3=linux-x86_64
module load curl-7.47.1-gcc-4.9.3-ohz3fwsepm3b462p5lnaquv7op7naqbi
# autoconf@2.69%gcc@4.9.3=linux-x86_64
module load autoconf-2.69-gcc-4.9.3-bkibjqhgqm5e3o423ogfv2y3o6h2uoq4
# cmake@3.5.0%gcc@4.9.3~doc+ncurses+openssl~qt=linux-x86_64
module load cmake-3.5.0-gcc-4.9.3-x7xnsklmgwla3ubfgzppamtbqk5rwn7t
# expat@2.1.0%gcc@4.9.3=linux-x86_64
module load expat-2.1.0-gcc-4.9.3-6pkz2ucnk2e62imwakejjvbv6egncppd
# git@2.8.0-rc2%gcc@4.9.3+curl+expat=linux-x86_64
module load git-2.8.0-rc2-gcc-4.9.3-3bib4hqtnv5xjjoq5ugt3inblt4xrgkd
The script may be further edited by removing unnecessary modules.
^^^^^^^^^^^^^^^
Module Prefixes
^^^^^^^^^^^^^^^
On some systems, modules are automatically prefixed with a certain
string; ``spack module tcl loads`` needs to know about that prefix when it
issues ``module load`` commands. Add the ``--prefix`` option to your
``spack module tcl loads`` commands if this is necessary.
For example, consider the following on one system:
.. code-block:: console
$ module avail
linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module tcl loads antlr # WRONG!
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module tcl loads --prefix linux-SuSE11-x86_64/ antlr
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y
-------------------------
Module file customization
-------------------------
Module files are generated by post-install hooks after the successful
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 | 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
you can customize many aspects of it to accommodate package or site specific needs.
In general you can override or extend the default behavior by:
1. overriding certain callback APIs in the Python packages
2. writing specific rules in the ``modules.yaml`` configuration file
3. writing your own templates to override or extend the defaults
The former method let you express changes in the run-time environment
that are needed to use the installed software properly, e.g. injecting variables
from language interpreters into their extensions. The latter two instead permit to
fine tune the filesystem layout, content and creation of module files to meet
site specific conventions.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Override API calls in ``package.py``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
There are two methods that you can override in any ``package.py`` to affect the
content of the module files generated by Spack. The first one:
.. code-block:: python
def setup_environment(self, spack_env, run_env):
"""Set up the compile and runtime environments for a package."""
pass
can alter the content of the module file associated with the same package where it is overridden.
The second method:
.. code-block:: python
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
"""Set up the environment of packages that depend on this one"""
pass
can instead inject run-time environment modifications in the module files of packages
that depend on it. In both cases you need to fill ``run_env`` with the desired
list of environment modifications.
.. note::
The ``r`` package and callback APIs
An example in which it is crucial to override both methods
is given by the ``r`` package. This package installs libraries and headers
in non-standard locations and it is possible to prepend the appropriate directory
to the corresponding environment variables:
================== =================================
LIBRARY_PATH ``self.prefix/rlib/R/lib``
LD_LIBRARY_PATH ``self.prefix/rlib/R/lib``
CPATH ``self.prefix/rlib/R/include``
================== =================================
with the following snippet:
.. literalinclude:: ../../../var/spack/repos/builtin/packages/r/package.py
:pyobject: R.setup_environment
The ``r`` package also knows which environment variable should be modified
to make language extensions provided by other packages available, and modifies
it appropriately in the override of the second method:
.. literalinclude:: ../../../var/spack/repos/builtin/packages/r/package.py
:pyobject: R.setup_dependent_environment
.. _modules-yaml:
^^^^^^^^^^^^^^^^^^^^^^^^^^
Write a configuration file
^^^^^^^^^^^^^^^^^^^^^^^^^^
The configuration files that control module generation behavior
are named ``modules.yaml``. The default configuration:
.. literalinclude:: ../../../etc/spack/defaults/modules.yaml
:language: yaml
activates the hooks to generate ``tcl`` and ``dotkit`` module files and inspects
the installation folder of each package for the presence of a set of subdirectories
(``bin``, ``man``, ``share/man``, etc.). If any is found its full path is prepended
to the environment variables listed below the folder name.
""""""""""""""""""""
Activate other hooks
""""""""""""""""""""
Any other module file generator shipped with Spack can be activated adding it to the
list under the ``enable`` key in the module file. Currently the only generator that
is not active by default is ``lmod``, which produces hierarchical lua module files.
Each module system can then be configured separately. In fact, you should list configuration
options that affect a particular type of module files under a top level key corresponding
to the generator being customized:
.. code-block:: yaml
modules:
enable:
- tcl
- dotkit
- lmod
tcl:
# contains environment modules specific customizations
dotkit:
# contains dotkit specific customizations
lmod:
# contains lmod specific customizations
In general, the configuration options that you can use in ``modules.yaml`` will
either change the layout of the module files on the filesystem, or they will affect
their content. For the latter point it is possible to use anonymous specs
to fine tune the set of packages on which the modifications should be applied.
.. _anonymous_specs:
""""""""""""""""""""""""""""
Selection by anonymous specs
""""""""""""""""""""""""""""
In the configuration file you can use *anonymous specs* (i.e. specs
that **are not required to have a root package** and are thus used just
to express constraints) to apply certain modifications on a selected set
of the installed software. For instance, in the snippet below:
.. code-block:: yaml
modules:
tcl:
# The keyword `all` selects every package
all:
environment:
set:
BAR: 'bar'
# This anonymous spec selects any package that
# depends on openmpi. The double colon at the
# end clears the set of rules that matched so far.
^openmpi::
environment:
set:
BAR: 'baz'
# Selects any zlib package
zlib:
environment:
prepend_path:
LD_LIBRARY_PATH: 'foo'
# Selects zlib compiled with gcc@4.8
zlib%gcc@4.8:
environment:
unset:
- FOOBAR
you are instructing Spack to set the environment variable ``BAR=bar`` for every module,
unless the associated spec satisfies ``^openmpi`` in which case ``BAR=baz``.
In addition in any spec that satisfies ``zlib`` the value ``foo`` will be
prepended to ``LD_LIBRARY_PATH`` and in any spec that satisfies ``zlib%gcc@4.8``
the variable ``FOOBAR`` will be unset.
.. note::
Order does matter
The modifications associated with the ``all`` keyword are always evaluated
first, no matter where they appear in the configuration file. All the other
spec constraints are instead evaluated top to bottom.
""""""""""""""""""""""""""""""""""""""""""""
Blacklist or whitelist specific module files
""""""""""""""""""""""""""""""""""""""""""""
You can use anonymous specs also to prevent module files from being written or
to force them to be written. Consider the case where you want to hide from users
all the boilerplate software that you had to build in order to bootstrap a new
compiler. Suppose for instance that ``gcc@4.4.7`` is the compiler provided by
your system. If you write a configuration file like:
.. code-block:: yaml
modules:
tcl:
whitelist: ['gcc', 'llvm'] # Whitelist will have precedence over blacklist
blacklist: ['%gcc@4.4.7'] # Assuming gcc@4.4.7 is the system compiler
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
"""""""""""""""""""""""""""
The names of environment modules generated by spack are not always easy to
fully comprehend due to the long hash in the name. There are two module
configuration options to help with that. The first is a global setting to
adjust the hash length. It can be set anywhere from 0 to 32 and has a default
length of 7. This is the representation of the hash in the module file name and
does not affect the size of the package hash. Be aware that the smaller the
hash length the more likely naming conflicts will occur. The following snippet
shows how to set hash length in the module file names:
.. code-block:: yaml
modules:
tcl:
hash_length: 7
To help make module names more readable, and to help alleviate name conflicts
with a short hash, one can use the ``suffixes`` option in the modules
configuration file. This option will add strings to modules that match a spec.
For instance, the following config options,
.. code-block:: yaml
modules:
tcl:
all:
suffixes:
^python@2.7.12: 'python-2.7.12'
^openblas: 'openblas'
will add a ``python-2.7.12`` version string to any packages compiled with
python matching the spec, ``python@2.7.12``. This is useful to know which
version of python a set of python extensions is associated with. Likewise, the
``openblas`` string is attached to any program that has openblas in the spec,
most likely via the ``+blas`` variant specification.
.. note::
TCL module files
A modification that is specific to ``tcl`` module files is the possibility
to change the naming scheme of modules.
.. code-block:: yaml
modules:
tcl:
naming_scheme: '${PACKAGE}/${VERSION}-${COMPILERNAME}-${COMPILERVER}'
all:
conflict:
- '${PACKAGE}'
- 'intel/14.0.1'
will create module files that will conflict with ``intel/14.0.1`` and with the
base directory of the same module, effectively preventing the possibility to
load two or more versions of the same software at the same time. The tokens
that are available for use in this directive are the same understood by
the ``Spec.format`` method.
.. note::
LMod hierarchical module files
When ``lmod`` is activated Spack will generate a set of hierarchical lua module
files that are understood by LMod. The hierarchy will always contain the
two layers ``Core`` / ``Compiler`` but can be further extended to
any of the virtual dependencies present in Spack. A case that could be useful in
practice is for instance:
.. code-block:: yaml
modules:
enable:
- lmod
lmod:
core_compilers:
- 'gcc@4.8'
hierarchy:
- 'mpi'
- 'lapack'
that will generate a hierarchy in which the ``lapack`` and ``mpi`` layer can be switched
independently. This allows a site to build the same libraries or applications against different
implementations of ``mpi`` and ``lapack``, and let LMod switch safely from one to the
other.
.. warning::
Deep hierarchies and ``lmod spider``
For hierarchies that are deeper than three layers ``lmod spider`` may have some issues.
See `this discussion on the LMod project <https://github.com/TACC/Lmod/issues/114>`_.
""""""""""""""""""""""""""""""""""""
Filter out environment modifications
""""""""""""""""""""""""""""""""""""
Modifications to certain environment variables in module files are there by
default, for instance because they are generated by prefix inspections.
If you want to prevent modifications to some environment variables, you can
do so by using the environment blacklist:
.. code-block:: yaml
modules:
dotkit:
all:
filter:
# Exclude changes to any of these variables
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
The configuration above will generate dotkit module files that will not contain
modifications to either ``CPATH`` or ``LIBRARY_PATH`` and environment module
files that instead will contain these modifications.
"""""""""""""""""""""
Autoload dependencies
"""""""""""""""""""""
In some cases it can be useful to have module files that automatically load
their dependencies. This may be the case for Python extensions, if not
activated using ``spack activate``:
.. code-block:: yaml
modules:
tcl:
^python:
autoload: 'direct'
The configuration file above will produce module files that will
load their direct dependencies if the package installed depends on ``python``.
The allowed values for the ``autoload`` statement are either ``none``,
``direct`` or ``all``.
.. note::
TCL prerequisites
In the ``tcl`` section of the configuration file it is possible to use
the ``prerequisites`` directive that accepts the same values as
``autoload``. It will produce module files that have a ``prereq``
statement instead of automatically loading other modules.
------------------------
Maintaining Module Files
------------------------
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 tcl --help
.. _cmd-spack-module-refresh:
^^^^^^^^^^^^^^^^^^^^^^^^^^
Refresh the set of modules
^^^^^^^^^^^^^^^^^^^^^^^^^^
The subcommand that regenerates module files to update their content or
their layout is ``refresh``:
.. command-output:: spack module tcl refresh --help
A set of packages can be selected using anonymous specs for the optional
``constraint`` positional argument. Optionally the entire tree can be deleted
before regeneration if the change in layout is radical.
.. _cmd-spack-module-rm:
^^^^^^^^^^^^^^^^^^^
Delete module files
^^^^^^^^^^^^^^^^^^^
If instead what you need is just to delete a few module files, then the right
subcommand is ``rm``:
.. command-output:: spack module tcl rm --help
.. note::
We care about your module files!
Every modification done on modules
that are already existing will ask for a confirmation by default. If
the command is used in a script it is possible though to pass the
``-y`` argument, that will skip this safety measure.

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

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,461 @@
.. 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:
=============================
Package Repositories
=============================
Spack comes with over 1,000 built-in package recipes in
``var/spack/repos/builtin/``. This is a **package repository** -- a
directory that Spack searches when it needs to find a package by name.
You may need to maintain packages for restricted, proprietary or
experimental software separately from the built-in repository. Spack
allows you to configure local repositories using either the
``repos.yaml`` or the ``spack repo`` command.
A package repository a directory structured like this::
repo/
repo.yaml
packages/
hdf5/
package.py
mpich/
package.py
mpich-1.9-bugfix.patch
trilinos/
package.py
...
The top-level ``repo.yaml`` file contains configuration metadata for the
repository, and the ``packages`` directory contains subdirectories for
each package in the repository. Each package directory contains a
``package.py`` file and any patches or other files needed to build the
package.
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),
without committing them to the built-in Spack package repository; and
3. Override built-in Spack packages with your own implementation.
Packages in a separate repository can also *depend on* built-in Spack
packages. So, you can leverage existing recipes without re-implementing
them in your own repository.
---------------------
``repos.yaml``
---------------------
Spack uses the ``repos.yaml`` file in ``~/.spack`` (and :ref:`elsewhere
<configuration>`) to find repositories. Note that the ``repos.yaml``
configuration file is distinct from the ``repo.yaml`` file in each
repository. For more on the YAML format, and on how configuration file
precedence works in Spack, see :ref:`configuration <configuration>`.
The default ``etc/spack/defaults/repos.yaml`` file looks like this:
.. code-block:: yaml
repos:
- $spack/var/spack/repos/builtin
The file starts with ``repos:`` and contains a single ordered list of
paths to repositories. Each path is on a separate line starting with
``-``. You can add a repository by inserting another path into the list:
.. code-block:: yaml
repos:
- /opt/local-repo
- $spack/var/spack/repos/builtin
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:
1. ``/opt/local-repo/packages/mpich/package.py``
2. ``$spack/var/spack/repos/builtin/packages/mpich/package.py``
.. note::
Currently, Spack can only use repositories in the file system. We plan
to eventually support URLs in ``repos.yaml``, so that you can easily
point to remote package repositories, but that is not yet implemented.
---------------------
Namespaces
---------------------
Every repository in Spack has an associated **namespace** defined in its
top-level ``repo.yaml`` file. If you look at
``var/spack/repos/builtin/repo.yaml`` in the built-in repository, you'll
see that its namespace is ``builtin``:
.. code-block:: console
$ cat var/spack/repos/builtin/repo.yaml
repo:
namespace: builtin
Spack records the repository namespace of each installed package. For
example, if you install the ``mpich`` package from the ``builtin`` repo,
Spack records its fully qualified name as ``builtin.mpich``. This
accomplishes two things:
1. You can have packages with the same name from different namespaces
installed at once.
1. You can easily determine which repository a package came from after it
is installed (more :ref:`below <namespace-example>`).
.. note::
It may seem redundant for a repository to have both a namespace and a
path, but repository *paths* may change over time, or, as mentioned
above, a locally hosted repository path may eventually be hosted at
some remote URL.
Namespaces are designed to allow *package authors* to associate a
unique identifier with their packages, so that the package can be
identified even if the repository moves. This is why the namespace is
determined by the ``repo.yaml`` file in the repository rather than the
local ``repos.yaml`` configuration: the *repository maintainer* sets
the name.
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Uniqueness
^^^^^^^^^^^^^^^^^^^^^^^^^^^
You should choose a namespace that uniquely identifies your package
repository. For example, if you make a repository for packages written
by your organization, you could use your organization's name. You can
also nest namespaces using periods, so you could identify a repository by
a sub-organization. For example, LLNL might use a namespace for its
internal repositories like ``llnl``. Packages from the Physical & Life
Sciences directorate (PLS) might use the ``llnl.pls`` namespace, and
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.
.. _namespace-example:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Namespace example
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Suppose that LLNL maintains its own version of ``mpich``, separate from
Spack's built-in ``mpich`` package, and suppose you've installed both
LLNL's and Spack's ``mpich`` packages. If you just use ``spack find``,
you won't see a difference between these two packages:
.. code-block:: console
$ spack find
==> 2 installed packages.
-- linux-rhel6-x86_64 / gcc@4.4.7 -------------
mpich@3.2 mpich@3.2
However, if you use ``spack find -N``, Spack will display the packages
with their namespaces:
.. code-block:: console
$ spack find -N
==> 2 installed packages.
-- linux-rhel6-x86_64 / gcc@4.4.7 -------------
builtin.mpich@3.2 llnl.comp.mpich@3.2
Now you know which one is LLNL's special version, and which one is the
built-in Spack package. As you might guess, packages that are identical
except for their namespace will still have different hashes:
.. code-block:: console
$ spack find -lN
==> 2 installed packages.
-- linux-rhel6-x86_64 / gcc@4.4.7 -------------
c35p3gc builtin.mpich@3.2 itoqmox llnl.comp.mpich@3.2
All Spack commands that take a package :ref:`spec <sec-specs>` can also
accept a fully qualified spec with a namespace. This means you can use
the namespace to be more specific when designating, e.g., which package
you want to uninstall:
.. code-block:: console
spack uninstall llnl.comp.mpich
----------------------------
Overriding built-in packages
----------------------------
Spack's search semantics mean that you can make your own implementation
of a built-in Spack package (like ``mpich``), put it in a repository, and
use it to override the built-in package. As long as the repository
containing your ``mpich`` is earlier any other in ``repos.yaml``, any
built-in package that depends on ``mpich`` will be use the one in your
repository.
Suppose you have three repositories: the builtin Spack repo
(``builtin``), a shared repo for your institution (e.g., ``llnl``), and a
repo containing your own prototype packages (``proto``). Suppose they
contain packages as follows:
+--------------+------------------------------------+-----------------------------+
| Namespace | Path to repo | Packages |
+==============+====================================+=============================+
| ``proto`` | ``~/proto`` | ``mpich`` |
+--------------+------------------------------------+-----------------------------+
| ``llnl`` | ``/usr/local/llnl`` | ``hdf5`` |
+--------------+------------------------------------+-----------------------------+
| ``builtin`` | ``$spack/var/spack/repos/builtin`` | ``mpich``, ``hdf5``, others |
+--------------+------------------------------------+-----------------------------+
Suppose that ``hdf5`` depends on ``mpich``. You can override the
built-in ``hdf5`` by adding the ``llnl`` repo to ``repos.yaml``:
.. code-block:: yaml
repos:
- /usr/local/llnl
- $spack/var/spack/repos/builtin
``spack install hdf5`` will install ``llnl.hdf5 ^builtin.mpich``.
If, instead, ``repos.yaml`` looks like this:
.. code-block:: yaml
repos:
- ~/proto
- /usr/local/llnl
- $spack/var/spack/repos/builtin
``spack install hdf5`` will install ``llnl.hdf5 ^proto.mpich``.
Any unqualified package name will be resolved by searching ``repos.yaml``
from the first entry to the last. You can force a particular
repository's package by using a fully qualified name. For example, if
your ``repos.yaml`` is as above, and you want ``builtin.mpich`` instead
of ``proto.mpich``, you can write::
spack install hdf5 ^builtin.mpich
which will install ``llnl.hdf5 ^builtin.mpich``.
Similarly, you can force the ``builtin.hdf5`` like this::
spack install builtin.hdf5 ^builtin.mpich
This will not search ``repos.yaml`` at all, as the ``builtin`` repo is
specified in both cases. It will install ``builtin.hdf5
^builtin.mpich``.
If you want to see which repositories will be used in a build *before*
you install it, you can use ``spack spec -N``:
.. code-block:: console
$ spack spec -N hdf5
Input spec
--------------------------------
hdf5
Normalized
--------------------------------
hdf5
^zlib@1.1.2:
Concretized
--------------------------------
builtin.hdf5@1.10.0-patch1%clang@7.0.2-apple+cxx~debug+fortran+mpi+shared~szip~threadsafe arch=darwin-elcapitan-x86_64
^builtin.openmpi@2.0.1%clang@7.0.2-apple~mxm~pmi~psm~psm2~slurm~sqlite3~thread_multiple~tm~verbs+vt arch=darwin-elcapitan-x86_64
^builtin.hwloc@1.11.4%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.libpciaccess@0.13.4%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.libtool@2.4.6%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.m4@1.4.17%clang@7.0.2-apple+sigsegv arch=darwin-elcapitan-x86_64
^builtin.libsigsegv@2.10%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.pkg-config@0.29.1%clang@7.0.2-apple+internal_glib arch=darwin-elcapitan-x86_64
^builtin.util-macros@1.19.0%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.zlib@1.2.8%clang@7.0.2-apple+pic arch=darwin-elcapitan-x86_64
.. warning::
You *can* use a fully qualified package name in a ``depends_on``
directive in a ``package.py`` file, like so::
depends_on('proto.hdf5')
This is *not* recommended, as it makes it very difficult for
multiple repos to be composed and shared. A ``package.py`` like this
will fail if the ``proto`` repository is not registered in
``repos.yaml``.
.. _cmd-spack-repo:
--------------------------
``spack repo``
--------------------------
Spack's :ref:`configuration system <configuration>` allows repository
settings to come from ``repos.yaml`` files in many locations. If you
want to see the repositories registered as a result of all configuration
files, use ``spack repo list``.
^^^^^^^^^^^^^^^^^^^
``spack repo list``
^^^^^^^^^^^^^^^^^^^
.. code-block:: console
$ spack repo list
==> 2 package repositories.
myrepo ~/myrepo
builtin ~/spack/var/spack/repos/builtin
Each repository is listed with its associated namespace. To get the raw,
merged YAML from all configuration files, use ``spack config get repos``:
.. code-block:: console
$ spack config get repos
repos:srepos:
- ~/myrepo
- $spack/var/spack/repos/builtin
mNote that, unlike ``spack repo list``, this does not include the
namespace, which is read from each repo's ``repo.yaml``.
^^^^^^^^^^^^^^^^^^^^^
``spack repo create``
^^^^^^^^^^^^^^^^^^^^^
To make your own repository, you don't need to construct a directory
yourself; you can use the ``spack repo create`` command.
.. code-block:: console
$ spack repo create myrepo
==> Created repo with namespace 'myrepo'.
==> To register it with spack, run this command:
spack repo add ~/myrepo
$ ls myrepo
packages/ repo.yaml
$ cat myrepo/repo.yaml
repo:
namespace: 'myrepo'
By default, the namespace of a new repo matches its directory's name.
You can supply a custom namespace with a second argument, e.g.:
.. code-block:: console
$ spack repo create myrepo llnl.comp
==> Created repo with namespace 'llnl.comp'.
==> To register it with spack, run this command:
spack repo add ~/myrepo
$ cat myrepo/repo.yaml
repo:
namespace: 'llnl.comp'
^^^^^^^^^^^^^^^^^^
``spack repo add``
^^^^^^^^^^^^^^^^^^
Once your repository is created, you can register it with Spack with
``spack repo add``:
.. code-block:: console
$ spack repo add ./myrepo
==> Added repo with namespace 'llnl.comp'.
$ spack repo list
==> 2 package repositories.
llnl.comp ~/myrepo
builtin ~/spack/var/spack/repos/builtin
This simply adds the repo to your ``repos.yaml`` file.
Once a repository is registered like this, you should be able to see its
packages' names in the output of ``spack list``, and you should be able
to build them using ``spack install <name>`` as you would with any
built-in package.
^^^^^^^^^^^^^^^^^^^^^
``spack repo remove``
^^^^^^^^^^^^^^^^^^^^^
You can remove an already-registered repository with ``spack repo rm``.
This will work whether you pass the repository's namespace *or* its
path.
By namespace:
.. code-block:: console
$ spack repo rm llnl.comp
==> Removed repository ~/myrepo with namespace 'llnl.comp'.
$ spack repo list
==> 1 package repository.
builtin ~/spack/var/spack/repos/builtin
By path:
.. code-block:: console
$ spack repo rm ~/myrepo
==> Removed repository ~/myrepo
$ spack repo list
==> 1 package repository.
builtin ~/spack/var/spack/repos/builtin
--------------------------------
Repo namespaces and Python
--------------------------------
You may have noticed that namespace notation for repositories is similar
to the notation for namespaces in Python. As it turns out, you *can*
treat Spack repositories like Python packages; this is how they are
implemented.
You could, for example, extend a ``builtin`` package in your own
repository:
.. code-block:: python
from spack.pkg.builtin.mpich import Mpich
class MyPackage(Mpich):
...
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.repo` module implements a custom `Python importer
<https://docs.python.org/2/library/imp.html>`_.
.. warning::
The mechanism for extending packages is not yet extensively tested,
and extending packages across repositories imposes inter-repo
dependencies, which may be hard to manage. Use this feature at your
own risk, but let us know if you have a use case for it.

View File

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

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