Compare commits

...

4633 Commits

Author SHA1 Message Date
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
Robert D. French
a21d3d353b New URL scheme for newer (and older) PDTs (#1651) 2016-08-29 10:01:04 -07:00
Todd Gamblin
2850ca60be Change spack --profile sort key for 2.6 compatibility. (#1656) 2016-08-29 09:56:54 -07:00
Axel Huebl
f2eb1c93df ADIOS: Run Autotools First 2016-08-29 18:42:07 +02:00
Robert D. French
4095eb2196 Ole' GNU nano; Actually ran flake8 (#1649) 2016-08-29 09:21:19 -07:00
Todd Gamblin
f7ee8d001a Merge pull request #1564 from adamjstewart/features/create
Suggest setuptools when creating Python package
2016-08-29 09:11:45 -07:00
Todd Gamblin
57033a62fa Merge pull request #1563 from adamjstewart/features/sphinx
Add all Sphinx dependencies
2016-08-29 09:08:46 -07: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
31cab4bae2 Merge pull request #1619 from davydden/pkg/nwchem_macos_fix
nwchem: use basename for CC and FC
2016-08-29 06:51:14 -07:00
Denis Davydov
66ea42f8d7 nwchem: use basename for CC and FC 2016-08-29 15:15:23 +02:00
Todd Gamblin
f5c9a8c2ee Merge pull request #1650 from davydden/pkg/ape_octopus_comments
ape octopus: in-code comments
2016-08-29 06:02:19 -07:00
Denis Davydov
5333a799ea octopus: in-code comments to explain compiler flags 2016-08-29 08:45:28 +02:00
Denis Davydov
90070c317d ape: in-code comments to explain compiler flags 2016-08-29 08:45:15 +02:00
Todd Gamblin
a3f1ae8c4f Merge pull request #1041 from adamjstewart/features/matplotlib
Matplotlib Python package overhaul
2016-08-28 21:22:44 -07:00
Abhinav Bhatele
a9a29d207d add versions 2.2rc2 and 2.1 to the mvapich2 package (#1630) 2016-08-28 20:18:57 -07:00
Erik Schnetter
e119c32a9c Hot-fix for qthreads (#1632)
The download tarball for qthreads vanished. Install it from a git branch instead as temporary work-around.
2016-08-28 20:18:24 -07:00
Jeffrey Salmond
82808f944a New package: opencoarrays (#1633)
* opencoarrays: new package

* opencoarrays: remove tests from install due to (unimportant) failures in some configurations

* opencoarrays: fix flake8 errors
2016-08-28 20:17:22 -07:00
Tyler Esser
83897af710 Documentation: Fix accidental quotation. version() takes expand as a keyword. (#1640) 2016-08-28 20:16:08 -07:00
Adam J. Stewart
d39322e278 Run flake8 checks on new untracked files (#1510) 2016-08-28 19:35:09 -07:00
Todd Gamblin
ed365614f4 Add git-lfs package. 2016-08-28 19:27:59 -07:00
Robert D. French
974749aaf6 Provide mpi-less variant for nco (#1643) 2016-08-28 19:15:15 -07:00
Erik Schnetter
6acfcd82b1 Update Julia to 0.5 release branch; install some Julia package as well (#1637)
* Update Julia to 0.5 release branch; install some Julia package as well

* Add comments, correct flake8 error

* Correct flake8 error
2016-08-28 17:46:10 -07:00
Robert D. French
079d063c6d Variant for building cdo without mpi (#1638) 2016-08-28 17:43:54 -07:00
Erik Schnetter
db7c3d2de6 New package for the Mercurial (hg) version control system (#1644)
* New package "mercurial"

* Disable self-checks

The self-checks require subversion, which we don't want to require.
2016-08-28 17:31:15 -07:00
Todd Gamblin
2053db4d17 Make clang detection work on AWS Ubuntu14. 2016-08-27 17:04:46 -07:00
Todd Gamblin
7ebb17e459 Remove stale operating_system.py test per discussion in #1631
- Test has not been registered in `__init__.py` for a while and needs a
  refresh.
2016-08-25 21:20:34 -07:00
becker33
e73a1a4ec3 Merge pull request #1558 from mcfadden8/mmcfadden-features/gcc-pic-libraries
Added variant to gcc package to install PIC versions of libgfortran and libstdc++
2016-08-25 16:00:00 -07:00
Gregory Lee
77c24d4127 Merge pull request #1379 from LLNL/features/graphlib3
added stat 3.0 beta and added pygtk and dependent packages
2016-08-25 09:14:36 -07:00
Massimiliano Culpo
80754a4062 and the missing word is... (#1628) 2016-08-25 02:46:12 -07:00
Todd Gamblin
8170bcfcdd Merge pull request #1574 from ARCCA/plumed-push
Update plumed package to include optional modules
2016-08-25 02:45:33 -07:00
Andrew Williams
07e0da24c5 Reverted url to point to tarball rather than git tag 2016-08-25 10:21:56 +01:00
Todd Gamblin
22d2786940 Merge pull request #1580 from davydden/pkg/trilinos_url_fix
trilinos: switch to github url; fix missing py-numpy dependency
2016-08-25 02:10:05 -07:00
Todd Gamblin
e9bc3a9e32 Merge pull request #663 from citibeth/efischer/160327-DocumentationImprovements
[RtM] Documentation Improvements
2016-08-25 02:04:30 -07:00
Todd Gamblin
848299ba38 Merge pull request #1621 from KineticTheory/boost-intel
Boost: fix recipe for Intel compilers.
2016-08-24 15:23:29 -07:00
Kelly (KT) Thompson
2ddaabed25 + Boost: fix recipe for intel compilers.
This is the same patch provided by PR #550, but rebased against the current
develop branch. It also passes the flake8 checks.
2016-08-24 15:57:28 -06:00
Todd Gamblin
062ff13da6 Make spack info print deps in sorted order 2016-08-24 14:10:25 -07:00
Todd Gamblin
93cb2db531 Fix build dependency. 2016-08-24 14:10:12 -07:00
Todd Gamblin
a7e568b1d1 Merge branch 'eschnett/sympol' of git://github.com/eschnett/spack into eschnett-eschnett/sympol 2016-08-24 14:05:05 -07:00
Todd Gamblin
19bbe5e421 Merge pull request #1596 from eschnett/eschnett/git-update
Update git to 2.9.3
2016-08-24 14:03:04 -07:00
Todd Gamblin
86fe78f5f1 Merge pull request #1582 from eschnett/eschnett/gcc-update
Update gcc to @6.2.0
2016-08-24 14:02:54 -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
Elizabeth Fischer
85be3aefa7 Put url_for_version() after versions in example. 2016-08-24 15:26:19 -04:00
Todd Gamblin
24c0ece841 Merge pull request #1615 from trws/module_delim_portability
avoid specifying --delim unless required
2016-08-24 12:12:44 -07:00
Tom Scogland
2b6833cb80 appeasing flake8, also cleaning up header
The header append lines were too long, so I just converted it into a
multi-line string template so it's all one piece now instead of a bunch
of appends.
2016-08-24 11:56:33 -07:00
Tom Scogland
73620fe868 avoid specifying --delim unless required
This increases portability of generated module files to versions of
environment_modules hearkening back to just after the turn of the
millennium.
2016-08-24 11:00:16 -07:00
Todd Gamblin
e6bac6f208 Merge pull request #1613 from eschnett/eschnett/cmake-update
Update cmake to 3.6.1
2016-08-24 08:49:33 -07:00
Todd Gamblin
63859bf113 Merge pull request #1575 from davydden/pkg/nwchem
nwchem: add new package
2016-08-24 08:49:11 -07:00
Todd Gamblin
5cfa74801f Merge pull request #1565 from adamjstewart/features/fftw
Add latest version of fftw
2016-08-24 08:49:00 -07:00
Adam J. Stewart
5970b7a00a Only run tests if explicitly requested 2016-08-24 10:34:20 -05:00
Erik Schnetter
41750ce70d Update cmake to 3.6.1 2016-08-24 10:45:13 -04:00
Denis Davydov
d154f151aa py-cclib: new package 2016-08-24 16:26:35 +02:00
Denis Davydov
6d2d5806b5 nwchem: add python module 2016-08-24 13:40:02 +02:00
citibeth
8a481e7e13 Added CMake-based Development case study to docuemntation. 2016-08-23 16:39:01 -04:00
Elizabeth F
86d39255ec Explained url_for_version() 2016-08-23 16:39:01 -04:00
citibeth
2efd7a5e0b Added note on use of 'less -R' for colorized output. 2016-08-23 16:36:02 -04:00
Denis Davydov
dae219d5c3 nwchem: add another patch 2016-08-23 22:24:16 +02:00
Denis Davydov
459b6eae11 nwchem: add another patch 2016-08-23 22:15:38 +02:00
Erik Schnetter
3194f2001b Update git to 2.9.3 2016-08-23 15:35:43 -04:00
Erik Schnetter
05f5ba4bf9 Correct flake8 errors 2016-08-23 14:57:29 -04:00
Erik Schnetter
73cae8d9c4 Implement review requests
- use two empty lines before `class`
- change version numbering scheme for packages, use `url_for_version` to make things work
- specify dependency types
- add comment about temporarily moved download location
- update two packages to newer versions
2016-08-23 13:52:28 -04:00
Denis Davydov
52ae0ea055 trilinos: use version.dashed 2016-08-23 18:48:17 +02:00
Todd Gamblin
de12a34415 Merge pull request #1586 from davidbeckingsale/patch-1
Ensure RAJA builds out-of-source
2016-08-23 08:55:50 -07:00
David Beckingsale
243d516bf0 Ensure RAJA builds out-of-source 2016-08-23 08:18:26 -07:00
Denis Davydov
6500ac80e4 nwchem: fix lapack detection 2016-08-23 16:46:40 +02:00
Erik Schnetter
a2692e4ef5 sympol: Add package 2016-08-23 10:41:08 -04:00
Erik Schnetter
bdc825fc3c cddlib: Point download url to a (more reliable) Fedora server 2016-08-23 09:59:56 -04:00
Erik Schnetter
64d3f87e60 Merge branch 'develop' into eschnett/sympol 2016-08-23 09:45:46 -04:00
Denis Davydov
7eb386e55e nwchem: add patches 2016-08-23 14:52:18 +02:00
Denis Davydov
5da9116c06 nwchem: add scalapack; extra steps for 32bit blas/lapack 2016-08-23 11:55:00 +02:00
Denis Davydov
aca8576de4 trilinos: switch to github url; fix missing py-numpy dependency 2016-08-23 10:50:08 +02:00
Todd Gamblin
e81f3daa28 Merge pull request #1519 from mathstuf/fix-deptypes
Fix deptypes
2016-08-22 21:40:25 -07:00
Erik Schnetter
7b49166f9b Update gcc to @6.2.0
Also add some missing older version.
Update download location to original GNU location.
2016-08-22 20:26:54 -04:00
Denis Davydov
a44beee172 nwchem: add new package 2016-08-23 02:22:44 +02:00
Andrew Williams
65abd279cd Renamed intelmpi as suggested 2016-08-22 13:44:21 +01:00
Andrew Williams
87d15212eb Cleaned branch to only include plumed package 2016-08-22 12:30:17 +01:00
Andrew Williams
4b354cbe26 Merge pull request #1 from ARCCA/plumed
Plumed
2016-08-22 12:15:35 +01:00
Andrew Williams
226d4f04f3 Spelling tweaks and consistent quoting 2016-08-22 12:09:50 +01:00
Andrew Williams
5661afa315 Passed flake8 tests 2016-08-22 12:03:47 +01:00
Andrew Williams
0c8462723b Found upstream plumed package and modified this one to match 2016-08-22 11:24:03 +01:00
Todd Gamblin
fbe76c41fd Merge pull request #1570 from eschnett/eschnett/hdf5-blosc-2
hdf5-blosc: Correct download url
2016-08-21 12:12:09 -07:00
Erik Schnetter
78685addbb hdf5-blosc: Correct download url 2016-08-21 14:39:54 -04:00
Todd Gamblin
55b1182a4c Merge pull request #1554 from eschnett/eschnett/hdf5-blosc
hdf5-blosc: Remove commit id from version specification
2016-08-21 09:44:25 -07:00
Adam J. Stewart
d5903e4612 Flake8 2016-08-19 17:06:34 -05:00
Adam J. Stewart
f0f2c6c486 Add latest version of fftw 2016-08-19 17:05:14 -05:00
Gregory L. Lee
a177b9be8a updated stat 3.0.0b url 2016-08-19 13:11:21 -07:00
Adam J. Stewart
df623dad15 Suggest setuptools when creating Python package 2016-08-19 14:31:42 -05:00
Adam J. Stewart
835b8f246e py-sphinx requires py-setuptools during runtime 2016-08-19 14:20:31 -05:00
Adam J. Stewart
d7873b5319 Swap lowercase for uppercase in URL 2016-08-19 14:00:50 -05:00
Adam J. Stewart
c1af0d3806 Fix binary conflicts during sphinx activation 2016-08-19 13:54:22 -05:00
Adam J. Stewart
d4e3699510 Add all Sphinx dependencies 2016-08-19 13:44:00 -05:00
Erik Schnetter
466da3afcc Remove commented-out outdated commit id 2016-08-19 11:52:40 -04:00
Andrew Williams
90e5ccd98c Cleaned up commented out code in intelmpi package 2016-08-19 15:01:46 +01:00
Andrew Williams
13f636ec68 Added required arguments to get plumed to build with intelmpi 2016-08-19 15:00:21 +01:00
Adam J. Stewart
28537ae7b7 Workaround until variant forwarding works properly 2016-08-18 14:40:21 -05:00
Tom Scogland
c8dd1bb40b Merge pull request #1527 from SteVwonder/py-cffi-rpath-fix
py-cffi: set LDSHARED in env so that rpath is set
2016-08-18 11:55:40 -07:00
Stephen Herbein
3445a781eb py-cffi: set LDSHARED env so that rpath is set
py-cffi's .so was being built without the rpath being set.  distutils
looks at the LDSHARED for which compiler to use to build the final .so.
Since it was not set, distutils fell back to the system provided
compiler.  Setting it forces the shared library to be compiled with the
spack compiler (meaning that the rpath is set correctly).
2016-08-18 11:32:19 -07:00
Andrew Williams
6641f42417 Not compiling due to mpi error. Also getting this error from the command line so could be separate issue. Otherwise package definition first draft complete. 2016-08-18 13:19:36 +01:00
Erik Schnetter
296212d78d hdf5-blosc: Remove commit id from version specification
The respective commit seems to have vanished.
Now using the master branch without specifying a particular commit.
2016-08-17 16:36:33 -04:00
Adam J. Stewart
4d12c5455a Fix NetCDF/HDF5 dependency resolution problems 2016-08-17 13:03:56 -05:00
Marty McFadden
f4ec99ecb4 Added +piclibs variant for building PIC versions of libgfortran.a and libstdc++.a 2016-08-17 09:28:21 -07:00
Andrew Williams
b99e945e6d Added variants and dependencies to plumed but I'm getting an error when trying to resolve mpi to a valid virtual package 2016-08-17 15:43:59 +01:00
Elizabeth Fischer
a733e7e303 py-pathspec: New package
Related to Python unit testing.
2016-08-17 00:34:33 -04:00
becker33
7f57405eac Merge pull request #1531 from davydden/pkg/ape
ape: add new package
2016-08-16 10:52:27 -07:00
becker33
e8afbfbce7 Merge pull request #1530 from davydden/pkg/octopus
octopus: new package
2016-08-16 10:49:41 -07:00
Denis Davydov
5dcc0f7802 ape: add new package 2016-08-16 19:42:32 +02:00
Denis Davydov
9509c10064 octopus: new package 2016-08-16 19:38:38 +02:00
Gregory L. Lee
f182590aae added pkg-config to build deps of cairo and pixman 2016-08-15 15:17:53 -07:00
Gregory L. Lee
54ef9443d3 fix atk url_for_version 2016-08-15 13:51:54 -07:00
Gregory L. Lee
74dd7a36b5 allow parallel build of stat 2016-08-15 13:51:54 -07:00
Gregory L. Lee
749a4e78c7 gobject-introspection requires glib version 2.48.1 2016-08-15 13:51:54 -07:00
Gregory L. Lee
3df208efc0 stat and dependences package updates 2016-08-15 13:51:53 -07:00
Gregory L. Lee
69931996bf added dyninst patches for stat+dysect 2016-08-15 13:51:53 -07:00
Gregory L. Lee
f9cb21e886 flake 8 fixes for dyninst 2016-08-15 13:51:53 -07:00
Gregory L. Lee
0074ecd6fa dyninst package use spec.satisfies instead of @when 2016-08-15 13:51:52 -07:00
Gregory L. Lee
8b94937609 flake 8 fixes for stat and dependents
flake 8 fixes for dyninst

flake 8 fixes for dyninst

flake 8 fixes for dyninst
2016-08-15 13:50:39 -07:00
Gregory L. Lee
bd8aab00e4 updated stat and added pygtk and dependent packages 2016-08-15 13:48:58 -07:00
Todd Gamblin
ae20e53cfb Merge pull request #1524 from epfl-scitas/bugfix/urls
stripping the links to remove spaces and '\n'
2016-08-15 13:42:38 -07:00
Nicolas Richart
37faa41b6f stripping the links to remove spaces and '\n' 2016-08-15 21:13:25 +02:00
Todd Gamblin
1e673bfa42 Don't assume spack is in the path when buildign docs. 2016-08-15 10:49:09 -07:00
Andrew Williams
27793d97dc temp commit in current state 2016-08-15 16:16:00 +01:00
Ben Boeckel
9ec1c0e18e opencv: make py-numpy a nolink dependency 2016-08-15 10:47:00 -04:00
Ben Boeckel
042666eb7e go: mark git as also being a runtime dependency 2016-08-15 10:46:45 -04:00
Ben Boeckel
826732efec packages: mark builddeps as type='build'
Less sure about these.
2016-08-15 10:46:23 -04:00
Ben Boeckel
eb13cbe9bd r-datatable: fix nolink dependency 2016-08-15 10:46:05 -04:00
Ben Boeckel
0d17d90b29 packages: mark builddeps as type='build' 2016-08-15 10:45:19 -04:00
Andrew Williams
3edfa390f7 Basic package file for plumed and boilerplate for external intel mpi 2016-08-15 11:19:40 +01:00
Adam J. Stewart
bc64990bc6 Replace python('setup.py' with setup_py( 2016-08-12 12:16:48 -05:00
Todd Gamblin
483e4116c0 Merge pull request #1509 from adamjstewart/docs/md5
Update documentation for spack md5
2016-08-12 09:19:36 -07:00
Todd Gamblin
e1c2ea5123 Merge pull request #1342 from adamjstewart/features/cgns
Add CGNS package
2016-08-12 09:19:07 -07:00
Adam J. Stewart
c815aed207 Update documentation for spack md5 2016-08-12 10:51:56 -05:00
Adam J. Stewart
d4377c1293 Add Python 3.5 support, latest version of PySide 2016-08-12 09:59:38 -05:00
Adam J. Stewart
633e540a17 Use GitHub URL for ImageMagick 2016-08-11 14:13:33 -05:00
becker33
ec7f58bf96 Merge pull request #1493 from xjrc/bugfix/nonbool-variants
Bug Fix : Allow Packages to Have Variants w/ Non-Bool, Non-String Defaults
2016-08-11 11:33:54 -07:00
becker33
1be63348b5 Merge pull request #1484 from mpbelhorn/olcf/correct_cce_compiler_name
Olcf/correct cce compiler name
2016-08-11 11:30:36 -07:00
Matt Belhorn
568305ddff Corrects Cray compiler name and adds missing version flag. 2016-08-11 13:56:21 -04:00
Todd Gamblin
cd6c370303 Merge pull request #1480 from adamjstewart/features/run-flake8
Various improvements to run-flake8
2016-08-11 10:31:43 -07:00
Adam J. Stewart
f147d64527 Rebase messed up flake8 2016-08-11 11:01:57 -05:00
Adam J. Stewart
04cee45ac9 Skip webengine until webkit support is added 2016-08-11 10:33:43 -05:00
Adam J. Stewart
2b0444b6f4 Latest version of pyside still has problems, add deps 2016-08-11 10:33:43 -05:00
Adam J. Stewart
b6fad65f52 Combine patch for all versions
Patch doesn't work with @when unless you specify a patch for every
version. When running `spack patch` for a version without a patch,
spack thinks that a patch exists, tries to apply it, but it doesn't
exist. Spack gets very confused.
2016-08-11 10:33:43 -05:00
Adam J. Stewart
1363b05e93 Add test dependencies 2016-08-11 10:33:43 -05:00
Adam J. Stewart
5cc76f7d84 Fix patch for py-pyside 1.2.4 2016-08-11 10:33:43 -05:00
Adam J. Stewart
59ce0c7514 Add patch to build qt 4 with GCC 6 2016-08-11 10:33:42 -05:00
Adam J. Stewart
ddf1879bed Remove glib dependency, causes problems with PCRE and JavaScript 2016-08-11 10:33:02 -05:00
Adam J. Stewart
90dd26397c Fix qt patch 2016-08-11 10:33:02 -05:00
Adam J. Stewart
7135299a66 Add latest version of pcre 2016-08-11 10:33:02 -05:00
Adam J. Stewart
ac15d5d619 Add patch for qt gamepad compilation problems 2016-08-11 10:33:01 -05:00
Adam J. Stewart
eac9a5905f Flake8 and url_for_version changes 2016-08-11 10:33:01 -05:00
Adam J. Stewart
80742b2647 Add latest version of qt 2016-08-11 10:30:31 -05:00
Adam J. Stewart
8a0824df09 Update matplotlibrc filtering for GUI backends 2016-08-11 10:28:35 -05:00
Adam J. Stewart
a388871083 Update ImageMagick to latest version 2016-08-11 10:28:35 -05:00
Adam J. Stewart
2b83ea30e7 Re-add ipython support 2016-08-11 10:28:35 -05:00
Adam J. Stewart
f56de63972 Fix cycler dependencies, update qhull version names 2016-08-11 10:28:35 -05:00
Adam J. Stewart
0b8a3ad8ad Flake8 2016-08-11 10:28:34 -05:00
Adam J. Stewart
aa6a6df640 Undo changes to GUI framework 2016-08-11 10:28:34 -05:00
Adam J. Stewart
e905ce16c9 Flake8 2016-08-11 10:28:34 -05:00
Adam J. Stewart
11e595089d Matplotlib overhaul 2016-08-11 10:28:33 -05: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
Adam J. Stewart
87d0a7c315 Always clean up tmp files, even if killed 2016-08-11 09:56:41 -05:00
Adam J. Stewart
09c9786fab Allow run-flake8 to be run from anywhere 2016-08-11 09:53:04 -05:00
Adam J. Stewart
1edfc82123 Run flake8 checks on changed uncommitted files 2016-08-11 09:53:04 -05:00
Todd Gamblin
e6a122417a Merge pull request #1491 from eschnett/eschnett/curl
Update curl to 7.50.1
2016-08-11 03:04:07 -07: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
becker33
f59653ac2c Merge pull request #1496 from LLNL/features/pep8-compliance
PEP8 compliance
2016-08-10 17:36:31 -07:00
Todd Gamblin
84e331c586 Remove unneeded noqa comments. 2016-08-10 16:33:39 -07:00
Todd Gamblin
db59f87e32 Update README.md for PEP8 2016-08-10 16:33:39 -07:00
Todd Gamblin
240f1fd223 Spack packages now PEP8 compliant. 2016-08-10 16:33:39 -07:00
Todd Gamblin
867121ca68 Move jsonschema files out of config.py to their own package. 2016-08-10 16:33:38 -07:00
Todd Gamblin
bf1072c902 Make Spack core PEP8 compliant. 2016-08-10 16:33:37 -07:00
Todd Gamblin
8061deb883 Merge pull request #1495 from LLNL/bugfix/module-init-deprecation-gh1494
Fix superclass constructor args.
2016-08-10 16:12:23 -07:00
Todd Gamblin
e7f4fd404d Fix superclass constructor for SpackNamespace objects. 2016-08-10 15:54:13 -07:00
Joseph Ciurej
aa860bf4df Fixed a bug that was making packages with non-bool default variants to crash. 2016-08-10 11:54:33 -07:00
Erik Schnetter
158deae625 Update curl to 7.50.1 2016-08-10 13:51:57 -04:00
becker33
cfde03e694 Merge pull request #1485 from hartzell/patch-6
Fix typo 'flexbile' -> 'flexible'
2016-08-09 15:34:51 -07:00
George Hartzell
4bca1c5440 Fix typo 'flexbile' -> 'flexible' 2016-08-09 15:13:08 -07:00
Todd Gamblin
d380d16427 Merge pull request #1482 from mpbelhorn/olcf/do_not_use_ssl_to_fetch_upstream_openssl
Openssl package should not require openssl (https) to obtain source.
2016-08-09 13:22:31 -07:00
Matt Belhorn
2be065418b Openssl package should not require openssl (https) to obtain source. 2016-08-09 15:57:07 -04:00
Todd Gamblin
a095fd517f Merge pull request #1015 from LLNL/features/faster-virtuals
Faster virtuals and concretization
2016-08-09 10:33:40 -07:00
becker33
fb9f6fe9b5 Merge pull request #1473 from epfl-scitas/packages/plumed_dependents
plumed : added dependents (gromacs, cp2k)
2016-08-09 09:14:33 -07:00
Todd Gamblin
9d4a36a62f Properly re-raise exceptions from lock context handler. 2016-08-09 02:25:09 -07:00
Todd Gamblin
0c75c13cc0 Flake8 fixes 2016-08-09 02:25:07 -07:00
alalazo
38dcd6bce9 qa : flake8 issues 2016-08-09 09:54:24 +02:00
Todd Gamblin
102ac7bcf1 Move provider cache to home directory and refactor Transactions
Major stuff:

- Created a FileCache for managing user cache files in Spack.  Currently just
  handles virtuals.

- Moved virtual cache from the repository to the home directory so that users do
  not need write access to Spack repositories to use them.

- Refactored `Transaction` class in `database.py` -- moved it to
  `LockTransaction` in `lock.py` and made it reusable by other classes.

Other additions:

- Added tests for file cache and transactions.

- Added a few more tests for database

- Fixed bug in DB where writes could happen even if exceptions were raised
  during a transaction.

- `spack uninstall` now attempts to repair the database when it discovers that a
  prefix doesn't exist but a DB record does.
2016-08-09 00:24:54 -07:00
alalazo
5362864cc9 plumed : fixed name clash on attribute 2016-08-09 09:24:36 +02:00
Massimiliano Culpo
15d9fb1879 plumed : adding dependents
* cp2k : added plumed
* gromacs : patched pme load balancing
* gromacs : added plumed
2016-08-09 09:23:53 +02:00
Todd Gamblin
2042e9a6d8 Fix bugs with sparse spec printing.
- Make namespace, arch, and dependnecies show up in spec yaml
  only if they're set.

- Lost some of this functionality with deptypes
2016-08-08 21:04:23 -07:00
Todd Gamblin
1339714eec Restore text output in verbose mode. 2016-08-08 21:04:23 -07:00
Todd Gamblin
5d690c9270 Make compiler command test last until caching is fixed.
- global compiler cache breaks tests that come after this one.
2016-08-08 21:04:23 -07:00
Todd Gamblin
e5743db9b9 Fix issues with import order in tests.
- modules weren't set properly as attributes in parent modules
2016-08-08 21:04:23 -07:00
Todd Gamblin
d195576fba WIP 2016-08-08 21:04:23 -07:00
Todd Gamblin
5e5024342f Fix iterator invalidation issues. 2016-08-08 21:04:23 -07:00
Todd Gamblin
4de45c2684 fix scoping issue. 2016-08-08 21:04:23 -07:00
Todd Gamblin
ce6ac93abe rename virtual module to provider_index 2016-08-08 21:04:23 -07:00
Todd Gamblin
1f5a21decf Fix namespace support in Repo.get_pkg_class() 2016-08-08 21:04:23 -07:00
Todd Gamblin
ab049eca41 Faster key in FlagMap._cmp_key 2016-08-08 21:04:23 -07:00
Todd Gamblin
37fc258313 Remove vestigial methods from Package. 2016-08-08 21:04:23 -07:00
Todd Gamblin
faa0a0e4c3 Add a ProviderIndex cache.
- Spack will check if the index needs updating, and will only parse
  all package files if it does.

- Spack tries to parse as few package files as necessary.
2016-08-08 21:04:23 -07:00
Todd Gamblin
cf2f902b82 Make ProviderIndexes mergeable, so we can cache them per-repo. 2016-08-08 21:04:23 -07:00
Todd Gamblin
bf028990e7 Make ProviderIndex yaml-izable.
- allow a provider index to be stored and re-read.
2016-08-08 21:04:23 -07:00
Todd Gamblin
025609c63f More compact YAML formatting for abstract specs.
- Don't add empty/absent fields to Spec YAML when they're not there.
2016-08-08 21:04:23 -07:00
Todd Gamblin
7aaad89ba9 Lazily evaluate all_package_names in repository.py
- Don't need to list all packages unless we have to.

- Only use the list of all packages for existence checks if we have
  generated it for some other purpose.
2016-08-08 21:04:23 -07:00
becker33
2b94d7cf8e Merge pull request #1472 from adamjstewart/fixes/rstrip
Only strip newline chars, not spaces
2016-08-08 13:28:56 -07:00
Adam J. Stewart
5d48c108a3 Only strip newline chars, not spaces 2016-08-08 15:02:05 -05:00
becker33
3ea1325620 Merge pull request #1345 from hartzell/feature/add-perl-dependency-to-git
Add depends_on('perl'), depends_on('pcre') to git package
2016-08-08 09:44:50 -07:00
Todd Gamblin
dd30066feb Merge pull request #1449 from hartzell/feature/add-package-for-prank
Add package for prank and supporting tools
2016-08-07 23:43:40 -07:00
Todd Gamblin
e65a8b6a9a Merge pull request #1463 from davydden/pkg/opium
opium: add new package
2016-08-07 15:56:27 -07:00
Todd Gamblin
8121ac2c27 Merge pull request #1464 from hartzell/feature/update-lmod
No need to patch Lmod after 6.4.4
2016-08-07 15:55:16 -07:00
Todd Gamblin
93f5a750cb Merge pull request #1465 from glennpj/pango_url
Add list_url to pango package
2016-08-07 15:55:04 -07:00
Todd Gamblin
281f6f18e1 Merge pull request #1466 from pramodk/develop
PDT should download full installer package
2016-08-07 15:54:50 -07:00
Denis Davydov
db87a9d3ce tar: fix 1.28 on macOS; add 1.29 (#1462) 2016-08-07 15:54:01 -07:00
Adam J. Stewart
d7329d7bc2 Fix erroneously stripped trailing whitespace in patch (#1467) 2016-08-07 15:53:25 -07:00
Pramod Kumbhar
e9edfec0ec PDT should download full installer package pdtoolkit-X.tar.gz (default pdt-X.tar.gz is only for x86 and cray) 2016-08-07 01:14:26 +02:00
Glenn Johnson
2ad21e7070 Add list_url to pango package
Added a `list_url` so the updated pango tar file can be retrieved.
2016-08-06 18:12:47 -05:00
George Hartzell
09d96bef9f No need to patch Lmod after 6.4.4
The Lmod author changed the src so that it uses the tclsh (and shared
libraries) discovered at configure time.  He did it differently that I
did in this patch, but he changes solve our problem too, so...
2016-08-06 17:39:05 -04:00
George Hartzell
9ebbde0e01 Make configure use our gettext library
The configure script needs extra encouragement to link against our
gettext/libintl library.
2016-08-06 16:28:47 -04:00
George Hartzell
1de5817b58 Clean up rebase problems
My rebase duplicated the depends_on('zlib') and dropped the --with-curl
from the configure.

This fixes those.
2016-08-06 16:28:47 -04:00
George Hartzell
f699d7c08e [Whitespace] Gather the depends_on's together. 2016-08-06 16:28:47 -04:00
George Hartzell
152fa33a55 Call configure --with-libpcre=... to use our pcre
An earlier commit claimed that this package depends_on('pcre') but I
didn't fix the call to configure that enabled it.

This fixes that.
2016-08-06 16:28:47 -04:00
George Hartzell
3cf2fd40a8 Enable depends_on('pcre') also
While I have the patient on the operating table, @adamjstewart asked
me to uncomment and test the depends_on('pcre').

Did it and it Works For Me(tm).
2016-08-06 16:28:47 -04:00
George Hartzell
653905e3a2 Add depends_on('perl') to git package
This commit changes the git package to depend_on('perl').  The system
perl is not always sufficient to install git (e.g. a CentOS7 system with
the development tools group installed has perl but not the
ExtUtils::MakeMaker package that git needs) and one can't always update
the system's perl.

This PR depends_on PR #1339, which adds a perl package to spack.
2016-08-06 16:28:47 -04:00
George Hartzell
f800708ef3 Switch to using *std_cmake_args 2016-08-06 16:27:40 -04:00
George Hartzell
6a62a6b693 Flake8 whitespace cleanup 2016-08-06 16:27:40 -04:00
George Hartzell
a07a0ef54b Add Bio++ tool suite and supporting libs
Add the Bio++ suite and its supporting libraries.
2016-08-06 16:27:40 -04:00
George Hartzell
3c81bb44ba Add package for mafft 2016-08-06 16:27:40 -04:00
George Hartzell
e0db1f0268 Add package for exonerate 2016-08-06 16:27:40 -04:00
George Hartzell
9e16902397 Fix name of bpp-suite (missing -...) 2016-08-06 16:27:40 -04:00
George Hartzell
63592096c5 Add package for prank 2016-08-06 16:27:40 -04:00
Denis Davydov
4983ebcf7c opium: add new package 2016-08-06 21:35:52 +02:00
becker33
d3f115933e Merge pull request #1451 from hartzell/feature/add-package-for-fastx_toolkit
Add package for fastx toolkit
2016-08-05 15:09:46 -07:00
becker33
18d155e713 Merge pull request #1452 from hartzell/feature/add-package-for-samtools
Add package for samtools
2016-08-05 15:09:41 -07:00
George Hartzell
a6afaeb974 Remove lingering FIXME commentary 2016-08-05 17:51:24 -04:00
George Hartzell
769408130a Samtools depends on htslib from 1.3.1 onward
Samtools used to (before 1.3.1) include it's own copy of htslib.  Going
forward, it needs to use the standalone htslib.
2016-08-05 17:47:11 -04:00
becker33
90f68d2c66 Merge pull request #1460 from glennpj/fix_list_vcs
Catch error for version in VCS
2016-08-05 13:34:37 -07:00
becker33
8e20a14945 Merge pull request #1453 from hartzell/feature/add-package-for-seqtk
Add package for seqtk
2016-08-05 10:25:19 -07:00
becker33
f403f256ca Merge pull request #1450 from hartzell/feature/add-package-for-bwa
Add package for bwa
2016-08-05 10:21:10 -07:00
Glenn Johnson
20221ee3aa Catch error for version in VCS
This PR will catch the error where the url can not be determined from a
VCS URL, such as git. It will print a message to the console and move on
because it should not be a fatal error at this point in the process.

This should fix #1459.
2016-08-05 11:16:43 -05:00
becker33
594a6710ed Merge pull request #1442 from suraia/update-scorep-2.0
Update Score-P to 2.0

Most likely this can be generalized to link against older versions of dependencies, but it looks good for now.
2016-08-05 08:57:25 -07:00
George Hartzell
d6dedee6ff Flake8 cleanup 2016-08-04 15:23:04 -04:00
Bruno Turcksin
0c02ee86a7 Add Trilinos 12.6.4 (#1447) 2016-08-04 11:29:10 -07:00
George Hartzell
e12d7aadda Add package for seqtk
Seqtk is a tool for working with fast[aq] files.
2016-08-04 14:18:03 -04:00
George Hartzell
fd11db92e1 Add package for bcftools 2016-08-04 14:18:03 -04:00
George Hartzell
ba0577dc96 Update samtools to support v1.3.1
Update the samtools package to support v1.3.1, which
- now uses configure script; and
- now depends on external htslib package.

The dependency on mpc seems to have been bogus, it's never linked in,
nor is it mentioned in the source tree.  I *do* have a version in
/usr/lib64, but ldd does not sure it being linked in either....

By depending on 'ncurses' I can do away with the need for the patch.
2016-08-04 14:18:03 -04:00
George Hartzell
ef1369c365 Add package for htslib
Htslib was pulled out of samtools and made into a standalone thing.
This commit adds a packag for it, in support of the samtools package.
2016-08-04 14:18:03 -04:00
George Hartzell
e17862c421 Add package for fastx toolkit
Tools for working with FASTA/FASTQ files.
2016-08-04 14:18:02 -04:00
George Hartzell
d5bb2955b1 Add package for libgtextutils
Gordon's Text utils Library, in support of fastx toolkit.
2016-08-04 14:18:02 -04:00
George Hartzell
d4274b32f2 Make flake8 happy (long lines) 2016-08-04 14:18:01 -04:00
Todd Gamblin
6ab78eb88e sbang filtering now works on non-writable files. (#1445)
- sbang now changes mode to writable and restores mode if a file is not
  writable.
2016-08-04 10:46:45 -07:00
Michael Kuhn
d7665a63e3 flake8 fixes 2016-08-04 19:04:48 +02:00
becker33
369b2ef01f Merge pull request #1330 from suraia/fix-ascii-graph
Fix graph command with ASCII output
2016-08-04 09:37:24 -07:00
becker33
1ac1cc3d2c Merge pull request #1437 from jgalarowicz/update-xercesc
Update the version of xerces-c, where the developers remove the old v…
2016-08-04 09:00:36 -07:00
becker33
3c6f6fc811 Merge pull request #1438 from jgalarowicz/update-libmonitor
Update libmonitor to use its new github location, it does not exist w…
2016-08-04 08:59:35 -07:00
becker33
bacfa91cfd Merge pull request #1444 from tobbez/fix_indent_spider
Fix incorrect indentation in spack.util.web._spider
2016-08-04 08:44:35 -07:00
becker33
cabcdf0ec9 Merge pull request #1443 from davydden/pkg/dealii_python
dealii: add optional python bindings
2016-08-04 08:43:36 -07:00
becker33
fcc8b1d3e4 Merge pull request #1431 from hartzell/feature/add-package-for-unison
Add package for unison (and ocaml)
2016-08-04 08:41:45 -07:00
Torbjörn Lönnemark
61b3ecb6d2 Fix flake8 issues 2016-08-04 16:28:14 +02:00
Denis Davydov
af8741c23c dealii: add optional python bindings 2016-08-04 16:11:14 +02:00
Torbjörn Lönnemark
a591e183bc Fix incorrect indentation 2016-08-04 16:09:49 +02:00
Michael Kuhn
584e5506f2 Update Score-P to 2.0 2016-08-04 14:24:25 +02:00
Michael Kuhn
2bd1a51193 flake8 fixes 2016-08-04 13:07:33 +02:00
Michael Kuhn
1578a95982 Fix tests. 2016-08-04 13:07:33 +02:00
Michael Kuhn
7affaca321 Fix graph command with ASCII output. 2016-08-04 13:07:33 +02:00
Todd Gamblin
b7fa2c4e21 Fix #1429: Remove git dep from gettext; break circular dependency.
- It's not really a circular dependency -- git is a run dependency of gettext

- We can revert this change when Spack is smart enough to make git a run
  dependency and build it.
2016-08-03 21:53:53 -07:00
Jim Galarowicz
2e1dbd0697 Fix flake8 errors for: Update libmonitor to use its new github location, it does not exist where the package file now points to. 2016-08-03 21:32:15 -05:00
Jim Galarowicz
e69423a154 Fix flake8 errors for Update the version of xerces-c, where the developers remove the old version, so there is no fallback. 2016-08-03 21:28:56 -05:00
Jim Galarowicz
e68b7d8c63 Update libmonitor to use its new github location, it does not exist where the package file now points to. 2016-08-03 21:08:48 -05:00
Jim Galarowicz
638f779841 Update the version of xerces-c, where the developers remove the old version, so there is no fallback. 2016-08-03 21:04:17 -05:00
Todd Gamblin
be1158f7a3 Merge pull request #1433 from JRWynneIII/error_message_fix
Fix typo for error message when compiler doesn't exist for arch
2016-08-03 14:29:08 -07:00
James Riley Wynne III
f0609699ba Added parens to %'s arguments. Fixes #1432 2016-08-03 17:16:04 -04:00
George Hartzell
43371c31a2 Flake8 cleanup 2016-08-03 16:51:53 -04:00
Todd Gamblin
dce105d16f Merge pull request #1382 from KineticTheory/gktplus3-deps
GTK+3: Provide updates to package dependencies.
2016-08-03 13:45:18 -07:00
George Hartzell
4acf6d76bf Add package for unison
Add package for unison (the file synchronizer).

Needs the ocaml compiler to build.
2016-08-03 16:41:31 -04:00
George Hartzell
a7bfaa3797 Add package for ocaml compiler
Installs the ocaml compiler.
2016-08-03 16:41:31 -04:00
Todd Gamblin
88bb67e279 Merge pull request #1430 from KineticTheory/cray-cc-recursion-fix
Cray: Fix a typo that could cause an infinite recursion when calling env/cc
2016-08-03 13:34:54 -07:00
Kelly (KT) Thompson
46e9d85283 Cray: Fix a typo that could cause an infinite recursion when calling /env/cc.
fixes #1428
2016-08-03 14:15:44 -06:00
Kelly (KT) Thompson
7c46a4c0e4 Provide minor updates after code review
+ Always depend on the gettext package. This simplifies the logic and I no
  longer need to 'import sys'
+ Only apply the patch for the older version of glib.
2016-08-03 13:26:02 -06:00
becker33
3e6ebd577f Merge pull request #1378 from LLNL/bugfix/gh-1324-intel-parallel-studio
Bugfix/gh 1324 intel parallel studio
2016-08-03 10:46:40 -07:00
becker33
353726f08f Merge pull request #1156 from adamjstewart/features/py-meep
Add py-meep package and dependencies

Merging to add the gettext support, will submit a separate issue for the LD_LIBRARY_PATH issue with MPI and py-meep
2016-08-03 10:07:05 -07:00
becker33
7ae163d436 Merge pull request #1361 from epfl-scitas/features/module_token_expansion_in_environment
module : token expansion in environment
2016-08-03 09:49:28 -07:00
becker33
b9195b415a Merge pull request #1420 from epfl-scitas/packages/plumed
plumed : added package
2016-08-03 08:36:31 -07:00
alalazo
2f1c000f62 qa : flake8 issues 2016-08-03 08:26:58 +02:00
Kelly (KT) Thompson
d7d12aa2dc One more formatting change to make flake8 happy. 2016-08-02 19:05:48 -06:00
becker33
48997cffa1 Merge pull request #1233 from hartzell/add-nextflow
First cut package for nextflow, has issues
2016-08-02 11:52:19 -07:00
becker33
4ff4eab476 Merge pull request #1236 from davydden/pkg/arpack-ng_blas
arpack-ng: fix blas/lapack libraries
2016-08-02 11:50:42 -07:00
Denis Davydov
f90692cf81 arpack-ng: fix blas/lapack libraries 2016-08-02 20:27:34 +02:00
becker33
13d9eed85b Merge pull request #1424 from adamjstewart/features/setup_py
spack create should use setup_py() instead of python()
2016-08-02 10:28:14 -07:00
Adam J. Stewart
941acef009 spack create should use setup_py() instead of python() 2016-08-02 12:20:28 -05:00
becker33
b5a117c923 Merge pull request #1366 from hartzell/feature/add-package-for-ack
Add package for ack
2016-08-02 10:11:11 -07:00
becker33
1534a115bd Merge pull request #1421 from hartzell/feature/add-package-for-texlive
Add package for texlive
2016-08-02 10:10:43 -07:00
becker33
a03a35565e Merge pull request #1339 from hartzell/features/add-perl
Add perl package
2016-08-02 10:10:04 -07:00
becker33
326b9838ed Merge pull request #1423 from glennpj/fix_url
Move archive_version setting to if block
2016-08-02 10:05:25 -07:00
George Hartzell
fa70a837d4 Remove accidentally committed cabal-install bits 2016-08-02 13:00:47 -04:00
becker33
91004158c6 Merge pull request #1243 from davydden/pkg/atlas_urls
atlas: fix urls and shared libs
2016-08-02 09:59:05 -07:00
Glenn Johnson
2929fb0a4d Move archive_version setting to if block
The archive_version variable should only get set if versions will be
checked and that is only if there is a list_url in the package file. For
VCS repos setting the variable triggers an error from web.py as it
parses the default_fetcher object.

This should fix #1422.
2016-08-02 11:54:09 -05:00
becker33
3f26bbc8b3 Merge pull request #864 from davydden/kdiff3
kdiff3: initial version of the package
2016-08-02 09:35:00 -07:00
becker33
a3322fab0a Merge pull request #1360 from glennpj/pysetuptoolsdep
Add py-setuptools dependencies to packages
2016-08-02 09:33:40 -07:00
becker33
21158195fb Merge pull request #1354 from paulhopkins/bugfix/preferred_variants_do_not_recognise_-variant
Bugfix/preferred variants do not recognise  -variant
2016-08-02 09:15:06 -07:00
George Hartzell
74a181febc Remove local copy of cpanm installer
This is handled as a resource in the package now.
2016-08-02 12:13:24 -04:00
becker33
9490bd2154 Merge pull request #1373 from hartzell/bug/update-several-r-packages
Update several R packages (r-shiny prereqs)
2016-08-02 09:07:31 -07:00
George Hartzell
4c8672ed1f Add previous versions back into package
Following the advice of @glennpj, added the old versions back into the
packages.

I can install the current packages and the previous packages.
2016-08-02 11:45:16 -04:00
George Hartzell
c77425bb22 Remove useless def unpack
Before I learned that I was stumbling over a real but (#1308), I thought
I needed to arrange for the fetcher to skip the unpack step.

This commit removes the useful `def unpack`.
2016-08-02 11:32:19 -04:00
George Hartzell
a6605d842b Flake8 cleanup. 2016-08-02 11:25:03 -04:00
George Hartzell
f2f5f6c279 Touch up variant comment 2016-08-02 11:18:50 -04:00
George Hartzell
c994565c62 Use "resource" machinery to manage cpanm tarball
Use the resource machinery to fetch/cache/unpack/... the App::cpanminus
tarball.

- this hardcodes the version, I can't figure out how to use a variant to
  hold/set the value and access it in the resource().
- change up the install to use the `with working_dir()` meme.
2016-08-02 11:16:46 -04:00
George Hartzell
1b9becc541 Add the std spack header to perl/package.py
Stole the example header from antlr/package.py, included it at the top
of perl/package.py.
2016-08-02 11:16:46 -04:00
George Hartzell
08ff7b65af Make running perl's tests conditional
Make running perl's tests conditional, one must now specify the
`--run-tests` flag to the `spack install` command in order to run the
tests.

On one system (8 core, 16GB Digital Ocean Droplet), installing without
tests takes 3 minutes, with tests takes 16 minutes.
2016-08-02 11:16:46 -04:00
George Hartzell
4d72e0fb9d Make the cpanm version a variant
Rather than hard-coding the verison of `cpanm` that's [optionally]
installed into the core, make it a variant with a default value of
'1.7042'.

Also discovered that `prefix + 'bin'` is the same as `prefix.bin`, so
embetter that bit of code.
2016-08-02 11:16:46 -04:00
George Hartzell
a5a4525bed Add perl package
Add perl package, based on [work by
justintoo](https://github.com/LLNL/spack/pull/105).  He had too many
things pulled into that pull request, this just adds a perl package.

Support the current releases on the past three minor branches.

Run perl's tests before installing.

Install cpanm into the core (makes building on top of this perl *much*
simpler).  Controlled by a variant.
2016-08-02 11:16:46 -04:00
George Hartzell
949621eb7f Add package for texlive 2016-08-02 11:15:42 -04:00
George Hartzell
857a03c127 Ack should depends_on('perl')
Add a depends_on('perl') and rewrite the script's `#!` line to refer to
that Perl's `perl` executable.
2016-08-02 11:11:05 -04:00
George Hartzell
114da813a3 Remove unnecessary imports.
Now that it's sporting a cleaner install method, these imports are
unnecessary.
2016-08-02 11:11:05 -04:00
George Hartzell
bf467c5df3 Remove override of unpack(self)
I cargo culted that from my *nextflow* package.  I [thought I] needed it
to work around Spack trying to use tar to unpack something that was
neither a tar ball nor unpackable.

This package works fine without it.  In retrospect, the error that I was
seeing in the *nextflow* package was probably this problem #1308.
2016-08-02 11:11:05 -04:00
George Hartzell
6c3623422f Use cleaner mech to install script
Use @adamjstewart's nicer bit of python code in the
install method.
2016-08-02 11:11:05 -04:00
George Hartzell
63121a0c49 Add package for ack
Add a package for [ack](http://beyondgrep.com/install/).  Simply install
the fatpacked script.

It uses '#!/usr/bin/env perl' and it very much not choosy about what
perl it needs.  For now just trust that there's one available, perhaps
someday we can/should uncomment the depends_on('perl').

Follows the methodolgy I used in nextflow.  Has the same
uninstall/install problem that nextflow has, there is an issue in
progress for that: https://github.com/LLNL/spack/issues/1308.

Tested on CentOS7.
2016-08-02 11:11:05 -04:00
George Hartzell
12d1263980 Update several R packages (r-shiny prereqs)
r-jsonlite 0.0.21 -> 1.0
r-mime     0.4    -> 0.5
rcpp       0.12.5 -> 0.12.6

CRAN is funny.  The older versions of these packages are still available
in package specific directories but the current version is not there, so
I don't see any way to make the older versions work.
2016-08-02 11:10:41 -04:00
George Hartzell
6f332c7e4c Fix whitespace, make flake8 happ{y,ier}. 2016-08-02 11:10:12 -04:00
George Hartzell
bfcec69630 Add standard header, use spack helpers
Added the standard header (stolen from R).

Touched up the install to use set_executable rather than doing it
myself.
2016-08-02 11:10:12 -04:00
George Hartzell
4373a2b629 First cut package for nextflow, has issues
This is my first cut at a package to support nextflow.  It's also my
first package.  It works, but has issues.  I'm going to submit a pull
request and get some coaching on how to deal with it.

One issue particular: if I install, then uninstall, then try to install
again (which uses the cached copy of the "distribution file"), it
explodes.
2016-08-02 11:10:12 -04:00
Glenn Johnson
a57d94af03 Fix flake8 issues. 2016-08-02 09:53:57 -05:00
Denis Davydov
a1703bf70d kdiff3: add license block 2016-08-02 16:37:14 +02:00
Gilles Fourestey
dea7bbb4a0 added plumed
* plumed : first version
* plumed : added dependencies and docs
2016-08-02 15:06:46 +02:00
Denis Davydov
565bd5f51e atlas: revert to lapack 3.5.0 2016-08-02 13:52:32 +02:00
Denis Davydov
bef7e2645a atlas: flake8 fixes 2016-08-02 13:52:32 +02:00
Denis Davydov
f6a4a6b00f atlas: add install_test 2016-08-02 13:52:32 +02:00
Denis Davydov
0c0b37800d atlas: set (blas|lapack)_shared_lib 2016-08-02 13:52:32 +02:00
Denis Davydov
4ecf481337 atlas: fix shared libs; set compilers 2016-08-02 13:52:32 +02:00
Denis Davydov
6f7e12d49b atlas: fix urls and use lapack 3.6.0 2016-08-02 13:52:32 +02:00
Denis Davydov
0aa513ad70 libxau: mark pkg-config as build-type dependency 2016-08-02 13:50:46 +02:00
Denis Davydov
450c750214 kdiff3: initial version of the package 2016-08-02 13:49:40 +02:00
Denis Davydov
a4e59c2758 libxau: add missing dependency 2016-08-02 13:49:40 +02:00
Kelly (KT) Thompson
9433e84776 Formatting changes for flake8. 2016-08-01 22:54:51 -06:00
Kelly (KT) Thompson
17f0eb5148 Provide correct download urls and additional dependencies. 2016-08-01 22:10:54 -06:00
ba11f19efc Merge remote-tracking branch 'upstream/develop' into gktplus3-deps 2016-08-01 20:50:28 -06:00
becker33
bb5dd49206 Merge pull request #1419 from LLNL/bugfix-compiler-error-message
Bugfix compiler error message
2016-08-01 17:30:03 -07:00
Gregory Becker
679ceabf36 fixed flake8 errors 2016-08-01 17:22:13 -07:00
Gregory Becker
31042e8ed1 further improved error message 2016-08-01 17:16:06 -07:00
Gregory Becker
2705f2c0e3 changed error raised in concretize compiler to provide better error message 2016-08-01 17:11:10 -07:00
becker33
c678a9e3da Merge pull request #1417 from LLNL/features/combined-cray-platform-cleanup
Removed vestigial cray_xc platform in favor of combined cray platform
2016-08-01 16:26:20 -07:00
Gregory Becker
0cf1f917d5 fixed architecture test 2016-08-01 16:17:31 -07:00
becker33
bc2e0cc87c Merge pull request #1418 from mamelara/bugfix/add_import
Add import statement
2016-08-01 16:09:28 -07:00
Mario Melara
0425f5d523 Add import statement
Add missing import statement for join_path
2016-08-01 15:59:30 -07:00
Gregory Becker
0ce98d4d65 Removed vestigial cray_xc platform in favor of combined cray platform 2016-08-01 15:43:11 -07:00
becker33
7f43a7d134 Merge pull request #1376 from mpbelhorn/olcf/unified_cray_platform
Olcf/unified cray platform
2016-08-01 15:40:11 -07:00
Matt Belhorn
661708b7fa Fixes Flake8 indentation errors. 2016-08-01 17:27:33 -04:00
Matt Belhorn
ae167c09fc Prefers bash over sh.
Assuming a bash interactive environment will be correctly formed on login, we
should prefer to probe the environment using a shell that reports itself as
`bash` instead of `sh` which may not source files that set the
environment modules in statements like:

```
case "$is" in
bash) test -s /etc/bash.bashrc.local && . /etc/bash.bashrc.local ;;
ksh)  test -s /etc/ksh.kshrc.local   && . /etc/ksh.kshrc.local ;;
zsh)  test -s /etc/zsh.zshrc.local   && . /etc/zsh.zshrc.local ;;
ash)  test -s /etc/ash.ashrc.local   && . /etc/ash.ashrc.local
esac
test -s /etc/sh.shrc.local && . /etc/sh.shrc.local
```
2016-08-01 17:17:24 -04:00
becker33
14d861a41c Merge pull request #1414 from adamjstewart/fixes/filter_file
Fix backup=True for filter_file
2016-08-01 14:10:59 -07:00
Matt Belhorn
e864d27641 Replaces bash-ism source for POSIX-compliant .
Change is made in order to use `/bin/sh` on systems where `/bin/sh` is not
simply an alias for `/bin/bash --norc`.
2016-08-01 17:04:09 -04:00
becker33
b892cebe8a Merge pull request #1343 from glennpj/r_unfilter
R extension dependencies with compiler wrapper
2016-08-01 13:51:13 -07:00
becker33
49e47966a8 Merge pull request #1357 from hartzell/patch-6
Fix doc for install_tree (cut/paste error)
2016-08-01 13:45:20 -07:00
becker33
e861e35acf Merge pull request #1234 from mwilliammyers/package-opencv
Update opencv package
2016-08-01 13:44:31 -07:00
becker33
1847aa035d Merge pull request #1348 from glennpj/rcurl
r-curl update and changed remote archive
2016-08-01 13:38:38 -07:00
becker33
630ff6871d Merge pull request #1346 from glennpj/url_list_fetch
Url list fetch
2016-08-01 13:37:57 -07:00
becker33
94238eebfa Merge pull request #1381 from davydden/pkg/mkl_linux
MKL linux fixes
2016-08-01 13:36:10 -07:00
Adam J. Stewart
5b79f0d04a Fix backup=True for filter_file 2016-08-01 15:35:02 -05:00
becker33
dc9fcea989 Merge pull request #1365 from hartzell/feature/add-package-for-tree
Add package for tree
2016-08-01 13:21:09 -07:00
becker33
15514792d5 Merge pull request #1374 from hartzell/bug/fix-jdk-import-of-distutils
Bug: fix jdk package's use of distutils
2016-08-01 13:20:44 -07:00
becker33
851bc506e4 Merge pull request #1367 from adamjstewart/features/pgi
Add latest version of PGI
2016-08-01 13:07:35 -07:00
becker33
932300256c Merge pull request #1413 from mdevlin1/fixes/libxsmm
Fixed libxsmm package
2016-08-01 13:06:05 -07:00
becker33
6361f5c2d4 Merge pull request #1359 from sknigh/libhio
added libhio package
2016-08-01 13:05:29 -07:00
Mitchell Devlin
2d51ea5da4 fixed libxsmm makefile filter 2016-08-01 14:38:16 -05:00
Adam J. Stewart
fed7ba1dab Add latest version of PGI 2016-08-01 13:42:00 -05:00
Glenn Johnson
19578d954f Fix flake8 line length errors 2016-08-01 13:37:42 -05:00
Adam J. Stewart
ab885a5397 Allow git to depend on gettext now that it works 2016-08-01 13:35:22 -05:00
Adam J. Stewart
4014a29d2b Use proper deptype so that spack activate works 2016-08-01 13:35:22 -05:00
Adam J. Stewart
b4cd2a85df Re-add trailing whitespace in patch 2016-08-01 13:35:22 -05:00
Adam J. Stewart
f5aed63b0b pkg-config should be a build dependency only 2016-08-01 13:35:22 -05:00
Adam J. Stewart
5cac0a528c Fix undefined symbols by building shared libraries 2016-08-01 13:35:22 -05:00
Adam J. Stewart
bdb64c2e39 Tell MEEP where to find libctl 2016-08-01 13:35:22 -05:00
Adam J. Stewart
0903ae0599 Final fixes to get libctl working 2016-08-01 13:35:22 -05:00
Adam J. Stewart
1e3a5d4e26 Final fixes to get guile to build 2016-08-01 13:35:21 -05:00
Adam J. Stewart
6db99a4fe7 Rename gc => bdw-gc, fix libunistring bug 2016-08-01 13:35:21 -05:00
Adam J. Stewart
5b1a882fc2 Update meep's url_for_version 2016-08-01 13:35:21 -05:00
Adam J. Stewart
a2578c21e4 Supply flags to bdist 2016-08-01 13:35:21 -05:00
Adam J. Stewart
8d0758fc4c Allow py-meep to link properly 2016-08-01 13:35:21 -05:00
Adam J. Stewart
880cbb2217 Better testing for MEEP 2016-08-01 13:35:21 -05:00
Adam J. Stewart
3b4820f290 Patch pkg-config and update installs for various packages 2016-08-01 13:35:21 -05:00
Adam J. Stewart
9e05fdf4a1 Bug fixes 2016-08-01 13:35:20 -05:00
Adam J. Stewart
7e53f4328f Add py-meep package and dependencies 2016-08-01 13:35:20 -05:00
becker33
e470478dc1 Merge pull request #1363 from hartzell/feature/add-package-for-cask
Add package for cask
2016-08-01 11:08:13 -07:00
George Hartzell
7d303afd64 Address flake8 issue 2016-08-01 13:42:55 -04:00
George Hartzell
1552ed943a Add package for cask
Add a package for cask, the emacs project/dependency management tool.

Based on [Homebrew's formula][brew].

[brew]: https://github.com/Homebrew/homebrew-core/blob/master/Formula/cask.rb
2016-08-01 13:41:28 -04:00
George Hartzell
31b7580b76 Fix jdk package's use of distutils
See issue #1364.  @citibeth's fix works fine.
2016-08-01 13:33:27 -04:00
becker33
cc3fc2ba4c Merge pull request #1322 from mdevlin1/feature/libxsmm
Add libxsmm package
2016-08-01 09:56:09 -07:00
becker33
0ce54c99af Merge pull request #1383 from epfl-scitas/packages/cp2k
cp2k : added package
2016-08-01 09:35:50 -07:00
Matt Belhorn
aaa5c9e8a4 Writes default module list to terminal when debugging. 2016-08-01 12:05:29 -04:00
Paul Hopkins
cca240c8f9 Add concretize_preferences tests 2016-08-01 16:18:11 +01:00
alalazo
ec09dfe5d1 cp2k : added package 2016-08-01 10:41:33 +02:00
Todd Gamblin
fbbb82259a Merge pull request #1407 from glennpj/r-ncdf4
New package - r-ncdf4
2016-07-31 22:15:52 -07:00
Todd Gamblin
ea11aab71f Merge pull request #1406 from glennpj/r-np
New package - r-np
2016-07-31 22:15:37 -07:00
Todd Gamblin
2042c94a6c Merge pull request #1405 from glennpj/r-survey
New package - r-survey
2016-07-31 22:15:09 -07:00
Todd Gamblin
64be8a80b2 Merge pull request #1404 from glennpj/r-tarifx
New package - r-tarifx
2016-07-31 22:14:56 -07:00
Todd Gamblin
7185fe2876 Merge pull request #1403 from glennpj/r-e1071
New package - r-e1071
2016-07-31 22:14:40 -07:00
Todd Gamblin
0724eba935 Merge pull request #1402 from glennpj/r-plotrix
New package - r-plotrix
2016-07-31 22:14:25 -07:00
Todd Gamblin
441bb83682 Merge pull request #1401 from glennpj/r-gdata
New package - r-gdata
2016-07-31 22:13:50 -07:00
Todd Gamblin
2cffc90284 Merge pull request #1400 from glennpj/r-roxygen2
New package - r-roxygen2
2016-07-31 22:13:16 -07:00
Todd Gamblin
68cedd2599 Merge pull request #1399 from glennpj/r-testthat
New package - r-testthat
2016-07-31 22:12:06 -07:00
Todd Gamblin
d00fd06095 Merge pull request #1398 from glennpj/r-xml
New package - r-xml
2016-07-31 22:11:38 -07:00
Todd Gamblin
3d571ad934 Merge pull request #1397 from glennpj/r-datatable
New package - r-datatable
2016-07-31 22:11:32 -07:00
Glenn Johnson
8815f0a0b5 New package - r-ncdf4
Interface to Unidata netCDF (version 4 or earlier) format data files.
2016-07-31 17:12:29 -05:00
Glenn Johnson
bfd03db12a New package - r-np
Nonparametric kernel smoothing methods for mixed data types.
2016-07-31 16:18:55 -05:00
Glenn Johnson
f14eb07dc1 New package - r-survey
Analysis of complex survey samples.
2016-07-31 15:50:19 -05:00
Glenn Johnson
a9cc6a7d08 New package - r-tarifx
A collection of various utility and convenience functions.
2016-07-31 15:39:09 -05:00
Glenn Johnson
be2f2e42db New package - r-e1071
Misc functions of the Department of Statistics, Probability Theory Group
(Formerly: E1071), TU Wien.
2016-07-31 15:26:13 -05:00
Glenn Johnson
05e5276aec New package - r-plotrix
Various plotting functions.
2016-07-31 15:15:55 -05:00
Glenn Johnson
dbf799bbf9 New package - r-gdata
Data manipulation tools.
2016-07-31 15:07:40 -05:00
Glenn Johnson
f39e570f36 New package - r-roxygen2
In-source documentation for R.
2016-07-31 14:52:16 -05:00
Glenn Johnson
58a6039c0a New package - r-testthat
A unit testing system for R.
2016-07-31 14:40:46 -05:00
Glenn Johnson
0662b953f0 New package - r-xml
Tools for parsing and generating XML within R and S-Plus.
2016-07-31 14:25:17 -05:00
Glenn Johnson
1b04b8be01 New package - r-datatable
Extension of Data.frame
2016-07-31 14:11:04 -05:00
Todd Gamblin
500218df80 Merge pull request #1384 from epfl-scitas/qa/drop_flake8_python26
qa : no flake8 on python 2.6, coveralls only on python 2.7
2016-07-30 20:25:14 -07:00
Todd Gamblin
173a16b38a Merge pull request #1396 from glennpj/r-quantmod
New package - r-quantmod
2016-07-30 20:15:53 -07:00
Todd Gamblin
68ba5377c1 Merge pull request #1395 from glennpj/r-ggmap
New package - r-ggmap and dependencies
2016-07-30 20:14:57 -07:00
Todd Gamblin
253507c0c3 Merge pull request #1394 from glennpj/r-maps
New package - r-maps
2016-07-30 20:14:27 -07:00
Todd Gamblin
7684652ce3 Merge pull request #1393 from glennpj/r-maptools
New package - r-maptools
2016-07-30 20:14:19 -07:00
Todd Gamblin
b12dc34ba7 Merge pull request #1391 from glennpj/r-caret
New package - r-caret
2016-07-30 20:14:09 -07:00
Todd Gamblin
9c31ee8a75 Merge pull request #1390 from glennpj/r-glmnet
New package - r-glmnet
2016-07-30 20:13:50 -07:00
Todd Gamblin
ae5ba2b110 Merge pull request #1389 from glennpj/r-vcd
New package - r-vcd
2016-07-30 20:13:05 -07:00
Todd Gamblin
13499f1655 Merge pull request #1388 from glennpj/r-multcomp
New package - r-multcomp
2016-07-30 20:12:51 -07:00
Todd Gamblin
49e9f365d8 Merge pull request #1387 from glennpj/r-randomforest
New package r-randomforest
2016-07-30 20:12:21 -07:00
Todd Gamblin
0fa8a491d3 Merge pull request #1386 from glennpj/r-car
New package r-car
2016-07-30 20:12:02 -07:00
Glenn Johnson
41cd861861 New package - r-quantmod
Qualitative Financial modelling framework.
2016-07-30 18:25:43 -05:00
Glenn Johnson
2913aa8d09 New package - r-ggmap and dependencies
Spatial visualization with ggplot2
2016-07-30 18:14:02 -05:00
Glenn Johnson
1bd2def41e New package - r-maps
Draw geographical maps.
2016-07-30 17:34:07 -05:00
Glenn Johnson
386f0e577a New package - r-maptools
Tools for reading and handling spatial objects.
2016-07-30 17:26:31 -05:00
Glenn Johnson
7207ce2a18 New package - r-caret
Classification and Regression Training
2016-07-30 16:53:54 -05:00
Glenn Johnson
20e52e5052 New package - r-glmnet
Lasso and Elastic-Net Regularized Generalized Linear Models
2016-07-30 16:38:00 -05:00
Glenn Johnson
e9944150a5 New package - r-vcd
Visualizing Categorical Data
2016-07-30 16:28:43 -05:00
Glenn Johnson
fc1804974c New package - r-multcomp
Simultaneous Inference in General Parametric Models.
2016-07-30 16:09:57 -05:00
Glenn Johnson
12167e8f37 New package r-randomforest
Breiman and Cutler's Random Forests for Classification and Regression.
2016-07-30 15:39:28 -05:00
Glenn Johnson
8dc26bbcd9 Have R extensions build in parallel.
Set `MAKEFLAGS` so R extensions can be built in parallel if that is set
in spack.
2016-07-30 15:20:14 -05:00
Glenn Johnson
ee7acc6b13 New package r-car
Companion to Applied Regression.
2016-07-30 15:10:25 -05:00
alalazo
f4422dc165 qa : fixes #1370 (no flake8 on python 2.6, coveralls only python 2.7) 2016-07-30 18:49:23 +02:00
Matt Belhorn
dc7e0899a0 Invokes subshell without user init scripts. 2016-07-30 11:38:34 -04:00
Matt Belhorn
5bb2d3baa0 Replaces technique for obtaining default back_end target.
New technique parses output of `module list` in clean login environment
in order to let convoluted initialization scripts to work for us rather
than against us as when trying to parse them directly.
2016-07-29 15:06:56 -04:00
Matt Belhorn
5e97eb5ec4 Obtains default modules from a clean subshell.
The list of default environment modules is obtained by calling

`module list -lt`

from a subshell with a wiped environment. This allows `/etc/profile` and other
init scripts to be fully sourced which should generally include loading the
default modules.

The list of default modules is then parsed for the first acceptable CPU target,
assumed to be the back_end target.
2016-07-29 15:02:25 -04:00
Kelly (KT) Thompson
6c80b15220 GTK+3: Provide updates to package dependencies.
WIP: I started trying to build gtkplus@3.20, but this package has many more
dependencies than v2 and it requires newer versions of existing packages. This
commit provides updates for 5 packages that are required by GTK+3. This is not
the complete set of changes required for GTK+3.

atk  - move default version from 2.14 -> 2.20.
glib - move default version from 2.42 -> 2.49
     - v2.49 requires pcre+utf as a new dependency.
pcre - if variant +utf is selected, add '--enable-unicode-properties' to the
       configure options.
libepoxy - new package to spack
         - manages OpenGL function pointers.
pango    - move default version from 1.36 -> 1.40
2016-07-29 09:05:44 -06:00
Denis Davydov
aad5a4c4b3 mkl: flake8 fixes; minor docu update 2016-07-29 14:12:07 +02:00
Paul Hopkins
5eebb2defa Use space characters to separate preferred variants from package name and each other 2016-07-29 13:02:47 +01:00
Denis Davydov
b6ce0e6f0e trilinos: make sure hdf5 is picked up from Spack 2016-07-29 13:11:12 +02:00
Denis Davydov
943896e237 trilinos: fix lapack lib dir 2016-07-29 13:09:34 +02:00
Denis Davydov
8ee4df8101 hypre: minor cleanup related to blas/lapack 2016-07-29 11:37:19 +02:00
Denis Davydov
572f1cd427 mkl: symlink libs to prefix.lib 2016-07-29 11:36:37 +02:00
Todd Gamblin
e04662f84f Merge pull request #1344 from LLNL/bugfix/py-nose-nosetests
do not ignore nosetests script in py-nose
2016-07-28 10:19:13 -07:00
becker33
5caaa2cd75 Merge pull request #1331 from adamjstewart/fixes/mvapich2
MVAPICH2 depends on libpciaccess
2016-07-28 09:52:51 -07:00
becker33
3759f62cba Merge pull request #1235 from davydden/pkg/p4est_run_tests
p4est: use run_tests instead of a variant
2016-07-27 18:36:36 -07:00
Matt Belhorn
07f2dd5498 Merge pull request #1 from robertdfrench/olcf/unified_cray_platform
PEP8 Goodness
2016-07-27 14:33:09 -04:00
robertdfrench
eab56b71be PEP8 Goodness 2016-07-27 13:11:24 -04:00
Matt Belhorn
3040381f03 Front-end unification for Cray systems.
A platform to generically cover all Cray systems is introduced to avoid having
specific platforms for each of XK (XE, XT), XC, and future systems using CrayPE
and CNL.

The platform searches for 'front_end' and 'back_end' targets, in order, from:

  * Environment variables 'SPACK_FRONT_END' and 'SPACK_BACK_END'
  * A spack configuration file 'targets.yaml'
  * Parsing `/etc/bash.bashrc.local` for first loaded CrayPE CPU target.

If a back_end target is not found through one of these methods, an exception is
raised. Otherwise, the back_end is set as the default target. The shell init
script search is based on recommendations in Crayports case #144359.

No automagic way of determining front_end targets has been found (to date) so if
a front_end is not specified through configuration, it is ignored which should
leave a spack instance in a consistant state.
2016-07-27 11:37:15 -04:00
George Hartzell
f855cf6bab Add package for tree
Add a package for [tree](http://mama.indstate.edu/users/ice/tree/).

It has a Makefile that hardcodes a prefix and some CFLAGS.  Used
filter_file to:

- set the make variable *prefix* to `prefix`; and
- comment out their CFLAGS, just use ours....

It installs, runs on CentOS7, and uninstalls cleanly.
2016-07-27 11:32:03 -04:00
Matt Belhorn
b1e6c58ff2 Adds __str__ method to CNL operating system class. 2016-07-27 11:25:23 -04:00
Matt Belhorn
4e6fdd12e2 Adds targets config file 2016-07-27 11:25:23 -04:00
Todd Gamblin
458deaae5e Merge pull request #1350 from adamjstewart/fixes/openssl
Fix OpenSSL url_for_version
2016-07-27 08:08:00 -07:00
alalazo
9c7b98dcc8 modules : handle dashes in environment variables 2016-07-26 09:03:17 +02:00
Greg Lee
e4525e57bb intel parallel studio itac fixes 2016-07-25 14:02:15 -07:00
Greg Lee
dba384108b intel parallel studio setup mkl environment 2016-07-25 14:01:49 -07:00
becker33
e4ced765f1 Merge pull request #1353 from epfl-scitas/qa/minor_cleanup
qa : minor cleanup
2016-07-25 10:34:43 -07:00
Samuel Knight
a2d4dcc636 Added libhio package 2016-07-25 17:32:03 +00:00
becker33
969e785d94 Merge pull request #1352 from glennpj/r_googlevis
New package - r-googlevis
2016-07-25 10:25:47 -07:00
becker33
5b7ec8de95 Merge pull request #1351 from glennpj/r_htmlwidgets
New packages - R htmlwidgets
2016-07-25 10:25:19 -07:00
becker33
e19872e77f Merge pull request #1347 from glennpj/rdeps
Add dependency type to r- packages
2016-07-25 10:19:32 -07:00
Glenn Johnson
eb865b0df2 Add py-setuptools as dependency
With the addition of dependency types and with `py-setuptools` set as
type='build' there are more packages that need to have `py-setuptools`
added as a dependency.

This PR adds that dependency for the following packages:
- py-h5py
- py-networkx
- py-pytables
- py-scikit-image
2016-07-25 11:23:09 -05:00
alalazo
c6a05f4a7d qa : flake8 issues fixes #1109 2016-07-25 18:22:09 +02:00
alalazo
3126ed5f21 modules : permit token expansion in configuration files 2016-07-25 18:10:27 +02:00
George Hartzell
d684b17c06 Fix doc for install_tree (cut/paste error)
It looks like the docs for copy_tree were cut/paste from copy and still referred to installing a "file".

This fixes that.
2016-07-25 08:45:44 -07:00
alalazo
5cfaa557d3 qa : flake8 issues 2016-07-25 10:19:58 +02:00
alalazo
23006d1195 spec : removed dead code 2016-07-25 09:05:50 +02:00
Glenn Johnson
81cd458c26 r-curl update and chaged remote archive
This updates to the 1.0 version of r-curl. The remote archive directory
name also changed so change that here as well.
2016-07-24 16:48:07 -05:00
Glenn Johnson
27986c9edf New packages - R htmlwidgets 2016-07-24 16:43:35 -05:00
Glenn Johnson
b7bf88c761 New package - r-googlevis 2016-07-24 16:38:36 -05:00
Adam J. Stewart
29278090eb Fix OpenSSL url_for_version 2016-07-24 15:19:27 -05:00
Glenn Johnson
b1e5ec0573 Make sure package has the url attribute.
In addition to `list_url` make sure the package has the `url` attribute
set before attempting to add urls from a list. This is to cover the case
where there may be a `list_url` specified in tandem with a
`url_for_version`.
2016-07-24 09:21:11 -05:00
Glenn Johnson
4f09e8c975 Only use list if list_url set
This commit will make urls from list_url only checked if `list_url` is
set in the package file. This makes more sense as there is no need to
check for those if the attribute is not present. If `url` is present and
`list_url` is not then it would result in the same url. If
`url_for_version` is used then that will not work anyway.
2016-07-23 22:56:08 -05:00
Glenn Johnson
a8855f48aa Add dependency type tp r- packages
This PR adds the `nolink` dependency type to r- package dependencies.
This is needed due to the new dependency types in Spack. A couple of
packages were updated with new versions as well.
2016-07-23 19:43:55 -05:00
Glenn Johnson
4181fd79cd Fix flake8 errors related to lines
Fixed the flake 8 errors that involved too many blank lines or not
enough blank lines. Basically, all of the flake8 errors except line
length errors.
2016-07-23 19:10:09 -05:00
Glenn Johnson
b51be2bb1b Have fetch use list_url
This PR allows archive file retrieval from urls derived from the
`list_url` setting in a package file. This allows for continued
retrieval of checksummed archive files even when they are moved to a new
remote location when a package is updated upstream.
2016-07-23 19:09:58 -05:00
Greg Lee
773bca159a do not ignore nosetests script in py-nose 2016-07-22 15:49:36 -07:00
Glenn Johnson
ec9959b152 R extension dependencies with compiler wrapper
This commit introduces a mechanism to insure that R package dependencies
are built with the Spack compiler wrapper. A copy of Makeconf is made
before `filter_compilers` is called. This is then pointed to by the
R_MAKEVARS_SITE environment variable set up in
`setup_dependent_environment`. With this the normal compilers are used
outside of spack and the spack wrapper compilers are used inside of
spack.

This commit also standardizes on the `join_path` call. It also sets the
commented build command to reflect what is actually used with the newer
string formatting.
2016-07-22 17:05:01 -05:00
Adam J. Stewart
1be486c90a Add CGNS package 2016-07-22 17:02:45 -05:00
becker33
7220bc1766 Merge pull request #1340 from adamjstewart/features/create
Use example deptypes in newly created packages
2016-07-22 14:25:12 -07:00
Todd Gamblin
395c616a48 Merge pull request #950 from xjrc/packages/python
Enhancement Proposal: Make Python Spack Installs Ignore User Configuration
2016-07-22 13:56:19 -07:00
Adam J. Stewart
ebbcebac62 Use example deptypes in newly created packages 2016-07-22 13:55:00 -05:00
Joseph Ciurej
fa92f58167 Adding temporary script that fixes all Python extensions w/ 'setup_py'. 2016-07-22 11:17:19 -07:00
Joseph Ciurej
ac2e0962ce Improved the build flag construction code in the python install method. 2016-07-22 11:12:02 -07:00
Joseph Ciurej
fb2d2303d6 Fixed a bug that was causing Python installs to be affected by user config. 2016-07-22 11:11:08 -07:00
Todd Gamblin
f5b4664c7c Merge pull request #1336 from glennpj/rcase
Fix alpha case of dependencies for some r-packages
2016-07-22 10:08:14 -07:00
alalazo
00d7fd8e21 test_install : removed commented code 2016-07-22 18:14:36 +02:00
Todd Gamblin
adffba5081 Merge pull request #1230 from hartzell/update-jdk
Add URL and md5 for jdk-8u92.
2016-07-21 22:06:29 -07:00
Glenn Johnson
e083c91d5e Fix alpha case of dependencies.
A while ago I was asked to convert packages to all lowercase. That was
done but some dependencies did not get converted in the specification.
This commit fixes that as well as a couple of urls that need to be made
explicit and a missing dependency on jdk.
2016-07-21 19:58:04 -05:00
Todd Gamblin
ed737cb2a2 Merge pull request #1333 from LLNL/features/no-openssl-pinging
Remove remote website pinging from OpenSSL
2016-07-21 16:46:59 -07:00
Todd Gamblin
488550c2e6 Merge pull request #1334 from hartzell/add-gcc-5.4.0
Update gcc package with info about gcc-5.4.0
2016-07-21 16:37:31 -07:00
Todd Gamblin
8523f75e6c Remove remote website pinging from OpenSSL
- OpenSSL no longer checks remote versions on the openssl site.

- Spack is used on systems that aren't connected to the internet, and
  this check is probably in the wrong place and affects too many
  commands.  We can work on figuring out a better, more configurable
  place to put a check like this.
2016-07-21 16:35:20 -07:00
Todd Gamblin
4707362ccd Merge pull request #1263 from hartzell/lmod-needs-tcl
The lmod package should depend_on('tcl')
2016-07-21 16:32:54 -07:00
becker33
dd5b1ac098 Merge pull request #1335 from LLNL/crayxc-detection
Crayxc detection
2016-07-21 15:06:42 -07:00
Gregory Becker
bcbe9c02da Added cray wrapper names directory to spack_env_paths so the spack compiler wrapper will remove them from the environment (prevents hang) 2016-07-21 14:50:23 -07:00
Gregory Becker
1544f98ee0 fixed flake8 errors 2016-07-21 14:36:10 -07:00
Gregory Becker
f0d5317913 fixed 2016-07-21 14:11:34 -07:00
Gregory Becker
2ae7429b18 Bug fix for cray_xc platform 2016-07-21 14:04:22 -07:00
George Hartzell
4efe022165 Update with info about gcc-5.4.0 2016-07-21 15:36:22 -04:00
Mitchell Devlin
796308ed85 edit 2016-07-21 13:39:27 -05:00
George Hartzell
4c105895ab Fix flake8 violations 2016-07-21 14:24:51 -04:00
George Hartzell
9523e50732 Fix shebang line in tcl scripts
Lmod's configure script goes to the trouble of finding
tclsh.  This change uses that info to rewrite the #! lines
in the tcl scripts so that they call the tclsh that the
configure script discovered.

It needs to massage the existing shebang lines into something
that the sed statement in the makefile can manipulate and
it needs to add the path_to_tclsh info into the set of sed
statements.

Checked with versions 6.4.1 and 6.3.7 (the checksum for 6.0.1 is
incorrect, a fix for another time).
2016-07-21 13:58:16 -04:00
George Hartzell
52f0249c61 tcl is actually a runtime dependency.
lmod uses tclsh at runtime, so adjust the depends_on accordingly
(thanks @davydden!).
2016-07-21 13:51:03 -04:00
George Hartzell
a27cb639d8 The lmod package should depend_on('tcl')
The lmod package needs a tclsh.  Up until now it just assumed
that one was available on the system.

This change adds a depends_on('tcl') to the lmod package.

The tcl package installs a tclsh script with an embedded version
number (e.g. tclsh8.6) but the lmod configuration looks for tclsh.
This change extends the tcl package to symlink tclshX.Y to tclsh in
the tcl package bin directory.
2016-07-21 13:51:03 -04:00
Adam J. Stewart
cf8f14780f MVAPICH2 depends on libpciaccess 2016-07-21 11:13:17 -05:00
Todd Gamblin
098af17971 Merge pull request #1208 from paulhopkins/bugfix/github1196-specify-preferred-variants
Bugfix/github1196 specify preferred variants
2016-07-21 08:36:19 -07:00
Todd Gamblin
5745ede31d Merge pull request #1328 from suraia/fix-recursive-module-load
Fix recursive module loading
2016-07-21 08:34:36 -07:00
Todd Gamblin
0b1d03abe6 Merge pull request #1327 from suraia/update-load-documentation
Update documentation for recursive module loading
2016-07-21 08:33:40 -07:00
Paul Hopkins
00280936da Flake8 fixes to ensure qa tests pass 2016-07-21 13:12:58 +01:00
Paul Hopkins
480fe9cb9a Re-add documentation for variant preferences 2016-07-21 12:32:00 +01:00
Paul Hopkins
bd91dd9d6d Allow users to supply preferred variants via packages.yaml 2016-07-21 12:32:00 +01:00
Michael Kuhn
732c24f603 Fix recursive module loading. 2016-07-21 13:15:53 +02:00
Michael Kuhn
4e1f86881a Update documentation for recursive module loading. 2016-07-21 13:15:10 +02:00
Gregory Lee
07d4c6cf0b Merge pull request #1205 from glennpj/psxe
Setup environment for Intel Parallel Studio
2016-07-20 21:14:34 -07:00
Glenn Johnson
ead1b93f75 MPI related changes
- Redid the code for setting the itac symlink for the cluster edition.
- Removed the *PATH variables for MPI to avoid a conflict with other MPI
  environment modules.
- Added missing test for `+all` when checking variants.
2016-07-20 20:03:05 -05:00
Glenn Johnson
0be4c7dfbd Changes as discussed in PR review
- removed unneeded entry for `debugger/gdb/intel64_mic`
- set `+mpi` directory name to impi
2016-07-20 20:03:05 -05:00
Glenn Johnson
5e5e36a659 Fix flake8 errors. 2016-07-20 19:54:35 -05:00
Glenn Johnson
16f67b5bb1 Setup environment for Intel Parallel Studio
Set up the environment for the Intel compilers and tools. This commit
does the following:

- Unset variables that were incorrect from the auto guess prefix
  inspections.
- Add a RemovePath environment_modifications_formats for dotkit.
- Set the module environment variables appropriate for the different
  variants.
- Change the component logic so that the '+all' variant works. It was
  getting split by letter and leaving COMPONENTS empty.
- Added a variant checking function.
- Added NONRPM_DB_DIR to the silent.cfg so that the product database
  goes to the installation directory.
- With the product database in prefix the code to remove the product
  database file from the home directory is no longer needed and was
  removed.
- Reformat the 'tools' variant description.

There are probably more variables needed for the '+tools' for the
'professional' product version but I do not have access to that.
2016-07-20 19:54:35 -05:00
mwilliammyers
b8444aa518 Merge remote-tracking branch 'upstream/develop' into package-opencv
* upstream/develop: (126 commits)
  Fix indent/flake8 error.
  openexr : Add new package
  Set environment variables
  Added gnu packages datamash, parallel, and screen
  added package as argument to setup_platform_environment
  ilmbase : Add new IlmBase package
  Documented linker default
  fixed flake errors
  removed commented-out code
  Set default link type to dynamic on cray. Includes hooks for platform-based environment changes
  fixed flake errors
  fixed flake errors
  Improved cray_xc detection bug fix
  Improved cray_xc detection
  remove FIXMEs
  Ensure that per-4.4.1 NetCDF doesn't use HDF5 1.10
  Re-ignore licenses directory
  Add "default" configuration scope.
  Draft CDO
  Make frontend OS on Cray machines a proper linux distro.
  ...
2016-07-20 18:34:53 -06:00
mwilliammyers
a09bebcaea opencv : Add section comments 2016-07-20 18:19:59 -06:00
mwilliammyers
a9541997ae opencv : Reorder depends_on statements 2016-07-20 18:19:03 -06:00
mwilliammyers
bd02892f7b opencv : Use dso_suffix for python lib 2016-07-20 18:10:10 -06:00
mwilliammyers
ea9fa81ba5 opencv : Fix python include dir for cmake 2016-07-20 18:10:09 -06:00
mwilliammyers
670157b364 opencv : Add zlib cmake support 2016-07-20 18:10:09 -06:00
mwilliammyers
e5ae48a9da opencv : Add jasper cmake support 2016-07-20 18:10:09 -06:00
mwilliammyers
47514d07b1 opencv : Use dso_suffix 2016-07-20 18:10:08 -06:00
mwilliammyers
f2e8f27c15 opencv : Add libpng cmake support 2016-07-20 18:10:08 -06:00
mwilliammyers
fc79b104f0 opencv : Add libjpeg-turbo cmake support 2016-07-20 18:10:07 -06:00
mwilliammyers
97143768c8 opencv : Add libtiff cmake support 2016-07-20 18:10:07 -06:00
mwilliammyers
d3b97227a1 opencv : Add optional jdk dependency 2016-07-20 18:10:07 -06:00
mwilliammyers
da2b695f93 opencv : Fix lib finding for python 2016-07-20 17:25:05 -06:00
mwilliammyers
10c285a774 opencv : Use string.format() 2016-07-20 17:25:01 -06:00
mwilliammyers
0654ee6a10 opencv : Fix style inconsistencies 2016-07-20 17:24:55 -06:00
mwilliammyers
8cf03c209f opencv : Make extending python optional 2016-07-20 17:24:50 -06:00
mwilliammyers
c588ce9648 opencv : Improve cmake detecting python 2016-07-20 17:24:46 -06:00
mwilliammyers
3fac2dcc41 opencv : Fix cmake not disabling gtk 2016-07-20 17:24:40 -06:00
mwilliammyers
0080ffcf9f opencv : Use in operator 2016-07-20 17:24:35 -06:00
mwilliammyers
ce902bf27a opencv : Minor style changes 2016-07-20 17:24:30 -06:00
mwilliammyers
2cde6aaabd opencv : Add GUI support 2016-07-20 17:24:26 -06:00
mwilliammyers
578ddea418 opencv : Fix pep8 style issues 2016-07-20 17:24:21 -06:00
mwilliammyers
cf0f5756f5 opencv : Fix python extensions issues 2016-07-20 17:24:13 -06:00
mwilliammyers
9e1d26e973 opencv : Add CUDA extensions 2016-07-20 17:23:46 -06:00
Todd Gamblin
e389afedaa Merge pull request #1323 from glennpj/rlib
Set environment variables for R
2016-07-20 15:43:26 -07:00
Todd Gamblin
b9c79824a2 Merge pull request #1313 from sknigh/gnu-tools
Added packages for GNU tools screen, datamash, and parallel
2016-07-20 15:38:55 -07:00
Todd Gamblin
0777d3a5ba Merge pull request #1326 from mwilliammyers/package-openexr
openexr : Add new package
2016-07-20 15:35:36 -07:00
Mitchell Devlin
2344ffd0c7 add libxsmm package 2016-07-20 16:36:31 -05:00
Glenn Johnson
0c75174ec3 Fix indent/flake8 error. 2016-07-20 15:56:20 -05:00
mwilliammyers
e973adf84b openexr : Add new package 2016-07-20 14:49:03 -06:00
Glenn Johnson
f9137f606f Set environment variables
This commit adds `setup_environment` to export the libraries and
headers.

Fixes #1314.
2016-07-20 15:37:31 -05:00
alalazo
b92deda41b spack setup : work as in documentation for openjpeg 2016-07-20 22:27:01 +02:00
Todd Gamblin
8856a226c7 Merge pull request #1277 from mathstuf/special-deptypes
deptypes: support special deptypes by string
2016-07-20 13:15:57 -07:00
Todd Gamblin
d8acd41ba1 Merge pull request #1321 from mwilliammyers/package-ilmbase
ilmbase : Add new IlmBase package
2016-07-20 13:13:21 -07:00
Todd Gamblin
8efbec3c0b Merge pull request #1292 from eschnett/eschnett/hdf5-default-1.10
Make newest HDF5 release the default version
2016-07-20 12:57:45 -07:00
Todd Gamblin
4c7c9f4ff5 Merge pull request #1303 from adamjstewart/features/armadillo
Updates to Armadillo package
2016-07-20 12:56:41 -07:00
Todd Gamblin
cd4f429f72 Merge pull request #1319 from LLNL/cray-linker
Cray linker
2016-07-20 12:56:01 -07:00
Samuel Knight
24c14ff7a8 Added gnu packages datamash, parallel, and screen 2016-07-20 19:53:14 +00:00
Gregory Becker
eda1176ba7 added package as argument to setup_platform_environment 2016-07-20 12:26:31 -07:00
mwilliammyers
c9f4e8ce5a ilmbase : Add new IlmBase package 2016-07-20 13:13:47 -06:00
Gregory Becker
6983c1d30d Documented linker default 2016-07-20 12:04:00 -07: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
Gregory Becker
412618d531 fixed flake errors 2016-07-20 11:52:16 -07:00
Gregory Becker
7db4170062 removed commented-out code 2016-07-20 11:36:47 -07:00
Gregory Becker
f4fb9a0771 Set default link type to dynamic on cray. Includes hooks for platform-based environment changes 2016-07-20 11:35:13 -07:00
Todd Gamblin
79e066d53c Merge pull request #1315 from LLNL/improved-cray-detection
Improved cray detection
2016-07-20 11:11:56 -07:00
Gregory Becker
106147716a fixed flake errors 2016-07-20 11:00:56 -07:00
Gregory Becker
0d18f7249c fixed flake errors 2016-07-20 10:50:18 -07:00
Gregory Becker
26d1ddc176 Improved cray_xc detection bug fix 2016-07-20 10:28:38 -07:00
Gregory Becker
4c506b36c5 Improved cray_xc detection 2016-07-20 10:25:07 -07:00
Todd Gamblin
4434f482c0 remove FIXMEs 2016-07-20 09:48:54 -07:00
Todd Gamblin
3def8ef60e Merge branch 'cdo' of https://github.com/robertdfrench/spack into robertdfrench-cdo 2016-07-20 09:48:01 -07:00
Todd Gamblin
20584ab084 Merge pull request #1302 from robertdfrench/adios-url
Get adios from github, not NCCS
2016-07-20 09:47:23 -07:00
Todd Gamblin
7c28338d60 Merge pull request #1301 from robertdfrench/silver-searcher
Silver Searcher 0.32 is out
2016-07-20 09:47:12 -07:00
Todd Gamblin
17a63c9646 Merge pull request #1284 from eschnett/eschnett/py-h5py.2
Declare dependency of "py-h5py +mpi" on "py-mpi4py"
2016-07-20 09:45:54 -07:00
Todd Gamblin
01a361d637 Merge pull request #1288 from LLNL/features/cray_compiler_names
Let packages call use_cray_compilers() in install to get , etc set to…
2016-07-20 09:45:36 -07:00
Todd Gamblin
7f20678969 Merge pull request #1291 from eschnett/eschnett/netcdf-4.4.1
Update NetCDF to version 4.4.1
2016-07-20 09:34:14 -07:00
Erik Schnetter
69e36c9821 Ensure that per-4.4.1 NetCDF doesn't use HDF5 1.10 2016-07-20 11:25:46 -04:00
Todd Gamblin
c503b43e38 Merge pull request #1311 from adamjstewart/features/licenses
Re-ignore licenses directory
2016-07-20 07:14:47 -07:00
Adam J. Stewart
83330d2b59 Re-ignore licenses directory 2016-07-20 08:50:32 -05:00
Todd Gamblin
6501cba5a7 Merge pull request #1309 from LLNL/features/spack-defaults
Add "default" configuration scope.
2016-07-19 23:48:12 -07:00
Todd Gamblin
26480f14f9 Add "default" configuration scope.
- Default scope is versioned with spack and can be overridden by site
  or user config.

- Default scope provides sensible default concretization preferences
  for all of Spack.

- per-platform concretization scope can be added later (to force a
  particular MPI on, e.g., Cray systems)
2016-07-19 17:10:17 -07:00
Robert D. French
6b0fb476ab Draft CDO 2016-07-19 15:57:55 -07:00
Todd Gamblin
dd7bd4f320 Make frontend OS on Cray machines a proper linux distro. 2016-07-19 14:59:04 -07:00
Ben Boeckel
1315753e70 deptypes: support special deptypes by string 2016-07-19 16:26:18 -04:00
Robert D. French
1c9cf668a1 Silver Search 0.32 is out
PEP8 Love + Re-adding v0.30.0
2016-07-19 10:48:53 -07:00
Adam J. Stewart
8034536054 Fix shared object suffix for macOS 2016-07-19 12:37:34 -05:00
Adam J. Stewart
afa4cdc2d8 Updates to Armadillo package 2016-07-19 12:33:04 -05:00
Robert D. French
25e765baae Download Adios from Github
Get adios from github, not NCCS

Use correct hash, thanks Ben
2016-07-19 10:31:59 -07:00
Todd Gamblin
a64a2e72cf Merge pull request #1226 from adamjstewart/features/tkinter
Add Tkinter support for Python
2016-07-19 09:41:12 -07:00
Todd Gamblin
c4b4ce7d85 Merge pull request #1135 from epfl-scitas/features/module_refresh_reworking
spack module : reworking of the command
2016-07-19 09:27:58 -07:00
Todd Gamblin
4ad29b6c9b Merge pull request #1262 from davydden/pkg/suite_sparse_fix_blas
suite-sparse: enable TBB and fix Blas/Lapack libs
2016-07-19 09:18:42 -07:00
Todd Gamblin
7e16a4edd7 Merge pull request #1294 from eschnett/eschnett/flex
Flex requires m4
2016-07-19 09:04:04 -07:00
alalazo
acfeb5d043 Merge branch 'develop' of https://github.com/LLNL/spack into features/module_refresh
Conflicts:
	lib/spack/spack/test/__init__.py
2016-07-19 09:05:27 +02:00
Erik Schnetter
71684cb071 Flex requires m4 2016-07-18 23:04:20 -04:00
Erik Schnetter
4dec06e4f4 Make HDF5 1.10 the default version
Apply this only after NetCDF 4.4.1 is supported.
2016-07-18 20:14:44 -04:00
Erik Schnetter
94df1b801a Update NetCDF to version 4.4.1
This version supports HDF5 1.10 in a backward-compatible manner.
2016-07-18 20:11:32 -04:00
Todd Gamblin
7555c3d949 Merge pull request #1204 from goxberry/cmake-3.6.0
cmake@3.6.0
2016-07-18 16:53:17 -07:00
becker33
013cfafe57 Merge pull request #1229 from suraia/fix-preferred-providers
Fix preferred providers.
2016-07-18 16:47:08 -07:00
Gregory Becker
218fc602fa Let packages call use_cray_compilers() in install to get , etc set to cray names 2016-07-18 15:43:21 -07:00
Todd Gamblin
25a9181a1b Merge pull request #1287 from mwilliammyers/package-jasper
jasper: Add new jasper package
2016-07-18 15:43:18 -07:00
mwilliammyers
02340062b4 package - jasper - Add new jasper package 2016-07-18 16:17:07 -06:00
Todd Gamblin
4a276807b1 Merge pull request #1245 from LLNL/features/cray-detection-improvement
The /cray_home directory is more consistent than the /cray/craype dir…
2016-07-18 14:36:08 -07:00
Todd Gamblin
51834773b4 Merge pull request #851 from mathstuf/safer-bootstrap
bootstrap: fall back to the default upstream URL
2016-07-18 14:25:29 -07:00
Gregory Becker
46ee4a3a53 Using cc -craype-verbose to get cray platform type 2016-07-18 14:25:17 -07:00
Todd Gamblin
607813d5ce setuptools is a build dependency in numpy. 2016-07-18 14:13:14 -07:00
Erik Schnetter
67fade5b1e Declare dependency of "py-h5py +mpi" on "py-mpi4py" 2016-07-18 17:08:56 -04:00
Todd Gamblin
a9ed2296a1 Merge pull request #1282 from eschnett/eschnett/py-numpy
py-numpy: Add py-setuptools dependencies
2016-07-18 13:58:17 -07:00
Todd Gamblin
fa0bbb57ea Merge pull request #1270 from davydden/pkg/mumps_scalapack_fix_blas
Pkg/mumps scalapack fix blas
2016-07-18 13:57:26 -07:00
Erik Schnetter
49cd6f6269 py-numpy: Add py-setuptools dependencies
Closes #1281.
2016-07-18 16:01:48 -04:00
Todd Gamblin
653f25d676 Merge pull request #1171 from adamjstewart/features/octave
Allow spack create to automatically detect octave build system
2016-07-18 12:32:32 -07:00
Todd Gamblin
089189afaf Merge pull request #1238 from davydden/pkg/mkl_update
mkl: add provide blas/lapack
2016-07-18 11:52:30 -07:00
Todd Gamblin
0a89342508 Merge pull request #1271 from paulhopkins/bugfix/package-list
Bugfix/package list
2016-07-18 10:47:12 -07:00
Todd Gamblin
06f57a31c1 Merge pull request #1273 from mathstuf/opt-ignore
gitignore: don't require opt to be a directory
2016-07-18 10:44:16 -07:00
Michael Kuhn
19df1ea79d flake8 fix 2016-07-18 17:53:26 +02:00
Ben Boeckel
2b4d2b8748 gitignore: don't require opt to be a directory
I use a symlink to make it easy to swap out.
2016-07-18 11:39:26 -04:00
Paul Hopkins
a46138dea9 More flake8 fixes for package-list 2016-07-18 13:59:58 +01:00
Adam J. Stewart
ea425a101a Flake8 and new tk version 2016-07-18 07:51:08 -05:00
Adam J. Stewart
583232ea52 Build Python with Tkinter support 2016-07-18 07:51:08 -05:00
Adam J. Stewart
89c9bec81e Flake8 2016-07-18 07:45:28 -05:00
Adam J. Stewart
262ab40188 Update build_system_guess test with new class name 2016-07-18 07:45:28 -05:00
Adam J. Stewart
199a8af7cc Flake8 2016-07-18 07:45:28 -05:00
Adam J. Stewart
e9f42c1a94 Allow spack create to automatically detect octave build system 2016-07-18 07:45:27 -05:00
alalazo
a96eb7096d Merge branch 'develop' of https://github.com/LLNL/spack into features/module_refresh
Conflicts:
	share/spack/setup-env.sh
2016-07-18 14:12:47 +02:00
Paul Hopkins
cc027148eb Flake8 fixes in cmd/package-list.py file 2016-07-18 12:52:23 +01:00
Paul Hopkins
2b3ba850b3 Fix spack package-list to correctly handle deptypes 2016-07-18 12:51:58 +01:00
Todd Gamblin
b3789a4693 Merge pull request #1269 from davydden/pkg/hypre_trilinos_blas
Pkg/hypre trilinos blas
2016-07-18 03:06:37 -07:00
Todd Gamblin
4030f8d7c3 Merge pull request #1268 from LLNL/bugfix/spack-info-gh1256
Fix broken `spack info` command after build dep merge.
2016-07-18 03:03:05 -07:00
Todd Gamblin
cddaba8add flake8 fixes.
- package.py
- spec.py
- test/architecture.py
2016-07-18 02:34:24 -07:00
Todd Gamblin
192369dd2b Fix #1265: Errors in spack reindex
- Consolidated code to read spec.yaml and database index.yaml into
  one method (`read_yaml_dep_specs()`) in spec.py.

- Code understands old hash format, tuple format, and dicts for dep
  specs, for backward compatibility.

- Spec YAML now uses a dict with keys to represent dep specs (this is
  more future-proof).

- Dep specs no longer contain !!py-tuple entries in YAML (only lists
  properly YAML-ize)

- bump database version.
2016-07-18 01:19:07 -07:00
Todd Gamblin
73f10c9363 Fix broken spack info command after build dep merge.
- Added a method to get dependencies of particular types from Package
- Fixed info command.
2016-07-18 01:19:07 -07:00
Todd Gamblin
cdc2ebee90 Better error messages for spack reindex. 2016-07-18 01:14:47 -07:00
Denis Davydov
2e4966c854 netlib-scalapack: use dso_suffix 2016-07-18 10:11:18 +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
Todd Gamblin
c898b9db04 Merge pull request #1188 from epfl-scitas/packages/py-numpy
RPATH for blas in py numpy
2016-07-17 21:20:39 -07:00
Todd Gamblin
117743863e Merge pull request #1252 from hartzell/patch-5
Fix format of explanation of an example & question
2016-07-17 21:20:02 -07:00
Todd Gamblin
28ce08b9e2 Merge pull request #1258 from eschnett/eschnett/openmpi-2.0.0
Update to OpenMPI 2.0.0
2016-07-17 21:01:21 -07:00
Todd Gamblin
0e8bf79fa4 Merge pull request #1240 from epfl-scitas/truncated_documentation
doc : fixes #1239
2016-07-17 20:59:36 -07:00
alalazo
dc671ad037 docs : substituted None with empty cell 2016-07-17 22:17:52 +02:00
Denis Davydov
1bd3a702c9 mumps: flake8 fixes 2016-07-16 15:14:06 +02:00
Denis Davydov
561748a063 netlib-scalapack: flake8 fixes 2016-07-16 08:03:54 +02:00
Denis Davydov
9ea4f80f15 flake8 fixes 2016-07-16 07:58:51 +02:00
Denis Davydov
0752eccfa5 mumps: don't hardcode blas name; remove unused depends_on(lapack) 2016-07-16 07:38:42 +02:00
Denis Davydov
6175ce7559 netlib-scalapack: make sure Spack's Lapack is used 2016-07-16 07:37:38 +02:00
Denis Davydov
987fb137f9 trilinos: don't hardcode blas/lapack names 2016-07-16 07:31:38 +02:00
Denis Davydov
514c61b8fe hypre: don't hardcode blas/lapack/mpi; optionally run tests 2016-07-16 07:28:31 +02:00
Denis Davydov
992250ddea add to_lib_name() to get library name from a path 2016-07-16 07:24:05 +02:00
Michael Kuhn
d61190c3ff Explicitly request zmpi in module blacklist test. 2016-07-16 00:48:04 +02:00
Denis Davydov
96e9dbca08 suite-sparse: enable TBB and fix Blas/Lapack libs 2016-07-16 00:33:39 +02:00
Erik Schnetter
5a1ed51dcd Correct indentation 2016-07-15 18:10:33 -04:00
becker33
63101e9914 Merge pull request #1261 from adamjstewart/features/create-deptype
Automatically add deptype to newly created packages
2016-07-15 15:10:10 -07:00
Adam J. Stewart
8c1cc44522 Automatically add deptype to newly created packages 2016-07-15 16:43:25 -05:00
becker33
36f818b9fb Merge pull request #1246 from suraia/improve-shell-integration
Improve shell integration.
2016-07-15 14:23:51 -07:00
becker33
c0be585b67 Merge pull request #1168 from epfl-scitas/packages/gts
gts : added package
2016-07-15 14:07:59 -07:00
becker33
656b2d562f Merge pull request #1177 from epfl-scitas/packages/swiftsim_and_metis
swiftsim : fixed configuration for metis
2016-07-15 14:05:28 -07:00
becker33
f761130343 Merge pull request #1187 from paulhopkins/bugfix/python-updates
Bugfix/python updates
2016-07-15 14:04:46 -07:00
becker33
f1d85ac2e9 Merge pull request #1227 from glennpj/ggvis
New package - r-ggvis
2016-07-15 14:00:15 -07:00
becker33
1585c014d7 Merge pull request #1259 from adamjstewart/fixes/run-flake8
Updates to run-flake8 test
2016-07-15 13:55:01 -07:00
becker33
37ce4108ce Merge pull request #1254 from mdevlin1/features/hmmer
add HMMER package
2016-07-15 13:52:56 -07:00
becker33
e822257565 Merge pull request #1251 from hartzell/patch-4
Minor typo fix
2016-07-15 13:51:02 -07:00
Adam J. Stewart
a4a2f179c7 Updates to run-flake8 test 2016-07-15 12:11:41 -05:00
Erik Schnetter
4663288b49 Update to OpenMPI 2.0.0 2016-07-15 13:00:48 -04:00
George Hartzell
64b1bafd41 Make flake8 happy with .../jdk/package.py
My PR for adding a new jdk version failed its
travis run because of existing flake8 violoations.

This package cleans them up.

I'm not particularly pythonic, but most of the complaints were
obvious.  HOWEVER, I'm not particularly confident about handling
long lines by taking an flake8 exception comment onto the end.

Feedback welcome...
2016-07-15 12:39:40 -04:00
Mitchell Devlin
5f1b6f000d add HMMER package 2016-07-15 11:03:57 -05:00
Denis Davydov
b29b7595dd mkl: add info on interface and threading layers to the docstring 2016-07-15 17:35:10 +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
1f3cb2b93c Merge branch 'develop' of https://github.com/LLNL/spack into features/module_refresh
Conflicts:
	lib/spack/spack/cmd/module.py
2016-07-15 10:37:27 +02:00
Todd Gamblin
077848fc0b Merge pull request #378 from mathstuf/dep-types
dependency types
2016-07-15 00:29:16 -07:00
Todd Gamblin
f3e9588457 Fix package name bug. 2016-07-14 23:15:54 -07:00
Gregory Becker
487ec2aff1 added py-pydatalog package 2016-07-14 23:12:35 -07:00
Todd Gamblin
b8e2799700 Add GNU Prolog package. 2016-07-14 14:38:30 -07:00
Ben Boeckel
5d152edcaf spec: assign namespaces to the full dependency DAG 2016-07-14 16:33:48 -04:00
Ben Boeckel
faa3d43d9c package: mention the package that is no concrete 2016-07-14 16:33:38 -04:00
Ben Boeckel
a0584c78a8 foam-extend, sundials: add cmake as a builddep
The sundials doesn't use CMake directly, but it is referenced in the
patch step. I suspect it calls CMake somewhere else in its build system.
2016-07-14 16:21:47 -04:00
Ben Boeckel
d71a12438b cantera: use nolink for python module dependencies
Unsure about this, but this is probably true.
2016-07-14 16:21:47 -04:00
Ben Boeckel
39aef5fc00 lua: bring in run deps of build and run deps 2016-07-14 16:21:47 -04:00
Ben Boeckel
a82385cdae R: look only at run dependencies of build and run deps 2016-07-14 16:21:46 -04:00
Ben Boeckel
0ca1a481a3 python: setup the dependent environment properly
We want the run dependencies of all build and run dependencies of the
current package.
2016-07-14 16:21:46 -04:00
Ben Boeckel
ac1701ae29 msgpack-c: add missing dependency on cmake 2016-07-14 16:21:46 -04:00
Ben Boeckel
77965ce5bf py-matplotlib: require py-setuptools to build 2016-07-14 16:21:46 -04:00
Ben Boeckel
6fd45520da deptypes: mark deptypes in packages 2016-07-14 16:21:46 -04:00
Ben Boeckel
45c675fe7f spack: introduce dependency types
deptypes: allow for different queries

For things like Python modules, they are required for the build and
runtime, but rather than adding a new parameter for what to query across
the dependency DAG, just expose the recursive query parameter.
2016-07-14 16:21:46 -04:00
Ben Boeckel
bae97d17d0 test: use file:// url for git repos 2016-07-14 16:21:45 -04:00
Ben Boeckel
bdf82246f7 darwin: explicitly use the 'when=' kwarg 2016-07-14 16:21:45 -04:00
Ben Boeckel
1ae43b3405 doxygen: add missing import 2016-07-14 16:21:45 -04:00
Ben Boeckel
6d2ec9baf7 test/stage: use os.path.realpath on the test paths
When var/spack/stage is a symlink, the tests fail since realpath is used
on the resulting path, but not the original path, so the string compare
fails. Smarter path testing might be a better option.
2016-07-14 16:21:45 -04:00
Ben Boeckel
b4682c8ca3 directory_layout: fix error path when specs conflict 2016-07-14 16:21:45 -04:00
Ben Boeckel
e275b567eb typos: fix some typos 2016-07-14 16:21:45 -04:00
Michael Kuhn
64d91943ec Support --dependencies for recursively loading modules. 2016-07-14 20:14:06 +02:00
George Hartzell
3e718920d1 Remove extraneous letter 'p'
It got in there by mistake, now it's gone.
2016-07-14 09:40:47 -07:00
George Hartzell
3051c3d71d Fix format of explanation of an example & question
This list was not formatted correctly on [the ReadTheDocs site](http://software.llnl.gov/spack/basic_usage.html#specs-dependencies).

I'm not a .rst expert, but I think that it was improperly indented.

The example includes an `arch=...` string but *arch* is not listed in the valid compiler flag specifiers or architecture specifiers.  Should it be, or is it considered an "optional variant specifier?
2016-07-14 08:31:07 -07:00
George Hartzell
e052aaf44d Minor typo fix
the packages that depends on => the packages that depend on
2016-07-14 08:19:32 -07: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
Denis Davydov
668b4f1b2c mkl: set MKLROOT 2016-07-13 23:36:23 +02:00
Michael Kuhn
5ffc50732b flake8 fixes 2016-07-13 23:05:08 +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
Michael Kuhn
fcfe2618d5 Improve shell integration.
Enable sh emulation for Zsh and allow loading modules recursively.
2016-07-13 20:33:14 +02:00
Todd Gamblin
d24c11f2b1 Merge pull request #1231 from adamjstewart/fixes/bzip2
Patch both bzip2 makefiles
2016-07-13 10:46:58 -07:00
Adam J. Stewart
3864da6300 Flake8 2016-07-13 11:45:16 -05:00
Adam J. Stewart
d09b0c95ec Filter both makefiles to allow intel to build bzip2 2016-07-13 11:45:16 -05:00
alalazo
7cedd620f1 package.py : added CMakePackage, changed qhull, ibmisc, openjpeg to work as examples 2016-07-13 17:36:06 +02:00
alalazo
0e2afedb7f doc : fixes #1239 2016-07-13 12:43:48 +02:00
Denis Davydov
de9cce3e80 p4est: flake8 2016-07-13 11:45:33 +02:00
Denis Davydov
52ca215e29 mkl: add provide blas/lapack 2016-07-13 11:42:40 +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
Denis Davydov
b8bd02c5b2 p4est: use run_tests instead of a variant 2016-07-13 10:56:40 +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
George Hartzell
a73d91a2e5 Add URL and md5 for jdk-8u92.
Installed on Centos7.2 system, `java -version` works.
2016-07-12 16:59:08 -04:00
Todd Gamblin
27aa265abd Merge pull request #1211 from hartzell/patch-3
Typo: verison -> version
2016-07-12 13:53:52 -07:00
Michael Kuhn
b7d9b58cc5 Fix preferred providers. 2016-07-12 19:57:08 +02:00
Glenn Johnson
955d02049c New package - r-ggvis
Bring in ggvis and dependencies.

GGvis is an implementaion of the 'Grammar of Graphics', combined with
shiny.
2016-07-12 12:27:54 -05:00
Todd Gamblin
069de3f008 Merge pull request #1223 from glennpj/tidyr
New package - r-tidyr
2016-07-12 00:23:09 -07:00
Todd Gamblin
04b3d8d86f Merge pull request #1222 from glennpj/libxml2
Use the site_packages_dir from the Python class
2016-07-12 00:22:45 -07:00
Glenn Johnson
502d15fd3b New package - r-tidyr
Tools for changing the layout of data sets.
2016-07-11 21:12:28 -05:00
Glenn Johnson
5e323b052a Remove import of os
The import of `os` is no longer needed.
2016-07-11 20:21:25 -05:00
Glenn Johnson
81daaddfe9 Use the site_packages_dir from the Python class
It is not necessary to set site_packages_dir in this package as it is
already provided by the Python package class.
2016-07-11 20:08:30 -05:00
Todd Gamblin
38e722f75d Merge pull request #1215 from glennpj/prefix_inspections
Add share/man to prefix inspections.
2016-07-11 16:47:22 -07:00
Todd Gamblin
15790d7018 Merge pull request #1207 from davydden/pkg/dealii_update_petsc37
dealii: update for petsc37
2016-07-11 15:32:32 -07:00
Todd Gamblin
551d9eb328 Merge pull request #1220 from glennpj/libxml2
Fix libxml2 error reported on Google Groups list
2016-07-11 15:27:15 -07:00
Glenn Johnson
1b08296392 Fix flake8 error 2016-07-11 17:22:31 -05:00
Glenn Johnson
8de84b5d8a Fix error reported on Google Groups list
Fixes the reported `TypeError: not enough arguments for format string`
error.
2016-07-11 16:56:26 -05:00
Todd Gamblin
78ac11ff88 Merge pull request #1217 from LLNL/features/git-submodule-init
Add `submodules` option for git fetching.
2016-07-11 14:17:41 -07:00
Todd Gamblin
283d621b6e Add documentation for fetching submodules. 2016-07-11 13:27:37 -07:00
Todd Gamblin
86b1b28906 Add submodules option for git fetching. 2016-07-11 13:27:35 -07:00
Todd Gamblin
efdcd199c1 Merge pull request #1218 from glennpj/dplyr
New package - r-dplyr
2016-07-11 13:19:09 -07:00
Todd Gamblin
db1516d582 Merge pull request #1219 from glennpj/lubridate
New package - r-lubridate
2016-07-11 13:18:44 -07:00
Glenn Johnson
d99fbbb68f New package - r-lubridate
Functions to work with date-times and timespans.
2016-07-11 14:59:47 -05:00
Glenn Johnson
11960e53ef New package - r-dplyr
This brings in dplyr and dependencies.
2016-07-11 14:50:33 -05:00
alalazo
5f861e075c Merged develop into branch 2016-07-11 20:57:55 +02:00
Todd Gamblin
255d05a9c1 Merge pull request #1214 from glennpj/rfilter
Filter compilers for R
2016-07-11 11:37:39 -07:00
Glenn Johnson
6d36ec3d76 Add share/man to prefix inspections.
The share/man path should be in prefix_inspections for MANPATH as
share/man is a common location for manual pages.
2016-07-11 13:35:22 -05:00
Todd Gamblin
7f6541ef02 Merge pull request #1190 from davydden/feature/version_dev
add special treatment of @develop version
2016-07-11 11:31:54 -07:00
Glenn Johnson
664bdd359f Filter compilers for R
This adds a filter_compilers function to have the Makeconf file for R
point to the actual compilers rather than the spack wrappers. Also added
version 3.3.1.
2016-07-11 13:29:43 -05:00
Denis Davydov
306e601d4e document special treatment of development version 2016-07-11 19:50:33 +02:00
George Hartzell
fbaff33f3f Typo: verison -> version 2016-07-11 09:44:20 -07:00
Todd Gamblin
a729c332c8 Merge pull request #1210 from hartzell/patch-2
Typo: verison -> version
2016-07-11 09:43:52 -07:00
George Hartzell
1682257b35 Typo: verison -> version 2016-07-11 09:42:49 -07:00
Todd Gamblin
691e628726 Merge pull request #1206 from davydden/pkg/slepc_371_fix
slepc: fix install_name for binaries on macOS for 3.7.1
2016-07-11 09:14:53 -07:00
Todd Gamblin
85947d0985 Merge pull request #1209 from paulhopkins/bugfix/octave-suitesparse-variant
Fix typo in Octave variant suitesparse
2016-07-11 08:58:37 -07:00
Paul Hopkins
0d3a52ae29 Fix typo in Octave variant suitesparse 2016-07-11 16:00:19 +01:00
Denis Davydov
1b553f2b21 dealii: fix directory structure 2016-07-11 13:21:16 +02:00
Denis Davydov
f14cd67446 dealii: flake8 fixes 2016-07-11 10:56:57 +02:00
Denis Davydov
84afaf385f dealii: run tests only when self.run_tests=true 2016-07-11 10:22:29 +02:00
Denis Davydov
1cc6e42682 dealii: add petsc/slepc 3.7 support 2016-07-11 10:20:15 +02:00
Denis Davydov
38550bbc1b slepc: fix install_name for binaries on macOS for 3.7.1 2016-07-11 10:17:09 +02:00
Geoffrey Oxberry
7551e4c14f cmake@3.6.0
Add CMake version 3.6.0.
2016-07-10 18:02:51 -07:00
Denis Davydov
b29d5e6032 add special treatment of develop version 2016-07-10 14:21:52 +02:00
Todd Gamblin
b0f4052bd8 Merge pull request #1169 from davydden/feature/install_argument_tests_petsc_fixes
--run-tests install argument and petsc fixes
2016-07-09 12:10:16 -07:00
Denis Davydov
e482994a15 petsc: add -lm when building example 2016-07-09 08:12:34 +02:00
Todd Gamblin
c086ccdab6 Merge pull request #1200 from glennpj/lowpackname
Have ``spack create`` default to lower case name for package
2016-07-08 13:29:52 -07:00
Glenn Johnson
33d0660abc Have `spack create` default to lower case name
This will create package directories with lower case names when using
`spack create`. The documentation was modified to reflect this.
2016-07-08 15:11:37 -05:00
Todd Gamblin
3338fcf014 Merge pull request #1199 from eschnett/eschnett/cereal-update
Update Cereal to 1.2.0
2016-07-08 12:21:14 -07:00
Erik Schnetter
c8137194f0 Update Cereal to 1.2.0 2016-07-08 15:20:09 -04:00
Todd Gamblin
f04258eb29 Merge pull request #1192 from SteVwonder/develop
docbook-xml: replace 'cp -t' with install_tree
2016-07-08 11:09:41 -07:00
Todd Gamblin
1fa67e458c Merge pull request #1194 from SteVwonder/lua-fix
lua: switch self.version[:2] to .up_to(2)
2016-07-08 11:09:18 -07:00
Todd Gamblin
642be5fa3d Merge pull request #1197 from SteVwonder/json-c-serial-build
json-c: fix build by running serially
2016-07-08 11:08:10 -07:00
Todd Gamblin
2759f14f23 Merge pull request #1198 from hartzell/patch-1
Fix typo
2016-07-08 11:08:00 -07:00
George Hartzell
1b9e8a0e65 Fix typo
Comamnds -> Commands
2016-07-08 11:01:08 -07:00
Stephen Herbein
bb8a8ecda3 json-c: fix build by running serially 2016-07-08 10:39:47 -07:00
Paul Hopkins
49e8e4b590 Add comments explaining UCS4 and prevent variant being used on Python 3.3 and above 2016-07-08 13:47:25 +01:00
Stephen Herbein
1a1bf31032 lua: switch self.version[:2] to .up_to(2)
Previous package would not install correctly, would throw:
return os.path.join('share', 'lua', '%d.%d' % self.version[:2])
TypeError: %d format: a number is required, not Version
2016-07-07 18:58:52 -07:00
Stephen Herbein
1b53452618 docbook-xml: replace 'cp -t' with install_tree
'-t' is not supported by the default cp on Mac OS X

replace with install/install_tree

cannot just use install_tree since shutil.copytree insists that the dst
directory not exist
2016-07-07 17:41:53 -07:00
Nicolas Richart
d339f2af29 flake8 corrections 2016-07-07 18:22:27 +02:00
Nicolas Richart
4c1b53660d fixes #719 2016-07-07 18:18:01 +02:00
Paul Hopkins
a2be05f24b Fix whitespace 2016-07-07 14:00:37 +01:00
Paul Hopkins
719b6bfffd Modify range for ucs4 2.* configure arguments 2016-07-07 13:18:40 +01:00
Paul Hopkins
8c1274bbbb Fix Python configure arguments for ucs4 variant on Python 3.0 and above 2016-07-07 13:12:43 +01:00
Paul Hopkins
fb6d850637 Add more python versions 2016-07-07 13:09:08 +01:00
Todd Gamblin
b9148b1751 Merge pull request #1125 from NERSC/docs/cray
Update documentation for use on Cray
2016-07-06 15:06:20 -07:00
Gregory Becker
403a55afb2 Minor bug fix 2016-07-06 14:54:25 -07:00
Gregory Becker
663b30b3e8 Update target autodetection for linux platform 2016-07-06 14:54:22 -07:00
Todd Gamblin
6bb31a9a4c Merge pull request #1175 from davydden/pkg/arpack-3.4.0
Pkg/arpack 3.4.0
2016-07-06 14:45:21 -07:00
Todd Gamblin
91da3d8e64 Merge pull request #1174 from LLNL/bugfix/github-1172-suite-sparse
Bugfix/GitHub 1172 suite sparse
2016-07-06 14:35:59 -07:00
Todd Gamblin
c6e89d9283 Merge pull request #1180 from davydden/pkg/oce_update_and_fix
oce: add 0.17.2; fix running tests
2016-07-06 14:27:05 -07:00
Denis Davydov
14cef6eab8 oce: flake8 fixes 2016-07-06 22:51:20 +02:00
Denis Davydov
c096bb332a petsc: fix unit tests 2016-07-06 22:45:43 +02:00
Denis Davydov
081918d71a add --run-tests argument for install() 2016-07-06 22:45:30 +02:00
Todd Gamblin
58487accdd Merge pull request #1179 from paulhopkins/features/python-ucs4
Add ucs4 unicode variant to Python package
2016-07-06 12:27:04 -07:00
Greg Lee
3df0f1902d clean up suitesparse deps 2016-07-06 12:15:20 -07:00
Greg Lee
4e27d91351 flake 8 fixes 2016-07-06 11:51:32 -07:00
Denis Davydov
57eaea2e8c oce: add 0.17.2; fix running tests 2016-07-06 20:35:59 +02:00
Paul Hopkins
61fe89bda0 Add ucs4 unicode variant to Python package 2016-07-06 18:29:54 +01:00
Denis Davydov
3d755a148b arpack-ng: fix binaries for macOS 2016-07-06 18:30:38 +02:00
Todd Gamblin
03fdb2058a Merge pull request #1176 from epfl-scitas/features/version_minor_improvements
spack.Version : like a duck!
2016-07-06 09:01:19 -07:00
alalazo
379f23be02 swiftsim : fixed configuration for metis 2016-07-06 17:51:46 +02:00
alalazo
9b926a480f qa : flake8 issues 2016-07-06 17:03:32 +02:00
alalazo
780a57367d version : modified __getitem__ to return either an item or a Version instance + unit tests 2016-07-06 17:00:48 +02:00
alalazo
32e086f44a version : modified __repr__ to return a string representation of the object + unit tests 2016-07-06 15:24:10 +02:00
Denis Davydov
c8fc56686c arpack-ng: fix corrupted parpack_cmake.patch 2016-07-06 13:42:59 +02:00
Denis Davydov
63e45c586c arpack-ng: flake8 fixes and minor update of incode comments 2016-07-06 13:27:02 +02:00
Denis Davydov
a47b3ba01b arpack-ng: use spec['mpi'].mpif77 2016-07-06 13:23:51 +02:00
Denis Davydov
f5f7abd71f arpack-ng: add 3.4.0 with cmake build 2016-07-06 12:59:42 +02:00
Todd Gamblin
2b9d02d594 Merge pull request #1173 from willkill07/bugfix/module/spec_typo
(bugfix) fixed typo of spec --> raw_spec
2016-07-05 15:45:27 -07:00
Greg Lee
4c063c6055 kludge to get suite-sparse-4.5.1 to link with -lstdc++ 2016-07-05 13:48:32 -07:00
Greg Lee
976b2b4d25 added suitesparse version 4.5.3 2016-07-05 13:45:22 -07:00
William Killian
1f64f08cb3 (bugfix) fixed typo of spec --> raw_spec 2016-07-05 13:32:37 -07:00
Todd Gamblin
cb9c4ac866 Merge pull request #1170 from eschnett/eschnett/py-h5py
Don't enforce `hdf5~mpi`
2016-07-05 09:02:43 -07:00
Erik Schnetter
79b3ef0362 Don't enforce hdf5~mpi 2016-07-05 10:58:11 -04:00
alalazo
55c4a676ad gts : added package 2016-07-05 14:30:48 +02:00
Todd Gamblin
d687e332ad Fix compile bugs for gcc on Mac OS X with macports.
- add macports to things that are cleaned out of the environment.
- linker incompatibilities cause issues with packages like OpenSSL.
- also clean up NOQA stuff in OpenSSL
2016-07-04 22:59:02 -07:00
Todd Gamblin
690937f953 Add --dirty option to spack install.
- Allow install to be run without cleaning the environment.
2016-07-04 22:58:01 -07:00
Todd Gamblin
6bac1598f6 Merge branch 'fix-archive' of https://github.com/mwilliammyers/spack into mwilliammyers-fix-archive 2016-07-04 21:35:33 -07:00
Todd Gamblin
f2a692c515 Merge pull request #1163 from epfl-scitas/fixes/reserved_name_for_system_packages
fixes : reserved name for system packages
2016-07-04 21:25:50 -07:00
Todd Gamblin
d166c04db5 Merge pull request #1166 from glennpj/rstan
New package - RStan
2016-07-04 21:23:10 -07:00
Todd Gamblin
1de675e976 Merge pull request #1165 from robertdfrench/ruby-needs-ffi-zlib
Ruby 2.2.0 needs ffi and zlib
2016-07-04 21:22:38 -07:00
Glenn Johnson
d5abcc5c88 Fix flake errors 2016-07-04 17:55:10 -05:00
Glenn Johnson
519b760222 New package - RStan
This PR creates the RStan package and its dependencies.
2016-07-04 17:30:05 -05:00
Robert D. French
53bbbfbe21 Require libffi, zlib; Make Openssl, readline optional 2016-07-04 15:21:13 -04:00
Todd Gamblin
9fb8030370 Merge pull request #1164 from epfl-scitas/revert-1023-packages/mumps
Revert "Corrected the shared libraries and tests in mumps package"
2016-07-04 10:02:33 -07:00
Nicolas
85982017b6 Revert "Corrected the shared libraries and tests in mumps package" 2016-07-04 18:19:09 +02:00
alalazo
861f174f66 qa : fixed flake8 issues 2016-07-04 10:26:32 +02:00
alalazo
3e8391458c openssl : changed tag for system reserved versions fixes #1150 2016-07-04 10:25:20 +02:00
Todd Gamblin
890df7153a Merge branch 'efischer/160311-StagedPackage' of https://github.com/citibeth/spack into citibeth-efischer/160311-StagedPackage 2016-07-04 00:27:32 -07:00
Todd Gamblin
2143c38ab8 Merge pull request #1158 from glennpj/intelfix
Use Executable to set script for Intel compiler installation
2016-07-03 23:16:32 -07:00
alalazo
6d988dde8d qa : fixed flake8 issues 2016-07-02 12:54:36 +02:00
alalazo
3100c5948a module : added unit tests 2016-07-02 12:14:30 +02:00
Glenn Johnson
729f23b432 Use Executable to set script
Use `Executable("./install.sh")` to set `install_script`. This allows it
to work when the current directory is not on the PATH.
2016-07-01 22:13:40 -05:00
Todd Gamblin
0de4ba738b Merge pull request #1157 from glennpj/envclean
Remove more variables from build environment
2016-07-01 20:13:32 -07:00
Glenn Johnson
31e9ded768 Remove more variables from build environment
Remove the LIBRARY_PATH and CPATH environment variables before building
a package.
2016-07-01 20:59:14 -05:00
alalazo
d10fceaacc spack commands : refactoring of cli arguments and common utiities. Implemented suggestions on spack module loads
- Common cli arguments now are in their own module
 - Moved utilities that can be reused by different commands into spack.cmd.__init__.py
 - Modifications to `spack module loads`
2016-07-01 23:06:07 +02:00
alalazo
0e171127b9 module : reverted typo introduced in a previous commit 2016-07-01 14:30:01 +02:00
alalazo
f0f7b23c8a module : added rm subcommand, encapsulated logic for constraints in argarse.Action subclass 2016-07-01 14:27:55 +02:00
alalazo
fe4ef286f2 module : added the command 'load-list' 2016-07-01 12:38:04 +02:00
Mario Melara
56adb5d9a5 Change arch spec and fix typo
Changed old arch specs to new arch specs. Changed intallation to
installation
2016-06-30 17:03:07 -07:00
Mario Melara
16a4c49f98 Remove Cray examples of config files
Removed examples of Cray config files and added them under Spack on
Cray. Any users of Cray can just look at the Spack on Cray section to
get an idea of what's used. If they want more information they can click
links to the sections.
2016-06-30 17:01:18 -07:00
Mario Melara
d784d561fc Add more documentation fix arch spec
Added more documentation for Spack on Cray. Also fixed the architecture
spec to be linux-debian7-x86_64 since it was reversed in the previous
commit.
2016-06-30 16:59:36 -07:00
Todd Gamblin
e837be1af9 Merge pull request #1153 from tzanio/mfem-3.2-dev
Updating MFEM package with v3.2 info.
2016-06-30 15:41:26 -07:00
Tzanio Kolev
137db14b75 Update package.py 2016-06-30 15:40:02 -07:00
Tzanio
d3b0cb56b7 Updating MFEM package with v3.2 info. 2016-06-30 15:23:30 -07:00
Massimiliano Culpo
6793a54748 --prefix : defaults to empty string 2016-06-30 23:18:32 +02:00
Massimiliano Culpo
ba1ada5424 Merge branch 'develop' of https://github.com/LLNL/spack into features/module_refresh_reworking
Conflicts:
	lib/spack/spack/cmd/module.py
2016-06-30 22:19:46 +02:00
alalazo
a770151359 module : minor improvement to output formatting 2016-06-30 16:49:24 +02:00
Elizabeth Fischer
6327877a6f PEP-8 2016-06-30 09:19:57 -04:00
Elizabeth Fischer
50ac98bc04 Merge remote-tracking branch 'upstream/develop' into efischer/160630-StagedPackage
# Conflicts:
#	lib/spack/docs/packaging_guide.rst
#	lib/spack/spack/package.py

Mostly minor/formatting issues in lib/spack/spack/package.py (the heavyweight merge was already done recently).  Only one serious issue: it looks like the feature branch had accidentally deleted the line `spack.hooks.post_install(self)`.  This got added back in from develop.
2016-06-30 09:13:24 -04:00
alalazo
ba87937fff module : added detection of file name clashes 2016-06-30 13:44:49 +02:00
alalazo
1b7eedbb7d modules.yaml : added hash_length as a new keyword
config :
- added `hash_length` under the modules section

EnvModules :
- take into consideration hash_length when constructing `file_name`
- added logic to warn and skip module file writing in case of file name clash
2016-06-30 12:56:47 +02:00
Todd Gamblin
0e422dec8c Merge pull request #1141 from adamjstewart/fixes/license_docs
Fix missing code blocks in licensed software documentation
2016-06-30 02:22:38 -07:00
Todd Gamblin
bc2fa76588 Merge pull request #1146 from scheibelp/features/doc-caching
added documentation for automatic caching of resources fetched during installs
2016-06-30 02:13:16 -07:00
Todd Gamblin
30d083c6b7 Merge branch 'efischer/160401-RecursiveModules' of https://github.com/citibeth/spack into citibeth-efischer/160401-RecursiveModules 2016-06-30 02:12:00 -07:00
Todd Gamblin
a7b8cb6901 Merge pull request #1145 from davydden/pkg/petsc_tests
petsc: run a test
2016-06-30 01:58:35 -07:00
Denis Davydov
6f4b0e9bda petsc: fix flake8 and ~mpi case in tests 2016-06-30 08:22:01 +02:00
Peter Scheibel
cfd380d514 added documentation for automatic caching of resources fetched during installs 2016-06-29 18:23:40 -07:00
Todd Gamblin
cd943ebe94 Merge pull request #1142 from adamjstewart/features/restview
Add py-restview package
2016-06-29 17:04:30 -07:00
Denis Davydov
37728afada petsc: run a test 2016-06-30 00:19:50 +02:00
Ben Boeckel
5f720f9b7c flake8: appease the style checker 2016-06-29 14:49:58 -04:00
Ben Boeckel
e3e94f0ac9 bootstrap: name the current branch the same as the remote 2016-06-29 14:49:19 -04:00
Ben Boeckel
89bf5f4045 bootstrap: allow using alternate remotes
If you want to bootstrap from a fork, the `--remote` option may be used
to select it.

Also limit the branches to 'develop' and 'master' if the remote is
'origin' since those are the actual integration branches used (other
branches on 'origin' are just PR branches).
2016-06-29 14:49:19 -04:00
Ben Boeckel
7ec191ce0b bootstrap: use the currently checked out branch
The `master` branch is not really where Spack development happens, so
default to it, but use the user's current branch if it's there.
2016-06-29 14:49:19 -04:00
Ben Boeckel
6f69c01915 bootstrap: fall back to the default upstream URL
Fixes #352.
2016-06-29 14:49:19 -04:00
Adam J. Stewart
2fcaa011ce Add py-restview package 2016-06-29 12:57:58 -05:00
Adam J. Stewart
06de8c56af Fix missing code blocks in licensed software documentation 2016-06-29 12:35:38 -05:00
Todd Gamblin
eb388306fd Merge pull request #1112 from adamjstewart/features/dependencies
Make spack create automatically add dependencies for build system
2016-06-29 07:57:33 -07:00
Todd Gamblin
c996632113 Add spack purge --cache to purge local archive cache. 2016-06-29 01:41:55 -07:00
Todd Gamblin
bc1320d83a Merge branch 'features/cache-archives' of https://github.com/scheibelp/spack into scheibelp-features/cache-archives 2016-06-29 00:57:26 -07:00
Todd Gamblin
7df89896f4 Merge pull request #1113 from davydden/octave_extensions
Octave extensions
2016-06-29 00:38:05 -07:00
alalazo
b71d430af6 module : can regenerate single module files, homogenized cli options
spack module :
- refresh accepts a constraint
- find and refresh share common cli options
- ask for confirmation before refreshing
- deleting the module file tree is now optional
2016-06-28 19:28:18 +02:00
Todd Gamblin
0fd58fb585 Merge pull request #1133 from davydden/pkg/dealii_fix_tests
dealii: run more unit tests when building @dev
2016-06-28 10:02:43 -07:00
Denis Davydov
32c801bbf6 dealii: run more unit tests when building @dev 2016-06-28 18:06:56 +02:00
Todd Gamblin
ad48ad7586 Merge pull request #1131 from epfl-scitas/fixes/swift_git_environment_variables
fix : swiftsim will set git environment variables in the appropriate hook
2016-06-28 09:05:26 -07:00
alalazo
5cdd37959a swiftsim : substituted tag with corresponding commit 2016-06-28 18:03:28 +02:00
Todd Gamblin
6810965457 Merge pull request #1130 from davydden/gmsh
Gmsh -- various fixes
2016-06-28 08:49:06 -07:00
alalazo
18612eca59 qa : fixed flake8 issues 2016-06-28 12:59:13 +02:00
alalazo
48888b0f8e swift : setting environment variables in the right place 2016-06-28 12:57:19 +02:00
Denis Davydov
c4c167c1ca octave: rename executable Octave to octave 2016-06-28 11:25:45 +02:00
Denis Davydov
51b0f53b33 gmsh: flake8 fixes 2016-06-28 10:50:35 +02:00
Denis Davydov
06e38d2ca2 gmsh: various fixes
(i) add new version
(ii) add OCE, PETSc and SLEPc as dependencies
(iii) fix Blas/Lapack configuration
(iv) disable internal Metis which does not compile
2016-06-28 10:33:25 +02:00
Todd Gamblin
793c9f5546 Merge pull request #1116 from mwilliammyers/package-lrzip
Add package lrzip & its dependency lzo
2016-06-27 22:32:57 -07:00
mwilliammyers
0384794912 Fix #1019 - cannot create mirror for git spec 2016-06-27 16:00:38 -06:00
Mario Melara
26325fe812 Add missing link to external packages
Adding missing _sec-external_packages to link with external packages
page
2016-06-27 14:35:56 -07:00
mwilliammyers
9bb918915f Add package lrzip & its dependency lzo 2016-06-27 15:19:13 -06:00
Mario Melara
7fb45e4bfd Update documentation for use on Cray
Updating how to use compilers.yaml on Cray as well as setting up
external packages. Also includes what needs to be set up for usage on
Cray and explains what needs to be done to get Spack properly working.
Also explain the architecture spec and what it does.
2016-06-27 13:52:48 -07:00
Todd Gamblin
d7c2f683d9 Merge pull request #1004 from UCL-RITS/bare-eigen
Option to install eigen without dependencies
2016-06-27 13:35:35 -07:00
Todd Gamblin
b80a03e6b6 Merge pull request #1124 from epfl-scitas/packages/fenics
Fenics: Corrections for PETSc 3.7 and detection of PETSC version to enable TAO
2016-06-27 13:32:57 -07:00
Nicolas Richart
9026fb8e8a Corrections for PETSc 3.7 and detection of PETSC version to enable TAO 2016-06-27 20:52:05 +02:00
Todd Gamblin
3ea9d1e665 Merge pull request #1122 from LLNL/bugfix/newarch-sys_type
Bugfix/newarch sys type
2016-06-27 10:07:03 -07:00
Todd Gamblin
bf4eeb48b9 Merge pull request #1099 from adamjstewart/fixes/hdf5
Fix self-check for hdf5@1.10.0-patch1
2016-06-27 09:47:17 -07:00
Todd Gamblin
76458f5bfc Merge pull request #1002 from epfl-scitas/packages/foam-extend
Package foam-extend
2016-06-27 09:40:49 -07:00
Adam J. Stewart
798dabc8f2 Forgot the unknown key/value pair 2016-06-27 09:01:53 -05:00
Denis Davydov
0faa6dd753 octave: make extendable and add a package 2016-06-27 13:44:58 +02:00
Todd Gamblin
0185226042 Merge pull request #1121 from LLNL/bugfix/module-directory-pollution
Make MockPackagesTest use a different module location.
2016-06-27 02:25:32 -07:00
Todd Gamblin
99c3ed56fa Add new sys_type method that prints out the *full* arch descriptor. 2016-06-27 02:19:26 -07:00
Todd Gamblin
305d5698df Rename spack.architecture.sys_type() to spack.architecture.platform() 2016-06-27 02:19:08 -07:00
Todd Gamblin
a15aee5d8e Make MockPackagesTest use a different module location.
- ensures anything tests create is blown away.
2016-06-27 01:22:03 -07:00
Todd Gamblin
d899059075 Merge pull request #1120 from LLNL/bugfix/mockdb-pollution
Fixes #760: spack test leaves builtin.mock packages in DB
2016-06-27 01:07:52 -07:00
Todd Gamblin
b4c36164b5 Fixes #760: spack test leaves builtin.mock packages in DB
- install_layout was redirected by the install test, but not the DB.
- redirect the DB now, as well.
2016-06-27 00:55:16 -07:00
Todd Gamblin
3bc4a38b78 Merge pull request #1118 from epfl-scitas/packages/swift_durham
swift : added new package
2016-06-27 00:39:45 -07:00
alalazo
13fcb3c083 swift : renamed swiftsim 2016-06-27 09:25:58 +02:00
alalazo
f3f309a22a Merge branch 'develop' of https://github.com/LLNL/spack into packages/swift_durham 2016-06-27 09:08:37 +02:00
Todd Gamblin
73213ac59d Merge pull request #984 from epfl-scitas/module_file_explicit_load
module files : explicit load and mnemonic suffixes
2016-06-26 23:33:48 -07:00
Todd Gamblin
a1db306a0c Merge pull request #1009 from epfl-scitas/packages/emacs
Emacs: adding dependencies to be able to build without the system libs
2016-06-26 22:46:45 -07:00
Todd Gamblin
19b69ce3a5 Merge pull request #1097 from citibeth/efischer/160622-DBErrors
Improved Spack database errors to help users fix them.
2016-06-26 22:45:44 -07:00
Todd Gamblin
ece72e5337 Merge pull request #1030 from opoplawski/external
Remove last two remaining from external imports
2016-06-26 22:41:58 -07:00
Todd Gamblin
bad32724ec Merge pull request #1092 from adamjstewart/features/netcdf-f
Add latest version of netcdf-fortran and curl
2016-06-26 22:38:00 -07:00
Todd Gamblin
8f28df1d14 Merge pull request #1094 from epfl-scitas/documentation/remove_packages_yaml_inconsistencies
packages.yaml : removed references to a never implemented feature
2016-06-26 22:37:43 -07:00
Todd Gamblin
8b35940857 Merge pull request #1103 from adamjstewart/features/mpi
Add MPI environment variables to packages
2016-06-26 22:35:39 -07:00
Todd Gamblin
30993357d7 Merge pull request #1105 from adamjstewart/fixes/filter_file
Fix backup logic in filter_file
2016-06-26 22:33:09 -07:00
Todd Gamblin
f86f6c6274 Merge pull request #1104 from mwilliammyers/py-protobuf
Add new package py-protobuf
2016-06-26 22:28:57 -07:00
Todd Gamblin
7d85902f37 Merge pull request #1093 from eschnett/eschnett/julia-update
Update Julia to 0.4.6
2016-06-26 22:28:33 -07:00
Todd Gamblin
c096aa9557 Merge pull request #997 from glennpj/glib_gcc
Get glib to compile with gcc-6.1
2016-06-26 22:28:07 -07:00
Nicolas Richart
f3accb111e correcting flake8 2016-06-27 01:23:14 +02:00
Nicolas Richart
7cf1313572 changes to use from_sourcing_file 2016-06-27 00:55:26 +02:00
Todd Gamblin
18222de7b6 Merge pull request #1119 from epfl-scitas/fixes/moved_packages
fixes : moved packages into builtin/repo
2016-06-26 13:50:00 -07:00
alalazo
9de0503188 qa : flake8 issues 2016-06-26 22:00:10 +02:00
alalazo
11863d2de3 packages : moved adios and mxml into builtin repo 2016-06-26 21:56:06 +02:00
alalazo
a2ba60f6a8 qa : flake8 issues 2016-06-26 17:38:48 +02:00
alalazo
e5b36583b5 swift : added package 2016-06-26 17:36:53 +02:00
alalazo
acd9014553 autotools : set Executable() in dependent modules 2016-06-26 17:36:33 +02:00
Adam J. Stewart
ea88d9cfe9 Make spack create automatically add dependencies for build system 2016-06-24 16:43:31 -05:00
Todd Gamblin
055f7f4ab6 Add package_dir method to package.py. 2016-06-24 12:33:53 -07:00
mwilliammyers
2c6c21a3bf Add new package py-protobuf 2016-06-23 15:54:20 -06:00
Adam J. Stewart
71a297f121 Fix backup logic in filter_file 2016-06-23 16:44:41 -05:00
Adam J. Stewart
8921bf4552 Add MPI environment variables to packages 2016-06-23 10:08:40 -05:00
Todd Gamblin
65e3ac4132 Merge pull request #1102 from LLNL/bugfix/sbang-lua-fix
Make sbang handle lua
2016-06-23 01:20:01 -07:00
Todd Gamblin
27e9bc6d02 Make sbang handle lua
- use --! instead of #! for patched lua scripts.
2016-06-23 00:03:23 -07:00
Adam J. Stewart
d566510a40 Flake8 and url_for_version fixes 2016-06-22 15:22:42 -05:00
Adam J. Stewart
3f4bf04dde Fix self-check for hdf5@1.10.0-patch1 2016-06-22 14:40:51 -05:00
Elizabeth Fischer
8f846d507d Added --prefix to module command. 2016-06-22 15:36:04 -04:00
Elizabeth Fischer
10810482bc Update database.py
PEP8
2016-06-22 14:03:32 -04:00
Elizabeth Fischer
ffe9e77e36 Improved Spack database errors to help users fix them. 2016-06-22 12:11:09 -04:00
Todd Gamblin
86893e3dc4 Merge pull request #1096 from robertdfrench/import-which
Import which from spack.util.executable; Fixes #1095
2016-06-22 09:06:01 -07:00
Robert.French
ff3e56cf9a Import which from spack.util.executable; Fixes #1095 2016-06-22 15:25:32 +00:00
Erik Schnetter
c904a42c5b Address flake errors 2016-06-22 11:09:45 -04:00
alalazo
f29b55957a documentation : removed references to never implemented features 2016-06-22 17:08:02 +02:00
Adam J. Stewart
b66f5b6231 Add latest version of cURL 2016-06-22 10:05:20 -05:00
Erik Schnetter
e398c0dc5b Update Julia to 0.4.6 2016-06-22 11:00:00 -04:00
Adam J. Stewart
060fb596f7 Add latest version of netcdf-fortran 2016-06-22 09:52:17 -05:00
Nicolas Richart
97feca0888 Merge branch 'develop' into packages/foam-extend 2016-06-22 14:51:57 +02:00
Todd Gamblin
e41d67e031 Merge pull request #1078 from adamjstewart/features/pillow
Allow py-pillow to link to Spack-built libraries
2016-06-22 01:11:25 -07:00
Todd Gamblin
8b5467e65d Merge pull request #1049 from glennpj/newR_database
New R database packages
2016-06-21 13:23:58 -07:00
Adam J. Stewart
a7ffb2c1a4 Flake8 2016-06-21 15:21:53 -05:00
Todd Gamblin
bbe2db5814 Merge pull request #1087 from LLNL/bugfix/new-harfbuzz-fix
Bugfix/new harfbuzz fix
2016-06-21 13:10:50 -07:00
Adam J. Stewart
66089c89aa Depend on pil 2016-06-21 14:55:49 -05:00
Adam J. Stewart
2efc67da60 Remove +tk variant, provide pil 2016-06-21 14:50:33 -05:00
Gregory L. Lee
e0fbf14f99 consolidated f2py regex 2016-06-21 09:23:58 -07:00
Gregory L. Lee
8f3954c1bd flake 8 fixes for cairo, freetype, and harfbuzz 2016-06-21 08:47:22 -07:00
Gregory L. Lee
4041f45b6c fixed conflicts in python package 2016-06-21 08:47:11 -07:00
Todd Gamblin
58cff1290d Make environment test less sensitive to user config files. 2016-06-21 00:19:28 -07:00
Todd Gamblin
0521b9bb32 Fix merge error. 2016-06-21 00:08:12 -07:00
Todd Gamblin
f18e1a9371 Merge branch 'features/cantera' of https://github.com/adamjstewart/spack into adamjstewart-features/cantera 2016-06-20 23:53:48 -07:00
Todd Gamblin
3f90fee614 Merge pull request #1085 from NERSC/bugfix/compiler_find
Bugfix/compiler find and gfortran fix.
2016-06-20 23:46:13 -07:00
Glenn Johnson
77cd474a2d Make all packages lowercase. 2016-06-20 20:10:44 -05:00
Todd Gamblin
70a25c4587 Change --insensitive to --sensitive in spack list 2016-06-20 17:17:25 -07:00
Todd Gamblin
cbd5a0a6e3 Merge branch 'list-ext' of https://github.com/trws/spack into trws-list-ext 2016-06-20 17:13:32 -07:00
Todd Gamblin
db81a74d66 Merge pull request #939 from davydden/docs/blas_lapack
document blas and lapack usage in packages
2016-06-20 17:11:09 -07:00
Todd Gamblin
a3431c5a73 Merge pull request #1047 from epfl-scitas/source_diffs_in_environment_modifications
feature : construct environment modifications sourcing files
2016-06-20 16:56:30 -07:00
Mario Melara
d515877d91 Add init_config args in compilers/__init__ 2016-06-20 16:20:52 -07:00
Mario Melara
4c4f3e9747 Add init_config to compiler_find method 2016-06-20 16:20:33 -07:00
Todd Gamblin
76d950b103 Merge pull request #1084 from epfl-scitas/packages/openmpi_without_fortran
OpenMPI : reverts part of #1079
2016-06-20 13:30:54 -07:00
alalazo
5aa3131385 qa : fixed flake8 issues 2016-06-20 21:11:33 +02:00
alalazo
b86e3047f3 openmpi : revert part of #1079 (OpenMPI can be built without fortran)
Building OpenMPI without fortran is possible, and was already handled.
 Raising an install error we effectively renounce at clang+OpenMPI.

 build_environment : sets 'CC', 'CXX', and similar variables only if a compiler is found
2016-06-20 20:46:11 +02:00
Tom Scogland
45482187b4 one more typo issue 2016-06-20 11:42:35 -07:00
Tom Scogland
f6aa864bc4 adding quotes to make sure the glob is interpreted correctly 2016-06-20 11:41:36 -07:00
Tom Scogland
ac728d3e60 fixing capitol->capital typos 2016-06-20 11:38:39 -07:00
Tom Scogland
6180e6c047 automatic case-insensitive like smartsearch, docs
New documentation for the new options, also case insensitive by default
unless the user includes an upper-case character in their pattern.
2016-06-20 11:33:56 -07:00
Mario Melara
6fb7b0fcf7 Merge branch 'develop' of https://github.com/LLNL/spack into bugfix/compiler_find
Forgot to pull branch changes before
2016-06-20 10:59:28 -07:00
Mario Melara
88888f5ba0 Got rid of unnecessary module arg 2016-06-20 10:58:20 -07:00
Mario Melara
1303b5a6a9 Adding more init_config as args to all_compilers,all_compilers_config, and get_compiler_config 2016-06-20 10:57:58 -07:00
Mario Melara
fe30113502 Adding init_config back. Don't initalize config rather let compiler_find do all the work. spack compiler list and spack compilers can do the work 2016-06-20 10:57:10 -07:00
Tom Scogland
0377f3580b switching argument naming 2016-06-20 10:53:19 -07:00
Todd Gamblin
f74d4b0660 Merge pull request #1052 from adamjstewart/features/psi4
Add Psi4 Package
2016-06-20 10:49:45 -07:00
Todd Gamblin
9b299cb2bb Merge pull request #1023 from epfl-scitas/packages/mumps
Corrected the shared libraries and tests in mumps package
2016-06-20 10:48:12 -07:00
Todd Gamblin
cec283f608 Merge pull request #1059 from epfl-scitas/packages/mpi_wrappers_with_rpath
MPI : have wrappers set RPATH instead of RUNPATH
2016-06-20 10:47:24 -07:00
Adam J. Stewart
aa86488fd9 Flake8 2016-06-20 12:47:17 -05:00
Todd Gamblin
c2d0870924 Merge pull request #1063 from eschnett/eschnett/openmpi-1.10.3
Update OpenMPI to 1.10.3
2016-06-20 10:45:56 -07:00
Todd Gamblin
42ff1aaa75 Merge pull request #1064 from LLNL/bugfix/github-1043-script-backup
do not create shebang.bak file
2016-06-20 10:45:42 -07:00
Todd Gamblin
31bb47356f Merge pull request #1022 from glennpj/r-devtools
new package: r-devtools
2016-06-20 10:34:23 -07:00
Todd Gamblin
b3881701c5 Merge pull request #1021 from glennpj/packrat
new package: r-packrat
2016-06-20 10:33:55 -07:00
Todd Gamblin
0fbd2fe224 Merge pull request #1000 from glennpj/new_R
Add version 3.3.0 of R and extensions
2016-06-20 10:33:43 -07:00
Todd Gamblin
c09111bbef Merge pull request #1053 from davydden/pkg/dealii_suite_update
update Petsc, Slepc, Trilinos, Superlu-dist and deal.II
2016-06-20 10:32:52 -07:00
Todd Gamblin
59318f4705 Merge pull request #1081 from mathstuf/pkg-config-path
modules.yaml: use the right envvar for pkg-config
2016-06-20 10:32:03 -07:00
Todd Gamblin
8047edfb56 Merge pull request #1029 from adamjstewart/features/armadillo
Add Armadillo and SuperLU packages
2016-06-20 10:29:29 -07:00
Todd Gamblin
265b9bcb0f Merge pull request #1076 from JRWynneIII/ferret
Added spec to build Ferret
2016-06-20 10:28:42 -07:00
Adam J. Stewart
be407f531e Move around extension logic 2016-06-20 12:24:45 -05:00
Adam J. Stewart
28b2e36230 Add ctest executable 2016-06-20 12:24:45 -05:00
Adam J. Stewart
afff40e584 Flake8 fix for R templates 2016-06-20 12:24:45 -05:00
Adam J. Stewart
c9eb5f8173 Use non-checksummed PyPi download URLs 2016-06-20 12:24:45 -05:00
Adam J. Stewart
5dfc2052bd Flake8 change 2016-06-20 12:24:45 -05:00
Adam J. Stewart
98d03c74e1 Add support for less common compression schemes 2016-06-20 12:24:45 -05:00
Adam J. Stewart
7e1ee463ca Install examples for sundials 2016-06-20 12:24:45 -05:00
Adam J. Stewart
5a55bb3f8d Modify R installation template 2016-06-20 12:24:45 -05:00
Adam J. Stewart
79fae306f6 Add extensions for Python/R and more configurable install 2016-06-20 12:24:45 -05:00
Adam J. Stewart
81ac3b62fc Filter compilers and link boost properly 2016-06-20 12:24:45 -05:00
Adam J. Stewart
9500f2718b More Flake8 2016-06-20 12:24:45 -05:00
Adam J. Stewart
a21e845ce7 Flake8 2016-06-20 12:24:45 -05:00
Adam J. Stewart
2220784eda Add scons support, .zip support, and Cantera package 2016-06-20 12:24:45 -05:00
Peter Scheibel
1dc62e8a19 Merge branch 'develop' into features/cache-archives 2016-06-20 10:16:02 -07:00
Todd Gamblin
12b9d6da10 Merge pull request #1083 from robertdfrench/tmux-2.2
Tmux 2.2
2016-06-20 09:36:55 -07:00
Todd Gamblin
8bdb6695c7 Merge pull request #1079 from davydden/pkg/blas_mpi_fortran
require fortran compilers for Openblas and Openmpi
2016-06-20 09:36:23 -07:00
Todd Gamblin
ce105e9bbe Merge branch 'bugfix/compiler_find' into develop 2016-06-20 09:34:25 -07:00
Todd Gamblin
84e21703bd Test no longer assumes compilers exist in /usr.
- makes a fake gcc instead, and tests that.
2016-06-20 09:28:39 -07:00
Robert.French
83b0c16728 Tmux 2.2 with PEP8
Tmux 2.2

Provide variant to skip utempter

Remove utempter variant; 2.2 doesn't need it

Flake8ify
2016-06-20 16:26:49 +00:00
Ben Boeckel
973caa3a07 modules.yaml: use the right envvar for pkg-config
Fixes #1072.
2016-06-20 11:10:29 -04:00
Erik Schnetter
e43eaad557 New package porta 2016-06-19 14:11:36 -04:00
Erik Schnetter
a0c0728ea8 New package polymake 2016-06-19 13:47:26 -04:00
Erik Schnetter
b4da4425ff Add header files to lrslib install 2016-06-19 13:47:02 -04:00
Erik Schnetter
fa471a4ed1 Add missing header files to Bliss install 2016-06-19 13:46:38 -04:00
Erik Schnetter
d8b9cda632 Build Bliss both with and without GMP 2016-06-19 12:48:47 -04:00
Denis Davydov
cf4a34c657 openmpi: raise an error without Fortran compiler 2016-06-19 11:59:29 +02:00
Denis Davydov
1cc04cff27 openblas: raise an error without Fortran compiler 2016-06-19 11:59:10 +02:00
Erik Schnetter
71e92774eb New package cddlib 2016-06-18 22:47:59 -04:00
Erik Schnetter
8fa8fc239f New package "nauty and Traces" 2016-06-18 22:22:58 -04:00
Erik Schnetter
e5b08544ff New package Panda 2016-06-18 22:02:36 -04:00
Erik Schnetter
2009354719 Add fourier tool to lrslib 2016-06-18 21:38:15 -04:00
Erik Schnetter
a5086f474e New package lrslib 2016-06-18 18:03:09 -04:00
Erik Schnetter
92a7c0ddd5 Update Bliss to use -O3 2016-06-18 18:02:52 -04:00
Erik Schnetter
64aaf7ba81 New package cdd 2016-06-18 16:37:08 -04:00
Erik Schnetter
83d4cdc090 Update Bliss 2016-06-18 16:36:43 -04:00
Erik Schnetter
a07056d67b Add Bliss package 2016-06-18 16:20:37 -04:00
Mario Melara
64c83638ff Adding test to list of test_names 2016-06-18 11:11:46 -07:00
Mario Melara
15e6b88a8b Adding new tests for compiler command for spack's test suite 2016-06-18 10:51:38 -07:00
Mario Melara
36275f8e6e More clean up of init_config, also no need for a different find_compilers function. 2016-06-18 10:50:55 -07:00
Mario Melara
ccb62b4620 Getting rid of no longer used init_config arg 2016-06-18 10:49:39 -07:00
Todd Gamblin
f9efb746d7 Merge pull request #1032 from eschnett/eschnett/cc-quotes
Add quotes around file name
2016-06-18 08:57:18 -07:00
alalazo
9e0c20c794 environment : filter the current environment
Previously only the environment obtained after sourcing the file was filtered.
This caused the appeareance of spurious unset commands in the list.
2016-06-18 13:39:08 +02:00
alalazo
a17d1efe7c Merge branch 'develop' of https://github.com/LLNL/spack into features/source_diffs_in_environment_modifications
Conflicts:
	lib/spack/spack/test/environment.py
2016-06-18 13:31:29 +02:00
alalazo
670669ef80 qa : fixed flake8 issues 2016-06-18 13:10:35 +02:00
alalazo
a33077b77f unit tests : fixed test_alter_environment 2016-06-18 13:07:14 +02:00
alalazo
51cf847647 Merge branch 'develop' of https://github.com/LLNL/spack into features/module_file_explicit_load
Conflicts:
	lib/spack/spack/test/modules.py
2016-06-18 13:06:37 +02:00
Mario Melara
8af1c5fc8f Merge remote-tracking branch 'upstream/develop' into develop
"Updating NERSC branch"
2016-06-18 00:52:06 -07:00
Mario Melara
c703bfb54d Got rid of init_config flag since we don't need it. Instead we update the cache config if there are any changes 2016-06-18 00:48:08 -07:00
Adam J. Stewart
652a5eb592 Allow py-pillow to link to Spack-built libraries 2016-06-17 18:09:03 -05:00
Todd Gamblin
62b2f2a7c9 Merge pull request #1065 from epfl-scitas/packages/espresso_update
espresso : update to 5.4.0
2016-06-17 14:51:45 -07:00
Todd Gamblin
4569df025e Merge pull request #1060 from mathstuf/no-break-long-words
tty: do not break long words
2016-06-17 14:51:26 -07:00
Todd Gamblin
9a8d109650 Merge pull request #1044 from adamjstewart/features/sncosmo
Add py-sncosmo package
2016-06-17 14:50:37 -07:00
Todd Gamblin
d7f48e1ff0 Merge pull request #1061 from mathstuf/reindex-preserve-explicit
reindex: preserve 'explicit' flags
2016-06-17 14:29:47 -07:00
Todd Gamblin
0bbbfc2ef7 Merge pull request #946 from LLNL/features/intel2
Intel software packages and license enhancements
2016-06-17 14:28:39 -07:00
Tom Scogland
8770f2a0ea fixing last flake8 issue 2016-06-17 13:42:27 -07:00
Tom Scogland
0743ef4d0b fixing flake8 issues 2016-06-17 13:32:28 -07:00
Tom Scogland
a4ac99877a cmd/list: adding description search and glob by default 2016-06-17 12:00:35 -07:00
Adam J. Stewart
536fa73d5f Python flake8 overhaul 2016-06-17 13:33:09 -05:00
Robert D. French
448f8c43d4 Added working Ferret spec
Fixed ferret spec. It builds now

Made ferret spec more flake8-y

Fixed homepage and info text about Ferret

Removed vim swap file

Reverted changes to netcdf-fortran spec and added netcdf~mpi dependency to ferret spec to compensate for it

Fixed flake8 issues!
2016-06-17 14:23:50 -04:00
Mario Melara
fe5eec5230 'find and 'add' are options for adding compilers via command line 2016-06-17 09:16:03 -07:00
Adam J. Stewart
80d444624b Fix activation of sites.py for sncosmo 2016-06-17 11:08:16 -05:00
Adam J. Stewart
24f65c502e Add additional Astropy dependencies 2016-06-17 10:45:10 -05:00
Adam J. Stewart
b2aa78d6ab Remove version constraints 2016-06-17 10:45:10 -05:00
Adam J. Stewart
4eeaff175c Allow packages to build 2016-06-17 10:44:28 -05:00
Adam J. Stewart
a660c60eb1 Add py-sncosmo package 2016-06-17 10:43:34 -05:00
Glenn Johnson
8970785d33 Add 'jdk' as a dependency.
Add jdk as a dependency so that R has support for java and allow
packages that need java to work.
2016-06-16 23:08:55 -05:00
Glenn Johnson
a813f03955 Add list_url for old versions. 2016-06-16 23:08:55 -05:00
Glenn Johnson
4850b9d4d1 Make install comment consistent with actual call. 2016-06-16 23:08:55 -05:00
Glenn Johnson
7da405e630 Add validator for bioconductor packages
This commit adds a validator function to make sure the versions of R and
bioconductor are in sync.
2016-06-16 23:08:55 -05:00
Glenn Johnson
7213b12324 Tweak how R packages are built.
Add bzip2 as a dependency to base R.

Switch from installing the R packages from tar files to installing from
the extracted directory. This is more in line with a standard install
and also allows installing from VCS.

Use the Bioconductor version for BiocGenerics and future Bioconductor
packages. Suffix the package with 'bioc-$version' to indicate which
Bioconductor release the package is a part of. This is actually more
important than the actual version attached to individual packages
although those are subject to change within the Bioconductor branch.
2016-06-16 23:08:55 -05:00
Glenn Johnson
0e64c25ffc Fix flake8 errors
Use Bioconductor provided Short URL for homepage in BiocGenerics.
Wrap description text for utf variant in pcre.
2016-06-16 23:08:54 -05:00
Glenn Johnson
37dc13edaf Update version of BiocGenerics
The BioConductor repositories only keep the most recent version so this
has to be bumped.
2016-06-16 23:08:54 -05:00
Glenn Johnson
8704a4ed35 Use configure_args rather than options
Replaced 'options' with 'configure_args'. That seems like a better name
and is consistent with the packaging guide.
2016-06-16 23:08:54 -05:00
Glenn Johnson
fe256870b4 Add variant for UTF support to pcre
This will build PCRE with UTF support by default. That seems to be
reasonable for most environments.
2016-06-16 23:08:54 -05:00
Glenn Johnson
cb3505769b Clean up R extensions
Run the existing R extension packages through autopep8 to clean up.
2016-06-16 23:07:13 -05:00
Glenn Johnson
6649f9edc2 Add version 3.3.0 of R
This commit adds the 3.3.0 version of R and adds dependencies on curl
and pcre.
2016-06-16 23:07:13 -05:00
Glenn Johnson
64acbbfcf0 Clean up R package files
- remove unused imports
- apply pep8
- reformat text strings
2016-06-16 23:07:13 -05:00
Mario Melara
df84fe0b58 Added init_config parameter so we don't initialize the config when user runs spack compiler add. Should ONLY add what user specifies. Find compilers takes in paths parameter. 2016-06-16 18:10:38 -07:00
Todd Gamblin
f351e011d1 Merge pull request #1068 from epfl-scitas/fixes/flake8_no_f405
Flake8: ignore F405
2016-06-16 17:13:01 -07:00
Todd Gamblin
9ee6cbfb40 Merge pull request #944 from adamjstewart/features/bertini
Add bertini package
2016-06-16 16:57:50 -07:00
Todd Gamblin
344280154a Merge pull request #962 from adamjstewart/features/hpl
Add HPL benchmark package
2016-06-16 16:57:24 -07:00
Todd Gamblin
005827ab23 Replace 2.6-incompatible skipIf with a conditional.
- skipIf doesn't work with Python 2.6.
2016-06-16 12:12:29 -07:00
Todd Gamblin
f60ae61652 remove dead code, cleanup. 2016-06-16 10:44:15 -07:00
Todd Gamblin
8867adf942 simplify instance check. 2016-06-16 10:43:36 -07:00
Todd Gamblin
c7dfa1699a rename Mac OS X to macos 2016-06-16 10:43:12 -07:00
alalazo
a5aa159d9d flake8: ignore F405 2016-06-16 19:23:16 +02:00
Mario Melara
6b03770602 Added str method to mac_osx so that whenever we try to access darwins different operating systems we can grab the name correctly. This avoids having to worry whether we have a version attached to it or not. 2016-06-16 09:44:37 -07:00
Todd Gamblin
88b73bacdb Merge branch 'features/newarch' into develop
Conflicts:
	lib/spack/spack/config.py
	var/spack/repos/builtin/packages/lua/package.py
2016-06-16 03:03:26 -07:00
Todd Gamblin
17b868381f Fixes #460: Do not show variants by default in spack find.
This does two things:

1. By default `spack find` no longer shows variants.  You have to
   supply `-v` to get that

2. This improves the `colify` implementation so that it no longer pads
   the rightmost column.  This avoids the issue where if one spec was
   too long in the output, *all* specs would have space padding added
   to that width, and it would look like the output of `spack find`
   was double spaced.  This no longer happens -- the one bad line
   wraps around and the other lines are now single-spaced when you use
   `-v` with boost.
2016-06-16 02:55:33 -07:00
alalazo
a1cbb73f8b qa : fixed flake8 issues 2016-06-16 11:24:18 +02:00
alalazo
8d9ffcf565 espresso : updated to 5.4.0, added Parallel=False 2016-06-16 11:22:26 +02:00
Todd Gamblin
88b671f8b1 Just call old os "unknown" 2016-06-16 02:06:19 -07:00
Todd Gamblin
76dfaa71a7 fix up packages for new architecture. 2016-06-16 01:47:20 -07:00
Todd Gamblin
40d25d9062 Add libxcb dependencies. Fix up packages to get py-basemap and stat to build. 2016-06-16 00:56:53 -07:00
Todd Gamblin
f3d6818d5c be more tolerant when parsing new specs. 2016-06-16 00:55:39 -07:00
Todd Gamblin
c90cc465f5 Add __contains__ to arch to satsify old packages. 2016-06-16 00:54:59 -07:00
Gregory L. Lee
d4df4375d5 removed unused import per flake8 report 2016-06-15 20:32:08 -07:00
Gregory L. Lee
1724ff5658 do not create shebang.bak file 2016-06-15 20:21:02 -07:00
Gregory Becker
3fcd54203c two minor fixes 2016-06-15 16:44:38 -07:00
Gregory Becker
2fc9ac4036 Two minor fixes 2016-06-15 16:39:39 -07:00
Erik Schnetter
a7ab064a9e Update OpenMPI to 1.10.3 2016-06-15 18:05:23 -04:00
Adam J. Stewart
ea80c8d3c3 Ignore E501 for depends_on and extends 2016-06-15 14:38:53 -05:00
Massimiliano Culpo
daa46105a7 mpich based providers : shortened filter_compilers 2016-06-15 21:37:12 +02:00
Adam J. Stewart
44e188f111 Remove MPI support, fix INCLUDE filters 2016-06-15 14:17:30 -05:00
Adam J. Stewart
7b97ea248a More template filtering 2016-06-15 14:17:29 -05:00
Adam J. Stewart
9cf1257be4 Filter compilers 2016-06-15 14:17:29 -05:00
Adam J. Stewart
deb4f919cf Psi4 tweaks 2016-06-15 14:17:29 -05:00
Adam J. Stewart
9d99042fed Add Psi4 package 2016-06-15 14:17:29 -05:00
Ben Boeckel
716f12dd58 reindex: preserve 'explicit' flags
Look up in the old database whether the spec was explicit or not and
preserve it into the new database.

Fixes #1050.
2016-06-15 12:48:40 -04:00
Denis Davydov
0e04e65ae0 trilinos: specify superlu-dist version dependency 2016-06-15 18:44:59 +02:00
Denis Davydov
5fe531050c flake8 fixes for dealii 2016-06-15 18:33:34 +02:00
Denis Davydov
e76083205f flake8 fixes for slepc 2016-06-15 18:33:08 +02:00
Denis Davydov
6390acc660 flake8 fixes for petsc 2016-06-15 18:32:42 +02:00
Denis Davydov
6d714e4425 flake8 fixes for superlu-dist 2016-06-15 18:31:39 +02:00
Denis Davydov
3d3a26cd9a flake8 fixes for filesystem.py 2016-06-15 18:31:10 +02:00
Ben Boeckel
36decbfa69 tty: do not break long words
These "words" tend to be file paths which are best left unbroken.

Fixes #1057.
2016-06-15 12:22:35 -04:00
Denis Davydov
d0d83cfe1e slepc: build by default with Arpack 2016-06-15 18:21:13 +02:00
Denis Davydov
d04dc8440f dealii: specify petsc/slepc version dependencies 2016-06-15 18:21:13 +02:00
Denis Davydov
4d40f86bd3 trilinos: add 12.6.2 and 12.6.3 2016-06-15 18:21:13 +02:00
Denis Davydov
5358ffbe5a slepc: add 3.6.3 and 3.7.1; specify petsc version dependency 2016-06-15 18:21:13 +02:00
Denis Davydov
9ceb8fea78 petsc: add 3.6.4 and 3.7.2; specify superlu-dist version dependency 2016-06-15 18:21:13 +02:00
Denis Davydov
a860a3d614 superlu-dist: avoid harcoding blas/lapack/mpi; remove preferred version 2016-06-15 18:21:13 +02:00
Todd Gamblin
c803f7ae98 Merge pull request #1045 from eschnett/eschnett/openmpi-verbs-usr
Do not pass "/usr" or "/usr/local" as path to configure
2016-06-15 09:06:12 -07:00
Todd Gamblin
4ede87a8b0 Merge pull request #1058 from eschnett/eschnett/blosc
Add packages c-blosc and hdf5-blosc
2016-06-15 09:04:48 -07:00
Todd Gamblin
9dd1f2747a Merge pull request #1028 from JRWynneIII/boost-graph-parallel-fix
Add variant for boost graph and parallel graph
2016-06-15 09:03:01 -07:00
Todd Gamblin
08badb5a35 Merge pull request #1040 from KineticTheory/pkg-trilinos
Make Boost an optional feature of Trilinos.
2016-06-15 08:57:38 -07:00
Todd Gamblin
ff3469385b Merge pull request #1037 from KineticTheory/develop
Package serf also depends on zlib.
2016-06-15 08:57:14 -07:00
Todd Gamblin
bfedeadacb Merge pull request #1031 from opoplawski/pcre
Add patch to compile pcre with Intel 16.0.3 compiler
2016-06-15 08:56:53 -07:00
Todd Gamblin
a19c8b343e Merge pull request #1051 from daboehme/develop
Use https for github in Caliper package
2016-06-15 08:56:11 -07:00
alalazo
b09bee8158 qa : fixed flake8 issues 2016-06-15 13:29:30 +02:00
alalazo
b59d4f243b openmpi, mvapich2, mpich : filtered out "--Wl,--enable-new-dtag" in wrappers, as it turns RPATH into RUNPATH
Apart from that turned `os.path.join` into `join_path` and `os.environ` into `env` in the packages
2016-06-15 13:21:39 +02:00
Erik Schnetter
05d7378da5 Install shared libraries correctly on Linux 2016-06-14 17:13:20 -04:00
Erik Schnetter
ca5180f7a2 Correct Blosc install on Darwin 2016-06-14 17:03:00 -04:00
Erik Schnetter
e6ec372926 Add packages c-blosc and hdf5-blosc
c-blosc provides the Blosc compression filter, and hdf5-blosc provides a plugin for HDF5 to use that filter.
2016-06-14 09:59:48 -04:00
Glenn Johnson
e226837d33 Fix flake8 error. 2016-06-13 23:04:26 -05:00
Glenn Johnson
8861c99333 New package - r-foreign 2016-06-13 22:50:07 -05:00
Glenn Johnson
5ba5ef6c46 Add list_url for older versions. 2016-06-13 17:50:27 -05:00
Glenn Johnson
94d0f21823 New package - r-xlsxjars 2016-06-13 17:50:06 -05:00
Glenn Johnson
4767185082 New package - r-xlsx 2016-06-13 17:48:59 -05:00
Glenn Johnson
5cd09af066 New package - r-XLConnect 2016-06-13 17:48:44 -05:00
Glenn Johnson
3c234a7d3b New package - r-XLConnectJars 2016-06-13 17:36:50 -05:00
Glenn Johnson
450b082daf Do not need to depend on jdk here because R itself does. 2016-06-13 17:35:35 -05:00
Glenn Johnson
427fa7fd0a New package - rJava 2016-06-13 17:26:01 -05:00
David Boehme
52160bff18 Use https for github 2016-06-13 11:47:28 -07:00
Glenn Johnson
d398ebe21f New package - r-RSQLite 2016-06-12 22:06:06 -05:00
Glenn Johnson
b96b32e9ec New package - r-RPostgreSQL 2016-06-12 22:05:45 -05:00
Glenn Johnson
77e8096a6f New package - r-RODBC 2016-06-12 22:05:26 -05:00
Glenn Johnson
bfb0985c38 New package - r-RMySQL 2016-06-12 22:05:10 -05:00
Glenn Johnson
a7a640bfb8 New package - rDBI 2016-06-12 22:04:37 -05:00
Glenn Johnson
b05a565648 New package - mariadb 2016-06-12 22:04:09 -05:00
Glenn Johnson
5d3965c7a6 New package - unixODBC 2016-06-12 22:03:24 -05:00
Glenn Johnson
7727f6fc7e New package - libaio 2016-06-12 22:02:46 -05:00
Glenn Johnson
4dcb15cf6d Ran through autopep8 and cleaned up. 2016-06-12 22:00:49 -05:00
Glenn Johnson
bdb9af63ed Add version 9.5.3 and add readline as a dependency. 2016-06-12 21:58:41 -05:00
Glenn Johnson
8ff7cbb9ce Run binutils/package.py through autopep8. 2016-06-12 21:57:03 -05:00
Glenn Johnson
1601cf1b14 Patch binutils
This commit adds a patch to update symbol versions from linker scripts.
This is seen with libmysqlclient.so which has to maintain compatibility
across two versions. Only one can be the default.

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;a=commitdiff;h=544ddf9322b1b83982e5cb84a54d084ee7e718ea
2016-06-12 21:46:11 -05:00
Kelly (KT) Thompson
31d2c38687 Update formatting to meet code style requirements. 2016-06-12 19:56:29 -06:00
Kelly (KT) Thompson
b89bcdff62 Make Boost an optional feature of Trilinos.
I have been unable to build Boost with some toolset/platform combinations. The
users I support don't need the Boost features in Trilinos, so I have been
manually hacking trilinos/package.py to disable boost. I would like to propose
that these changes be added to the released version.

+ Add boost as a variant, default to true so there is no change to existing
  behavior.
+ Move the CMake configure options related to Boost into a conditional block
  that is triggered by "if '+boost' in spec".
2016-06-12 19:48:45 -06:00
Tom Scogland
1b28991e0a Merge pull request #1026 from epfl-scitas/packages/lmod
lmod : updated package and dependencies
2016-06-12 17:01:41 -07:00
Massimiliano Culpo
30c9d976f6 environment : added more logic to treat append and prepend path 2016-06-12 18:54:56 +02:00
alalazo
5300ffac7f qa : fixed flak8 checks 2016-06-12 15:11:26 +02:00
alalazo
a6681f2d7f environment modules : added function to construct them from source files 2016-06-12 15:06:17 +02:00
Glenn Johnson
59c9816dbf Make quotations in variables consistent. 2016-06-11 16:01:23 -05:00
Glenn Johnson
0e9f8bd38d Add list_url for old versions. 2016-06-11 15:53:28 -05:00
Erik Schnetter
953b65abcc Do not pass "/usr" or "/usr/local" as path to configure 2016-06-11 16:41:39 -04:00
Glenn Johnson
6c0ea77d1d Add list_url for older versions. 2016-06-11 15:36:43 -05:00
alalazo
3737169450 qa : fixed style and a bug reported by flake8
lib/spack/spack/test/versions.py:313: [F811] redefinition of unused 'test_union_with_containment' from line 306
Flake8 found errors.
2016-06-11 12:57:46 +02:00
alalazo
eb9b00b210 versions : added unit tests for the new properties 2016-06-11 12:44:21 +02:00
Gregory Becker
0fea167f97 I made a hash of that minor merge
Merge commit '4eeb' into features/newarch
2016-06-10 16:28:09 -07:00
Gregory Becker
992bcac794 changed compiler yaml format 2016-06-10 16:26:02 -07:00
Adam J. Stewart
85502e34f9 CMake knows how to create PIC 2016-06-10 14:35:19 -05:00
Todd Gamblin
bc038eb7c3 Merge pull request #1020 from LLNL/bugfix/libdwarf_versions
put older versions back + version-specific dwarfdump dir
2016-06-10 05:47:04 -07:00
Kelly (KT) Thompson
883f601bca Fix style issues. 2016-06-09 19:18:25 -06:00
Kelly (KT) Thompson
915115386a Package serf also depends on zlib.
+ Add zlib as a required dependency.
+ Point scons build system to the spack provided zlib installation.
2016-06-09 18:30:28 -06:00
Erik Schnetter
2a4d440003 Add quotes around file name
$input_log will expand to file names with special characters (e.g. "@"), thus bash requires quotes.
2016-06-08 19:14:01 -04:00
Orion Poplawski
454acf58af Add additional blank line for flake8 2016-06-08 16:49:42 -06:00
Orion Poplawski
e3ca5e6676 Add patch to compile pcre with Intel 16.0.3 compiler 2016-06-08 16:23:04 -06:00
Orion Poplawski
4952c4c7de Also remove from external from bin/spack 2016-06-08 14:22:26 -06:00
Orion Poplawski
7ce08c4216 Remove last two remaining from external imports 2016-06-08 13:51:31 -06:00
Adam J. Stewart
65896ff2ed Add Armadillo and SuperLU packages 2016-06-08 14:11:14 -05:00
James Riley Wynne III
4b9707f8ea Fixed flake8 formatting problems 2016-06-08 14:36:45 -04:00
Peter Scheibel
3b71d78f3c rename URLMirrorFetchStrategy to CacheURLFetchStrategy since it isnt used to manage all mirror URLs - just the cache (the specific behavior that a URL may refer to a stale resource doesn't necessarily apply to mirrors) 2016-06-08 09:57:56 -07:00
James Riley Wynne III
42a10d5690 Fixes issue #438 2016-06-08 12:43:05 -04:00
Nicolas Richart
2d21693b9d Missing file to patch mumps 2016-06-08 17:09:13 +02:00
alalazo
564483936f qa : fixed flake8 issues 2016-06-08 16:33:49 +02:00
alalazo
4a61efe641 lmod : fixed issues with LUA_PATH during installation 2016-06-08 16:21:09 +02:00
alalazo
f4a39457de lmod : updated package and dependencies 2016-06-08 15:35:15 +02:00
Nicolas Richart
165411f4a5 bug fix in the +mpi case 2016-06-08 15:17:12 +02:00
Nicolas Richart
498c098d11 Cleaning flake warnings in mumps package 2016-06-08 14:57:54 +02:00
Nicolas Richart
e124c86a4f Corrected the shared libraries and tests in mumps package 2016-06-08 14:17:46 +02:00
Glenn Johnson
bb19dffb26 Fix flake8 error. 2016-06-07 23:40:12 -05:00
Glenn Johnson
ad0cfa41aa Fix flake8 errors 2016-06-07 23:37:49 -05:00
Glenn Johnson
738720a000 new package: r-devtools
This PR brings in the R devtools package and it dependencies.
2016-06-07 23:20:46 -05:00
Greg Lee
bb57b82794 flake8 fixes 2016-06-07 20:15:02 -07:00
Glenn Johnson
2262bc95f1 new package: r-packrat
Manage the R packages your project depends on in an isolated, portable,
and reproducible way.
https://github.com/rstudio/packrat/
2016-06-07 22:04:11 -05:00
Greg Lee
25b2f7b1d7 put older versions back + version-specific dwarfdump dir 2016-06-07 20:02:38 -07:00
Peter Scheibel
a2754894ea (1) FsCache store now takes a fetcher vs. just a copy command (2) use [1] to conditionally cache resource: only save it if there is a feature which identifies it uniquely (for example do not cache a repository if it pulls the latest state vs. a particular tag/commit) 2016-06-07 16:26:54 -07:00
Mario Melara
5715799d4e Added to_dict back into operating system 2016-06-07 14:15:28 -07:00
Mario Melara
4925be0bc4 Load external modules 2016-06-07 13:22:47 -07:00
Peter Scheibel
de1ec4be8b change source archive caching to omit digest from name and instead calculate and compare the checksum. This achieves the original goal of discarding stale cache files without preserving multiple files for the same version. 2016-06-06 12:26:13 -07:00
Mario Melara
196737c217 Changed to passing full architecture spec to function rather than just platform_os so we can grab the operating system from the platform getters 2016-06-06 10:29:19 -07:00
Mario Melara
835982faed Changed OS name to CNL10 so that we properly find the compilers for the test platform 2016-06-06 09:08:59 -07:00
Mario Melara
864191b6ed Got rid of unnecessary global keyword 2016-06-06 09:06:58 -07:00
Mario Melara
5b023bb0a1 Passing through full arch instead of just operating sysystem so that we can use the platform to get the operating system 2016-06-06 09:05:14 -07:00
Mario Melara
c7b48f6fef Passing full arch for proper compiler spec so that we can use the platform to get the operating system 2016-06-06 09:04:24 -07:00
Mario Melara
f751d68177 Passing architecture to functions to find compiler. We can use the platform name if provided to find the operating system. Also changed error to operating system instead of target since operating system is now in charge of compiler finding. 2016-06-06 09:03:32 -07:00
Tom Scogland
30e8e77fb6 Merge pull request #869 from brettviren/feature/views
Feature/views
2016-06-05 11:31:48 -07:00
alalazo
bdd874eb7f autopep8 2016-06-04 18:09:28 +02:00
alalazo
02cadb882b unit test : suffixes 2016-06-04 18:09:06 +02:00
alalazo
669caefccb unit test : wrong naming scheme in conflict 2016-06-04 18:00:18 +02:00
alalazo
d43cfefa43 autopep8 2016-06-04 17:24:52 +02:00
alalazo
2d6db06fca unit test : prerequisites 2016-06-04 17:24:27 +02:00
alalazo
ffa6fed3a3 unit test : custom module file load 2016-06-04 17:20:06 +02:00
alalazo
422d3d4db6 unit test : write a whitelisted module 2016-06-04 16:46:15 +02:00
alalazo
09b1daa7b9 unit test : write a blacklisted module 2016-06-04 16:23:41 +02:00
alalazo
408aa10210 unit test : whitelist 2016-06-04 16:18:15 +02:00
alalazo
a3f39c2315 autopep8 : fixed style issues 2016-06-04 11:23:23 +02:00
alalazo
97e2834816 unit test : wrong tag for dependencies 2016-06-04 11:20:35 +02:00
alalazo
2207ab8f23 unit test : inspect_path 2016-06-04 10:44:37 +02:00
alalazo
0e71b5dde8 unit test : update dictionary extending lists 2016-06-04 10:07:13 +02:00
Mario Melara
30c204a0a5 Made a merge commit earlier with Todd fixing all_platforms, but changed how architecture looks in spec.yaml. Just three strings. Also made some flake8 formatting changes 2016-06-03 16:16:59 -07:00
Mario Melara
bc557cc765 Merge branch 'features/newarch' of https://github.com/NERSC/spack into features/newarch 2016-06-03 15:59:00 -07:00
Mario Melara
24d160e93e Changed how architecture looks like in spec.yaml. Now it's only three strings, platform, os, target in spec.yaml. Also did some flake8 formatting changes 2016-06-03 15:57:54 -07:00
Mayeul d'Avezac
0b5ce9e16a 💄 style points requested by flake8 2016-06-03 11:52:19 +01:00
Nicolas Richart
8b6035ab82 Making emacs dependent on internal packages 2016-06-03 00:24:00 +02:00
Todd Gamblin
9d04dccb79 Update version to correspond to master. 2016-06-02 01:20:40 -07:00
Todd Gamblin
3d2b25e45c Merge pull request #1014 from epfl-scitas/packages/mvapich2
Changes to take into account slurm in version @2.1: of mvapich2
2016-06-02 01:08:28 -07:00
Todd Gamblin
27bc49d8c8 Merge pull request #1001 from ashkan2200/develop
Dealii, fixed issue with tests
2016-06-02 01:01:29 -07:00
Todd Gamblin
b843b73bb5 Merge pull request #1005 from eschnett/eschnett/hdf5-update
Update HDF5 to version 1.10.0-patch1
2016-06-02 00:57:15 -07:00
Todd Gamblin
552cfac6ed Merge pull request #1008 from LLNL/features/cflags-fix
Fixed config format to allow default compiler flags
2016-06-02 00:56:44 -07:00
Todd Gamblin
1fb4fa02e3 Merge pull request #1010 from epfl-scitas/packages/tetgen
Adding a version to tetgen
2016-06-02 00:54:09 -07:00
Todd Gamblin
fca8034578 Merge pull request #1011 from epfl-scitas/packages/fenics
Adding package FEniCS
2016-06-02 00:53:47 -07:00
Nicolas Richart
53dcc39b72 removing useless selfs 2016-06-01 17:33:54 +02:00
Nicolas Richart
3ab8468e73 Correcting the flake8 warnings 2016-06-01 16:43:08 +02:00
Nicolas Richart
0451c8e55f Addapting the mvapich2@2.1: configure options for slurm 2016-06-01 15:58:00 +02:00
Nicolas Richart
d802144f39 Introduced a bug by correcting flake8 warnings 2016-06-01 03:31:29 +02:00
Nicolas Richart
5d4a0e4050 Corrections for flake8 2016-06-01 03:28:42 +02:00
Nicolas Richart
97bad2c1ac Corrections for flake8 2016-06-01 03:25:37 +02:00
Nicolas Richart
58052e6632 Adding package fenics 2016-06-01 03:20:56 +02:00
Nicolas Richart
cb673765c2 Adding a version to tetgen 2016-06-01 03:02:48 +02:00
Nicolas Richart
0df0677d5b Adding a variant to link against the spack libraries instead of the system ones 2016-06-01 03:00:03 +02:00
Nicolas Richart
9db8dc1895 Removing extra dependencies + minor fix according to remarks on #1002 2016-06-01 00:57:01 +02:00
Gregory Becker
817f43f927 Fixed config format to allow default compiler flags 2016-05-31 13:39:25 -07:00
Erik Schnetter
c03c689cb2 Update HDF5 to version 1.10.0-patch1 2016-05-31 12:18:17 -04:00
Adam J. Stewart
564e7f5e5b Don't build in parallel 2016-05-31 09:32:24 -05:00
Todd Gamblin
7bdf63a0fa Fix some bugs in architecture. 2016-05-31 03:01:05 -07:00
Mayeul d'Avezac
29b85fbce0 Eigen can be installed with dependencies 2016-05-31 10:10:12 +01:00
Ali Dorostkar
6f96484f83 Spacing correction
More spacing correction
2016-05-31 09:58:29 +02:00
Ali Dorostkar
e82fb5b58f Fixed spacing
Replaced tabs with spaces
2016-05-31 08:44:46 +02:00
Todd Gamblin
24ee32d7b0 More flexible reading of specs from DB, formatting. 2016-05-30 22:02:22 -07:00
Todd Gamblin
f3f0122f11 Merge branch 'develop' into features/newarch 2016-05-30 13:54:53 -07:00
Mario Melara
b14ba31250 Quick fix for mock compilers.yaml to work on linux machines. 2016-05-30 13:22:08 -07:00
Mario Melara
716991775d Added extra check on linux machines, since most linux machines don't have module system 2016-05-30 13:09:41 -07:00
Mario Melara
08a9d80ebc Changed platform to py_platform to avoid name collisions. The naming collisions resulted in an error on linux machines 2016-05-30 13:07:20 -07:00
Mario Melara
f96c979024 Added a conditional to check if package is external 2016-05-30 13:05:49 -07:00
Ali Dorostkar
c4d5bd13c7 dealii, Added comment
Added comment for why step-40 is done differently for dealii 8.4.0 and
later
2016-05-30 18:11:34 +02:00
Nicolas Richart
fd345c8ef0 Merge branch 'packages/foam-extend' of github.com:epfl-scitas/spack into packages/foam-extend 2016-05-30 17:04:21 +02:00
Nicolas Richart
9f4e599232 Ignoring the flake8 error for a line too long 2016-05-30 16:58:06 +02:00
Nicolas Richart
08c8d1d1f7 limiting package to foam-extend to start 2016-05-30 16:49:25 +02:00
Nicolas Richart
4122ecbc80 First try at OpenFOAM-extend 2016-05-30 16:49:25 +02:00
Ali Dorostkar
4f591a6fe3 Step-40 test for 8.3.0 and earlier
Integrated part of step-40 to be tested for earlier versions of dealii
2016-05-30 16:42:24 +02:00
Nicolas Richart
fe79e43459 limiting package to foam-extend to start 2016-05-30 15:46:39 +02:00
Ali Dorostkar
d7e84fe07c dealii, test for specific version
Specified that test case “step-40” is only to be run when using dealii
version 8.4.0 or later
2016-05-30 14:03:27 +02:00
Ali Dorostkar
04061ece4f Merge remote-tracking branch 'LLNL/develop' into develop 2016-05-30 14:03:02 +02:00
Glenn Johnson
66aaaa1751 Add a comment regarding the reason for the patch. 2016-05-29 15:30:09 -05:00
Todd Gamblin
1eed2ee985 Merge pull request #999 from ashkan2200/develop
Dealii, Versions added
2016-05-29 10:56:00 -05:00
Ali Dorostkar
c2ac47235f additional versions for Dealii
Included additional versions for Deal.II package.
2016-05-29 13:22:19 +02:00
Todd Gamblin
e8b4d5fb6f Performance boost: reduce instantiations of re.Scanner
- Lexer is the same for every Spec parser in spack, so don't build it
  every time.

- This improves time to import package.py files a lot, as a Lexer
  doesn't have to be constructed for every spc in the packages.

- To concretize dealii:
  - Before: ~20 sec
  - After:  ~6 sec
2016-05-28 23:05:23 -07:00
Glenn Johnson
c16d7c481c Get glib to compile with gcc-6.1
This commit adds a patch to fix the case where gcc-6.1 emits an error
for string format literal that was a warning in previous versions of
gcc. The patch reference is
https://bugzilla.gnome.org/show_bug.cgi?id=761550

Also ran the package file through autopep8.
2016-05-28 23:30:56 -05:00
Mario Melara
22ca72e7b9 Added conditional skipIf to test_external_modules, darwin machines don't have tcl modules so skip this test and let user know why 2016-05-28 12:40:29 -07:00
Mario Melara
69585cb6e3 Added elcap compilers 2016-05-28 12:39:43 -07:00
Mario Melara
33e1dcc476 Adding mock package file for external module 2016-05-28 10:14:40 -07:00
Mario Melara
f0a9c45207 Adding external to mock config 2016-05-28 10:13:57 -07:00
Mario Melara
98a4a9f2cc Adding test for external modules 2016-05-28 10:13:22 -07:00
Mario Melara
becec8ac7e Added external module check in normalize to avoid infinite loop 2016-05-28 10:12:53 -07:00
Gregory Becker
9dad7c2ace re-merged mainline develop 2016-05-27 13:13:19 -07:00
Greg Lee
6dcdb50a3e Merge branch 'develop' of https://github.com/llnl/spack into develop 2016-05-27 12:44:57 -07:00
Greg Lee
0ae1298d25 updated libdwarf version and dwarfdump build 2016-05-27 12:43:13 -07:00
Gregory Becker
f49644cdea Fixed typo in linux platform 2016-05-27 12:37:58 -07:00
Gregory Becker
023504ed64 Fixed the external modules bug 2016-05-27 12:26:59 -07:00
Adam J. Stewart
dd5a6914f1 Undo changes to flex 2016-05-27 12:56:43 -05:00
Todd Gamblin
f6a0cd1bf8 Merge pull request #973 from eschnett/eschnett/openmpi-verbs
Auto-detect verbs location
2016-05-27 11:01:44 -05:00
Todd Gamblin
285646bbfa Merge pull request #981 from epfl-scitas/tests/unit_test_for_968
find : add unit tests
2016-05-27 11:00:45 -05:00
Todd Gamblin
2f18a34458 Merge pull request #989 from LLNL/features/cflags-documentation
updated documentation for cflags PR
2016-05-27 10:59:40 -05:00
Todd Gamblin
7b063e3e6c Merge pull request #975 from adamjstewart/features/stream
Add STREAM benchmark package
2016-05-27 10:59:13 -05:00
Gregory Becker
a2f90453f4 Fixed backwards compatibility for compilers.yaml config file 2016-05-26 20:30:05 -07:00
Todd Gamblin
dc4ca26441 Merge pull request #992 from davydden/update/dealii
Update/dealii
2016-05-26 17:39:37 -05:00
Todd Gamblin
96f65479e7 Merge pull request #993 from xjrc/packages/metis
Update Package : METIS/ParMETIS
2016-05-26 17:37:33 -05:00
Joseph Ciurej
e95eedb165 Added a style checking exemption for lambda expressions. 2016-05-26 14:27:15 -07:00
Denis Davydov
040c122719 dealii: formatting 2016-05-26 23:00:22 +02:00
Mario Melara
9c1da4fa4c Corrected parantheses wrapping 2016-05-26 13:58:17 -07:00
Gregory Becker
189e8b3f34 fixed compiler config init logic 2016-05-26 13:17:01 -07:00
Gregory Becker
88bec814eb Allow 'arch=' syntax for specs to allow copying from output 2016-05-26 12:10:41 -07:00
Gregory Becker
c0661744cc fixed compatibility work 2016-05-26 11:38:40 -07:00
Gregory Becker
b968603a57 made yaml format backwards compatible 2016-05-26 11:14:05 -07:00
Mario Melara
3b675d8b70 Changed comparison operator so that we don't get caught in an infinite loop 2016-05-26 11:09:14 -07:00
Denis Davydov
0036483ded dealii: don't hardcode blas and mpi; minor fixes to dependencies 2016-05-26 18:07:27 +02:00
Gregory Becker
c30fe932d9 fixed mock config to use truncated versions of linux distro versions 2016-05-25 16:34:45 -07:00
Gregory Becker
8f99334f11 Fixed test config to work on yosemite 2016-05-25 16:06:14 -07:00
Todd Gamblin
76d42b5200 Merge pull request #982 from trws/rust
Rust
2016-05-25 15:15:51 -05:00
Gregory Becker
0f40174723 added test platform 2016-05-25 12:28:59 -07:00
Joseph Ciurej
734fb459a4 Fixing a small bug with metis@4+shared installs on the Mac platform. 2016-05-25 12:27:52 -07:00
Gregory Becker
3a68dd2011 (hopefully) final fixes of the merge 2016-05-25 12:22:16 -07:00
Gregory Becker
74dc7ffe4d updated documentation for cflags PR 2016-05-25 10:56:12 -07:00
Peter Scheibel
dd26c0bbcc merge from develop 2016-05-24 18:56:44 -07:00
Joseph Ciurej
483ec0d762 Added preliminary improved testing code for METIS@:4. 2016-05-24 16:13:52 -07:00
Joseph Ciurej
c9ba73d931 Added staging support and improved error handling for METIS@:4 installs. 2016-05-24 16:05:29 -07:00
Joseph Ciurej
b5d0a38860 Fixed a few linking/testing bugs in the METIS@:4 install method. 2016-05-24 15:03:21 -07:00
Greg Lee
1bca69f272 updated launchmon url and version 2016-05-24 14:54:09 -07:00
Joseph Ciurej
064d3584c0 Updating 'metis' and 'parmetis' to conform to PEP8 standards. 2016-05-24 12:28:05 -07:00
Joseph Ciurej
0ef6843d85 Improved MPI path specification for ParMETIS using PR #893 features. 2016-05-24 12:28:05 -07:00
Joseph Ciurej
9c95ec0b29 Updated and added new versions to the METIS/ParMETIS packages.
- Added a 'url_for_version' function to the METIS/ParMETIS packages.
- Added installation support for METIS@5.0.2 and ParMETIS@4.0.2.
- Changed the 'double' variant to 'real64' to make it more consistent
  with the 'idx64' variant naming.
- Removed an unnecessary dependency on gdb.
2016-05-24 12:28:05 -07:00
alalazo
561a4fbeea Merge branch 'develop' of https://github.com/LLNL/spack into features/module_file_explicit_load 2016-05-24 15:48:02 +02:00
alalazo
84707ed926 modules : it's possible to add suffixes to module files based on constraint 2016-05-24 15:23:52 +02:00
Todd Gamblin
6fba102d7d Merge pull request #985 from davydden/update/octave
octave: add missing dependencies and update to 4.0.2
2016-05-24 01:24:31 -05:00
Gregory Becker
513aae5ef8 fixed bug where earlier test was blowing away environment, causing an error on which('modulecmd') 2016-05-23 17:39:06 -07:00
Gregory Becker
1da6bbd146 Fixed a couple more bugs 2016-05-23 17:25:54 -07:00
Gregory Becker
d438ea0880 'Ugly merge because I mishandled git
Merge branch 'save' into features/newarch
2016-05-23 16:57:54 -07:00
Gregory Becker
d7612e7aaa Fixed errors caught by spec and concretize tests 2016-05-23 16:54:41 -07:00
Mario Melara
6c352132d0 Started writing documentation for architecture. Might need a couple more drafts 2016-05-23 14:28:00 -07:00
Denis Davydov
c78349a3a4 octave: fix formatting 2016-05-23 15:08:10 +02:00
Denis Davydov
ce3146e91a octave: add missing dependencies and update to 4.0.2 2016-05-23 14:50:06 +02:00
alalazo
0890ac4507 modules : explicit module file load from configuration files 2016-05-23 10:54:48 +02:00
Todd Gamblin
3ab56a188e Fixes #980: really slow spack spec performance
- `spack spec dealii` now takse seconds rather than 18 minutes.

- Slow hash (`dag_hash`) was accidentally inserted into the fast hash
  (`__hash__`).

- Do not put the slow hash in the fast hash.
2016-05-22 18:33:13 -07:00
Tom Scogland
00de72272d rust compiler/builder package, new llvm variants 2016-05-22 11:16:00 -07:00
Tom Scogland
9bd4bc02d6 fixing warning for package fetch 2016-05-22 11:16:00 -07:00
Tom Scogland
425beb4d97 updates for rust-bindgen 2016-05-22 11:16:00 -07:00
Tom Scogland
404b7c7c4f initial rust support 2016-05-22 11:16:00 -07:00
Nicolas Richart
4c87ef915f First try at OpenFOAM-extend 2016-05-22 18:55:29 +02:00
Todd Gamblin
d087086581 update documentation. 2016-05-21 14:33:05 -07:00
Mario Melara
c3767d593d compiler list is sorted in descending order, in order to get most up to date version we check from the beginning of the list 2016-05-20 15:48:13 -07:00
Erik Schnetter
09eed08b9c Auto-detect verbs location 2016-05-20 16:24:48 -04:00
alalazo
7303c387e8 autopep8 : fixed style 2016-05-20 10:34:11 +02:00
alalazo
b485ca8198 find : added unit tests, exits with 1 if -E and -e are given 2016-05-20 10:32:46 +02:00
Todd Gamblin
d94972503a Merge pull request #964 from davydden/update/tbb
tbb: add 4.4.4; raise InstallError when building 4.4.3 with GCC6.1
2016-05-19 22:44:03 -07:00
Todd Gamblin
0514dd5ebd Merge pull request #979 from epfl-scitas/packages/scotch+metis
Adding `+metis` variant to scotch + changes for esmumps
2016-05-19 20:06:47 -07:00
Mario Melara
175a042fd3 Changed rpaths method so that it only grabs rpaths using the compiler module name instead of PrgEnv-x module name 2016-05-19 16:42:13 -07:00
Nicolas Richart
2e77cc635e missing @ in version definition 2016-05-20 00:51:58 +02:00
Nicolas Richart
a233ed2de7 changes scotch package to make he coverage test pass 2016-05-20 00:42:34 +02:00
Nicolas Richart
a51566ec6e changes to simplify the esmumps variant for version < 6.0.0 + typos corrections, according to the remarks on PR #979 2016-05-20 00:31:12 +02:00
Mario Melara
36450b9bc9 Adding link_paths to craype compilers 2016-05-19 14:25:50 -07:00
Gregory Becker
19c8a52fe1 fixed spec syntax test 2016-05-19 09:53:49 -07:00
Nicolas Richart
1bf306bbbd Adding +metis variant to scotch + minor changes 2016-05-19 17:26:44 +02:00
Brett Viren
126fc10b9d Remove view print for now. 2016-05-19 08:36:18 -06:00
Gregory Becker
63459ab0c7 Fixed some of the bugs 2016-05-18 18:21:52 -07:00
Gregory Becker
01d5ffcd87 Fixed the first set of merge bugs 2016-05-18 17:42:11 -07:00
Mario Melara
16431f7a4c Merge branch 'features/newarch' of https://github.com/NERSC/spack into features/newarch 2016-05-18 17:26:30 -07:00
Mario Melara
b25da51638 Changed unsatisfiable architecture test 2016-05-18 17:26:06 -07:00
Mario Melara
6926f4d0da Changed arch tests to new spec target= os= 2016-05-18 17:23:10 -07:00
Gregory Becker
5417f1cdc6 more merge work 2016-05-18 17:21:03 -07:00
Gregory Becker
b1e5eafb80 more merge work 2016-05-18 17:18:26 -07:00
Gregory Becker
deb5011d08 more merge work 2016-05-18 17:14:16 -07:00
Mario Melara
b4b7942230 Moved searching of flags into get compilers in compilers_for_spec 2016-05-18 17:07:23 -07:00
Mario Melara
9f8ff32bcc Got rid of ifdefs, changed parameters for Compiler: added kwargs 2016-05-18 17:05:11 -07:00
Mario Melara
faa0f2a13c got rid of ifdef 2016-05-18 17:01:59 -07:00
Gregory Becker
80310a3b7c Finished merge on these files 2016-05-18 16:50:50 -07:00
Todd Gamblin
c53b1be8b4 Merge pull request #977 from trws/explicit-docs
initial docs for find and flake8 cleanup
2016-05-18 15:20:23 -07:00
Gregory Becker
9f59c128be Partial merge of mainline develop 2016-05-18 15:13:40 -07:00
Tom Scogland
a1f8cc2817 peren-nesting fix in spec 2016-05-18 14:24:16 -07:00
Tom Scogland
29635b7bbd initial docs for find and flake8 cleanup 2016-05-18 14:04:39 -07:00
Adam J. Stewart
434ff28af4 Add STREAM benchmark package 2016-05-18 15:14:21 -05:00
Todd Gamblin
d391670755 Merge pull request #966 from verolero86/develop
Add option to disable VT support in openmpi package
2016-05-18 08:36:23 -07:00
Todd Gamblin
78c46aab35 Merge pull request #969 from Rombur/boost
Add boost 1.61.0
2016-05-18 08:35:51 -07:00
Todd Gamblin
637da63506 Merge pull request #948 from davydden/bugfix/astyle
astyle: fix filter command which failed on OSX with python 2.7.10
2016-05-18 08:35:01 -07:00
Todd Gamblin
af7785727b Merge pull request #968 from epfl-scitas/find_always_zero_pkgs
Fix : spack find
2016-05-18 08:25:04 -07:00
Bruno Turcksin
bbbffe7423 Add boost 1.61.0 2016-05-18 08:51:22 -04:00
alalazo
23c7089789 fixes #967, flake8 approved 2016-05-18 11:52:27 +02:00
alalazo
fcc30cbf30 fixes #967 2016-05-18 11:48:03 +02:00
Denis Davydov
267666cd97 formatting 2016-05-18 08:35:47 +02:00
Greg Lee
582d01784a added newdtags variant, default to false (i.e., remove --enable-new-dtags) 2016-05-17 21:18:34 -07:00
Todd Gamblin
d592a1655f Merge pull request #961 from xjrc/features/flake8-improvements
Enhancement Proposal: Exempt '@when' Functions from Style Redefinition Errors
2016-05-17 17:00:49 -07:00
Todd Gamblin
502420ceff Merge branch 'features/cflags' into develop
Conflicts:
	lib/spack/spack/cmd/find.py
	var/spack/repos/builtin/packages/ghostscript/package.py
2016-05-17 16:44:54 -07:00
Todd Gamblin
9d584d0c47 Tag Spack version 0.9
- Tagging a version to include all that's happened since 0.8.17

- This is in anticipation of merging `features/cflags` and
  `features/newarch`, which will break the spec format.

- 1.0 will likely come after those.
2016-05-17 16:06:43 -07:00
Todd Gamblin
15e9d5f96e Merge pull request #868 from trws/explicitly-installed
track whether a package was installed "explicitly"
2016-05-17 14:28:17 -07:00
Denis Davydov
1a187e73ae tbb: add 4.4.4; raise InstallError when building 4.4.3 with GCC6.1 2016-05-17 22:57:32 +02:00
Todd Gamblin
138307dd0c Merge pull request #955 from trws/lua-rework
complete lua rework
2016-05-17 13:21:51 -07:00
Todd Gamblin
6384264aa7 Merge pull request #963 from eschnett/eschnett/duplicate-providers
Remove duplicate providers that can concretize to the same result
2016-05-17 12:50:18 -07:00
Erik Schnetter
fcc4c1b2f2 Remove duplicate providers that can concretize to the same result
Patch generously provided by @becker33.

Closes #928.
2016-05-17 15:13:28 -04:00
Veronica G. Vergara Larrea
6c95a5d496 the right flag here is +, the default behavior is controlled in the variant 2016-05-17 14:37:36 -04:00
Adam J. Stewart
f16228d811 Add more install directories 2016-05-17 13:36:38 -05:00
becker33
3d9c8f4fd4 Merge pull request #952 from davydden/package/sed
sed: add package
2016-05-17 11:27:57 -07:00
Adam J. Stewart
631cbdbda8 Flake8 2016-05-17 13:22:00 -05:00
Adam J. Stewart
7b9b18f03c Add HPL benchmark package 2016-05-17 13:14:59 -05:00
Veronica G. Vergara Larrea
471950434e add a flag to openmpi to allow users to disable vt support 2016-05-17 13:40:01 -04:00
Todd Gamblin
1774c7a7b3 Merge pull request #958 from trws/golang-new
Golang new
2016-05-17 05:56:06 -07:00
Tom Scogland
80c02ad36a flake8-related cleanup 2016-05-17 05:30:35 -07:00
Tom Scogland
af4af94203 rework for gopath and bootstrapping 2016-05-17 05:21:11 -07:00
Joseph Ciurej
761c5c8450 Added line limit exemptions for 'variant' and 'version' directives.
Updated the 'scotch' package to use oneline 'variant' directives.
2016-05-16 12:14:57 -07:00
Joseph Ciurej
52c8bedb9c Updated style checking to ignore refinition errors for '@when' fxns.
Updated the Scotch package to conform to PEP8 standards and to test style checking improvements.
2016-05-16 11:09:44 -07:00
Todd Gamblin
a74bc9369b Merge pull request #953 from citibeth/150514-NetCDFCXX4
netcdf-cxx4: Update to latest released version 4.3.0
2016-05-16 10:58:27 -07:00
Gregory Becker
0fd9cdb861 Fixed config tests for new compiler config format 2016-05-16 09:56:07 -07:00
Elizabeth Fischer
65ff89a0b0 Placate flake8 demands. 2016-05-16 12:53:24 -04:00
Gregory Becker
7705603f73 Added more compilers to mock packages tests 2016-05-16 09:43:46 -07:00
Tom Scogland
62dd040a8f add GOPATH support
Also fixes flex to depend on bison for its yacc implementation.
2016-05-16 09:30:37 -07:00
Tom Scogland
8859a09cd2 handle explicit when requesting to install already installed packages 2016-05-16 08:08:40 -07:00
Tom Scogland
4acdfeae61 track whether a package was installed "explicitly"
Adds a new attribute in the database to track whether a package was
installed explicitly or not, where explicitly is the user running `spack
install <package>` and implicitly is it being installed as a dependency.
It also adds arguments to `spack find` to find these packages such that
it should be possible to query the packages that were installed
implicitly and are not currently depended upon any longer.
2016-05-16 08:08:40 -07:00
Brett Viren
1bbe6409e1 Merge remote-tracking branch 'upstream/develop' into view-fix-merge 2016-05-16 10:09:31 -04:00
Brett Viren
77a34ebdf9 flake8-clean. 2016-05-16 10:08:59 -04:00
Tom Scogland
9780427940 fixing more flake8 errors that only appear on travis... 2016-05-16 05:37:04 -07:00
Tom Scogland
dacedfcc0e formatting to appease flake8 2016-05-16 05:12:30 -07:00
Tom Scogland
52c359bc77 fix linking issue on ubuntu
Evidently some readline variants are built with only a dynamic dependency on
ncurses, this addresses that problem for such systems.
2016-05-16 03:36:31 -07:00
Todd Gamblin
53df9fbb4f Merge pull request #959 from davydden/bugfix/doxygen_ghostscript_graphviz
Bugfix/doxygen ghostscript graphviz
2016-05-16 00:12:59 -07:00
Todd Gamblin
0ffa959044 Merge pull request #957 from glennpj/turbomole_subprocess
Updated turbomole package file.
2016-05-16 00:12:19 -07:00
Denis Davydov
0fbf70d95d indentation fixes 2016-05-15 23:37:09 +02:00
Denis Davydov
459c647bc9 doxygen: add graphviz variant; enable flex and bison on OSX and they build fine 2016-05-15 19:43:01 +02:00
Tom Scogland
71d9911539 go cleanup, adding hub 2016-05-15 10:23:33 -07:00
Tom Scogland
b7aa47a178 remove debug print 2016-05-15 09:52:09 -07:00
Tom Scogland
c6524d0311 environment: fixed comment and default separator 2016-05-15 09:50:21 -07:00
Denis Davydov
a045154b5e graphviz: add missing dependency and fix installation on darwin 2016-05-15 18:34:50 +02:00
Denis Davydov
21d4f3a356 ghostscript: url was changed upstream 2016-05-15 18:33:06 +02:00
Greg Lee
c2ca5f44b4 flake8 fixes 2016-05-15 08:19:55 -07:00
Tom Scogland
2bfa4d7e4f removing comments
also randomly changed unnecessary licence block
2016-05-14 22:42:14 -07:00
Tom Scogland
577657b3f7 go rework
This commit includes:
* a new go package that uses gccgo to bootstrap the go toolchain
* env support added to Executable
* a new Go fetch strategy that uses `go get` to fetch a package and all
  of its deps
* A platinum searcher package that leverages the new go package and
  fetch strategy
2016-05-14 22:35:55 -07:00
Tom Scogland
0816e9554d adding go_compiler providers 2016-05-14 18:06:42 -07:00
Tom Scogland
915f91a619 moving go packages to the new path 2016-05-14 18:06:42 -07:00
Tom Scogland
0c33e8ac48 go and a basic go package 2016-05-14 18:06:41 -07:00
Tom Scogland
a2197f3a41 yet more sacrifices to the god of short-lines 2016-05-14 17:51:58 -07:00
Tom Scogland
f50439b990 appeasing the great vengeful flake8 gods 2016-05-14 17:49:06 -07:00
Tom Scogland
df30182a10 appeasing flake8 in environment 2016-05-14 17:39:59 -07:00
Tom Scogland
0668b6d7ba changes to appease flake8 for lua-luaposix package 2016-05-14 17:38:32 -07:00
Tom Scogland
21161a60ff changes to appease flake8 (mostly) for lua package 2016-05-14 17:38:13 -07:00
Glenn Johnson
fffc2d2765 Updated turbomole package file.
This PR updates the turbomole package file but does not introduce any
new funtionality. The updtes are:
- use spack interface for subprocess.PIPE and subprocess.Popen
- clean up based on flake8
- remove some extra whitespace
2016-05-14 19:33:45 -05:00
Tom Scogland
12e36ee0e7 fix merge error 2016-05-14 16:20:45 -07:00
Tom Scogland
b5979b13e3 complete lua rework, also module path fix
This is a complete rework of the lua package, it also allows the
environment modification classes to handle paths that are not separated
by colons, and uses the support for same in TCL modules as well.

The biggest difference is the handling for lua extension packages, which
now have their paths set correctly by the lua parent package, and have
access to both lua and luarocks as installation tools. See the luaposix
package for what should be required for most lua packages after this.
2016-05-14 16:18:26 -07:00
Elizabeth Fischer
efa506b235 Preparing spack setup command for merge. Try this out for a while... 2016-05-14 17:09:11 -04:00
Denis Davydov
c5a35acd67 sed: add package 2016-05-14 22:29:16 +02:00
Elizabeth Fischer
4bf9b168a5 netcdf-cxx4: Update to latest released version 4.3.0 2016-05-14 16:19:10 -04:00
Brett Viren
b3ede099e2 Document command. 2016-05-14 13:15:25 -04:00
Brett Viren
c98afe2205 Pick a better name for the 'spec' parameters. 2016-05-14 13:14:51 -04:00
Brett Viren
8078845273 Remove problematic tests, deal with this issue outside of PR #869. 2016-05-14 09:11:41 -04:00
Brett Viren
8ddc1f8977 Move from str.format() to string.Template. 2016-05-14 09:11:04 -04:00
Gregory L. Lee
e3cd0a67d0 address flake8 issues 2016-05-13 16:12:48 -07:00
Gregory L. Lee
e9b71872a8 addressed PR#946 comments from @adamjstewart 2016-05-13 15:16:07 -07:00
Mario Melara
fce6ecb05c Changed _proper_compiler_spec to return filtered list. Apparently filter returns a list rather than filtering the original list. Lead to compiler finding problems if user specified frontend compilers 2016-05-13 15:04:06 -07:00
Gregory Becker
f43cab0951 fixed pkgconfig issue 2016-05-13 14:39:20 -07:00
Todd Gamblin
4a6ec6377d Merge pull request #940 from gzagaris/feature/doxygen-version-1.8.11
Add doxygen version 1.8.11
2016-05-13 10:10:23 -07:00
Todd Gamblin
6ee21727de Merge pull request #949 from davydden/bugfix/openblas
openblas: use spack_cc/spack_f77 and add a note on compiler mixing
2016-05-13 10:00:57 -07:00
Denis Davydov
8db35ab9a2 openblas: use spack_cc/spack_f77 and add a note on compiler mixing 2016-05-13 17:28:30 +02:00
Denis Davydov
67999d1b1c astyle: fix filter command which failed on OSX with python 2.7.10 2016-05-13 17:13:45 +02:00
George Zagaris
e763eeacdd fix format in doxygen/package.py 2016-05-12 23:25:10 -07:00
Gregory L. Lee
b8a91db089 Intel software packages and license enhancements 2016-05-12 20:04:45 -07:00
Gregory Becker
4c9dd028d2 Fixed error causing hang in env/cc 2016-05-12 17:20:48 -07:00
Adam J. Stewart
088dce709e Make flake8 happy 2016-05-12 16:33:37 -05:00
Adam J. Stewart
ab41fd6692 Add bertini package
Also add missing dependency. Flex would not build for me without bison.
It complained about not being able to find `yacc`.
2016-05-12 16:21:06 -05:00
Todd Gamblin
5e13bba068 Fix #941: add copyright to new package files.
- also reworded the boilerplate a bit.
2016-05-12 10:30:13 -07:00
Todd Gamblin
d9cc1f85a5 Merge pull request #932 from adamjstewart/features/elk
Elk: Use new openmp_flag and mpi attributes
2016-05-12 09:05:41 -07:00
Adam J. Stewart
03307f91df Fix bug when compiling elk~mpi 2016-05-12 10:27:05 -05:00
Adam J. Stewart
3526d92660 Indentation fix 2016-05-12 10:27:05 -05:00
Adam J. Stewart
d7020434d9 Use new-ish blas_shared_lib and more flake8 fixes 2016-05-12 10:27:04 -05:00
Adam J. Stewart
e2e72b14b2 Use new openmp_flag and mpi attributes 2016-05-12 10:26:10 -05:00
George Zagaris
3ece0e7b76 Add doxygen version 1.8.11 2016-05-12 00:42:22 -07:00
Denis Davydov
68c681bb78 document blas and lapack usage in packages 2016-05-12 08:59:17 +02:00
Todd Gamblin
e7ced54369 Correct LLNL LGPL license template for clarity. 2016-05-11 21:22:25 -07:00
Todd Gamblin
14fe0b8ad2 Merge pull request #558 from adamjstewart/features/pgi
Add Licensed Software Support
2016-05-11 17:17:47 -07:00
Todd Gamblin
2dc49ee88d Merge pull request #938 from KineticTheory/pkg-moab
Provide new package: MOAB
2016-05-11 17:14:05 -07:00
Gregory Becker
45bf93405a Changed spec syntax for new parts from modules feature 2016-05-11 16:23:13 -07:00
Kelly (KT) Thompson
c5a19b57f7 Clean up formatting. 2016-05-11 16:33:57 -06:00
Gregory Becker
2e1810e3a7 re-merging develop 2016-05-11 15:26:09 -07:00
Gregory Becker
566fec4015 Fixed variants in new format and removed print statements from debugging 2016-05-11 14:56:41 -07:00
Kelly (KT) Thompson
8bec127a1d Attempt to fix formatting issues (flake8). 2016-05-11 14:00:44 -06:00
Kelly (KT) Thompson
9482ce1fce Remove some extraneous comments. 2016-05-11 12:39:20 -06:00
Kelly (KT) Thompson
e200a41d3d New package MOAB. 2016-05-11 12:34:33 -06:00
Gregory Becker
0b5836cfce Fixed flipped conditional in satisfies 2016-05-11 10:51:52 -07:00
Adam J. Stewart
c043275f1b Final flake8 changes 2016-05-11 11:46:41 -05:00
Todd Gamblin
9cf5404bb7 Merge pull request #937 from davydden/features/unit_tests
Features/package_test
2016-05-11 09:42:00 -07:00
Adam J. Stewart
5879f8207f Flake8 formatting changes 2016-05-11 11:32:08 -05:00
Adam J. Stewart
ee7ec4fa66 Move all licensing support to pre/post_install hooks 2016-05-11 11:32:08 -05:00
Adam J. Stewart
19f4b27fd2 Add documentation for packaging of licensed software 2016-05-11 11:32:08 -05:00
Adam J. Stewart
8ea5e946a2 Add Allinea packages 2016-05-11 11:32:08 -05:00
Adam J. Stewart
8bcb812529 Allow multiple license symlinks 2016-05-11 11:32:08 -05:00
Adam J. Stewart
2a11cb8b76 Use global licenses with local symlinks 2016-05-11 11:32:08 -05:00
Adam J. Stewart
6906911e85 Allow license files to use different symbols for comments 2016-05-11 11:32:08 -05:00
Adam J. Stewart
b63d11d5b0 Formatting consistency 2016-05-11 11:32:07 -05:00
Adam J. Stewart
5cb45c253e Bug fix 2016-05-11 11:32:07 -05:00
Adam J. Stewart
1b997f10a8 Add set_up_license function 2016-05-11 11:32:07 -05:00
Adam J. Stewart
8cba8d6d1d Add default global variables for licensing information 2016-05-11 11:29:30 -05:00
Adam J. Stewart
240c0643f2 Add NAG Fortran compiler package 2016-05-11 11:27:11 -05:00
Adam J. Stewart
82ce798f41 Bug fix 2016-05-11 11:27:11 -05:00
Adam J. Stewart
2fb128fb34 Add PGI Compiler Package 2016-05-11 11:27:11 -05:00
Todd Gamblin
0216fa2a00 Simplify /etc/spack/modules.yaml formatting. 2016-05-11 09:05:24 -07:00
Todd Gamblin
fd5d89b61c Merge branch 'custom_modulefiles_from_config' of https://github.com/epfl-scitas/spack into epfl-scitas-custom_modulefiles_from_config 2016-05-11 08:59:23 -07:00
Todd Gamblin
eaf046c6a4 Merge pull request #936 from hegner/bugfix/configsections
Improve error message for wrong config section names
2016-05-11 08:58:33 -07:00
alalazo
bb4b6c8ee2 flake 8 : fixed checks 2016-05-11 17:02:36 +02:00
Denis Davydov
eba264fcd0 fix formatting 2016-05-11 16:11:34 +02:00
alalazo
78ae5d7723 Merge branch 'develop' of https://github.com/LLNL/spack into features/custom_modulefile_from_config
Conflicts:
	lib/spack/spack/config.py
2016-05-11 16:11:19 +02:00
alalazo
22bb0562fe Revert "flake8 : fixed all issues?"
This reverts commit 71e49e289a.
2016-05-11 16:09:47 +02:00
alalazo
b215b19cae modules : added docs 2016-05-11 15:42:48 +02:00
Denis Davydov
361b629034 openblas: make unit test more robust by outputing only the solution vector from dgesv 2016-05-11 15:10:13 +02:00
Denis Davydov
809ded74c9 add functions for simple unit tests; refactor openblas to use them 2016-05-11 15:10:13 +02:00
Benedikt Hegner
0b7b25487f improve error message for wrong config section names 2016-05-11 13:29:27 +02:00
Todd Gamblin
3d3a520a7d update readme for flake8 checking 2016-05-11 02:59:08 -07:00
Todd Gamblin
6d6eb0f2d1 Remove config.py from flake checking for now. 2016-05-11 02:32:13 -07:00
Todd Gamblin
fc8d18ebdc Merge branch 'bugfix/config' of git://github.com/hegner/spack into hegner-bugfix/config 2016-05-11 02:31:20 -07:00
Todd Gamblin
9030541e4b Merge pull request #929 from epfl-scitas/differentiate_framework_from_packages
QA : make qa checking less painful
2016-05-11 02:26:07 -07:00
Todd Gamblin
78d25ad337 Add run-flake8 script.
- was missing the obvious.
2016-05-11 02:01:24 -07:00
Todd Gamblin
c512b37a4e format .flake8 more nicely. 2016-05-11 01:25:40 -07:00
Todd Gamblin
f158375054 .travis.yml uses a script now.
- user can run the same script.
2016-05-11 01:17:52 -07:00
Todd Gamblin
d7847ff768 Use just one flake8 file; mark package.py files to avoid E501 w/url. 2016-05-11 01:16:41 -07:00
Todd Gamblin
2aa4387eba Update code style checking.
- Exempt overlong URL lines from checks.
- Omit some of the more painful PEP items.
2016-05-11 00:07:42 -07:00
Benedikt Hegner
c1e6b52184 first round of coding rules 2016-05-11 00:28:12 +02:00
Benedikt Hegner
05b6c3f8cf add test for list parameters 2016-05-11 00:14:24 +02:00
Benedikt Hegner
6e462abb4d hmm... test before commit 2016-05-10 23:31:29 +02:00
Benedikt Hegner
5d477bc956 fix setting config for list parameters 2016-05-10 23:19:30 +02:00
Todd Gamblin
98faee1d5c Minor tweaks to flock docs. 2016-05-10 11:19:17 -07:00
Todd Gamblin
a49662276d Merge branch 'fix-doc-flock' of git://github.com/luca-heltai/spack into luca-heltai-fix-doc-flock 2016-05-10 11:10:07 -07:00
Luca Heltai
4cb91d6f7b Added documentation on lockf/flock. 2016-05-10 19:46:24 +02:00
alalazo
7d74e209f3 qa : this should still fail due to F821 2016-05-10 19:20:26 +02:00
alalazo
3f20014f33 qa : differentiate framework from packages 2016-05-10 18:45:11 +02:00
Todd Gamblin
3e717842c9 Merge pull request #924 from hegner/feature/python-diverse
Add a few more python packages
2016-05-10 09:44:32 -07:00
Todd Gamblin
836d081bca Merge pull request #927 from davydden/astyle_fix_ubuntu
astyle: compile with spack_cxx
2016-05-10 09:43:44 -07:00
alalazo
190c437980 qa : copied flake8 configuration, updated travis.yml 2016-05-10 18:38:30 +02:00
alalazo
979b53cab6 qa : modifying 2 packages and a framework file just for the sake of it 2016-05-10 18:33:07 +02:00
alalazo
965e7f471f Merge branch 'develop' of https://github.com/LLNL/spack into features/custom_modulefile_from_config 2016-05-10 18:11:42 +02:00
Tom Scogland
8fec824484 Merge pull request #769 from epfl-scitas/openmpi_variants
openmpi : added variants
2016-05-10 09:02:33 -07:00
Denis Davydov
c8d8860742 astyle: fix formatting 2016-05-10 18:01:19 +02:00
Todd Gamblin
c90ecc6847 Add F821 to ignore list.
- Consider removing this once names like `cmake` and `configure` are
  moved to a sensible namespace.
2016-05-10 08:58:30 -07:00
Benedikt Hegner
fa44cd5cef renaming py-Genshi into py-genshi 2016-05-10 17:30:44 +02:00
alalazo
71e49e289a flake8 : fixed all issues? 2016-05-10 17:19:22 +02:00
alalazo
c3f3f26632 modules : added warning if a user tries to add prerequisite with dotkit 2016-05-10 16:16:50 +02:00
alalazo
0b7c673205 modules : changed syntax for environment modifications 2016-05-10 15:48:37 +02:00
Benedikt Hegner
f5fb771573 fixing imports; configure commands aren't available at import time yet 2016-05-10 14:52:14 +02:00
Denis Davydov
cd9cdd6410 astyle: compile with spack_cxx 2016-05-10 13:37:57 +02:00
alalazo
f8f71b1c2c modules : prefix_inspections moved to modules.yaml 2016-05-10 13:37:03 +02:00
Benedikt Hegner
ad42579f08 addressing coding style rules 2016-05-10 13:17:36 +02:00
alalazo
c11a665ba1 Merge branch 'develop' of https://github.com/LLNL/spack into features/custom_modulefile_from_config 2016-05-10 12:44:24 +02:00
Todd Gamblin
1a563c2b31 Ignore "multiple spaces before operator" error. 2016-05-10 03:06:55 -07:00
Benedikt Hegner
aca5941a0e Add a few more python packages
py-Genshi
py-astroid
py-jinja2
py-logilab-common
py-markupsafe
py-mistune
py-prettytable
py-py2neo
py-storm
2016-05-10 11:48:18 +02:00
Todd Gamblin
8f4efeea97 Max line length of 79 chars. 2016-05-10 02:33:22 -07:00
alalazo
9eee71edf7 Merge branch 'develop' of https://github.com/LLNL/spack into features/custom_modulefile_from_config 2016-05-10 11:13:19 +02:00
Todd Gamblin
42edb6840e Merge pull request #905 from adamjstewart/features/rpath_flag
Allow compilers to specify their own rpath linking flags
2016-05-10 01:56:49 -07:00
Todd Gamblin
a2528a86b4 Merge pull request #692 from mathstuf/quoted-command-lines
executable: quote arguments
2016-05-10 01:42:26 -07:00
Todd Gamblin
35cf52d182 Merge pull request #707 from dhandeo/visit
VisIt v2.10.1
2016-05-10 01:40:27 -07:00
Todd Gamblin
8ce45d2161 Merge pull request #775 from epfl-scitas/fixes/config_update
fix: proper update of config file
2016-05-10 01:35:56 -07:00
Todd Gamblin
a1ebdf63f3 Merge pull request #812 from eschnett/eschnett/hdf5-check-install
Check the installed HDF5 library for consistency
2016-05-10 01:34:10 -07:00
Todd Gamblin
6c46a5d623 Merge pull request #807 from gartung/fftw-openmp
FFTW: openmp needs to be an option for clang build
2016-05-10 01:33:13 -07:00
Todd Gamblin
2a38ec4c93 Merge pull request #788 from citibeth/efischer/140416-UpdatePNetCDF
parallel-netcdf: Updated package
2016-05-10 01:31:57 -07:00
Todd Gamblin
57e495943f Merge pull request #757 from glennpj/extend_r
Make R extendable
2016-05-10 01:30:13 -07:00
Todd Gamblin
b1da3664ec Merge pull request #795 from adamjstewart/features/argcomplete
Add argcomplete python package
2016-05-10 01:29:08 -07:00
Todd Gamblin
87c772b117 Merge pull request #845 from davydden/openblas_cleanup_unit_test
openblas: fix a bug and cleanup the unit test
2016-05-10 01:28:49 -07:00
Todd Gamblin
ccccd7b60d Merge pull request #806 from davydden/openblas_openmp_clang
openblas: do not use OpenMP with Clang
2016-05-10 01:28:12 -07:00
Todd Gamblin
f21fcb3b88 Merge pull request #798 from jgalarowicz/osscbtf-changes
Update the main Krell Institute and Argo Navis Tech. packages for MPI…
2016-05-10 01:26:48 -07:00
Todd Gamblin
d2004a186c Merge pull request #825 from xjrc/packages/scotch
Update Package : Scotch
2016-05-10 01:26:21 -07:00
Todd Gamblin
69f6baf28e Merge pull request #842 from hegner/compiler_lookup_order
Bugfix - preserve lookup order in PATH when invoking 'spack compiler add'
2016-05-10 01:11:18 -07:00
Todd Gamblin
0f427ed334 Tweak nccmp to be more spack-compatible.
- Spack doesn't set F90, but it confuses the nccmp build.  Just remove
  it from the environment.

- TODO: should build environment unset this variable?
2016-05-10 01:07:34 -07:00
Todd Gamblin
1cc94a0f79 Merge branch 'efischer/160425-nccmp' of git://github.com/citibeth/spack into citibeth-efischer/160425-nccmp 2016-05-10 01:04:46 -07:00
Todd Gamblin
cbfba84aa2 Merge pull request #849 from brettviren/bugfix/share-pkgconfig
Add  to sub dirs checked for pkg-config files.
2016-05-10 00:59:01 -07:00
Todd Gamblin
1568e64f95 Merge pull request #862 from davydden/glib_libxcb_missing_dependencies
Glib libxcb missing dependencies
2016-05-10 00:57:27 -07:00
Todd Gamblin
5e471719a6 Merge pull request #907 from eschnett/eschnett/binutils-werror
Disable -Werror
2016-05-10 00:54:24 -07:00
Todd Gamblin
2fde72075f Merge pull request #918 from hegner/bugfix/bison
Add missing m4 dependency to bison
2016-05-10 00:54:04 -07:00
Todd Gamblin
e672e10219 Merge pull request #912 from citibeth/efischer/160506-NCO
nco: Added new package
2016-05-10 00:53:51 -07:00
Todd Gamblin
a996b8aa7f Merge pull request #919 from jppelteret/bugfix/gmsh-2
GMsh: Fix binary linking against its own libraries
2016-05-10 00:53:22 -07:00
Todd Gamblin
813fefbc71 Merge pull request #922 from bcouturi/gdbupdate
Added gdb 7.11 released on 24 Feb 2016
2016-05-10 00:53:00 -07:00
Todd Gamblin
e60f25f209 Move args to .coveragerc 2016-05-10 00:51:08 -07:00
Todd Gamblin
d3ade02c16 Make .style.yapf use 80 chars. 2016-05-10 00:51:08 -07:00
Todd Gamblin
81cb520b47 Make Travis badge use SVG. 2016-05-10 00:51:08 -07:00
Todd Gamblin
e9c83db42b Merge branch 'qa/coding_standard' of https://github.com/epfl-scitas/spack into epfl-scitas-qa/coding_standard 2016-05-10 00:50:45 -07:00
Todd Gamblin
e3115aa505 Kripke variants. 2016-05-10 00:31:06 -07:00
alalazo
474048ae8b openmpi : fixes #920, added sqlite as a dependency
The default for the variant `pmi` has been set to `False`
 `sqlite` is now a dependency if `+sqlite3`
2016-05-10 09:02:16 +02:00
alalazo
405b04efab Merge branch 'develop' of https://github.com/LLNL/spack into openmpi_variants 2016-05-10 08:40:26 +02:00
Denis Davydov
b063ab42bf openblas: fix and cleanup the unit test 2016-05-10 07:33:57 +02:00
Todd Gamblin
2e0ee5404d clean up Kripke package and dependencies. 2016-05-09 17:14:25 -07:00
Gregory Becker
c6ac709d70 WIP fixing all the things that broke when I changed the anonymous spec names 2016-05-09 17:06:21 -07:00
Todd Gamblin
92b7534885 Merge branch 'features/kripke' of git://github.com/tzislam/spack into tzislam-features/kripke 2016-05-09 17:00:47 -07:00
Tanzima Z. Islam
23ec6c6bb0 Removed FIXME comments 2016-05-09 16:34:27 -07:00
Gregory Becker
a7026da45c cleanup 2016-05-09 16:24:26 -07:00
Gregory Becker
222c84d9be Changed anonymous specs to have name=None instead of empty string 2016-05-09 16:22:17 -07:00
Tanzima Z. Islam
045e5bd458 Adding a new package: Kripke from the public tar ball 2016-05-09 16:22:07 -07:00
Adam J. Stewart
6665a996e6 Add documentation for rpath_flag handling 2016-05-09 17:04:14 -05:00
Adam J. Stewart
58733eb26a Comment change 2016-05-09 16:59:39 -05:00
Adam J. Stewart
b211829fb1 Testing typo 2016-05-09 16:59:39 -05:00
Adam J. Stewart
4473311bdb Allow compilers to specify their own rpath linking flags 2016-05-09 16:59:39 -05:00
Todd Gamblin
cbae98670b Merge pull request #882 from davydden/openmp_compiler_flag
Compiler::openmp_flag()
2016-05-09 14:42:37 -07:00
Joseph Ciurej
ceab445b9f Integrated improvements from PR #893 to remove hardcoded MPI path. 2016-05-09 14:39:42 -07:00
Joseph Ciurej
88d2f6b83a Enabled the '+esmumps' variant for 'scotch@:6.0.0'.
Added support for 'scotch@6.0.0'.
2016-05-09 14:19:42 -07:00
Joseph Ciurej
7e6be184bc Updated and fixed the Scotch package.
- Fixed a bug that was causing shared library usage to fail when linking with another application.
- Updated the repository URL to allow for more general version downloading.
- Added installation support for version 5.1.10b.
- Cleaned up the installation file to make it a bit easier to follow and modify.
2016-05-09 14:19:42 -07:00
Ben Couturier
3948b082ad Added gdb 7.11 2016-05-09 22:32:46 +02:00
Denis Davydov
7a2d65967c wrap tty.die to 80 chars 2016-05-09 22:04:34 +02:00
Jean-Paul Pelteret
970196d825 GMsh: Fix binary linking against its own libraries
GMsh binary now links against full path name of libraries. This fixes
problems, such as `dyld: Library not loaded: libGmsh.2.11.dylib`, when
running the executable.
2016-05-09 14:23:07 +02:00
Benedikt Hegner
6e07f46df8 add missing m4 dependency to bison 2016-05-09 14:02:41 +02:00
Todd Gamblin
73107d6b0f cleanup 2016-05-09 03:40:34 -07:00
Todd Gamblin
0c853ac3ea Make _hash private to discourage access; fix dag_hash length handling. 2016-05-09 03:39:08 -07:00
Todd Gamblin
7151fd8836 Restore cc from mainline; clean up some cflags stuff. 2016-05-09 03:37:27 -07:00
alalazo
3d7684277a Merge branch 'openmpi_variants' of github.com:epfl-scitas/spack into openmpi_variants
Conflicts:
	var/spack/repos/builtin/packages/openmpi/package.py
2016-05-09 10:56:26 +02:00
alalazo
497ed9f933 Merge branch 'develop' of https://github.com/LLNL/spack into openmpi_variants
Conflicts:
	var/spack/repos/builtin/packages/openmpi/package.py
2016-05-09 08:23:30 +02:00
Todd Gamblin
ea408cc0d0 Merge pull request #911 from castillo23/packages/crypto
add support for crypto version 5.6.1
2016-05-08 14:40:21 -07:00
Todd Gamblin
7145b72482 Merge pull request #914 from trws/packages-leading-to-neovim
pile of dependencies for neovim, including luajit and libuv
2016-05-08 14:37:51 -07:00
Todd Gamblin
bd63545b0c Merge pull request #913 from trws/mpi-should-have-pmi
add pmi support and process managers to the MPIs
2016-05-08 14:36:38 -07:00
Todd Gamblin
e2f390c5da Merge pull request #916 from jppelteret/bugfix/gmsh
Prevent GMsh from installing in custom prefix on OSX
2016-05-08 14:35:50 -07:00
Jean-Paul Pelteret
95c7f4fba3 Fixes #915 2016-05-08 16:53:31 +02:00
Denis Davydov
72b91758c9 openblas: raise an error when using +openmp with clang; set +openmp to false by default 2016-05-08 16:51:06 +02:00
Brett Viren
f1900f6a7b Add a 'print' view allowing genreation of arbitrary strings based on format using package/spec parameters. 2016-05-08 10:25:21 -04:00
Brett Viren
2d1430da13 Address all coments in @trws's latest comment in PR #869.
I addressed them by factoring the code better to follow the visitor
pattern.  This will allow actions to be easily added in the future.
These may not even be file sytsem views.  One could add actions to
generate shell init scripts, JSON DAG-dumpers, GraphViz DOT file
generators, etc (yes, some of these are alread in there - just to give
the idea).

Also added is a top-level test

 $ source share/spack/setup-env.sh
 $ ./share/spack/examples/test_view.sh

Read the top of that script first.
2016-05-07 18:24:24 -04:00
Massimiliano Culpo
7d5bb088b4 Merge branch 'develop' of https://github.com/LLNL/spack into openmpi_variants
Conflicts:
	var/spack/repos/builtin/packages/openmpi/package.py
2016-05-07 15:08:27 +02:00
Gregory Becker
d392056457 Cleaning up print statements for debugging 2016-05-06 18:05:30 -07:00
Gregory Becker
1523ebe9f7 Working properly to display but not reuse old specs from yaml 2016-05-06 18:03:43 -07:00
Tom Scogland
22afc6dadd pile of dependencies for neovim, including luajit and libuv 2016-05-06 15:33:26 -07:00
Tom Scogland
7ec28231d9 Merge pull request #906 from adamjstewart/features/xerces-c
Remove FIXME comments
2016-05-06 15:30:09 -07:00
Tom Scogland
1de110fbba Merge pull request #794 from adamjstewart/features/jpeg
Add latest jpeg version
2016-05-06 15:20:43 -07:00
Tom Scogland
7dbf6f97f6 Merge pull request #841 from eschnett/eschnett/hwloc
Update hwloc to 1.11.3
2016-05-06 15:19:16 -07:00
Tom Scogland
1cf2526a79 Merge pull request #865 from davydden/silver_searcher_dependencies
the_silver_searcher: add missing dependency
2016-05-06 15:18:50 -07:00
Tom Scogland
86449790fe add pmi support and process managers to the MPIs 2016-05-06 15:15:40 -07:00
Elizabeth Fischer
c82db2116b nco: Added new package 2016-05-06 17:42:42 -04:00
Cecilia W. Castillo
7bf724b1d3 add support for crypto version 5.6.1 2016-05-06 14:14:13 -07:00
Tanzima Z. Islam
9f212e7201 Adding a new package file for Kripke 2016-05-06 13:50:34 -07:00
Gregory Becker
06b9433351 Fixed previous commit 2016-05-06 12:35:43 -07:00
Gregory Becker
bc087cfefb Fixed database to account for hashes when reading install records 2016-05-06 12:28:46 -07:00
Gregory Becker
9f37e4c907 Made spec hashes immutable once concrete -- improved 2016-05-06 12:05:51 -07:00
Gregory Becker
addcde4f35 Made spec hashes immutable once concrete 2016-05-06 12:05:27 -07:00
Gregory Becker
2f821b9e9b temp 2016-05-05 18:13:56 -07:00
Erik Schnetter
db80c5e97e Disable -Werror
This leads to problems if new compiler versions report new kinds of warnings.
2016-05-05 21:11:54 -04:00
Gregory Becker
9a39ccea8f Every old spec has empty compiler flags 2016-05-05 17:49:30 -07:00
Gregory Becker
1bb7bfaf7f Versioning the database -- automatic reindex 2016-05-05 17:38:51 -07:00
Gregory Becker
3fc1344865 temp 2016-05-05 17:11:09 -07:00
Gregory Becker
11b62114bb versioning the database 2016-05-05 16:58:00 -07:00
Gregory Becker
44f089508b Changed other packages to fit new syntax 2016-05-05 15:40:22 -07:00
Gregory Becker
d45b2c7947 Fixed openssl to work with new syntax 2016-05-05 15:36:48 -07:00
Elizabeth Fischer
6a48385111 Keep users environment in the spack setup script (spconfig.py). This is important to avoid breaking things that require module loads to work; for example, non-activate Python packages. 2016-05-05 17:48:24 -04:00
Adam J. Stewart
1203a14563 Remove tutorial comments 2016-05-05 14:01:21 -05:00
Todd Gamblin
9fb1a9537d Merge branch 'develop' into features/cflags 2016-05-05 10:49:15 -07:00
Todd Gamblin
407920e40a Merge pull request #904 from robertdfrench/bbcp
BBCP
2016-05-05 10:39:32 -07:00
Robert D. French
18d2b28c49 Build and install BBCP
Build and install BBCP

Use correct destination for install
2016-05-05 10:58:24 -04:00
Denis Davydov
c37ea9aff5 document usage of compiler flags properties 2016-05-05 11:56:58 +02:00
Denis Davydov
f84f04591b substitute cxx14_flag by a property with the same name to be overridden in derived classes 2016-05-05 10:48:31 +02:00
Denis Davydov
c6fb6bde40 remove cxx11_flag from Compiler as it is now substituted by a property with the same name 2016-05-05 10:47:02 +02:00
Denis Davydov
ddcb97f953 add a temporary Nag.cxx11_flag property 2016-05-05 10:44:41 +02:00
Denis Davydov
473a5542be compiler: make default openmp_flag() and cxx11_flag() die when these properties are not implemented in a derived class 2016-05-05 10:44:41 +02:00
Denis Davydov
30b65d3114 fix comment in Compiler class 2016-05-05 10:44:41 +02:00
Denis Davydov
e28ca3922f compiler: cleanup Nag.cxx11_flag and Pgi.cxx11_flag 2016-05-05 10:44:41 +02:00
Denis Davydov
d5a760776a compiler: add default implementation of openmp_flag() and css11_flag() 2016-05-05 10:44:41 +02:00
Denis Davydov
6a418cfb8d compiler: simplify Clang.is_apple 2016-05-05 10:44:41 +02:00
Denis Davydov
f2f1c49c90 compilers: one more missing import statement 2016-05-05 10:44:41 +02:00
Denis Davydov
07fd0ccc9a compiler: add Clang.is_apple property which checks if Clang is from Apple or not using version 2016-05-05 10:44:41 +02:00
Denis Davydov
592045cd54 compilers: make Intel::openmp_flag() return -openmp and -qopenmp based on the compiler version 2016-05-05 10:44:41 +02:00
Denis Davydov
3cd3052c56 compilers: minor fixes to Clang::cxx11_flag() and Clang::openmp_flag() 2016-05-05 10:44:41 +02:00
Denis Davydov
c078deaab1 compilers: add missing import statements 2016-05-05 10:44:41 +02:00
Denis Davydov
9776dc0433 compilers: add openmp_flag() method 2016-05-05 10:44:41 +02:00
Denis Davydov
2cdfe14e5a compilers: make sure cxx11_flag() is defined for all compilers 2016-05-05 10:44:41 +02:00
Todd Gamblin
13e52962ee Merge pull request #802 from gartung/std-cpp14
Handle c++11 and c++14 correctly
2016-05-05 01:41:55 -07:00
Todd Gamblin
10b0cb108c Merge pull request #893 from davydden/mpi_dependent_env
Introduce variables for MPI compiler wrappers and document their usage
2016-05-05 01:40:11 -07:00
Denis Davydov
c3bc4d6195 mpich: remove module.mpicc as no formula is using it and it is a duplicate of self.spec.mpicc 2016-05-05 10:28:04 +02:00
Denis Davydov
b12fb7ebc8 mpi: move mpicc/mpicxx/mpifc/mpif77 to setup_dependent_package() 2016-05-05 10:24:32 +02:00
Todd Gamblin
56557f7ff6 Merge pull request #871 from davydden/dealii_updated_dependencies
dealii: add new dependency -- gsl
2016-05-05 01:00:55 -07:00
Todd Gamblin
4ee1bca1d9 Merge pull request #881 from KineticTheory/pkg-superlu-dist
+ Add version 5.0 download for SuperLU_DIST.
2016-05-05 00:57:24 -07:00
Todd Gamblin
c6a7af3fa7 Merge pull request #885 from davydden/p4est_test_option
p4est: put back +tests variant
2016-05-05 00:53:58 -07:00
Todd Gamblin
d00680a883 Merge pull request #886 from eschnett/eschnett/openblas-make
Disable OpenBLAS's overriding of our "make -jN" option
2016-05-05 00:53:47 -07:00
Todd Gamblin
c7f23ca0d6 Merge pull request #887 from adamjstewart/features/openmpi
Re-add hwloc as a dependency of openmpi
2016-05-05 00:53:10 -07:00
Todd Gamblin
d0acc9827a Merge pull request #884 from davydden/libtool_missing_dependency
libtool: add a missing dependency
2016-05-05 00:52:39 -07:00
Todd Gamblin
c1010c3422 Merge pull request #889 from adamjstewart/features/netcdf
Remove hdf5 ~cxx constraint on netcdf
2016-05-05 00:51:49 -07:00
Todd Gamblin
1181ad2bf0 Merge pull request #891 from adamjstewart/features/gcc
Add latest version of GCC
2016-05-05 00:51:05 -07:00
Todd Gamblin
053e687e79 Merge pull request #800 from eschnett/eschnett/qthreads
Add some qthreads patches
2016-05-05 00:49:32 -07:00
Todd Gamblin
7ac8ddde96 Merge pull request #897 from robertdfrench/https-urls-for-subversion
Build Subversion with HTTP/S support
2016-05-05 00:20:59 -07:00
Todd Gamblin
3dd5b2845b Merge pull request #900 from eschnett/eschnett/flex
Update Flex to 2.6.0
2016-05-05 00:11:50 -07:00
Todd Gamblin
55f1cafb70 Merge pull request #899 from LLNL/bugfix/github-808-mrnet
added git commit for clang support
2016-05-05 00:11:19 -07:00
Gregory Becker
90b7b7ba5c Reworked compiler finding/storing/format to allow for multiple compilers with the same spec for different operating systems. TODO: fix config tests. All others up to date 2016-05-04 21:42:59 -07:00
Elizabeth F
2243de9e2f Make quiet mode default for spack spconfig 2016-05-04 23:39:27 -04:00
Dhanannjay 'Djay' Deo
ef202fbe0c Build static and shared libraries for silo 2016-05-04 22:50:15 -04:00
Dhanannjay 'Djay' Deo
45e77e7739 Correctly extend std_cmake_args 2016-05-04 22:49:47 -04:00
Todd Gamblin
076ed08bdd Merge pull request #890 from adamjstewart/features/openssl
Add latest OpenSSL versions
2016-05-04 19:16:21 -07:00
Dhanannjay 'Djay' Deo
1785de0f31 remove hdf5 which is silo actually a silo dependency 2016-05-04 22:08:01 -04:00
Erik Schnetter
27de2a42d9 Update Flex to 2.6.0 2016-05-04 20:27:58 -04:00
Greg Lee
514a8c737a added git commit for clang support 2016-05-04 16:38:43 -07:00
Dhanannjay 'Djay' Deo
32f7b06a36 Add version 2.10.2 2016-05-04 18:14:38 -04:00
Patrick Gartung
67d64b804f more succinctly 2016-05-04 23:53:10 +02:00
Robert.French
bfe009f98d Subversion uses serf for http repos
Add Scons package

Add serf package

Subversion uses serf for http repos
2016-05-04 16:16:36 +00:00
Denis Davydov
796bf5f85c mvapich2: add self.spec.[mpicc|mpicxx|mpifc|mpif77] 2016-05-04 17:33:19 +02:00
Patrick Gartung
7eb463a66e only fail when it is apples clang 2016-05-04 15:05:56 +02:00
Denis Davydov
f417b1cf90 p4est: use mpicc,mpicxx,mpifc,mpif77 compiler variables instead of hardcoding names 2016-05-04 11:51:45 +02:00
Denis Davydov
c3317819cb mpi: add self.spec.[mpicc|mpicxx|mpifc|mpif77] to avoid hardcoding MPI wrappers names 2016-05-04 10:37:52 +02:00
Adam J. Stewart
88fa9084e2 Add latest version of GCC 2016-05-03 15:58:14 -05:00
Adam J. Stewart
a3d2d0cd22 Add latest OpenSSL versions 2016-05-03 15:44:23 -05:00
Adam J. Stewart
eaa45d8a9a Remove hdf5 ~cxx constraint on netcdf 2016-05-03 13:28:38 -05:00
Kelly (KT) Thompson
f4260da1c2 Mark SuperLU_DIST version 4.3 as the preferred version since petsc and trilinos are not tested with 5.0. 2016-05-03 12:05:35 -06:00
David Poliakoff
f850e4d2d4 Merge pull request #880 from DavidPoliakoff/feature/package/cnmem
Feature/package/cnmem
2016-05-03 11:02:17 -07:00
Adam J. Stewart
51c6867f72 Re-add hwloc as a dependency of openmpi 2016-05-03 10:30:35 -05:00
Erik Schnetter
40d578be95 Disable OpenBLAS's overriding of our "make -jN" option 2016-05-03 10:38:05 -04:00
Denis Davydov
0583bc9859 p4est: put back +tests variant 2016-05-03 16:21:10 +02:00
Denis Davydov
98f8192bde libtool: add a missing dependency 2016-05-03 15:15:55 +02:00
Kelly (KT) Thompson
89621faaea + Add version 5.0 download for SuperLU_DIST. 2016-05-02 20:21:03 -06:00
David Poliakoff
e74cc0df27 Updated docstring 2016-05-02 15:53:43 -07:00
David Poliakoff
afef04bb54 Added cnmem package` 2016-05-02 15:49:37 -07:00
Todd Gamblin
60048c6550 Merge pull request #879 from DavidPoliakoff/feature/package/raja
Added a package for the RAJA system
2016-05-02 15:18:23 -07:00
David Poliakoff
179d308fe0 Added a package for the RAJA system 2016-05-02 14:32:57 -07:00
Todd Gamblin
372a455bea Merge pull request #873 from jppelteret/bugfix/paradiseo
Add extra dependencies for Paradiseo
2016-05-02 09:57:30 -07:00
Todd Gamblin
aa7444cd3d Merge pull request #870 from jppelteret/bugfix/glm
Add missing dependency for glm
2016-05-02 09:57:11 -07:00
Todd Gamblin
4fecf33416 Merge pull request #877 from vishalkenchan/develop
bugfix: missing dependencies (m4) added for netcdf and autoconf
2016-05-02 09:56:44 -07:00
Denis Davydov
2eb4248f90 dealii: fix a bug where P4EST_DIR was unconditionally requested 2016-05-02 18:53:13 +02:00
Denis Davydov
cde1d18399 dealii: add new dependency -- gsl 2016-05-02 18:53:13 +02:00
Todd Gamblin
999dda8f83 Merge pull request #708 from adamjstewart/fixes/qt
Prevent use of system GTK+
2016-05-02 09:41:51 -07:00
Todd Gamblin
568800c045 Merge pull request #875 from jppelteret/features/adol-c
Added Adol-C package
2016-05-02 09:30:23 -07:00
Adam J. Stewart
7255f6969b Merge branch 'develop' into features/argcomplete 2016-05-02 11:29:52 -05:00
Adam J. Stewart
17fa1b5007 Un-fix version 3 2016-05-02 11:28:20 -05:00
Adam J. Stewart
61e5ee5d63 Prevent use of system GTK+ 2016-05-02 11:28:20 -05:00
Massimiliano Culpo
cfc25d0a92 Merge branch 'develop' into openmpi_variants 2016-05-02 18:26:05 +02:00
Adam J. Stewart
9c3d8dae57 Add latest jpeg version 2016-05-02 11:17:38 -05:00
Todd Gamblin
6dad59cb92 Merge pull request #810 from adamjstewart/features/hydra
Add hydra package
2016-05-02 09:16:54 -07:00
Adam J. Stewart
4e2154e58f Add argcomplete python package 2016-05-02 11:16:29 -05:00
Adam J. Stewart
c110865bf2 Remove OpenMPI dependency on hwloc 2016-05-02 11:06:33 -05:00
Adam J. Stewart
b99c8b641a Add hydra package 2016-05-02 11:06:33 -05:00
Vishal Boddu
e111add17f missing dependencies (m4) added for netcdf and autoconf 2016-05-02 14:31:02 +02:00
Jean-Paul Pelteret
5ae7276682 Fixes to installation with OpenMP (tested) and execution of test-suite 2016-05-02 11:01:14 +02:00
Brett Viren
26c5bc9d97 A few minimal test packages, fodder for testing 'spack view' command. 2016-05-01 17:13:44 -04:00
Brett Viren
346f102234 Bug fixes, tty tweaks. 2016-05-01 17:13:44 -04:00
Brett Viren
8c140f4725 Change the action from parameter to subcommand to fit Spack convention. 2016-05-01 17:13:43 -04:00
Jean-Paul Pelteret
631e235ef3 Added Adol-C package 2016-05-01 11:07:42 +02:00
Jean-Paul Pelteret
c33ffbae04 Add extra dependencies for Paradiseo. 2016-04-30 22:25:14 +02:00
Patrick Gartung
83108f815c Error out if +openmp used with OS X clang 2016-04-30 13:18:32 -05:00
Patrick Gartung
f8c14e1d98 Make openmp variant false by default. 2016-04-30 13:18:32 -05:00
Patrick Gartung
a588a1fd84 openmp needs to be an option for clang build 2016-04-30 13:18:32 -05:00
jppelteret
11596ec0f8 Merge branch 'develop' into bugfix/glm 2016-04-30 16:22:32 +02:00
Jean-Paul Pelteret
8fc43046eb Add missing dependency for glm 2016-04-30 12:11:10 +02:00
Brett Viren
a2b9a000dc Add add removal and status actions in addition to link and add various ways to filter what is done. 2016-04-29 15:12:09 -04:00
Todd Gamblin
c926214640 Merge pull request #867 from trws/cd-fix
switched test to use -d for location check
2016-04-29 09:56:21 -07:00
Tom Scogland
584501a1cc switched test to use -d for location check 2016-04-29 09:34:18 -07:00
Denis Davydov
3ad71700dd the_silver_searcher: add missing dependency 2016-04-29 09:52:49 +02:00
Denis Davydov
176b9febb4 libxcb: add missing dependencies 2016-04-29 09:06:15 +02:00
Denis Davydov
17f696d3b3 glib: add missing dependencies 2016-04-29 09:05:54 +02:00
becker33
3c10e3b502 Merge pull request #861 from trws/cd-fix
check that a target directory exists before committing to cd
2016-04-28 15:49:38 -07:00
Tom Scogland
10d8ed4d98 check that a target directory exists before committing to cd 2016-04-28 15:43:05 -07:00
Gregory Becker
4ba73dac34 Unit tests for cflags PR 2016-04-28 14:01:38 -07:00
Todd Gamblin
8cd13d4b35 Make arch command print out the platform. 2016-04-28 12:49:21 -07:00
Brett Viren
49956faab9 First try to make file system views of specs. 2016-04-28 14:54:14 -04:00
Gregory Becker
3b84345b77 Changed yaml format for node_dicts to mitigate future incompatibilities 2016-04-28 11:05:59 -07:00
Todd Gamblin
1b731e525f Merge pull request #703 from epfl-scitas/fixes/openssl_external
fix : no warning when installing 'openssl@external'
2016-04-28 10:25:35 -07:00
Todd Gamblin
c35994d5bf Merge pull request #850 from mathstuf/partial-downloads
fetch_strategy: download to temporary files
2016-04-28 10:22:43 -07:00
Todd Gamblin
b75a3e112b Merge pull request #855 from citibeth/efischer/160427-OpenblasFix
openblas: Added +fpic variant to package.
2016-04-28 10:19:36 -07:00
Gregory Becker
ae5198e5e7 Merged in current develop to cflags 042716 2016-04-27 19:38:51 -07:00
Elizabeth F
4d466fe879 spack setup: Fix broken module convenience settings. 2016-04-27 20:57:04 -04:00
Elizabeth F
71ca837ada Add '+fpic' variant. 2016-04-27 20:36:41 -04:00
Todd Gamblin
8773a0b747 Merge pull request #847 from epfl-scitas/features/test_install_with_time
test-install command : added elapsed time + xml is prettyprinted
2016-04-27 17:32:21 -07:00
Todd Gamblin
8617ceddf3 Merge pull request #857 from citibeth/eficher/160427-HDF-NetCDF
hdf5: Set preferred version, so as to not break NetCDF (for now).
2016-04-27 16:16:07 -07:00
Elizabeth F
62d806d512 hdf5: Set preferred version, so as to not break NetCDF (for now). 2016-04-27 19:03:26 -04:00
Elizabeth F
ee6a75c9b5 Added missing -lpthread to OpenBLAS check.
See: https://github.com/xianyi/OpenBLAS/wiki/faq#static_link
2016-04-27 18:44:54 -04:00
Ben Boeckel
e53571d2f0 fetch_strategy: download to temporary files
This supports graceful recovery if spack is killed via a signal (e.g.,
SIGINT) while downloading a file.

Fixes #287.
2016-04-27 14:49:27 -04:00
Brett Viren
b5ebd12fe2 Add to sub dirs checked for pkg-config files.
This lets me build against the pure-include package Eigen.
2016-04-27 13:45:05 -04:00
Massimiliano Culpo
b1ba869b37 test-install : fixed error in logic exposed by tests 2016-04-27 19:28:13 +02:00
Massimiliano Culpo
4846ab70d8 test-install : python 2.6 compatibility 2016-04-27 18:21:36 +02:00
Massimiliano Culpo
ec5bb88820 test-install : unit tests (hopefully) fixed for real 2016-04-27 18:06:41 +02:00
alalazo
42fab1591d test-install : fixed unit tests 2016-04-27 17:19:03 +02:00
alalazo
12dbd65f4c test-install : first draft that works 2016-04-27 13:56:32 +02:00
Benedikt Hegner
b7c064142e preserve lookup order in PATH when invoking 'spack compiler add' 2016-04-27 01:23:53 +02:00
Todd Gamblin
92afa52eec Merge pull request #804 from jppelteret/features/paradiseo
Added package for Paradiseo.
2016-04-26 13:00:09 -07:00
Todd Gamblin
d1a9328793 Merge pull request #824 from adamjstewart/features/ior
Add IOR benchmark package
2016-04-26 12:48:57 -07:00
Erik Schnetter
55d339194d Update hwloc to 1.11.3 2016-04-26 15:29:16 -04:00
Todd Gamblin
1d2916da8c Merge pull request #829 from davydden/openblas_unit_test
openblas: a small unit test to make sure Lapack symbols are compiled
2016-04-26 10:47:35 -07:00
Todd Gamblin
7fc69a6b51 Merge pull request #838 from davydden/dealii_dependencies
dealii: add missing dependencies
2016-04-26 10:34:00 -07:00
Todd Gamblin
237c843621 Merge pull request #837 from davydden/p4est_dependencies
p4est: add missing dependencies
2016-04-26 10:33:46 -07:00
Todd Gamblin
ef0fefc506 Merge pull request #836 from davydden/astyle_fix
astyle: fix installation of the binary
2016-04-26 10:33:24 -07:00
Todd Gamblin
9fb514ff81 Merge pull request #828 from glennpj/csvkit
Add py-csvkit package
2016-04-26 10:32:27 -07:00
Glenn Johnson
dfc0efa8ed Put f2py of py-numpy in python ignore list. (#827)
There are many python packages that depend on py-numpy. Each one of
those will have a copy of f2py that will need to be put in the ignore
list for activation. Thise PR adds f2py to the ignore list in the python
package.py file so that it does not have to be done for each package
that depends on py-numpy. This follows the model of what is done for
py-setuptools.

This PR also removes the f2py ignore expression for python packages
that were using it as it is no longer needed in the individual packages.
2016-04-26 10:32:14 -07:00
Glenn Johnson
b56bfcea96 Add the turbomole package. (#826)
* Add the turbomole package.
This package has three modes of operation that need to be selected
independently. This is handled with spack vaiants. Turbomole has a builtin MPI
implementation so it does not need to depend on an mpi provider when using the
+mpi variant.

* Whitespace cleanup.
2016-04-26 10:31:48 -07:00
Joseph Ciurej
8ec5e81186 Update Package : Zoltan (#833)
* Added preliminary implementations for the debug and shared variants.

* Fixed a few problems with the '+shared' variant of the Zoltan package.
Added support for a few more important Zoltan package versions.

* Fixed a minor compiler incompatibility issue with the '+shared+mpi' variants.
2016-04-26 10:24:36 -07:00
jppelteret
8e227f603d Fix: Add missing dependencies for gmp and eigen (#830)
See https://groups.google.com/forum/#!topic/spack/9JMDwafjBUs
2016-04-26 10:01:09 -07:00
Ben Boeckel
603467785b Compiler find docs (#831)
* docs: mention `spack compiler find`

* docs: fix some weird wording.
2016-04-26 10:00:54 -07:00
Geoffrey Oxberry
f70046e6b7 MFEM version 3.1 (#749)
MFEM is a free, lightweight, scalable C++ library for finite element
methods.

Includes lapack, hypre, metis, suite-sparse, mpi variants & tests for
serial and parallel versions.
2016-04-26 10:00:24 -07:00
alalazo
99b52e6e71 test-install : wip to add other information 2016-04-26 16:41:33 +02:00
Denis Davydov
0ff4120692 dealii: add missing dependencies 2016-04-26 15:06:21 +02:00
Denis Davydov
8a45aa4185 p4est: add missing dependencies 2016-04-26 12:52:49 +02:00
Denis Davydov
168f9c46ea astyle: fix installation of the binary 2016-04-26 09:18:39 +02:00
Jean-Paul Pelteret
17b7305086 Added package for Paradiseo. 2016-04-26 09:12:27 +02:00
Elizabeth Fischer
1a585a6c74 Added nccmp package 2016-04-25 22:25:08 -04:00
Denis Davydov
dd37959899 output with new lines 2016-04-25 16:21:19 +02:00
Ben Boeckel
ff9145f8a5 executable: quote arguments
This allows command line arguments with spaces to be shown. The quoting
madness is because a single quote cannot appear within a single quoted
argument on the command line. To do so, you have to stop the single
quote argument, double quote the single quote, then open the single
quote again:

    $ echo 'before'"'"'after'
    before'after

Fixes #174
2016-04-25 09:44:17 -04:00
Denis Davydov
42be50d10b add a test/output pair 2016-04-25 13:53:41 +02:00
Denis Davydov
b81cb554f5 openblas: a small unit test to make sure Lapack symbols are compiled 2016-04-25 13:30:20 +02:00
Glenn Johnson
2b7b7f6d97 Reformat description text. 2016-04-24 18:11:18 -05:00
Glenn Johnson
4e671c54ee Reformat the description. 2016-04-24 18:06:51 -05:00
Glenn Johnson
797af2e80f Add py-csvkit package
This adds the py-csvkit package and needed dependencies for working with
csv files.
2016-04-24 17:39:49 -05:00
Adam J. Stewart
a7ffffc336 Change homepage, explicitly disable 2016-04-24 17:14:33 -05:00
Ben Boeckel
ed16bd133a compiler: add "find" subcommand (#818)
And make "add" an alias to it.

Fixes #713.
2016-04-23 13:34:51 -07:00
Adam J. Stewart
22e4ee5604 Add OSU Micro-Benchmarks package (#822)
* Add OSU Micro-Benchmarks package

* Add workaround for GCC bug
2016-04-23 13:29:47 -07:00
Ben Boeckel
e32416430c Update git (#819)
* git: update to 2.8.0 final and add 2.8.1

* git: hard-depend on curl and expat

HTTP-based cloning is very prevalent now.
2016-04-23 12:18:58 -07:00
Elizabeth Fischer
248248c6b2 Added package: NCView (#791)
* ncview: Added package

* Removed FIXMEs
2016-04-23 12:15:53 -07:00
Erik Schnetter
4e062d86b4 Refine wget's OpenSSL configuration options (#786) 2016-04-23 12:15:32 -07:00
Joseph Ciurej
d701d2ccf3 Updated the Swig package file to include versions for all of the popular Swig releases. (#790) 2016-04-23 12:15:14 -07:00
Glenn Johnson
62d175c984 This commit explicitly sets libdir. This is necessary because different
systems use different defaults.
2016-04-23 12:30:34 -05:00
Erik Schnetter
0cbaecca60 Don't use subprocess module 2016-04-22 21:52:11 -04:00
Adam J. Stewart
e7d2fa7084 Add IOR benchmark package 2016-04-22 12:30:24 -05:00
alalazo
67a01ef2ee tcl : extended conflict to be an array of strings 2016-04-22 10:50:24 +02:00
Todd Gamblin
fa02f94ca4 Regression test for not adding RPATHs with ld -r (#809, #821)
- ld -r is only broken with rpaths on OSX; this tests that
  specific case.

- test should still work cross-platform.
2016-04-21 23:12:33 -07:00
Ben Boeckel
5c4bb69af9 xerces-c: update to 3.1.3 (#811)
The 3.1.2 tarball seems to have gone missing. Also switch to using bz2
rather than gz to reduce the download size.
2016-04-21 19:29:20 -07:00
Denis Davydov
a0989ad672 minor cleanup of environment-modules documentation (#814)
* minor cleanup of environment-modules documentation

* environment modules: update usage instructions
2016-04-21 19:26:19 -07:00
Denis Davydov
ef9347bcfb dealii: set DEAL_II_DIR when loading a module (#816) 2016-04-21 19:25:17 -07:00
Patrick Gartung
d5d1e89cbd remove use of unknown environment variable in lib/spack/env/cc (#821) 2016-04-21 19:15:54 -07:00
Erik Schnetter
867e1333d0 Remove outdated comment 2016-04-20 17:01:26 -04:00
Erik Schnetter
7c155f7456 Check the installed HDF5 library for consistency 2016-04-20 16:33:59 -04:00
Adam Lyon
e92da6a6ba Handle c++11 and c++14 correctly 2016-04-19 16:52:08 -05:00
Erik Schnetter
1acb2a1a09 Add some qthreads patches 2016-04-19 16:45:05 -04:00
alalazo
5deaaa278c modules : added a few unit tests 2016-04-19 14:25:12 +02:00
Jim Galarowicz
44321c5c24 Update the main Krell Institute and Argo Navis Tech. packages for MPI variant support, get source from github not sourceforge, tested external package usage, and general package clean-up 2016-04-18 16:46:15 -07:00
alalazo
bce276d573 fix : missing autoload, failing validation 2016-04-18 17:51:53 +02:00
alalazo
50b148ca22 modules : tcl modules handle 'conflict' directive. This should completely cover the functionality in #498 2016-04-18 13:22:50 +02:00
alalazo
18a241fe21 modules : added hook for module specific extensions 2016-04-18 13:22:31 +02:00
alalazo
c69acfa5c8 naming work correctly 2016-04-18 13:22:04 +02:00
alalazo
00f44d558a modules : started working on naming schemes and conflict 2016-04-18 13:21:41 +02:00
Kelly Thompson
dd84a57580 + On some systems, Dia also requires intltool. (#768) 2016-04-17 07:15:47 +02:00
Ben Boeckel
63bade7a0c metis: fix OS X install (#764)
Without this, the binaries use relative paths for loading which causes
them to not be found when running binaries. Not sure why the existing
hack wasn't working, but this fixes it the proper way.
2016-04-17 07:15:07 +02:00
Erik Schnetter
375de085e2 Make PAPI build on Darwin (#772)
* Make PAPI build on Darwin

- don't use <malloc.h>
- run install_name_tool

* Use fix_darwin_install_name
2016-04-17 07:14:34 +02:00
Erik Schnetter
fb4f361cd0 Update to version 4.1.0 (#785) 2016-04-17 07:12:52 +02:00
Kelly Thompson
523be30974 + Add CMake version 3.5.2. (#787) 2016-04-17 07:11:19 +02:00
Erik Schnetter
a25e33d96e Create lib directory 2016-04-17 06:50:15 +02:00
Elizabeth F
e03e87b791 1. Added variants to choose language interfaces. 2. Now produces relocatable code (+fpic) by default 2016-04-16 00:57:57 -04:00
alalazo
c005b5fe9c Added coverage badge pointing to LLNL/develop 2016-04-15 09:24:44 +02:00
alalazo
93c22dd978 Merge branch 'develop' of https://github.com/LLNL/spack into qa/coding_standard 2016-04-15 09:19:41 +02:00
Todd Gamblin
69f8d8fa7a Merge pull request #783 from adamjstewart/features/elk
Add Elk package
2016-04-14 18:34:03 +02:00
Adam J. Stewart
cf1914fc00 Also install species directory 2016-04-14 10:18:06 -05:00
Todd Gamblin
a73b7052c9 Merge branch 'osx-fixes' of git://github.com/mathstuf/spack into mathstuf-osx-fixes 2016-04-14 15:25:24 +02:00
Todd Gamblin
9e456acbab Merge pull request #779 from LLNL/bugfix/binutils-deps
binutils depends on flex and bison.
2016-04-14 15:23:35 +02:00
Todd Gamblin
01fab24c15 binutils depends on flex, bison, and m4 2016-04-14 11:47:35 +02:00
Todd Gamblin
d6a232dbe0 Merge pull request #767 from mathstuf/paraview-fixes
Paraview fixes
2016-04-14 11:29:46 +02:00
Todd Gamblin
f8543f7755 Merge pull request #780 from adamjstewart/fixes/hdf5
fortran2003 option has been removed from HDF5
2016-04-14 11:20:11 +02:00
Todd Gamblin
420a61491d Merge pull request #781 from jgalarowicz/qt3-fixes
Fix compile issues with new libpng versions and qt3 builds by using a…
2016-04-14 09:46:58 +02:00
Todd Gamblin
2bffd569d7 Merge pull request #782 from jgalarowicz/update-mrnet
Update mrnet with new version source recognition and add krell related patch controlled by a variant.
2016-04-14 09:45:40 +02:00
Jim Galarowicz
f9aafeee1e Loosen the boost requirement from a specific version that was specified in my initial commit. 2016-04-13 21:58:57 -07:00
Jim Galarowicz
2cf9ebc62c Fix compile issues with new libpng versions and qt3 builds by using an older version of libpng. In libpng, make older versions available. 2016-04-13 15:00:45 -07:00
Adam J. Stewart
5717cb981e fortran2003 option has been removed from HDF5 2016-04-13 15:03:03 -05:00
alalazo
1b4c4be151 modules : category is a single word (as I am not sure how dotkit will react to spaces) 2016-04-13 12:44:51 +02:00
Todd Gamblin
2fe9bfcd82 Merge pull request #773 from eschnett/eschnett/julia
Update Julia
2016-04-13 12:02:19 +02:00
alalazo
c422ce7c1d modules : added doc strings, fixed minor style issues, filtered from dependencies blacklisted modules 2016-04-13 11:26:22 +02:00
alalazo
fcd58a95dd Merge branch 'develop' of https://github.com/LLNL/spack into features/custom_modulefile_from_config 2016-04-13 10:49:00 +02:00
Todd Gamblin
c96dd43174 Merge pull request #776 from adamjstewart/features/pnetcdf
Add latest version of PnetCDF
2016-04-13 01:29:37 +02:00
Tom Scogland
a138196a6c Merge pull request #777 from trws/setuptools-20.7
add setuptools version 20.7.0
2016-04-12 16:06:06 -07:00
Tom Scogland
04392babca add setuptools version 20.7.0 2016-04-12 15:59:20 -07:00
Todd Gamblin
7acc7c4dae Merge pull request #712 from Rombur/fix_pysetuptools
Replace py-setuptools version 20.5 by version 20.6.7
2016-04-13 00:54:51 +02:00
Adam J. Stewart
abe744c5a0 Add latest version of PnetCDF 2016-04-12 16:53:45 -05:00
Adam J. Stewart
01f2dd03d5 Also install examples directory 2016-04-12 16:51:27 -05:00
Todd Gamblin
73fb2345fc Merge pull request #766 from mplegendre/bugfix/tmpdir_with_username
Spack was no longer using $TMPDIR for its stage area at LLNL.
2016-04-12 19:05:47 +02:00
alalazo
27280ea8be fix : added regression tests 2016-04-12 17:28:23 +02:00
alalazo
80678b2188 fix : proper update of config file (before it was discarding architectures that were not the current one) fixes #774 2016-04-12 16:54:51 +02:00
alalazo
41f365112c modules : added provenance comment in tcl header 2016-04-12 09:13:50 +02:00
Adam J. Stewart
cb6c6fb374 Add elk package 2016-04-11 16:28:30 -05:00
Erik Schnetter
882e2e42cf Merge branch 'develop' into eschnett/julia 2016-04-11 15:40:27 -04:00
alalazo
3959ca6270 modules : added possibility to blacklist or whitelist module files 2016-04-11 18:10:06 +02:00
alalazo
0e2b1359e3 modules : fixed bug preventing the creation of modulefiles autoloading only direct dependencies 2016-04-11 11:01:47 +02:00
Massimiliano Culpo
a5a5dbc408 tcl module file : added new-lines in autoload (per @glennpj bug report) 2016-04-10 13:21:41 +02:00
Erik Schnetter
df7e3f8635 Correct version dependency for OpenBLAS patch 2016-04-09 09:58:48 -04:00
Massimiliano Culpo
6cffac79bd openmpi : added a few variants 2016-04-09 11:21:29 +02:00
Mario Melara
3a281b2399 Commented out the add_x_from_string methods since we don't need to worry about it. Also, changed the way architecture is set. Todd wanted to have users be able to input just frontend and/or backend in the architecture spec. This will be able to parse those inputs. 2016-04-08 12:46:44 -07:00
Mario Melara
01a36ab333 Changed the logic of concretize. We don't have to worry about whether the part of the spec is a string since any string parsed is made into an object via the Arch constructor. Any dependencies will take the root arch spec as well 2016-04-08 12:44:27 -07:00
Mario Melara
5bcd1e7ccd If we already have the name and the platform, then we should probably go ahead and concretize it in the constructor. Else leave it as None and concretize it later. 2016-04-08 12:43:08 -07:00
Ben Boeckel
20b9f34b5c paraview: use internal hdf5
Spack's HDF5 is too new. Rather than forcing everything in a ParaView
chain to use older HDF5, use the internal one until ParaView is patched
properly.
2016-04-08 15:09:02 -04:00
Ben Boeckel
6e56ba9f24 paraview: use internal netcdf
VTK needs to learn to cope with netcdf being split like this.
2016-04-08 15:08:29 -04:00
Ben Boeckel
3a4aac0213 paraview: use the right cmake variables 2016-04-08 15:08:09 -04:00
Erik Schnetter
f461b99722 Building OpenBLAS requires recent binutils 2016-04-08 14:31:40 -04:00
Mario Melara
618b3f5f2d Changed default to default_target so the tests can pass 2016-04-08 11:18:30 -07:00
Mario Melara
277efc1dfb Added test that works on every type of combination the user could possibly enter for arch spec 2016-04-08 11:17:56 -07:00
Matthew LeGendre
1af88be371 Spack was no longer using $TMPDIR for its stage area at LLNL. Spack's directory search was unnecessarily putting candidates that contained your username at the end of its search list. 2016-04-08 11:06:14 -07:00
Mario Melara
0d1a1b7526 Changed _set_architecture so if user inputs only the target, then os is None. This prevents the os being referenced before assignment error 2016-04-08 10:29:37 -07:00
Mario Melara
6ff6c805af Assigned self.front_os, and back_os to self.default. Helps with testing. If we're on a darwin or linux machine, chances are there is no back end or front end operating system, but rather than have those as None, I just assign them the default which is detected via python platform. 2016-04-08 10:28:30 -07:00
Ben Boeckel
9eaf735bcd py-setuptools: add 20.6.7 2016-04-08 12:03:45 -04:00
Ben Boeckel
dcd6b19348 py-setuptools: sort versions 2016-04-08 12:03:36 -04:00
Ben Boeckel
6c409d6b92 py-matplotlib: depend on pkg-config
On OS X, freetype isn't found by default, but pkg-config can.
2016-04-08 12:03:05 -04:00
Ben Boeckel
7d19154e18 pkg-config: use the internal glib
glib requires pkg-config itself, so on machines without pkg-config,
there's a bootstrapping problem.
2016-04-08 12:01:28 -04:00
Mario Melara
7b777568ed Added new concretization of architecture tests, test each combination of user input to make sure the correct os and target are chosen 2016-04-07 14:38:43 -07:00
Mario Melara
0ad317213c Changed architecture parser so that if user just enters in frontend or backend, then both the os and target will take those names. In the concretize method the frontend target/os and backend target/os will be picked to match each other 2016-04-07 14:38:04 -07:00
Mario Melara
07df403203 Cleaned up the concretize_architecture method by removing commented out code 2016-04-07 14:37:00 -07:00
Mario Melara
143a4d7f76 Changed default to default_target, also added frontend and backend to operating system 2016-04-07 14:36:26 -07:00
alalazo
1714f410f0 Merge branch 'develop' of https://github.com/LLNL/spack into features/custom_modulefile_from_config 2016-04-07 10:48:16 +02:00
alalazo
7dc1524c08 modules : added stub for dotkit (to be verified) 2016-04-07 10:48:05 +02:00
Todd Gamblin
e73caad0d7 Merge pull request #747 from KineticTheory/pkg-global
Package global depends on ncurses
2016-04-07 00:20:15 -07:00
Glenn Johnson
8a7f34665b Make sure base bioconductor package can be installed. 2016-04-06 23:05:49 -05:00
Glenn Johnson
b19d6ab9c5 Check for non-numeric bits in the stem. 2016-04-06 19:08:01 -05:00
Todd Gamblin
6059da918e Merge pull request #758 from goxberry/metis-5-url-fix
metis 5: fix download url
2016-04-06 17:07:40 -07:00
Geoffrey Oxberry
bbd328d307 metis 5: fix download url
Spack picks up the wrong download for metis 5.1.0 from parsing
the url field for metis 4.0.3. Add an explicit url field to fix
this bug.
2016-04-06 16:58:48 -07:00
Todd Gamblin
4437bae16d Merge pull request #750 from goxberry/metis-4.0.3
metis 4.0.3
2016-04-06 16:05:02 -07:00
Todd Gamblin
feee268970 Merge pull request #754 from epfl-scitas/fixes/issue_216
fix : module files are deleted on uninstall (fixes #216)
2016-04-06 16:03:11 -07:00
Todd Gamblin
cac819766e Merge pull request #755 from adamjstewart/features/bash
Add bash package
2016-04-06 16:02:10 -07:00
Todd Gamblin
25d48f700c Merge pull request #752 from KineticTheory/pkg-netlib-lapack
Second attempt at PR#741
2016-04-06 16:01:33 -07:00
Geoffrey Oxberry
ddaba07d82 metis 4.0.3
Add version 4.0.3 to metis package. Attempted to implement reasonable
versions of all variants declared for metis@5.1.0; some of these do
not have analogues in metis@4.0.3, and errors are raised accordingly.

Also updated dependencies of packages with depends_on('metis') to
depends_on('metis@5:') to ensure that these packages still build.
2016-04-06 15:49:59 -07:00
Todd Gamblin
d62766a94d Merge pull request #756 from epfl-scitas/fixes/mpi_small_fixes
fix : mpich and mvapich2 will use spack compilers during installation
2016-04-06 15:35:34 -07:00
Glenn Johnson
32779ab1f6 Add r-filehash to test version naming. 2016-04-06 17:02:34 -05:00
Massimiliano Culpo
c113d390a7 mvapich2 : MPI compiler wrapper will use spack compilers during the installation phase
mpich : fixed wrong function signature
2016-04-06 23:51:47 +02:00
Glenn Johnson
fbabfc593d Make R extensable and add a couple of packages for verification.
Added R as a build system so that the create template will have the
correct configure line.
Added a regex for version parsing as the R URLs are a little odd.
2016-04-06 16:44:22 -05:00
Mario Melara
99117cbc90 pulled from current repo the build_environment.py. Added module loading methods from our cray port 2016-04-06 14:07:22 -07:00
Mario Melara
918ad28a93 Changed all target values to architecture. Also added a sort_key method so that older architecture specs can be sorted with the newer ones 2016-04-06 13:58:29 -07:00
Adam J. Stewart
380a2b23e6 Add bash package 2016-04-06 15:57:03 -05:00
Massimiliano Culpo
4001663982 leftover from cherry-pick 2016-04-06 22:19:07 +02:00
alalazo
73b6214a13 module files : proper cleanup on uninstall fixes #216
Conflicts:
	lib/spack/spack/test/database.py
2016-04-06 22:10:04 +02:00
Mario Melara
749508af01 Found loops calling all_compilers that were always reading in the config file which lead to a slowdown, the fix is to cache the config file so we don't waste time re-reading the config file in again. 2016-04-06 12:05:29 -07:00
Mario Melara
3bf75fab3f Cleaned up architecture. Changed operating_system from dictionary method 2016-04-06 12:03:26 -07:00
Kelly (KT) Thompson
71e9f1ab8d + I am resubmitting this proposed change because it was accidentally
overwritten. These modifications were accepted as PR#741 but somehow I
  clobbered them when PR#742 was merged. There was some unintentional overlap in
  my local repository that I didn't straighten out before pushing.
2016-04-06 09:52:09 -06:00
alalazo
21b7734d92 modules : removed debug leftover 2016-04-06 17:08:31 +02:00
alalazo
7904f75782 modules : all the other strings are lower case 2016-04-06 17:05:47 +02:00
alalazo
e4cfe74887 modules : customization based on specs 2016-04-06 16:42:56 +02:00
alalazo
e993c17f89 modules : added environment modifications from configuration file 2016-04-06 14:02:27 +02:00
alalazo
d636b4fdde modules : more sensible name to blacklist environment variables
modules : added skeleton to permit modifications based on specs
2016-04-06 13:42:47 +02:00
Todd Gamblin
3c8e055ed0 Merge pull request #751 from davydden/openblas_fix_compiler
openblas: provide basename of compilers to avoid issues with detectio…
2016-04-06 02:47:37 -07:00
Denis Davydov
9b3c7b8afa openblas: provide basename of compilers to avoid issues with detection of Fortran 2016-04-06 10:55:59 +02:00
Dhanannjay 'Djay' Deo
071548a62f Building VisIt with silo 2016-04-05 23:16:57 -04:00
Dhanannjay Deo
f221f64509 Add variant for shared library 2016-04-05 23:11:18 -04:00
Dhanannjay Deo
c3c70cf704 Install lite pdb headers 2016-04-05 23:11:18 -04:00
Kelly (KT) Thompson
340ad44aab Merge remote-tracking branch 'upstream/develop' into pkg-exuberant-ctags 2016-04-05 13:31:06 -06:00
Dhanannjay Deo
2e05830eb1 Constrain to vtk6.1 qt4.8.6 and opengl1 rendering backend 2016-04-05 15:12:06 -04:00
Dhanannjay Deo
872f049b30 create visit package 2016-04-05 15:12:06 -04:00
Kelly (KT) Thompson
21ad5162c4 + Global requires ncurses. 2016-04-05 11:53:37 -06:00
Todd Gamblin
8ef9d68542 Merge pull request #726 from citibeth/efischer/160402-Qt
Removed useless url in qt
2016-04-05 10:51:12 -07:00
Todd Gamblin
e104592e1f Merge pull request #738 from eschnett/eschnett/cleanup-cc
Clean up cc script
2016-04-05 10:50:45 -07:00
Todd Gamblin
11771d9a37 Merge pull request #737 from jgalarowicz/develop
Add changes that remove unsupported libraries from the boost build li…
2016-04-05 10:49:27 -07:00
Jim Galarowicz
0ebb192b2f Update the MRNet package with the latest source and patch related to the krell tools needs. Also, reorder the list of version to match with the spack standard: newest to oldest. 2016-04-05 10:36:20 -07:00
Jim Galarowicz
ffed252df4 Merge remote-tracking branch 'upstream/develop' into develop 2016-04-05 10:31:41 -07:00
alalazo
670cb423f9 modules : iterating on all the dependencies doesn't reuire try/except KeyError 2016-04-05 18:44:40 +02:00
alalazo
5da37c573f modules : don't pass stream around 2016-04-05 18:41:38 +02:00
alalazo
2968b60ee0 module file : added autoload and prereq 2016-04-05 18:03:09 +02:00
alalazo
ca7d701007 module file : all the dependencies can affect the run_time environment, not only extendees 2016-04-05 16:10:04 +02:00
Erik Schnetter
a87ae5173f Update Julia
- allow checking out the master branche
- add dependencies requires by important Julia package
- add OpenBLAS patch
2016-04-05 09:05:46 -04:00
alalazo
c352249e30 EnvModules : narrowing the type of exceptions being "handled" 2016-04-05 14:55:05 +02:00
Erik Schnetter
4ce03b75bc Correct typo 2016-04-05 07:42:23 -04:00
alalazo
7fc0b1ebd2 module file : reverted to sensible default 2016-04-05 13:33:11 +02:00
alalazo
d546d828d3 module file : added filtering based on environment variable name 2016-04-05 13:20:28 +02:00
Todd Gamblin
faf4a1e370 Merge pull request #740 from glennpj/scikit
Scikit
2016-04-04 23:11:04 -07:00
Todd Gamblin
b09d87970c Merge pull request #742 from KineticTheory/pkg-dia
Provide dia
2016-04-04 23:09:41 -07:00
Todd Gamblin
cefcbfea8e Merge pull request #743 from eschnett/eschnett/netlib-scalapack
Require cmake
2016-04-04 23:09:24 -07:00
Todd Gamblin
c010a6f8b0 Merge pull request #728 from eschnett/eschnett/hdf5-1.10
Update HDF5 to 1.10.0
2016-04-04 23:09:08 -07:00
Glenn Johnson
c546b75443 Add missing dependency on py-setuptools for
- py-dask
- py-decorator
2016-04-04 19:23:48 -05:00
Jim Galarowicz
9d2ef9f453 Merge remote-tracking branch 'upstream/develop' into develop 2016-04-04 17:07:53 -07:00
Glenn Johnson
2b3a8a4a5a Add missing dependencies. 2016-04-04 19:01:44 -05:00
Erik Schnetter
aaf2830b8b Require cmake 2016-04-04 19:40:05 -04:00
Kelly (KT) Thompson
281ccb3dad Merge branch 'pkg-dia' of github.com:KineticTheory/spack into pkg-dia 2016-04-04 17:11:46 -06:00
Kelly (KT) Thompson
48d70d960c + Provide dia, a program for drawing structured diagrams. 2016-04-04 17:11:04 -06:00
Kelly (KT) Thompson
3a3f9789ce + General cleanup of package.py. 2016-04-04 17:10:28 -06:00
Kelly (KT) Thompson
77b688f4fa + Don't include files submitted with PR#741. 2016-04-04 17:08:19 -06:00
Kelly (KT) Thompson
c0eb5844e5 + Provide dia, a program for drawing structured diagrams. 2016-04-04 17:05:30 -06:00
Mario Melara
9bfc83ac5c Changed so that py_platform.dist() grabs the major version number. 2016-04-04 15:36:10 -07:00
Todd Gamblin
0296f96c7b Resolves #739. Don't call setup_dependent_* for package itself. 2016-04-04 13:56:15 -07:00
Mario Melara
6d73c86209 Gives error on cori that [PrgEnv-xx, gcc/x.x.x] is not part of the schema. Changed it to oneOf : type : array to get rid of the error. 2016-04-04 13:45:15 -07:00
Mario Melara
9c071ea40d Changed modulecmd parameters. return_oe is not one of the parameters in the mainline spack repo. Changed the args to the appropriate ones in the new spack 2016-04-04 13:44:24 -07:00
Todd Gamblin
3404a61ebf Merge pull request #714 from goxberry/ipopt-3.12.4
Add ipopt v3.12.4 package.
2016-04-04 13:42:37 -07:00
Todd Gamblin
2fd2a5403f Merge pull request #711 from goxberry/mumps-add-libexec
Add mpiseq headers to MUMPS installation (was: Add libexec dir to MUMPS installation)
2016-04-04 13:41:55 -07:00
Kelly (KT) Thompson
db23d27eb4 + Revert accidental commit that set CMAKE_BUILD_TYPE=Release. 2016-04-04 14:41:41 -06:00
Kelly (KT) Thompson
cd3086f78d + Since CBLAS is only provided in 3.6.0 or later, modify package.py to on refer to CBLAS when the latest release is requested. 2016-04-04 14:35:09 -06:00
Erik Schnetter
0ff059e388 Clean up comments and output messages 2016-04-04 16:00:09 -04:00
Kelly (KT) Thompson
aef7065e85 Merge remote-tracking branch 'upstream/develop' into env-draco 2016-04-04 13:57:03 -06:00
Kelly (KT) Thompson
9bb99de0a7 + When using CMake, use Release instead of RelWithDebInfo flags. 2016-04-04 13:47:48 -06:00
Erik Schnetter
83d6e04d39 Convert = to == in tests; untabify 2016-04-04 15:38:21 -04:00
Glenn Johnson
9c60f122a6 New package - py-scikit-image (http://scikit-image.org/). 2016-04-04 14:02:55 -05:00
Glenn Johnson
8404f084c8 New package - py-networkx (https://networkx.github.io/). 2016-04-04 14:02:55 -05:00
Glenn Johnson
a10ab78e28 New package - py-decorator (https://github.com/micheles/decorator). 2016-04-04 14:02:55 -05:00
Glenn Johnson
3a4210e9d7 New package - py-dask (http://dask.pydata.org). 2016-04-04 14:02:55 -05:00
Glenn Johnson
d0ca3952a3 Add version 0.17.1 of scikit-learn. 2016-04-04 14:02:54 -05:00
Erik Schnetter
badf5b047b Calculate version string in a function 2016-04-04 14:42:36 -04:00
Erik Schnetter
7bc28cc334 Clean up cc script 2016-04-04 14:33:48 -04:00
Jim Galarowicz
6ebed7a2a6 Add release 9.1.0 recognition to the Dyninst API package file. 2016-04-04 11:23:51 -07:00
Todd Gamblin
220fb068aa Merge pull request #724 from davydden/metis_suitesparse_dealii
Metis and suitesparse fixes
2016-04-04 11:20:53 -07:00
Todd Gamblin
5084130e71 Merge pull request #715 from citibeth/efischer/160401-EnvironmentModules
Added Environment Modules
2016-04-04 10:41:54 -07:00
Jim Galarowicz
e0b9f79b9b Add changes that remove unsupported libraries from the boost build libraries list based on the boost version numbers. Libraries that are removed include: log - for versions of boost 1.53.0 and older - :atomic - for versions of boost 1.52.0 and older - :locale for versions of boost 1.49.0 and older - :chrono - for versions of boost 1.48.0 and older - and :random - for versions of boost 1.44.0 and older. 2016-04-04 10:33:03 -07:00
Todd Gamblin
a8b856432a Merge pull request #716 from citibeth/efischer/160401-TclTk
Fixed TCL/Tk
2016-04-04 10:24:11 -07:00
Todd Gamblin
c7b11360e9 Merge pull request #732 from citibeth/efischer/160403-ConditionalExtendsBugfix
[Needs Review] Fix conditional extends (BUG #683)
2016-04-04 10:21:26 -07:00
Todd Gamblin
266f64d848 Merge pull request #725 from citibeth/efischer/160402-NetCDFCXX
Added deprecation warning to netcdf-cxx
2016-04-04 10:18:15 -07:00
Todd Gamblin
2d49842cd1 Merge pull request #730 from citibeth/efischer/160403-PyPillow
[WIP] py-pillow: Updated for variants
2016-04-04 10:15:59 -07:00
Todd Gamblin
bd005b6ba6 Merge pull request #727 from glennpj/sympy
Added version 1.0 of sympy.
2016-04-04 10:14:13 -07:00
Todd Gamblin
6755c397c9 Merge pull request #729 from citibeth/efischer/160403-LibxcbDependency
libxcb: Added comments on two dependencies Spack does not yet know ho…
2016-04-04 10:13:45 -07:00
Todd Gamblin
932ed6b280 Merge pull request #731 from citibeth/efischer/160403-GitDependency
git: added comment about newly discovered dependency
2016-04-04 10:13:15 -07:00
Todd Gamblin
a43cb60097 Merge pull request #733 from citibeth/efischer/160403-DbusDependency
dbus: Added missing dependency (expat)
2016-04-04 10:12:47 -07:00
Todd Gamblin
a6c1cfe037 Merge pull request #670 from epfl-scitas/uninstall_improved
enhancement : recursive uninstallation of dependent packages
2016-04-04 10:04:14 -07:00
Bruno Turcksin
7197f15783 Add version 2.6.7 of py-setuptools 2016-04-04 10:15:00 -04:00
alalazo
d375ddadc4 openssl : reads newer version from ftp (recommended on openssl web-site) 2016-04-04 12:25:13 +02:00
Todd Gamblin
a7e13b1963 Merge pull request #735 from LLNL/bugfix/build-environment-order-issues
Fix #620, Resolve #664. Fix issues with build environment.
2016-04-04 03:05:44 -07:00
Todd Gamblin
bb968fc5a2 Fix #620, Resolve #664. Fix issues with build environment.
- Also added better regression tests for build environment.
2016-04-04 02:52:38 -07:00
alalazo
f40b0f52e0 uninstall : updated documentation and error messages 2016-04-04 10:59:01 +02:00
alalazo
401dcb3635 uninstall : renamed --recursive to --dependents 2016-04-04 10:28:47 +02:00
Denis Davydov
131d34f318 suite-sparse: temporary disable TBB due to linking errors 2016-04-04 09:05:27 +02:00
Elizabeth F
14f073d410 py-pillow: Updated for variants, but still having trouble getting it to use Spack-supplied libjpeg. 2016-04-03 21:42:55 -04:00
Elizabeth F
0bf61ad57b libxcb: Added comments on two dependencies Spack does not yet know how to build. 2016-04-03 21:42:40 -04:00
Elizabeth F
2809fe95db git: added comment about newly discovered dependency 2016-04-03 21:42:29 -04:00
Elizabeth F
c3f7b035fd dbus: Added missing dependency (expat) 2016-04-03 21:42:09 -04:00
Elizabeth F
2f4d8a634d Fix conditional extends (BUG #683) 2016-04-03 21:41:46 -04:00
citibeth
79836520d9 Fixed up to work on a machine without any system-install tcl. 2016-04-03 21:38:29 -04:00
Denis Davydov
e0ff3f16cc dealii: blacklist boost 2016-04-03 19:41:51 +02:00
Elizabeth Fischer
40c279ef95 Fixed evil non-ASCII quotes 2016-04-03 00:10:22 -04:00
Erik Schnetter
e436f84244 Update HDF5 to 1.10.0 2016-04-02 20:22:26 -04:00
Glenn Johnson
c952c0ca16 Added version 1.0 of sympy. Beginning with this version, sympy requires
the mpmath package. The py-mpmath package is added in this PR to
accommodate that.
2016-04-02 15:50:20 -05:00
citibeth
1c483ffe4e Merged the best of two Spack packages for Environment Modules.
Named "environment-modules" to be consistent with Fedora and Ubuntu repositories.

See d96ea5b for original packages/modules/package.py
2016-04-02 13:09:56 -04:00
citibeth
9f7db44574 Removed useless url in qt 2016-04-02 12:58:37 -04:00
citibeth
2126683203 Added deprecation warning to netcdf-cxx 2016-04-02 12:55:34 -04:00
Denis Davydov
adccd18015 dealii: add extra test for Petsc+Metis 2016-04-02 12:04:18 +02:00
Denis Davydov
a88c6da9ac suite-sparse: fix a bug where interla metis was used; add TBB variant 2016-04-02 12:04:07 +02:00
Denis Davydov
624b576b1e metis: fix compilation with Clang 7.3.0, add tests 2016-04-02 12:03:57 +02:00
citibeth
281835887a Added documentation for recursive modules 2016-04-01 22:54:49 -04:00
Elizabeth F
c6d8208150 Added recursive module loading 2016-04-01 22:54:42 -04:00
Geoffrey Oxberry
edf6e9ceac Add ipopt v3.12.4 package.
Add package for the nonlinear programming solver IPOPT. This
commit depends on the changes made in GitHub PR #711, since IPOPT
requires the headers that correspond to the fake MPI implementation
in sequential MUMPS.
2016-04-01 18:37:08 -07:00
Geoffrey Oxberry
71ffe2f1c4 mumps: install mpiseq headers for '~mpi'
Prior to this commit, spack installs a library called `libmpiseq` into
`spec['mumps'].prefix.lib` when it builds MUMPS without MPI. However, it
does not also install the headers corresponding to this library, so it
is impossible to compile source files that depend on function calls
implemented in this library. This commit fixes this problem by
installing these headers, which are needed by packages (e.g., IPOPT)
that depend on these headers.
2016-04-01 18:26:25 -07:00
Elizabeth F
e4f7b78e9b Fixed tk, and used uverridden url_for_version(). 2016-04-01 16:38:02 -04:00
citibeth
459aab628d Added documentation for installing Environment Modules with Spack. 2016-04-01 16:00:58 -04:00
Elizabeth F
cfd5e69b81 Added Environment Modules package. 2016-04-01 15:28:03 -04:00
Elizabeth F
d4e6b15d98 Fixed TCL/Tk 2016-04-01 15:25:01 -04:00
Todd Gamblin
f5a77d3958 Merge pull request #709 from xjrc/packages/zoltan
Add Package : Zoltan
2016-03-31 15:16:37 -07:00
Joseph Ciurej
09d657e98e Fixed the MPI variant for the 'zoltan' package. 2016-03-31 14:36:32 -07:00
Joseph Ciurej
b1b94d2b7f Added the initial version of the 'zoltan' package. 2016-03-31 13:59:49 -07:00
Peter Scheibel
9eb314fcaa merge from develop 2016-03-31 12:56:34 -07:00
Todd Gamblin
d0c8245a58 Merge pull request #685 from gartung/add-modules-package
add modules package and have setup script find it if built
2016-03-31 12:15:11 -07:00
Patrick Gartung
87b70e2cb4 remove the part I added to setup-env.sh as this does not work unless the modules package is already built. 2016-03-31 14:07:03 -05:00
Todd Gamblin
c5f3475f48 Merge pull request #704 from adamjstewart/features/qt-url
Add url_for_version function and gtk variant
2016-03-31 11:55:27 -07:00
Todd Gamblin
220c72d67f Merge branch 'features/blas-lapack-hardening' into develop 2016-03-31 11:37:09 -07:00
Adam J. Stewart
66038ef729 Add url_for_version function and gtk variant 2016-03-31 13:34:56 -05:00
Todd Gamblin
a670408617 Quick fix for pkg diff. 2016-03-31 11:34:27 -07:00
Todd Gamblin
1f93c39c58 Merge pull request #291 from trws/stage-path
add a path argument to the stage command
2016-03-31 10:41:29 -07:00
Tom Scogland
5d2151ed64 reworked to deal with stage.path as property
This version actually pulls the path through the package to deliver it
to each stage on creation when passed through the command.  This is
necessary due to the new StageComposite class that makes setting the
path directly on the stage impractical, it also takes the logic out of
package for the most part, which seems like an improvement.
2016-03-31 10:20:55 -07:00
Tom Scogland
63f824b218 add a path argument to the stage command
Allow users to use spack to stage a, potentially complex, package into a
given path.  This is nice for packages with multiple resources that must
be placed, for example LLVM with all sub-projects.
2016-03-31 09:56:26 -07:00
Todd Gamblin
2441068d54 Merge pull request #697 from KineticTheory/pkg-libdrm
+ libdrm depends_on libpciaccess.  Use spack provided libpciaccess.
2016-03-31 09:55:53 -07:00
Todd Gamblin
0840ffa3dd Merge pull request #698 from UCL-RITS/espresso
Fixes install issues on OS/X for Quantum Espresso
2016-03-31 09:47:33 -07:00
Todd Gamblin
e2a7b7e50d Merge pull request #701 from dhandeo/vtk
VTK
2016-03-31 09:46:49 -07:00
Todd Gamblin
a6f6c2b9c5 Merge pull request #702 from adamjstewart/features/cuda
Add CUDA and HOOMD-blue packages
2016-03-31 09:45:45 -07:00
Todd Gamblin
a6b87ee144 Merge pull request #700 from davydden/oce_bug_fix
oce: fix bugs related to NULL pointers and compiler optimisation
2016-03-31 09:42:28 -07:00
Massimiliano Culpo
837eff1704 openssl : special treatment for @external (fixes #647) 2016-03-31 18:07:44 +02:00
Adam J. Stewart
a0902ad8d8 Change variant defaults and add comment 2016-03-31 11:04:29 -05:00
Dhanannjay Deo
3b0311a1e4 Add variant opengl2, which is ON by default
Needed for visit which depends on vtk@6.1.0~opengl2
2016-03-31 10:39:34 -04:00
Dhanannjay Deo
123996aad0 Fix build for vtk6.1.0 2016-03-31 10:39:34 -04:00
Dhanannjay Deo
0bcfd09536 add: VTK lastest versions 2016-03-31 10:39:34 -04:00
Denis Davydov
6d0b4a28ab oce: fix bugs related to NULL pointers and compiler optimisation 2016-03-31 13:36:28 +02:00
Massimiliano Culpo
4f6320a7eb uninstall : added unit tests 2016-03-31 13:22:48 +02:00
Mayeul d'Avezac
7430f9142f Can install espresso on OS/X
Espresso uses unix utility `find dir -name \*.x` to determine the executable to
install. On OS/X, it also finds a bunch of debug symbols associated
with the exectuble. These files have the same name, but are in a
different directory. So the install process is done by hand in the
package.py file, for OS/X.
2016-03-31 10:16:40 +01:00
Mayeul d'Avezac
397e0d1368 Fixes #454 in a simpler way than 34a8f0c
Rather than mess with the environment, have espresso install into the
right directory (prefix/bin).
2016-03-31 10:12:20 +01:00
Todd Gamblin
360994b638 Merge branch 'davydden-dealii' into develop
- Modified arpack-ng to call libtoolize.
2016-03-30 23:47:21 -07:00
Todd Gamblin
44b8947445 arpack-ng needs an extra libtoolize to build. 2016-03-30 23:33:57 -07:00
Kelly (KT) Thompson
a88c15e101 + libdrm depends_on libpciaccess. Use spack provided libpciaccess. 2016-03-30 21:18:04 -06:00
Todd Gamblin
8d9ab6a061 Merge pull request #696 from KineticTheory/pkg-libpng
libpng depends on zlib.
2016-03-30 16:27:24 -07:00
Kelly (KT) Thompson
a364ab0d0f libpng depends on zlib. 2016-03-30 17:12:32 -06:00
Todd Gamblin
ef5c973c93 Merge pull request #688 from davydden/doxygen_fix
doxygen: add missing dependencies
2016-03-30 15:54:02 -07:00
Todd Gamblin
35322eccc1 Merge pull request #601 from KineticTheory/pkg-numdiff
Provide new package numdiff
2016-03-30 15:22:56 -07:00
Todd Gamblin
892b8f155f Merge branch 'dealii' of git://github.com/davydden/spack into davydden-dealii 2016-03-30 15:09:29 -07:00
Todd Gamblin
228130ddc8 Merge pull request #693 from mathstuf/osx-ninja
ninja: fix installation on OS X
2016-03-30 14:59:08 -07:00
Todd Gamblin
b4580eb04c Merge pull request #604 from KineticTheory/pkg-graphviz
Pkg graphviz
2016-03-30 14:51:15 -07:00
Kelly (KT) Thompson
3ba9cfba01 + Remove the validate function that would abort the install if platform=darwin. 2016-03-30 15:41:51 -06:00
Kelly (KT) Thompson
2ad5d2ea2a + For darwin, add a dependency on gettext. This change was recommended in the discussion for PR#601. 2016-03-30 15:40:04 -06:00
Todd Gamblin
279291221c Merge pull request #694 from mathstuf/github-docs
docs: add a link to the spack repo in the PR section
2016-03-30 14:38:02 -07:00
Kelly (KT) Thompson
be2862ef4e Merge remote-tracking branch 'upstream/develop' into pkg-numdiff 2016-03-30 15:35:46 -06:00
Todd Gamblin
67ec7ee5e9 Merge pull request #695 from mathstuf/osx-mpich
mpich: disable fortran without a fortran compiler
2016-03-30 14:32:47 -07:00
Ben Boeckel
f1a0619821 mpich: disable fortran without a fortran compiler 2016-03-30 17:19:29 -04:00
Ben Boeckel
2bc43f7f37 docs: add a link to the spack repo in the PR section 2016-03-30 16:44:08 -04:00
Kelly (KT) Thompson
4ab362ae17 + Fix variant description. 2016-03-30 14:27:23 -06:00
Kelly (KT) Thompson
d1a3adfcf0 + Make --disable-perl the default configure option. 2016-03-30 14:25:44 -06:00
Ben Boeckel
dbb25bfeed ninja: fix installation on OS X
The cp -t flag is a GNU-ism. Instead, add a trailing slash to bindir to
ensure that it is not treated as a file.
2016-03-30 16:17:52 -04:00
Kelly (KT) Thompson
8da62b310e Merge remote-tracking branch 'upstream/develop' into pkg-graphviz 2016-03-30 13:59:10 -06:00
Denis Davydov
5506e89aa9 rename variant doxygen to doc 2016-03-30 21:41:23 +02:00
Todd Gamblin
4bc6ace201 Merge pull request #690 from glennpj/py_updates
Get py-pandas working plus some python package updates
2016-03-30 12:04:30 -07:00
Todd Gamblin
213e9746ad Merge pull request #689 from KineticTheory/pkg-subversion
Provide subversion (along with apr and apr-util)
2016-03-30 12:02:59 -07:00
Todd Gamblin
a65519def0 Merge pull request #691 from davydden/petsc_remove_qunused
petsc: remove no longer needed -Qunused-arguments hack
2016-03-30 12:02:23 -07:00
Todd Gamblin
0ceb7c411b Merge branch 'davydden-trilinos_extra' into develop 2016-03-30 11:41:43 -07:00
Todd Gamblin
01657e6991 Make suite-sparse use spack compilers. 2016-03-30 11:41:25 -07:00
Denis Davydov
b909da759d petsc: remove no longer needed -Qunused-arguments hack 2016-03-30 19:26:03 +02:00
Adam J. Stewart
9519f3d988 Fix MPI-CUDA bug 2016-03-30 11:46:58 -05:00
Glenn Johnson
8ae84cfaba This commit updates pandas and fixes dependencies.
Added version 0.18.0.
Added 'bin/f2py' to ignore so that activation works.

Removed unneccessary dependencies on
- libdrm
- libpciaccess
- llvm
- mesa

Added recommended dependencies from the pandas project site.
http://pandas.pydata.org/pandas-docs/stable/install.html
- py-numexpr
- py-bottleneck

The py-bottleneck is a new package that is also in this branch.

Removed optional dependencies
- py-scipy
- py-matplotlib

While those are most likely desired to be in the same python stack as
pandas they are not required by pandas.
2016-03-30 11:21:38 -05:00
Glenn Johnson
78be85c84f Added version 1.11.0. 2016-03-30 11:21:17 -05:00
Glenn Johnson
e7ae983b41 Added version 2.5.
Added 'bin/f2py' to ignore so that activation works.
2016-03-30 11:20:27 -05:00
Glenn Johnson
f3b353f5f9 Add 'bin/f2py' to ignore so activation works. 2016-03-30 11:17:24 -05:00
Glenn Johnson
8948cb100b Add version 1.3.7. 2016-03-30 11:16:35 -05:00
Glenn Johnson
17075736a0 Add version 2.5.2. 2016-03-30 11:16:11 -05:00
Glenn Johnson
42729d9cce Added version 2016.3. 2016-03-30 11:10:32 -05:00
Glenn Johnson
9153e03e5c Added version 20.5. 2016-03-30 11:09:47 -05:00
Glenn Johnson
3b19cc303f Added version 1.10.0. 2016-03-30 11:08:28 -05:00
Glenn Johnson
5c95977dcc Added version 15.0.1 2016-03-30 11:06:04 -05:00
Glenn Johnson
bc309e42d8 New package, py-bottleneck. 2016-03-30 11:00:18 -05:00
Kelly (KT) Thompson
a7ceacb991 + Changes to swig are not needed with this PR. 2016-03-30 09:47:31 -06:00
Kelly (KT) Thompson
5b1ef64e31 + Provide basic instructions for providing subversion w/o additional language bindings. 2016-03-30 09:33:00 -06:00
Kelly (KT) Thompson
f2051f0440 Merge remote-tracking branch 'upstream/develop' into pkg-graphviz 2016-03-30 08:28:53 -06:00
Massimiliano Culpo
dd1c667d8d uninstall : changed error message 2016-03-30 16:10:20 +02:00
Denis Davydov
2abdd71b41 add dev version and conditionals for tests; remove parmetis 2016-03-30 15:19:29 +02:00
Denis Davydov
9e9f5d01ad doxygen: add missing dependencies 2016-03-30 13:28:33 +02:00
Denis Davydov
bafc6cebe1 doxygen off by default 2016-03-30 12:00:21 +02:00
Denis Davydov
5b6eefbf04 add variants and extra dependencies 2016-03-30 11:30:35 +02:00
Gregory Lee
c017387214 Merge pull request #672 from citibeth/efischer/160327-GEOSPython3
[WIP] GEOS Python extension did not compile with Python3.
2016-03-29 20:35:00 -07:00
Gregory L. Lee
81b9148b9e Merge branch 'develop' of https://github.com/llnl/spack into develop 2016-03-29 20:26:22 -07:00
Gregory L. Lee
98bb151d85 updated geos version 2016-03-29 20:25:56 -07:00
Peter Scheibel
a0c42a3fd1 removed stale TODO 2016-03-29 18:58:18 -07:00
Peter Scheibel
c40559433b added docstring 2016-03-29 18:54:24 -07:00
Peter Scheibel
03d907e1e5 in the case of multiple digests, avoid creating different mirror filenames from run to run (as long as the available digests do not change) 2016-03-29 18:48:25 -07:00
Peter Scheibel
ce4de6227e (1) access package via spec property (2) use any digest to form archive filename 2016-03-29 18:45:58 -07:00
Peter Scheibel
bee224c567 mirror archive filename now includes the digest type as well as the digest 2016-03-29 18:25:22 -07:00
Todd Gamblin
e4de235e75 Merge pull request #653 from citibeth/efischer/160325-Cython3Fix
Added new Cython version; old versions don't work with Python3.
2016-03-29 17:13:37 -07:00
Todd Gamblin
f42b1dfcbd Merge branch 'trilinos_extra' of git://github.com/davydden/spack into davydden-trilinos_extra 2016-03-29 17:08:51 -07:00
Todd Gamblin
c337b52ec8 Merge pull request #687 from KineticTheory/pkg-cmake
+ Add a new version of cmake (3.5.1).
2016-03-29 16:14:45 -07:00
Kelly (KT) Thompson
c69b9b7b24 Merge remote-tracking branch 'upstream/develop' into pkg-subversion 2016-03-29 17:14:27 -06:00
Kelly (KT) Thompson
a4eff6de3f + New version of cmake (3.5.1). 2016-03-29 17:10:49 -06:00
Todd Gamblin
7f469eadff Merge pull request #684 from davydden/astyle
astyle@2.04: add new package
2016-03-29 15:29:14 -07:00
Todd Gamblin
3c8881487f Merge pull request #632 from sixy6e/gdal-tools
Upload of GDAL, kealib, openjpeg, py-tuiview package builds.
2016-03-29 15:28:38 -07:00
Elizabeth Fischer
abee9c83b4 Removed googletest FIXME... 2016-03-29 17:26:34 -04:00
Adam J. Stewart
4ddba5f7ed Add CUDA and HOOMD-blue packages 2016-03-29 14:47:16 -05:00
Todd Gamblin
a06f682e49 Merge pull request #671 from citibeth/efischer/160327-RemoveRedundantLibXML2
Removed redundant package py-libxml2.  Use libxml2 instead.
2016-03-29 12:38:07 -07:00
Gregory Becker
7e9baf9e25 Made architecture test robust for more architectures 2016-03-29 11:23:36 -07:00
Patrick Gartung
d96ea5ba00 add modules package and have setup script find it if built 2016-03-29 12:20:11 -05:00
Denis Davydov
ad402ff85b astyle@2.04: add new package 2016-03-29 18:43:44 +02:00
Massimiliano Culpo
653d7c5257 uninstall : minor fixes 2016-03-29 17:28:46 +02:00
Todd Gamblin
e0fdb34104 Merge branch 'eschnett-eschnett/boost-mpi-osx' into develop 2016-03-29 05:15:40 -07:00
Todd Gamblin
62ae830e49 Merge branch 'eschnett/boost-mpi-osx' of git://github.com/eschnett/spack into eschnett-eschnett/boost-mpi-osx 2016-03-29 05:14:41 -07:00
Todd Gamblin
b3a384e1d8 Merge pull request #680 from davydden/hypre_muparser_fixes
minor fixes to hypre and muparser on Linux
2016-03-29 05:11:50 -07:00
Todd Gamblin
a05bea7de5 Merge pull request #681 from LLNL/bugfix/complete-restage
Fix bug in restage
2016-03-29 05:11:21 -07:00
Todd Gamblin
dfc5cf288c Fix bug in restage
- Restage previously only removed the source directory from the stage.
- Now removes any other directories in stage as well.
2016-03-29 04:35:41 -07:00
Todd Gamblin
275943d8df Merge branch 'eschnett-eschnett/gcc-osx-2' into develop 2016-03-29 04:16:53 -07:00
Todd Gamblin
e1fdd4341b Merge branch 'eschnett-correct-cc' into develop 2016-03-29 04:16:18 -07:00
Patrick Gartung
ccc1b23bea this allows gcc4.9.3 to build on OSX10 2016-03-29 04:15:07 -07:00
Todd Gamblin
f80e839ff4 Handle Darwin's ld -r option properly
- ld -r doesn't work with RPATH on OS X.

- for GNU ld, the -r option only means 'relocatable',
  and doesn't affect RPATH.

- This adds special handling to omit RPATHs for ld -r on OS X
2016-03-29 03:14:39 -07:00
Denis Davydov
63c3feb79e minor fixes to hypre and muparser on Linux 2016-03-29 10:05:08 +02:00
Todd Gamblin
7e7461e8fb Merge pull request #626 from davydden/mumps_shared_tests
add shared variant to mumps (needed for Trilinos) plus tests
2016-03-29 00:33:30 -07:00
Denis Davydov
7753d823cb add a comment on static mumps 2016-03-29 09:27:55 +02:00
Denis Davydov
f9bcce6a68 turn off python by default 2016-03-29 09:19:24 +02:00
Kelly (KT) Thompson
197f07306b Merge remote-tracking branch 'upstream/develop' into pkg-subversion 2016-03-28 19:56:07 -06:00
Kelly (KT) Thompson
40cea0110f Merge remote-tracking branch 'upstream/develop' into pkg-graphviz 2016-03-28 19:53:22 -06:00
Todd Gamblin
02879d94ff Merge pull request #673 from davydden/netcdf_cxx
new package: netcdf-cxx
2016-03-28 18:03:36 -07:00
Todd Gamblin
dd61795bb8 Merge pull request #674 from davydden/petsc_extra
extend petsc variants by mumps, complex and debug, fix headers in superlu_dist, add variant to hypre
2016-03-28 18:02:26 -07:00
Todd Gamblin
a14527ec06 Add command to compiler input log. 2016-03-28 15:34:25 -07:00
Massimiliano Culpo
1141f11955 uninstall : added user confirmation 2016-03-29 00:28:02 +02:00
Denis Davydov
09e77812b6 fix installation of superlu_dist headers and add it as a dependency to petsc; add a variant to hypre to disable internal superlu 2016-03-29 00:21:32 +02:00
Denis Davydov
4e87cf9d74 fix extra comma 2016-03-28 18:00:34 +02:00
Denis Davydov
207215980b make hypre and hdf5 be ON/OFF 2016-03-28 17:54:27 +02:00
Denis Davydov
dd60cc326c adopt modifed superlu and hypre 2016-03-28 17:52:22 +02:00
Denis Davydov
5eefca43e7 petsc: extend variants by mumps, complex and debug 2016-03-28 14:35:01 +02:00
Denis Davydov
0da545ecac tell amesos that we use mumps 5 2016-03-28 13:16:08 +02:00
Todd Gamblin
d8579a5b80 Simplify cc: Remove old logic and add better tests.
- removed a lot of old logic that was only still needed for tests.

- Added better unit tests for dependency RPATH, -L, and -I args

- tests now check whether the compiler omits -I args in link mode.
2016-03-28 04:11:54 -07:00
Todd Gamblin
f3dd889d44 Fix bug with lib64 RPATH setting in cc. 2016-03-28 03:51:05 -07:00
Denis Davydov
e00cab75bd more elaborated tests/direct solvers 2016-03-28 12:12:55 +02:00
Denis Davydov
97cdd79478 fix netcdf 2016-03-28 10:49:20 +02:00
Denis Davydov
9c894f5935 new package: netcdf-cxx 2016-03-28 10:19:25 +02:00
Todd Gamblin
eb397b5693 Merge pull request #669 from glennpj/module_format
Wrap the long description of an environment module so it is more readable
2016-03-27 17:30:07 -07:00
Todd Gamblin
8b45d6f84f Merge pull request #658 from davydden/metis_parmetis_darwin
metis/parmetis/oce/boost: correct install_name on Darwin via a global tool
2016-03-27 16:10:05 -07:00
Elizabeth F
3bd550d6a2 GEOS Python extension did not compile with Python3. 2016-03-27 18:28:51 -04:00
Denis Davydov
7eca1284c8 metis/parmetis/boost/oce/scalapack: correct install_name on Darwin via a global function. 2016-03-28 00:22:25 +02:00
citibeth
ccd155572f Removed redundant package py-libxml2. Use libxml2 instead. 2016-03-27 18:18:54 -04:00
Massimiliano Culpo
e0f463c4f9 uninstall : added recursive option 2016-03-27 23:56:41 +02:00
Denis Davydov
fc73e93b50 rework netcdf 2016-03-27 23:47:43 +02:00
Glenn Johnson
5695e4c03d Wrap the long description of an environment module so it is more readable. 2016-03-27 15:42:20 -05:00
Todd Gamblin
ec107b290f Merge branch 'correct-cc' of git://github.com/eschnett/spack into eschnett-correct-cc 2016-03-27 13:38:06 -07:00
Todd Gamblin
9061800b30 Merge branch 'eschnett/gcc-osx-2' of git://github.com/eschnett/spack into eschnett-eschnett/gcc-osx-2 2016-03-27 13:18:23 -07:00
Todd Gamblin
82c09e66d2 Merge pull request #662 from citibeth/efischer/160327-NewPackages
New Package: py-netcdf
2016-03-27 13:02:34 -07:00
Denis Davydov
20600b8cac add tests and netcdf-cxx4 2016-03-27 21:03:18 +02:00
Todd Gamblin
e049fc2840 Run post-install hoooks before build stage is removed.
- Build will properly fail when post-install hoooks fail.

- Post-install hooks have a proper working directory set now.
2016-03-27 11:47:20 -07:00
Todd Gamblin
66bb71534b Better blas/lapack and scipy packages: more robust, added shared variants.
- py-scipy now builds with netlib-lapack, openblas, and atlas.
- started a convention for passing lib info from blas/lapack implementations.

- Improved netlib-lapack:
  - Also build static libs when `shared` variant is enabled.
  - Enable CBLAS  build
    - needed minor patch to build correctly.

- Added `shared` variant to OpenBLAS.
  - Made OpenBLAS build properly shared and static.
2016-03-27 11:32:42 -07:00
Todd Gamblin
cde3320582 Add a method to find the containing directory of a library. 2016-03-27 11:32:42 -07:00
Todd Gamblin
dce590fb21 Add a dso_suffix variable to build_environment
- Consolidate this in one place so that we don't have to do it in every build.

- Will update further once better OS support is committed.  Shoudl
  really be an attribute of the forthcoming `Platform` class.
2016-03-27 11:32:42 -07:00
Todd Gamblin
b0b882cbb3 Speed up directives by skipping debug info in stack traversal.
- `caller_locals()` doesn't need debug info, only frame locals.
- `get_calling_module()` doesn't either.

- Changed calls to `inspect.stack()` -> `inspect.stack(0)`
2016-03-27 11:30:09 -07:00
Denis Davydov
439d3b3ddb mumps: add install_name / soname 2016-03-27 17:38:25 +02:00
citibeth
cc42391e0f Added py-netcdf 2016-03-27 11:06:10 -04:00
Denis Davydov
69ebc8173e use global tool to fix install_name 2016-03-27 16:04:13 +02:00
Denis Davydov
9cff241ad5 fix install name on Darwin 2016-03-27 10:39:09 +02:00
Denis Davydov
a82a587b32 lower requirement on mumps 2016-03-27 06:17:43 +02:00
citibeth
4a6b5d5247 Update to documentation formatting. 2016-03-27 00:14:10 -04:00
citibeth
9b130e1d19 Added googletest package. 2016-03-26 20:42:35 -04:00
citibeth
a1c965d70d Fixed imports to make `git spconfig` work after recent merge from develop. 2016-03-26 20:40:22 -04:00
Elizabeth F
11ca06b104 Added new py-cython version 2016-03-26 20:37:02 -04:00
Denis Davydov
9c391bbda1 minor changes to variants 2016-03-26 20:52:08 +01:00
Denis Davydov
965ce633c3 cleanup variants 2016-03-26 18:51:59 +01:00
Denis Davydov
f603c82e81 qualify Amesos link errors 2016-03-26 18:43:55 +01:00
Elizabeth F
497adc3b42 Added new version; old versions don't work with Python3. 2016-03-25 22:47:37 -04:00
Peter Scheibel
06c98320a8 handle case where file contents change but resource name does not (e.g. if resource maintainer uses same name for each new version of a package) 2016-03-25 18:38:26 -07:00
Gregory Becker
57ced37229 Fixed a bug in the testing 2016-03-25 17:03:49 -07:00
Gregory Becker
618a9b2d7b Fixed bug in platform names that I introduced yesterday 2016-03-25 15:41:22 -07:00
Denis Davydov
c7011d21aa update dependencies. Builds fine on OSX 2016-03-25 22:15:39 +01:00
Elizabeth F
9889b1a5fe Added documentation for StagedPackage, etc. 2016-03-25 17:15:15 -04:00
Elizabeth F
8f675b0ee8 Made StagedPackage user-visible. 2016-03-25 17:15:06 -04:00
citibeth
358b387283 Merge remote-tracking branch 'upstream/develop' into efischer/160311-StagedPackage 2016-03-25 17:14:35 -04:00
Todd Gamblin
42ec822379 Merge pull request #633 from davydden/netcdf_curl
make netcdf link against Spack's curl
2016-03-25 12:54:53 -07:00
Todd Gamblin
8b2e79bcfa Merge pull request #485 from epfl-scitas/packages/blas_lapack_providers
reworking package : netlib
2016-03-25 12:53:46 -07:00
Todd Gamblin
680563cc4c Merge pull request #630 from davydden/metis_parmetis
Metis parmetis cleanup
2016-03-25 12:52:19 -07:00
Todd Gamblin
1d2d4b94c5 Merge pull request #629 from adamjstewart/fixes/info
Fix spack info indentation
2016-03-25 12:49:35 -07:00
citibeth
8019748396 Merge remote-tracking branch 'upstream/develop' into efischer/160311-StagedPackage
# Conflicts:
#	lib/spack/spack/package.py
2016-03-25 15:36:54 -04:00
Denis Davydov
6699399e51 add when to depends_on scalapack 2016-03-25 17:00:42 +01:00
Denis Davydov
eec50b524b minor cleanup 2016-03-25 16:58:14 +01:00
Denis Davydov
5172f09b9f builds on OSX again (modulo CC wrappers are solved) 2016-03-25 16:47:48 +01:00
Denis Davydov
26a72619ae add missing sys 2016-03-25 12:42:26 +01:00
Denis Davydov
21e81e92a9 try to disable VerifyFortranC tests on Darwin 2016-03-25 12:05:48 +01:00
Denis Davydov
828aeefb1d minor cleanup 2016-03-25 12:01:00 +01:00
Denis Davydov
7f2db8c267 fix w GCC 4.8 on Ubuntu but broke w GCC 5.3/Clang on OSX 2016-03-25 11:56:41 +01:00
Denis Davydov
d096b155f4 fix filter_file 2016-03-25 11:56:40 +01:00
Denis Davydov
c33a63cabc fix python installation 2016-03-25 11:56:40 +01:00
Denis Davydov
416fcd0810 same 2016-03-25 11:56:40 +01:00
Denis Davydov
0fc9326a4c add variants 2016-03-25 11:56:40 +01:00
Denis Davydov
df995c4ef8 minor cleanup 2016-03-25 11:56:40 +01:00
Denis Davydov
8c9f887613 finally builds 2016-03-25 11:56:40 +01:00
Denis Davydov
3f12a51759 keep fiddling 2016-03-25 11:56:40 +01:00
Denis Davydov
e51fe2934e fiddle more 2016-03-25 11:56:40 +01:00
Denis Davydov
fade526ae4 remove tbb 2016-03-25 11:56:40 +01:00
Denis Davydov
7897f10126 fiddle with fortran 2016-03-25 11:56:40 +01:00
Denis Davydov
eb5b0767aa remove gfortran as we have libnotfound... 2016-03-25 11:56:40 +01:00
Denis Davydov
2fb599ea86 minor 2016-03-25 11:56:39 +01:00
Denis Davydov
50e4b609c6 minor 2016-03-25 11:56:39 +01:00
Denis Davydov
7e4e2c988a minor 2016-03-25 11:56:39 +01:00
Denis Davydov
88a7a23132 even more 2016-03-25 11:56:39 +01:00
Denis Davydov
2162627f35 more 2016-03-25 11:56:39 +01:00
Denis Davydov
bc3314a57d more and more 2016-03-25 11:56:39 +01:00
Denis Davydov
45b4895888 patch 2016-03-25 11:56:39 +01:00
Denis Davydov
b6a35716ce same 2016-03-25 11:56:39 +01:00
Denis Davydov
b91a155e8d more specific about dependencies 2016-03-25 11:56:39 +01:00
Denis Davydov
18db930866 rearrange 2016-03-25 11:56:39 +01:00
Denis Davydov
76006fc346 fix typo 2016-03-25 11:56:38 +01:00
Denis Davydov
30ba96e58f same 2016-03-25 11:56:38 +01:00
Denis Davydov
83fea631f1 extend trilinos 2016-03-25 11:56:38 +01:00
Massimiliano Culpo
f15249afe5 Merge branch 'develop' of https://github.com/LLNL/spack into packages/blas_lapack_providers
Conflicts:
	var/spack/repos/builtin/packages/py-numpy/package.py
2016-03-25 11:05:05 +01:00
Denis Davydov
3e39daeb12 add fPIC to MUMPS when building shared libs 2016-03-25 09:56:24 +01:00
Denis Davydov
fd67da607e make netcdf link against Spack's curl 2016-03-25 09:32:48 +01:00
Josh Sixsmith
540e57f026 Upload of GDAL, kealib, openjpeg, py-tuiview package builds. 2016-03-25 18:27:02 +11:00
Denis Davydov
fdd7e91ba0 add shared variant to mumps (needed for Trilinos) plus tests 2016-03-25 06:56:46 +01:00
Peter Scheibel
bd5abb2922 spacing issue 2016-03-24 19:48:15 -07:00
Peter Scheibel
6423eab917 implemented cache_local method for DIY stage (as a noop) 2016-03-24 19:45:10 -07:00
Peter Scheibel
142d1f5cbc stage creates cache fetcher with cache object (so it can be mocked for tests) 2016-03-24 19:28:21 -07:00
Gregory Becker
315623d361 Fixed things from merge. 2016-03-24 16:55:46 -07:00
Denis Davydov
03c8a91f6a parmetis: avoid hardcoding -lm; use same approach as in METIS 2016-03-24 22:33:10 +01:00
Denis Davydov
0d4d201b70 patch parmetis to use external GKlib 2016-03-24 21:24:03 +01:00
Denis Davydov
7fb463abb9 install GKlib headers along with METIS 2016-03-24 21:24:03 +01:00
Adam J. Stewart
9985816642 Fix spack info indentation 2016-03-24 14:49:41 -05:00
Peter Scheibel
fe71ba992d remove unused import 2016-03-24 12:16:50 -07:00
Peter Scheibel
13bf7d4ff1 (1) move definition of MockCache to test command (no definitions or extra work is required in MockPackagesTest) (2) removing outdated logic (which originated in this branch) and minor cleanup 2016-03-24 12:02:39 -07:00
Todd Gamblin
38ea75e8ca Merge pull request #490 from epfl-scitas/packages/atlas
atlas : provides both 'blas' and 'lapack'
2016-03-24 11:24:04 -07:00
Todd Gamblin
823edd0bb2 Merge pull request #627 from adamjstewart/features/numpy-scipy
Simplify NumPy dependencies
2016-03-24 11:05:09 -07:00
Todd Gamblin
3be081f476 Merge pull request #628 from alfredo-gimenez/develop
Remove incorrect sanity check for libelf
2016-03-24 11:01:46 -07:00
Alfredo Gimenez
254f65f299 Remove incorrect sanity check for libelf 2016-03-24 10:48:38 -07:00
Adam J. Stewart
8643e21913 Simplified NumPy dependencies 2016-03-24 12:34:58 -05:00
Todd Gamblin
b1cd8ea241 Merge pull request #625 from epfl-scitas/pythonpath
Fix : PYTHONPATH missing in module files
2016-03-24 03:25:59 -07:00
alalazo
758a9c9096 python extensions : create PYTHONPATH in module files 2016-03-24 10:57:46 +01:00
Todd Gamblin
7cf1b7ed51 Merge pull request #613 from davydden/superlu_dist_fix_lib
fix superlu-dist lib installation
2016-03-24 02:54:43 -07:00
Todd Gamblin
1306cdd998 Merge pull request #618 from epfl-scitas/fixes/espresso_no_module
fix : no module file gets generated by espresso
2016-03-24 02:53:56 -07:00
Todd Gamblin
4be8472f61 Merge pull request #612 from davydden/mumps_osx
fix MUMPS build on OSX (set parallel=False)
2016-03-24 02:53:29 -07:00
Todd Gamblin
f031bdfbc9 Merge pull request #617 from epfl-scitas/features/disable_modules
feature : module file generation may be disabled via configuration file
2016-03-24 02:52:45 -07:00
Todd Gamblin
e1848c1d28 Merge pull request #624 from davydden/parmetis_gnu
fix parmetis on Ubuntu with GNU compilers by linking to lm
2016-03-24 02:44:40 -07:00
Todd Gamblin
c83d22b5fc Merge pull request #587 from cyrush/cmake_pkg_openssl_as_variant
cmake package: add variant for openssl support
2016-03-24 02:42:39 -07:00
Denis Davydov
9b8b17b6f1 fix parmetis on Ubuntu with GNU compilers by linking to lm 2016-03-24 10:36:02 +01:00
alalazo
e4adc675e5 module files configuration : added default configuration 2016-03-24 10:04:02 +01:00
alalazo
f095e619b9 module files configuration : enable/disable logic is now positive 2016-03-24 09:31:28 +01:00
Peter Scheibel
dbfa6c925e replace references to cache directory with references to new cache object. tests may assign a mock cache but by default it is None (this will avoid any implicit caching behavior confusing unit tests) 2016-03-23 20:18:58 -07:00
Peter Scheibel
ed0f6f75a7 clear test cache before and after each MockPackagesTest (I think Ive got a better way to avoid test fragility but Ill add this for now) 2016-03-23 19:49:28 -07:00
Todd Gamblin
b10a98a3ac Merge pull request #622 from davydden/blasklist_openblas_0216
blacklist Openblas 0.2.16 for missing _dggsvd_ and _sggsvd_
2016-03-23 19:07:11 -07:00
Denis Davydov
4e5dfc8b18 fix missing (depricated) _dggsvd_ and _sggsvd_ in Openblas 0.2.16 2016-03-23 22:09:39 +01:00
Gregory Becker
688eca23ff cleanup 2016-03-23 09:54:57 -07:00
alalazo
acaa589bdd Merge branch 'develop' of https://github.com/LLNL/spack into packages/blas_lapack_providers
Conflicts:
	var/spack/repos/builtin/packages/netlib-lapack/package.py
2016-03-23 17:25:00 +01:00
alalazo
34a8f0c96b espresso : fixes #454 2016-03-23 17:01:52 +01:00
alalazo
d93f2b335d modules : fixed annoying indent 2016-03-23 16:04:36 +01:00
alalazo
0fbdb3f65d modules : added configuration file with disable keyword 2016-03-23 15:54:26 +01:00
Todd Gamblin
cc582dd4b4 Add mock python package. 2016-03-23 02:03:27 -07:00
Todd Gamblin
091fcc3aa9 Merge pull request #599 from davydden/slepc
add Slepc package
2016-03-23 01:53:32 -07:00
Todd Gamblin
a4f5084589 Merge pull request #609 from xjrc/packages/silo
Update Package : Silo
2016-03-23 01:52:56 -07:00
Todd Gamblin
71c976d212 Merge pull request #611 from davydden/p4est
add p4est package
2016-03-23 01:52:38 -07:00
Todd Gamblin
38350ae33d resurrect preferred=True option for packages lost in merge of externals support.
- Pyton 2.7.11 is preferred again.
2016-03-23 01:32:54 -07:00
Denis Davydov
01918a6f48 fix MUMPS build on OSX (set parallel=False) 2016-03-23 09:29:24 +01:00
Todd Gamblin
c4134ee71e Fix #608: broken numpy build.
- Failed to catch all instances of modify_module when it was renamed
  to setup_dependent_package.

- Refactored remaining modify_module calls.

- Also modified Python's setup_dependent_package slightly: only
  creates empty site-packages directory for Python extensions now, not
  for all dependents.
2016-03-23 00:36:32 -07:00
Denis Davydov
5b3c96a9bb fix superlu-dist lib installation 2016-03-23 08:07:45 +01:00
Peter Scheibel
cb9fba98d8 (1) relocate cache for tests (2) initial approach for restoring unit tests (just for git tests although the same concept applies to the other unit tests which are failing - namely those for svn and hg) 2016-03-22 19:37:47 -07:00
Joseph Ciurej
474db2085e Simplified the 'url_for_version' function for the 'Crypto++' package. 2016-03-22 15:55:54 -07:00
Gregory Becker
7c729d4c3c Merged newarch into merge 2016-03-22 15:22:51 -07:00
Denis Davydov
0ee993569f add deal.ii package 2016-03-22 23:04:59 +01:00
Denis Davydov
6c8d51f403 add p4est package 2016-03-22 22:58:14 +01:00
Denis Davydov
24264eb00e add slepc package 2016-03-22 22:44:10 +01:00
Denis Davydov
27f337aa11 petsc: set PETSC_DIR in dependent_env 2016-03-22 22:12:01 +01:00
Todd Gamblin
2d69f386d0 Merge pull request #600 from davydden/arpack_mpi_fix
arpack: fix for +mpi variant
2016-03-22 13:05:55 -07:00
Todd Gamblin
4a15477783 Merge pull request #605 from davydden/hypre_osx
temporary fix Hypre for OSX by building static lib by default
2016-03-22 12:42:14 -07:00
Todd Gamblin
8823a5ac1c Merge pull request #602 from davydden/oce
add OCE package
2016-03-22 12:41:14 -07:00
Todd Gamblin
cb2e6c9d02 Merge pull request #603 from davydden/tbb
add Intel TBB package
2016-03-22 12:40:49 -07:00
Todd Gamblin
4f44431900 Merge pull request #606 from davydden/gettext
add gettext package
2016-03-22 12:38:34 -07:00
Todd Gamblin
20a00c4cdf Merge pull request #607 from davydden/muparser
add muparser package
2016-03-22 12:38:17 -07:00
Joseph Ciurej
1728a0c3e6 Updated the 'crypto++' package to use an improved URL formation scheme (inspired by changes made to the 'Silo' package). 2016-03-22 12:33:11 -07:00
Joseph Ciurej
d05e4581c9 Added the '+silex' variant to the Silo package.
Added a number of different versions to the Silo package.
2016-03-22 12:31:26 -07:00
Denis Davydov
fd1784369a add muparser package 2016-03-22 19:50:15 +01:00
Denis Davydov
5f68e14d3b add gettext package 2016-03-22 19:41:31 +01:00
Kelly (KT) Thompson
1eb7b8cf46 + Add a validate function that refuses to build numdiff if arch is darwin-x86_64. 2016-03-22 12:31:27 -06:00
Cyrus Harrison
e56f5c4d6b add Intel TBB package 2016-03-22 19:21:34 +01:00
Erik Schnetter
7618dc504c temporary fix Hypre for OSX by building static lib by default 2016-03-22 19:18:04 +01:00
Peter Scheibel
75460d8586 URLFetchStrategy.archive does a copy vs. a move now 2016-03-22 10:43:43 -07:00
Kelly (KT) Thompson
1f8d79b69a + Provide a ~perl variant to support building on systems w/o the perl-devel
package installed.
2016-03-22 09:33:49 -06:00
Denis Davydov
d25026b749 add OCE package 2016-03-22 16:26:16 +01:00
Kelly (KT) Thompson
3214cd0d56 Merge remote-tracking branch 'upstream/develop' into pkg-graphviz 2016-03-22 09:24:31 -06:00
alalazo
1664d1b503 travis : removed external directory from the list under coverage 2016-03-22 15:59:58 +01:00
alalazo
6e847b7d76 Merge branch 'develop' of https://github.com/LLNL/spack into qa/coding_standard
Conflicts:
	.travis.yml
2016-03-22 15:57:35 +01:00
Kelly (KT) Thompson
6e0e6d2654 Merge remote-tracking branch 'upstream/develop' into pkg-numdiff 2016-03-22 08:32:56 -06:00
Denis Davydov
6eb97a30a3 arpack: fix for +mpi variant 2016-03-22 14:24:27 +01:00
Todd Gamblin
e32eb7e990 Merge pull request #585 from davydden/mumps_w_parmetis
fix mumps: when installed with parmetis has to be linked with metis
2016-03-22 02:44:04 -07:00
Todd Gamblin
f323f54704 Merge pull request #591 from epfl-scitas/package/llvm
llvm : added version 3.8.0
2016-03-22 02:22:39 -07:00
Todd Gamblin
1a3bdf03c3 Merge pull request #598 from davydden/suite_sparse_rename
Suite sparse rename
2016-03-22 02:15:08 -07:00
Todd Gamblin
eed0ccad73 Merge pull request #597 from davydden/arpack
arpack: add a patch for 3.3
2016-03-22 02:10:14 -07:00
Todd Gamblin
a5a4cce7f1 Merge pull request #582 from KineticTheory/develop
+ Provide fpic variant for netlib-lapack.
2016-03-22 02:05:43 -07:00
Todd Gamblin
a26992ef55 Change from PR #552: rename setup_dependent_python_module -> setup_dependent_package
- Fixed in package.py
- Fixed wrong prototypes in packages that use it.
- Fixed build_environment to set module variables properly
  - added hacky fix to ensure spec/package consistency in build processes.
  - Need to think about defensive spec copy done by `Repo.get`.  May be
    time to think about an immutable spec implementation.
2016-03-22 01:56:16 -07:00
Denis Davydov
cb97e8dd93 adjust eigen and octave to use new names of suite sparse 2016-03-22 09:43:37 +01:00
Denis Davydov
3c5a1605d5 adjust the class name for suite sparse 2016-03-22 09:27:39 +01:00
Denis Davydov
aca8b5c89d move suite sparse to a proper folder 2016-03-22 09:27:00 +01:00
Denis Davydov
23bf70296e arpack: add a patch for 3.3 2016-03-22 09:24:15 +01:00
Todd Gamblin
3f32dd767e Merge pull request #589 from davydden/petsc_osx
fix petsc on osx
2016-03-22 00:33:34 -07:00
Peter Scheibel
41a97c8f80 temporarily wrap archiving with conditional to avoid moving (this still causes a failure on the initial download) 2016-03-21 20:55:23 -07:00
Peter Scheibel
b255f02762 undoing whitespace-only diff 2016-03-21 20:50:26 -07:00
Peter Scheibel
ee5e507ff6 pursuing a strategy using fetch.archive and treating var/spack/cache as a mirror. this should support both URLFetchStrategy as well as VCSFetchStrategy (the previous strategy supported only the former). this won't work until URLFetchStrategy.archive is updated 2016-03-21 20:48:12 -07:00
Kelly (KT) Thompson
7ec450912d + Provide subversion and required packages apr and apr-util.
+ Installation of subversion may need to be modified to include python and perl
  bindings. I have provided comments to this end, but the code is not active.
2016-03-21 21:14:03 -06:00
Kelly (KT) Thompson
039efd55d5 Merge remote-tracking branch 'upstream/develop' into pkg-graphviz 2016-03-21 20:43:22 -06:00
Kelly (KT) Thompson
8bf8617876 Merge remote-tracking branch 'upstream/develop' into pkg-numdiff 2016-03-21 20:42:21 -06:00
Kelly (KT) Thompson
4b46e21685 + Provide package numdiff. 2016-03-21 19:55:54 -06:00
Todd Gamblin
b1516f64eb Rename some environment methods to be less repetitive, add set_path. 2016-03-21 16:01:40 -07:00
Todd Gamblin
439d47b4e4 Refactor environment setup.
- Gave setup_environment and setup_dependent_environment more similar
  signatures. They now allows editing the Spack env and the runtime
  env for *this* package and dependents, respectively.

- modify_module renamed to setup_dependent_python_module for symmetry
  with setup_dependent_environment and to avoid confusion with
  environment modules.

- removed need for patching Package objects at runtime.

- adjust packages to reflect these changes.
2016-03-21 16:01:35 -07:00
Todd Gamblin
e88df95b42 Remove unused code from modules.py 2016-03-21 16:01:26 -07:00
Todd Gamblin
48b35bb495 Fix print function in uninstall.py 2016-03-21 16:00:50 -07:00
Todd Gamblin
861a235ecb Merge pull request #552 from epfl-scitas/features/env_objects_flying_around
enhancement proposal : customization of module files
2016-03-21 15:56:20 -07:00
Kelly (KT) Thompson
799f1f6768 Merge remote-tracking branch 'upstream/develop' into pkg-graphviz 2016-03-21 16:24:17 -06:00
Todd Gamblin
624e56db6a Merge pull request #592 from mathstuf/paraview-python
Paraview python
2016-03-21 14:59:41 -07:00
Todd Gamblin
77b94f6030 Merge pull request #595 from mplegendre/bugfix/issue-573-concretize-compilers
Bugfix/issue 573 concretize compilers
2016-03-21 14:59:15 -07:00
Matthew LeGendre
5d06daeb5e Add test for issue 573, child with compiler not respected in concretization 2016-03-21 14:28:34 -07:00
Matthew LeGendre
b79fce76cb Fix issue 573 where Spack was ignoring user's compiler preference in concretization 2016-03-21 14:28:07 -07:00
Todd Gamblin
6f9a0e73bb Merge pull request #594 from davydden/superlu_dist
add superlu_dist package
2016-03-21 10:46:03 -07:00
Denis Davydov
953fb35f82 add superlu_dist package 2016-03-21 18:00:32 +01:00
Ben Boeckel
553fff270a paraview: disallow python3
ParaView is not Python3-ready.
2016-03-21 11:55:09 -04:00
Ben Boeckel
8e77f17760 paraview: fix variant description typo 2016-03-21 11:55:09 -04:00
Ben Boeckel
c5c92d50eb paraview: remove trailing whitespace 2016-03-21 11:24:36 -04:00
alalazo
efef229b85 Merge branch 'develop' of https://github.com/LLNL/spack into package/llvm 2016-03-21 16:22:34 +01:00
alalazo
7569204a53 llvm : does not support python 3 2016-03-21 16:18:02 +01:00
Denis Davydov
3a3443dff6 parmetis patches by PETSc developers 2016-03-21 15:14:48 +01:00
alalazo
3fcaf5b903 llvm : update to 3.8.0 2016-03-21 14:47:05 +01:00
Denis Davydov
b926d8a0cd build parmetis against external metis 2016-03-21 14:33:00 +01:00
alalazo
fbeffee91e Merge branch 'develop' of https://github.com/LLNL/spack into features/env_objects_flying_around
Conflicts:
	lib/spack/spack/package.py
	var/spack/repos/builtin/packages/netlib-scalapack/package.py
2016-03-21 09:46:49 +01:00
alalazo
aef6d50b08 uninstall : fixed typo (print statement vs. print function) 2016-03-21 09:23:25 +01:00
Denis Davydov
7b283bfaff fix petsc on osx 2016-03-21 07:50:10 +01:00
Cyrus Harrison
bba66cbe28 cmake: depend on openssl when openssl variant=true 2016-03-20 19:27:22 -07:00
Cyrus Harrison
d493658a58 cmake package: add variant for openssl support
The openssl variant defaults to true to preserve spack's
current CMake configuration, which is using OpenSSL.

Signed-off-by: Cyrus Harrison <cyrush@llnl.gov>
2016-03-20 15:32:54 -07:00
Todd Gamblin
c0f0350634 Merge pull request #583 from davydden/openblas_osx
fix openblas suffix for OS-X
2016-03-20 03:37:30 -07:00
Todd Gamblin
6251c97cd5 Merge pull request #584 from davydden/scalapack_osx
fix library scalapack suffix for osx
2016-03-20 03:37:10 -07:00
Denis Davydov
db61a09cf1 fix mumps: when installed with parmetis has to be linked with metis 2016-03-20 09:47:15 +01:00
Denis Davydov
95ad2875b6 fix scalapack suffix for osx 2016-03-20 09:27:07 +01:00
Denis Davydov
620c120503 fix openblas suffix for OS-X 2016-03-20 09:26:11 +01:00
Kelly (KT) Thompson
ed0b5e649d + Provide fpic variant for netlib-lapack. 2016-03-19 20:45:35 -06:00
Todd Gamblin
d02d72e06d Merge pull request #581 from eschnett/eschnett/bash-u
Support Bash "-u" mode
2016-03-19 15:51:29 -07:00
Erik Schnetter
f5f7d47be1 Support Bash "-u" mode 2016-03-19 18:42:39 -04:00
Peter Scheibel
d632266a40 move cache to var/spack/cache 2016-03-18 17:15:45 -07:00
Peter Scheibel
fd067dd8b8 since only archives with checksums can be retrieved from the cache, make sure that an archive without a checksum isnt placed there (this wouldn't cause an error but does waste space and might be confusing) 2016-03-18 17:00:13 -07:00
Peter Scheibel
ac7323118e rename for clarity 2016-03-18 16:34:45 -07:00
Todd Gamblin
c50d6ac902 Merge pull request #578 from LLNL/features/gh-294-abort-build
Features/gh 294 abort build
2016-03-18 16:32:23 -07:00
Peter Scheibel
16fa40b893 (1) add a var/cache directory under spack. (2) downloads from URLFetchStrategy check the cache and skip the download if the source is available there. 2016-03-18 15:50:24 -07:00
Todd Gamblin
e9126baaab Add docs for InstallError. 2016-03-18 13:42:45 -07:00
Todd Gamblin
23f3f1adfe Make InstallError and ExternalPackageError visiible in packages. 2016-03-18 13:32:37 -07:00
Todd Gamblin
741bea032c Merge pull request #574 from LLNL/features/flattener
Created flatten_dependencies function
2016-03-18 12:13:48 -07:00
Gregory Becker
151b04637e changed function name and removed hardcoded libs dir 2016-03-18 11:55:31 -07:00
Gregory Becker
af7e3cadde cleanup 2016-03-18 11:34:07 -07:00
Gregory Becker
76672a4e34 Refactoring flat_install 2016-03-18 11:28:44 -07:00
Todd Gamblin
4e9ba49272 Merge pull request #576 from adamjstewart/features/tar
Add support for .tar files
2016-03-18 11:13:17 -07:00
Adam J. Stewart
6acb830263 Add support for .tar files 2016-03-18 13:03:55 -05:00
Todd Gamblin
fb60d01f6a Merge pull request #569 from drbenmorgan/gcc-suffixes
Add additional suffixes for GCC compiler
2016-03-18 10:15:19 -07:00
Gregory Becker
80495e50f9 added error class for error that should never come up 2016-03-18 09:46:18 -07:00
Gregory Becker
1fa38689d8 Created flatten_dependencies function that dummy packages can use to create sane install environments. 2016-03-18 09:35:56 -07:00
alalazo
491babd5cd env modifications : added a validation rule 2016-03-18 17:09:20 +01:00
alalazo
1e468c5541 modules : added formats mapping 2016-03-18 16:02:44 +01:00
alalazo
ccd90df62f modules : turned category into a property (logic can be extended later) 2016-03-18 15:41:14 +01:00
alalazo
67ca2c704b modules : fixed bug in modify_module arguments 2016-03-18 15:18:26 +01:00
alalazo
5f6f2d5f51 Revert "openssl : solved glitch to prevent spack to freeze when the network is unreachable"
This reverts commit 4cf4bf3a03.
2016-03-18 14:42:24 +01:00
alalazo
ec8cc2b528 PYTHONPATH : python patches methods for its extensions 2016-03-18 14:40:53 +01:00
Ben Morgan
076cc764a7 Add additional suffixes for GCC compiler 2016-03-18 11:26:22 +00:00
alalazo
82ba0c6c07 Merge branch 'bugfix/openssl' into features/env_objects_flying_around 2016-03-18 11:08:55 +01:00
Erik Schnetter
3b24db92b5 Update PAPI to 5.4.3 2016-03-18 11:08:16 +01:00
alalazo
4cf4bf3a03 openssl : solved glitch to prevent spack to freeze when the network is unreachable 2016-03-18 11:05:59 +01:00
alalazo
f9438c75d0 Merge branch 'develop' of https://github.com/LLNL/spack into features/env_objects_flying_around 2016-03-18 10:26:34 +01:00
Erik Schnetter
f3ea0420f8 Import recent changes 2016-03-17 21:53:13 -04:00
Todd Gamblin
179ed7cce6 Merge pull request #566 from eschnett/eschnett/papi
Update PAPI to 5.4.3
2016-03-17 18:52:44 -07:00
Todd Gamblin
1689131043 Merge pull request #567 from eschnett/eschnett/openblas
Update OpenBLAS to 0.2.16
2016-03-17 18:52:32 -07:00
Erik Schnetter
84b7cd593f Merge branch 'develop' into correct-cc
# Conflicts:
#	lib/spack/env/cc
2016-03-17 21:52:24 -04:00
Todd Gamblin
a88c02854a Merge pull request #565 from eschnett/eschnett/curl
Update curl to 7.47.1
2016-03-17 18:52:02 -07:00
Erik Schnetter
1b279cd7ff Update OpenBLAS to 0.2.16 2016-03-17 21:51:26 -04:00
Erik Schnetter
802acb4d16 Update PAPI to 5.4.3 2016-03-17 21:50:21 -04:00
Todd Gamblin
90268876f7 Change sanity_check_[file|dir] to sanity_check_is_[file|dir], per #554
- Add documentation as well.
2016-03-17 18:49:58 -07:00
Erik Schnetter
9e4c757f50 Update curl to 7.47.1 2016-03-17 21:49:36 -04:00
alalazo
e558809043 python : fixed typo 2016-03-17 19:32:31 +01:00
alalazo
ac394718ec python : implemented possible solution 2016-03-17 18:22:07 +01:00
alalazo
e673127263 package : added documentation 2016-03-17 18:11:23 +01:00
alalazo
38c3c84969 environment : added caller information 2016-03-17 17:37:33 +01:00
alalazo
3da4d6664b environment : simplified hierarchy according to comments in review 2016-03-17 15:38:08 +01:00
alalazo
f0f0663d1b package : split environment_modifications into setup_environment and setup_dependent_environment.
package : renamed `module_modifications` to `modify_module` for consistency
2016-03-17 15:11:39 +01:00
alalazo
9cdd79e33f modules : restored previous logic for path inspection 2016-03-17 14:14:18 +01:00
Kelly (KT) Thompson
f07d4c9439 + Provide ~perl and ~shared variants. 2016-03-16 21:30:41 -06:00
Todd Gamblin
63f9f4291a Merge pull request #560 from citibeth/efischer/160316-GitFix
Disabled Vulnerable Git Versions
2016-03-16 14:03:33 -07:00
becker33
d46d897ac9 Merge pull request #559 from adamjstewart/typos/mirrors
Fix grammar in mirrors documentation
2016-03-16 13:32:12 -07:00
citibeth
fa2a66db67 1. Disabled git versions known to have vulnerabilities.
2. Added autoconf command to allow building directly from GitHub source.
2016-03-16 15:46:59 -04:00
Adam J. Stewart
bb04d5cc63 Fix grammar in mirrors documentation 2016-03-16 14:27:22 -05:00
Todd Gamblin
905549ea2d Merge pull request #555 from epfl-scitas/packages/binutils
Adding latest version in binutils
2016-03-16 08:39:13 -07:00
Todd Gamblin
39a792adda Merge pull request #554 from LLNL/features/sanity-check-paths
Add sanity check paths to packages; fix #505
2016-03-16 08:38:47 -07:00
alalazo
ac762e95a6 modules : removed dead code 2016-03-16 16:23:02 +01:00
alalazo
597727f8be tclmodules : added hooks to process EnvironmentModifications objects 2016-03-16 15:19:13 +01:00
Nicolas Richart
9c29966674 Change urls in binutils to help 'spack checksum/versions' + adding latest version 2016-03-16 12:57:17 +01:00
alalazo
b45ec3f04e environment : simplified modification of the environment 2016-03-16 10:55:28 +01:00
alalazo
b2c98feea4 Merge branch 'develop' of https://github.com/LLNL/spack into features/env_objects_flying_around 2016-03-16 09:02:35 +01:00
Todd Gamblin
68d22253ec Add sanity checks to the libelf build. 2016-03-15 17:22:48 -07:00
Todd Gamblin
7eca383b10 Add sanity check paths to packages; fix #505 2016-03-15 17:16:04 -07:00
Matthew LeGendre
108ea1522a Merge pull request #549 from LLNL/bugfix/gh538-less-greedy-concretize
Bugfix/gh538 less greedy concretize
2016-03-15 16:18:54 -07:00
Todd Gamblin
15bbd088e6 Fix #551: version bug in spack create
- `spack create` now sets a proper version in generated file, based on
  the filename, even if it can't find any tarballs for the package.
2016-03-15 14:38:06 -07:00
Todd Gamblin
d8a402ae5b Add compiler info and a simple libdwarf build to the checks. 2016-03-15 14:33:10 -07:00
Todd Gamblin
23ba0c3396 Merge pull request #546 from citibeth/efischer/160313-DIYTypoBug
Small bug in DIY found and fixed.
2016-03-15 11:33:11 -07:00
Todd Gamblin
cdd2ea3067 Merge pull request #537 from adamjstewart/features/octave
Add GNU Octave package
2016-03-15 11:23:40 -07:00
alalazo
c8cc6f4fc1 test : fix for python 2.6 2016-03-15 16:59:29 +01:00
alalazo
ccced9f290 package : optimized imports 2016-03-15 15:12:39 +01:00
alalazo
cc3d9f4eb7 environment : added test, modified docs 2016-03-15 15:09:35 +01:00
alalazo
572cb93bf8 package : renamed setup_dependent_environment to module_modifications 2016-03-15 14:05:30 +01:00
alalazo
c85888eb57 package : added environment_modifications 2016-03-15 13:36:41 +01:00
alalazo
bcea1df01c environment : refactoreded set_build_environment_variables 2016-03-15 10:49:33 +01:00
alalazo
f20247ae55 environment : refactoreded set_compiler_environment_variables 2016-03-15 10:08:54 +01:00
Adam J. Stewart
0d9a6d3c25 Updates to qrupdate 2016-03-14 14:19:30 -05:00
alalazo
f9923452b3 environment : added machinery to collect modifications to the environment and apply them later 2016-03-14 14:35:48 +01:00
Todd Gamblin
f2761270f3 Make concretization less greedy: add backtracking for virtuals.
- `_expand_virtual_packages` now gets a candidate list and will try
  all the candidates.

  - Good news: If the first virtual in the list conflicts with something else in
               the spec, we'll keep trying until we find a good one.

  - Bad news: Only looks as far as the next normalize(); can't see
              conflicts further ahead than that if they're inevitable
              some other virtual expansion.

- Refactor `concretize.py` to keep all the nasty spec graph stitching in
  `spec.py`. This is more similar to before externals support.

  - `concretize.py` now just returns a list of candidates sorted by
    ABI compatibility to `_expand_virtual_packages`, and `spec.py`
    handles testing the candidates.

- Refactor the way external paths are handled in `config.py` and `concretize.py`:

  - previously, `spec_externals` returned spec/path pairs.  Now it
    returns specs with `external` set. Makes code in `concretize.py`
    more natural.
2016-03-14 05:04:01 -07:00
Todd Gamblin
f45b8b1083 Add some tests for packages with multiple virtual dependencies.
- Added mock `hypre` package, depends on `lapack` and `blas`.

- test cases where some packages provide both `lapack` and `blas`, but
  others do not.
2016-03-14 05:02:50 -07:00
Todd Gamblin
05c761dee9 Add package_class method to spec.
- Shouldn't call .package from within things like normalize() and
  concretize() beacuse spec may be inconsistent.

- Add `.package_class` property so that we can get at package metadata
  without constructing a Package with a Spec.

- should be faster than `.package` was, anyway. Use where possible.
2016-03-14 04:59:29 -07:00
Todd Gamblin
003fd4d834 Optimize __eq__ and __ne__ in key_ordering
- use `is` when possible before calling `_cmp_key()`
2016-03-14 04:55:30 -07:00
Todd Gamblin
ec42db62a3 Merge pull request #547 from eschnett/eschnett/tmux
Update tmux
2016-03-13 20:39:15 -07:00
Erik Schnetter
8b715d9c3f Update tmux 2016-03-13 21:31:48 -04:00
Elizabeth F
5c865b9b70 Fixed typo in typo fix. 2016-03-13 19:44:04 -04:00
Elizabeth F
6f26c45143 Fixed typo bug. Made error comment more explicit 2016-03-13 19:41:09 -04:00
Elizabeth F
3383486adc Fixed typo bug. Made error comment more explicit 2016-03-13 19:39:45 -04:00
Elizabeth F
0426796d9f Fixed typo 2016-03-13 18:14:38 -04:00
Elizabeth F
030e8dd1ac Removed Python 2.7-style string formatting 2016-03-13 18:04:23 -04:00
Elizabeth F
4c9a52044a Fixed CMakePackage import 2016-03-13 15:18:24 -04:00
citibeth
857f791286 Add missing import. 2016-03-13 00:40:50 -05:00
citibeth
9885f1a19e Fix for Python 2.6 2016-03-13 00:34:46 -05:00
citibeth
003957a689 Reverted bad change 2016-03-13 00:33:13 -05:00
Elizabeth F
c1a8574d8f Fixed for Python 2.6 2016-03-13 00:29:40 -05:00
citibeth
4236157823 (1) Added "spack spconfig" command.
(2) Neatened up the spconfig.py auto-generated file.
2016-03-13 00:13:00 -05:00
Todd Gamblin
a6389eb7de Merge pull request #542 from citibeth/efischer/160311-MiscUpdates
Misc. Updates
2016-03-12 14:51:05 -08:00
Elizabeth F
90bb855ffa A new subclass StagedPackage(Package) is introduced. This PR should
not change the behavior for existing packages that subclass from
spack.Package.

If a package subclasses spack.StagedPackage instead of spack.Package,
the install() phase (run inside a forked process) is now separated
into sub-stages:

    a) spconfig: Generate a script spconfig.py that will configure the
       package (eg by running CMake or ./configure) This is for use if
       the user wishes to build externally from Spack.  Therefore, the
       Spack compiler wrappers are NOT used here.  Currently, that
       means that RPATH support is up to the user.

    b) configure: Configure the project (eg: runs configure, CMake,
       etc).  This will configure it for use within Spack, using the
       Spack wrapper.

    c) build: eg: "make"

    d) install: eg: "install"

If one chooses to use StagedPackage instead of Package, then one must
implement each of the install sub-stages as a separate method.
StagedPackage.install() then calls each of the sub-stages as
appropriate.

StagedPackage can be configured to only run certain sub-stages.  This
is done by setting the optional kwarg install_phases when calling
do_install().  Setting install_phases() ONLY has an effect on
StagedPackage, not on any existing packages.  By default,
install_phases is set to make StagedPackage run the same stages that
are normally run for any package: configure, build, install (and NOT
spconfig).

The ability for Spack to run stages selectively for StagedPackage
instances will enable new functionality.  For example, explicit
CMake/Autotools helpers that allow Spack to help configure a user's
project without fetching, building or installing it.

-------------

One implementation of StagedPackage is provided, CMakePackage.  This
has the following advantage for CMake-based projects over using the
standard Package class:

  a) By separating out the phases, it enables future new functionality
     for packages that use it.

  b) It provides an implementation of intall_spconfig(), which will
     help users configure their CMake-based projects.

CMakePackage expects users to implement configure_args() and
configure_env().  These methods provide the package-specific arguments
and environment needed to properly configure the package.  They are
placed in separated functions because they are used in both the
spconfig and configure stages.

TODO:

1. Generate spconfig.py scripts that are more readable.  This allows
   the users to understand how their project is configured.

2. Provide a practical way for the user to ACCESS the spconfig stage
   without building the project through Spack.

3. The CMAKE_TRANSITIVE_INCLUDE_PATH stuff needs to be reworked; it
   should be considered provisional for now.

4. User of Autotools might wish to make a similar ConfigurePackage
   subclass of StagedPackage.

---------------

One package using CMakePackage is introduced.  See ibmisc/package.py.
2016-03-11 23:30:38 -05:00
Elizabeth F
7cd478418d New version of LAPACK 2016-03-11 23:28:36 -05:00
Elizabeth F
90f2e40ff9 Added comment to Emacs. 2016-03-11 23:28:16 -05:00
Adam J. Stewart
145390c7f3 Add gl2ps and qrupdate packages 2016-03-11 16:57:37 -06:00
Todd Gamblin
1179217334 Add compiler info and a simple libdwarf build to the checks. 2016-03-11 13:33:56 -08:00
Todd Gamblin
081bdd0828 Merge pull request #528 from citibeth/efischer/160309-Emacs
Added Emacs package
2016-03-11 13:31:58 -08:00
Adam J. Stewart
6ec65cd4ca Add GNU Octave package 2016-03-11 15:03:37 -06:00
becker33
3060f27909 Merge pull request #536 from adamjstewart/fixes/doc_typos
Documentation typo fixes
2016-03-11 10:53:57 -08:00
Adam J. Stewart
bae03404f4 Documentation typo fixes 2016-03-11 12:51:45 -06:00
Matthew LeGendre
1c7f754e5b Invert and rename the nobuild option in package.yaml configs to buildable. 2016-03-11 10:04:08 -08:00
Todd Gamblin
4574f768ef Merge pull request #526 from KineticTheory/develop
Provide instructions for cmake/3.5.0 (plus 2 new variants) and qt/5.4.2
2016-03-11 09:20:47 -08:00
Kelly (KT) Thompson
f5e8857c5e + Rename variant 'sphinxbuild' to 'doc' as recommended in the discussion of
PR#526. Also, remove a debug print statement that was accidentally committed.
2016-03-11 09:51:12 -07:00
alalazo
1d70b590fc build_environment : fixed minor spelling errors and a few style issues 2016-03-11 13:20:57 +01:00
Todd Gamblin
f40c78a064 Merge pull request #532 from mplegendre/bugfix/ordering_satisfies
Fix issue with preferred satisfies not being respected
2016-03-10 21:50:40 -08:00
Matthew LeGendre
ac88cab68f Fix issue with preferred satisfies not being respected 2016-03-10 17:00:27 -08:00
Todd Gamblin
30df1c838d Merge pull request #531 from mplegendre/bugfix/github-530
Fix type error that was causing mis-ordering of compiler versions
2016-03-10 16:31:52 -08:00
Matthew LeGendre
4693af0736 Fix type error that was causing mis-ordering of compiler versions 2016-03-10 16:23:35 -08:00
Todd Gamblin
2bbf42b49d Indentation change. 2016-03-10 16:18:11 -08:00
Todd Gamblin
670024cf77 Merge branch 'mplegendre-features/external-packages' into develop 2016-03-10 10:07:08 -08:00
Todd Gamblin
caf6dc0f05 Merge pull request #451 from epfl-scitas/fixes/intel_openmpi
Fix : OpenMPI with Intel compiler (and similar issues)
2016-03-10 09:47:59 -08:00
Kelly (KT) Thompson
280384fce3 Merge remote-tracking branch 'upstream/develop' into develop 2016-03-10 09:09:16 -07:00
alalazo
30adc4c9b8 cc : handle spaces in folders? 2016-03-10 14:59:31 +01:00
alalazo
78ef0618bc cc : converted indents to spaces 2016-03-10 14:35:09 +01:00
Massimiliano Culpo
b9fcae8da6 Merge branch 'fixes/intel_openmpi' of github.com:epfl-scitas/spack into fixes/intel_openmpi 2016-03-10 14:11:14 +01:00
Massimiliano Culpo
7ae6c62ddb Fixed shell quoting error 2016-03-10 14:08:43 +01:00
Massimiliano Culpo
835b47c196 Merge branch 'develop' of https://github.com/LLNL/spack into fixes/intel_openmpi 2016-03-10 13:18:03 +01:00
Todd Gamblin
c4fddcc6e9 Add 'provders' back into packages.yaml schema 2016-03-10 03:15:49 -08:00
Todd Gamblin
b637f75164 Merge branch 'mplegendre-features/external-packages' into develop 2016-03-10 02:04:44 -08:00
alalazo
4f14db8af2 netlib-lapack : optional dependency on external blas 2016-03-10 10:34:51 +01:00
Todd Gamblin
82b7067fdf Refactored external packages slightly.
- Move `Spec.__cmp__` out of spec, into concretize as `cmp_specs`.
  - `Spec.__cmp__` was never called (except explicitly) due to rich
    comparison operators from `key_ordering`

- Refactor `_find_other_spec` to free function `find_spec`. Add a test
  for it to make sure it works.
2016-03-10 01:29:55 -08:00
Todd Gamblin
1fe196f95c whitespace and formatting 2016-03-10 01:29:55 -08:00
Todd Gamblin
048c406f49 Remove vestigial variants in directory name. 2016-03-10 01:29:54 -08:00
Todd Gamblin
b0572a5462 Minor tweaks to abi code. 2016-03-10 01:29:54 -08:00
Todd Gamblin
0244d794cd remove unnecessary import 2016-03-10 01:29:54 -08:00
Todd Gamblin
b0377da771 update mirror config documentation.
- mirrors.yaml uses Spack's OrderedDict rather than lists.
2016-03-10 01:29:53 -08:00
Todd Gamblin
ad6625456e Merge pull request #513 from alfredo-gimenez/develop
Variants and fixes to thrift package
2016-03-10 00:59:15 -08:00
Todd Gamblin
c31f797ab0 Merge pull request #527 from LLNL/bugfix/github-525
Bugfix/GitHub 525
2016-03-10 00:58:23 -08:00
Elizabeth F
b701aa10d4 Fixed up 2016-03-09 21:21:25 -05:00
Elizabeth F
267e83d8a7 Added emacs package. 2016-03-09 21:16:50 -05:00
Todd Gamblin
bf1639e044 Merge pull request #522 from epfl-scitas/bugfix/mpfr
change of url for mpfr
2016-03-09 17:17:23 -08:00
Todd Gamblin
52cdcdde76 Fix #525: sbang handles symlinks & directories properly. 2016-03-09 17:15:10 -08:00
Todd Gamblin
f56939c16c Add unit test for sbang patching. 2016-03-09 17:13:41 -08:00
Kelly (KT) Thompson
d51c8997ee Merge branch 'develop' of https://github.com/KineticTheory/spack into develop 2016-03-09 18:01:14 -07:00
Kelly (KT) Thompson
23cbc2b1d9 + Provide download/build instructions for qt/5.4.2.
- This version provides updates to provided cmake scripts that are required
    for building cmake-gui.
+ Provide download/build instructions for version 3.5.0.
  - When building the +qt variant, add a validate function to ensure that
    qt-5.4.0 is not used (this version of qt has errors related to cmake).
2016-03-09 17:59:39 -07:00
Matthew LeGendre
dd0ae255ad Merge branch 'features/external-packages' of github.com:mplegendre/spack into features/external-packages
Conflicts:
	lib/spack/docs/site_configuration.rst
2016-03-09 16:18:37 -08:00
Matthew LeGendre
1f06dd40f7 Update documentation for new packages.yaml config format. 2016-03-09 16:11:53 -08:00
Matthew LeGendre
a384ad5b12 Fix problem with pure integer arguments in preferred versions list (e.g, 2 instead of 2.7.3) 2016-03-09 16:11:33 -08:00
Todd Gamblin
ca10229565 Fixes #524
- Had attempted to add more functionality by assigning different
  meanign None, True, and False values "keep_stage" (where False was
  "always delete").

- Turns out that's not really worth the complexity.  Having the third
  "always delete" sense is hardly ever useful but makes the code hard
  to understand.
2016-03-09 14:56:21 -08:00
Nicolas Richart
6e82ab1f15 change of url for mpfr 2016-03-09 21:18:44 +01:00
Kelly (KT) Thompson
8c96ca42d5 Merge branch 'pkg-qt' into develop. 2016-03-09 12:39:36 -07:00
Todd Gamblin
b93a2ba1cf Merge pull request #520 from LLNL/bugfix/remove-hdf5-unsupported-variant
Removing `unsupported` variant from HDF5.
2016-03-09 11:39:06 -08:00
Kelly (KT) Thompson
113e942c3c Merge remote-tracking branch 'upstream/develop' into develop. 2016-03-09 12:38:48 -07:00
Todd Gamblin
e6a3468598 Merge pull request #519 from LLNL/features/more-petsc-fixes
Merge @citibeth and @alalazo's petsc fixes from #515 and #517
2016-03-09 11:36:27 -08:00
Todd Gamblin
45ef496dd5 Add some descriptive language to a list comprehension. 2016-03-09 11:26:37 -08:00
Alfredo Adolfo Gimenez
383e73a5f5 Remove unneccessary depends_on 2016-03-09 11:25:51 -08:00
Kelly (KT) Thompson
a4d40177fd + Provide download/build instructions for qt/5.4.2.
- This version provides updates to provided cmake scripts that are required
    for building cmake-gui.
2016-03-09 12:20:21 -07:00
Todd Gamblin
d06ebf23d4 Removing unsupported variant from HDF5.
- `unsupported` shouldn't be a variant.
2016-03-09 11:16:35 -08:00
Matthew LeGendre
87db69478d Merge branch 'develop' into features/external-packages
Conflicts:
	lib/spack/spack/package.py
2016-03-09 11:09:37 -08:00
Todd Gamblin
b43c277dc6 Merge @citibeth and @alalazo's petsc fixes from #515 and #517 2016-03-09 10:55:50 -08:00
Todd Gamblin
ad7d89b165 Merge branch 'efischer/160309-HypreFix' of git://github.com/citibeth/spack into citibeth-efischer/160309-HypreFix 2016-03-09 10:54:08 -08:00
Todd Gamblin
8ac1752743 Merge pull request #501 from adamjstewart/patches/m4
Add patch to allow PGI to build M4
2016-03-09 10:29:48 -08:00
Luigi Calori
bf4d51ea0b fix error exit when doing spack patch without parameters, same as spack stage 2016-03-09 09:27:53 -08:00
Adam J. Stewart
8e76cda200 Patch config.hin, not extern-inline.m4 2016-03-09 10:41:31 -06:00
Todd Gamblin
ca343889fc Merge pull request #517 from epfl-scitas/packages/petsc
Improved package : petsc
2016-03-09 08:39:41 -08:00
alalazo
4887936809 Merge branch 'develop' of https://github.com/LLNL/spack into fixes/intel_openmpi 2016-03-09 15:57:31 +01:00
alalazo
24fe8699ea Merge branch 'develop' of https://github.com/LLNL/spack into packages/petsc 2016-03-09 14:37:14 +01:00
alalazo
f01d1c4385 petsc : added variants and logic to build various flavors 2016-03-09 14:36:37 +01:00
Elizabeth F
c67b922185 Added shared library capability. 2016-03-09 00:34:08 -05:00
Elizabeth F
5b22873b3d Fixed issues with hypre:
1. --with-lapack-lib was wrong.
2. --with-MPI was wrong; set env vars for MPI wrappers instead.
3. Added version 2.10.1
4. Added shared library variant (True by default).  Hypre can build shared or static libraries, but not both in the same build.
2016-03-09 00:27:25 -05:00
Todd Gamblin
9c61843737 Fix bugs in DIYStage: fetch & context handling.
- DIYStage needs to be a context handler
- DIYStage.fetch needs to take 2 args.
2016-03-08 13:58:41 -08:00
Todd Gamblin
df84677d16 Make diy generate verbose build output by default.
- added -q option to shut it up
2016-03-08 13:57:13 -08:00
Todd Gamblin
a1be45d0e7 Fix bug with setting module-scope vars in derived package classes. 2016-03-08 13:56:44 -08:00
Alfredo Gimenez
0c7d0c0b6c Variants and fixes to thrift package 2016-03-08 12:26:40 -08:00
Todd Gamblin
a4861a3072 Minor changes/bugfixes on md5/checksum PR 2016-03-08 10:39:46 -08:00
Adam J. Stewart
e0e545774a Add more versions to Autotools 2016-03-08 12:15:40 -06:00
Todd Gamblin
747855b960 Merge branch 'fixes/md5' of git://github.com/epfl-scitas/spack into epfl-scitas-fixes/md5 2016-03-08 09:12:57 -08:00
Todd Gamblin
31cebb969a Merge pull request #504 from LLNL/bugfix/github-502
Bugfix/GitHub 502: Error: No spec file found at path
2016-03-08 03:43:52 -08:00
Todd Gamblin
214deeda54 Merge branch 'features/noexpand' into develop
Conflicts:
	lib/spack/llnl/util/filesystem.py
2016-03-08 03:29:57 -08:00
Todd Gamblin
5aadb6df19 Fixes #502. Create install prefix before build, clean up do_install.
- Fix bug introduced during merge of stage refactor.
  - install prefix was not created before build_environment.fork()
    - build_environment.fork() calls setup_dependent_environment
    - python's setup_dependent_environment can inadvertently create
      the install prefix before directory_layout expects it.

- Clean up Package.do_install:
  - simplify control flow: parent process now entirely responsible for
    creating/destroying the install prefix. cleanup is now in one place.
  - Hoisting cleanup out of the child improves nesting of try/catch in
    `real_work`.
  - `real_work` renamed to `build_process`
2016-03-08 02:50:26 -08:00
Todd Gamblin
18ce5ccf8f Avoid race in pango's make install, set parallel=False 2016-03-08 02:49:11 -08:00
alalazo
77ec27c730 fixed bug : similar issues in checksum and md5 as were solved in ad103dcafa 2016-03-08 11:09:41 +01:00
Adam J. Stewart
b7750cf61c Autoreconf is necessary after patch 2016-03-07 15:52:22 -06:00
Adam J. Stewart
1e7d946d91 Add patch to allow PGI to build M4 2016-03-07 12:37:51 -06:00
Todd Gamblin
96e1b2d25c Merge pull request #486 from RemoteConnectionManager/paraview_fix
Paraview new version
2016-03-07 02:48:12 -08:00
Todd Gamblin
bff7107f56 Merge pull request #491 from citibeth/efischer/160229-NewPackages-2
(2) New packages added: blitz, netcdf-cxx4, netcdf-fortran, proj, udunits2
2016-03-07 02:45:37 -08:00
Todd Gamblin
4d1703fc06 Merge branch 'features/repos-doc-fix' into develop 2016-03-07 02:40:59 -08:00
Todd Gamblin
12ddf241a5 Fix code block in docs. 2016-03-07 02:39:14 -08:00
Todd Gamblin
547933e7e4 Fix bug in -Xlinker argument handling
- also update test to match.
2016-03-07 01:48:26 -08:00
Todd Gamblin
f2bcc6cc35 Merge branch 'eschnett/rpath-comma' of git://github.com/eschnett/spack into eschnett-eschnett/rpath-comma 2016-03-06 23:50:14 -08:00
Todd Gamblin
153841f91a Merge pull request #500 from eschnett/eschnett/openssl-update
Update OpenSSL to 1.0.2g
2016-03-06 21:30:38 -08:00
Erik Schnetter
a399451e1e Update OpenSSL to 1.0.2g 2016-03-06 23:34:48 -05:00
Erik Schnetter
265ef337a8 Don't quote -rpath literal 2016-03-06 23:27:30 -05:00
Todd Gamblin
108277fb5d Fix docs that have gone stale since repos were added. 2016-03-06 19:32:00 -08:00
Todd Gamblin
ada675dea2 Merge branch 'features/sbang' into develop
Conflicts:
	lib/spack/llnl/util/filesystem.py
2016-03-06 19:30:19 -08:00
Todd Gamblin
1ee90a6fe7 Make spack_cc, spack_cxx, spack_f77, spack_fc available in build env.
- Add for convenience for packages that need to refer to these.
- Added an example in the documentation.
2016-03-06 16:57:30 -08:00
Todd Gamblin
240ada5775 Add expand=False option for URL downloads.
- Allows skipping the expand step for downloads.
  - Fixed stage so that it knows expansion didn't fail when there is a
    no-expand URLFetchStrategy.

- Updated docs to reflect new option, and provided an example.
2016-03-06 16:51:09 -08:00
Todd Gamblin
e515042a36 Fix stage creation bug, simplify do_install code. 2016-03-06 01:41:48 -08:00
citibeth
ae87948a23 Fixed URLs
Removed vestigal mpi variant in netcdf-fortran
2016-03-05 23:05:45 -05:00
Todd Gamblin
ad103dcafa Small refactor: add keep parameter to stage, get rid of stage.destroy call.
- package.py uses context manager more effectively.

- Stage.__init__ has easier to understand method signature now.
  - keep can be used to override the default behavior either to keep
    the stage ALL the time or to delete the stage ALL the time.
2016-03-05 20:00:30 -08:00
Todd Gamblin
14d48eba46 Revert c5d9ee8924 for bug fixes.
- This reverts commit c5d9ee8924.

- merged too soon before
- reverting and fixing bugs now.

Conflicts:
	lib/spack/spack/mirror.py
	lib/spack/spack/package.py
2016-03-05 18:40:28 -08:00
Todd Gamblin
c59546fae0 Merge branch 'adamjstewart-features/libsigsegv' into develop 2016-03-05 15:15:08 -08:00
Todd Gamblin
7d847f4dc4 Minor tweaks to m4 -- be sure to add sigsegv args explicitly. 2016-03-05 15:14:21 -08:00
Todd Gamblin
07255da6e9 Merge branch 'features/libsigsegv' of https://github.com/adamjstewart/spack into adamjstewart-features/libsigsegv 2016-03-05 15:06:49 -08:00
Adam J. Stewart
220b6a9fee Make libsigsegv an optional dependency 2016-03-05 16:46:32 -06:00
Todd Gamblin
24f0757d82 Merge pull request #343 from adamjstewart/features/mpc
Add different URL for older source code
2016-03-05 14:37:43 -08:00
Todd Gamblin
3dd630d0a5 Make openssl a variant in libevent. 2016-03-05 14:33:23 -08:00
Todd Gamblin
0b864aacdc Merge branch 'eschnett/libevent' of https://github.com/eschnett/spack into eschnett-eschnett/libevent 2016-03-05 14:23:06 -08:00
Todd Gamblin
ac67f3b53e Merge pull request #487 from spakin/llvm-3.7.1
Added LLVM 3.7.1 support
2016-03-05 14:19:31 -08:00
Todd Gamblin
097df180e2 Merge pull request #493 from adamjstewart/features/pgi
Modifications to get PGI working
2016-03-05 14:19:15 -08:00
Todd Gamblin
a9d7135c19 Merge pull request #495 from alfredo-gimenez/develop
Fixed unmatched function signature for do_fetch in jdk package
2016-03-05 14:16:09 -08:00
Todd Gamblin
bfce2c7508 Fix bug in hook: ensure bin directory exists before listing. 2016-03-05 04:42:52 -08:00
Todd Gamblin
fc6aa7374a Fix #104, #54: issues with overlong shebang in deep directories.
This does several things:

- Add `sbang`: a script to run scripts with long shebang lines.
  - Documentation for `sbang` is in `bin/sbang`.

- Add an `sbang` hook that filters the `bin` directory after install
  and modifies any scripts wtih shebangs that are too long to use
  `sbang` instead.

- `sbang` is at the top level, so it should be runnable (not much we
  can do if spack itself is too deep for shebang)
  - `sbang`, when used as the interpreter, runs the *second* shebang
    line it finds in a script.
  - shoud fix issues with too long shebang paths.
2016-03-05 04:18:48 -08:00
Todd Gamblin
8d2538f205 Merge pull request #496 from LLNL/features/zfp
Adding zfp package.
2016-03-04 17:11:04 -08:00
Mark Miller
f663d37da7 Adding zfp package. 2016-03-04 17:08:11 -08:00
Alfredo Gimenez
f90eaa5f46 Fixed unmatched function signature for do_fetch in jdk package 2016-03-04 14:53:08 -08:00
becker33
6449e8b1b9 Merge pull request #492 from adamjstewart/typos/compiler
Typo fix in compiler docstring
2016-03-04 14:25:56 -08:00
Adam J. Stewart
a7b918837e GNU m4 depends on libsigsegv 2016-03-04 15:22:28 -06:00
Todd Gamblin
dce691e15d Merge pull request #489 from citibeth/efischer/160303-RemovePeriods
Removed periods.  Should help use of cut'n'paste from console windows.
2016-03-04 09:09:26 -08:00
Elizabeth Fischer
648d08eb30 Update package.py
Updated homepage URL to general NetCDF homepage.
2016-03-04 12:05:43 -05:00
Elizabeth Fischer
b043c4a5b8 Update package.py
Removed comments on configure options.
2016-03-04 12:04:41 -05:00
Adam J. Stewart
5db9673904 Typo fix in compiler docstring 2016-03-04 10:51:41 -06:00
Elizabeth F
0eb6ef2cd0 1. Removed fake MPI dependency from netcdf-cxx4 and netcdf-fortran.
2. Removed Fortran bootstrap variant from netcdf.  Users who need NetCDF Fortran interface should install netcdf-fortran.

3. Added result of ./configure --help on the netcdf-fortran.  Verified  the package has no additional options that should be exposed through Spack.
2016-03-04 11:14:52 -05:00
alalazo
a2af4940aa atlas : disabling parallel builds 2016-03-04 09:59:16 +01:00
alalazo
310099d888 atlas : provides blas and lapack 2016-03-04 09:32:01 +01:00
citibeth
202fbc6812 Rmoved periods. Should help use of cut'n'paste from console windows. 2016-03-03 23:40:29 -05:00
Adam J. Stewart
311d71ec86 Modifications to get PGI working 2016-03-03 16:50:51 -06:00
Todd Gamblin
5af543dc4a Merge pull request #488 from LLNL/revert-477-refactoring/stage
Revert "refactoring proposal : turn Stage into a context manager"
2016-03-03 14:46:52 -08:00
Todd Gamblin
c5d9ee8924 Revert "refactoring proposal : turn Stage into a context manager" 2016-03-03 14:41:20 -08:00
Scott Pakin
7183db1b7d Added LLVM 3.7.1 support 2016-03-03 11:30:57 -07:00
Luigi Calori
a531a4f5e3 help spack versions paraview to get versions without v 2016-03-03 18:00:50 +01:00
alalazo
63ae407169 netlib-lapack : unified build with netlib-blas
openssl : updated version
py-numpy : updated dependencies
2016-03-03 16:39:21 +01:00
Luigi Calori
1b6909dd9b Merge branch 'develop' of https://github.com/RemoteConnectionManager/spack into paraview_fix 2016-03-03 16:38:43 +01:00
Luigi Calori
f5cc63156c Merge branch 'develop' of https://github.com/RemoteConnectionManager/spack into paraview_fix
merge upstream develop
2016-03-03 12:43:38 +01:00
Todd Gamblin
e5276856cb Merge pull request #477 from alalazo/refactoring/stage
refactoring proposal : turn Stage into a context manager
2016-03-03 02:30:47 -08:00
alalazo
db92699c02 test : fixed tests that were broken by import optimization 2016-03-03 11:05:36 +01:00
alalazo
7f4a69319a Merge branch 'develop' of https://github.com/LLNL/spack into refactoring/stage
Conflicts:
	lib/spack/spack/package.py
2016-03-03 10:19:45 +01:00
alalazo
5ef3621556 stage : minor syntax fix 2016-03-03 10:10:30 +01:00
Todd Gamblin
6701977f1a Merge pull request #475 from LLNL/features/env-and-package-provenance
Features/env and package provenance
2016-03-03 00:42:40 -08:00
alalazo
353d12d2e6 stage : added create function as decided in #477 comments 2016-03-03 09:18:47 +01:00
alalazo
717bcb8624 test : optimized import statements 2016-03-03 09:17:49 +01:00
Gregory Becker
4f9a309de8 made spack more conservative in compiler strategies attempted 2016-03-02 16:35:02 -08:00
Gregory Becker
487b2495a1 made spack more conservative in compiler strategies attempted 2016-03-02 16:33:10 -08:00
Mario Melara
2b48728741 Changed os subclasses CNL to change attribute to MODULES 2016-03-02 16:15:34 -08:00
Mario Melara
58efe1550d Default PATH arg 2016-03-02 16:14:42 -08:00
Gregory Becker
16d8c25b23 fixed floating 'target' 2016-03-02 16:12:32 -08:00
Gregory Becker
65d4169f00 fixed type/bug 2016-03-02 16:03:11 -08:00
Gregory Becker
ffb9574312 fixed type/bug 2016-03-02 15:59:23 -08:00
citibeth
976d0240c4 Removed FIXMEs. 2016-03-02 18:58:47 -05:00
Gregory Becker
6e7b00a0f6 Made module handling much saner and safer 2016-03-02 15:54:23 -08:00
Mario Melara
b4298979fe Merge branch 'features/newarch' of https://github.com/NERSC/spack into features/newarch 2016-03-02 14:18:19 -08:00
Gregory Becker
676591ffc0 fixed a bug and a test bug 2016-03-02 14:17:46 -08:00
Mario Melara
975cba295b Added 'better' tests 2016-03-02 14:16:57 -08:00
Mario Melara
e46bac19fa Changed architecture to dict 2016-03-02 12:09:02 -08:00
Mario Melara
90e90f61c1 Got rid of the compiler strategy from target 2016-03-02 12:08:43 -08:00
Mario Melara
47c8e1366f Changed to_dictionary and from_dictionary methods 2016-03-02 12:08:17 -08:00
Gregory Becker
25f20b1967 bug hunting 2016-03-02 11:40:21 -08:00
Todd Gamblin
51f60f3a1e Merge pull request #479 from glennpj/cpath
Add CPATH pointing to include directories.
2016-03-02 11:24:25 -08:00
Glenn Johnson
6bbadbfaac Add CPATH pointing to include directories. 2016-03-02 13:18:43 -06:00
Mario Melara
340ecf6e9a Merge branch 'features/newarch' of https://github.com/NERSC/spack into features/newarch 2016-03-02 11:07:52 -08:00
Gregory Becker
86e90bba87 another partial, narrowing in on proper arch 2016-03-02 11:05:05 -08:00
Mario Melara
81e236b2de Changed Arch to class instead of namedtuple. Now platform is automatically set upon creation of class 2016-03-02 11:04:55 -08:00
Gregory Becker
45887dec8e partial work on bug hunting 2016-03-02 10:56:46 -08:00
Mario Melara
f27f2f8e49 Fixed some indentation errors 2016-03-02 10:27:12 -08:00
Mario Melara
4d74784209 Changed add_architecture_from_string and split the work done into two methods add_target_from_string and add_operating_system_from_string 2016-03-02 10:27:00 -08:00
Mario Melara
527bb7abfe Changed _cmp_key 2016-03-02 10:26:09 -08:00
Todd Gamblin
9f6ebd7c6e Merge pull request #465 from citibeth/efischer/160229-RemoteRootBugfix
Bug Fix: When Spack create roots around for other versions, it someti…
2016-03-02 10:24:17 -08:00
Gregory Becker
615ea969f8 made arch instantiate as a tuple 2016-03-02 10:14:50 -08:00
Gregory Becker
4601c36f57 cleaned up concretize architecture 2016-03-02 09:55:44 -08:00
alalazo
21cd05aad5 package : updated doc 2016-03-02 17:28:21 +01:00
alalazo
ca41909ec5 package : removed do_clean() 2016-03-02 17:19:27 +01:00
alalazo
4d63544fe9 remove_link_tree : moved to llnl.util.filesystem 2016-03-02 16:55:57 +01:00
alalazo
901e4851b9 _cleanup_dead_links : factored method into a function and put it in llnl.filesystem 2016-03-02 16:19:32 +01:00
alalazo
9001b9ed3c package : minor syntax fixes
mirror : extracted add_single_spec from create
2016-03-02 15:56:09 +01:00
alalazo
d649b715ed stage : updated functions doc
_cleanup_dead_links : fixed minor bug
2016-03-02 13:16:04 +01:00
alalazo
65b2a24f7c stage : removed _setup method 2016-03-02 13:03:40 +01:00
alalazo
726b350689 test : fixed failing unit tests 2016-03-02 12:52:38 +01:00
Todd Gamblin
a0c6519de9 Fixes #476: create was broken for FTP URLs. 2016-03-02 01:47:54 -08:00
Todd Gamblin
8421dcb762 Merge pull request #452 from epfl-scitas/llvm/cleanup
Cleaned package : llvm
2016-03-02 01:32:08 -08:00
Todd Gamblin
9c565b155a Merge pull request #462 from xjrc/packages/silo
Update Package : Silo
2016-03-02 01:31:10 -08:00
Todd Gamblin
94e5297960 Merge pull request #467 from citibeth/efischer/160229-CMake
Efischer/160229 c make
2016-03-02 00:51:22 -08:00
Todd Gamblin
52081c46d6 Fixes #469: Store package.py files in the .spack directory.
- Adds packages in spack repos inside the .spack directory, so that
  packages can be rebuilt automatically later.
2016-03-02 00:09:24 -08:00
Todd Gamblin
21d125c914 Fixes #175: Dump environment provenance as well as build log. 2016-03-02 00:08:36 -08:00
Todd Gamblin
be306d09e9 Move repo creation code into repository.py 2016-03-02 00:04:46 -08:00
Todd Gamblin
c488f7c4d8 Fix bug in install permission setting. 2016-03-01 23:57:34 -08:00
Kelly (KT) Thompson
8174489787 + Provide two new variants for cmake:
1) +qt          - build the cmake-gui Qt application.
                  - adds a dependency on Qt.
  2) +sphinxbuild - build the html CMake documentation.
                  - adds a dependency on python and py-sphinx
2016-03-01 15:25:57 -07:00
becker33
99b76c8c3c Merge pull request #471 from adamjstewart/typo/cc
Typo fix
2016-03-01 13:55:33 -08:00
Adam J. Stewart
a9f0b98d4d Typo fix 2016-03-01 15:53:53 -06:00
citibeth
eb1d90a8cf Undid accidental change on this branch. 2016-02-29 23:31:54 -05:00
Elizabeth F
15ae92aae9 New packages added: blitz, netcdf-cxx4, netcdf-fortran, proj, udunits2 2016-02-29 23:21:44 -05:00
Elizabeth F
e414c5fdfb Added missing cmake dependencies 2016-02-29 23:21:08 -05:00
Elizabeth F
a339ac0a72 Bug Fix: When Spack create roots around for other versions, it sometimes finds files it thinks are tarballs, but are not. Previously, it would crash if any such files are found. This change allows it to simply skip them and move on, processing the rest of the files it finds correctly. 2016-02-29 23:04:11 -05:00
Todd Gamblin
21181075b4 Merge pull request #456 from LLNL/update-links
Updated links to use new llnl.gov address
2016-02-29 20:39:27 +09:00
Ian Lee
67f327f805 Updated links to use new llnl.gov address 2016-02-28 19:47:19 -08:00
Luigi Calori
8f3ac9ac8b adding new version to praview, compiled with spack -d install -j 8 --keep-stage paraview@5.0.0+qt+python+tcl+opengl2%gcc@4.8.2 ^netcdf -mpi 2016-02-27 01:40:32 +01:00
Joseph Ciurej
30d9ca2bde Updated the silo package and added the '+fortran' variant. 2016-02-26 16:06:17 -08:00
Mario Melara
b591d2b501 Changed operating_system path 2016-02-25 18:49:52 -08:00
Mario Melara
ccd4a79b39 changed architecture.target to architecture.platform_os, so that compiler_for_spec uses operating system strategy 2016-02-25 18:49:27 -08:00
Mario Melara
eb96f38298 Got rid of debug comment 2016-02-25 18:48:25 -08:00
Mario Melara
f0149faf88 Added doc strings to functions in architecture.py 2016-02-25 18:48:00 -08:00
Mario Melara
ac55ce989d Changed compiler finding strategy to come from operating system instead of target 2016-02-25 18:47:41 -08:00
becker33
7176e5ef07 Merge pull request #299 from epfl-scitas/enhancement/os_detection
enhancement proposal : boolean support for when=<arg>
2016-02-25 13:38:03 -08:00
Mario Melara
5989e3f65d Changed from_dict to arch_from_dict method 2016-02-25 11:53:02 -08:00
Mario Melara
5e4d3e7b82 Changed naming convention of operating_system, makes it easier to create instance from dictionary just using name without the version attached. Object will stil display as name+version 2016-02-25 11:48:43 -08:00
Mario Melara
550df4cdd6 Some cleaning up. Finally got arch_from_dict working successfully. 2016-02-25 11:47:27 -08:00
Mario Melara
9ac2556285 Deleted old operating_system (without the s) file 2016-02-25 10:41:28 -08:00
Mario Melara
b43a5498a1 Changed import path to operating_systems 2016-02-25 10:36:47 -08:00
Mario Melara
f161609929 Renamed operating_system to operating_systems 2016-02-25 10:36:12 -08:00
Mario Melara
34be473b7c Deleted files 2016-02-25 10:35:58 -08:00
Mario Melara
863a5bc4fa Fix for 'Parent module spack.operating_systems not found while handling absolute import' 2016-02-25 10:34:55 -08:00
Erik Schnetter
20845a739f Libevent depends on OpenSSL 2016-02-24 22:18:51 -05:00
Mario Melara
8d1c06d141 Changed to dict method. Didn't realize this was being assigned to a dictionary already so got rid of d['architecture'] 2016-02-24 15:38:33 -08:00
Mario Melara
bd7c189c12 Added more comments 2016-02-24 15:37:50 -08:00
Mario Melara
5c3c6e7f06 Got rid of print statements 2016-02-24 15:34:32 -08:00
Mario Melara
234681306c Changed to appropriate class names for operating system 2016-02-24 15:32:23 -08:00
Mario Melara
2de81cfc62 Changed name to appropriate camelcase 2016-02-24 15:31:21 -08:00
Mario Melara
9e844d974c Added comments. Need to figure out how to make arch_tuple from_dict 2016-02-24 15:30:20 -08:00
Mario Melara
7779974143 arch_from_dict worked on 2016-02-24 15:02:40 -08:00
Mario Melara
339f4bfd23 Added unit testing for to_dict method 2016-02-24 12:16:09 -08:00
Mario Melara
5d5d3c5858 Added to dictionary method 2016-02-24 12:15:52 -08:00
alalazo
6f42dd556d stage : on-going refactoring 2016-02-24 17:37:58 +01:00
alalazo
976ae91dcc llvm : removed duplicate version 2016-02-24 14:11:57 +01:00
alalazo
5ce97eeda5 intel : polished code 2016-02-24 09:17:04 +01:00
Todd Gamblin
0d23ff92b0 Merge pull request #446 from LLNL/bugfix/python_config_compiler
modify compiler commands in python config files, fix for #431
2016-02-24 10:52:06 +09:00
Todd Gamblin
87610a5102 Merge pull request #448 from epfl-scitas/packages/gromacs
Added package : gromacs
2016-02-24 10:49:06 +09:00
Todd Gamblin
93a746043c Merge pull request #450 from trws/llvm-trunk
llvm trunk version
2016-02-24 10:48:29 +09:00
Massimiliano Culpo
4316f1cd31 Modified wrapper to have a different behavior when modeis vcheck 2016-02-23 16:57:19 +01:00
Mario Melara
cfa7c4feb8 Added CNL10 as back_os and default_os 2016-02-22 16:18:25 -08:00
Mario Melara
083b7b46d9 Added more tests 2016-02-22 16:17:54 -08:00
Mario Melara
3c87d137a3 Added compiler strategy entry and also added new operating system subclass called CNL for compute node linux (name will probably change because I can't find docs on the EXACT name) 2016-02-22 16:17:33 -08:00
Mario Melara
ebc5e26c2d Added compiler strategy field to Operating System class 2016-02-22 16:16:20 -08:00
Mario Melara
a385dae1ae Unit tests to test operating system subclass creation and whether compiler strategy is set correctly 2016-02-22 14:54:30 -08:00
Mario Melara
1367ccab93 New folder that will hold operating system subclasses 2016-02-22 14:53:55 -08:00
Mario Melara
22bf4bc080 import linux distro subclass. Added method to add operating system to platform dictionary 2016-02-22 14:53:16 -08:00
Mario Melara
1a7d6ed49a import MacOSX subclass and added add_operating_system method to use subclass 2016-02-22 14:52:52 -08:00
Mario Melara
725d6d5fce import linux distro operating system subclass, set front-end os to LinuxDistro() 2016-02-22 14:52:09 -08:00
Mario Melara
a8de45ce28 Got rid of methods used to detect mac osx and linux osx. Now those methods are used my operating system subclasses 2016-02-22 14:50:51 -08:00
Mario Melara
18ddbae60e Added new module path to operating system file 2016-02-22 14:49:53 -08:00
Tom Scogland
5c8dd6c3c8 llvm trunk version
Adding a trunk version to the llvm package.  This has all the features
and requirements of the others, with the additional caveat that the llvm
project makes no guarantee that trunk on all repositories together will
necessarily make a working compiler.  It has been tested, and worked
with a version today, but not yesterday, so if you test keep that in
mind.
2016-02-20 17:23:55 -08:00
Todd Gamblin
97c3854c40 Merge pull request #422 from epfl-scitas/packages/openssl_url
openssl : url computation
2016-02-19 16:28:02 -08:00
alalazo
30c3047482 gromacs : added package 2016-02-19 12:39:38 +01:00
Todd Gamblin
3c1aa9a4ad Merge pull request #298 from epfl-scitas/refactoring/resource_directive
refactoring proposal : composite for Stage and FetchStrategy
2016-02-18 23:13:12 -08:00
Gregory L. Lee
19d10291bf modify compiler commands in python config files, fix for #431 2016-02-18 15:45:29 -08:00
Mario Melara
28218755a5 Changed spec.target to spec.architecture 2016-02-18 13:06:55 -08:00
Todd Gamblin
d8a70166d3 Fixes #434
Compiler detection was not getting triggered properly with some of the
new config logic.  Adjust the conditions under which Spack will serach
for compilers.
2016-02-18 00:56:29 -08:00
Todd Gamblin
c112cf66fe Merge pull request #443 from trws/dicts-like-string-keys
remove the unprotected key name from create.py
2016-02-17 17:06:51 -08:00
Tom Scogland
00125e4688 remove the unprotected key name from create.py
Small fix to use dicts correctly.
2016-02-17 16:43:36 -08:00
Mario Melara
3558404c03 Check difference by using arch tuple rather than .target 2016-02-17 14:54:39 -08:00
Mario Melara
0a6b54a8c4 Added module compilers so that no CompilerSpecError is thrown 2016-02-17 14:53:56 -08:00
Mario Melara
93a92a00ee Changed abstract.target to abstract.architecture.target and abstract.architecture.target.concrete 2016-02-17 14:53:09 -08:00
Mario Melara
d9e8bf1807 Added ARCHITECTURE field when showing specs 2016-02-17 14:51:14 -08:00
Mario Melara
54042e399b Changed target to architecture.target 2016-02-17 14:50:10 -08:00
Mario Melara
1d484dbe5f Changed so that modules use correct file path with spec.architecture instead of spec.target 2016-02-17 14:49:36 -08:00
Mario Melara
ab4006ee2c Changed so that directory layout uses the platform-os-target string version of the arch tuple 2016-02-17 14:48:53 -08:00
Mario Melara
524e9b372e From now on all targets are now architecture. Architecture is a named tuple so any time we need access to target we do architecture.target. 2016-02-17 14:47:29 -08:00
Mario Melara
2c20fc2ebf Changed module loading to use arch tuple instead of regular target.module 2016-02-17 14:45:53 -08:00
Mario Melara
2a79537ba1 Fixed silly typo that gave errors in tests 2016-02-17 14:44:38 -08:00
Todd Gamblin
9a5e0c59b0 Merge pull request #442 from xjrc/features/mesh-packages
Add Mesh Packages: Crypto++, Exodus II, ndiff, TetGen, and Triangle
2016-02-17 13:14:31 -08:00
Joseph Ciurej
6cd76d69c3 Fixed the "+shared" variant in the "hdf5" package. 2016-02-17 11:51:24 -08:00
Joseph Ciurej
0388093f7a Changed the hdf5 "+static" variant to become the "+shared" variant. 2016-02-16 17:33:19 -08:00
Joseph Ciurej
fca7ef2f7b Moved "Triangle" to "triangle" to be more in line with Spack package naming conventions. 2016-02-16 17:23:37 -08:00
Joseph Ciurej
8cab10214e Added the installation files for the "ExodusII" package.
Added the "+static" variant to "hdf5" to enable "ExodusII" support.
2016-02-16 16:43:24 -08:00
Mario Melara
a3039c4c67 Changed add_architecture_from_string, it now loops through the string and checks whether each piece of string is a valid platform, operating system and target. If the operating system or target are none it will use the defaults. Updated the documentation for that method. One thing that bothers me is how to account for the multitude of operating systems when cross compiling. If someone wants to compile with another operating system not found on current platform. How can spack check to see if it is valid? 2016-02-16 15:26:07 -08:00
Mario Melara
62b0293963 Cleaned up the file. Got rid of commented out sections of code since they weren't going to be used anyway 2016-02-16 15:23:38 -08:00
Mario Melara
31ab238306 Beginning attemps to fix concretization method to account for the new tuple architecture 2016-02-16 15:22:23 -08:00
Mario Melara
19dca4bcc9 Added some _cmp_key methods to OperatingSystem class, and also changed the way Platforms are compared. Created a mini inherited class named Arch that inherits from namedtuple. The reason for this is to override the namedtuple __str__ method to make arch tuples look prettier when printed out. Rather than Arch(platform= ... ) it prints to platform-os-target which makes directory paths to packages look cleaner. 2016-02-16 15:21:36 -08:00
Mario Melara
35a602baaf Changed target checking to architecture checking for abi compatible 2016-02-16 15:17:57 -08:00
Joseph Ciurej
09254014b1 Added the installation files for the "TetGen" package. 2016-02-16 13:24:01 -08:00
Joseph Ciurej
3c8bbeafc7 Added the installation files for the "Triangle" package. 2016-02-16 13:01:18 -08:00
Joseph Ciurej
9a6221ea40 Added the installation files for the "ndiff" package. 2016-02-16 12:47:14 -08:00
Joseph Ciurej
db50f52bbc Adding the "Crypto++" package installation files. 2016-02-16 11:40:00 -08:00
Todd Gamblin
9e4671a4b4 Merge pull request #340 from adamjstewart/features/xz
Remove unnecessary URLs
2016-02-16 10:24:42 -08:00
Todd Gamblin
96a4d3f432 Merge pull request #440 from adamjstewart/features/mpi4py
Add latest version
2016-02-16 01:05:16 -08:00
Adam J. Stewart
bf162e60f1 Add latest version 2016-02-15 10:53:50 -06:00
Todd Gamblin
d8c0edcc81 Minor code cleanup for gcc. 2016-02-14 14:40:25 -08:00
Erik Schnetter
9868333e8e Shell quoting is difficult 2016-02-14 11:34:08 -05:00
Erik Schnetter
a06e29fecb More quoting experiments 2016-02-14 10:43:55 -05:00
Erik Schnetter
43670cbbd0 More games with quoting 2016-02-13 22:01:36 -05:00
Erik Schnetter
52647b9a5d Using regexes instead of globbing to match path names 2016-02-13 17:55:14 -05:00
Mario Melara
c799301011 Changed the method in which architecture is converted from string to namedtuple. Also added some TODO comments to later consider changing how architecture is handled 2016-02-13 14:37:07 -08:00
Mario Melara
7732f375d2 Changed operating system getter so that linux and darwin autodetected operating systems are set as class default_os 2016-02-13 14:36:01 -08:00
Erik Schnetter
69064395eb Add debug output 2016-02-13 15:12:09 -05:00
Erik Schnetter
9a2c1090a6 Handle -Wl,-rpath,... syntax 2016-02-13 14:54:18 -05:00
Erik Schnetter
dc6a33b716 Handle multiple -Wl,-rpath,... paths 2016-02-13 14:54:18 -05:00
Erik Schnetter
5038a38e29 Correct -Xlinker arguments 2016-02-13 14:54:18 -05:00
Erik Schnetter
2cd9ad8ce6 Use "-Wl,-rpath," instead of "-Wl,-rpath="
The former translates to a linker argument "-rpath DIR", whereas the latter translates to "-rpath=DIR". The latter is not support on OS X.
2016-02-13 14:54:18 -05:00
Todd Gamblin
63911d4165 Merge pull request #354 from eschnett/eschnett/libedit
libedit depends on ncurses
2016-02-12 10:33:08 -08:00
Erik Schnetter
8e33cc1ae1 Properly wrap all long lines 2016-02-12 13:11:45 -05:00
Erik Schnetter
ff81aff254 Remove source-code optimization and cleanup 2016-02-12 13:05:42 -05:00
Todd Gamblin
f0db7190ff Merge pull request #437 from davidbeckingsale/features/dk-short-names
Use hash to make shorter module and dotkit names, fixes #433
2016-02-12 09:59:07 -08:00
Todd Gamblin
d541a4bd29 Merge pull request #435 from epfl-scitas/packages/espresso
Added package : Quantum Espresso
2016-02-12 09:58:50 -08:00
Erik Schnetter
64436e7752 Merge branch 'develop' into correct-cc 2016-02-12 12:55:26 -05:00
Erik Schnetter
77c17e1d92 Since my last patch didn't get traction, here is a new approach to building gcc on Darwin:
- Add a variant specifying whether to build with binutils, defaulting to true
- Auto-detect whether this is Darwin; if so, set binutils and gold defaults to false, as they don't work on Darwin
- Disable Go, which doesn't build on Darwin
- Clean up handling configure options
2016-02-12 12:52:47 -05:00
David Beckingsale
90e1b1f0ea Use hash to make shorter module and dotkit names, fixes #433 2016-02-12 09:33:19 -08:00
alalazo
247a4bc751 mpich : added back MPI_F90 2016-02-12 12:15:09 +01:00
Massimiliano Culpo
70985170e5 qe : compiled on rhle6 2016-02-12 12:08:31 +01:00
Erik Schnetter
d7f674ce96 libedit depends on ncurses 2016-02-11 14:53:20 -05:00
Mario Melara
8e8c63bd67 Using pylint, fixed some of the indentation and spacing errors 2016-02-11 11:47:39 -08:00
Mario Melara
3e1be63b0f Changed some variables to account for the fact that target is now a tuple 2016-02-11 11:15:50 -08:00
Mario Melara
b9d09202c9 changed some variables to account for the fact that target is now a tuple 2016-02-11 11:15:19 -08:00
alalazo
e8704433de espresso : added directories to search path 2016-02-11 18:57:40 +01:00
alalazo
b272a8881b espresso : fixed dependency handling 2016-02-11 18:18:05 +01:00
alalazo
ca3cdb4458 espresso : current working tree 2016-02-11 17:45:09 +01:00
alalazo
157ec210a7 espresso : synchronized with current develop 2016-02-11 13:05:31 +01:00
alalazo
e7454132a2 Merge branch 'develop' of https://github.com/LLNL/spack into packages/espresso 2016-02-11 13:03:47 +01:00
Mario Melara
77e93e1b79 Added add_os method to platform subclasses 2016-02-10 16:16:58 -08:00
Mario Melara
cb8d5ab183 Added new add_os method 2016-02-10 16:16:35 -08:00
Mario Melara
fb234205c2 Added method to concretize target and os pair 2016-02-10 16:16:11 -08:00
Mario Melara
d0ae6dd401 Changed add_target_from_string to include methods to concretize operating_system 2016-02-10 16:15:25 -08:00
Mario Melara
2650c60374 Added operating system class prototype and some autodetect features for operating system 2016-02-10 16:14:50 -08:00
Todd Gamblin
bcf705b85e Merge pull request #432 from RemoteConnectionManager/paraview_fix
Paraview fix
2016-02-10 13:59:08 -08:00
Todd Gamblin
e23c260cb0 Merge pull request #402 from epfl-scitas/bugfix/netlib-scalapack
Bugfix: netlib-scalapack does not work with all versions of python
2016-02-10 11:40:31 -08:00
Mario Melara
21a5a34041 Revert "new branch and also pushing some architecture changes where os is detected by linux and darwin and manually set by cray and bgq"
This reverts commit 70088be24b.
2016-02-10 10:59:16 -08:00
Luigi Calori
d7b3ed08ab add variant to select OpenGL2 Paraview backend 2016-02-10 15:40:05 +01:00
Luigi Calori
a1bd65550e fix a reported hash mismatch on netcdf-4.4.0 tar download 2016-02-10 15:17:54 +01:00
Luigi Calori
fe8aca630c add a variant to Qt for make dependency on mesa swlwctable 2016-02-10 14:58:00 +01:00
Luigi Calori
f729cf621a fixing qhull: seems that dependency on cmake is essential when it is used 2016-02-10 13:29:36 +01:00
Luigi Calori
25e2be3efd RPATH was collecting all lib from all dependencies, when dep tree is deep like in ParaView the path was growing too much, showing install problems now just direct dependencies rpath is added 2016-02-10 13:28:01 +01:00
Todd Gamblin
f7134990bd Fix #430: edit -f fails with UnknownPackageError
- Recent external repo refactoring made `repo_for_pkg` raise an error
  when the package was not known.

- Correct behavior is to return the highest precedence repo.
2016-02-09 08:57:27 -08:00
Mario Melara
0358522533 new branch and also pushing some architecture changes where os is detected by linux and darwin and manually set by cray and bgq 2016-02-06 15:41:22 -08:00
Todd Gamblin
4bf57ef56f Merge pull request #428 from epfl-scitas/packages/arpack-ng
Added package : arpack-ng
2016-02-05 07:01:53 -07:00
alalazo
71a25a109a arpack-ng : added package 2016-02-05 11:00:37 +01:00
alalazo
4b22c2406c removed redundant references to pep8 2016-02-05 08:56:20 +01:00
Todd Gamblin
15324c276f Merge pull request #426 from epfl-scitas/packages/suitesparse
Added package : SuiteSparse
2016-02-04 18:08:07 -07:00
alalazo
e2a95d4b50 eigen : added support for SuiteSparse 2016-02-04 16:27:26 +01:00
alalazo
e3a0e1881d suitesparse : basic implementation 2016-02-04 16:00:39 +01:00
Todd Gamblin
b98c120fb8 Merge pull request #425 from epfl-scitas/packages/dakota
Added package : dakota
2016-02-04 07:37:30 -07:00
alalazo
031c292136 dakota : basic installation 2016-02-04 13:48:21 +01:00
Todd Gamblin
5d1a639afd Merge pull request #424 from adamjstewart/features/cmake
Add url for cmake, simplify url_for_version
2016-02-03 15:41:05 -07:00
Adam J. Stewart
e1b3c286ef Add url for cmake, simplify url_for_version 2016-02-03 16:28:09 -06:00
Todd Gamblin
f38851b73d Merge remote-tracking branch 'github/pull/99' into develop
Conflicts:
	var/spack/repos/builtin/packages/cmake/package.py
2016-02-03 14:24:59 -07:00
Todd Gamblin
b6434d9581 Update mailmap 2016-02-03 11:47:48 -07:00
Todd Gamblin
72ca311f17 Merge pull request #414 from epfl-scitas/issues/trilinos_385
fix : trilinos and dependencies
2016-02-03 11:42:53 -07:00
Todd Gamblin
c5455ceee5 Merge pull request #417 from mathstuf/hdf5-unsupported-flag
hdf5: always pass the unsupported flag
2016-02-03 08:56:30 -07:00
Todd Gamblin
5a3338323c Merge pull request #419 from adamjstewart/features/libgpg-error
Add latest libgpg-error version
2016-02-03 08:56:06 -07:00
Todd Gamblin
8a4b86dac9 Merge pull request #420 from adamjstewart/features/qhull
Add latest qhull version
2016-02-03 08:55:32 -07:00
Todd Gamblin
bc4bf71d8f Merge pull request #421 from adamjstewart/features/phonopy
Add Phonopy and PyYAML Python modules
2016-02-03 08:54:22 -07:00
Todd Gamblin
fe358e24e3 Merge pull request #423 from epfl-scitas/packages/opencv
Added package : OpenCV
2016-02-03 08:52:58 -07:00
alalazo
44c1b06609 opencv : added package 2016-02-03 13:36:25 +01:00
alalazo
587d356d6e openssl : added logic to version computation. The package now warns user if he depends on an old version of the library 2016-02-03 08:59:26 +01:00
Adam J. Stewart
d2fb1522a3 Add Phonopy and PyYAML Python modules 2016-02-02 12:54:24 -06:00
Adam J. Stewart
ab3698e3a4 Add latest qhull version 2016-02-02 11:42:31 -06:00
Adam J. Stewart
422e87badb Add latest libgpg-error version 2016-02-02 10:57:58 -06:00
Ben Boeckel
2b140b9a34 hdf5: default +unsupported to on
This flag can end up being required if a dependency tree ends up needing
hdf5+cxx+parallel, but nothing turns it on. Since the core spack code
puts this together, it ends up that the end user needs to specify it
manually. Instead, just assume an unsupported configuration (since these
*are* useful setups) and if anyone wants to seek upstream support,
masking the flag can be done.
2016-02-01 11:46:33 -05:00
alalazo
c8d2275c06 opencv : reverted url_for_version modifications 2016-02-01 10:56:48 +01:00
alalazo
e67507478a opencv : reverted url_for_version modifications 2016-02-01 10:55:39 +01:00
alalazo
b0707a61e7 Merge branch 'develop' of https://github.com/LLNL/spack into issues/trilinos_385 2016-02-01 10:54:17 +01:00
Todd Gamblin
9eb037bc87 Merge pull request #415 from adamjstewart/features/hwloc
Checksum fix for hwloc
2016-02-01 02:41:47 -07:00
Todd Gamblin
140510fedf Merge pull request #408 from adamjstewart/features/fish
Modify url settings for fish package
2016-02-01 02:39:54 -07:00
Todd Gamblin
b8facc0ea9 Merge pull request #416 from LLNL/openssl-version-update
updated openssl version
2016-02-01 02:35:57 -07:00
alalazo
360abb070a netcdf : fixed typo in configure option
openssl : smarter URL computation
2016-02-01 08:33:03 +01:00
Gregory L. Lee
3bf6fed7b3 updated openssl version 2016-01-29 11:29:27 -08:00
Todd Gamblin
2ae6fd9d1e Merge pull request #413 from adk9/develop
Add the HPX-5 package to spack.
2016-01-29 10:20:27 -08:00
Adam J. Stewart
d14d50beb6 Checksum fix for hwloc 2016-01-29 09:47:57 -06:00
Abhishek Kulkarni
74225544c6 Rename the hpx package to hpx-5. 2016-01-29 10:35:54 -05:00
Massimiliano Culpo
cd54793913 Cleaning up 2016-01-29 11:42:06 +01:00
alalazo
b574c4ad51 trilinos : updated package to meet changes in dependencies 2016-01-29 08:57:07 +01:00
Abhishek Kulkarni
5907cc0de5 Merge remote-tracking branch 'upstream/develop' into develop 2016-01-29 00:32:34 -05:00
Abhishek Kulkarni
2bea7f8d69 Add the HPX-5 package. 2016-01-29 00:29:20 -05:00
Todd Gamblin
9fb5ddbb4c Merge pull request #411 from adamjstewart/features/pnetcdf
Add PnetCDF and M4 packages
2016-01-28 20:52:59 -07:00
Todd Gamblin
dda16bfea6 Merge pull request #406 from epfl-scitas/enhancement/md5_urls
spack md5 on urls
2016-01-28 20:51:44 -07:00
Todd Gamblin
06535f25dc Merge pull request #412 from davidbeckingsale/features/caliper
Correct Caliper package URL
2016-01-28 20:49:50 -07:00
David Beckingsale
d9548c01af Correct package URL 2016-01-28 15:47:37 -07:00
Todd Gamblin
6b2d25580c Merge pull request #410 from davidbeckingsale/features/caliper
Add the Caliper package
2016-01-28 15:39:52 -07:00
Adam J. Stewart
4f34031534 Add PnetCDF and M4 packages 2016-01-28 15:41:58 -06:00
David Beckingsale
7e65f4da82 Add the Caliper package 2016-01-28 13:22:56 -08:00
Gregory L. Lee
0e52c30bb8 added py-wheel package 2016-01-28 10:42:46 -08:00
Adam J. Stewart
06f3cc33ba Modify url settings for fish package 2016-01-28 11:41:12 -06:00
Nicolas Richart
824546d343 correcting a bug when url and files are mixed 2016-01-28 14:43:30 +01:00
Nicolas Richart
5850d8530e Adding the stager to checksum any url that spack can handle 2016-01-28 14:22:28 +01:00
alalazo
0cf03518f3 reverted deletion of the wrong architecture.py 2016-01-28 12:06:30 +01:00
alalazo
603f5e69ee removed outdated code : os detection (will be handled by platforms) and openssl modifications 2016-01-28 11:30:28 +01:00
alalazo
e76b722e28 Merge branch 'develop' of https://github.com/LLNL/spack into enhancement/os_detection 2016-01-28 11:26:01 +01:00
alalazo
07bb6fef01 resource directive : now works with all the fetch strategies available 2016-01-28 10:58:56 +01:00
Todd Gamblin
c2bb00ca2f Merge pull request #405 from adamjstewart/features/netcdf
More NetCDF changes
2016-01-27 16:07:49 -07:00
Adam J. Stewart
6122642b81 More NetCDF changes 2016-01-27 16:16:33 -06:00
alalazo
47035671e8 unit tests : now compliant with 2.6 2016-01-27 17:22:12 +01:00
alalazo
f7f192e12b Added unit tests for util.pattern 2016-01-27 17:12:24 +01:00
Nicolas Richart
f1d8f30342 Bug fix: precedence in % operator seems to change depending in the python version 2016-01-27 10:54:41 +01:00
Todd Gamblin
90750f59c1 Merge pull request #400 from adamjstewart/features/netcdf
Extensive modifications to NetCDF package
2016-01-26 19:31:14 -07:00
Todd Gamblin
65b57f0c21 Merge pull request #401 from trws/cmocka
adding the cmocka unit testing library
2016-01-26 19:26:16 -07:00
Tom Scogland
23af31cb1c adding the cmocka unit testing library 2016-01-26 17:55:32 -08:00
Todd Gamblin
c344b30fc4 Merge pull request #342 from adamjstewart/features/hwloc
Add url_for_version function to calculate url
2016-01-26 16:01:17 -08:00
Todd Gamblin
d7bd023afa Merge pull request #339 from adamjstewart/features/hdf
Add HDF package
2016-01-26 15:51:57 -08:00
Todd Gamblin
4d239b3038 Merge pull request #399 from LLNL/bugfix/398-extensions-error
fix for issue 398, added extensions_for in RepoPath
2016-01-26 14:58:36 -08:00
Adam J. Stewart
81ccba202c Make szip a variant 2016-01-26 15:38:22 -06:00
Adam J. Stewart
c6bb00085f Extensive modifications to NetCDF package 2016-01-26 12:04:48 -06:00
Gregory L. Lee
7891346a4f fix for issue 398, added extensions_for in RepoPath 2016-01-26 09:52:01 -08:00
alalazo
ee6f69a227 Unit tests : hack to make them pass while a decision on how to proceed is made 2016-01-26 14:25:16 +01:00
alalazo
5e3b7a4247 Fixes issues introduced after merge with conflicts 2016-01-26 14:11:23 +01:00
alalazo
093b831799 Fixes issues introduced after merge with conflicts 2016-01-26 12:08:28 +01:00
alalazo
6f11a64af5 Merge branch 'develop' of https://github.com/LLNL/spack into refactoring/resource_directive
Conflicts:
	lib/spack/spack/fetch_strategy.py
	lib/spack/spack/mirror.py
	lib/spack/spack/package.py
2016-01-26 08:59:25 +01:00
Todd Gamblin
1a52700238 Merge pull request #396 from adamjstewart/features/hdf5
Add szip variant
2016-01-25 22:38:35 -08:00
Adam J. Stewart
1d18f2031c Add szip variant 2016-01-25 14:57:33 -06:00
Matthew LeGendre
d4a771a623 Merge pull request #1 from alalazo/features/external-packages
doc : minor typos fixed
2016-01-25 10:53:37 -08:00
Matthew LeGendre
fa888a4ba1 Merge branch 'develop' into features/external-packages
Conflicts:
	lib/spack/spack/cmd/mirror.py
	lib/spack/spack/concretize.py
	lib/spack/spack/config.py
	lib/spack/spack/spec.py
	lib/spack/spack/stage.py
	var/spack/packages/mvapich2/package.py
2016-01-25 10:52:17 -08:00
Todd Gamblin
d4180d35dd Merge pull request #395 from adamjstewart/features/orphan
Fix variable name bug
2016-01-25 07:54:12 -08:00
Adam J. Stewart
323bba99f1 Fix variable name bug 2016-01-25 09:29:51 -06:00
Todd Gamblin
8ef800f64f Merge pull request #394 from LLNL/bugfix/apple-llvm-compiler-detection
Bugfix/apple llvm compiler detection
2016-01-25 03:54:27 -08:00
Todd Gamblin
004c99ab2f Fixes #259: Apple clang compiler detection
- Clang compilers are now versioned with the raw LLVM version or, on
  macs, with Apple's version with a suffix.
2016-01-25 03:48:22 -08:00
Adam J. Stewart
fb5274145a Fix regex to find version on OS X 2016-01-25 03:10:13 -08:00
Todd Gamblin
41cd8f8e6d Fixes #74: minor fixes to spack mirror. 2016-01-25 02:57:23 -08:00
Todd Gamblin
539dea6411 Merge pull request #393 from LLNL/bugfix/mirror-glitches-gh382
Bugfix/mirror glitches gh382
2016-01-25 02:10:52 -08:00
Todd Gamblin
5502fd1054 More thorough mirror test: test full round-trip
- Old test: did not attempt to actually fetch mirrored packages.

- New test:
  1. Creates a temporary mirror,
  2. Registers it with spack,
  3. Fetches from it, and
  4. Verifies that the fetched archive matches the original

- This test will hopefully mean that `spack mirror` is less brittle
  from now on.
2016-01-25 01:59:02 -08:00
Todd Gamblin
a48d0a494f Refactor mock_repo: add a destroy() method.
- classes using mock_repo need not know about its stage now.
2016-01-25 00:34:33 -08:00
Todd Gamblin
d3ff8ca00f Fixes #382: Issues with spack fetch.
- urljoin() was compliant with RFC 1808 but not with my understanding
  of how paths should be joined.
- updated path joining logic to comply.
2016-01-24 20:14:40 -08:00
Todd Gamblin
fe50593c66 Minor line width reductions. 2016-01-24 20:14:21 -08:00
Todd Gamblin
be354e85c9 Better errors for mkdirp failure in mirror. 2016-01-24 16:16:43 -08:00
Todd Gamblin
64a9549225 Minor cleanup. 80 char width for command description. 2016-01-24 15:31:07 -08:00
Todd Gamblin
71f5d5da36 Merge pull request #390 from adamjstewart/features/nag
Fix link_paths to point to c++
2016-01-22 14:10:30 -08:00
Todd Gamblin
b6731ea47c Merge pull request #336 from scheibelp/features/boost-additive-libs
additive compilation of boost libraries
2016-01-22 14:09:19 -08:00
Todd Gamblin
545300e474 Merge pull request #392 from alfredo-gimenez/develop
Patch fix for boost@1.60.0%gcc@4.4.7
2016-01-22 14:07:47 -08:00
Peter Scheibel
a653d2f5e2 Slightly more robust approach for setting defaults for noinstall_libs 2016-01-22 13:43:16 -08:00
Peter Scheibel
9f99ee61c7 1. added default install libs (atomic, test, locale, program_options)
2. clarify comment for default_noinstall_libs
3. renamed regex_icu variant to icu_support (both the locale and regex libs can
use it)
4. explicitly set b2 install ICU_PATH when regex_icu is activated
2016-01-22 13:25:45 -08:00
Alfredo Gimenez
10de5a3ec7 Patch fix for boost@1.60.0%gcc@4.4.7 2016-01-22 13:02:18 -08:00
Peter Scheibel
4a55b97d11 Fixed reference 2016-01-22 12:37:12 -08:00
Peter Scheibel
2e58bc3113 Sticking with additive approach but now most libraries are installed by default. 2016-01-21 19:57:49 -08:00
Todd Gamblin
04a8439c39 Merge pull request #389 from eschnett/eschnett/openmpi-update
Update OpenMPI to 1.10.2
2016-01-21 12:28:54 -08:00
Adam J. Stewart
571386cdf4 Remove cxx symlink, tell NAG to look for c++ symlink 2016-01-21 13:55:59 -06:00
Adam J. Stewart
ca3edc3673 Add symlink cxx to point to cc 2016-01-21 13:20:39 -06:00
Erik Schnetter
2f70c842b8 Disable patch that was merged into upstream in 1.10.2 2016-01-21 14:13:39 -05:00
Erik Schnetter
6b3f023d98 Update OpenMPI to 1.10.2 2016-01-21 14:05:16 -05:00
Todd Gamblin
1da672df7d Merge pull request #383 from LLNL/features/better-executable-args
Refactor args for Executable.__call__
2016-01-21 10:50:55 -08:00
Todd Gamblin
10848c2e9a Refactor args for Executable.__call__
- simplify output, error, and input redirection
- `return_output=True` is now `output=str`
- `return_output=True` will still work for the time being but is
  deprecated.

- previously you could say `return_output=True` and `output=<stream>`,
  which wouldn't actually write to the stream.  Now you actually can't
  specify erroneous cases since there is only one parameter with
  mutually exclusive options..
2016-01-21 10:46:33 -08:00
Todd Gamblin
25f7dbd3e9 Merge pull request #384 from epfl-scitas/packages/elpa
added package : elpa
2016-01-21 09:14:28 -08:00
Todd Gamblin
c58d8af706 Merge pull request #386 from adamjstewart/features/mpfr
Remove constraint on dependency version
2016-01-21 09:06:30 -08:00
Adam J. Stewart
03d5ee6738 Remove constraint on dependency version 2016-01-21 10:02:33 -06:00
Adam J. Stewart
ea9d0c0263 Remove constraints on dependency versions 2016-01-21 09:58:47 -06:00
Adam J. Stewart
950246b331 Remove constraint on dependency version 2016-01-21 09:54:24 -06:00
alalazo
d9b344a247 Merge branch 'develop' of https://github.com/LLNL/spack into packages/elpa 2016-01-21 12:05:28 +01:00
Todd Gamblin
f0a6bfa23c Merge pull request #376 from adamjstewart/features/mvapich2
Various updates to MVAPICH2 package
2016-01-21 01:59:35 -08:00
Todd Gamblin
dab65e4ba6 Merge pull request #380 from epfl-scitas/packages/mumps
Adding packages MUMPS and ScaLAPACK
2016-01-21 01:58:57 -08:00
alalazo
785c01218f elpa : added missing dependencies 2016-01-21 10:06:43 +01:00
alalazo
88f2a1d43a Merge remote-tracking branch 'scitas/packages/mumps' into packages/elpa 2016-01-21 08:34:44 +01:00
alalazo
a8132470e4 Merge branch 'develop' into packages/elpa 2016-01-21 08:33:59 +01:00
Todd Gamblin
1c2a2dde8e Merge pull request #350 from adamjstewart/features/nag
Add NAG Fortran Compiler support
2016-01-20 17:09:31 -08:00
Todd Gamblin
c0228d8ff2 Merge pull request #381 from adamjstewart/features/location
Fixed typo when running spack help
2016-01-20 17:07:32 -08:00
Adam J. Stewart
088b6f0ea9 Fixed typo when running spack help 2016-01-20 17:19:01 -06:00
Adam J. Stewart
e25150296a Redirect STDERR to STDOUT for compiler version
This is necessary for the NAG Fortran compiler, which prints its version message to STDERR instead of STDOUT. This message was previously being ignored, preventing spack from finding the compiler's version or automatically adding it to the compilers.yaml configuration file.
2016-01-20 14:44:43 -06:00
Todd Gamblin
ce5ecda534 Merge pull request #379 from epfl-scitas/packages/hdf5
HDF5 + OpenMPI : modified existing packages
2016-01-20 11:21:43 -08:00
Mario Melara
840b41c450 Removed unneccessary $. Still learning regexp 2016-01-20 10:36:15 -08:00
Mario Melara
15713219e5 Better regular expression searching. Tested on edison was finding test compilers and then spack was giving multiple compiler match errors 2016-01-20 10:32:56 -08:00
Nicolas Richart
b71b478a36 Minor correction to install mumps+mpi 2016-01-20 18:31:02 +01:00
alalazo
19caac69d8 openmpi : turned torque support into a variant (default false)
hdf5 : fixed a few bugs, removed suspicious macro deinition, etc.
2016-01-20 15:22:49 +01:00
Nicolas Richart
974fc65e0f renaming packages to follow changes on develop 2016-01-20 14:38:55 +01:00
Nicolas Richart
65f65ec4e4 Adding MUMPS and ScaLAPACK 2016-01-20 14:21:44 +01:00
alalazo
72d5cdf9ab fixed two minor typos 2016-01-20 11:19:36 +01:00
alalazo
ab27fdc692 elpa : commit partial package. Blocked by missing scalapack 2016-01-20 09:35:15 +01:00
Peter Scheibel
965af75d23 Merge branch 'develop' into features/boost-additive-libs 2016-01-19 17:27:18 -08:00
Todd Gamblin
88c810ed09 Merge pull request #377 from mathstuf/fix-typos
typos: fix some letter transposes
2016-01-19 12:37:16 -08:00
Ben Boeckel
6c9800bcc3 typos: fix some letter transposes 2016-01-19 15:22:16 -05:00
Adam J. Stewart
83de658ee4 Modify nag.py to match new compiler package structure 2016-01-19 13:28:35 -06:00
Adam J. Stewart
0acc90759c Merge branch 'develop' into features/nag
* develop:
  eigen : added package
  Revert deprecated configure flags
  Add verbs variant, remove deprecated configure flags
2016-01-19 13:13:40 -06:00
Adam J. Stewart
e6aa2610bc Add symlink for NAG Fortran Compiler 2016-01-19 13:07:07 -06:00
Adam J. Stewart
98706d31dc Various updates to MVAPICH2 package
Use url_for_version function to specify urls
Add version 2.2b
Add dedicated MRAIL variant
Fix typo
Make fortran compiler flags more specific
2016-01-19 12:46:15 -06:00
alalazo
00185a39d9 reverted email notification 2016-01-19 19:28:38 +01:00
alalazo
f092e69d12 yapf : added style file for convenience 2016-01-19 19:10:40 +01:00
alalazo
ae7c999712 code checking : added flake8 2016-01-19 18:55:18 +01:00
alalazo
f3d62f1d3b code checking : added pep8 and coveralls 2016-01-19 18:29:39 +01:00
Todd Gamblin
9be37da077 Merge pull request #373 from adamjstewart/features/mpich
Add verbs variant, remove deprecated configure flags
2016-01-19 08:59:59 -08:00
Todd Gamblin
e5267506e0 Merge pull request #374 from epfl-scitas/packages/eigen_no_suitesparse
eigen : added package
2016-01-19 08:36:46 -08:00
alalazo
e121faffa1 eigen : added package 2016-01-19 17:26:26 +01:00
Adam J. Stewart
0d42cdaffd Merge branch 'develop' into features/hdf 2016-01-19 10:09:25 -06:00
Adam J. Stewart
530f8e5b26 Merge branch 'develop' into features/hdf
* develop: (85 commits)
  Make libxcb compile with gcc 4.9.
  disable parallel install for glib (found races)
  disable cairo-trace, which is incompatible with older libiberty.h.
  Fix LaunchMon on newer gcc versions.
  Simplify output redirection in spack.util.executable
  Allow completely empty config files.
  Update cmake package to use http in all URLs.
  Fix create, diy, edit, and repo commands to use multiple repos.
  Add namespace option to find command.
  Temporary fix: Clang is the default compiler on Mac OS X.
  Netcdf requires cmake >=2.8.12
  Mbedtls depends on cmake
  Update libtool to 2.4.6
  Update Julia to 0.4.3
  Make binutils build on OS X
  Add verbs and psm variants
  py-matplotlib: depend on freetype
  py-numpy: make blas/lapack optional dependencies
  qhull: apply patch to work with libc++'s standard library
  New package GNU tar
  ...
2016-01-19 10:07:21 -06:00
Adam J. Stewart
fbab88b0e1 Merge branch 'develop' into features/xz
* develop: (85 commits)
  Make libxcb compile with gcc 4.9.
  disable parallel install for glib (found races)
  disable cairo-trace, which is incompatible with older libiberty.h.
  Fix LaunchMon on newer gcc versions.
  Simplify output redirection in spack.util.executable
  Allow completely empty config files.
  Update cmake package to use http in all URLs.
  Fix create, diy, edit, and repo commands to use multiple repos.
  Add namespace option to find command.
  Temporary fix: Clang is the default compiler on Mac OS X.
  Netcdf requires cmake >=2.8.12
  Mbedtls depends on cmake
  Update libtool to 2.4.6
  Update Julia to 0.4.3
  Make binutils build on OS X
  Add verbs and psm variants
  py-matplotlib: depend on freetype
  py-numpy: make blas/lapack optional dependencies
  qhull: apply patch to work with libc++'s standard library
  New package GNU tar
  ...
2016-01-19 10:05:50 -06:00
Adam J. Stewart
58f18d5b12 Merge branch 'develop' into features/hwloc
* develop: (85 commits)
  Make libxcb compile with gcc 4.9.
  disable parallel install for glib (found races)
  disable cairo-trace, which is incompatible with older libiberty.h.
  Fix LaunchMon on newer gcc versions.
  Simplify output redirection in spack.util.executable
  Allow completely empty config files.
  Update cmake package to use http in all URLs.
  Fix create, diy, edit, and repo commands to use multiple repos.
  Add namespace option to find command.
  Temporary fix: Clang is the default compiler on Mac OS X.
  Netcdf requires cmake >=2.8.12
  Mbedtls depends on cmake
  Update libtool to 2.4.6
  Update Julia to 0.4.3
  Make binutils build on OS X
  Add verbs and psm variants
  py-matplotlib: depend on freetype
  py-numpy: make blas/lapack optional dependencies
  qhull: apply patch to work with libc++'s standard library
  New package GNU tar
  ...
2016-01-19 10:01:42 -06:00
Adam J. Stewart
d20ca32440 Merge branch 'develop' into features/mpc
* develop: (85 commits)
  Make libxcb compile with gcc 4.9.
  disable parallel install for glib (found races)
  disable cairo-trace, which is incompatible with older libiberty.h.
  Fix LaunchMon on newer gcc versions.
  Simplify output redirection in spack.util.executable
  Allow completely empty config files.
  Update cmake package to use http in all URLs.
  Fix create, diy, edit, and repo commands to use multiple repos.
  Add namespace option to find command.
  Temporary fix: Clang is the default compiler on Mac OS X.
  Netcdf requires cmake >=2.8.12
  Mbedtls depends on cmake
  Update libtool to 2.4.6
  Update Julia to 0.4.3
  Make binutils build on OS X
  Add verbs and psm variants
  py-matplotlib: depend on freetype
  py-numpy: make blas/lapack optional dependencies
  qhull: apply patch to work with libc++'s standard library
  New package GNU tar
  ...
2016-01-19 09:58:07 -06:00
Adam J. Stewart
fe640d764a Merge branch 'develop' into features/nag
* develop: (77 commits)
  Make libxcb compile with gcc 4.9.
  disable parallel install for glib (found races)
  disable cairo-trace, which is incompatible with older libiberty.h.
  Fix LaunchMon on newer gcc versions.
  Simplify output redirection in spack.util.executable
  Allow completely empty config files.
  Update cmake package to use http in all URLs.
  Fix create, diy, edit, and repo commands to use multiple repos.
  Add namespace option to find command.
  Temporary fix: Clang is the default compiler on Mac OS X.
  Netcdf requires cmake >=2.8.12
  Mbedtls depends on cmake
  Update libtool to 2.4.6
  Update Julia to 0.4.3
  Make binutils build on OS X
  Add verbs and psm variants
  py-matplotlib: depend on freetype
  py-numpy: make blas/lapack optional dependencies
  qhull: apply patch to work with libc++'s standard library
  New package GNU tar
  ...
2016-01-19 09:56:02 -06:00
Adam J. Stewart
f48fc0d8b1 Revert deprecated configure flags 2016-01-19 09:43:28 -06:00
Adam J. Stewart
16f1267c29 Merge branch 'develop' into features/mpich
* develop: (43 commits)
  Make libxcb compile with gcc 4.9.
  disable parallel install for glib (found races)
  disable cairo-trace, which is incompatible with older libiberty.h.
  Fix LaunchMon on newer gcc versions.
  Simplify output redirection in spack.util.executable
  Allow completely empty config files.
  Fix create, diy, edit, and repo commands to use multiple repos.
  Add namespace option to find command.
  Temporary fix: Clang is the default compiler on Mac OS X.
  update compiler config test.
  add sanity check on config write as well as validation on read.
  Add jsonschema validation for config files.
  Make text wrapping off by default in tty, add a kwarg for it.
  add/remove/list working for new config format.
  Add Python 3 aliases to our argparse backport.
  All tests that call concretize() need to be MockPackagesTests.
  Fix bug in tests.
  Rework mirror configuration.
  Rework compiler configuration and simplify config.py logic.
  Remove mock_configs; tests no longer modify spack home directory.
  ...
2016-01-19 09:37:53 -06:00
Todd Gamblin
01c5b53ba1 Make libxcb compile with gcc 4.9. 2016-01-19 01:16:15 -08:00
Todd Gamblin
047f1b9de9 disable parallel install for glib (found races) 2016-01-19 01:16:15 -08:00
Todd Gamblin
b7b4faff96 disable cairo-trace, which is incompatible with older libiberty.h. 2016-01-19 01:16:14 -08:00
Todd Gamblin
67ea7ce0ab Fix LaunchMon on newer gcc versions. 2016-01-19 01:16:14 -08:00
Todd Gamblin
cee7bfa9f0 Simplify output redirection in spack.util.executable
- By default inherit parent's input/output descriptor
- Only use pipes if we need to return output.
- Allows subprocesses (like emacsclient) to detect terminal correctly
2016-01-19 01:16:14 -08:00
Todd Gamblin
ad32f64ef6 Allow completely empty config files.
- Previous version would give validation error for an empty file.
  Now this is properly ignored.

- Also includes bugfix in ConfigFormatError
2016-01-19 01:16:14 -08:00
Todd Gamblin
8d6342c53d Merge branch 'mplegendre-multi_pkgsrc_roots' into develop
- This moves var/spack/packages to var/spack/repos/builtin/packages.

- Packages that did not exist in the source branch, or were changed in
  develop, were moved into var/spack/repos/builtin/packages as part of
  the integration.

Conflicts:
	lib/spack/spack/test/unit_install.py
	var/spack/repos/builtin/packages/clang/package.py
2016-01-19 01:16:08 -08:00
Adam J. Stewart
58162ec170 Add verbs variant, remove deprecated configure flags 2016-01-18 16:03:41 -06:00
Todd Gamblin
d802165e03 Merge pull request #355 from eschnett/eschnett/llvm
LLVM depends on cmake, and does not depend on isl
2016-01-17 19:24:17 -08:00
Todd Gamblin
c1e57e49ae Merge pull request #202 from scheibelp/features/unittest-xml-output-nose
Features/unittest xml output nose
2016-01-17 19:14:49 -08:00
Todd Gamblin
4bab6f9fdb Update cmake package to use http in all URLs. 2016-01-17 18:55:36 -08:00
Todd Gamblin
afcd5420ee Merge pull request #356 from eschnett/eschnett/tar
New package GNU tar
2016-01-17 18:49:14 -08:00
Todd Gamblin
85e8f8eb6a Merge pull request #353 from eschnett/eschnett/ncurses
Install ncurses properly
2016-01-17 18:49:00 -08:00
Todd Gamblin
635e053e6d Merge pull request #358 from adamjstewart/features/openmpi
Add psm and verbs variants
2016-01-17 18:45:13 -08:00
Todd Gamblin
77c6038711 Merge pull request #370 from eschnett/eschnett/netcdf-cmake
Netcdf requires cmake >=2.8.12
2016-01-17 18:31:56 -08:00
Todd Gamblin
a473830533 Merge pull request #367 from eschnett/eschnett/mbedtls-cmake
Mbedtls depends on cmake
2016-01-17 18:26:07 -08:00
Todd Gamblin
99390be127 Merge pull request #366 from eschnett/eschnett/libtool-2.4.6
Update libtool to 2.4.6
2016-01-17 18:25:55 -08:00
Todd Gamblin
c20f8eb5b3 Merge pull request #365 from eschnett/eschnett/julia-0.4.3
Update Julia to 0.4.3
2016-01-17 18:25:45 -08:00
Todd Gamblin
1a145f68a7 Merge pull request #362 from eschnett/eschnett/binutils-osx
Make binutils build on OS X
2016-01-17 18:25:24 -08:00
Todd Gamblin
5364474823 Merge pull request #359 from mathstuf/paraview-python-osx
Paraview python osx
2016-01-17 18:23:48 -08:00
Todd Gamblin
97b492756a Fix create, diy, edit, and repo commands to use multiple repos. 2016-01-17 18:14:35 -08:00
Todd Gamblin
5984bc2ad3 Add namespace option to find command. 2016-01-17 18:12:53 -08:00
Todd Gamblin
358b2ab4ba Temporary fix: Clang is the default compiler on Mac OS X. 2016-01-17 18:12:08 -08:00
Erik Schnetter
81f1311a60 Netcdf requires cmake >=2.8.12 2016-01-17 14:57:08 -08:00
Erik Schnetter
f4b87e2967 Mbedtls depends on cmake 2016-01-17 11:05:15 -05:00
Erik Schnetter
60656b6255 Update libtool to 2.4.6 2016-01-17 11:03:40 -05:00
Erik Schnetter
e585a5d8a3 Update Julia to 0.4.3 2016-01-17 11:02:30 -05:00
Erik Schnetter
981cefe8d3 Make Boost build with MPI on OS X
Boost does not build on OS X with either gold or binutils. The gold linker does not exist on Darwin, and binutils on Darwin provides an assembler that doesn't work for Boost.

- Introduce a variant that specifies whether to build with binutils, defaulting to true for backward compatibility
- Auto-detect whether we build on Darwin; in this case, set the gold and binutils variant defaults to false
- Clean up configure flags for as and ld
2016-01-17 10:54:12 -05:00
Erik Schnetter
36a428b8fc Make binutils build on OS X
Binutils defines several global variables multiple times. Apparently this works fine under Linux, but it leads to a linker error on Darwin. Rename these global variables.

Note that binutils on OS X is still not really useful, as important tools (e.g. ld) are not supported.
2016-01-17 10:49:13 -05:00
Peter Scheibel
d22cf1aed1 1. raise an exception if the multithreaded and singlethreaded options are both
disabled
2. invoke the b2 installation once for each enabled threading option (apparently
the install fails if a single call has both options enabled for mpi)
2016-01-15 18:07:41 -08:00
Gregory Becker
8e54babf10 minor parsing bug fix 2016-01-15 17:21:32 -08:00
Gregory Becker
e1a0af8745 cleanup 2016-01-15 16:51:41 -08:00
Gregory Becker
16e9d658d5 Fixed the way flags on deps are attached so that they aren't moved onto the root before normalize/concretize 2016-01-15 16:18:40 -08:00
Gregory Becker
342f4bc2e0 Fixed virtual/cflag combination bug 2016-01-15 14:27:50 -08:00
Adam J. Stewart
eac795abc3 Add verbs and psm variants 2016-01-15 15:09:36 -06:00
Ben Boeckel
4f60948bff py-matplotlib: depend on freetype
Probably a missed dependency, but appeared on OS X.
2016-01-15 16:04:49 -05:00
Ben Boeckel
c3bf1a7741 py-numpy: make blas/lapack optional dependencies
OS X is having trouble building these libraries, so make them optional
dependencies.
2016-01-15 16:03:51 -05:00
Ben Boeckel
f6680a0051 qhull: apply patch to work with libc++'s standard library
Only seen on OS X with clang right now.
2016-01-15 16:02:35 -05:00
Nicola Varini
7fc308ed26 Update to version 5.3 2016-01-15 17:04:25 +01:00
Nicola Varini
7d0256c9fb Quantum-ESPRESSO package 2016-01-15 10:27:38 +01:00
Erik Schnetter
0a993cd9d7 New package GNU tar 2016-01-14 20:44:51 -05:00
Erik Schnetter
3e703cc281 LLVM depends on cmake, and does not depend on isl
Add cmake requirement.

Remove gmp and isl requirements. Using an external isl leads to a build failure for me on a fairly standard Fedora Linux workstation. The Spack package file says that isl is required for polly, however, the polly documentation states that as of LLVM 3.7, polly includes isl, and has no external dependencies any more.
2016-01-14 17:52:28 -05:00
Erik Schnetter
aa3897a880 Install ncurses properly
Currently, ncurses's include files are installed into two separate subdirectories, "install/ncurses" and "install/ncursesw". The second level of subdirectories ("ncurses" and "ncursesw") are non-standard. I checked several systems to confirm this, and ncurses examples on the web also simply contain "#include <ncurses.h>" instead of "#include <ncurses/ncurses.h>", which would be necessary to use the currently installed ncurses packages. For example, this also breaks llvm, which uses ncurses, but does not expect the second level of subdirectories.

I am now using the option "--enable-overwrite", which installs the header files directly in to ".../include". I also enable "widec" support all the time. These options are e.g. similar to the ones used by MacPorts, and I confirm that they make the llvm package build (which didn't build before).
2016-01-14 17:40:11 -05:00
Todd Gamblin
aa00999fca update compiler config test. 2016-01-14 12:00:56 -08:00
Todd Gamblin
d869d8e86f add sanity check on config write as well as validation on read. 2016-01-14 12:00:44 -08:00
Todd Gamblin
b567cb57e1 Add jsonschema validation for config files. 2016-01-14 10:41:35 -08:00
Todd Gamblin
05b30bf83e Make text wrapping off by default in tty, add a kwarg for it. 2016-01-14 10:26:31 -08:00
Todd Gamblin
1268b41570 Merge pull request #293 from trws/llvm-rework
Llvm rework
2016-01-14 01:13:39 -08:00
Todd Gamblin
93fdb06d7d Merge pull request #273 from epfl-scitas/packages/R
R : updated package
2016-01-14 00:13:27 -08:00
Adam J. Stewart
f9fbb57d31 Add NAG Fortran Compiler support 2016-01-13 12:32:04 -06:00
Todd Gamblin
f55bba7244 Merge pull request #349 from adamjstewart/features/mpich
Add latest version
2016-01-13 09:50:18 -08:00
Adam J. Stewart
244ee673d6 Add latest version 2016-01-13 11:44:51 -06:00
Todd Gamblin
a56575a6d2 Merge pull request #324 from eschnett/eschnett/openblas-lapack
Ensure that OpenBLAS provides a file liblapack.a
2016-01-13 08:26:26 -08:00
Todd Gamblin
7fe5eaf6b7 Merge pull request #348 from eschnett/eschnett/cereal
New package "cereal"
2016-01-13 08:25:58 -08:00
Erik Schnetter
aa1f96c73b New package "cereal" 2016-01-13 11:21:52 -05:00
Todd Gamblin
37f1337a0b Merge pull request #347 from alalazo/packages/gmsh
Added package : gmsh
2016-01-13 08:20:48 -08:00
alalazo
78b57787fa gmsh : added hdf5 support 2016-01-13 12:22:59 +01:00
alalazo
767f286a9f gmsh : added fltk support 2016-01-13 11:26:10 +01:00
alalazo
ffaa4a8922 gmsh : added package with basic compile options 2016-01-13 10:05:19 +01:00
Gregory Becker
848728858c Removed extra plus signs from command line syntax. Did not yet remove them from printed format 2016-01-12 18:34:26 -08:00
Gregory Becker
5e3c883f2c Cleanup and proper flag satisfaction for partial specs 2016-01-12 16:25:54 -08:00
Gregory Becker
528f9cd583 Implemented flags as lists for subsetting 2016-01-12 15:22:15 -08:00
Todd Gamblin
8ead7783ab Merge pull request #345 from eschnett/eschnett/petsc-python-2
Correct Python version constraint syntax
2016-01-12 14:26:28 -08:00
Todd Gamblin
2a36ba9680 Merge pull request #344 from adamjstewart/features/mpfr
Add required dependency version
2016-01-12 11:37:27 -08:00
Erik Schnetter
8eb16ba02d Merge branch 'develop' into eschnett/petsc-python-2
# Conflicts:
#	var/spack/packages/petsc/package.py
2016-01-12 14:36:37 -05:00
Adam J. Stewart
a6f2cc9cbf Add required dependency version 2016-01-12 13:28:48 -06:00
Adam J. Stewart
180c673c78 Add different URL for older source code 2016-01-12 13:21:53 -06:00
Adam J. Stewart
6985d2c914 Add url_for_version function to calculate url 2016-01-12 13:00:05 -06:00
Adam J. Stewart
5520ce3c4a Removed unnecessary URLs 2016-01-12 12:19:03 -06:00
Adam J. Stewart
9b3e0255f4 Add HDF package 2016-01-12 11:55:42 -06:00
Todd Gamblin
4ac530d289 Merge pull request #314 from eschnett/eschnett/libpciaccess-configure
Build libpciaccess from tarball
2016-01-12 09:14:19 -08:00
Todd Gamblin
5bdc6e53e5 Merge pull request #323 from eschnett/eschnett/openssl-apps
Ensure the APPS environment variable is not set when building OpenSSL
2016-01-12 09:13:50 -08:00
Todd Gamblin
dd0aa90aa1 Merge pull request #328 from eschnett/eschnett/lua-readline
Resolve readline/ncurses dependency when building Lua
2016-01-12 09:13:21 -08:00
Todd Gamblin
1a3c0063a5 Merge pull request #329 from epfl-scitas/packages/cmake
cmake : added variant that activates the build of the ncurses gui
2016-01-12 09:12:06 -08:00
Todd Gamblin
a13c461890 Merge pull request #338 from epfl-scitas/packages/metis
Improved packages : metis and parmetis
2016-01-12 09:09:31 -08:00
alalazo
1f78b9c7af parmetis : removed leftover import statement 2016-01-12 16:59:47 +01:00
alalazo
da8b08b5fe parmetis : used spack install method instead of shutil.copy 2016-01-12 14:55:29 +01:00
alalazo
30da85c3d8 metis : added variant specified in BUILD.txt. Fixed wrong dependency on MPI.
parmetis : added variants as in metis
2016-01-12 14:25:06 +01:00
Peter Scheibel
50727527bc This commit makes the following changes:
There are two sensible defaults for building boost libraries: build all of them
or build none of them. Previously the Spack boost package took the first
approach. This commit changes to building no libraries by default. The user can
specify which libraries they need using variants (e.g. +iostreams to compile the
boost iostreams library). If no libraries are built then a header-only install
is performed (no compilation, just copy header files to prefix). The consequence
of this change is that packages which specify a dependency on boost may now fail
(until they are updated to specify exactly which boost libraries they need
compiled).

The user may now specify whether to build shared libraries (static libraries are
always built) and whether to build libraries with/out multi-threading support
(default is to only build with multi-threading support).

The executable on the user-config.jam toolset line is set to Spack's cc script.
Before, without this, the desired toolset was used but Spack deferred to the
boost build system to choose the compiler version.

bzip2 and zlib are always specified as dependencies when iostreams is built
(before this could be controlled with the +compression variant).
2016-01-11 15:51:59 -08:00
Erik Schnetter
36d74d2a97 Correct Python version constraint syntax 2016-01-11 17:39:39 -05:00
Erik Schnetter
a5588e4bb7 Download package version with a configure script
This avoids having to use autoconf, which requires many m4 scripts that are not always available.
2016-01-11 17:37:13 -05:00
Erik Schnetter
8af8c10559 Avoid key error when env var is unset 2016-01-11 17:33:44 -05:00
Todd Gamblin
d3c96ec2ee Merge pull request #335 from LLNL/revert-321-eschnett/petsc-python
Revert "Require Python for PETSc"
2016-01-11 13:58:52 -08:00
Todd Gamblin
85220dd77d Revert "Require Python for PETSc" 2016-01-11 13:57:21 -08:00
Todd Gamblin
01f2c38ee7 Merge pull request #320 from eschnett/eschnett/parmetis-cmake
parmetis requires cmake @2.8:
2016-01-11 13:56:28 -08:00
Todd Gamblin
25e398645f Merge pull request #321 from eschnett/eschnett/petsc-python
Require Python for PETSc
2016-01-11 13:56:10 -08:00
Todd Gamblin
c4f2373ac2 Merge pull request #318 from eschnett/eschnett/metis-cmake
Require cmake @2.8: for metis
2016-01-11 13:56:04 -08:00
Gregory Becker
2ac5ea42af Fixed concretization 2016-01-11 13:55:11 -08:00
Todd Gamblin
d2b925c709 Merge pull request #312 from eschnett/eschnett/petsc-mpi
Make PETSc build with OpenMPI
2016-01-11 13:53:51 -08:00
Todd Gamblin
87e8430921 Merge pull request #316 from eschnett/eschnett/tgz
Use .tar.gz instead of .tar.xz in several packages for backward compatibility
2016-01-11 13:52:50 -08:00
Todd Gamblin
d380820f3a Merge pull request #322 from eschnett/eschnett/gperftools-update
Update gperftools
2016-01-11 13:52:05 -08:00
Todd Gamblin
309425833b Merge pull request #325 from eschnett/eschnett/julia-update
Several small updates to Julia
2016-01-11 13:48:09 -08:00
Todd Gamblin
9bbb9a8f0a Merge pull request #330 from epfl-scitas/packages/cgal
Added package : cgal
2016-01-11 13:47:55 -08:00
Todd Gamblin
054c6eefdb Merge pull request #334 from adamjstewart/features/patchelf
Add PatchELF package
2016-01-11 13:47:31 -08:00
Todd Gamblin
674dd27649 Merge pull request #333 from adamjstewart/features/szip
Add SZip package
2016-01-11 13:47:14 -08:00
Adam J. Stewart
adbe1d4f06 Add PatchELF package 2016-01-11 13:54:26 -06:00
Adam J. Stewart
6a51b1d570 Add SZip package 2016-01-11 13:43:31 -06:00
alalazo
81a389151f cmake : added variant that activates the build of the ncurses gui 2016-01-11 13:00:23 +01:00
alalazo
625570e730 added package : cgal 2016-01-11 12:50:47 +01:00
Erik Schnetter
23c5a1e6e9 Build Lua on Darwin 2016-01-10 19:37:44 -05:00
Erik Schnetter
9f2dbc9df4 Update Lua to 5.3.2 2016-01-10 19:34:02 -05:00
Erik Schnetter
992b9c46dd Resolve readline/ncurses dependency when building Lua 2016-01-10 13:44:53 -08:00
Mario Melara
aab1a67d05 Adding needed import modules. Changed platform_name to platform to prevent syntax errors 2016-01-09 09:42:36 -08:00
Erik Schnetter
79a1de2f17 Add a patch to prevent Julia running out of virtual memory 2016-01-09 10:47:31 -05:00
Erik Schnetter
b18732173a Require Python to build Julia 2016-01-08 23:21:54 -05:00
Erik Schnetter
d9f1a55c90 Ensure than OpenBLAS provides a file liblapack.a
OpenBLAS implements the virtual package "lapack", and its consumers apparently expect a "liblapack.a".
2016-01-08 22:48:37 -05:00
Erik Schnetter
d5ff7fda6e Ensure the APPS environment variable is not set when building OpenSSL 2016-01-08 22:41:18 -05:00
Erik Schnetter
3d7e7c53c5 Require libunwind 2016-01-08 22:33:55 -05:00
Erik Schnetter
0c9acb0f62 Update gperftools to version 2.4 2016-01-08 22:32:00 -05:00
Erik Schnetter
2ac2985cf2 Require Python for PETSc
PETSc requires Python for building.

I have a case where an HPC system has a very old default Python version, too old for Spack. So I load a module for Python, which makes Spack work. This module relies on LD_LIBRARY_PATH.

When building PETSc, Spack unsets LD_LIBRARY_PATH, breaking the Python that PETSc finds.

Explicitly requiring Python for PETSc makes building PETSc work.
2016-01-08 22:24:42 -05:00
Erik Schnetter
e628896c2b parmetis requires cmake @2.8: 2016-01-08 22:12:19 -05:00
Erik Schnetter
da8fd5b30a Require cmake @2.8: for metis 2016-01-08 21:56:08 -05:00
Gregory Becker
9615efd940 cleanup: Removing an unnecessary line in an otherwise unchanged file 2016-01-08 18:53:19 -08:00
Gregory Becker
41046499c6 minor bug chasing 2016-01-08 18:51:38 -08:00
Erik Schnetter
04f908a957 Require cmake @2.8: 2016-01-08 21:41:35 -05:00
Erik Schnetter
8da1dd2b45 Require cmake 2016-01-08 21:32:17 -05:00
Gregory Becker
6e5238d037 Fixing the fix and removing debug printing 2016-01-08 17:44:16 -08:00
Gregory Becker
2b2d4bae4e Fixing multimethod test for new platforms 2016-01-08 17:38:37 -08:00
Gregory Becker
2b4dd8b9af Fixed target satisfaction and updated tests accordingly 2016-01-08 16:30:27 -08:00
Gregory Becker
aa28e4e81f Improved error messages for compiler_for_spec when either zero or multiple compilers returned. 2016-01-08 15:13:48 -08:00
Gregory Becker
6da1a105cb Revert "adding python_recipe_parser as a submodule under the folder utils"
This reverts commit 1501786fd9.
2016-01-08 15:03:34 -08:00
Gregory Becker
6ca1e5c4b0 Revert "added a bunch of packages and added submodule"
This reverts commit 79808da760.
2016-01-08 15:02:29 -08:00
Gregory Becker
86230b9ac8 Revert "make sure submodule is added in the correct location"
This reverts commit e9f7d033ff.
2016-01-08 15:01:46 -08:00
Gregory Becker
d3d37ad0ce removed the submodule as part of reversion of extraneous commits 2016-01-08 14:29:42 -08:00
Erik Schnetter
6214148d35 Use .tar.gz instead of .tar.xz for backward compatibility 2016-01-08 17:16:30 -05:00
Gregory Becker
a9e9f9afb0 Revert "removed package for python packages with problematic / duplicate names"
This reverts commit f3254ff02d.
2016-01-08 14:14:26 -08:00
Gregory Becker
1b0d064743 Revert "clean up package.py file and remove duplicate file"
This reverts commit c809cc9273.
2016-01-08 14:13:33 -08:00
Gregory Becker
d2da41b0bd More file permissions chasing 2016-01-08 12:12:03 -08:00
Gregory Becker
49908386ef changing problematic package.py file permissions back to 0644 2016-01-08 11:48:59 -08:00
Gregory L. Lee
7ad3e2b56b new python packages 2016-01-08 11:09:11 -08:00
Gregory Becker
ba63111f45 brought the architecture test up to date with new changes 2016-01-07 13:05:58 -08:00
Gregory Becker
53d4f82ce1 Improved cray architecture class 2016-01-07 13:01:05 -08:00
Gregory Becker
83917c4c30 Improved target specification 2016-01-07 12:43:39 -08:00
Gregory Becker
6ccd9d6fa4 Cleaned up naming conventions for architecture, split into platform and target 2016-01-07 11:49:01 -08:00
Gregory L. Lee
175f20a9dc new and updated python packages 2016-01-07 11:12:47 -08:00
Erik Schnetter
1646bec1a4 Make PETSc build with OpenMPI 2016-01-07 13:54:47 -05:00
Todd Gamblin
dd04b6a873 Merge pull request #278 from eschnett/eschnett/hdf5-variants
Enable several variants for HDF5
2016-01-06 23:50:40 -08:00
Todd Gamblin
a651572cfd Merge pull request #307 from eschnett/eschnett/atop
New package atop
2016-01-06 23:40:03 -08:00
Gregory Becker
b4a0004f44 Improved target cmp_key and to/from yaml functions 2016-01-06 14:50:31 -08:00
Gregory Becker
51bd91edc0 made the compiler strategy more easily controllable 2016-01-06 13:00:22 -08:00
Todd Gamblin
8e56c93fef Merge pull request #305 from mathstuf/paraview-osx
Paraview osx
2016-01-06 11:31:37 -08:00
Ben Boeckel
e790146627 paraview: add some extra arguments on OS X
X shouldn't be used on OS X and spack expects a Unix-style install, not
a .app bundle.
2016-01-06 12:05:05 -05:00
Erik Schnetter
fd7c1fe584 Avoid using tabs 2016-01-06 10:10:15 -05:00
Todd Gamblin
84c7e457e9 Merge pull request #302 from eschnett/eschnett/correct-boost
Correct `join_path` in package boost
2016-01-06 04:34:44 -08:00
Todd Gamblin
a65fa54514 Merge pull request #270 from eschnett/eschnett/openssl-darwin
Make OpenSSL build on Darwin
2016-01-06 04:07:16 -08:00
Todd Gamblin
20cbc1d145 Merge pull request #308 from epfl-scitas/packages/glpk
Added package : glpk
2016-01-06 03:37:53 -08:00
alalazo
7670dc7efc glpk : added support for gmp 2016-01-06 10:05:48 +01:00
alalazo
24ba60168d added package : glpk 2016-01-06 09:49:10 +01:00
Todd Gamblin
7f29b870e7 Merge pull request #306 from eschnett/eschnett/mbedtls
New package mbedtls, an alternative SSL library
2016-01-05 23:02:43 -08:00
Gregory Becker
61b03b72b0 improved concretize efficiency for determining whether compilers come from the proper strategy 2016-01-05 19:03:25 -08:00
Gregory Becker
93c9c45580 minor tweak of compiler priority while waiting for customizable compiler priorities 2016-01-05 17:19:04 -08:00
Gregory Becker
29e0ff61d7 fixed compiler finding so as not to identify non-existent versions of the intel compiler based on the version numbers of the PrgEnv-intel module 2016-01-05 17:14:35 -08:00
Erik Schnetter
cfe54b201d New package atop 2016-01-05 20:09:22 -05:00
Gregory Becker
c649610473 fixed concretization to only consider compilers found by the proper strategy 2016-01-05 17:00:28 -08:00
Gregory Becker
d6768cf921 minor bug fix 2016-01-05 16:23:32 -08:00
Erik Schnetter
60d8413940 Support mbedtls, an alternative SSL library 2016-01-05 19:21:57 -05:00
Gregory Becker
48b9023de4 removed debug printing 2016-01-05 14:51:18 -08:00
Gregory Becker
751503c434 fixed haswell targeting bug 2016-01-05 14:47:14 -08:00
Todd Gamblin
7ba6067a37 Merge pull request #304 from nolta/py-astropy
new package: py-astropy
2016-01-05 14:32:38 -08:00
Gregory Becker
1edbaa4e62 removed debug printing 2016-01-05 14:13:09 -08:00
Gregory Becker
9848ad32fd fixed errors caused by crayport on linux and added a darwin architecture 2016-01-05 13:39:53 -08:00
Mike Nolta
2b801e2086 new package: py-astropy 2016-01-05 15:41:18 -05:00
Gregory Becker
d2c2c46541 bug hunting 2016-01-05 11:12:14 -08:00
Erik Schnetter
c18dfa058a Add details to comment 2016-01-05 14:09:54 -05:00
Erik Schnetter
12632f16b8 Combine with other OpenSSL Darwin patch
Set KERNEL_BITS.
Don't use Darwin-specific configure script.
2016-01-05 13:17:17 -05:00
Erik Schnetter
25934200de Merge branch 'develop' into eschnett/openssl-darwin 2016-01-05 13:09:57 -05:00
Erik Schnetter
24ced90913 Correct join_path in package boost 2016-01-05 09:40:30 -05:00
Todd Gamblin
0dcc87bd21 Merge pull request #289 from trws/zsh-array-fix
another portability fix, this time for zsh/non-bash sh
2016-01-05 00:43:08 -08:00
Todd Gamblin
20e8b67eb6 Merge pull request #297 from eschnett/eschnett/boost-darwin
Support Darwin for Boost
2016-01-05 00:42:31 -08:00
Todd Gamblin
7e362e0c46 Merge pull request #300 from eschnett/eschnett/multi-fftw
Build multiple FFTW variants simultaneously
2016-01-05 00:39:50 -08:00
Gregory Becker
751208cedf pick last compiler instead of first, will be overwritten by more advanced preferences as mentioned in the email group 2016-01-04 16:35:06 -08:00
Gregory Becker
53808f254e Support for cray external dependencies implemented in modules 2016-01-04 12:36:48 -08:00
Gregory Becker
ff82e41404 Merge branch 'externals' into crayport 2016-01-04 10:46:25 -08:00
Erik Schnetter
96e5905bce Build multiple FFTW variants simultaneously
FFTW can build only one floating point precision (float, double, long double, quad) at once, but they can all be installed simultaneously as the libraries have different names. It is common packages to decide only at run time which precision FFTW they need, and thus FFTW should offer all precisions at once.
2016-01-04 12:14:42 -05:00
Tom Scogland
133fda11f2 Merge remote branch 'origin/llvm-rework' into llvm-rework 2016-01-03 17:22:57 -08:00
Tom Scogland
884f317d50 tweak gold support, added to gcc
The gold linker support and gold plugin variants now use the same name.
Trying to apply use-flag-style discipline here despite the fact gold has
other implications for clang, this way globally enabling gold will have
a more consistent effect if that becomes possible.  The gold support in
gcc could use more testing to ensure it works consistently, but as long
as a binutils including gold is used the gcc configure tends to pick it
up, and it seems to work with 5.3.0 at least.
2016-01-03 17:22:13 -08:00
Todd Gamblin
b02faf5641 add/remove/list working for new config format.
- mirrors.yaml now uses dict order for precedence, instead of lists of
  dicts.

- spack.cmd now specifies default scope for add/remove and for list
  with `default_modify_scope` and `default_list_scope`.
  - commands that only read or list default to all scopes (merged)
  - commands that modify configs modify user scope (highest
    precedence) by default
  - These vars are used in setup_paraser for mirror/repo/compiler.

- Spack's argparse supports aliases now.
  - added 'rm' alias for `spack [repo|compiler|mirror] remove`
2016-01-03 02:27:50 -08:00
Todd Gamblin
21fae634a5 Add Python 3 aliases to our argparse backport. 2016-01-03 01:19:03 -08:00
Todd Gamblin
56937416a9 All tests that call concretize() need to be MockPackagesTests. 2016-01-02 18:18:00 -08:00
Todd Gamblin
20b7f8a8e0 Fix bug in tests. 2016-01-02 14:25:10 -08:00
alalazo
bf4231dd4b depends_on and when multimethod support boolean 2016-01-02 22:48:14 +01:00
Tom Scogland
31803d10aa bringing back configuration and build stages 2016-01-02 11:59:33 -08:00
alalazo
d95d169ac5 fixed broken unit tests 2016-01-02 19:04:06 +01:00
alalazo
f499f71f64 Package : factored out code in do_stage and do_fetch, changed mirror command accordingly 2016-01-02 16:15:30 +01:00
Tom Scogland
356836ccbb removed extraneous comment lines 2016-01-01 22:30:02 -08:00
Erik Schnetter
03537a6be4 Support Darwin for Boost
Ensure that builds on Darwin use the "darwin" toolset.
Also update Boost to 1.60.0.
2016-01-01 17:38:42 -05:00
Erik Schnetter
f5a49280c3 Enable C++ and Fortran languages by default 2016-01-01 17:26:49 -05:00
alalazo
dcddb19e5b added class decorator to define composite classes 2016-01-01 17:35:01 +01:00
Todd Gamblin
3c64c18bfc Merge pull request #274 from eschnett/eschnett/julia
Add package for Julia
2015-12-31 15:46:52 -08:00
Todd Gamblin
48ebb25c25 Merge pull request #271 from eschnett/eschnett/pcre2
New package PCRE2
2015-12-31 15:40:03 -08:00
Todd Gamblin
7062b216b8 Merge pull request #258 from epfl-scitas/packages/scalasca
Packages/scalasca
2015-12-31 15:27:39 -08:00
Todd Gamblin
99a73cb4fa Merge pull request #290 from trws/some-packages
python libraries, libedit, and ninja
2015-12-31 15:24:23 -08:00
Tom Scogland
48f19b5fde add the gold linker to binutils 2015-12-30 16:59:39 -08:00
Tom Scogland
5d89fb8dfa ensure that clang-query gets installed 2015-12-30 16:59:39 -08:00
Tom Scogland
4ae98f8b21 significant llvm update
This update significantly reworks the llvm and clang packages.  The llvm
package now includes variants allowing it to build and install any and
all of:

* clang
* lldb
* llvm's libunwind (why, WHY did they name it this?!?)
* polly (including building it directly into the clang tools, 3.7.0 only)
* clang extra tools
* compiler-rt (sanitizers)
* clang lto (the gold linker plugin that allows same to work)
* libcxx/libcxxabi
* libopenmp, also setting the default openmp runtime to same, when
  parameters happen this shoudl be an option of libomp or libgomp

Ideally, this should have rpath setup like the gcc package does, but
clang's driver has no support for specs as such, and no clearly
equivalent mechanism either.  If anyone has ideas on this, they would be
welcome.

One significant note related to gcc though, if you test this on LLNL
systems, or anywhere that has multiple GCCs straddling the dwarf2
boundary and sharing a libstdc++, build a gcc with spack and use that to
build clang.  If you use a gcc4.8+  to build this with an older
libstdc++ it will fail on missing unwind symbols because of the
discrepancy.

Resource handling has been changed slightly to move the unpacked archive
into the target rather than use symlinks, because symlinks break certain
kinds of relative paths, and orders resource staging such that nested
resources are unpacked after outer ones.
2015-12-30 16:59:39 -08:00
Tom Scogland
fcdf08e4d7 allow nested resources
This solution doesn't really make me happy, but does seem to work.  It
sorts the resources by the length of the string representing their
destination.  Since any nested resource must contain another resource's
name in its path, it seems that should work, but there should be a
better way to do this.
2015-12-30 16:59:39 -08:00
Tom Scogland
cc8c783bb2 adding errno import for the deep directory creation patch 2015-12-30 16:59:39 -08:00
Tom Scogland
30f5ccb80d create leading directories for resources
This allows resources to be placed into subdirectory trees that may not
exist in the base package, and may depend on other resources to be
staged later.
2015-12-30 16:59:39 -08:00
Tom Scogland
01f811d546 legacy mysql bindings for python 2015-12-30 11:18:13 -08:00
Tom Scogland
31f674da3c python libraries, libedit, and ninja
A pile of libraries and tools, libedit is actually important as a
replacement of readline for non-GPL projects.  Also ninja may be
worthwhile for some of the larger CMake projects, like llvm/clang.
2015-12-30 11:13:09 -08:00
Tom Scogland
926efed31c another portability fix, this time for zsh/non-bash sh
Yay for non-portable declaration syntax.  After the previous screwiness
I ran this through a number of shells, and found that this is the most
portable version I coudl seem to get.
2015-12-30 10:55:52 -08:00
Todd Gamblin
d842365e4c Merge pull request #288 from trws/zsh-array-fix
removing ill-fated array check for non-portability
2015-12-30 10:34:31 -08:00
Tom Scogland
8726d2fe2e removing ill-fated array check for non-portability 2015-12-30 10:29:11 -08:00
Todd Gamblin
3e3667f254 Revert "removing check as it can cause failures in zsh"
This reverts commit 496e485691.

Undo overly large set of changes -- LLVM wasn't ready.  Tom can
recommit just the zsh stuff.
2015-12-30 10:20:27 -08:00
Tom Scogland
496e485691 removing check as it can cause failures in zsh 2015-12-30 10:13:46 -08:00
Todd Gamblin
99a73c5991 Merge pull request #285 from trws/args-check
fix for array handling in ancient bash
2015-12-29 09:22:32 -08:00
Tom Scogland
d7607973fa fix for array handling in ancient bash
fixes #284
2015-12-29 09:04:54 -08:00
Todd Gamblin
e8e6368cc8 Rework mirror configuration.
- All of these work:
  - `spack mirror add`
  - `spack mirror remove`
  - `spack mirror list`

- `spack mirror` subcommands (except create) now have their own
  --scope argument.

- Mirror config is now stored sanely as an ordered list.
2015-12-28 01:14:41 -08:00
Todd Gamblin
1f8ba53ca7 Rework compiler configuration and simplify config.py logic.
- `spack compiler` subcommands now take an optional --scope argument.

- no more `remove_from_config` in `config.py` -- `update` just
  overwrites b/c it's easier to just call `get_config`, modify YAML
  structures directly, and then call `update`.

- Implemented `spack compiler remove`.
2015-12-28 00:46:51 -08:00
Todd Gamblin
ff0d871612 Remove mock_configs; tests no longer modify spack home directory. 2015-12-27 21:13:18 -08:00
Todd Gamblin
39e360f93a Add custom YAML loader & dumper to track lines & maintain dict order.
- Configs are now parsed with `spack.util.spack_yaml.load/dump`

- Parser annotates returned data with `_start_mark` and `_end_mark`
  properties, so that we can recover what lines/files they came from.

- Parser uses `OrderedDict` instead of `dict`.  This will help
  maintain some sanity when round-tripping config files.
2015-12-27 17:51:11 -08:00
Todd Gamblin
4e8e298eb3 Uncomment disabled tests. 2015-12-27 17:40:31 -08:00
Todd Gamblin
487ac9cd19 Merge pull request #277 from LLNL/bugfix/vcs-mirror-fetch
Fix #85 and #228: errors fetching VCS packages from a mirror.
2015-12-26 09:28:38 -08:00
Todd Gamblin
bef52570ae Default to scope with highest precedence instead of user scope,
- Generalizes config scopes a bit more: nothing assumes there is a
  'user' scope (this would break testing sometimes).
2015-12-25 18:42:06 -08:00
Todd Gamblin
c65fd3a289 Merge branch 'develop' into mplegendre-multi_pkgsrc_roots
Conflicts:
	lib/spack/spack/cmd/create.py
	lib/spack/spack/cmd/extensions.py
	lib/spack/spack/cmd/fetch.py
	lib/spack/spack/cmd/uninstall.py
	lib/spack/spack/config.py
	lib/spack/spack/database.py
	lib/spack/spack/directory_layout.py
	lib/spack/spack/packages.py
	lib/spack/spack/spec.py
2015-12-25 16:35:55 -08:00
Todd Gamblin
34401cf0c3 Rework Spack config: keep user & site config in memory.
- User and site config are now kept separately in memory.
- Merging is done on demand when client code requests the configuration.
- Allows user/site config to be updated independently of each other by commands.
- simplifies config logic (no more tracking merged files)
2015-12-25 14:00:33 -08:00
Erik Schnetter
be12720eb7 Use filter_file instead of calling perl 2015-12-25 14:02:56 -05:00
Todd Gamblin
9a23e1a9df Merge pull request #211 from LLNL/bugfix/github-154
Fix #154 -- better log messages for do_patch()
2015-12-24 11:46:32 -08:00
Todd Gamblin
52625de52c Fix #154 -- better log messages for do_patch() 2015-12-24 11:37:40 -08:00
Erik Schnetter
01f7e768f6 Enable several variants for HDF5
+cxx, +fortran: Enable support for the respective languages
+threadsafe: Enable multi-threading
2015-12-23 22:49:42 -05:00
Todd Gamblin
f37f872e5f Fix #85 and #228: errors fetching VCS packages from a mirror.
- Stage and fetcher were not being set up properly when fetching using
  a different fetch strategy than the default one for the package.

- This is fixed but fetch/stage/mirror logic is still too complicated
  and long-term needs a rethink.

- Spack will now print a warning when fetching a checksum-less tarball
  from a mirror -- users should be careful to use https or local
  filesystem mirrors for this.
2015-12-23 16:23:58 -08:00
Erik Schnetter
51f546fe92 Add comments to package file 2015-12-23 18:21:41 -05:00
Erik Schnetter
309877088d Build Julia 2015-12-23 18:21:40 -05:00
Erik Schnetter
a58dd8f6ab Remove leftover debug statement 2015-12-23 18:19:26 -05:00
Todd Gamblin
28d61f0d7f Merge pull request #276 from LLNL/bugfix/235-smarter-spider
Fix #235: Smarter web spidering -- use parsed links instead of recons…
2015-12-23 14:06:37 -08:00
Todd Gamblin
5ca5884ad6 Fix #235: Smarter web spidering -- use parsed links instead of reconstructing.
- Move `find_versions_of_archive` from spack.package to `spack.util.web`.

- `spider` funciton now just uses the link parsing it already does to
  return links.  We evaluate actual links found in the scraped pages
  instead of trying to reconstruct them naively.

- Add `spack url-parse` command, which you can use to show how Spack
  interprets the name and version in a URL.
2015-12-23 13:16:57 -08:00
alalazo
21dae4577a R : updated package 2015-12-23 10:20:13 +01:00
Todd Gamblin
d63cb8b537 Fix bug in URL regex. 2015-12-22 17:05:23 -08:00
Todd Gamblin
0d4b77a24b revert accidental print statements. 2015-12-22 17:02:14 -08:00
Todd Gamblin
2b89d9b1db More consistent URL parsing when finding versions.
Versions found by wildcard URLs are different from versions found by
parse_version, etc.  The wildcards are constructed more haphazardly
than the very specific URL patterns in url.py, so they can get things
wrong.  e.g., for this URL:

    https://software.lanl.gov/MeshTools/trac/attachment/wiki/WikiStart/mstk-2.25rc1.tgz

We miss the 'rc' and only return 2.25r as the version if we ONLY use
URL wildcards.

Future: Maybe use the regexes from url.py to scrape web pages, and
then compare them for similarity with the original URL, instead of
trying to make a structured wildcard URL pattern?  This might yield
better results.
2015-12-22 16:59:00 -08:00
Erik Schnetter
60ec79eac3 New package PCRE2
This is a major update of the package PCRE. It seems both PCRE and PCRE2 can be installed at the same time; their APIs are different.
2015-12-22 18:53:43 -05:00
Erik Schnetter
a540a68561 Make OpenSSL build on Darwin 2015-12-22 18:51:49 -05:00
Todd Gamblin
d1d23ec5e6 Merge pull request #257 from eschnett/eschnett/hwloc-1.11.2
Update hwloc; don't require libpciaccess on OS X
2015-12-22 15:18:39 -08:00
Todd Gamblin
1771063fe2 Merge pull request #269 from eschnett/eschnett/rsync-3.1.2
Update rsync to 3.1.2
2015-12-22 15:16:24 -08:00
Erik Schnetter
552d8ca5f0 Update rsync to 3.1.2 2015-12-22 16:40:09 -05:00
Erik Schnetter
6831ee6f0a Skip installing libpciaccess on Darwin 2015-12-22 16:24:05 -05:00
Erik Schnetter
6dc1fc03c1 Update hwloc; don't require libpciaccess on OS X
- hwloc 1.11.2 is available.
- libpciaccess is not supported on OS X; don't require it there.
2015-12-22 15:50:46 -05:00
Erik Schnetter
9017ec5865 Merge branch 'develop' into correct-cc 2015-12-22 15:49:43 -05:00
Erik Schnetter
3427174eb0 Correct quoting 2015-12-22 15:49:14 -05:00
Todd Gamblin
100ada0ed6 Merge pull request #266 from LLNL/bugfix/python3-setuptools-conflict
fix conflict with setuptools and cached pyc files
2015-12-22 09:19:57 -08:00
Gregory L. Lee
41fd380d1b fixed site pyc regular expression 2015-12-22 09:15:47 -08:00
Todd Gamblin
b1d40efd99 Merge pull request #261 from LLNL/features/prefer-versions-in-packages
Add ability to prefer particular versions in packages.
2015-12-22 08:25:52 -08:00
Gregory L. Lee
3db1c1761e only ignore cached site.py file 2015-12-22 08:03:17 -08:00
Todd Gamblin
5bcec9289e Merge pull request #263 from nolta/hdf5-mpi
fix non-mpi hdf5 package build
2015-12-22 07:57:11 -08:00
Todd Gamblin
157e42de22 Merge pull request #264 from nolta/typos
fix a few comment typos
2015-12-22 07:56:54 -08:00
Todd Gamblin
642ee87fcc Merge branch 'nolta-249' into develop 2015-12-22 07:56:10 -08:00
Todd Gamblin
792b033255 Slightly more robust tmp directory search.
- remove getcwd() check (seems arbitrary -- if users set their TMPDIR
  to this why stop them?)

- try a number of common locations and try per-user directories in
  them first.
2015-12-22 07:54:25 -08:00
Todd Gamblin
0f6884421b Merge pull request #265 from epfl-scitas/packages/valgrind
valgrind : added package
2015-12-22 07:23:19 -08:00
Gregory L. Lee
d85a46380c fix conflict with setuptools and cached pyc files 2015-12-22 06:50:18 -08:00
alalazo
fc43f3c730 valgrind : added package 2015-12-22 10:11:18 +01:00
Mike Nolta
61f07b0c4d fix a few comment typos 2015-12-21 19:24:16 -05:00
Mike Nolta
bfc72c04fb fix non-mpi hdf5 package build
Fixes a couple of issues in c5b7eba457.
2015-12-21 18:59:01 -05:00
Mike Nolta
2ba6bb21fb fix #249 (tmp spack-stage directories conflict) 2015-12-21 18:50:58 -05:00
Todd Gamblin
fe0fdf60b4 Add ability to prefer particular versions in packages.
- Adding `preferred=True` to a version directive will change its sort
  order in concretization.

- This provides us a rudimentary ability to keep the Spack stack
  stable as new versions are added.

- Having multiple stacks will come next, but this at least allows us
  to specify default versions of things instead of always taking the
  newest.
2015-12-21 15:35:47 -08:00
Gregory L. Lee
c3aaf005e2 new python versions 2015-12-21 15:14:59 -08:00
Gregory L. Lee
f9326053b9 remove numpy compiler patch 2015-12-21 13:56:19 -08:00
Todd Gamblin
73ea15db8e Merge pull request #208 from epfl-scitas/features/resource_directive
resource directive : implementation + clang / llvm use case
2015-12-21 10:34:16 -08:00
Erik Schnetter
611537eaed Merge branch 'develop' into correct-cc 2015-12-21 13:18:35 -05:00
Todd Gamblin
d5e9279c1d Merge pull request #215 from sjtbham/develop
fix build to work against depends for modules created by setup.py and…
2015-12-21 09:24:16 -08:00
Erik Schnetter
ba22fc8b78 Simplify Spack cc script 2015-12-21 10:21:33 -05:00
alalazo
a411c497ab scalasca + dependencies : simplified build after #255 2015-12-21 16:10:55 +01:00
alalazo
0a191d6b09 scalasca : updated package build (depends on scorep, does not build twice). 2015-12-21 15:02:48 +01:00
Todd Gamblin
dccfcd10f7 Merge pull request #255 from LLNL/bugfix/254-libtool-compiler-name-issues
Fix #254: libtool & distutils want certain compiler names.
2015-12-20 16:56:59 -08:00
Todd Gamblin
bb329d8a5c Merge pull request #231 from epfl-scitas/packages/scotch
scotch: adding dependencies + variants for mpi, shared, compression and esmumps
2015-12-20 14:29:19 -08:00
Todd Gamblin
d6edaa0970 Merge pull request #251 from epfl-scitas/packages/tau
Improved build of tau and related dependencies
2015-12-20 14:26:40 -08:00
alalazo
14c9c61275 tau : scorep is now a variant 2015-12-20 17:38:35 +01:00
Nicolas Richart
27d52badb1 removing completely the write_make_inc function 2015-12-20 13:38:22 +01:00
Nicolas Richart
614c4d1876 moving write_make_inc into a patch function 2015-12-20 13:27:43 +01:00
Todd Gamblin
37db5928b7 Merge pull request #109 from justintoo/add-package-spot
(Package) Add Spot C++ library (v1.99.3)
2015-12-19 21:06:22 -08:00
Todd Gamblin
22a4eb6b27 Merge pull request #226 from epfl-scitas/packages/mpiches
mpich, mvapich2: changes the filter for the wrappers mpi{cc, cxx, f77, fc}
2015-12-19 21:04:08 -08:00
Todd Gamblin
1b086c928c Merge pull request #227 from trws/fetch-deps
fetch: add options to fetch missing or all deps
2015-12-19 21:02:42 -08:00
Todd Gamblin
9edba18489 Merge pull request #230 from nolta/fix-env-mod-sys-type
fix environment module path when $SYS_TYPE isn't defined
2015-12-19 20:59:13 -08:00
Todd Gamblin
53cb7e828b Merge branch 'pull/256' into develop 2015-12-19 20:09:13 -08:00
Todd Gamblin
3d3bea618e Fix empty format strings in some packages. 2015-12-19 20:08:14 -08:00
Todd Gamblin
32f96b5c73 Fix stale code in python version test so that it actually works. 2015-12-19 20:04:00 -08:00
Mike Nolta
e403576cf9 new package: cfitsio 2015-12-19 18:38:23 -05:00
Mike Nolta
527154e6df fix env module sys_type on non-LLNL systems 2015-12-19 16:34:24 -05:00
Mike Nolta
429e15c4a6 spack python: add -c option
Allows passing program in as a string. Example:

    $ spack python -c 'print 2+3'
    5

Also imports spack module by default into the environment.
2015-12-19 16:32:17 -05:00
Gregory Lee
df5dc1c9bb Merge pull request #253 from LLNL/bugfix/244-uninstall-errors
Bugfix/244 uninstall errors
2015-12-19 08:06:36 -08:00
Gregory L. Lee
a62f590653 Merge branch 'develop' of https://github.com/llnl/spack into develop 2015-12-19 07:44:12 -08:00
Gregory L. Lee
8dd1f3ffa5 added mrnet 5.0.1 2015-12-19 07:43:34 -08:00
Todd Gamblin
7cc4d88726 Fix #254: libtool & distutils want certain compiler names.
This changes the compiler wrappers so that they are called by the same
name as the wrapped compiler.  Many builds make assumptions about
compiler names, and we need the spack compilers to be recognizable so
that build systems will get their flags right.

This adds per-compiler subdirectories to lib/spack/spack/env directory
that contain symlinks to cc for the C, C++, F77, and F90
compilers. The build now sets CC, CXX, F77, and F90 to point to these
links instead of to the generically named cc, c++, f77, and f90
wrappers.
2015-12-19 02:06:47 -08:00
Todd Gamblin
5f9a61616b Merge pull request #252 from JohnWestlund/develop
remove possible trailing slash in _sp_prefix or _sp_share_dir
2015-12-18 22:31:18 -08:00
Todd Gamblin
52e3364efa Fix #244: errors on uninstall
- Extension logic didn't take conditional deps into account.

- Extension methods now check for whether the extnesion is
  in the extendee map AND whether the dependency is actually present
  in the spec yet.
2015-12-18 22:24:35 -08:00
Todd Gamblin
b7e926eef6 minor formatting. 2015-12-18 22:24:22 -08:00
Todd Gamblin
ce8bd20944 Fix import error. 2015-12-18 22:23:51 -08:00
John Westlund
3e1ba6cc24 remove possible trailing slash in _sp_prefix or _sp_share_dir 2015-12-18 21:28:44 -08:00
Todd Gamblin
abd3d3946d Format to 80 char width. 2015-12-18 19:23:45 -08:00
alalazo
f3837dd686 tau : removed direct otf2 support 2015-12-18 16:15:30 +01:00
alalazo
dfbf1b2205 Merge branch 'develop' of https://github.com/alalazo/spack into packages/tau 2015-12-18 13:00:43 +01:00
alalazo
8dc32aeedb Improved tau build and added optional dependencies 2015-12-18 12:58:29 +01:00
Todd Gamblin
3198522a7f Merge pull request #236 from nolta/cmake-enable-ssl
cmake: enable ssl, for https downloads
2015-12-17 23:03:31 -08:00
Todd Gamblin
a173324069 Merge pull request #205 from trws/shell-arg-handling-fix
fix for the shell arg handling issues
2015-12-17 23:01:46 -08:00
Todd Gamblin
ffd1d95806 Merge pull request #250 from davidbeckingsale/features/lmod
Added Lmod package
2015-12-17 22:37:46 -08:00
David Beckingsale
f91e1ae83f Added Lmod package 2015-12-17 15:26:47 -08:00
Gregory Becker
217a2d9ea5 fixed yaml error 2015-12-17 15:26:27 -08:00
Todd Gamblin
4d982f5aca Merge pull request #86 from jgalarowicz/develop
Add support for Krell Institute related products.
2015-12-17 12:35:30 -08:00
Jim Galarowicz
c02cbaecd8 Change back the previous boost change and change the mrnet variant name to lwthreads. 2015-12-17 07:41:49 -08:00
Erik Schnetter
5d61888657 Correct Spack cc script 2015-12-17 10:13:39 -05:00
Todd Gamblin
6b6a82c147 Merge pull request #246 from LLNL/features/245-pdb-debug
added option to enable pdb debug
2015-12-16 16:08:09 -08:00
Gregory L. Lee
107c0dd1a8 added option to enable pdb debug 2015-12-16 15:54:15 -08:00
Todd Gamblin
85c02dbe7b Merge pull request #167 from mathstuf/hdf5-fix-mpi-dependency
Hdf5 fix mpi dependency
2015-12-16 12:03:22 -08:00
Gregory Lee
9cab88071b Merge pull request #239 from LLNL/bugfix/238-db-specs-not-concrete
Fix #238: Database specs need to be concrete when read in as well.
2015-12-16 11:37:51 -08:00
Todd Gamblin
9ac4c730fb Merge pull request #241 from epfl-scitas/packages/gnuplot
gnuplot : added package
2015-12-16 11:37:26 -08:00
Todd Gamblin
09b6e8e804 Merge pull request #242 from epfl-scitas/packages/gsl
gsl : added package
2015-12-16 11:36:09 -08:00
Todd Gamblin
5b665226a2 Merge pull request #243 from nolta/patch-2
minor comment tweak in modules.py
2015-12-16 11:33:56 -08:00
Mike Nolta
82aa366adf minor comment tweak in modules.py 2015-12-16 11:43:07 -05:00
alalazo
cc9266e56c gsl : added package 2015-12-16 12:45:58 +01:00
Massimiliano Culpo
d5018e77a3 gnuplot : modifications to build on RHLE 6 2015-12-16 09:32:48 +01:00
Todd Gamblin
2f9ee88408 Fix #238: Database specs need to be concrete when read in as well. 2015-12-15 17:15:37 -08:00
Mike Nolta
917fb328bb cmake: enable ssl, for https downloads
By default cmake builds its own curl, without SSL support. This
patch enables SSL when building cmake, fixing the following error:

  error: downloading 'https://...' failed

    status_code: 1
    status_string: "Unsupported protocol"
    log: Protocol "https" not supported or disabled in libcurl
2015-12-15 12:39:30 -05:00
alalazo
0a0cd4b9d3 gnuplot : added package 2015-12-15 16:29:36 +01:00
Todd Gamblin
dc3b54a681 Merge pull request #233 from LLNL/bugfix/206-value-error
Fix #206: need to make deps AND root concrete when read in.
2015-12-14 21:17:10 -08:00
Todd Gamblin
6e074a196a Fix #206: need to make deps AND root concrete when read in. 2015-12-14 21:06:32 -08:00
Todd Gamblin
3d39d035c1 Merge pull request #232 from LLNL/bugfix/package-cache-217
Bugfix/package cache 217
2015-12-14 19:54:57 -08:00
Nicolas Richart
ed7db8e489 adding external dependencies + variants for mpi, shared and compression 2015-12-14 21:59:40 +01:00
Todd Gamblin
26b3d15ea0 Merge pull request #229 from epfl-scitas/packages/fftw
fftw : added package
2015-12-14 10:12:22 -08:00
alalazo
1bfb16592b fftw : added package 2015-12-14 16:31:02 +01:00
Jim Galarowicz
8df4fd9e94 Fix build of krell tools to use spack with minimal impact on rest of spack packages. 2015-12-13 17:13:34 -08:00
Jim Galarowicz
0fc83ba999 Fix merge conflict with papi package. 2015-12-11 17:23:54 -08:00
Todd Gamblin
afbd0e77d0 Make internal hash dep sort order match external one. 2015-12-11 16:47:34 -08:00
Todd Gamblin
3dd6cbc556 Fix #217: update spec_dag test for new _cmp_key. 2015-12-11 13:07:20 -08:00
Todd Gamblin
6ee2eb21dd Fix #217: Use MUCH faster hashing, reduce number of DAG copies.
This changes the hash algorithm so that it does much less object
allocation and copying, and so that it is correct.

The old version of `_cmp_key()` would call `sorted_deps`, which would
call `flat_dependencies` to get a list of dependencies so that it
could sort them in alphabetical order.  This isn't necessary in the
`_cmp_key()`, and in fact we want more DAG structure than that to be
included in the `_cmp_key()`.

The new version constructs a tuple without copying the Spec DAG, and
the tuple contains hashes of sub-DAGs that are computed recursively
in-place.  This is way faster than the previous algorithm and reduces
the numebr of copies significantly. It is also a correct DAG hash.

Example timing and copy counts for the different hashing algorithms
we've tried:

Original (wrong) Spec hash:
```
106,170 copies
real    0m5.024s
user    0m4.949s
sys     0m0.104s
```

Spec hash using YAML `dag_hash()`:
```
3,794 copies
real    0m5.024s
user    0m4.949s
sys     0m0.104s

New no-copy, no-YAML hash:
```
3,594 copies
real    0m2.543s
user    0m2.435s
sys     0m0.104s
```

So now we have a hash that is correct AND faster.

The remaining ~3k copies happen mostly during concretization, and as
all packages are initially loaded.  I believe this is because Spack
currently has to load all packages to figure out virtual dependency
information; it could also be becasue there ar a lot of lookups of
partial specs in concretize.  I can investigate this further.
2015-12-11 12:40:27 -08:00
Mario Melara
b5216f6ec8 Commented out cxxflag. Not 100% sure it's needed 2015-12-11 12:07:32 -08:00
Mario Melara
31df2dd9dd Fixed targets ti be x86_64, important note: have not tested this on linux machine 2015-12-11 12:04:47 -08:00
Mario Melara
fee88d289d Rewrote docstrings for sys_type() and got rid of unused functions 2015-12-11 12:03:13 -08:00
Todd Gamblin
7526a89463 Fix #217: Make package cache use DAG hash instead of sorted deps.
- Gets rid of last vestige of old-style specs.
- Uses new hashing for lookup
2015-12-11 02:17:17 -08:00
Tom Scogland
281a869ef6 fix path resolution for mirror packages, especially with dependency fetching 2015-12-10 09:24:01 -08:00
Ben Boeckel
6f978af77b hdf5: update dependents to declare MPI support 2015-12-10 11:53:40 -05:00
Ben Boeckel
79a641ccf1 paraview: update hdf5 comment 2015-12-10 11:51:54 -05:00
Ben Boeckel
c5b7eba457 hdf5: make mpi support optional 2015-12-10 11:51:54 -05:00
Tom Scogland
786f4cd2c2 add dependency fetching to mirror creation 2015-12-10 08:32:51 -08:00
Tom Scogland
25f2b01a3c fetch: add options to fetch missing or all deps
Small additions to fetch to make it easier to fetch all files necessary for a
build on a system without network connectivity.
2015-12-10 07:27:06 -08:00
Gregory L. Lee
3163d016db install python files to libxml2 prefix instead of python prefix and ignore non-python files when activating 2015-12-09 14:10:05 -08:00
Nicolas Richart
0daa08416a corrected filter_compilers + added it for mvapich2 2015-12-09 20:00:54 +01:00
Todd Gamblin
f6eb000381 Merge pull request #225 from epfl-scitas/packages/git
Adding https support in git even if system lib are missing
2015-12-09 10:59:47 -08:00
alalazo
20e67bc5e6 clang : solve the issue with missing default include paths for OpenMP and libc++
resource : support for finer grained linking of resources
2015-12-09 17:15:26 +01:00
Nicolas Richart
31863c68d8 Adding curl and expat support to git for https repos 2015-12-09 11:00:33 +01:00
Todd Gamblin
e46af913be Merge pull request #148 from PaulDapolito/glib-dep
added zlib dependency to glib package specification
2015-12-09 01:44:00 -08:00
Todd Gamblin
8ebac18f50 Merge pull request #224 from epfl-scitas/packages/gdb
gdb : added package
2015-12-09 01:35:04 -08:00
Todd Gamblin
537451f0b1 bugfix: doc build needed additional sys.path due to externals change. 2015-12-09 01:32:12 -08:00
Todd Gamblin
e009a910cc Fix travis badge URL. 2015-12-09 01:28:54 -08:00
Todd Gamblin
c41b9b7ddc Change github.com/scalability-llnl to github.com/llnl everywhere. 2015-12-09 01:24:15 -08:00
Todd Gamblin
b8bb24d4bf Update README.md and LICENSE with new github.com/llnl URLs 2015-12-09 01:10:14 -08:00
alalazo
4d5eb4ce7d gdb : added package 2015-12-09 09:06:10 +01:00
Todd Gamblin
0356ba34a0 Merge pull request #223 from alalazo/fixes/gcc_sysroot_and_objdir
Fix for #177
2015-12-08 10:15:40 -08:00
alalazo
c5b9732aed Should fix #177
gcc : changed objdir to something out of srcdir and added '--with-sysroot=/'
binutils : added '--with-sysroot=/'
2015-12-08 14:06:04 +01:00
Todd Gamblin
e7ab8d476d Merge pull request #219 from eschnett/eschnett/gmp
Update gmp to 6.1.0
2015-12-07 16:46:44 -08:00
Todd Gamblin
6bc86a6baa Merge pull request #220 from eschnett/eschnett/mpc
Update mpc to 1.0.3
2015-12-07 16:46:32 -08:00
Todd Gamblin
b0434fa486 Merge pull request #221 from davidbeckingsale/features/cleverleaf-boost
Update CleverLeaf package to use Boost and fix SAMRAI MPI usage
2015-12-07 16:46:15 -08:00
Todd Gamblin
fcabf0ef0d Merge pull request #222 from mplegendre/bugfix/github-203-gcc5-builds
Fix issue with gcc 5.x not building on RHEL6
2015-12-07 15:55:21 -08:00
Matthew LeGendre
f8e046bb33 Fix issue with gcc 5.x not building on RHEL6 2015-12-07 15:49:47 -08:00
Gregory L. Lee
1a22a507d6 mesa requires +python variant of libxml2 2015-12-07 15:36:36 -08:00
David Beckingsale
36272c8136 Fix MPI selection in SAMRAI and remove narrow dependency specification 2015-12-07 14:58:16 -08:00
David Beckingsale
77bf133cd2 Update CleverLeaf package to use Boost and fix SAMRAI MPI usage 2015-12-07 14:33:31 -08:00
Erik Schnetter
aff95ee587 Update mpc to 1.0.3 2015-12-05 11:23:40 -05:00
Erik Schnetter
29537b9991 Update gmp to 6.1.0 2015-12-05 11:21:47 -05:00
Peter Scheibel
530e049d4a Added nose 1.3.7 source along with with the lgpl license (renamed from lgpl.txt
to LICENSE)
2015-12-04 17:55:20 -08:00
Gregory L. Lee
5891847ae4 added py-pillow and updated py-basemap to depend on it 2015-12-03 15:35:28 -08:00
Gregory L. Lee
a56c7e5f1a Merge branch 'develop' of https://github.com/scalability-llnl/spack into develop 2015-12-03 15:02:49 -08:00
Gregory L. Lee
0f4efc018d updated package versions 2015-12-03 15:01:44 -08:00
Todd Gamblin
5a5990be09 Merge pull request #214 from epfl-scitas/packages/boost
Boost: mpi, python and compression for iostream variants
2015-12-03 09:24:21 -06:00
Massimiliano Culpo
50bd4d2e4e mirror : deals correctly with variants that optionally enable resources (if they are archive URLs) 2015-12-03 11:21:11 +01:00
Peter Scheibel
b98b612204 Try to be more careful to only suppress the warning about nose already being
imported. Other warnings should be output.
2015-12-02 18:10:28 -08:00
Mario Melara
028cca16e6 Got rid of the unusued default strategy=None 2015-12-02 10:15:33 -08:00
Nicolas Richart
1a132e4fdb Missing declaration of the debug variant 2015-12-02 16:18:29 +01:00
Simon Thompson
aa137d8be0 fix build to work against depends for modules created by setup.py and add python3 support 2015-12-02 14:20:11 +00:00
Nicolas Richart
4bb6f23ae1 Adding variant for mpi and python + compression for iostream 2015-12-02 13:26:00 +01:00
Massimiliano Culpo
39a3cfd4d9 reource directive accepts 'basename' keyword
llvm : libc++ variant
2015-12-02 12:24:37 +01:00
Massimiliano Culpo
4b2168ab8e resources : added missing check after fetch 2015-12-02 10:13:39 +01:00
Mario Melara
0544b164fc Updated script of mini-xml for adios package 2015-12-01 11:59:49 -08:00
Mario Melara
4e0d47f1dd building with GCC needs special variables added. Intel compilers build just fine 2015-12-01 11:59:19 -08:00
Mario Melara
d7fdb8e015 Got rid of hard coded strings for adding default 2015-12-01 11:57:54 -08:00
Mario Melara
58f2b39bc8 Changed default to CPU_TARGET env var. Helps deal with target differences between cori and edison 2015-12-01 11:57:17 -08:00
Mario Melara
89fbe4fdfa Changed add_target to include variables rather than hard-coded strings 2015-12-01 11:55:38 -08:00
Massimiliano Culpo
b85dccca92 resources : added error handling for destination keyword on resource directive 2015-12-01 15:12:26 +01:00
Massimiliano Culpo
d3d9b5401b resources : changed name of stage folder 2015-12-01 13:26:44 +01:00
Massimiliano Culpo
a075d581ef resource : fetch strategy constructed from kwargs instead or hardcoded URLFetchStrategy 2015-12-01 12:56:46 +01:00
Massimiliano Culpo
a173ab1e31 clang : default OpenMP is libomp 2015-12-01 12:16:08 +01:00
Todd Gamblin
114e4d3fe6 Merge pull request #213 from khuck/develop
Had to force a patch to the OMPT support, so the hash for v0.1 has changed.
2015-11-30 21:42:49 -08:00
Kevin Huck
cd1207329b Updating the OMPT hash again... 2015-11-30 10:32:07 -08:00
Kevin Huck
d5c7cd5e50 Had to force a patch to the OMPT support, so the hash for v0.1 has
changed.
2015-11-30 09:48:15 -08:00
Todd Gamblin
55237b094a Use new travis insfrastructure (sudo:false) 2015-11-29 22:09:11 -08:00
Todd Gamblin
45ffcdee7b Add very basic Travis CI support. 2015-11-29 22:02:13 -08:00
Tom Scogland
b253308eee returning flux to a building state for web release
Flux package reworked to include all new dependencies, fixed issues with a
clean-build of hwloc, lua and czmq as well that prevented flux from building
cold on a minimal system.
2015-11-29 19:22:31 -08:00
Todd Gamblin
05b791a621 Add citation information to README 2015-11-28 19:45:36 -08:00
Todd Gamblin
cc349e9a32 Add default repos.yaml 2015-11-28 19:11:51 -08:00
Todd Gamblin
dfcf567de0 Add a cleaned up repo command. 2015-11-28 19:00:24 -08:00
Todd Gamblin
73ef06018e Integrate namespace attribute into spec, spec DAG, spec YAML. 2015-11-28 16:26:23 -08:00
Todd Gamblin
a338e0efd5 Fix spack.db -> spack.repo in bin/spack 2015-11-28 16:21:31 -08:00
Todd Gamblin
7383bd393e Fixed bug #42: problem with satisfies() for virtual dependencies.
- _cross_provider_maps() had suffered some bit rot (map returned was
  ill-formed but still worked for cases with one vdep)

- ProviderIndex.satisfies() was only checking whether the result map
  was non-empty.  It should check whether all common vdeps are *in*
  the result map, as that indicates there is *some* way to satisfy
  *all* of them.  We were checking whether there was some way to
  satisfy *any one* of them, which is wrong.

- Above would cause a problem when there is more than one vdep provider.

- Added test that covers this case.

- Added `constrained()` method to Spec. Analogous to `normalized()`:
  `constrain():constrained() :: normalize():normalized()`
2015-11-27 23:06:18 -08:00
Todd Gamblin
763d850a0e Add tests for importing packages directly.
Added test for, e.g.:

    import spack.pkg.builtin.mock.mpich
    import spack.pkg.builtin.mock.mpich as mpich
    from spack.pkg.builtin.mock.mpich import Mpich

Among others.  These ensure that direct package imports work so that
packages can be extended.
2015-11-26 14:23:12 -08:00
Todd Gamblin
89d5127900 New, cleaner package repository structure.
Package repositories now look like this:

    top-level-dir/
        repo.yaml
        packages/
            libelf/
                package.py
            mpich/
                package.py
            ...

This leaves room at the top level for additional metadata, source,
per-repo configs, indexes, etc., and it makes it easy to see that
something is a spack repo (just look for repo.yaml and packages).
2015-11-26 14:19:27 -08:00
Massimiliano Culpo
1fe626ec7c resource directive : sketch of implementation + clang / llvm use case 2015-11-26 17:53:33 +01:00
Peter Scheibel
c5ed7e2a15 On systems which have already installed nose (perhaps an older version)
importing nose (which is also in Spack's external/ directory) outputs a warning
(since there is more than one nose package). This avoids printing the warning
to the user.
2015-11-25 18:33:52 -08:00
Peter Scheibel
fc96f62794 Updated documentation/naming in tally_plugin to reflect that the count of the
total number of tests run excludes skipped tests
2015-11-25 18:08:17 -08:00
Peter Scheibel
d50a18d9eb XML output for unit tests is now enabled with an option (disabled by default) 2015-11-25 17:10:45 -08:00
Tom Scogland
f8ffb005c8 make cram an extension of python 2015-11-25 15:10:18 -08:00
Peter Scheibel
60f7756626 Executable.__call__ original semantics were to avoid redirecting process output
to the output stream if return_output was set. This branch undid that and this
commit restores those semantics.
2015-11-25 12:28:43 -08:00
Tom Scogland
3ce99cf4e1 fix for the shell arg handling issues
The setup-env.sh script now saves off the argument array before shifting off
all the arguments so that the final command invocation doesn't arbitrarily
requote the arguments.  All external quoting is preserved now.  This has been
thoroughly tested with zsh, but should probably be tested with bash etc.
before acceptance.
2015-11-25 11:02:51 -08:00
Todd Gamblin
04f032d6e3 Rename spack.db -> spack.repo
Making distinction between install database and package repositories clearer.
2015-11-25 10:01:44 -08:00
Todd Gamblin
e6d232bfef Rename packages.py to repository.py, PackageFinder to RepoPath. 2015-11-25 09:58:10 -08:00
Peter Scheibel
18dea24df8 Use the xunit nose plugin to generate JUnit XML test results from Spack's unit
tests.
2015-11-24 19:08:37 -08:00
Peter Scheibel
0adf93853d Update log_output to handle cases where sys.stdout/stderr streams do not have
an associated file descriptor (e.g. holds for nose tests where sys.stdout is
assigned to a StringIO object)
2015-11-24 17:58:17 -08:00
Todd Gamblin
c526c71f56 Merge pull request #201 from alfredo-gimenez/develop
Fixed Mitos dependency and added new version
2015-11-24 16:12:12 -08:00
Alfredo Gimenez
a0d388875e Fixed Mitos dependency and added new version 2015-11-24 15:12:31 -08:00
Peter Scheibel
5081ba6802 It appears the same test object was returned multiple times for different
unit tests, so tracking tests with sets wouldn't work unless I extracted the
details relevant to the particular test. For now a simple count will work so
using a set was unnecessary anyways.
2015-11-24 10:45:07 -08:00
Peter Scheibel
70049185a5 Activation of Tally plugin to count tests. It doesn't appear to be actually
counting the individual unit tests correctly so I need to chase that down.
2015-11-24 10:39:42 -08:00
Tom Scogland
a1553dd12b adding google sparsehash and cityhash libraries 2015-11-24 09:23:36 -08:00
Todd Gamblin
e2412e3f21 Merge branch 'eschnett-openblas' into develop 2015-11-24 00:52:48 -08:00
Todd Gamblin
58d497ab7a Merge pull request #200 from scalability-llnl/revert-189-openssl-use-64-bits
Revert "WIP: openssl: set KERNEL_BITS to make ./config work"
2015-11-24 00:30:37 -08:00
Todd Gamblin
52cce2d710 Revert "WIP: openssl: set KERNEL_BITS to make ./config work" 2015-11-24 00:30:08 -08:00
Peter Scheibel
099fa1df34 Use nose to run unit tests.
1. Adding a plugin to keep track of the total number of tests run as well as the
number of tests with failures/errors.
2. Some nose plugins (including xunit which will be added in a future commit)
assign stdout to a stream object that does not have a .fileno attribute.
spack.util.executable.Executable now avoids passing stdout to subprocess (and
always uses subprocess.PIPE)

TODO:
1. Still need to figure out how to activate the plugin (as of now it is
being ignored by nose). Newer versions of nose appear to make this simpler
(e.g. the "addplugins" argument to nose.run)
2. Need to include new version of nose in order to use xunit
2015-11-23 18:59:48 -08:00
Todd Gamblin
cf3d236b9f Merge branch 'scheibelp-features/externaldeps' into develop 2015-11-23 17:50:49 -08:00
Todd Gamblin
894fcd90e7 Add a fix/warning so that stale .pyc files don't kill Spack.
- Can't think of a better way to do this.
- The externals integration will cause spack to die in weird ways for
  users who just pull from develop.
2015-11-23 17:49:39 -08:00
Erik Schnetter
1d90d98e40 Remove commented-out code 2015-11-23 20:32:06 -05:00
Todd Gamblin
bddab5e489 Merge pull request #199 from khuck/develop
cleaning up commits for merge request
2015-11-23 16:53:53 -08:00
Kevin Huck
4dd47fbc78 cleaning up commits for merge request 2015-11-23 16:16:52 -08:00
Todd Gamblin
98ccad8105 Merge pull request #189 from mathstuf/openssl-use-64-bits
WIP: openssl: set KERNEL_BITS to make ./config work
2015-11-23 16:09:28 -08:00
Todd Gamblin
de2213a621 Merge pull request #188 from mathstuf/python-osx
python: target OS X 10.6
2015-11-23 16:08:56 -08:00
Todd Gamblin
583b8e3ade Merge pull request #187 from mathstuf/dbus-osx-disable-launchd
dbus: disable launchd support
2015-11-23 16:08:35 -08:00
Todd Gamblin
b5fffc71c9 Merge pull request #168 from mathstuf/libxml2-drop-python-dep
Libxml2 drop python dep
2015-11-23 16:08:24 -08:00
Todd Gamblin
0011903e23 Merge pull request #165 from mathstuf/paraview-update-deps
Paraview update deps
2015-11-23 16:04:03 -08:00
Todd Gamblin
9bc27561ec Merge pull request #164 from mathstuf/matplotlib-optional-deps
Matplotlib optional deps
2015-11-23 16:03:31 -08:00
Todd Gamblin
76100a6f08 Merge pull request #158 from davidbeckingsale/features/cleverleaf
Add CleverLeaf package
2015-11-23 16:00:39 -08:00
David Beckingsale
38b83362b6 Updated url and description 2015-11-23 15:58:33 -08:00
Todd Gamblin
c13329c25a Merge pull request #155 from epfl-scitas/packages/mvapich2
packages/mvapich2 : added support for process managers and network types
2015-11-23 15:53:53 -08:00
Todd Gamblin
6798c177c6 Merge pull request #157 from alfredo-gimenez/develop
Added Python Twisted library
2015-11-23 15:51:57 -08:00
Todd Gamblin
1447fd0a12 Merge pull request #160 from SteVwonder/stevwonder/develop
Fixed -l flag for 'spack extensions'
2015-11-23 15:50:18 -08:00
Todd Gamblin
8fbd79fa2e Merge pull request #198 from eschnett/update-papi
Update PAPI
2015-11-23 15:42:09 -08:00
Todd Gamblin
9d4638ef4c Merge pull request #196 from eschnett/hypre
Don't use https for downloading
2015-11-23 15:39:08 -08:00
Mario Melara
8f56f5cfcc Added path to netcdf and hdf5 using the env vars NETCDF_DIR and HDF5_DIR. 2015-11-23 14:02:59 -08:00
Erik Schnetter
60fd7e2268 Update PAPI 2015-11-23 16:50:11 -05:00
Erik Schnetter
cb21a5b309 Add OpenBLAS 2015-11-23 16:48:06 -05:00
Erik Schnetter
1330c10fc8 Don't use https for downloading 2015-11-23 16:00:10 -05:00
Todd Gamblin
be92d0b6a4 Merge pull request #194 from trws/judy
add judy dynamic array/meta-trie/hash table lib
2015-11-23 10:10:46 -08:00
Todd Gamblin
df4e79c06c Merge pull request #192 from trws/clean-dist
modified warning to reference spack clean
2015-11-23 10:10:27 -08:00
Todd Gamblin
7392e1af59 Merge pull request #190 from bhatele/feature/networktools
Add damselfly package
2015-11-23 10:10:12 -08:00
Todd Gamblin
8c06b92225 Working PackageFinder / Repo 2015-11-22 20:28:59 -08:00
Tom Scogland
34700d560f add judy dynamic array/meta-trie/hash table lib
Just adding judy.
2015-11-20 12:15:32 -08:00
Tom Scogland
5e93dd6592 modified warning to reference spack clean
clean --dist has been removed, command fixed to something that works.
2015-11-20 11:49:46 -08:00
Abhinav Bhatele
4edcc59c3d Add damselfly package 2015-11-19 23:05:21 -08:00
Ben Boeckel
c023b1000e python: target OS X 10.6
Targeting anything older lacks rpath stuff which configure uses.
2015-11-19 17:52:59 -05:00
Ben Boeckel
150e43f3fd WIP: openssl: set KERNEL_BITS to make ./config work
Why OpenSSL refuses to build without this (it explicitly warns about it)
is a mystery.
2015-11-19 17:51:44 -05:00
Ben Boeckel
b6d368d7a0 dbus: disable launchd support 2015-11-19 17:50:30 -05:00
Todd Gamblin
34e445a480 Merge pull request #176 from truatpasteurdotfr/develop
jdk: updated to version 8u66
2015-11-18 15:58:33 -06:00
Todd Gamblin
5086a1e825 Merge pull request #178 from eschnett/develop
Update HDF5 to 1.8.16
2015-11-18 15:58:13 -06:00
Todd Gamblin
38ce53bc85 Merge pull request #179 from eschnett/update-hwloc
Update hwloc to 1.11.1
2015-11-18 15:58:06 -06:00
Todd Gamblin
89c11221ed Merge pull request #181 from eschnett/update-openmpi
Update OpenMPI to 1.10.1; correct configure error in OpenMPI
2015-11-18 15:57:56 -06:00
Todd Gamblin
025566b494 Merge pull request #182 from eschnett/hdf5-mpi
HDF5: Support non-MPICH MPI implementations
2015-11-18 15:57:29 -06:00
Todd Gamblin
4f8380959c Merge pull request #183 from eschnett/add-jemalloc
Add jemalloc package
2015-11-18 15:56:46 -06:00
Todd Gamblin
2db5de76fc Merge pull request #184 from eschnett/update-cmake
Update cmake to 3.4.0
2015-11-18 15:56:06 -06:00
Erik Schnetter
2e51e207f9 Update cmake to 3.4.0 2015-11-18 15:17:48 -05:00
Erik Schnetter
cbc552e91e Add jemalloc package 2015-11-18 13:43:49 -05:00
Erik Schnetter
511ffc3b44 HDF5: Support non-MPICH MPI implementations 2015-11-18 13:33:04 -05:00
Erik Schnetter
e36fd7d29f Update OpenMPI to 1.10.1; correct configure error in OpenMPI 2015-11-18 13:13:13 -05:00
Erik Schnetter
af9fe0a038 Update hwloc to 1.11.1 2015-11-18 12:37:54 -05:00
Erik Schnetter
893e05540c Update HDF5 to 1.8.16 2015-11-18 09:55:45 -06:00
Tru Huynh
b2a85bc12e updated to version 8u66 2015-11-18 10:02:22 +01:00
Todd Gamblin
721eb56d0c Merge pull request #173 from eschnett/develop
Update OpenSSL package
2015-11-17 23:23:49 -06:00
Erik Schnetter
cc49f9b657 Update OpenSSL package 2015-11-17 18:28:20 -05:00
Todd Gamblin
2491a67ebf Merge pull request #170 from eschnett/develop
Add rsync package
2015-11-17 16:13:45 -06:00
Erik Schnetter
1003b847b6 Remove comment 2015-11-17 17:10:04 -05:00
Erik Schnetter
ad0a1bf70d Add rsync package 2015-11-17 16:47:47 -05:00
Ben Boeckel
b98c25c1fb paraview: update matplotlib and numpy deps 2015-11-16 17:07:28 -05:00
Ben Boeckel
5eb8e1eec8 py-pyside: update docstring 2015-11-16 17:07:27 -05:00
Ben Boeckel
d40897404b py-matplotlib: make the gui and ipython support optional
ipython, nice as it is, is not required to use matplotlib. The UI bits
are also optional and dragging in Qt and Tcl/Tk for the library
shouldn't be the default.
2015-11-16 17:07:27 -05:00
Ben Boeckel
485528cffa paraview: configure the python and MPI executables 2015-11-16 17:05:17 -05:00
Ben Boeckel
d3ead7061e paraview: require qt4
Qt5 has bugs which need at least 5.6.0 for a fix.
2015-11-16 17:04:35 -05:00
Ben Boeckel
45d981caab paraview: add dependency on libxml2 back 2015-11-16 11:45:27 -05:00
Ben Boeckel
ca01adb503 libxml2: make the python dependency optional
Also turn it off by default since it is usually not necessary. Anything
needing the Python bindings should declare it explicitly.
2015-11-16 11:30:35 -05:00
Mario Melara
fceb5a75b0 Adding new files to compilers 2015-11-13 11:53:38 -08:00
Mario Melara
bfd05d3d27 Changed name of file and class to craype to avoid spack freaking out about versions 2015-11-13 11:48:49 -08:00
Mario Melara
72fa3c0492 Added craype support 2015-11-13 11:48:15 -08:00
Mario Melara
9458f7c7d0 Got rid of my old method of finding in LOADEDMODULES 2015-11-13 11:47:36 -08:00
Mario Melara
a5ba69d68d Added a _cmp_key for the architecture class 2015-11-13 11:46:13 -08:00
Tom Scogland
8feaefadcf updating lua package to install in correct order 2015-11-13 09:43:03 -08:00
Todd Gamblin
38fdd063d9 Fix and move NamespaceTrie to spack.util.naming
- fix up routines in namespace trie.
- trie can now hold intermediate elements.
- trie now has a test case.
2015-11-12 15:17:39 -08:00
Todd Gamblin
72c9604bcb Small fix to prevent this test from interfering with others. 2015-11-12 15:17:09 -08:00
Todd Gamblin
55662eca69 Merge branch 'develop' into mplegendre-multi_pkgsrc_roots
Conflicts:
	lib/spack/spack/__init__.py
	lib/spack/spack/directives.py
	lib/spack/spack/packages.py
2015-11-12 15:16:06 -08:00
Mario Melara
9dc05a57ec Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon 2015-11-12 15:15:07 -08:00
Gregory Becker
7c89f9d18c Added the basic ouline of a cray compiler class in lib/spack/spack/compilers/cray.py 2015-11-12 14:31:41 -08:00
Mario Melara
8c259859ab Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon 2015-11-12 13:34:56 -08:00
Mario Melara
297cebd833 Got rid of print statement 2015-11-12 13:34:40 -08:00
Gregory Becker
e78b8c16be used key_comparator decorator from util.lang to compare targets. Fixes find bug 2015-11-12 13:27:10 -08:00
Stephen Herbein
9c30e0210b Fixed -l flag for 'spack extensions' 2015-11-12 08:15:38 -08:00
Peter Scheibel
6d7b26d4e0 Insert lib/spack/external into sys.path. This avoids cases where the system
python install and lib/spack/external have the same library installed. This
requires modifying the names of some modules in lib/spack/external in cases
where both the system python and backported features of future python versions
(i.e. after 2.6) are used (previously distinguished by "from external import X"
and "import X").
2015-11-11 18:04:22 -08:00
Gregory Becker
eb2c083159 Fixed the to_dict from_dict for targets on cray. First version to build/find properly on Cray 2015-11-11 17:29:47 -08:00
Gregory Becker
185f40eb8b fixed my git problems 2015-11-11 16:33:22 -08:00
Gregory Becker
3067705c10 made a to_dict for targets. Also a from_dict for sanity 2015-11-11 16:16:47 -08:00
Gregory Becker
8a13d344a8 bug fix in spec.py 2015-11-11 15:07:57 -08:00
Gregory Becker
271a839957 First possibly working version of the crayport. Not sufficiently tested at all. 2015-11-11 14:22:07 -08:00
David Beckingsale
679b617649 Add CleverLeaf package 2015-11-11 12:33:08 -08:00
Gregory Becker
95a34628a3 Add modules to compilers. Changed compiler to take paths as a list. Changed compiler_for_spec to be aware of different compiler stratigies 2015-11-11 11:32:18 -08:00
Gregory Becker
7e6fc79eb2 Merge branch 'features/spackathon' of github.com:NERSC/spack into crayport
Conflicts:
	lib/spack/spack/compiler.py
2015-11-11 10:35:59 -08:00
Gregory Becker
5347f460b4 adding module find to find command 2015-11-11 10:31:37 -08:00
Gregory Becker
cd69681ae5 merged in work from other computer and starting to track down bugs 2015-11-11 10:09:03 -08:00
Todd Gamblin
5417a514e9 Eliminated two bugs found by spack test and rewrote the parser to be more sane 2015-11-10 18:44:01 -08:00
Gregory Becker
5e75a5c81c Fixed bug that spack.db.exists() returned True for anonymous specs 2015-11-10 15:45:22 -08:00
Gregory Becker
6f339939c4 Removed "any-pkg-name" and replaced it with empty string. Also changed cflag concretizer to concretize each flag individually, allowing us to have unconcretized FlagMap objects for find and uninstall. Now empty flags in find match any, whereas specifying +cflags=\'\' matches only those with empty strings for flags 2015-11-10 15:45:22 -08:00
Gregory Becker
6fa0bb991a Removed cflags from default format string and made them an option within the compiler string. Added -f option to find command; with -f, find prints flags 2015-11-10 15:45:22 -08:00
Gregory Becker
5a9394c65f added default compilers into spec and fixed constrain/concretize bug 2015-11-10 15:45:22 -08:00
Gregory Becker
cb5bc242db Changed flag default to "". Updated printing and other logic to match. Seems to have solved error in normalize. 2015-11-10 15:45:22 -08:00
Gregory Becker
2d77173dfa partial commit of cflags for debugging 2015-11-10 15:45:22 -08:00
Gregory Becker
42b5b7d2dd Commit of compiler flags addition:
Flags are passed from the command line all the way through
build environments to environment variables.
      Flags are specified using +name=value and values are quoted
using escaped quotes when necessary.

Future work includes using the flags in the compiler wrapper script
and hopefully updating the parser for a gentler user experience of
the spec language.
2015-11-10 15:45:22 -08:00
Gregory Becker
db1b21b9aa reclaimed the = sign. Architectures now specified by +arch= instead. Decided to prepend flag names with + for clarity in spec names and ease of parsing. Also generalized variants, although there is not yet a way to specify a generalized (name=value) variant. 2015-11-10 15:45:22 -08:00
Gregory Becker
7989a7f903 Headless specs and /hash spec specification 2015-11-10 15:42:10 -08:00
Gregory Becker
f9c8c4d216 partial commit to merge database 2015-11-10 15:40:00 -08:00
Gregory Becker
4ed22ad932 partial commit of cflags work 2015-11-10 15:39:27 -08:00
Alfredo Gimenez
666d9e88f5 Added Python Twisted library 2015-11-10 15:37:09 -08:00
Todd Gamblin
14b30de407 Merge pull request #156 from charlesareynolds/charlesareynolds
Added missing $_sp_flags to spack.csh
2015-11-09 09:32:16 -08:00
Massimiliano Culpo
27c64f7740 mvapich2 : changed method name for consistency. Removed possibly duplicated flags 2015-11-09 16:02:38 +01:00
Massimiliano Culpo
42bc552dd7 mvapich2 : variant strings are associated with a named variable 2015-11-09 16:02:25 +01:00
Massimiliano Culpo
79ed9de4c1 mvapich2 : added variants for different network types 2015-11-09 16:02:12 +01:00
Massimiliano Culpo
0ae05fdf99 mvapich2 : added variants for different process managers 2015-11-09 16:01:56 +01:00
Massimiliano Culpo
4a72bd7919 mvapich2 : fixed typos. Added FIXME 2015-11-09 16:01:27 +01:00
Massimiliano Culpo
076eaba6e3 mvapich2 : fixed some issues with the package. Needs further improvment with respect to network and pm 2015-11-09 16:00:03 +01:00
Jim Galarowicz
0ced060b87 cbtf did not compile with boost 1.59, so reverted to boost 1.50 temporarily until we fix the cbtf/boost compile issues. 2015-11-06 15:15:38 -08:00
Jim Galarowicz
2aa501bf3d Update the checksum value for the new tarball 2015-11-06 14:19:00 -08:00
Jim Galarowicz
046b348bd3 Merge remote-tracking branch 'upstream/develop' into develop
Get up to date with rest of develop repository.
2015-11-06 11:55:49 -08:00
Jim Galarowicz
aa9b14aff4 Match up with the new binutils package file. It does what OSS needs w.r.t. libiberty. 2015-11-06 11:55:20 -08:00
Jim Galarowicz
7e6b7795f1 Match up with the new binutils package file. It does what OSS needs w.r.t. libiberty. 2015-11-06 11:53:53 -08:00
Jim Galarowicz
d6a2ab08ac Match up with the new binutils package file. It does what OSS needs w.r.t. libiberty. 2015-11-06 11:47:00 -08:00
Charles A. Reynolds
f106da0d09 Added missing $_sp_flags to spack.csh so options -d -k -m -p -v get passed on to spack proper. 2015-11-06 10:53:22 -08:00
Mario Melara
e0498ce54a mxml is adios's package dependency 2015-11-05 13:43:11 -08:00
Mario Melara
0fcb368f47 Adding adios package to spack's package list 2015-11-05 13:42:50 -08:00
Todd Gamblin
9474b8cdac Merge pull request #153 from ktkirk/libxml2
Was getting system python over spack python
2015-11-05 10:12:55 -08:00
Gregory Lee
886861c9f4 Merge pull request #151 from scalability-llnl/features/bzip2-mac
Modified bzip2 package to work properly on macs.
2015-11-05 09:29:47 -08:00
Gregory Becker
08729315c6 Added bgq architecture subclass: may require additional functionality to support 2015-11-05 09:21:56 -08:00
Todd Gamblin
53fb74b3f0 Merge pull request #146 from davidbeckingsale/features/zsh
Update ZSH version
2015-11-05 08:42:22 -08:00
David Beckingsale
19876161c7 Update ZSH version 2015-11-05 07:42:18 -08:00
Kelly T. Kirk
618a1c7119 Was getting system python over spack python 2015-11-05 08:01:00 -05:00
Todd Gamblin
1c4ef29962 Add Sphinx package 2015-11-04 17:55:43 -08:00
Todd Gamblin
f201bfb998 Modified bzip2 package to work properly on macs. 2015-11-04 17:43:22 -08:00
Todd Gamblin
0d993947ee Fix SPACK-93, SPACK-94, GitHub #150
- `remove_prefix` was modified to remove from the DB, but the package
  may not have been added to the DB yet when `remove_prefix` is called
  from `cleanup`.

- Made `remove_prefix` a pure utility function (it just removes the prefix)

- Added `installed_db.remove()` call only after the `remove_prefix` in
  `uninstall`.
2015-11-04 16:44:33 -08:00
Mario Melara
b61d554dc8 Fixed architecture.py file so it doesn't have the weird merge changes i.e <<<HEAD etc. Also added target method of recognizing it's own architecture 2015-11-04 13:28:12 -08:00
Mario Melara
2bc73b4a27 Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon 2015-11-04 13:21:33 -08:00
Gregory Becker
3a73ae1683 Fixed the previous commit 2015-11-04 13:12:11 -08:00
Mario Melara
9bf8e8573c generic linux architecture subclass 2015-11-04 13:08:48 -08:00
Mario Melara
e3a02ea5c7 Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon
Conflicts:
	lib/spack/spack/architecture.py
2015-11-04 13:06:56 -08:00
Gregory Becker
35532d6b0a Changed cray architecture subclass to add proper targets for front at back end nodes 2015-11-04 13:00:35 -08:00
Mario Melara
37260962e5 changed some potential syntax errors and added a way for target to recognize class 2015-11-04 12:57:29 -08:00
Gregory Becker
5ac974c9b2 Enforced that the architecture subclass cannot add a target that shares a name with a target alias 2015-11-04 12:50:22 -08:00
Todd Gamblin
339da1da3d Make architecture reflect OS *and* machine. Use Python's platform module. 2015-11-04 07:46:17 -08:00
Mario Melara
058e72d29c Added default target and also front end and back end targets 2015-11-02 11:08:55 -08:00
Mario Melara
eb2cf1698f Fixed some issues with naming 2015-11-02 11:08:08 -08:00
Paul Dapolito
16f0ece75b added zlib dependency to glib package specification 2015-11-01 19:55:14 -08:00
Mario Melara
9a91da9ccd Added arch_path to list of modules path 2015-10-30 15:59:28 -07:00
Mario Melara
e39586c81d Reverted back all architecture way of finding modules 2015-10-30 15:58:49 -07:00
Mario Melara
2d87bb92ed Changed front-end and back-end to front_end and back_end to avoid error 2015-10-30 15:58:20 -07:00
Mario Melara
db0695e46a architectures folder where the Architecture subclasses reside 2015-10-30 15:57:00 -07:00
Gregory Becker
6e56070386 improved aliasing in target method in architecture.py 2015-10-30 15:15:36 -07:00
Gregory Becker
d177184777 added target method to architecture.py and minor cleanup 2015-10-30 15:12:29 -07:00
Mario Melara
0a004e0fce Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon
Merge Gregory Becker's commits with my own architecture commits
2015-10-30 14:53:49 -07:00
Mario Melara
7ab921ff02 Changed architecture class and added class Target 2015-10-30 14:46:26 -07:00
Gregory Becker
382d8478bf prototype of new architecture concretization saved as new_concretize_architecture in concretize.py 2015-10-30 10:23:33 -07:00
Gregory Becker
09597fe8dc updated the executible to return stderr when specified. Added load_module to build_environment.py, loads target 2015-10-30 09:44:28 -07:00
Todd Gamblin
aec50722fc Merge pull request #147 from epfl-scitas/bugfixes/db_context_manager
Fixed typo : write_lock() -> write_transaction()
2015-10-29 23:48:14 -07:00
Massimiliano Culpo
6db2a58008 Fixed typo : write_lock() -> write_transaction() 2015-10-30 07:42:58 +01:00
Todd Gamblin
a1c42c2753 Merge Greg Becker's build database support into develop. 2015-10-29 02:22:20 -07:00
Todd Gamblin
671faa4b99 Merge pull request #124 from scheibelp/features/testinstall-cmd
Features/testinstall cmd
2015-10-29 00:16:52 -07:00
Todd Gamblin
58adff307f Merge pull request #142 from mathstuf/dbus-disable-systemd
dbus: disable systemd
2015-10-29 00:07:03 -07:00
Todd Gamblin
5d626ac561 Merge pull request #141 from epfl-scitas/packages/clang
clang : updated versions + depends_on(python)
2015-10-29 00:06:50 -07:00
Todd Gamblin
11c3a9f60d Merge pull request #143 from mathstuf/update-ncurses
ncurses: update package
2015-10-29 00:03:40 -07:00
Todd Gamblin
130d2d8de0 Merge pull request #144 from mathstuf/add-paraview
paraview: add package
2015-10-29 00:03:15 -07:00
Todd Gamblin
ed0c80e1cb Merge pull request #145 from markcmiller86/v-char-bugfix
generalize one of the cases to handle many more kinds of formatting o…
2015-10-29 00:02:01 -07:00
Todd Gamblin
fec6674597 Merge pull request #139 from mathstuf/use-uname-for-arch
architecture: use uname if available
2015-10-29 00:01:30 -07:00
Todd Gamblin
dab230845d Merge pull request #121 from epfl-scitas/issues/gcc
GCC : added variant to packages for binutils, solve linking time error
2015-10-28 23:29:33 -07:00
miller86
21e9d5c5c3 generalize one of the cases to handle many more kinds of formatting options 2015-10-27 17:05:27 -07:00
Todd Gamblin
a58ae0c5d0 Build database working with simple transaction support; all tests passing. 2015-10-27 16:36:44 -07:00
Todd Gamblin
bf8479bec6 Fix stupid lock bug.
- Code simplification ignored case where exception was raised.
- If LockError was raised, read and write counts were incremented erroneously.
- updated lock test.
2015-10-27 16:34:26 -07:00
Peter Scheibel
50d0a2643b Not all package stages have an archive file (e.g. source code repos) but all of
them do have a source_path: use this instead to check whether the package
resources were successfully retrieved.
2015-10-27 13:34:46 -07:00
Todd Gamblin
2c163d175f Merge pull request #140 from PaulDapolito/add-xz-version
Added v5.2.2 for xz library
2015-10-27 13:12:03 -07:00
Ben Boeckel
ddbfc40303 paraview: add package
A first attempt; builds successfully. Some dependencies have hard-coded
dependencies where they shouldn't (e.g., hdf5 -> mpi, libxml -> python),
but that's a different rabbit hole.
2015-10-27 15:37:31 -04:00
Ben Boeckel
b88da83a12 dbus: disable systemd
Not necessary in spack. Also forcefully installs outside of the prefix.
2015-10-27 13:51:23 -04:00
Ben Boeckel
e8f5a85ffd ncurses: update package 2015-10-27 13:50:59 -04:00
Todd Gamblin
af7b96c14a Lock acquires return True/False depending on whether they got POSIX lock. 2015-10-27 00:35:06 -07:00
Massimiliano Culpo
3913c10afb clang : updated versions and dependencies
llvm : added dependency on 'python@2.7:' for better portability
2015-10-27 08:04:55 +01:00
Massimiliano Culpo
8b22a4f4f8 llvm : updated versions 2015-10-27 08:04:20 +01:00
Ben Boeckel
6c9b10f73d architecture: remove custom mac_type method 2015-10-26 18:55:10 -04:00
Ben Boeckel
17a58ee0a9 architecture: use uname if available 2015-10-26 18:54:04 -04:00
Peter Scheibel
3b554c709b Fetch errors were also terminating runs of test-install with system exit, so
stage.fetch() was updated to raise a FetchError instead of calling tty.die().
Output is the same for spack install in case of a fetch error.
2015-10-26 15:26:08 -07:00
Todd Gamblin
070e2a3c13 Merge pull request #127 from mathstuf/use-dict.setdefault
python: use the setdefault method on dict
2015-10-26 14:41:39 -07:00
Ben Boeckel
9d90cb6962 python: use the setdefault method on dict
It allows more concise code and skips some key lookups.
2015-10-26 17:38:19 -04:00
Paul Dapolito
cd2a23384f Added v5.2.2 for xz library 2015-10-26 14:28:56 -07:00
Peter Scheibel
9576860f8c Making SpackError reference consistent. 2015-10-26 14:27:44 -07:00
Peter Scheibel
6a16040462 Automatically create a 'test-output' directory in the current directory if no
output path is specified. Test output files are placed in this directory.
Furthermore the filenames now have the prefix "test" (but otherwise are the
string representation of the spec ID as before).
2015-10-26 11:58:52 -07:00
Todd Gamblin
ead8ac58c6 Working Lock class, now uses POSIX fcntl locks, extensive unit test.
- llnl.util.lock now uses fcntl.lockf instead of flock
  - purported to have more NFS compatibility.

- Added an extensive test case for locks.
  - tests acquiring, releasing, upgrading, timeouts, shared, & exclusive cases.
2015-10-24 19:57:43 -07:00
Todd Gamblin
908a93a470 Add a multiprocess Barrier class to use for testing parallel code. 2015-10-24 19:54:52 -07:00
Peter Scheibel
cc0ee3dc29 The HTML number conversion regex operating against a byte string will only
convert individual bytes, so therefore incorrectly converts utf-8 encoded
characters. Decoding byte strings to unicode objects results in correct HTML
number encodings.
2015-10-23 20:56:06 -07:00
Peter Scheibel
d76c923623 1. Rename CommandError -> InstallError
2. InstallError now subclasses SpackError vs. StandardError (so it is now
handled by the spack shell script)
2015-10-23 16:18:06 -07:00
Massimiliano Culpo
e812c35689 GCC : removed binutils variant 2015-10-23 10:11:38 +02:00
Peter Scheibel
ea872f8098 1. Added CommandError exception to build_environment
2. The parent of a failed child process in build_environment.fork no longer
calls sys.exit - instead it raises a CommandError (from [1])
3. test-install command now attempts to install all packages even if one fails
2015-10-22 17:44:16 -07:00
Peter Scheibel
246423b4b4 Generate test results (designated as skipped) for parents of failed dependencies 2015-10-22 16:00:03 -07:00
Todd Gamblin
f76b3890ff Merge pull request #137 from davidbeckingsale/features/ompi-wrappers
Filter wrapper data to use correct compilers in OpenMPI
2015-10-22 16:01:55 -04:00
Mario Melara
38508c5a3f Created a control flow logic that will loop through the strategies and find compilers using that. TODO: Need to find a way to locate their executables 2015-10-22 12:02:26 -07:00
David Beckingsale
9f496e5efa Replace compiler in f90 and f77 wrappers if they exist 2015-10-22 09:50:02 -07:00
David Beckingsale
41c01b523f Filter wrapper data to use correct compilers in OpenMPI 2015-10-22 09:13:20 -07:00
Todd Gamblin
cbcc6fc9f5 Merge branch 'khuck-develop' into develop, github PR #136 2015-10-22 08:27:23 -07:00
Kevin Huck
7cb557cba7 Adding dependency on ompt-openmp, now that it is a package. 2015-10-22 08:06:31 -07:00
Kevin Huck
caf93cc408 Adding package for OMPT support in the LLVM/Clang OpenMP runtime,
which gives OMPT support for applications built with GCC, Intel or
LLVM/Clang.
2015-10-22 08:03:50 -07:00
Massimiliano Culpo
e6a44bd8ac GCC : removed dependency on libelf. Removed isl variant 2015-10-22 15:55:43 +02:00
Massimiliano Culpo
f475ec4ce6 Merge branch 'develop' of https://github.com/scalability-llnl/spack into issues/gcc
Conflicts:
	var/spack/packages/gcc/package.py

GCC : removed dependency on libelf. Removed isl variant
2015-10-22 15:53:44 +02:00
Kevin Huck
24838a62b4 Changed date formatting. 2015-10-22 06:02:56 -07:00
Kevin Huck
2a61ff0794 Changing git checkout from "master" to commit
d2e66ddde689120472fc57fc546d8cd80aab745c
2015-10-22 03:57:33 -07:00
Kevin Huck
fb9eca4226 Added an APEX package, but it is still using the git master instead
of a release.
2015-10-21 19:35:31 -07:00
Kevin Huck
c082abfb65 Modified the binutils package to use --enable-shared. Required by tools that
use binutils and get this error (or equivalent):
"relocation R_X86_64_32S against `bfd_errmsgs' can not be used when
making a shared object; recompile with -fPIC"
2015-10-21 18:32:57 -07:00
Todd Gamblin
1f662465c2 Merge pull request #119 from mamelara/develop
Added current version 3.2 of libffi version 3.1 has a bug
2015-10-21 16:07:26 -04:00
Todd Gamblin
b6833f08df Merge pull request #129 from mathstuf/separate-prefix
spack: split spack_root from prefix
2015-10-21 16:04:36 -04:00
Todd Gamblin
c8f01480d6 Merge pull request #128 from mathstuf/netcdf-new-linker-mpi
netcdf: link to MPI
2015-10-21 16:02:59 -04:00
Todd Gamblin
c388cbe8e4 Merge pull request #131 from jsquyres/pr/openmpi-update
openmpi: update package versions of Open MPI
2015-10-21 15:59:12 -04:00
Todd Gamblin
6773a2b3bf Merge pull request #132 from jsquyres/pr/mpich-mpi-version-fix
mpich: add fine-grained MPI conformance versions
2015-10-21 15:58:41 -04:00
Todd Gamblin
59dfb1c175 Merge pull request #134 from davidbeckingsale/features/ncdu
Added ncdu package
2015-10-21 15:58:02 -04:00
Todd Gamblin
345fd3b285 Merge pull request #133 from epfl-scitas/packages/trilinos
Packages/trilinos
2015-10-21 15:54:13 -04:00
Todd Gamblin
ddefab8d56 Merge pull request #135 from khuck/develop
Adding package for activeharmony.
2015-10-21 15:53:07 -04:00
Kevin Huck
e0e79a2cb3 Adding package for activeharmony. 2015-10-21 11:56:01 -07:00
Mario Melara
a89abb435f Changed structure of class, add compiler strategy is a method and can create a dict 2015-10-21 11:32:59 -07:00
Mario Melara
9b387e7682 Added strategy method in init 2015-10-21 11:09:05 -07:00
Gregory Becker
51b69ef00b initial fetch on crayport 2015-10-21 09:27:57 -07:00
Mario Melara
c31da9bc8f Made sure architecture works with yaml file 2015-10-20 14:10:54 -07:00
Mario Melara
ca3cc5b23e Refactored architecture class. Now it will automagically create a dict upon instantiation. 2015-10-20 13:37:06 -07:00
Mario Melara
3ba2842b53 Got Architecture class working the way i wanted to. Next to write tests 2015-10-20 13:33:21 -07:00
David Beckingsale
7e2f3cff44 Added ncdu package 2015-10-19 15:41:46 -07:00
Massimiliano Culpo
ec5560374c glm : added basic configuration for the package 2015-10-19 13:56:08 +02:00
Massimiliano Culpo
aab7102b9b matio : added basic configuration for the package 2015-10-19 13:55:44 +02:00
Massimiliano Culpo
3a4bdf1856 trilinos : first version that compiles on bellatrix 2015-10-19 13:48:46 +02:00
Massimiliano Culpo
ff0d039a1f trilinos : prototype for the whole package 2015-10-19 13:48:38 +02:00
Massimiliano Culpo
f4460894be hdf5 : updated version
mpich : updated version
trilinos : created stub
2015-10-19 13:48:24 +02:00
Todd Gamblin
3c788147ca Add Spack logo. 2015-10-18 19:14:40 -07:00
Todd Gamblin
805fa96951 Update to link to more contributors. 2015-10-17 17:41:17 -07:00
Todd Gamblin
7598612b86 Better info variant output. 2015-10-17 17:34:39 -07:00
Todd Gamblin
44ba16a391 Add libiberty option to binutils 2015-10-17 17:04:34 -07:00
Jeff Squyres
67b94acd42 mpich: add fine-grained MPI conformance versions
Similar to the Open MPI and MVAPICH packages.

Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2015-10-17 07:06:06 -04:00
Todd Gamblin
fe76e0aea2 Merge pull request #130 from jsquyres/pr/trivial-README-update
README.md: trivial typo fix
2015-10-16 14:05:14 -07:00
Jeff Squyres
43f58d9f61 openmpi: update the MPI conformance for each Open MPI version 2015-10-16 15:27:22 -04:00
Jeff Squyres
f39e40664f openmpi: add v1.10.0 and update v1.8.2->v1.8.8 2015-10-16 15:26:58 -04:00
Jeff Squyres
13e02bb179 README.md: trivial typo fix
Signed-off-by: Jeff Squyres <jsquyres@cisco.com>
2015-10-16 06:36:32 -04:00
Peter Scheibel
39f0f000f8 Created unit test for core logic in test-install command. 2015-10-15 22:02:14 -07:00
Peter Scheibel
6cd976d036 Better description for test-install command 2015-10-15 20:13:08 -07:00
Peter Scheibel
49b91235bb Minor edit for clarity (generate output for single top level spec vs. iterating
through collection of size 1)
2015-10-15 19:59:57 -07:00
Peter Scheibel
82ed1bc343 Originally I enforced specifying 1 top-level package with the test-install
command by having it consume exactly 1 positional argument (i.e. by removing
"nargs=argparse.REMAINDER") but this does not work when configuring dependencies
of a top-level package (which show up as additional positional args). Instead
now there is an explicit check to ensure there is only 1 top-level package.
2015-10-15 19:38:47 -07:00
Peter Scheibel
e451421db3 1. Specifying the output file path for test-install is now an option (vs. an
argument). The default path is [package id].xml in the CWD where test-install
is called from.

2. Fixed a bug with package.build_log_path (which was added in this branch).

3. keep_stage for package.do_install is now set. This allows uninstalling and
reinstalling packages without (re) downloading them.
2015-10-15 19:22:36 -07:00
Mario Melara
fec197ccac Fixed the output of sys_type(), might need to add back the error handling part 2015-10-15 15:25:13 -07:00
Mario Melara
ccdf105759 Commented out a long list of tests to just include my arch test 2015-10-15 12:48:12 -07:00
Mario Melara
d328f4c3b6 Test suite for architecture class and functions 2015-10-15 12:47:26 -07:00
Mario Melara
29e03ac851 Added __eq__ testing method. Created tests for it in test/ folder 2015-10-15 12:46:44 -07:00
Peter Scheibel
4997f0fe57 Move logic for tracking the build log into package.py (since that is what is
managing the build log) and expose as package.build_log_path.
2015-10-15 12:44:02 -07:00
Peter Scheibel
c985ad7644 Update test failure output: don't include the entire build log, just lines which
mention errors (or if no such lines can be found, output the last 10 lines from
the log).
2015-10-15 12:23:56 -07:00
Peter Scheibel
b9bf0b942c Use spec.traverse vs. recursive function.
Also even though I calculated which installs are new (e.g. vs. packages that
have already been installed by a previous command) I forgot to make use of that
in create_test_output (so I was always generating test output even if a package
had been installed before running the test-install command).

Note to avoid confusion: the 'handled' variable (removed in this commit) did not
serve the same purpose as 'newInstalls': it was originally required because the
recursive approach would visit the same dependency twice if more than one
package depended on it.
2015-10-15 11:52:08 -07:00
Peter Scheibel
f2b4341ad6 Always run with verbose output (so eliminate it as an option). Also remove other
commented options.
2015-10-15 10:45:03 -07:00
Peter Scheibel
11861fb8d7 Changing name of file requires changing function name to be invoked as a command 2015-10-15 10:35:42 -07:00
Peter Scheibel
e3d703b80f Change name of file to conform to conventions. 2015-10-15 10:33:39 -07:00
Peter Scheibel
2ae7839b66 Edit function names to conform to naming conventions. 2015-10-15 10:26:13 -07:00
Peter Scheibel
0d66362cee Only install 1 top-level package with testinstall. Otherwise if multiple
packages are specified and a prior one fails, it will prevent any of the others
from succeeding (and generating test output) even if they don't share
dependencies.
2015-10-15 10:17:08 -07:00
Ben Boeckel
3ce85b2270 spack: split spack_root from prefix
A foundation for allowing runtime configuring of the prefix.
2015-10-15 09:27:05 -04:00
Ben Boeckel
9ec4ae83af netcdf: link to MPI
Newer GNU linker refuses to use transitive linking; if netcdf calls
MPI_Allreduce, it must link the providing library directly.

Also switched to CMake because I don't know autoconf well enough to know
how to put MPI stuff into it.
2015-10-15 09:20:16 -04:00
Mario Melara
4f21344e87 Started created the Architecture class for Spack to use 2015-10-14 19:41:07 -07:00
Peter Scheibel
71dcf8833c Make sure to generate output for dependencies as if they were separate tests:
the original intent was to generate output as if each package was a unit test,
but I noticed that I was only generating test output for top-level packages.
2015-10-13 19:02:41 -07:00
Peter Scheibel
1ce6d8b627 Add spec YAML format to test output. 2015-10-13 10:41:47 -07:00
Todd Gamblin
d16095c856 Add forgotten file from previous commit. 2015-10-13 10:35:19 -07:00
Peter Scheibel
9f56d9c807 Don't create test output for any package that was already installed. 2015-10-12 20:56:03 -07:00
Peter Scheibel
6cd22e5786 1. Added Junit XML format
2. Specify output to a file vs. a directory
3. Use [1] and [2] to write an XML file tracking success of package installs in
Junit XML format
2015-10-12 20:49:23 -07:00
Peter Scheibel
b7249d66b3 Adding command testinstall. See "spack testinstall -h" for documentation.
Still need to add output formatting (in a commonly parse-able format like Junit
or TAP). May want to adjust how the build log is accessed in case of a build
failure.
2015-10-12 19:18:31 -07:00
Todd Gamblin
2c81875019 Fix bug in colify color handling. 2015-10-12 14:44:41 -07:00
Gregory L. Lee
5dd39bfca5 bug fix for github issue 122 2015-10-08 08:12:30 -07:00
Todd Gamblin
58c5373890 update warning message for spack -k.
- warning said it didn't do checksums; really does.
2015-10-08 00:14:44 -07:00
Todd Gamblin
5d64012868 Merge branch 'features/libxcb-1.11.1' into develop 2015-10-08 00:13:47 -07:00
Mario Melara
b6d2a12ceb Started changing the find in modules method written by Todd 2015-10-07 15:57:29 -07:00
Mario Melara
06fe879745 Merge branch 'features/crayproto' of https://github.com/scalability-llnl/spack into develop 2015-10-07 14:55:05 -07:00
Massimiliano Culpo
17de9a37f1 gcc : fixed spec file 2015-10-06 18:49:18 +02:00
Massimiliano Culpo
d44571257a spec file : everything is dumped, only link rule is modified 2015-10-06 18:49:04 +02:00
Massimiliano Culpo
f068d1ba57 GCC : added variants for libelf, binutils, isl. gcc@5.0: still has issues 2015-10-06 18:48:47 +02:00
Matthew LeGendre
fac4428766 Documentation for external packages. 2015-10-05 14:04:33 -07:00
Gregory L. Lee
6fcf16b710 added libxcb version 1.11.1 2015-10-05 12:59:26 -07:00
Matthew LeGendre
18f0b24a7f Add tests for spack external dependencies, plus fixes for issues found by those tests. 2015-10-05 11:37:36 -07:00
Matthew LeGendre
e4d2ba30b5 Fix failure in spack.test.config.ConfigTest from incorrect compiler config merging 2015-10-05 11:37:36 -07:00
Matthew LeGendre
650c9d4e36 Allow spack to build against external non-spack-installed packages. 2015-10-05 11:37:36 -07:00
Matthew LeGendre
53d70fff01 Fix type error with YAML config when merging lists from different configs. 2015-10-05 11:36:06 -07:00
Matthew LeGendre
53cde110b1 Update Spack mirror command to match docs 2015-10-05 11:36:06 -07:00
Matthew LeGendre
987cd9e78f Update docs for YAML configuration files and preferred concretization 2015-10-05 11:36:06 -07:00
Matthew LeGendre
ee68a76a19 Bug fixes from testing spack preferred packages 2015-10-05 11:36:06 -07:00
Matthew LeGendre
8d7b7e5d5d Use preferred package rules when concretize'ing specs 2015-10-05 11:36:06 -07:00
Matthew LeGendre
b5c597b318 Allow specs to be sorted based on preferred packages, versions, compilers, variants and dependencies. 2015-10-05 11:36:05 -07:00
Matthew LeGendre
59f89dd3be Allow long names in format string variables 2015-10-05 11:36:05 -07:00
karenyyng
f4e72f33c8 added dependencies for py-h5py 2015-10-05 08:24:33 -07:00
Todd Gamblin
d00314c621 Protptype cray compiler detection and support 2015-10-05 01:30:25 -07:00
karenyyng
c809cc9273 clean up package.py file and remove duplicate file 2015-10-03 19:24:15 -07:00
karenyyng
f3254ff02d removed package for python packages with problematic / duplicate names 2015-10-03 19:22:53 -07:00
karenyyng
e9f7d033ff make sure submodule is added in the correct location 2015-10-03 19:13:08 -07:00
karenyyng
79808da760 added a bunch of packages and added submodule 2015-10-03 18:47:36 -07:00
karenyyng
1501786fd9 adding python_recipe_parser as a submodule under the folder utils 2015-10-03 13:04:37 -07:00
Mario Melara
75d30b08fb Added current version 3.2 of libffi version 3.1 has a bug that interferes with glib 2015-10-01 21:51:55 -07:00
Mario Melara
c6cd8ae243 Use more recent version of libffi. 3.1 has a known bug that is fixed in current version 2015-10-01 21:35:25 -07:00
Todd Gamblin
cc6252cdfa Merge pull request #118 from scalability-llnl/features/scr
update scr to 1.1.8
2015-09-29 18:21:37 -07:00
Adam Moody
5563c66675 update scr to 1.1.8 2015-09-29 18:18:34 -07:00
Gregory Becker
5fda7daf57 an ordered database test 2015-09-27 17:54:24 -07:00
Todd Gamblin
dd21a01dc4 Merge pull request #116 from mamelara/develop
Added samtools bioinformatics software
2015-09-27 17:29:50 -07:00
Todd Gamblin
8818f4ac5e Remove enabled variants from install prefix.
- these make the prefix too long in many cases.
- users can figure out which install is which by querying.
2015-09-27 17:01:35 -07:00
Todd Gamblin
adbd393c39 Remove special characters (@, %, +, ~, etc) from stage name 2015-09-27 17:01:35 -07:00
Mario Melara
13eb461ec3 Adding bowtie2 package along with patch 2015-09-24 11:21:54 -07:00
Mario Melara
521632b3dc Added samtools bioinformatics software 2015-09-23 16:30:44 -07:00
Todd Gamblin
6d4eed3845 Merge pull request #102 from RasmusWL/features/fish
Add fish (shell) package
2015-09-23 01:37:59 -07:00
Todd Gamblin
82ea7aec51 Merge pull request #106 from justintoo/add-package-doxygen
(Package) Add Doxygen (v1.8.10)
2015-09-23 01:37:31 -07:00
Todd Gamblin
d474eeb424 Merge pull request #110 from scalability-llnl/features/boostupdate
update boost package for new releases
2015-09-23 00:32:22 -07:00
Todd Gamblin
5d6baacc56 Merge pull request #111 from scalability-llnl/features/protobuf
add protobuf package
2015-09-23 00:31:26 -07:00
Todd Gamblin
46cf0a23d9 Merge pull request #112 from scalability-llnl/features/glog
add glog package
2015-09-23 00:30:37 -07:00
Todd Gamblin
f02af701e5 Merge pull request #113 from scalability-llnl/features/gflags
add gflags package
2015-09-23 00:29:50 -07:00
Todd Gamblin
5f826a0ab7 Merge pull request #114 from scalability-llnl/features/snappy
Features/snappy
2015-09-23 00:27:27 -07:00
Todd Gamblin
ba83dd56a1 Merge pull request #115 from scalability-llnl/features/lmdb
add lmdb package
2015-09-23 00:21:22 -07:00
Adam Moody
84823ed828 add lmdb package 2015-09-22 12:17:01 -07:00
Adam Moody
3ade141829 add leveldb package 2015-09-22 11:59:09 -07:00
Adam Moody
30acc6f2f0 add snappy package 2015-09-21 16:45:59 -07:00
Adam Moody
22ba02b22b add gflags package 2015-09-21 16:40:23 -07:00
Adam Moody
b5d7cd55ce add glog package 2015-09-21 16:30:11 -07:00
Adam Moody
e4e22ed17e add protobuf package 2015-09-21 16:19:50 -07:00
Justin Too
3691201b4f (Package) Add Spot C++ library (v1.99.3) 2015-09-21 11:04:56 -07:00
Todd Gamblin
d0e22b2240 Add ref counting to database. This does not handle removal properly yet. 2015-09-18 11:40:05 -07:00
Todd Gamblin
fb73979345 Allow custom timeout for database locking. 2015-09-17 16:09:59 -07:00
Todd Gamblin
e17ad6a684 Simplify lock context managers. 2015-09-17 01:05:19 -07:00
Todd Gamblin
6dff42be09 WIP for Matt's branch 2015-09-17 00:21:33 -07:00
Todd Gamblin
ccf311c9c6 Several changes to DB implementation.
1. Database stores a file version, so we can add to it in the future.
2. Database indexed by hashes and not numerical indexes.
3. Specs built by database have consistent hashes and it's checked.
4. minor naming and whitespace changes.
2015-09-17 00:16:12 -07:00
Gregory Becker
cd23d2eaa2 Added spack fsck and re-read from glob if the database file does not exist. Allows older versions to smoothly upgrade to the database. 2015-09-15 14:20:19 -07:00
Justin Too
99ca0f3153 (Package) Add Doxygen (v1.8.10) 2015-09-11 20:29:18 +00:00
Rasmus Wriedt Larsen
b06117f77a Add fish (shell) package 2015-09-03 14:19:27 -07:00
Gregory Becker
9c8e46dc22 Added conservative locking to the spack commands that access the database at _index 2015-09-03 09:21:19 -07:00
Adam Moody
ac088bae6a update boost 2015-09-01 16:02:14 -07:00
Gregory Becker
c3246ee8ba Removed incorrect stage removal code from cleanup() in do_install() 2015-08-31 09:46:55 -07:00
Gregory Becker
f406fcb843 Fixed several issues from code review
Most importantly wrote the Lock, Read_Lock_Instance, and Write_Lock_Instance classes in lock.py
Updated the locking in database.py
TODO: Lock on larger areas
2015-08-31 09:38:38 -07:00
Todd Gamblin
c5c9ada7b0 Fix for GitHub #95
develop: compiler clang@unknown created for /usr/bin/clang-format
https://github.com/scalability-llnl/spack/issues/95
2015-08-27 02:04:58 -07:00
Todd Gamblin
6af49d41fd Add elfutils. 2015-08-27 00:10:53 -07:00
Todd Gamblin
13fd742610 Merge branch 'features/pidx' into develop 2015-08-26 23:48:52 -07:00
Todd Gamblin
babbc5bb45 Minor fix-ups for PIDX 2015-08-26 23:48:36 -07:00
Todd Gamblin
10bc981d0b Merge pull request #28 in SCALE/spack from bugfix/scipy to develop
# By Gregory L. Lee
# Via Gregory L. Lee
* commit '2c3e7a6f87ef5f8b5ba154b5a8b7da7a119f4a67':
  added graphviz dependency and dysect variant to STAT
  added graphviz and dependencies
  use filter_file instead of patch
  added lapack and blas deps, fixed gfortran compiler dependency
2015-08-26 22:12:14 -07:00
Gregory Becker
9345e78779 Fixed inaccurate comment in spec.py 2015-08-25 16:31:09 -07:00
Gregory Becker
ce8df65d7b Eliminated unnecessary differences in pull request 2015-08-25 16:28:55 -07:00
Gregory Becker
e32c59f805 Fixed file locking. Fix is slightly ugly (lock integer added) but it gets the job done
It avoids having to spin simply on the OSError.
2015-08-25 15:32:45 -07:00
Gregory Becker
4a2bd1753a Added dependency indices to database, ensuring correctly reconstructed specs from database
Began work on file locking, currently commented out.
2015-08-25 15:11:18 -07:00
Gregory L. Lee
2c3e7a6f87 added graphviz dependency and dysect variant to STAT 2015-08-25 11:48:12 -07:00
Gregory L. Lee
1c9c5a385d added graphviz and dependencies 2015-08-25 11:38:39 -07:00
Todd Gamblin
360b307f68 Save progress. import gov.llnl.spack.mpich works. 2015-08-24 09:14:16 -07:00
Gregory L. Lee
689dbb8fb6 use filter_file instead of patch 2015-08-24 08:51:41 -07:00
Jim Galarowicz
24c609b6df Updates to the Krell related product packages. 2015-08-22 09:34:44 -05:00
Gregory Becker
fb1874165b Eliminated all calls that relied on finding all packages in the opt directory
Replaced them all with references to the database

Implemented caching in the database. The database now only re-reads data
if the database file exists and was changed since this file last wrote to it.

Added the installed_db field to the spack instance

Left the call to all_specs from testdirectory_layout.py for now.
2015-08-21 17:00:39 -07:00
Gregory Becker
55f68bb2b0 Added hashes to the database 2015-08-21 13:04:27 -07:00
Gregory Becker
1da56e5290 Added a database of installed packages.
No methods use the database so far.

Also, a bug fix:
      Previous version did not remove the staging directory on a failed install
      This led to spack refusing to uninstall dependencies of the failed install
      Added to cleanup() to blow away the staging directory on failed install.
2015-08-21 11:32:12 -07:00
Cyrus Harrison
8821715377 add version-based url map for cmake, provide md5 for cmake 3.3.1 2015-08-19 14:18:02 -07:00
Jim Galarowicz
fe9959d4da Merge remote-tracking branch 'upstream/develop' into develop 2015-08-18 08:05:25 -05:00
Peer-Timo Bremer
40b21d7cbe Initial version of PIDX package 2015-08-17 15:38:12 -07:00
Gregory L. Lee
bd1cd83d71 added lapack and blas deps, fixed gfortran compiler dependency 2015-08-17 11:54:14 -07:00
Todd Gamblin
a2f2e6a4ff Save changes to external repo integration 2015-08-16 12:54:02 -07:00
Todd Gamblin
92f398a897 Better @memoized decorator. 2015-08-16 12:50:39 -07:00
Todd Gamblin
da98b07624 Add more options to spack edit 2015-08-16 12:50:39 -07:00
Matthew LeGendre
e58ee88a63 Add 'spack packagerepo create' command 2015-08-16 12:50:39 -07:00
Matthew LeGendre
7ea328659f Record package repo origins in .spec files 2015-08-16 12:50:39 -07:00
Matthew LeGendre
c7b8d09c7f Add packagerepos to spack, allowing for creating multiple package repositories. 2015-08-16 12:48:32 -07:00
Gregory L. Lee
92ea86dc36 moved lapack package to netlib-lapack 2015-08-14 16:30:35 -07:00
Gregory L. Lee
ec47ab16ce updated blas and lapack packages 2015-08-14 16:27:51 -07:00
Todd Gamblin
c8f65c1530 Fix 2.6 incompatibility 2015-08-13 00:21:02 -07:00
Todd Gamblin
a2b5b61e7f Add .mailmap file 2015-08-13 00:18:19 -07:00
Todd Gamblin
17c2a0d6f3 Merge pull request #92 from trws/flux-build
pre-alpha flux build and requisite dependencies
2015-08-13 00:02:49 -07:00
Todd Gamblin
58f848fa29 Merge pull request #94 from alfredo-gimenez/dev-pandas
Fixed py-pandas package
2015-08-13 00:00:35 -07:00
Todd Gamblin
6f75f5bd6a Merge pull request #88 from trws/git_depth_attempt
adding a fallback on failure with git --depth
2015-08-12 23:59:13 -07:00
Todd Gamblin
f34b04e555 Merge pull request #87 from alfredo-gimenez/develop
Added gui and cscope features to Vim package
2015-08-12 23:58:27 -07:00
Alfredo Gimenez
d6bf9c9887 Cscope vim variant depends on cscope 2015-08-07 07:58:04 -07:00
Alfredo Gimenez
d017c5080a Fixed py-pandas package 2015-08-07 00:03:14 -07:00
Alfredo Gimenez
067ecb90b9 Added cscope (dependency for vim+cscope) 2015-08-06 09:28:28 -07:00
Todd Gamblin
1792115b4d Use absolute paths to spack compiler wrappers in CC/CXX/F77/FC 2015-08-04 09:57:06 -07:00
Tom Scogland
7182671f8f pre-alpha flux build and requisite dependencies
NOTE: the ncurses package now installs *BOTH* versions, wide and non-wide
character for compatibility with packages that require either one.  It may be
desirable for this to be an option in the future.
2015-08-03 11:59:52 -07:00
Todd Gamblin
7d80983362 Merge pull request #91 from nolta/patch-1
add missing gmp dependency to mpfr package
2015-08-01 14:01:10 -07:00
Mike Nolta
7ebb4fcedc add missing gmp dependency to mpfr package 2015-08-01 16:00:13 -04:00
Tom Scogland
016eef6a16 adding the bear compilation database generator 2015-07-29 14:21:03 -07:00
Tom Scogland
9174c06598 adding a fallback on failure with git --depth
Certain remote protocols don't support the `--depth` option.  Since this can't
be checked by URL type or in any sane way locally, this version attempts to
clone git repositories with the --depth option, and if that fails attempts the
clone again without it.
2015-07-27 14:03:04 -07:00
Todd Gamblin
27ca697b43 Add Python version test to detect {} in version strings.
- {} is not compatible with Python 2.6
2015-07-24 14:22:28 -07:00
Todd Gamblin
1e2f421faa Fix Python 2.6 compatibility issue. 2015-07-23 17:01:55 -07:00
Alfredo Gimenez
00ab6eb616 Vim with added feature support, including gvim 2015-07-23 11:38:02 -07:00
Tom Scogland
6ad5210216 adding a zsh package 2015-07-22 11:35:51 -07:00
Jim Galarowicz
9fee7be695 Add the initial version of the OpenSpeedShop spack build file. OpenSpeedShop is an application performance analysis tool that runs on Linux and gathers a number of different types of performance data and displays that data in a command line tool (CLI) and via a graphical user interface (GUI). 2015-07-21 11:26:59 -05:00
Jim Galarowicz
e8235b10c6 Add the cbtf-lanl spack build package. cbtf-lanl is LANLs contribution to the CBTF project. It contains psTool and memTool which are example tools, showing use case examples for CBTF. 2015-07-21 11:23:23 -05:00
Jim Galarowicz
23971bae92 Add the cbtf-krell spack build package. cbtf-krell is the krell contribution to the CBTF project and includes services, messages, and core libraries and components that support performance information gathering, transfer, and reduction. 2015-07-21 11:20:27 -05:00
Jim Galarowicz
eff5016653 Add the cbtf spack build package. cbtf is the base package for the component based tool framework and is used for building and connecting cbtf components, including distributed components via the MRNet transfer mechanism. 2015-07-21 11:15:53 -05:00
Jim Galarowicz
a9c737f911 Add spack build package for Xerces-C which is a supporting package for the krell related projects. 2015-07-21 10:59:52 -05:00
Jim Galarowicz
f5093094eb Add the cbtf-argonavis project package file. cbtf-argonavis is a project based on CBTF that supports performance analysis of GPU applications. 2015-07-21 10:58:16 -05:00
Jim Galarowicz
15ec3cb3cd Add qt3 version support and a variant that controls patching the qt3 version for compile issues and answering yes to the license questions during build. 2015-07-21 10:51:53 -05:00
Jim Galarowicz
b4e0804b37 Add the latest version to the papi package. 2015-07-21 10:50:11 -05:00
Jim Galarowicz
64c8fd3fa1 Add krelloptions variant that is used to turn on a configuration option to build the thread safe lightweight libraries. 2015-07-21 10:49:15 -05:00
Jim Galarowicz
13421dc4aa Add patches that enable features added for krell related products. Update the package file to add a krellpatch variant to control adding the patches. 2015-07-21 10:20:05 -05:00
Jim Galarowicz
0591980cbe Add configuration change for krell related products, they expect the dyninst includes in include/dyninst. 2015-07-21 10:17:37 -05:00
Jim Galarowicz
d1f127d8ef Add changes for krell related products to binutils. Add a patch that installs libiberty_pic.a which krell products will favor/use. 2015-07-21 10:15:17 -05:00
Todd Gamblin
19123b4c48 Fix ProviderIndex.update(), which didn't remove stale providers. 2015-07-16 01:41:11 -07:00
Todd Gamblin
e097696390 Update concretize to check for more changes and iterate further. 2015-07-16 01:12:11 -07:00
Todd Gamblin
9087f26537 Fix mangled error message. 2015-07-14 23:59:03 -07:00
Todd Gamblin
8828dbf2e8 Remove superfluous print in vim. 2015-07-14 23:48:07 -07:00
Todd Gamblin
0d308ca30f Fix regression of install -j. 2015-07-14 23:45:58 -07:00
Todd Gamblin
2e90599283 Merge branch 'develop' of github.com:scalability-llnl/spack into develop 2015-07-14 23:43:59 -07:00
Todd Gamblin
9d1f8f6bfd Add test to check packages for Python2.6 compatibility, as well as core. 2015-07-13 18:37:48 +00:00
Todd Gamblin
6f8a4318c5 Remove python 2.6-incompatible format expression. 2015-07-13 18:25:18 +00:00
Tom Scogland
889485181e adding gnu global tags and exuberant ctags 2015-07-10 13:54:38 -07:00
Tom Scogland
fda208f6b8 adding YAPF (Yet Another Python Formatter) 2015-07-09 14:55:27 -07:00
Gregory L. Lee
2e37523428 for LaunchMON added latest git commit and dependences 2015-07-08 11:25:41 -07:00
Gregory L. Lee
ddfc276688 removed workaround 2015-07-02 15:14:30 -07:00
Florent Pruvost
5acd7cad9a add env. var. in modules: LIBRARY_PATH and PKG_CONFIG_PATH 2015-07-02 02:12:10 -07:00
Florent Pruvost
e06d351f7a add cblas headers in install directory 2015-07-02 02:05:00 -07:00
Todd Gamblin
7625881cb3 Merge pull request #75 from alfredo-gimenez/develop
Thanks!
2015-07-02 01:27:47 -07:00
Todd Gamblin
6892d7189f Merge branch 'features/toggle-build-output' into develop 2015-07-02 00:51:03 -07:00
Todd Gamblin
6f94a2567b Add py-lockfile and py-python-daemon packages. 2015-07-02 00:40:25 -07:00
Todd Gamblin
b3e34be972 Better python template for 'spack create' 2015-07-02 00:39:33 -07:00
Alfredo Gimenez
25c1678004 Commented out old version 2015-06-23 17:39:23 -07:00
Alfredo Gimenez
9f27ddc256 New mpfr release invalidates previous download link (not sure where old version is...) 2015-06-23 17:36:57 -07:00
Todd Gamblin
edfcac32c3 Fix bug in uninstall (regression in 0fc3b58) 2015-06-20 21:46:52 -07:00
Todd Gamblin
afe86e0d68 Merge branch 'alfredo-gimenez-thrift' into develop 2015-06-20 20:25:48 -07:00
Todd Gamblin
a51d4afe3e Minor simplification (os.environ -> env) 2015-06-20 20:25:12 -07:00
Todd Gamblin
6ed5dd7427 log_output now allows echo to be toggled wtih 'v' key 2015-06-20 20:20:28 -07:00
Alfredo Gimenez
314ecc54fe Thrift python support 2015-06-18 17:29:16 -07:00
Todd Gamblin
2bc660e83c Merge pull request #70 from alfredo-gimenez/develop
Added silo 4.8 with HDF5 (for LULESH 2.0)
2015-06-18 13:23:11 -07:00
Alfredo Gimenez
f832719ceb Added silo 4.8 with HDF5 (for LULESH 2.0) 2015-06-18 12:31:01 -07:00
Todd Gamblin
96e213c110 Merge branch 'alfredo-gimenez-thrift' into develop 2015-06-18 10:30:56 -07:00
Alfredo Gimenez
0c028e24b4 Removed Lua dependency 2015-06-18 10:30:02 -07:00
Alfredo Gimenez
55e24548c3 Added Thrift (HBase management in C++) 2015-06-18 10:29:34 -07:00
Tom Scogland
912c29471a adding python pyelftools package 2015-06-17 15:19:46 -07:00
Todd Gamblin
b8aeab0439 Merge branch 'trws-git-tag-support' into develop 2015-06-13 17:53:09 -07:00
Todd Gamblin
cfb883646f Fix for git pull --tags when using git 1.7.1
- Added `ignore_errors` option to `Executable.__call__`
- Can avoid raising errors on *specific* error return values.
2015-06-13 17:52:00 -07:00
Tom Scogland
0b5ca25358 Fix for repos with many tags
Ensures all tags are ready before checkout, using `--branch` if possible and
an extra pull if that is not available.  Also adds `--depth 1` to create
shallow clones if the git version is sufficient.

Fixes #64.
2015-06-13 15:29:55 -07:00
Tom Scogland
277df08676 removing vestigial lines from a previous commit 2015-06-13 14:10:45 -07:00
Todd Gamblin
607f263fbc Merge pull request #61 from alfredo-gimenez/develop
Mitos 0.9.1
2015-06-11 16:31:28 -07:00
Todd Gamblin
3cb10f92af Merge pull request #62 from trws/tmuxinator
Partial ruby extension and tmuxinator package
2015-06-11 16:31:15 -07:00
Todd Gamblin
9955df896b Merge pull request #63 from trws/silver-searcher
adding package for the silver searcher
2015-06-11 16:31:04 -07:00
Tom Scogland
a087fd71e4 Removing comment line
Missed that the auto-generated comment line stuck around.
2015-06-11 13:57:19 -07:00
Tom Scogland
d92ac2a6b2 Small ruby enhancement and tmuxinator package
It is currently less painful to pull the source from github, compile it into a
gem, then install the gem, than it is to download a gem and install it.  This
still lacks an activation mechanism, but `spack use tmuxinator` is functional.
2015-06-11 13:51:53 -07:00
Alfredo Gimenez
afe3c5b6bb Mitos 0.9.1 2015-06-11 11:02:51 -07:00
Todd Gamblin
0e3d994b05 Merge pull request #60 from trws/expanded-vim
partial upgrade to vim package
2015-06-10 14:29:34 -07:00
Tom Scogland
cd581d1d5a adding package for the silver searcher 2015-06-10 14:24:38 -07:00
Tom Scogland
2d465ffd10 partial upgrade to vim package 2015-06-10 14:14:31 -07:00
Todd Gamblin
f420f9393a Merging in updated google group info from master onto develop. 2015-06-10 00:40:14 -07:00
Todd Gamblin
04bcf43649 Merge pull request #58 from trws/python-cffi
Python cffi
2015-06-10 00:36:37 -07:00
Todd Gamblin
874326a1ad Merge pull request #56 from trws/uuid-task-and-taskd
package files for libuuid, needed for flux and taskwarrior packages
2015-06-10 00:35:30 -07:00
Todd Gamblin
c0d667106a Merge pull request #55 from trws/gmp-dep-for-nettle
nettle depends on gmp, without it the nettle build fails on gcc 4.9.2
2015-06-10 00:33:36 -07:00
Todd Gamblin
e2cb3b97fd Merge pull request #57 from trws/zsh-use-fix
Zsh use fix
2015-06-10 00:31:59 -07:00
Tom Scogland
b98454b8b2 fixing regular expression matches to use regular expression syntax instead of globbing syntax 2015-06-09 19:38:35 -07:00
Tom Scogland
c8ad456fd6 nettle depends on gmp, without it the nettle build fails on gcc 4.9.2 2015-06-09 19:37:42 -07:00
Tom Scogland
8839eeb421 new package files for python-cffi and its dependency pycparser 2015-06-09 19:36:08 -07:00
Tom Scogland
eab3d4811e package files for libuuid, needed for flux and taskwarrior packages, along with the taskwarrior packages 2015-06-09 19:26:49 -07:00
Todd Gamblin
e64c0f4e4e Fix Boost finding in Dyninst 8.2.1. 2015-06-09 17:48:38 -07:00
Todd Gamblin
1857b7736f Merge Kevin, Ben, and Saravan's contributions into develop
- includes ATLAS, BLAS, LAPACK, other FastMATH packages.
2015-06-07 16:10:32 -07:00
Todd Gamblin
bde9c7eee3 Upate ATLAS and netlib-blas. 2015-06-07 15:41:15 -07:00
Todd Gamblin
0a92349f90 Try a little harder in concretize_version() -- concretize unsafe versions too.
- This can result in the user being prompted to download an unsafe
  version.

- Avoids overly strict errors when something *could* be satisfiable
  but we don't know about hte version.
2015-06-07 15:40:01 -07:00
Todd Gamblin
3f3ceb24c4 Add some comments b/c I didn't understand my own test. 2015-06-07 15:39:40 -07:00
Todd Gamblin
0fc3b58890 SPACK-38: Allow specs to be indexed by virtual dependencies.
- The following now work differently:

      spec['mpi']
      spec['blas']

  This can return a spec for openmpi, mpich, mvapich, etc., EVEN if
  the spec is already concretized.  This means that in a package that
  `depends_on('mpi')`, you can do `spec['mpi']` to see what it was
  concretized to.  This should simplify MPI and BLAS packages.

      'mpi' in spec
      'blas' in spec

  Previously, if the spec had been concretized, these would be `False`
  because there was not a dependency in the DAG with either of these
  names. These will now be `True` even if the spec has been
  concretized.  So, e.g., this will print "YES"

      s = Spec('callpath ^mpich')
      if 'mpi' in spec:
          print "YES"

- Similarly, this will be True:

      Spec('mpich').satisfies('mpi')

- Because of the way virtual dependencies are currently implemented,
  the above required some fiddling around with `package.py` so that it
  would never call `Spec.__contains__` (and result in endless
  recursion).

- This should be fixed by allowing virutal dependnecies to have their
  own package class.
  - This would allow a quicker check for vdeps, without a call to
    `all_packages`.
  - For the time being, `package.py` shouldn't call `__contains__`
2015-06-07 15:36:53 -07:00
Todd Gamblin
0570660d81 Make blas a virtual dependency, default netlib-blas. 2015-06-06 18:23:12 -07:00
Todd Gamblin
26b9592780 Add disablement of cpu throttle check. 2015-06-06 18:19:05 -07:00
Todd Gamblin
8b9dcfe635 Delete lapack/atlas combined package. 2015-06-06 18:18:51 -07:00
Todd Gamblin
5d94864b6c Rename netlib_blas -> netlib-blas 2015-06-06 18:18:44 -07:00
Todd Gamblin
50d7b3df2b Merge branch 'psaravan-fastmath' into features/fastmath
Conflicts:
	var/spack/packages/lapack/package.py
2015-06-06 18:17:59 -07:00
Todd Gamblin
8215c85619 Merge branch 'develop' into features/fastmath 2015-06-06 18:15:52 -07:00
Todd Gamblin
c43b5d670b Remove dummy fastmath package. 2015-06-06 17:48:33 -07:00
Todd Gamblin
b6ad37557f fix up Saravan's petsc install 2015-06-06 17:41:15 -07:00
Todd Gamblin
d266bf0184 Working Hypre, PARPACK. 2015-06-06 17:21:11 -07:00
Todd Gamblin
5294e2b9b9 CGM package working on cab. 2015-06-06 16:56:59 -07:00
Todd Gamblin
c5ab3f4e82 CBLAS package working and patching in spack compilers. 2015-06-06 16:29:37 -07:00
Todd Gamblin
f29fc5822b Working boxlib package. 2015-06-06 16:16:19 -07:00
Todd Gamblin
eb9859ce75 Executables now have a useful __str__ function. 2015-06-06 16:15:52 -07:00
Todd Gamblin
53feb12ea0 Cleanup and consolidate error handling 2015-06-06 15:50:01 -07:00
Todd Gamblin
b9746de52e Working ARPACK package. 2015-06-06 15:26:54 -07:00
Todd Gamblin
03780ea105 Remove autosave files from saravan's PR 2015-06-06 15:26:54 -07:00
Todd Gamblin
422a75e4b8 Clean up arpack build, use the Spack f77 compiler. 2015-06-06 15:26:54 -07:00
Todd Gamblin
5d7a6c0c46 Add FileFilter convenience class to llnl.util.filesystem. 2015-06-06 15:26:48 -07:00
Saravan Pantham
1f0246f970 Updated HDF5 to use MPI. 2015-06-06 15:26:43 -07:00
Saravan Pantham
9d71093500 Updated Zoltan. 2015-06-06 15:26:42 -07:00
Saravan Pantham
fd34f4b119 Added more FASTMath packages. 2015-06-06 15:26:38 -07:00
Saravan Pantham
454d06c25c Removed autosave files from previous commit. 2015-06-06 15:26:37 -07:00
Saravan Pantham
c174fe6199 Fixed BLAS and Lapack installations 2015-06-06 15:26:31 -07:00
Saravan Pantham
d461aa3722 Added Lapack package 2015-06-06 13:06:18 -07:00
Saravan Pantham
a23e1579e3 Added BLAS package 2015-06-06 13:06:17 -07:00
Todd Gamblin
ab31f989db Merge Alfredo's Mitos changes from github with Greg's Python changes. 2015-06-06 12:53:28 -07:00
Gregory L. Lee
96ec75f7fe Merge branch 'develop' of ssh://cz-stash.llnl.gov:7999/scale/spack into develop 2015-06-04 15:49:57 -07:00
Gregory L. Lee
5ac5c021b8 new package versions 2015-06-04 15:49:55 -07:00
Todd Gamblin
0cf9e0698c Merge pull request #50 from alfredo-gimenez/develop
Thanks!
2015-06-03 22:08:22 -07:00
Alfredo Gimenez
dae33a31c0 Dyninst 8.2.1+ dependency for cmake 2015-06-03 22:02:47 -07:00
Alfredo Gimenez
15aee0de1a Mitos updated with new release 2015-06-03 21:58:44 -07:00
Gregory L. Lee
c158012655 Merge branch 'develop' of ssh://cz-stash.llnl.gov:7999/scale/spack into develop 2015-06-03 14:22:10 -07:00
Gregory L. Lee
c4f5a881e6 new Python extensions 2015-06-03 10:08:07 -07:00
Gregory L. Lee
6dffe2ddd1 updated url 2015-06-03 10:07:21 -07:00
Todd Gamblin
be3e8170de Fix #48: Merge branch 'bugfix/mac-metadata' into develop 2015-06-01 10:33:28 -07:00
Todd Gamblin
d19538af07 Fix #48: Ignore hidden files when deciding how to stage.
- Expanding archvies like MAGMA 1.6.2 creates extra hidden files that
  confuse Spack's staging mechanism.

- Added a special case to ignore hidden files when checking whether
  the tarball exploded.
2015-06-01 10:25:58 -07:00
Todd Gamblin
123778dec2 Add -S/--stages option to spack cd/spack location.
- can now change dir to top-level stage
2015-06-01 09:56:35 -07:00
Gregory L. Lee
37aa88ba2a Merge branch 'develop' of ssh://cz-stash.llnl.gov:7999/scale/spack into develop 2015-06-01 08:39:07 -07:00
Gregory L. Lee
74b0a9c059 updated Python extension versions 2015-06-01 08:39:01 -07:00
Gregory L. Lee
83af842a74 fixed cython activation conflict 2015-06-01 08:38:32 -07:00
Todd Gamblin
16c2588635 Fix #46: make(parallel=False) regression.
- Added some tests to make sure this stays in place.
2015-05-31 13:03:30 -07:00
Todd Gamblin
bf6a73fa3e Fix SPACK-69: Merge branch 'features/build-logging' into develop 2015-05-29 17:28:33 -07:00
Todd Gamblin
ea7b65e2f2 SPACK-69: spack install now logs build output to install directory.
- spack install suppresses build output by default.
  - use install -v to show build output on the console too

- package.py uses log_output context to redirect output and log it to a file
  - filters color codes out of output written to file
  - optionally echos to the terminal

- YAML directory layout knows about its build log.
  - can get path to install build log to from directory layout
  - Package.install now copies the build log to $prefix/.spack/build.out

- Error message from failed install execution now includes build log location
2015-05-29 17:22:33 -07:00
Todd Gamblin
92c21d7134 debug instead of info logging in llnl.util.filesystem 2015-05-29 17:21:30 -07:00
Todd Gamblin
0035100186 SPACK-69: Add context manager to fork and log output in a with block. 2015-05-29 17:20:08 -07:00
Todd Gamblin
9b40d93fc2 Add ability to force color mode even if terminal is NOT a tty 2015-05-29 17:19:03 -07:00
Todd Gamblin
ceecd2ce41 Add ability to test whether tty verbose or debug is enabled. 2015-05-29 17:18:33 -07:00
Todd Gamblin
5676cb0dd1 Add spack find -L to show full hashes. 2015-05-28 17:13:57 -07:00
Todd Gamblin
8cbae642cc Fix bug in spack edit -c 2015-05-28 17:13:23 -07:00
Todd Gamblin
6f8f1bf7af Fix #34: Spack doesn't stop when dep fails to build.
- Fixes regression introduced by #30
- Child process needs to exit on error
2015-05-27 20:27:48 -07:00
Todd Gamblin
c622337802 Remove redundancy: convert with closing(open(...)) to with open(...) 2015-05-18 17:11:03 -07:00
Todd Gamblin
f813d823a1 Merge branch 'features/optional-deps' into develop
This includes:
- Much better variant support (+debug/-debug)
- Optional dependency support (depends_on(... , when='<condition>')
- New config file format (YAML in ~/.spack)
- New Spec format (YAML in $prefix/.spack/spec.yaml)
2015-05-18 16:16:20 -07:00
Todd Gamblin
f68e64d738 Merge branch 'mplegendre-features/yaml-config' into features/optional-deps 2015-05-18 16:06:03 -07:00
Matthew LeGendre
46b91ddf57 YAML config files for compilers and mirrors 2015-05-18 16:01:21 -07:00
Todd Gamblin
09151785b3 SPACK-87: enable disabled git fetch tests. 2015-05-18 11:32:15 -07:00
Todd Gamblin
b2f46c703d Fix SPACK-87: Tag checkout fails for older git versions. 2015-05-18 11:26:32 -07:00
Todd Gamblin
76cb3eb7d2 Add help on specs to top of spack -h 2015-05-17 22:29:48 -07:00
Todd Gamblin
cd1ca36488 SPACK-41: More tests to ensure that constrain() reports changes. 2015-05-12 15:48:57 -07:00
Todd Gamblin
805122c789 SPACK-41: bugfix for nonconvergent normalize()
- constrain() wasn't reporting changes properly.
2015-05-12 14:52:46 -07:00
Todd Gamblin
095ff1cb4a Add debug handler to print a stacktrace on Ctrl-C in debug mode. 2015-05-12 14:52:41 -07:00
Gregory L. Lee
50970b72d8 added py-pandas 2015-05-12 13:47:48 -07:00
Todd Gamblin
c44db0133f Fix SPACK-41: Optional deps work with complex condition chains. 2015-05-12 11:45:48 -07:00
Todd Gamblin
cd5fa128c5 Work on SPACK-41: Optional dependencies work for simple conditions.
- Can depend conditionally based on variant, compiler, arch, deps, etc
  - normalize() is not iterative yet: no chaining depends_ons
  - really need a SAT solver, but iterative will at least handle
    simple cases.

- Added "strict" option to Spec.satisfies()
  - strict checks that ALL of other's constraints are met (not just
    the ones self shares)
  - Consider splitting these out into two methods: could_satisfy() and
    satisfies()
    - didn't do this yet as it would require changing code that uses
      satisfies()

- Changed semantics of __contains__ to use strict satisfaction (SPACK-56)

- Added tests for optional dependencies.

- The constrain() method on Specs, compilers, versions, etc. now
  returns whether the spec changed as a result of the call.
2015-05-12 09:56:59 -07:00
Todd Gamblin
ef9deeccd1 Merge branch 'features/yaml-spec' into features/optional-deps 2015-05-10 19:28:47 -07:00
Todd Gamblin
09fff39990 Merge remote-tracking branch 'origin/features/variants' into features/optional-deps 2015-05-10 18:59:56 -07:00
Todd Gamblin
13ff1a9bf6 Remove debug print in link_tree 2015-05-10 18:53:09 -07:00
Todd Gamblin
b4a26c496c Better hash output in find. 2015-05-10 18:48:42 -07:00
Todd Gamblin
43e5465592 Fix bug in directory layout hidden files() 2015-05-10 17:56:27 -07:00
Todd Gamblin
3c49487424 Doc tweak.
- add LLNL release number to new RTD theme.
2015-05-10 13:11:03 -07:00
Todd Gamblin
25af6478c5 Fix SPACK-67: 'spack help stage' was broken.
- remove spurious mutually exclusive group from subparser.
2015-05-10 12:46:33 -07:00
Todd Gamblin
793b842f99 tests for variant concretization 2015-05-10 12:28:25 -07:00
Todd Gamblin
535c1fac87 SPACK-56: fix Variant concretization.
- Variant concretization is tricky:

  - During concretization, a spec without variants (e.g., mpich) means
    "don't care".  So, Spec('mpich').satisfies('mpich+debug') is true
    because it *could* still be built that way.

  - After concretization, a spec without a particular variant means
    "don't know", as that wasn't part of the spec, so the opposite
    relationship is true.  Assume 'spec' is already installed:

      spec.satisfies('mpich+debug')

    this is false beacuse the `debug` variant didn't exist when spec
    was built, so we can't satisfy the explicit request for +debug.
2015-05-10 12:25:07 -07:00
Todd Gamblin
3b1898b8e4 Fix SPACK-40: Finish adding variant directive.
- Variants are now declarable in packages using the variant() directive.
- Variants are checked - you can't just ask for a random variant, it has to be declared.
- conditional logic (@when, if, '+debug' in spec, etc.) still required in package to
  implement variant.
2015-05-10 12:24:03 -07:00
Todd Gamblin
c105a8d42a Small updates to directives. 2015-05-10 12:24:03 -07:00
Todd Gamblin
1f8ce403dc Modularize directives. Now each directive specifies its storage. 2015-05-10 12:24:03 -07:00
Todd Gamblin
0944ba120c relations are now "directives", and code is cleaned up. 2015-05-10 12:24:03 -07:00
Todd Gamblin
5d2ee893c4 Remove TODOs for full DAG information.
- specs on disk now include full DAG info
- no need for normalize() kludges() anymore.
2015-05-10 11:45:12 -07:00
Todd Gamblin
29e833dfef extensions file now in YAML format 2015-05-10 02:56:50 -07:00
Todd Gamblin
2f3b0481de YamlDirectoryLayout now working. 2015-05-09 16:35:02 -05:00
Todd Gamblin
9412fc8083 restore some disabled git tests. 2015-05-09 16:12:04 -05:00
Todd Gamblin
8e87b2176a Updated Sphinx RTD documentation theme supports 4 levels 2015-05-09 13:35:05 -05:00
Todd Gamblin
d6a5266976 Fix 'ç' in François's name. 2015-05-09 13:30:09 -05:00
Todd Gamblin
5b32101ef2 Merge branch 'features/xl-support' into develop 2015-05-07 01:54:30 -05:00
François Bissey
3cfbc0520a Basic support for IBM XL compilers 2015-05-07 01:54:18 -05:00
Todd Gamblin
42c88aa3ca Merge branch 'features/diy' into develop 2015-05-07 01:53:26 -05:00
Todd Gamblin
1d0975bac6 Bugfixes for yaml specs. 2015-05-05 14:24:46 -07:00
Todd Gamblin
d687962b74 Add test for YAML specs. 2015-05-05 13:18:44 -07:00
Todd Gamblin
53e8e44a8b Make YAML specs more human readable. 2015-05-05 13:06:41 -07:00
Todd Gamblin
bbc973cc5f Merge pull request #41 from cyrush/code_chk_pkgs
added simple spack package files for uncrustify and cppcheck
2015-05-01 11:07:34 -07:00
Cyrus Harrison
8c4fe6d249 added simple spack package files for uncrustify and cppcheck 2015-04-30 22:42:53 -07:00
Todd Gamblin
278e70e533 Specs to/from YAML are working. 2015-04-29 01:47:09 -07:00
Todd Gamblin
13132c6b97 Add YAML to Spack. 2015-04-28 23:15:13 -07:00
Todd Gamblin
1d6524f299 Merge branch 'develop' of github.com:scalability-llnl/spack into develop 2015-04-14 15:12:11 -07:00
Todd Gamblin
5c04b3c480 Fix for GitHub #30 and SPACK-70. 2015-04-14 15:11:41 -07:00
Todd Gamblin
8b14a46201 documentation updates 2015-04-14 15:11:01 -07:00
Todd Gamblin
c1be1a362b Update mailing list info to Googele Groups. 2015-04-13 11:02:13 -07:00
Todd Gamblin
97a20cac58 Merge pull request #29 from alfredo-gimenez/develop
MemAxes and Mitos updates to remove VTK dependency.
2015-04-09 20:19:05 -07:00
Alfredo Gimenez
0f5b26c9cd MemAxes and Mitos 2015-04-09 14:46:33 -07:00
Todd Gamblin
314120212d Complete diy command. 2015-04-08 00:22:46 -07:00
Todd Gamblin
5077a2a343 Add a DIY stage class. 2015-04-08 00:22:34 -07:00
Todd Gamblin
ab40d0b1a4 Factor edit_package function out of edit command. 2015-04-08 00:22:07 -07:00
Todd Gamblin
c4a6d04131 Start of DIY command. 2015-04-08 00:20:53 -07:00
Todd Gamblin
203fd861aa Allow spack install -j to throttle make jobs. 2015-04-07 22:21:19 -07:00
Todd Gamblin
37a5c3b09f Version bump for adept-utils 2015-04-01 00:05:26 -07:00
Todd Gamblin
634abdbcea Merge pull request #26 from mplegendre/binutils
Binutils as spack package
2015-03-30 20:39:35 -07:00
Matthew LeGendre
89731d4a7d Add binutils as a gcc dependency so it doesn't use the system linker/assembler. 2015-03-30 14:23:02 -07:00
Todd Gamblin
2b9dd718ae Merge pull request #25 from mplegendre/qtfix
Fix for QT with gcc 4.9 build error
2015-03-27 17:48:51 -07:00
Matthew LeGendre
50687e08cb Fix QT with gcc 4.9 build error where QT's -Wl,--no-undefined interfered with gcc's implicit libgcc_s.so library 2015-03-27 17:32:37 -07:00
Todd Gamblin
ad62b93df9 Merge pull request #23 from mplegendre/rpath_cleanup
Only convert -L<path> to -Wl,-rpath,<path> in compiler scripts if <path>...
2015-03-27 14:14:49 -07:00
Matthew LeGendre
a4cce9eb69 Only convert -L<path> to -Wl,-rpath,<path> in compiler scripts if <path> points into the spack install area
This specifically fixes problems with building gcc, as build and system directories were turning in in gcc library rpaths.
2015-03-27 13:58:57 -07:00
Todd Gamblin
c10773503b Merge branch 'benjaminwalters-develop' into features/blas
Conflicts:
	var/spack/packages/lapack/package.py
2015-03-26 00:31:34 -07:00
Todd Gamblin
fa53bb835c Merge branch 'kev40293-develop' into features/blas 2015-03-26 00:12:41 -07:00
Todd Gamblin
6776c1945d Merge for minor release: 0.8.17 2015-03-24 10:17:18 -07:00
Todd Gamblin
b2f54bac95 Add contributions section to README.md 2015-03-24 09:58:32 -07:00
Todd Gamblin
744df77691 add mailing list links to README 2015-03-24 09:37:38 -07:00
Todd Gamblin
8364f0404c Add some options to spec command. 2015-03-24 08:40:45 -07:00
Benjamin Walters
1b75b34eb6 Removed subprocess.call calls and replaced with spack symlink calls 2015-03-19 04:37:21 -05:00
Benjamin Walters
3d2df174d1 Added package files for Lapack (has virtual dependency blas) and Netlib blas (provides virtual dependency blas). 2015-03-19 03:20:24 -05:00
Todd Gamblin
af92250c7e Add google analytics to docs. 2015-03-15 00:08:58 -07:00
Todd Gamblin
30e45df8a5 Updates to atlas packages. 2015-03-04 09:34:42 -08:00
Todd Gamblin
e23dd3e3bb Merge branch 'develop' of git://github.com/kev40293/spack into kev40293-develop 2015-03-04 09:23:28 -08:00
Kevin Brandstatter
8921d52a82 Working lapack install linking to installed ATLAS 2015-03-03 22:27:16 -06:00
Kevin Brandstatter
51cb785695 Merge branch 'develop' of github.com:kev40293/spack into develop
Conflicts:
	var/spack/packages/atlas/package.py
2015-03-03 19:24:19 -06:00
Kevin Brandstatter
0de021d427 Added LAPACK package file that depends on and builds against ATLAS 2015-03-03 19:21:02 -06:00
Kevin Brandstatter
08f37d478f Removed FIXME comments from atlas 2015-03-01 21:26:37 -06:00
Kevin Brandstatter
41256e7369 Added packaging files for ATLAS with and without netlib's LAPACK 2015-02-26 14:57:38 -06:00
Kevin Brandstatter
2f2eab0e15 Merge branch 'develop' of github.com:kev40293/spack into develop 2015-02-26 14:42:12 -06:00
Kevin Brandstatter
bbfc519ee5 Added packaging files for ATLAS with and without netlib's LAPACK 2015-02-26 14:41:46 -06:00
1898 changed files with 150305 additions and 14511 deletions

36
.coveragerc Normal file
View File

@@ -0,0 +1,36 @@
# -*- conf -*-
# .coveragerc to control coverage.py
[run]
parallel = True
concurrency = multiprocessing
branch = True
source = lib
omit =
lib/spack/spack/test/*
lib/spack/env/*
lib/spack/docs/*
lib/spack/external/*
[report]
# Regexes for lines to exclude from consideration
exclude_lines =
# Have to re-enable the standard pragma
pragma: no cover
# Don't complain about missing debug-only code:
def __repr__
if self\.debug
# Don't complain if tests don't hit defensive assertion code:
raise AssertionError
raise NotImplementedError
# Don't complain if non-runnable code isn't run:
if 0:
if False:
if __name__ == .__main__.:
ignore_errors = True
[html]
directory = htmlcov

26
.flake8 Normal file
View File

@@ -0,0 +1,26 @@
# -*- conf -*-
# flake8 settings for Spack.
#
# Below we describe which flake8 checks Spack ignores and what the
# rationale is.
#
# 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 ','
# - E272: multiple spaces before keyword
#
# Let people use terse Python features:
# - E731 : lambda expressions
#
# Spack allows wildcard imports:
# - F403: disable wildcard import
#
# These are required to get the package.py files to test clean.
# - F405: `name` may be undefined, or undefined from star imports: `module`
# - F821: undefined name `name` (needed for cmake, configure, etc.)
# - F999: syntax error in doctest
#
[flake8]
ignore = E129,E221,E241,E272,E731,F403,F405,F821,F999
max-line-length = 79

17
.gitignore vendored
View File

@@ -1,9 +1,24 @@
/db
/var/spack/stage
/var/spack/cache
/var/spack/repos/*/index.yaml
/var/spack/repos/*/lock
*.pyc
/opt/
/opt
*~
.DS_Store
.idea
/etc/spack/licenses
/etc/spack/*.yaml
/etc/spackconfig
/share/spack/dotkit
/share/spack/modules
/share/spack/lmod
/TAGS
*.swp
/htmlcov
.coverage
#*
.#*
/.cache
/bin/spackc

56
.mailmap Normal file
View File

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

92
.travis.yml Normal file
View File

@@ -0,0 +1,92 @@
#=============================================================================
# Project settings
#=============================================================================
language: python
# Only build master and develop on push; do not build every branch.
branches:
only:
- master
- develop
- /^releases\/.*$/
#=============================================================================
# Build matrix
#=============================================================================
python:
- 2.6
- 2.7
env:
- TEST_SUITE=unit
- TEST_SUITE=flake8
- TEST_SUITE=doc
matrix:
# Flake8 and Sphinx no longer support Python 2.6, and one run is enough.
exclude:
- python: 2.6
env: TEST_SUITE=flake8
- python: 2.6
env: TEST_SUITE=doc
# Explicitly include an OS X build with homebrew's python.
# Works around Python issues on Travis for OSX, described here:
# http://blog.fizyk.net.pl/blog/running-python-tests-on-traviss-osx-workers.html
include:
- os: osx
language: generic
env: TEST_SUITE=unit
#=============================================================================
# Environment
#=============================================================================
# Use new Travis infrastructure (Docker can't sudo yet)
sudo: false
# Docs need graphviz to build
addons:
apt:
packages:
- gfortran
- graphviz
- libyaml-dev
# Work around Travis's lack of support for Python on OSX
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions python > /dev/null || brew install python; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions gcc > /dev/null || brew install gcc; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then virtualenv venv; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then source venv/bin/activate; fi
# Install various dependencies
install:
- pip install --upgrade coveralls
- pip install --upgrade flake8
- pip install --upgrade sphinx
- pip install --upgrade mercurial
before_script:
# Need this for the git tests to succeed.
- git config --global user.email "spack@example.com"
- git config --global user.name "Test User"
# Need this to be able to compute the list of changed files
- git fetch origin develop:develop
#=============================================================================
# Building
#=============================================================================
script: share/spack/qa/run-$TEST_SUITE-tests
after_success:
- if [[ $TEST_SUITE == unit && $TRAVIS_PYTHON_VERSION == 2.7 && $TRAVIS_OS_NAME == "linux" ]]; then coveralls; fi
#=============================================================================
# Notifications
#=============================================================================
notifications:
email:
recipients: tgamblin@llnl.gov
on_success: change
on_failure: always

66
LICENSE
View File

@@ -1,56 +1,62 @@
Copyright (c) 2013-2014, Lawrence Livermore National Security, LLC.
########################################################################
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.
Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
LLNL-CODE-647188
For details, see https://scalability-llnl.github.io/spack
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 General Public License (as published by
the Free Software Foundation) version 2.1 dated February 1999.
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 General Public License for more details.
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
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
OUR NOTICE AND TERMS AND CONDITIONS OF THE GNU GENERAL PUBLIC LICENSE
########################################################################
LLNL NOTICE AND TERMS AND CONDITIONS OF THE GNU LGPL
Our Preamble Notice
LLNL Preamble Notice
A. This notice is required to be provided under our 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.
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.
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.
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 GPL terms and Conditions for Copying, Distribution, and
Modification
########################################################################
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

View File

@@ -1,5 +1,8 @@
Spack
===========
![image](share/spack/logo/spack-logo-text-64.png "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)
Spack is a package management tool designed to support multiple
versions and configurations of software on a wide variety of platforms
@@ -13,42 +16,83 @@ can coexist on the same system.
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
writtin in pure Python, and specs allow package authors to write a
written in pure Python, and specs allow package authors to write a
single build script for many different builds of the same package.
See the
[Feature Overview](http://scalability-llnl.github.io/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:
$ git clone https://github.com/scalability-llnl/spack.git
$ git clone https://github.com/llnl/spack.git
$ cd spack/bin
$ ./spack install libelf
Documentation
----------------
[Full documentation](http://scalability-llnl.github.io/spack)
for Spack is also available.
[**Full documentation**](http://spack.readthedocs.io/) for Spack is
the first place to look.
We've also got a [**Spack 101 Tutorial**](http://spack.readthedocs.io/en/latest/tutorial_sc16.html),
so you can learn Spack yourself, or teach users at your own 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!
------------------------
Spack is an open source project. Questions, discussion, and
contributions are welcome. Contributions can be anything from new
packages to bugfixes, or even new core features.
### 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:
* [Spack Google Group](https://groups.google.com/d/forum/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).
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/LLNL/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).
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.
Authors
----------------
Spack was written by Todd Gamblin, tgamblin@llnl.gov.
Many thanks go to Spack's [contributors](https://github.com/llnl/spack/graphs/contributors).
Significant contributions were also made by:
Spack was originally written by Todd Gamblin, tgamblin@llnl.gov.
* David Beckingsale
* David Boehme
* Alfredo Gimenez
* Luc Jaulmes
* Matt Legendre
* Greg Lee
* Adam Moody
* Saravan Pantham
* Joachim Protze
* Bob Robey
* Justin Too
### Citing Spack
If you are referencing Spack in a publication, please cite the following paper:
* Todd Gamblin, Matthew P. LeGendre, Michael R. Collette, Gregory L. Lee,
Adam Moody, Bronis R. de Supinski, and W. Scott Futral.
[**The Spack Package Manager: Bringing Order to HPC Software Chaos**](http://www.computer.org/csdl/proceedings/sc/2015/3723/00/2807623.pdf).
In *Supercomputing 2015 (SC15)*, Austin, Texas, November 15-20 2015. LLNL-CONF-669890.
Release
----------------

123
bin/sbang Executable file
View File

@@ -0,0 +1,123 @@
#!/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
#
# 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
##############################################################################
#
# `sbang`: Run scripts with long shebang lines.
#
# Many operating systems limit the length of shebang lines, making it
# hard to use interpreters that are deep in the directory hierarchy.
# `sbang` can run such scripts, either as a shebang interpreter, or
# directly on the command line.
#
# Usage
# -----------------------------
# Suppose you have a script, long-shebang.sh, like this:
#
# 1 #!/very/long/path/to/some/interpreter
# 2
# 3 echo "success!"
#
# Invoking this script will result in an error on some OS's. On
# Linux, you get this:
#
# $ ./long-shebang.sh
# -bash: ./long: /very/long/path/to/some/interp: bad interpreter:
# No such file or directory
#
# On Mac OS X, the system simply assumes the interpreter is the shell
# and tries to run with it, which is likely not what you want.
#
#
# `sbang` on the command line
# -----------------------------
# You can use `sbang` in two ways. The first is to use it directly,
# from the command line, like this:
#
# $ sbang ./long-shebang.sh
# success!
#
#
# `sbang` as the interpreter
# -----------------------------
# You can also use `sbang` *as* the interpreter for your script. Put
# `#!/bin/bash /path/to/sbang` on line 1, and move the original
# shebang to line 2 of the script:
#
# 1 #!/bin/bash /path/to/sbang
# 2 #!/long/path/to/real/interpreter with arguments
# 3
# 4 echo "success!"
#
# $ ./long-shebang.sh
# success!
#
# On Linux, you could shorten line 1 to `#!/path/to/sbang`, but other
# operating systems like Mac OS X require the interpreter to be a
# binary, so it's best to use `sbang` as a `bash` argument.
# Obviously, for this to work, `sbang` needs to have a short enough
# path that *it* will run without hitting OS limits.
#
# For Lua, scripts the second line can't start with #!, as # is not
# the comment character in lua (even though lua ignores #! on the
# *first* line of a script). So, instrument a lua script like this,
# using -- instead of # on the second line:
#
# 1 #!/bin/bash /path/to/sbang
# 2 --!/long/path/to/lua with arguments
# 3
# 4 print "success!"
#
# How it works
# -----------------------------
# `sbang` is a very simple bash script. It looks at the first two
# lines of a script argument and runs the last line starting with
# `#!`, with the script as an argument. It also forwards arguments.
#
# First argument is the script we want to actually run.
script="$1"
# Search the first two lines of script for interpreters.
lines=0
while read line && ((lines < 2)) ; do
if [[ "$line" = '#!'* ]]; then
interpreter="${line#\#!}"
elif [[ "$line" = '--!'*lua* ]]; then
interpreter="${line#--!}"
fi
lines=$((lines+1))
done < "$script"
# Invoke any interpreter found, or raise an error if none was found.
if [[ -n "$interpreter" ]]; then
if [[ "${interpreter##*/}" = "perl" ]]; then
exec $interpreter -x "$@"
else
exec $interpreter "$@"
fi
else
echo "error: sbang found no interpreter in $script"
exit 1
fi

175
bin/spack
View File

@@ -1,34 +1,37 @@
#!/usr/bin/env python
# flake8: noqa
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Copyright (c) 2013-2016, 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.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/spack
# 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.
# 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 General Public License for more details.
# 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
# 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):
if (sys.version_info[0] > 2) or (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)
sys.exit("Spack requires Python 2.6 or 2.7. "
"This is Python %d.%d.%d." % v_info)
import os
import inspect
# Find spack's location and its prefix.
SPACK_FILE = os.path.realpath(os.path.expanduser(__file__))
@@ -39,6 +42,34 @@ SPACK_PREFIX = os.path.dirname(os.path.dirname(SPACK_FILE))
SPACK_LIB_PATH = os.path.join(SPACK_PREFIX, "lib", "spack")
sys.path.insert(0, SPACK_LIB_PATH)
# Add external libs
SPACK_EXTERNAL_LIBS = os.path.join(SPACK_LIB_PATH, "external")
sys.path.insert(0, SPACK_EXTERNAL_LIBS)
# Quick and dirty check to clean orphaned .pyc files left over from
# previous revisions. These files were present in earlier versions of
# Spack, were removed, but shadow system modules that Spack still
# imports. If we leave them, Spack will fail in mysterious ways.
# TODO: more elegant solution for orphaned pyc files.
orphaned_pyc_files = [
os.path.join(SPACK_EXTERNAL_LIBS, 'functools.pyc'),
os.path.join(SPACK_EXTERNAL_LIBS, 'ordereddict.pyc'),
os.path.join(SPACK_LIB_PATH, 'spack', 'platforms', 'cray_xc.pyc'),
os.path.join(SPACK_LIB_PATH, 'spack', 'cmd', 'package-list.pyc'),
os.path.join(SPACK_LIB_PATH, 'spack', 'cmd', 'test-install.pyc'),
os.path.join(SPACK_LIB_PATH, 'spack', 'cmd', 'url-parse.pyc'),
os.path.join(SPACK_LIB_PATH, 'spack', 'test', 'yaml.pyc')
]
for pyc_file in orphaned_pyc_files:
if not os.path.exists(pyc_file):
continue
try:
os.remove(pyc_file)
except OSError as e:
print ("WARNING: Spack may fail mysteriously. "
"Couldn't remove orphaned .pyc file: %s" % pyc_file)
# If there is no working directory, use the spack prefix.
try:
working_dir = os.getcwd()
@@ -49,87 +80,133 @@ except OSError:
# 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
from external import argparse
import argparse
# Command parsing
parser = argparse.ArgumentParser(
description='Spack: the Supercomputing PACKage Manager.')
parser.add_argument('-V', '--version', action='version',
version="%s" % spack.spack_version)
parser.add_argument('-v', '--verbose', action='store_true',
help="Print additional output during builds")
formatter_class=argparse.RawTextHelpFormatter,
description="Spack: the Supercomputing PACKage Manager." + colorize("""
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 archives.")
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('-s', '--stacktrace', action='store_true',
help="Add stacktrace information to all printed statements")
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)
cmd_name = cmd.replace('_', '-')
subparser = subparsers.add_parser(cmd_name, 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():
def _main(args, unknown_args):
# Set up environment based on args.
tty.set_verbose(args.verbose)
tty.set_debug(args.debug)
tty.set_stacktrace(args.stacktrace)
spack.debug = args.debug
if spack.debug:
import spack.util.debug as debug
debug.register_interrupt_handler()
# Run any available pre-run hooks
spack.hooks.pre_run()
spack.spack_working_dir = working_dir
if args.mock:
from spack.packages import PackageDB
spack.db = PackageDB(spack.mock_packages_path)
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, which does not check SSL certificates or checksums.")
spack.curl.add_default_arg('-k')
tty.warn("You asked for --insecure. Will NOT check SSL certificates.")
spack.insecure = True
# 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, e:
if spack.debug:
# In debug mode, raise with a full stack trace.
raise
elif e.long_message:
tty.die(e.message, e.long_message)
else:
tty.die(e.message)
command = spack.cmd.get_command(args.command.replace('-', '_'))
# Allow commands to inject an optional argument and get unknown args
# if they want to handle them.
info = dict(inspect.getmembers(command))
varnames = info['__code__'].co_varnames
argcount = info['__code__'].co_argcount
# Actually execute the command
try:
if argcount == 3 and varnames[2] == 'unknown_args':
return_val = command(parser, args, unknown_args)
else:
if unknown_args:
tty.die('unrecognized arguments: %s' % ' '.join(unknown_args))
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 ohter code.
# 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))
tty.die("Bad return value from command %s: %s"
% (args.command, return_val))
if args.profile:
import cProfile
cProfile.run('main()', sort='tottime')
else:
main()
def main(args):
# Just print help and exit if run with no arguments at all
if len(args) == 1:
parser.print_help()
sys.exit(1)
# actually parse the args.
args, unknown = parser.parse_known_args()
if args.profile:
import cProfile
cProfile.runctx('_main(args, unknown)', globals(), locals(),
sort='time')
elif args.pdb:
import pdb
pdb.runctx('_main(args, unknown)', globals(), locals())
else:
_main(args, unknown)
if __name__ == '__main__':
main(sys.argv)

View File

@@ -1,27 +1,27 @@
#!/bin/sh
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Copyright (c) 2013-2016, 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.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/spack
# 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.
# 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 General Public License for more details.
# 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
# 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
##############################################################################
#
# spack-python

View File

@@ -0,0 +1,68 @@
# -------------------------------------------------------------------------
# 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 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 purge --stage`.
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $spack/var/spack/stage
# Cache directory already downloaded source tarballs and archived
# repositories. This can be purged with `spack purge --downloads`.
source_cache: $spack/var/spack/cache
# Cache directory for miscellaneous files, like the package index.
# This can be purged with `spack purge --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

View File

@@ -0,0 +1,18 @@
# -------------------------------------------------------------------------
# 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]

View File

@@ -0,0 +1,42 @@
# -------------------------------------------------------------------------
# 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:
enable:
- tcl
- dotkit
prefix_inspections:
bin:
- PATH
man:
- MANPATH
share/man:
- MANPATH
share/aclocal:
- ACLOCAL_PATH
lib:
- LIBRARY_PATH
- LD_LIBRARY_PATH
lib64:
- LIBRARY_PATH
- LD_LIBRARY_PATH
include:
- CPATH
lib/pkgconfig:
- PKG_CONFIG_PATH
lib64/pkgconfig:
- PKG_CONFIG_PATH
'':
- CMAKE_PREFIX_PATH

View File

@@ -0,0 +1,23 @@
# -------------------------------------------------------------------------
# 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: [gcc, intel, pgi, clang, xl, nag]
providers:
mpi: [openmpi, mpich]
blas: [openblas]
lapack: [openblas]
pil: [py-pillow]

View File

@@ -0,0 +1,14 @@
# -------------------------------------------------------------------------
# This is the default spack repository configuration. It includes the
# builtin spack package repository.
#
# Users can override these settings by editing the following files.
#
# Per-spack-instance settings (overrides defaults):
# $SPACK_ROOT/etc/spack/repos.yaml
#
# Per-user settings (overrides default and site settings):
# ~/.spack/repos.yaml
# -------------------------------------------------------------------------
repos:
- $spack/var/spack/repos/builtin

View File

@@ -1,4 +1,5 @@
package_list.rst
command_index.rst
spack*.rst
modules.rst
_build

View File

@@ -2,12 +2,13 @@
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SPHINXOPTS = -E
JOBS ?= $(shell python -c 'import multiprocessing; print multiprocessing.cpu_count()')
SPHINXBUILD = sphinx-build -j $(JOBS)
PAPER =
BUILDDIR = _build
export PYTHONPATH = ../../spack
export PYTHONPATH := ../../spack:$(PYTHONPATH)
APIDOC_FILES = spack*.rst
# Internal variables.
@@ -21,24 +22,6 @@ I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
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,9 +41,20 @@ 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:
@@ -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 package_list.rst command_index.rst modules.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."

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

@@ -5,7 +5,7 @@
"""
import os
VERSION = (0, 1, 5)
VERSION = (0, 1, 8)
__version__ = ".".join(str(v) for v in VERSION)
__version_full__ = __version__

View File

@@ -1,15 +1,23 @@
<ul class="wy-breadcrumbs">
<li><a href="{{ pathto(master_doc) }}">Docs</a> &raquo;</li>
<li><a href="">{{ title }}</a></li>
<li class="wy-breadcrumbs-aside">
{% if display_github %}
<a href="https://github.com/{{ github_user }}/{{ github_repo }}/blob/{{ github_version }}{{ conf_py_path }}{{ pagename }}.rst" class="icon icon-github"> Edit on GitHub</a>
{% elif display_bitbucket %}
<a href="https://bitbucket.org/{{ bitbucket_user }}/{{ bitbucket_repo }}/src/{{ bitbucket_version}}{{ conf_py_path }}{{ pagename }}.rst'" class="icon icon-bitbucket"> Edit on Bitbucket</a>
{% elif show_source and has_source and sourcename %}
<a href="{{ pathto('_sources/' + sourcename, true)|e }}" rel="nofollow"> View page source</a>
{% endif %}
</li>
</ul>
<hr/>
<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,28 +1,40 @@
<footer>
{% if next or prev %}
<div class="rst-footer-buttons">
<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 }}"/>Next <span class="icon icon-circle-arrow-right"></span></a>
<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 }}"><span class="icon icon-circle-arrow-left"></span> Previous</a>
<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/>
<p>
&copy; Copyright 2013-2014,
<a href="https://scalability.llnl.gov/">Lawrence Livermore National Laboratory</a>.
<br/>
Written by Todd Gamblin, <a href="mailto:tgamblin@llnl.gov">tgamblin@llnl.gov</a>, LLNL-CODE-647188
<br/>
<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 %}
{%- if last_updated %}
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
<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 %}
&nbsp;&nbsp;
{% trans %}<br/><a href="https://www.github.com/snide/sphinx_rtd_theme">Sphinx theme</a> provided by <a href="http://readthedocs.org">Read the Docs</a>{% endtrans %}
</p>
</footer>

View File

@@ -12,6 +12,7 @@
<!--[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>
@@ -23,40 +24,28 @@
{% endif %}
{# CSS #}
<link href='https://fonts.googleapis.com/css?family=Lato:400,700|Roboto+Slab:400,700|Inconsolata:400,700' rel='stylesheet' type='text/css'>
{# JS #}
{# OPENSEARCH #}
{% 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 %}
{% 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 these file themselves, so just load on non RTD builds #}
{# 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" />
<script type="text/javascript" src="_static/js/theme.js"></script>
{% 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') }}"
@@ -85,29 +74,47 @@
{%- endblock %}
{%- block extrahead %} {% endblock %}
<script src="//cdnjs.cloudflare.com/ajax/libs/modernizr/2.6.2/modernizr.min.js"></script>
{# Keep modernizr in head - http://modernizr.com/docs/#installing #}
<script src="_static/js/modernizr.min.js"></script>
</head>
<body class="wy-body-for-nav">
<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">
<a href="{{ pathto(master_doc) }}" class="icon icon-home"> {{ project }}</a>
{% 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">
{% set toctree = toctree(maxdepth=2, collapse=False, includehidden=True) %}
{% if toctree %}
{{ toctree }}
{% else %}
<!-- Local TOC -->
<div class="local-toc">{{ toc }}</div>
{% endif %}
<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>
@@ -115,8 +122,8 @@
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
{# MOBILE NAV, TRIGGLES SIDE NAV ON TOGGLE #}
<nav class="wy-nav-top">
<i data-toggle="wy-nav-top" class="icon icon-reorder"></i>
<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>
@@ -125,7 +132,9 @@
<div class="wy-nav-content">
<div class="rst-content">
{% include "breadcrumbs.html" %}
{% block body %}{% endblock %}
<div role="main" class="document">
{% block body %}{% endblock %}
</div>
{% include "footer.html" %}
</div>
</div>
@@ -134,5 +143,39 @@
</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

@@ -10,7 +10,7 @@
{%- extends "layout.html" %}
{% set title = _('Search') %}
{% set script_files = script_files + ['_static/searchtools.js'] %}
{% block extrahead %}
{% block footer %}
<script type="text/javascript">
jQuery(function() { Search.loadIndex("{{ pathto('searchindex.js', 1) }}"); });
</script>

View File

@@ -1,5 +1,9 @@
<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>
{%- 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 +1,2 @@
.font-smooth,.icon:before{-webkit-font-smoothing:antialiased}.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:""}.clearfix:after{clear:both}@font-face{font-family:fontawesome-webfont;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-webfont") format("svg")}.icon:before{display:inline-block;font-family:fontawesome-webfont;font-style:normal;font-weight:normal;line-height:1;text-decoration:inherit}a .icon{display:inline-block;text-decoration:inherit}li .icon{display:inline-block}li .icon-large:before,li .icon-large:before{width:1.875em}ul.icons{list-style-type:none;margin-left:2em;text-indent:-0.8em}ul.icons li .icon{width:0.8em}ul.icons li .icon-large:before,ul.icons li .icon-large:before{vertical-align:baseline}.icon-book:before{content:"\f02d"}.icon-caret-down:before{content:"\f0d7"}.icon-caret-up:before{content:"\f0d8"}.icon-caret-left:before{content:"\f0d9"}.icon-caret-right:before{content:"\f0da"}.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 .icon{color:#fcfcfc}.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.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.shift-up .rst-current-version{text-align:right}.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}}
.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

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

Binary file not shown.

View File

@@ -280,8 +280,8 @@
<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="1152" d="M896 608v-64q0 -14 -9 -23t-23 -9h-224v-224q0 -14 -9 -23t-23 -9h-64q-14 0 -23 9t-9 23v224h-224q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h224v224q0 14 9 23t23 9h64q14 0 23 -9t9 -23v-224h224q14 0 23 -9t9 -23zM1024 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 -28 t-28 -68v-704q0 -40 28 -68t68 -28h704q40 0 68 28t28 68zM1152 928v-704q0 -92 -65.5 -158t-158.5 -66h-704q-93 0 -158.5 66t-65.5 158v704q0 93 65.5 158.5t158.5 65.5h704q93 0 158.5 -65.5t65.5 -158.5z" />
<glyph unicode="&#xf117;" horiz-adv-x="1152" d="M928 1152q93 0 158.5 -65.5t65.5 -158.5v-704q0 -92 -65.5 -158t-158.5 -66h-704q-93 0 -158.5 66t-65.5 158v704q0 93 65.5 158.5t158.5 65.5h704zM1024 224v704q0 40 -28 68t-68 28h-704q-40 0 -68 -28t-28 -68v-704q0 -40 28 -68t68 -28h704q40 0 68 28t28 68z M864 640q14 0 23 -9t9 -23v-64q0 -14 -9 -23t-23 -9h-576q-14 0 -23 9t-9 23v64q0 14 9 23t23 9h576z" />
<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" />
@@ -310,7 +310,7 @@
<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="M1708 881l-188 -881h-304l181 849q4 21 1 43q-4 20 -16 35q-10 14 -28 24q-18 9 -40 9h-197l-205 -960h-303l204 960h-304l-205 -960h-304l272 1280h1139q157 0 245 -118q86 -116 52 -281z" />
<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" />
@@ -342,7 +342,7 @@
<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="1664" d="M1664 352v-32q0 -132 -94 -226t-226 -94h-128q-132 0 -226 94t-94 226v480h-224q-2 -102 -14.5 -190.5t-30.5 -156t-48.5 -126.5t-57 -99.5t-67.5 -77.5t-69.5 -58.5t-74 -44t-69 -32t-65.5 -25.5q-4 -2 -32 -13q-8 -2 -12 -2q-22 0 -30 20l-71 178q-5 13 0 25t17 17 q7 3 20 7.5t18 6.5q31 12 46.5 18.5t44.5 20t45.5 26t42 32.5t40.5 42.5t34.5 53.5t30.5 68.5t22.5 83.5t17 103t6.5 123h-256q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h1216q14 0 23 -9t9 -23v-160q0 -14 -9 -23t-23 -9h-224v-512q0 -26 19 -45t45 -19h128q26 0 45 19t19 45 v64q0 14 9 23t23 9h192q14 0 23 -9t9 -23zM1280 1376v-160q0 -14 -9 -23t-23 -9h-960q-14 0 -23 9t-9 23v160q0 14 9 23t23 9h960q14 0 23 -9t9 -23z" />
<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" />
@@ -390,10 +390,25 @@
<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;" horiz-adv-x="1920" d="M805 163q-122 -67 -261 -67q-141 0 -261 67q98 61 167 149t94 191q25 -103 94 -191t167 -149zM453 1176v-344q0 -179 -89.5 -326t-234.5 -217q-129 152 -129 351q0 200 129.5 352t323.5 184zM958 991q-128 -152 -128 -351q0 -201 128 -351q-145 70 -234.5 218t-89.5 328 v341q196 -33 324 -185zM1638 163q-122 -67 -261 -67q-141 0 -261 67q98 61 167 149t94 191q25 -103 94 -191t167 -149zM1286 1176v-344q0 -179 -91 -326t-237 -217v0q133 154 133 351q0 195 -133 351q129 151 328 185zM1920 640q0 -201 -129 -351q-145 70 -234.5 218 t-89.5 328v341q194 -32 323.5 -184t129.5 -352z" />
<glyph unicode="&#xf18c;" horiz-adv-x="1792" />
<glyph unicode="&#xf18d;" horiz-adv-x="1792" />
<glyph unicode="&#xf18e;" horiz-adv-x="1792" />
<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: 193 KiB

After

Width:  |  Height:  |  Size: 197 KiB

File diff suppressed because one or more lines are too long

View File

@@ -1,16 +1,113 @@
$( document ).ready(function() {
// Shift nav in mobile when clicking the menu.
$("[data-toggle='wy-nav-top']").click(function() {
$("[data-toggle='wy-nav-shift']").toggleClass("shift");
$("[data-toggle='rst-versions']").toggleClass("shift");
});
// Close menu when you click a link.
$(".wy-menu-vertical .current ul li a").click(function() {
$("[data-toggle='wy-nav-shift']").removeClass("shift");
$("[data-toggle='rst-versions']").toggleClass("shift");
});
$("[data-toggle='rst-current-version']").click(function() {
$("[data-toggle='rst-versions']").toggleClass("shift-up");
});
$("table.docutils:not(.field-list").wrap("<div class='wy-table-responsive'></div>");
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

@@ -5,3 +5,5 @@ stylesheet = css/theme.css
[options]
typekit_id = hiw1hhg
analytics_id =
sticky_navigation = False
logo_only =

View File

@@ -1,10 +1,10 @@
{% if READTHEDOCS %}
{# Add rst-badge after rst-versions for small badge style. #}
<div class="rst-versions" data-toggle="rst-versions">
<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="icon icon-book"> Read the Docs</span>
v: {{ current_version }}
<span class="icon icon-caret-down"></span>
<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>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,168 @@
.. _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., compilers, MPI, or BLAS),
or you can make it prefer to build with particular compilers. You can
also tell Spack to use *external* installations of certain software.
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 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:
.. 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, 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.
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: [mvapich, 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 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.
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.

View File

@@ -1,7 +1,6 @@
.. _command_index:
Command index
=================
=============
Command Index
=============
This is an alphabetical list of commands with links to the places they
appear in the documentation.

View File

@@ -1,26 +1,27 @@
# flake8: noqa
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Copyright (c) 2013-2016, 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.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/spack
# 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.
# 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 General Public License for more details.
# 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
# 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 -*-
#
@@ -37,24 +38,85 @@
import sys
import os
import re
import shutil
import subprocess
from glob import glob
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'))
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'
os.environ['PATH'] += '%s%s/bin' % (os.pathsep, spack_root)
# Get the spack version for use in the docs
spack_version = subprocess.Popen(
['spack', '-V'], stderr=subprocess.PIPE).communicate()[1].strip().split('.')
[spack_root + '/bin/spack', '-V'],
stderr=subprocess.PIPE).communicate()[1].strip().split('.')
# 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.rst', 'w') as plist_file:
subprocess.Popen(
[spack_root + '/bin/spack', 'list', '--format=rst'], stdout=plist_file)
#
# Find all the `cmd-spack-*` references and add them to a command index
#
command_names = []
for filename in glob('*rst'):
with open(filename) as f:
for line in f:
match = re.match('.. _(cmd-spack-.*):', line)
if match:
command_names.append(match.group(1).strip())
shutil.copy('command_index.in', 'command_index.rst')
with open('command_index.rst', 'a') as index:
index.write('\n')
for cmd in sorted(command_names):
index.write(' * :ref:`%s`\n' % cmd)
# Run sphinx-apidoc
sphinx_apidoc(['-T', '-o', '.', '../spack'])
os.remove('modules.rst')
#
# Exclude everything in spack.__all__ from indexing. All of these
# symbols are imported from elsewhere in spack; their inclusion in
# __all__ simply allows package authors to use `from spack import *`.
# Excluding them ensures they're only documented in their "real" module.
#
# This also avoids issues where some of these symbols shadow core spack
# modules. Sphinx will complain about duplicate docs when this happens.
#
import fileinput, spack
handling_spack = False
for line in fileinput.input('spack.rst', inplace=1):
if handling_spack:
if not line.startswith(' :noindex:'):
print ' :noindex: %s' % ' '.join(spack.__all__)
handling_spack = False
if line.startswith('.. automodule::'):
handling_spack = (line == '.. automodule:: spack\n')
print line,
# Enable todo items
todo_include_todos = True
@@ -87,14 +149,14 @@
source_suffix = '.rst'
# The encoding of source files.
#source_encoding = 'utf-8-sig'
source_encoding = 'utf-8-sig'
# The master toctree document.
master_doc = 'index'
# General information about the project.
project = u'Spack'
copyright = u'2013-2014, Lawrence Livermore National Laboratory'
copyright = u'2013-2015, 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
@@ -149,7 +211,7 @@
# Theme options are theme-specific and customize the look and feel of a theme
# further. For a list of options available for each theme, see the
# documentation.
#html_theme_options = []
html_theme_options = { 'logo_only' : True }
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = ["_themes"]
@@ -163,12 +225,12 @@
# The name of an image file (relative to this directory) to place at the top
# of the sidebar.
#html_logo = None
html_logo = '../../../share/spack/logo/spack-logo-white-text-48.png'
# The name of an image file (within the static path) to use as favicon of the
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
# pixels large.
#html_favicon = None
html_favicon = '../../../share/spack/logo/favicon.ico'
# Add any paths that contain custom static files (such as style sheets) here,
# relative to this directory. They are copied after the builtin static files,
@@ -203,7 +265,7 @@
#html_show_sourcelink = True
# If true, "Created using Sphinx" is shown in the HTML footer. Default is True.
#html_show_sphinx = True
#html_show_sphinx = False
# If true, "(C) Copyright ..." is shown in the HTML footer. Default is True.
#html_show_copyright = True

View File

@@ -0,0 +1,149 @@
.. _config-yaml:
====================================
Basic settings in ``config.yaml``
====================================
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.
.. _config-file-variables:
------------------------------
Config file variables
------------------------------
You may notice some variables prefixed with ``$`` in the settings above.
Spack understands several variables that can be used in values of
configuration parameters. They 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}``.
--------------------
``install_tree``
--------------------
The location where Spack will install packages and their dependencies.
Default is ``$spack/opt/spack``.
--------------------
``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 directories, and on many
systems the home directory a (slow) network filesystem. On most systems,
building in a temporary filesystem results in faster builds than building
in the home directory. Usually, there is also more space available in
the temporary location than in the home directory. So, Spack tries to
create build stages in temporary space.
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 totrack 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 purge --stage
<cmd-spack-purge>`.
.. 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 purge --downloads
<cmd-spack-purge>`.
--------------------
``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 purge --misc-cache <cmd-spack-purge>`.
--------------------
``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.
--------------------
``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`` setings 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.

View File

@@ -0,0 +1,253 @@
.. _configuration:
==============================
Configuration Files in Spack
==============================
Spack has many configuration files. Here is a quick list of them, in
case you want to skip directly to specific docs:
* :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>`
-------------------------
YAML Format
-------------------------
Spack configuration files are written in YAML. We chose YAML because
it's human readable, but also versatile in that it supports dictionaries,
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 files is nested under a top-level section
corresponding to its name. So, ``config.yaml`` starts with ``config:``,
and ``mirrors.yaml`` starts with ``mirrors:``, etc.
.. _configuration-scopes:
-------------------------
Configuration Scopes
-------------------------
Spack pulls configuration data from files in several directories. There
are three configuration scopes. From lowest to highest:
1. **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.
2. **site**: Stored in ``$(prefix)/etc/spack/``. Settings here affect
only *this instance* of Spack, and they override defaults. The site
scope can can be used for per-project settings (one spack instance per
project) or for site-wide settings on a multi-user machine (e.g., for
a common spack instance).
3. **user**: Stored in the home directory: ``~/.spack/``. These settings
affect all instances of Spack and take the highest precedence.
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.
.. _platform-scopes:
-------------------------
Platform-specific scopes
-------------------------
For each scope above, there can *also* be platform-specific settings.
For example, on Blue Gene/Q machines, Spack needs to know the location of
cross-compilers for the compute nodes. This configuration is in
``etc/spack/defaults/bgq/compilers.yaml``. It will take precedence over
settings in the ``defaults`` scope, but can still be overridden by
settings in ``site``, ``site/bgq``, ``user``, or ``user/bgq``. So, the
full scope precedence is:
1. ``defaults``
2. ``defaults/<platform>``
3. ``site``
4. ``site/<platform>``
5. ``user``
6. ``user/<platform>``
You can get the name to use for ``<platform>`` by running ``spack arch
--platform``.
-------------------------
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:
**defaults** scope:
.. code-block:: yaml
config:
install_tree: $spack/opt/spack
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
**site** scope:
.. code-block:: yaml
config:
install_tree: /some/other/directory
Spack will only override ``install_tree`` in the ``config`` section, and
will take the site preferences for other settings. You can see the
final, combined configuration with the ``spack config get <configtype>``
command:
.. code-block:: console
:emphasize-lines: 3
$ spack config get config
config:
install_tree: /some/other/directory
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
$ _
.. _config-overrides:
^^^^^^^^^^^^^^^^^^^^^^^^^^
Overriding entire sections
^^^^^^^^^^^^^^^^^^^^^^^^^^
Above, the site ``config.yaml`` only overrides specific settings in the
default ``config.yaml``. Sometimes, it is useful to *completely*
override lower-precedence settings. To do this, you can use *two* colons
at the end of a key in a configuration file. For example, if the
**site** ``config.yaml`` above looks like this:
.. code-block:: yaml
:emphasize-lines: 1
config::
install_tree: /some/other/directory
Spack will ignore all lower-precedence configuration under the
``config::`` section:
.. code-block:: console
$ spack config get config
config:
install_tree: /some/other/directory
^^^^^^^^^^^^^^^^^^^^^^
List-valued settings
^^^^^^^^^^^^^^^^^^^^^^
Let's revisit the ``config.yaml`` example one more time. The
``build_stage`` setting's value is an ordered list of directories:
**defaults**
.. code-block:: yaml
build_stage:
- $tempdir
- /nfs/tmp2/$user
Suppose the user configuration adds its *own* list of ``build_stage``
paths:
**user**
.. code-block:: yaml
build_stage:
- /lustre-scratch/$user
- ~/mystage
Spack will first look at the paths in the site ``config.yaml``, then the
paths in the user's ``~/.spack/config.yaml``. The list in the
higher-precedence scope is *prepended* to the defaults. ``spack config
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:
**user**
.. code-block:: yaml
:emphasize-lines: 1
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
$ _

View File

@@ -0,0 +1,522 @@
.. _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/LLNL/spack>`_.
----------------------
Continuous Integration
----------------------
Spack uses `Travis CI <https://travis-ci.org/LLNL/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.
If you take a look in ``$SPACK_ROOT/.travis.yml``, you'll notice that we test
against Python 2.6 and 2.7. 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 --collect-only
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 Coverage with the
percentage of Spack that is covered by unit tests. This script is
designed for Travis CI. If you want to run the unit tests yourself, we
suggest you use ``spack test``.
^^^^^^^^^^^^
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/LLNL/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 ``run-flake8-tests`` again
to update them.
.. tip::
Try fixing flake8 errors in reverse order. This eliminates the need for
multiple runs of ``flake8`` just to re-compute line numbers and makes it
much easier to fix errors directly off of the Travis output.
.. warning::
Flake8 requires setuptools in order to run. If you installed ``py-flake8``
with Spack, make sure to add ``py-setuptools`` to your ``PYTHONPATH``.
Otherwise, you will get an error message like:
.. 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
^^^^^^^^^^^^^^^^^^^
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
* graphviz
* git
* mercurial
* subversion
.. warning::
Sphinx has `several required dependencies <https://github.com/LLNL/spack/blob/develop/var/spack/repos/builtin/packages/py-sphinx/package.py>`_.
If you installed ``py-sphinx`` with Spack, make sure to add all of these
dependencies to your ``PYTHONPATH``. The easiest way to do this is to run
``spack activate py-sphinx`` so that all of the dependencies are symlinked
to a central location. If you see an error message like:
.. 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 Sphinx couldn't find setuptools 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 the Quality Assurance directory.
The only difference between running this script and running ``make`` by hand
is that the script will exit immediately if it encounters an error or warning.
This is necessary for Travis CI. If you made a lot of documentation tests, 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.
-------------
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,8 @@
.. _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 +12,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 +43,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,61 +65,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
var/
spack/ <- build & stage directories
opt/
spack/ <- packages are installed here
lib/
spack/
docs/ <- source for this documentation
env/ <- compiler wrappers for build environment
.. code-block:: none
spack/ <- spack module; contains Python code
cmd/ <- each file in here is a spack subcommand
compilers/ <- compiler description files
packages/ <- each file in here is a spack package
test/ <- unit test modules
util/ <- common code
spack/ <- installation root
bin/
spack <- main spack executable
etc/
spack/ <- Spack config files.
Can be overridden by files in ~/.spack.
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
opt/
spack/ <- packages are installed here
lib/
spack/
docs/ <- source for this documentation
env/ <- compiler wrappers for build environment
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.
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
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
@@ -144,9 +160,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
@@ -194,9 +210,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.
@@ -210,15 +226,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
@@ -228,78 +246,100 @@ 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
-------------------------
----------------
----------
Unit tests
-------------------------
----------
------------
Unit testing
-------------------------
------------
------------------
Developer commands
-------------------------
------------------
^^^^^^^^^^^^^
``spack doc``
~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^
^^^^^^^^^^^^^^
``spack test``
~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^
---------
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

@@ -1,27 +1,3 @@
##############################################################################
# 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://scalability-llnl.github.io/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

View File

@@ -1,27 +1,3 @@
##############################################################################
# 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://scalability-llnl.github.io/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.

View File

@@ -1,29 +1,32 @@
Feature overview
==================
================
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
@@ -31,46 +34,55 @@ platform, all on the command line.
# Specify a compiler (and its version), with %
$ spack install mpileaks@1.1.2 %gcc@4.7.3
# Add special compile-time options with +
# Add special compile-time options by name
$ spack install mpileaks@1.1.2 %gcc@4.7.3 debug=True
# Add special boolean compile-time options with +
$ spack install mpileaks@1.1.2 %gcc@4.7.3 +debug
# Cross-compile for a different architecture with =
$ spack install mpileaks@1.1.2 =bgqos_0
# Add compiler flags using the conventional names
$ spack install mpileaks@1.1.2 %gcc@4.7.3 cppflags="-O3 -floop-block"
Users can specify as many or few options as they care about. Spack
will fill in the unspecified values with sensible defaults.
# Cross-compile for a different architecture with arch=
$ spack install mpileaks@1.1.2 arch=bgqos_0
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
@@ -79,7 +91,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
@@ -89,21 +101,31 @@ 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/packages/libelf/package.py
.. literalinclude:: ../../../var/spack/repos/builtin/packages/libelf/package.py
:lines: 25-
Spack also provides wrapper functions around common commands like

File diff suppressed because it is too large Load Diff

View File

@@ -3,8 +3,9 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
===================
Spack Documentation
=================================
===================
Spack is a package management tool designed to support multiple
versions and configurations of software on a wide variety of platforms
@@ -18,41 +19,58 @@ configurations can coexist on the same system.
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 writtin in pure Python, and specs allow package authors to write a
single build script for many different builds of the same package.
are written in pure Python, and specs allow package authors to
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/scalability-llnl/spack>`_ and install your first
<https://github.com/llnl/spack>`_ and install your first
package:
.. code-block:: sh
.. code-block:: console
$ git clone https://github.com/scalability-llnl/spack.git
$ git clone https://github.com/llnl/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
workflows
tutorial_sc16
.. toctree::
:maxdepth: 2
:caption: Reference
configuration
config_yaml
build_settings
mirrors
site_configuration
developer_guide
module_file_support
repositories
command_index
package_list
.. toctree::
:maxdepth: 2
:caption: Contributing
contribution_guide
packaging_guide
developer_guide
API Docs <spack>
==================
Indices and tables
==================

View File

@@ -1,7 +1,8 @@
.. _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 +11,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
@@ -38,7 +41,7 @@ contains tarballs for each package, named after each package.
.. note::
Archives are **not** named exactly they were in the package's fetch
Archives are **not** named exactly the way they were in the package's fetch
URL. They have the form ``<name>-<version>.<extension>``, where
``<name>`` is Spack's name for the package, ``<version>`` is the
version of the tarball, and ``<extension>`` is whatever format the
@@ -49,27 +52,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.
@@ -79,8 +71,9 @@ control the URL(s) from which Spack downloads its packages.
.. _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 +82,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 +116,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,7 +148,7 @@ 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
@@ -158,60 +156,90 @@ your site.
.. _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 file, you can use a file URL like this one:
file:///Users/gamblin2/spack-mirror-2014-06-24
.. code-block:: none
file://~/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://~/spack-mirror-2014-06-24
Each mirror has a name so that you can refer to it again later.
.. _spack-mirror-list:
---------------------
``spack mirror list``
----------------------------
---------------------
If you want to see all the mirrors Spack knows about you can 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://~/spack-mirror-2014-06-24
.. _spack-mirror-remove:
-----------------------
``spack mirror remove``
----------------------------
-----------------------
And, if you want to remove a mirror, just remove it 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 just adds a section in ``~/.spackconfig``::
Adding a mirror really adds a line in ``~/.spack/mirrors.yaml``:
[mirror "local_filesystem"]
url = file:///Users/gamblin2/spack-mirror-2014-06-24
[mirror "remote_server"]
url = https://example.com/some/web-hosted/directory/spack-mirror-2014-06-24
.. code-block:: yaml
mirrors:
local_filesystem: file://~/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
packages, you can edit this file and reorder the sections. Spack will
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 <cmd-spack-purge>`; 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
for SVN) will be cached.

View File

@@ -0,0 +1,682 @@
.. _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 provides integration 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:
* generating module files after a successful installation
* providing commands that can leverage the spec syntax to manipulate modules
In the following you will see how to activate shell support for commands in Spack
that requires it, and discover what benefits this may bring with respect to deal
directly with automatically generated module files.
.. 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:
-------------
Shell support
-------------
You can enable shell support by sourcing the appropriate setup file
in the ``$SPACK_ROOT/share/spack`` directory.
For ``bash`` or ``ksh`` users:
.. code-block:: console
$ . ${SPACK_ROOT}/share/spack/setup-env.sh
For ``csh`` and ``tcsh`` instead:
.. code-block:: console
$ source $SPACK_ROOT/share/spack/setup-env.csh
.. note::
You can put the source line in your ``.bashrc`` or ``.cshrc`` to
have Spack's shell support available on the command line at any login.
----------------------------
Using module files via Spack
----------------------------
If you have shell support enabled you should be able to run either
``module avail`` or ``use -l spack`` to see what module/dotkit 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-debian7-x86_64 --------
adept-utils@1.0%gcc@4.4.7-5adef8da libelf@0.8.13%gcc@4.4.7
automaded@1.0%gcc@4.4.7-d9691bb0 libelf@0.8.13%intel@15.0.0
boost@1.55.0%gcc@4.4.7 mpc@1.0.2%gcc@4.4.7-559607f5
callpath@1.0.1%gcc@4.4.7-5dce4318 mpfr@3.1.2%gcc@4.4.7
dyninst@8.1.2%gcc@4.4.7-b040c20e mpich@3.0.4%gcc@4.4.7
gcc@4.9.1%gcc@4.4.7-93ab98c5 mpich@3.0.4%gcc@4.9.0
gmp@6.0.0a%gcc@4.4.7 mrnet@4.1.0%gcc@4.4.7-72b7881d
graphlib@2.0.0%gcc@4.4.7 netgauge@2.4.6%gcc@4.9.0-27912b7b
launchmon@1.0.1%gcc@4.4.7 stat@2.1.0%gcc@4.4.7-51101207
libNBC@1.1.1%gcc@4.9.0-27912b7b sundials@2.5.0%gcc@4.9.0-27912b7b
libdwarf@20130729%gcc@4.4.7-b52fac98
.. code-block:: console
$ use -l spack
spack ----------
adept-utils@1.0%gcc@4.4.7-5adef8da - adept-utils @1.0
automaded@1.0%gcc@4.4.7-d9691bb0 - automaded @1.0
boost@1.55.0%gcc@4.4.7 - boost @1.55.0
callpath@1.0.1%gcc@4.4.7-5dce4318 - callpath @1.0.1
dyninst@8.1.2%gcc@4.4.7-b040c20e - dyninst @8.1.2
gmp@6.0.0a%gcc@4.4.7 - gmp @6.0.0a
libNBC@1.1.1%gcc@4.9.0-27912b7b - libNBC @1.1.1
libdwarf@20130729%gcc@4.4.7-b52fac98 - libdwarf @20130729
libelf@0.8.13%gcc@4.4.7 - libelf @0.8.13
libelf@0.8.13%intel@15.0.0 - libelf @0.8.13
mpc@1.0.2%gcc@4.4.7-559607f5 - mpc @1.0.2
mpfr@3.1.2%gcc@4.4.7 - mpfr @3.1.2
mpich@3.0.4%gcc@4.4.7 - mpich @3.0.4
mpich@3.0.4%gcc@4.9.0 - mpich @3.0.4
netgauge@2.4.6%gcc@4.9.0-27912b7b - netgauge @2.4.6
sundials@2.5.0%gcc@4.9.0-27912b7b - sundials @2.5.0
The names here should look familiar, they're the same ones from
``spack find``. You *can* use the names here directly. For example,
you could type either of these commands to load the callpath module:
.. code-block:: console
$ use callpath@1.0.1%gcc@4.4.7-5dce4318
.. code-block:: console
$ module load callpath@1.0.1%gcc@4.4.7-5dce4318
.. _cmd-spack-load:
^^^^^^^^^^^^^^^^^^^^^^^
``spack load / unload``
^^^^^^^^^^^^^^^^^^^^^^^
Neither of these is particularly pretty, easy to remember, or
easy to type. Luckily, Spack has its own interface for using modules
and dotkits. You can use the same spec syntax you're used to:
========================= ==========================
Environment 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, 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
Prepending: mpich@3.0.4%gcc@4.4.7 (ok)
$ which mpicc
~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/mpich@3.0.4/bin/mpicc
Or, similarly with modules, you could type:
.. code-block:: console
$ spack load mpich %gcc@4.4.7
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 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 loads --dependencies <spec>
An equivalent alternative is:
.. code-block :: console
$ source <( spack module loads --dependencies <spec> )
.. warning::
The ``spack load`` command does not currently accept the
``--dependencies`` flag. Use ``spack module loads`` instead, for
now.
.. See #1662
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Module Commands for Shell Scripts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Although Spack is flexible, the ``module`` command is much faster.
This could become an issue when emitting a series of ``spack load``
commands inside a shell script. By adding the ``--shell`` flag,
``spack module find`` may also be used to generate code that can be
cut-and-pasted into a shell script. For example:
.. code-block:: console
$ spack module 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 loads`` needs to know about that prefix when it
issues ``module load`` commands. Add the ``--prefix`` option to your
``spack module loads`` commands if this is necessary.
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 loads antlr # WRONG!
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module loads --prefix linux-SuSE11-x86_64/ antlr
# 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
----------------------------
Auto-generating Module Files
----------------------------
Module files are generated by post-install hooks after the successful
installation of a package. The following table summarizes the essential
information associated with the different file formats
that can be generated by Spack:
+-----------------------------+--------------------+-------------------------------+----------------------+
| | **Hook name** | **Default root directory** | **Compatible tools** |
+=============================+====================+===============================+======================+
| **Dotkit** | ``dotkit`` | share/spack/dotkit | DotKit |
+-----------------------------+--------------------+-------------------------------+----------------------+
| **TCL - Non-Hierarchical** | ``tcl`` | share/spack/modules | Env. Modules/LMod |
+-----------------------------+--------------------+-------------------------------+----------------------+
| **Lua - Hierarchical** | ``lmod`` | share/spack/lmod | LMod |
+-----------------------------+--------------------+-------------------------------+----------------------+
Though Spack ships with sensible defaults for the generation of module files,
one can customize many aspects of it to accommodate package or site specific needs.
These customizations are enabled by either:
1. overriding certain callback APIs in the Python packages
2. writing specific rules in the ``modules.yaml`` configuration file
The former method fits best cases that are site independent, e.g. injecting variables
from language interpreters into their extensions. The latter instead permits to
fine tune the content, naming and creation of module files to meet site specific conventions.
^^^^^^^^^^^^^^^^^^^^
``Package`` file API
^^^^^^^^^^^^^^^^^^^^
There are two methods that can be overridden in any ``package.py`` to affect the
content of generated module files. The first one is:
.. code-block:: python
def setup_environment(self, spack_env, run_env):
"""Set up the compile and runtime environments for a package."""
pass
and can alter the content of *the same package where it is overridden*
by adding actions to ``run_env``. The second method is:
.. 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
and has similar effects on module file of dependees. Even in this case
``run_env`` must be filled with the desired list of environment modifications.
.. note::
The ``r`` package and callback APIs
A typical example in which overriding both methods prove to be useful
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
:lines: 128-129,146-151
.. _modules-yaml:
---------------------------------
Configuration in ``modules.yaml``
---------------------------------
The name of the configuration file that controls module generation behavior
is ``modules.yaml``. The default configuration:
.. literalinclude:: ../../../etc/spack/defaults/modules.yaml
:language: yaml
activates generation for ``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.
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Activation of other systems
^^^^^^^^^^^^^^^^^^^^^^^^^^^
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 activated by default is ``lmod``, which produces hierarchical lua module files.
For each module system that can be enabled a finer configuration is possible.
Directives that are aimed at driving the generation of a particular type of module files
should be listed under a top level key that corresponds 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
All these module sections allow for both:
1. global directives that usually affect the whole layout of modules or the naming scheme
2. directives that affect only a set of packages and modify their content
For the latter point in particular it is possible to use anonymous specs
to select an appropriate set of packages on which the modifications should be applied.
.. _anonymous_specs:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Selection by anonymous specs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The procedure to select packages using anonymous specs is a natural
extension of using them to install packages, the only difference being
that specs in this case **are not required to have a root package**.
Consider for instance this snippet:
.. 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
During module file generation, the configuration above will instruct
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 the generation of specific module files
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Anonymous specs are also used to prevent module files from being written or
to force them to be written. A common case for that at HPC centers is to hide
from users all of the software that needs to be built with system compilers.
Suppose for instance to have ``gcc@4.4.7`` provided by your system. Then
with a configuration file like this one:
.. 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 skip the generation of module files for any package that
is compiled with ``gcc@4.4.7``, with the exception of any ``gcc``
or any ``llvm`` installation.
^^^^^^^^^^^^^^^^^^^^^^^^^^^
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 generated hierarchy always contains the
three layers ``Core`` / ``Compiler`` / ``MPI`` but can be further extended to
any other virtual dependency 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']
hierarchical_scheme: ['lapack']
that will generate a hierarchy in which the ``lapack`` layer is treated as the ``mpi``
one. 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 generated by
default, for instance by prefix inspections in the default configuration file.
There are cases though where some of these modifications are unwanted.
Suppose you need to avoid having ``CPATH`` and ``LIBRARY_PATH``
modified by your ``dotkit`` modules:
.. 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 directly autoload
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
automatically load their direct dependencies. 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
------------------------
Spack not only provides great flexibility in the generation of module files
and in the customization of both their layout and content, but also ships with
a tool to ease the burden of their maintenance in production environments.
This tool is the ``spack module`` command:
.. command-output:: spack module --help
.. _cmd-spack-module-refresh:
^^^^^^^^^^^^^^^^^^^^^^^^
``spack module refresh``
^^^^^^^^^^^^^^^^^^^^^^^^
The command that regenerates module files to update their content or
their layout is ``module refresh``:
.. command-output:: spack module refresh --help
A set of packages can be selected using anonymous specs for the optional
``constraint`` positional argument. The argument ``--module-type`` identifies
the type of module files to refresh. Optionally the entire tree can be deleted
before regeneration if the change in layout is radical.
.. _cmd-spack-module-rm:
^^^^^^^^^^^^^^^^^^^
``spack module rm``
^^^^^^^^^^^^^^^^^^^
If instead what you need is just to delete a few module files, then the right
command is ``module rm``:
.. command-output:: spack module 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.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,456 @@
.. _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.repository` 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

@@ -1,187 +0,0 @@
.. _site-configuration:
Site configuration
===================================
.. _temp-space:
Temporary space
----------------------------
.. warning:: Temporary space configuration will eventually be moved to
configuration files, but currently these settings are in
``lib/spack/spack/__init__.py``
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.
.. _concretization-policies:
Concretization policies
----------------------------
When a user asks for a package like ``mpileaks`` to be installed,
Spack has to make decisions like what version should be installed,
what compiler to use, and how its dependencies should be configured.
This process is called *concretization*, and it's covered in detail in
:ref:`its own section <abstract-and-concrete>`.
The default concretization policies are in the
:py:mod:`spack.concretize` module, specifically in the
:py:class:`spack.concretize.DefaultConcretizer` class. These are the
important methods used in the concretization process:
* :py:meth:`concretize_version(self, spec) <spack.concretize.DefaultConcretizer.concretize_version>`
* :py:meth:`concretize_architecture(self, spec) <spack.concretize.DefaultConcretizer.concretize_architecture>`
* :py:meth:`concretize_compiler(self, spec) <spack.concretize.DefaultConcretizer.concretize_compiler>`
* :py:meth:`choose_provider(self, spec, providers) <spack.concretize.DefaultConcretizer.choose_provider>`
The first three take a :py:class:`Spec <spack.spec.Spec>` object and
modify it by adding constraints for the version. For example, if the
input spec had a version range like `1.0:5.0.3`, then the
``concretize_version`` method should set the spec's version to a
*single* version in that range. Likewise, ``concretize_architecture``
selects an architecture when the input spec does not have one, and
``concretize_compiler`` needs to set both a concrete compiler and a
concrete compiler version.
``choose_provider()`` affects how concrete implementations are chosen
based on a virtual dependency spec. The input spec is some virtual
dependency and the ``providers`` index is a :py:class:`ProviderIndex
<spack.packages.ProviderIndex>` object. The ``ProviderIndex`` maps
the virtual spec to specs for possible implementations, and
``choose_provider()`` should simply choose one of these. The
``concretize_*`` methods will be called on the chosen implementation
later, so there is no need to fully concretize the spec when returning
it.
The ``DefaultConcretizer`` is intended to provide sensible defaults
for each policy, but there are certain choices that it can't know
about. For example, one site might prefer ``OpenMPI`` over ``MPICH``,
or another might prefer an old version of some packages. These types
of special cases can be integrated with custom concretizers.
Writing a custom concretizer
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To write your own concretizer, you need only subclass
``DefaultConcretizer`` and override the methods you want to change.
For example, you might write a class like this to change *only* the
``concretize_version()`` behavior:
.. code-block:: python
from spack.concretize import DefaultConcretizer
class MyConcretizer(DefaultConcretizer):
def concretize_version(self, spec):
# implement custom logic here.
Once you have written your custom concretizer, you can make Spack use
it by editing ``globals.py``. Find this part of the file:
.. code-block:: python
#
# This controls how things are concretized in spack.
# Replace it with a subclass if you want different
# policies.
#
concretizer = DefaultConcretizer()
Set concretizer to *your own* class instead of the default:
.. code-block:: python
concretizer = MyConcretizer()
The next time you run Spack, your changes should take effect.
Profiling
~~~~~~~~~~~~~~~~~~~~~
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.
.. _spack-p:
``spack -p``
^^^^^^^^^^^^^^^^^^
``spack -p`` output looks like this:
.. code-block:: sh
$ spack -p graph dyninst
o dyninst
|\
| |\
| o | libdwarf
|/ /
o | libelf
/
o boost
307670 function calls (305943 primitive calls) in 0.127 seconds
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}
...
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,63 @@
##############################################################################
# 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
# 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
##############################################################################
#
# This is a template package file for Spack. We've put "FIXME"
# next to all the things you'll want to change. Once you've handled
# them, you can save this file and test your package like this:
#
# spack install mpileaks
#
# You can edit this file again by typing:
#
# spack edit mpileaks
#
# See the Spack documentation for more information on packaging.
# If you submit this package back to Spack as a pull request,
# please first remove this boilerplate and all FIXME comments.
#
from spack import *
class Mpileaks(AutotoolsPackage):
"""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 = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
# FIXME: Add dependencies if required.
# depends_on('m4', type='build')
# depends_on('autoconf', type='build')
# depends_on('automake', type='build')
# depends_on('libtool', type='build')
# depends_on('foo')
def configure_args(self):
# FIXME: Add arguments other than --prefix
# FIXME: If not needed delete the function
args = []
return args

View File

@@ -0,0 +1,48 @@
##############################################################################
# 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
# 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
##############################################################################
from spack import *
class Mpileaks(AutotoolsPackage):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
# FIXME: Add dependencies if required.
# depends_on('m4', type='build')
# depends_on('autoconf', type='build')
# depends_on('automake', type='build')
# depends_on('libtool', type='build')
# depends_on('foo')
def configure_args(self):
# FIXME: Add arguments other than --prefix
# FIXME: If not needed delete the function
args = []
return args

View File

@@ -0,0 +1,45 @@
##############################################################################
# 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
# 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
##############################################################################
from spack import *
class Mpileaks(AutotoolsPackage):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
depends_on('mpi')
depends_on('adept-utils')
depends_on('callpath')
def configure_args(self):
# FIXME: Add arguments other than --prefix
# FIXME: If not needed delete the function
args = []
return args

View File

@@ -0,0 +1,43 @@
##############################################################################
# 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
# 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
##############################################################################
from spack import *
class Mpileaks(AutotoolsPackage):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
depends_on('mpi')
depends_on('adept-utils')
depends_on('callpath')
def configure_args(self):
args = ['--with-adept-utils=%s' % self.spec['adept-utils'].prefix,
'--with-callpath=%s' % self.spec['callpath'].prefix]
return args

View File

@@ -0,0 +1,50 @@
##############################################################################
# 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
# 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
##############################################################################
from spack import *
class Mpileaks(AutotoolsPackage):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
variant('stackstart', default=0, description='Specify the number of stack frames to truncate.')
depends_on('mpi')
depends_on('adept-utils')
depends_on('callpath')
def configure_args(self):
args = ['--with-adept-utils=%s' % self.spec['adept-utils'].prefix,
'--with-callpath=%s' % self.spec['callpath'].prefix]
stackstart = int(self.spec.variants['stackstart'].value)
if stackstart:
args.extend(['--with-stack-start-c=%s' % stackstart,
'--with-stack-start-fortran=%s' % stackstart])
return args

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

View File

@@ -0,0 +1,48 @@
.. _spack-101:
=============================
Tutorial: Spack 101
=============================
This is a 3-hour introduction to Spack with lectures and live demos. It
was presented as a tutorial at `Supercomputing 2016
<http://sc16.supercomputing.org>`_. You can use these materials to teach
a course on Spack at your own site, or you can just skip ahead and read
the live demo scripts to see how Spack is used in practice.
.. _sc16-slides:
.. rubric:: Slides
.. figure:: tutorial/sc16-tutorial-slide-preview.png
:target: http://llnl.github.io/spack/files/Spack-SC16-Tutorial.pdf
:height: 72px
:align: left
:alt: Slide Preview
`Download Slides <http://llnl.github.io/spack/files/Spack-SC16-Tutorial.pdf>`_.
**Full citation:** Todd Gamblin, Massimiliano Culpo, Gregory Becker, Matt
Legendre, Greg Lee, Elizabeth Fischer, and Benedikt Hegner.
`Managing HPC Software Complexity with Spack
<http://sc16.supercomputing.org/presentation/?id=tut166&sess=sess209>`_.
Tutorial presented at Supercomputing 2016. November 13, 2016, Salt Lake
City, UT, USA.
.. _sc16-live-demos:
.. rubric:: Live Demos
These scripts will take you step-by-step through basic Spack tasks. They
correspond to sections in the slides above.
1. :ref:`basics-tutorial`
2. :ref:`packaging-tutorial`
3. :ref:`modules-tutorial`
Full contents:
.. toctree::
tutorial_sc16_spack_basics
tutorial_sc16_packaging
tutorial_sc16_modules

View File

@@ -0,0 +1,982 @@
.. _modules-tutorial:
=============================
Module Configuration Tutorial
=============================
This tutorial will guide you through the customization of both
content and naming of module files generated by Spack.
Starting from the default Spack settings you will add an increasing
number of directives to the ``modules.yaml`` configuration file to
satisfy a number of constraints that mimic those that you may encounter
in a typical production environment at HPC sites.
Even though the focus will be for the most part on customizing
TCL non-hierarchical module files, everything
you'll see applies also to other kinds of module files generated by Spack.
The generation of Lua hierarchical
module files will be addressed at the end of the tutorial,
and you'll see that with minor modifications
to an existing ``modules.yaml`` written for TCL
non-hierarchical modules you'll get almost
for free the possibility to try a hierarchical layout.
Let's start!
.. _module_file_tutorial_prerequisites:
-------------
Prerequisites
-------------
Before proceeding further ensure:
- you have LMod or Environment Modules available
- have :ref:`shell support <shell-support>` activated in Spack
If you need to install Lmod or Environment module you can refer
to the documentation :ref:`here <InstallEnvironmentModules>`.
^^^^^^^^^^^^^^^^^^
Add a new compiler
^^^^^^^^^^^^^^^^^^
Spack automatically scans the environment to search for available
compilers on first use. On a Ubuntu 14.04 a fresh clone will show
something like this:
.. code-block:: console
$ uname -a
Linux nuvolari 4.4.0-45-generic #66~14.04.1-Ubuntu SMP Wed Oct 19 15:05:38 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
$ spack compilers
==> Available compilers
-- gcc ----------------------------------------------------------
gcc@4.8
For the purpose of building a limited set of packages with some features
that will help showcasing the capabilities of
module customization the first thing we need is to build a new compiler:
.. code-block:: console
$ spack install gcc@6.2.0
# ...
# Wait a long time
# ...
Then we can use shell support for modules to add it to the list of known compilers:
.. code-block:: console
# The name of the generated module may vary
$ module load gcc-6.2.0-gcc-4.8-twd5nqg
$ spack compiler add
==> Added 1 new compiler to ~/.spack/linux/compilers.yaml
gcc@6.2.0
$ spack compilers
==> Available compilers
-- gcc ----------------------------------------------------------
gcc@6.2.0 gcc@4.8
Note that the final 7 digits hash at the end of the generated module may vary depending
on architecture or package version.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Build software that will be used in the tutorial
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Next you should install a few modules that will be used in the tutorial:
.. code-block:: console
$ spack install netlib-scalapack ^openmpi ^openblas
# ...
The packages you need to install are:
- ``netlib-scalapack ^openmpi ^openblas``
- ``netlib-scalapack ^mpich ^openblas``
- ``netlib-scalapack ^openmpi ^netlib-lapack``
- ``netlib-scalapack ^mpich ^netlib-lapack``
- ``py-scipy ^openblas``
In the end your environment should look something like:
.. code-block:: console
$ module avail
------------------------------------------------------------------------ ~/spack/share/spack/modules/linux-Ubuntu14-x86_64 ------------------------------------------------------------------------
binutils-2.27-gcc-4.8-dz3xevw libpciaccess-0.13.4-gcc-6.2.0-eo2siet lzo-2.09-gcc-6.2.0-jcngz72 netlib-scalapack-2.0.2-gcc-6.2.0-wnimqhw python-2.7.12-gcc-6.2.0-qu7rc5p
bzip2-1.0.6-gcc-6.2.0-csoc2mq libsigsegv-2.10-gcc-4.8-avb6azw m4-1.4.17-gcc-4.8-iggewke netlib-scalapack-2.0.2-gcc-6.2.0-wojunhq sqlite-3.8.5-gcc-6.2.0-td3zfe7
cmake-3.5.2-gcc-6.2.0-6poypqg libsigsegv-2.10-gcc-6.2.0-g3qpmbi m4-1.4.17-gcc-6.2.0-lhgqa6s nettle-3.2-gcc-6.2.0-djdthlh tcl-8.6.5-gcc-4.8-atddxu7
curl-7.50.3-gcc-6.2.0-2ffacqm libtool-2.4.6-gcc-6.2.0-kiepac6 mpc-1.0.3-gcc-4.8-lylv7lk openblas-0.2.19-gcc-6.2.0-js33umc util-macros-1.19.0-gcc-6.2.0-uoukuqk
expat-2.2.0-gcc-6.2.0-bxqnjar libxml2-2.9.4-gcc-6.2.0-3k4ykbe mpfr-3.1.4-gcc-4.8-bldfx3w openmpi-2.0.1-gcc-6.2.0-s3qbtby xz-5.2.2-gcc-6.2.0-t5lk6in
gcc-6.2.0-gcc-4.8-twd5nqg lmod-6.4.5-gcc-4.8-7v7bh7b mpich-3.2-gcc-6.2.0-5n5xoep openssl-1.0.2j-gcc-6.2.0-hibnfda zlib-1.2.8-gcc-4.8-bds4ies
gmp-6.1.1-gcc-4.8-uq52e2n lua-5.3.2-gcc-4.8-xozf2hx ncurses-6.0-gcc-4.8-u62fit4 pkg-config-0.29.1-gcc-6.2.0-rslsgcs zlib-1.2.8-gcc-6.2.0-asydrba
gmp-6.1.1-gcc-6.2.0-3cfh3hi lua-luafilesystem-1_6_3-gcc-4.8-sbzejlz ncurses-6.0-gcc-6.2.0-7tb426s py-nose-1.3.7-gcc-6.2.0-4gl5c42
hwloc-1.11.4-gcc-6.2.0-3ostwel lua-luaposix-33.4.0-gcc-4.8-xf7y2p5 netlib-lapack-3.6.1-gcc-6.2.0-mirer2l py-numpy-1.11.1-gcc-6.2.0-i3rpk4e
isl-0.14-gcc-4.8-cq73t5m lz4-131-gcc-6.2.0-cagoem4 netlib-scalapack-2.0.2-gcc-6.2.0-6bqlxqy py-scipy-0.18.1-gcc-6.2.0-e6uljfi
libarchive-3.2.1-gcc-6.2.0-2b54aos lzma-4.32.7-gcc-6.2.0-sfmeynw netlib-scalapack-2.0.2-gcc-6.2.0-hpqb3dp py-setuptools-25.2.0-gcc-6.2.0-hkqauaa
------------------------------------------------
Filter unwanted modifications to the environment
------------------------------------------------
The non-hierarchical TCL module files that have been generated so far
follow the default rules for module generation, which are given
:ref:`here <modules-yaml>` in the reference part of the manual. Taking a
look at the ``gcc`` module you'll see something like:
.. code-block:: console
$ module show gcc-6.2.0-gcc-4.8-twd5nqg
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
~/spack/share/spack/modules/linux-Ubuntu14-x86_64/gcc-6.2.0-gcc-4.8-twd5nqg:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
whatis("gcc @6.2.0 ")
prepend_path("PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/bin")
prepend_path("CMAKE_PREFIX_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/")
prepend_path("MANPATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/share/man")
prepend_path("PKG_CONFIG_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/lib64/pkgconfig")
prepend_path("LIBRARY_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/lib64")
prepend_path("LD_LIBRARY_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/lib64")
prepend_path("CPATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/include")
help([[The GNU Compiler Collection includes front ends for C, C++, Objective-C,
Fortran, and Java.
]])
As expected, a few environment variables representing paths will be modified
by the modules according to the default prefix inspection rules.
Consider now the case that your site has decided that e.g. ``CPATH`` and
``LIBRARY_PATH`` modifications should not be present in module files. What you can
do to abide by the rules is to create a configuration file ``~/.spack/modules.yaml``
with the following content:
.. code-block:: yaml
modules:
tcl:
all:
filter:
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
Next you should regenerate all the module files:
.. code-block:: console
$ spack module refresh --module-type tcl
==> You are about to regenerate tcl module files for:
-- linux-Ubuntu14-x86_64 / gcc@4.8 ------------------------------
dz3xevw binutils@2.27 uq52e2n gmp@6.1.1 avb6azw libsigsegv@2.10 xozf2hx lua@5.3.2 xf7y2p5 lua-luaposix@33.4.0 lylv7lk mpc@1.0.3 u62fit4 ncurses@6.0 bds4ies zlib@1.2.8
twd5nqg gcc@6.2.0 cq73t5m isl@0.14 7v7bh7b lmod@6.4.5 sbzejlz lua-luafilesystem@1_6_3 iggewke m4@1.4.17 bldfx3w mpfr@3.1.4 atddxu7 tcl@8.6.5
...
==> Do you want to proceed ? [y/n]
y
==> Regenerating tcl module files
If you take a look now at the module for ``gcc`` you'll see that the unwanted
paths have disappeared:
.. code-block:: console
$ module show gcc-6.2.0-gcc-4.8-twd5nqg
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
~/spack/share/spack/modules/linux-Ubuntu14-x86_64/gcc-6.2.0-gcc-4.8-twd5nqg:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
whatis("gcc @6.2.0 ")
prepend_path("PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/bin")
prepend_path("CMAKE_PREFIX_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/")
prepend_path("MANPATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/share/man")
prepend_path("PKG_CONFIG_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/lib64/pkgconfig")
prepend_path("LD_LIBRARY_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/lib64")
help([[The GNU Compiler Collection includes front ends for C, C++, Objective-C,
Fortran, and Java.
]])
----------------------------------------------
Prevent some module files from being generated
----------------------------------------------
Another common request at many sites is to avoid exposing software that
is only needed as an intermediate step when building a newer stack.
Let's try to prevent the generation of
module files for anything that is compiled with ``gcc@4.8`` (the OS provided compiler).
To do this you should add a ``blacklist`` keyword to the configuration file:
.. code-block:: yaml
:emphasize-lines: 3,4
modules:
tcl:
blacklist:
- '%gcc@4.8'
all:
filter:
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
and regenerate the module files:
.. code-block:: console
$ spack module refresh --module-type tcl --delete-tree
==> You are about to regenerate tcl module files for:
-- linux-Ubuntu14-x86_64 / gcc@4.8 ------------------------------
dz3xevw binutils@2.27 uq52e2n gmp@6.1.1 avb6azw libsigsegv@2.10 xozf2hx lua@5.3.2 xf7y2p5 lua-luaposix@33.4.0 lylv7lk mpc@1.0.3 u62fit4 ncurses@6.0 bds4ies zlib@1.2.8
twd5nqg gcc@6.2.0 cq73t5m isl@0.14 7v7bh7b lmod@6.4.5 sbzejlz lua-luafilesystem@1_6_3 iggewke m4@1.4.17 bldfx3w mpfr@3.1.4 atddxu7 tcl@8.6.5
-- linux-Ubuntu14-x86_64 / gcc@6.2.0 ----------------------------
csoc2mq bzip2@1.0.6 2b54aos libarchive@3.2.1 sfmeynw lzma@4.32.7 wnimqhw netlib-scalapack@2.0.2 s3qbtby openmpi@2.0.1 hkqauaa py-setuptools@25.2.0
6poypqg cmake@3.5.2 eo2siet libpciaccess@0.13.4 jcngz72 lzo@2.09 6bqlxqy netlib-scalapack@2.0.2 hibnfda openssl@1.0.2j qu7rc5p python@2.7.12
2ffacqm curl@7.50.3 g3qpmbi libsigsegv@2.10 lhgqa6s m4@1.4.17 wojunhq netlib-scalapack@2.0.2 rslsgcs pkg-config@0.29.1 td3zfe7 sqlite@3.8.5
bxqnjar expat@2.2.0 kiepac6 libtool@2.4.6 5n5xoep mpich@3.2 hpqb3dp netlib-scalapack@2.0.2 4gl5c42 py-nose@1.3.7 uoukuqk util-macros@1.19.0
3cfh3hi gmp@6.1.1 3k4ykbe libxml2@2.9.4 7tb426s ncurses@6.0 djdthlh nettle@3.2 i3rpk4e py-numpy@1.11.1 t5lk6in xz@5.2.2
3ostwel hwloc@1.11.4 cagoem4 lz4@131 mirer2l netlib-lapack@3.6.1 js33umc openblas@0.2.19 e6uljfi py-scipy@0.18.1 asydrba zlib@1.2.8
==> Do you want to proceed ? [y/n]
y
$ module avail
------------------------------------------------------------------------ ~/spack/share/spack/modules/linux-Ubuntu14-x86_64 ------------------------------------------------------------------------
bzip2-1.0.6-gcc-6.2.0-csoc2mq libsigsegv-2.10-gcc-6.2.0-g3qpmbi ncurses-6.0-gcc-6.2.0-7tb426s openmpi-2.0.1-gcc-6.2.0-s3qbtby sqlite-3.8.5-gcc-6.2.0-td3zfe7
cmake-3.5.2-gcc-6.2.0-6poypqg libtool-2.4.6-gcc-6.2.0-kiepac6 netlib-lapack-3.6.1-gcc-6.2.0-mirer2l openssl-1.0.2j-gcc-6.2.0-hibnfda util-macros-1.19.0-gcc-6.2.0-uoukuqk
curl-7.50.3-gcc-6.2.0-2ffacqm libxml2-2.9.4-gcc-6.2.0-3k4ykbe netlib-scalapack-2.0.2-gcc-6.2.0-6bqlxqy pkg-config-0.29.1-gcc-6.2.0-rslsgcs xz-5.2.2-gcc-6.2.0-t5lk6in
expat-2.2.0-gcc-6.2.0-bxqnjar lz4-131-gcc-6.2.0-cagoem4 netlib-scalapack-2.0.2-gcc-6.2.0-hpqb3dp py-nose-1.3.7-gcc-6.2.0-4gl5c42 zlib-1.2.8-gcc-6.2.0-asydrba
gmp-6.1.1-gcc-6.2.0-3cfh3hi lzma-4.32.7-gcc-6.2.0-sfmeynw netlib-scalapack-2.0.2-gcc-6.2.0-wnimqhw py-numpy-1.11.1-gcc-6.2.0-i3rpk4e
hwloc-1.11.4-gcc-6.2.0-3ostwel lzo-2.09-gcc-6.2.0-jcngz72 netlib-scalapack-2.0.2-gcc-6.2.0-wojunhq py-scipy-0.18.1-gcc-6.2.0-e6uljfi
libarchive-3.2.1-gcc-6.2.0-2b54aos m4-1.4.17-gcc-6.2.0-lhgqa6s nettle-3.2-gcc-6.2.0-djdthlh py-setuptools-25.2.0-gcc-6.2.0-hkqauaa
libpciaccess-0.13.4-gcc-6.2.0-eo2siet mpich-3.2-gcc-6.2.0-5n5xoep openblas-0.2.19-gcc-6.2.0-js33umc python-2.7.12-gcc-6.2.0-qu7rc5p
This time it is convenient to pass the option ``--delete-tree`` to the command that
regenerates the module files to instruct it to delete the existing tree and regenerate
a new one instead of overwriting the files in the existing directory.
If you pay careful attention you'll see though that we went too far in blacklisting modules:
the module for ``gcc@6.2.0`` disappeared as it was bootstrapped with ``gcc@4.8``. To specify
exceptions to the blacklist rules you can use ``whitelist``:
.. code-block:: yaml
:emphasize-lines: 3,4
modules:
tcl:
whitelist:
- gcc
blacklist:
- '%gcc@4.8'
all:
filter:
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
``whitelist`` rules always have precedence over ``blacklist`` rules. If you regenerate the modules again:
.. code-block:: console
$ spack module refresh --module-type tcl -y
you'll see that now the module for ``gcc@6.2.0`` has reappeared:
.. code-block:: console
$ module avail gcc-6.2.0-gcc-4.8-twd5nqg
------------------------------------------------------------------------ ~/spack/share/spack/modules/linux-Ubuntu14-x86_64 ------------------------------------------------------------------------
gcc-6.2.0-gcc-4.8-twd5nqg
-------------------------
Change module file naming
-------------------------
The next step in making module files more user-friendly is to
improve their naming scheme.
To reduce the length of the hash or remove it altogether you can
use the ``hash_length`` keyword in the configuration file:
.. TODO: give reasons to remove hashes if they are not evident enough?
.. code-block:: yaml
:emphasize-lines: 3
modules:
tcl:
hash_length: 0
whitelist:
- gcc
blacklist:
- '%gcc@4.8'
all:
filter:
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
If you try to regenerate the module files now you will get an error:
.. code-block:: console
$ spack module refresh --module-type tcl --delete-tree -y
==> Error: Name clashes detected in module files:
file : ~/spack/share/spack/modules/linux-Ubuntu14-x86_64/netlib-scalapack-2.0.2-gcc-6.2.0
spec : netlib-scalapack@2.0.2%gcc@6.2.0~fpic+shared arch=linux-Ubuntu14-x86_64
spec : netlib-scalapack@2.0.2%gcc@6.2.0~fpic+shared arch=linux-Ubuntu14-x86_64
spec : netlib-scalapack@2.0.2%gcc@6.2.0~fpic+shared arch=linux-Ubuntu14-x86_64
spec : netlib-scalapack@2.0.2%gcc@6.2.0~fpic+shared arch=linux-Ubuntu14-x86_64
==> Error: Operation aborted
.. note::
We try to check for errors upfront!
In Spack we check for errors upfront whenever possible, so don't worry about your module files:
as a name clash was detected nothing has been changed on disk.
The problem here is that without
the hashes the four different flavors of ``netlib-scalapack`` map to the same module file
name. We have the possibility to add suffixes to differentiate them:
.. code-block:: yaml
:emphasize-lines: 9-11,14-17
modules:
tcl:
hash_length: 0
whitelist:
- gcc
blacklist:
- '%gcc@4.8'
all:
suffixes:
'^openblas': openblas
'^netlib-lapack': netlib
filter:
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
netlib-scalapack:
suffixes:
'^openmpi': openmpi
'^mpich': mpich
As you can see it is possible to specify rules that applies only to a
restricted set of packages using :ref:`anonymous specs <anonymous_specs>`.
Regenerating module files now we obtain:
.. code-block:: console
$ spack module refresh --module-type tcl --delete-tree -y
==> Regenerating tcl module files
$ module avail
------------------------------------------------------------------------ ~/spack/share/spack/modules/linux-Ubuntu14-x86_64 ------------------------------------------------------------------------
bzip2-1.0.6-gcc-6.2.0 libpciaccess-0.13.4-gcc-6.2.0 mpich-3.2-gcc-6.2.0 openblas-0.2.19-gcc-6.2.0 python-2.7.12-gcc-6.2.0
cmake-3.5.2-gcc-6.2.0 libsigsegv-2.10-gcc-6.2.0 ncurses-6.0-gcc-6.2.0 openmpi-2.0.1-gcc-6.2.0 sqlite-3.8.5-gcc-6.2.0
curl-7.50.3-gcc-6.2.0 libtool-2.4.6-gcc-6.2.0 netlib-lapack-3.6.1-gcc-6.2.0 openssl-1.0.2j-gcc-6.2.0 util-macros-1.19.0-gcc-6.2.0
expat-2.2.0-gcc-6.2.0 libxml2-2.9.4-gcc-6.2.0 netlib-scalapack-2.0.2-gcc-6.2.0-netlib-mpich pkg-config-0.29.1-gcc-6.2.0 xz-5.2.2-gcc-6.2.0
gcc-6.2.0-gcc-4.8 lz4-131-gcc-6.2.0 netlib-scalapack-2.0.2-gcc-6.2.0-netlib-openmpi py-nose-1.3.7-gcc-6.2.0 zlib-1.2.8-gcc-6.2.0
gmp-6.1.1-gcc-6.2.0 lzma-4.32.7-gcc-6.2.0 netlib-scalapack-2.0.2-gcc-6.2.0-openblas-mpich py-numpy-1.11.1-gcc-6.2.0-openblas
hwloc-1.11.4-gcc-6.2.0 lzo-2.09-gcc-6.2.0 netlib-scalapack-2.0.2-gcc-6.2.0-openblas-openmpi py-scipy-0.18.1-gcc-6.2.0-openblas
libarchive-3.2.1-gcc-6.2.0 m4-1.4.17-gcc-6.2.0 nettle-3.2-gcc-6.2.0 py-setuptools-25.2.0-gcc-6.2.0
Finally we can set a ``naming_scheme`` to prevent users from loading
modules that refer to different flavors of the same library/application:
.. code-block:: yaml
:emphasize-lines: 4,10,11
modules:
tcl:
hash_length: 0
naming_scheme: '${PACKAGE}/${VERSION}-${COMPILERNAME}-${COMPILERVER}'
whitelist:
- gcc
blacklist:
- '%gcc@4.8'
all:
conflict:
- '${PACKAGE}'
suffixes:
'^openblas': openblas
'^netlib-lapack': netlib
filter:
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
netlib-scalapack:
suffixes:
'^openmpi': openmpi
'^mpich': mpich
The final result should look like:
.. code-block:: console
$ module avail
------------------------------------------------------------------------ ~/spack/share/spack/modules/linux-Ubuntu14-x86_64 ------------------------------------------------------------------------
bzip2/1.0.6-gcc-6.2.0 libpciaccess/0.13.4-gcc-6.2.0 mpich/3.2-gcc-6.2.0 openblas/0.2.19-gcc-6.2.0 python/2.7.12-gcc-6.2.0
cmake/3.5.2-gcc-6.2.0 libsigsegv/2.10-gcc-6.2.0 ncurses/6.0-gcc-6.2.0 openmpi/2.0.1-gcc-6.2.0 sqlite/3.8.5-gcc-6.2.0
curl/7.50.3-gcc-6.2.0 libtool/2.4.6-gcc-6.2.0 netlib-lapack/3.6.1-gcc-6.2.0 openssl/1.0.2j-gcc-6.2.0 util-macros/1.19.0-gcc-6.2.0
expat/2.2.0-gcc-6.2.0 libxml2/2.9.4-gcc-6.2.0 netlib-scalapack/2.0.2-gcc-6.2.0-netlib-mpich pkg-config/0.29.1-gcc-6.2.0 xz/5.2.2-gcc-6.2.0
gcc/6.2.0-gcc-4.8 lz4/131-gcc-6.2.0 netlib-scalapack/2.0.2-gcc-6.2.0-netlib-openmpi py-nose/1.3.7-gcc-6.2.0 zlib/1.2.8-gcc-6.2.0
gmp/6.1.1-gcc-6.2.0 lzma/4.32.7-gcc-6.2.0 netlib-scalapack/2.0.2-gcc-6.2.0-openblas-mpich py-numpy/1.11.1-gcc-6.2.0-openblas
hwloc/1.11.4-gcc-6.2.0 lzo/2.09-gcc-6.2.0 netlib-scalapack/2.0.2-gcc-6.2.0-openblas-openmpi (D) py-scipy/0.18.1-gcc-6.2.0-openblas
libarchive/3.2.1-gcc-6.2.0 m4/1.4.17-gcc-6.2.0 nettle/3.2-gcc-6.2.0 py-setuptools/25.2.0-gcc-6.2.0
.. note::
TCL specific directive
The directives ``naming_scheme`` and ``conflict`` are TCL specific and do not apply
to the ``dotkit`` or ``lmod`` sections in the configuration file.
------------------------------------
Add custom environment modifications
------------------------------------
At many sites it is customary to set an environment variable in a
package's module file that points to the folder in which the package
is installed. You can achieve this with Spack by adding an
``environment`` directive to the configuration file:
.. code-block:: yaml
:emphasize-lines: 17-19
modules:
tcl:
hash_length: 0
naming_scheme: '${PACKAGE}/${VERSION}-${COMPILERNAME}-${COMPILERVER}'
whitelist:
- gcc
blacklist:
- '%gcc@4.8'
all:
conflict:
- '${PACKAGE}'
suffixes:
'^openblas': openblas
'^netlib-lapack': netlib
filter:
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
environment:
set:
'${PACKAGE}_ROOT': '${PREFIX}'
netlib-scalapack:
suffixes:
'^openmpi': openmpi
'^mpich': mpich
There are many variable tokens available to use in the ``environment``
and ``naming_scheme`` directives, such as ``${PACKAGE}``,
``${VERSION}``, etc. (see the :meth:`~spack.spec.Spec.format` API
documentation for the complete list).
Regenerating the module files should result in something like:
.. code-block:: console
:emphasize-lines: 14
$ spack module refresh -y --module-type tcl
==> Regenerating tcl module files
$ module show gcc
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
~/spack/share/spack/modules/linux-Ubuntu14-x86_64/gcc/6.2.0-gcc-4.8:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
whatis("gcc @6.2.0 ")
prepend_path("PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/bin")
prepend_path("CMAKE_PREFIX_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/")
prepend_path("MANPATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/share/man")
prepend_path("PKG_CONFIG_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/lib64/pkgconfig")
prepend_path("LD_LIBRARY_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/lib64")
setenv("GCC_ROOT","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u")
conflict("gcc")
help([[The GNU Compiler Collection includes front ends for C, C++, Objective-C,
Fortran, and Java.
]])
As you see the ``gcc`` module has the environment variable ``GCC_ROOT`` set.
Sometimes it's also useful to apply environment modifications selectively and target
only certain packages. You can, for instance set the common variables ``CC``, ``CXX``,
etc. in the ``gcc`` module file and apply other custom modifications to the
``openmpi`` modules as follows:
.. code-block:: yaml
:emphasize-lines: 20-32
modules:
tcl:
hash_length: 0
naming_scheme: '${PACKAGE}/${VERSION}-${COMPILERNAME}-${COMPILERVER}'
whitelist:
- gcc
blacklist:
- '%gcc@4.8'
all:
conflict:
- '${PACKAGE}'
suffixes:
'^openblas': openblas
'^netlib-lapack': netlib
filter:
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
environment:
set:
'${PACKAGE}_ROOT': '${PREFIX}'
gcc:
environment:
set:
CC: gcc
CXX: g++
FC: gfortran
F90: gfortran
F77: gfortran
openmpi:
environment:
set:
SLURM_MPI_TYPE: pmi2
OMPI_MCA_btl_openib_warn_default_gid_prefix: '0'
netlib-scalapack:
suffixes:
'^openmpi': openmpi
'^mpich': mpich
This time we will be more selective and regenerate only the ``gcc`` and
``openmpi`` module files:
.. code-block:: console
$ spack module refresh -y --module-type tcl gcc
==> Regenerating tcl module files
$ spack module refresh -y --module-type tcl openmpi
==> Regenerating tcl module files
$ module show gcc
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
~/spack/share/spack/modules/linux-Ubuntu14-x86_64/gcc/6.2.0-gcc-4.8:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
whatis("gcc @6.2.0 ")
prepend_path("PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/bin")
prepend_path("CMAKE_PREFIX_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/")
prepend_path("MANPATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/share/man")
prepend_path("PKG_CONFIG_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/lib64/pkgconfig")
prepend_path("LD_LIBRARY_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u/lib64")
setenv("GCC_ROOT","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-4.8/gcc-6.2.0-twd5nqg33hrrssqclcfi5k42eccwxz5u")
setenv("CC","gcc")
setenv("CXX","g++")
setenv("F90","gfortran")
setenv("FC","gfortran")
setenv("F77","gfortran")
conflict("gcc")
help([[The GNU Compiler Collection includes front ends for C, C++, Objective-C,
Fortran, and Java.
]])
$ module show openmpi
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
~/spack/share/spack/modules/linux-Ubuntu14-x86_64/openmpi/2.0.1-gcc-6.2.0:
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
whatis("openmpi @2.0.1 ")
prepend_path("PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.2.0/openmpi-2.0.1-s3qbtbyh3y5y4gkchmhcuak7th44l53w/bin")
prepend_path("CMAKE_PREFIX_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.2.0/openmpi-2.0.1-s3qbtbyh3y5y4gkchmhcuak7th44l53w/")
prepend_path("LD_LIBRARY_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.2.0/openmpi-2.0.1-s3qbtbyh3y5y4gkchmhcuak7th44l53w/lib")
prepend_path("PKG_CONFIG_PATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.2.0/openmpi-2.0.1-s3qbtbyh3y5y4gkchmhcuak7th44l53w/lib/pkgconfig")
prepend_path("MANPATH","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.2.0/openmpi-2.0.1-s3qbtbyh3y5y4gkchmhcuak7th44l53w/share/man")
setenv("SLURM_MPI_TYPE","pmi2")
setenv("OMPI_MCA_BTL_OPENIB_WARN_DEFAULT_GID_PREFIX","0")
setenv("OPENMPI_ROOT","~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.2.0/openmpi-2.0.1-s3qbtbyh3y5y4gkchmhcuak7th44l53w")
conflict("openmpi")
help([[The Open MPI Project is an open source Message Passing Interface
implementation that is developed and maintained by a consortium of
academic, research, and industry partners. Open MPI is therefore able to
combine the expertise, technologies, and resources from all across the
High Performance Computing community in order to build the best MPI
library available. Open MPI offers advantages for system and software
vendors, application developers and computer science researchers.
]])
---------------------
Autoload dependencies
---------------------
Spack can also generate module files that contain code to load the
dependencies automatically. You can, for instance generate python
modules that load their dependencies by adding the ``autoload``
directive and assigning it the value ``direct``:
.. code-block:: yaml
:emphasize-lines: 37,38
modules:
tcl:
hash_length: 0
naming_scheme: '${PACKAGE}/${VERSION}-${COMPILERNAME}-${COMPILERVER}'
whitelist:
- gcc
blacklist:
- '%gcc@4.8'
all:
conflict:
- '${PACKAGE}'
suffixes:
'^openblas': openblas
'^netlib-lapack': netlib
filter:
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
environment:
set:
'${PACKAGE}_ROOT': '${PREFIX}'
gcc:
environment:
set:
CC: gcc
CXX: g++
FC: gfortran
F90: gfortran
F77: gfortran
openmpi:
environment:
set:
SLURM_MPI_TYPE: pmi2
OMPI_MCA_btl_openib_warn_default_gid_prefix: '0'
netlib-scalapack:
suffixes:
'^openmpi': openmpi
'^mpich': mpich
^python:
autoload: 'direct'
and regenerating the module files for every package that depends on ``python``:
.. code-block:: console
$ spack module refresh -y --module-type tcl ^python
==> Regenerating tcl module files
Now the ``py-scipy`` module will be:
.. code-block:: tcl
#%Module1.0
## Module file created by spack (https://github.com/LLNL/spack) on 2016-11-02 20:53:21.283547
##
## py-scipy@0.18.1%gcc@6.2.0 arch=linux-Ubuntu14-x86_64-e6uljfi
##
module-whatis "py-scipy @0.18.1"
proc ModulesHelp { } {
puts stderr "SciPy (pronounced "Sigh Pie") is a Scientific Library for Python. It"
puts stderr "provides many user-friendly and efficient numerical routines such as"
puts stderr "routines for numerical integration and optimization."
}
if ![ is-loaded python/2.7.12-gcc-6.2.0 ] {
puts stderr "Autoloading python/2.7.12-gcc-6.2.0"
module load python/2.7.12-gcc-6.2.0
}
if ![ is-loaded openblas/0.2.19-gcc-6.2.0 ] {
puts stderr "Autoloading openblas/0.2.19-gcc-6.2.0"
module load openblas/0.2.19-gcc-6.2.0
}
if ![ is-loaded py-numpy/1.11.1-gcc-6.2.0-openblas ] {
puts stderr "Autoloading py-numpy/1.11.1-gcc-6.2.0-openblas"
module load py-numpy/1.11.1-gcc-6.2.0-openblas
}
prepend-path CMAKE_PREFIX_PATH "~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.2.0/py-scipy-0.18.1-e6uljfiffgym4xvj6wveevqxfqnfb3gh/"
prepend-path LD_LIBRARY_PATH "~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.2.0/py-scipy-0.18.1-e6uljfiffgym4xvj6wveevqxfqnfb3gh/lib"
prepend-path PYTHONPATH "~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.2.0/py-scipy-0.18.1-e6uljfiffgym4xvj6wveevqxfqnfb3gh/lib/python2.7/site-packages"
setenv PY_SCIPY_ROOT "~/spack/opt/spack/linux-Ubuntu14-x86_64/gcc-6.2.0/py-scipy-0.18.1-e6uljfiffgym4xvj6wveevqxfqnfb3gh"
conflict py-scipy
and will contain code to autoload all the dependencies:
.. code-block:: console
$ module load py-scipy
Autoloading python/2.7.12-gcc-6.2.0
Autoloading openblas/0.2.19-gcc-6.2.0
Autoloading py-numpy/1.11.1-gcc-6.2.0-openblas
-----------------------------
Lua hierarchical module files
-----------------------------
In the final part of this tutorial you will modify ``modules.yaml`` to generate
Lua hierarchical module files. You will see that most of the directives used before
are also valid in the ``lmod`` context.
^^^^^^^^^^^^^^^^^
Core/Compiler/MPI
^^^^^^^^^^^^^^^^^
.. warning::
Only LMod supports Lua hierarchical module files
For this part of the tutorial you need to be using LMod to
manage your environment.
The most common hierarchy is the so called ``Core/Compiler/MPI``. To have an idea
how a hierarchy is organized you may refer to the
`Lmod guide <https://www.tacc.utexas.edu/research-development/tacc-projects/lmod/user-guide/module-hierarchy>`_.
Since ``lmod`` is not enabled by default, you need to add it to the list of
enabled module file generators. The other things you need to do are:
- change the ``tcl`` tag to ``lmod``
- remove ``tcl`` specific directives (``naming_scheme`` and ``conflict``)
- set which compilers are considered ``core``
- remove the ``mpi`` related suffixes (as they will be substituted by hierarchies)
After modifications the configuration file will be:
.. code-block:: yaml
:emphasize-lines: 2-6
modules:
enable::
- lmod
lmod:
core_compilers:
- 'gcc@4.8'
hash_length: 0
whitelist:
- gcc
blacklist:
- '%gcc@4.8'
all:
suffixes:
'^openblas': openblas
'^netlib-lapack': netlib
filter:
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
environment:
set:
'${PACKAGE}_ROOT': '${PREFIX}'
gcc:
environment:
set:
CC: gcc
CXX: g++
FC: gfortran
F90: gfortran
F77: gfortran
openmpi:
environment:
set:
SLURM_MPI_TYPE: pmi2
OMPI_MCA_btl_openib_warn_default_gid_prefix: '0'
.. note::
The double colon
The double colon after ``enable`` is intentional and it serves the
purpose of overriding the default list of enabled generators so
that only ``lmod`` will be active (see :ref:`the reference
manual <config-overrides>` for a more detailed explanation of
config scopes).
The directive ``core_compilers`` accepts a list of compilers : everything built
using these compilers will create a module in the ``Core`` part of the hierarchy. It is
common practice to put the OS provided compilers in the list and only build common utilities
and other compilers in ``Core``.
If you regenerate the module files
.. code-block:: console
$ spack module refresh --module-type lmod --delete-tree -y
and update ``MODULEPATH`` to point to the ``Core`` folder, and
list the available modules, you'll see:
.. code-block:: console
$ module unuse ~/spack/share/spack/modules/linux-Ubuntu14-x86_64
$ module use ~/spack/share/spack/lmod/linux-Ubuntu14-x86_64/Core
$ module avail
----------------------------------------------------------------------- ~/spack/share/spack/lmod/linux-Ubuntu14-x86_64/Core -----------------------------------------------------------------------
gcc/6.2.0
The only module visible now is ``gcc``. Loading that you will make
visible the ``Compiler`` part of the software stack that was built with ``gcc/6.2.0``:
.. code-block:: console
$ module load gcc
$ module avail
-------------------------------------------------------------------- ~/spack/share/spack/lmod/linux-Ubuntu14-x86_64/gcc/6.2.0 ---------------------------------------------------------------------
binutils/2.27 curl/7.50.3 hwloc/1.11.4 libtool/2.4.6 lzo/2.09 netlib-lapack/3.6.1 openssl/1.0.2j py-scipy/0.18.1-openblas util-macros/1.19.0
bison/3.0.4 expat/2.2.0 libarchive/3.2.1 libxml2/2.9.4 m4/1.4.17 nettle/3.2 pkg-config/0.29.1 py-setuptools/25.2.0 xz/5.2.2
bzip2/1.0.6 flex/2.6.0 libpciaccess/0.13.4 lz4/131 mpich/3.2 openblas/0.2.19 py-nose/1.3.7 python/2.7.12 zlib/1.2.8
cmake/3.6.1 gmp/6.1.1 libsigsegv/2.10 lzma/4.32.7 ncurses/6.0 openmpi/2.0.1 py-numpy/1.11.1-openblas sqlite/3.8.5
----------------------------------------------------------------------- ~/spack/share/spack/lmod/linux-Ubuntu14-x86_64/Core -----------------------------------------------------------------------
gcc/6.2.0 (L)
The same holds true for the ``MPI`` part of the stack, that you can enable by loading
either ``mpich`` or ``openmpi``. The nice features of LMod will become evident
once you'll try switching among different stacks:
.. code-block:: console
$ module load mpich
$ module avail
----------------------------------------------------------- ~/spack/share/spack/lmod/linux-Ubuntu14-x86_64/mpich/3.2-5n5xoep/gcc/6.2.0 ------------------------------------------------------------
netlib-scalapack/2.0.2-netlib netlib-scalapack/2.0.2-openblas (D)
-------------------------------------------------------------------- ~/spack/share/spack/lmod/linux-Ubuntu14-x86_64/gcc/6.2.0 ---------------------------------------------------------------------
binutils/2.27 curl/7.50.3 hwloc/1.11.4 libtool/2.4.6 lzo/2.09 netlib-lapack/3.6.1 openssl/1.0.2j py-scipy/0.18.1-openblas util-macros/1.19.0
bison/3.0.4 expat/2.2.0 libarchive/3.2.1 libxml2/2.9.4 m4/1.4.17 nettle/3.2 pkg-config/0.29.1 py-setuptools/25.2.0 xz/5.2.2
bzip2/1.0.6 flex/2.6.0 libpciaccess/0.13.4 lz4/131 mpich/3.2 (L) openblas/0.2.19 py-nose/1.3.7 python/2.7.12 zlib/1.2.8
cmake/3.6.1 gmp/6.1.1 libsigsegv/2.10 lzma/4.32.7 ncurses/6.0 openmpi/2.0.1 py-numpy/1.11.1-openblas sqlite/3.8.5
----------------------------------------------------------------------- ~/spack/share/spack/lmod/linux-Ubuntu14-x86_64/Core -----------------------------------------------------------------------
gcc/6.2.0 (L)
$ module load openblas netlib-scalapack/2.0.2-openblas
$ module list
Currently Loaded Modules:
1) gcc/6.2.0 2) mpich/3.2 3) openblas/0.2.19 4) netlib-scalapack/2.0.2-openblas
$ module load openmpi
Lmod is automatically replacing "mpich/3.2" with "openmpi/2.0.1"
Due to MODULEPATH changes the following have been reloaded:
1) netlib-scalapack/2.0.2-openblas
This layout is already a great improvement over the usual non-hierarchical layout,
but it still has an asymmetry: ``LAPACK`` providers are semantically the same as ``MPI``
providers, but they are still not part of the hierarchy. We'll see a possible solution
next.
.. Activate lmod and turn the previous modifications into lmod:
Add core compilers
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Extend the hierarchy to other virtual providers
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. warning::
This is an experimental feature
Having a hierarchy deeper than ``Core``/``Compiler``/``MPI`` is an experimental
feature, still not fully supported by ``module spider``,
see `here <https://github.com/TACC/Lmod/issues/114>`_. Furthermore its use
with hierarchies more complex than ``Core``/``Compiler``/``MPI``/``LAPACK``
has not been thoroughly tested in production environments.
Spack permits you to generate Lua hierarchical module files where users
can add an arbitrary list of virtual providers to the triplet
``Core``/``Compiler``/``MPI``. A configuration file like:
.. code-block:: yaml
:emphasize-lines: 7,8
modules:
enable::
- lmod
lmod:
core_compilers:
- 'gcc@4.8'
hierarchical_scheme:
- lapack
hash_length: 0
whitelist:
- gcc
blacklist:
- '%gcc@4.8'
- readline
all:
filter:
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
environment:
set:
'${PACKAGE}_ROOT': '${PREFIX}'
gcc:
environment:
set:
CC: gcc
CXX: g++
FC: gfortran
F90: gfortran
F77: gfortran
openmpi:
environment:
set:
SLURM_MPI_TYPE: pmi2
OMPI_MCA_btl_openib_warn_default_gid_prefix: '0'
will add ``lapack`` providers to the mix. After the usual regeneration of module files:
.. code-block:: console
$ module purge
$ spack module refresh --module-type lmod --delete-tree -y
==> Regenerating lmod module files
you will have something like:
.. code-block:: console
$ module load gcc
$ module load openblas
$ module load openmpi
$ module avail
--------------------------------------------- ~/spack/share/spack/lmod/linux-Ubuntu14-x86_64/openblas/0.2.19-js33umc/openmpi/2.0.1-s3qbtby/gcc/6.2.0 ----------------------------------------------
netlib-scalapack/2.0.2
-------------------------------------------------------- ~/spack/share/spack/lmod/linux-Ubuntu14-x86_64/openblas/0.2.19-js33umc/gcc/6.2.0 ---------------------------------------------------------
py-numpy/1.11.1 py-scipy/0.18.1
-------------------------------------------------------------------- ~/spack/share/spack/lmod/linux-Ubuntu14-x86_64/gcc/6.2.0 ---------------------------------------------------------------------
binutils/2.27 curl/7.50.3 hwloc/1.11.4 libtool/2.4.6 lzo/2.09 netlib-lapack/3.6.1 openssl/1.0.2j python/2.7.12 zlib/1.2.8
bison/3.0.4 expat/2.2.0 libarchive/3.2.1 libxml2/2.9.4 m4/1.4.17 nettle/3.2 pkg-config/0.29.1 sqlite/3.8.5
bzip2/1.0.6 flex/2.6.0 libpciaccess/0.13.4 lz4/131 mpich/3.2 openblas/0.2.19 (L) py-nose/1.3.7 util-macros/1.19.0
cmake/3.6.1 gmp/6.1.1 libsigsegv/2.10 lzma/4.32.7 ncurses/6.0 openmpi/2.0.1 (L) py-setuptools/25.2.0 xz/5.2.2
----------------------------------------------------------------------- ~/spack/share/spack/lmod/linux-Ubuntu14-x86_64/Core -----------------------------------------------------------------------
gcc/6.2.0 (L)
Now both the ``MPI`` and the ``LAPACK`` providers are handled by LMod as hierarchies:
.. code-block:: console
$ module load py-numpy netlib-scalapack
$ module load mpich
Lmod is automatically replacing "openmpi/2.0.1" with "mpich/3.2"
Due to MODULEPATH changes the following have been reloaded:
1) netlib-scalapack/2.0.2
$ module load netlib-lapack
Lmod is automatically replacing "openblas/0.2.19" with "netlib-lapack/3.6.1"
Inactive Modules:
1) py-numpy
Due to MODULEPATH changes the following have been reloaded:
1) netlib-scalapack/2.0.2
making the use of tags to differentiate them unnecessary.
Note that because we only compiled ``py-numpy`` with ``openblas`` the module
is made inactive when we switch the ``LAPACK`` provider. The user
environment will now be consistent by design!

View File

@@ -0,0 +1,462 @@
.. _packaging-tutorial:
=========================
Package Creation Tutorial
=========================
This tutorial will walk you through the steps behind building a simple
package installation script. We'll focus building an mpileaks package,
which is a MPI debugging tool. By creating a package file we're
essentially giving Spack a recipe for how to build a particular piece of
software. We're describing some of the software's dependencies, where to
find the package, what commands and options are used to build the package
from source, and more. Once we've specified a package's recipe, we can
ask Spack to build that package in many different ways.
This tutorial assumes you have a basic familiarity with some of the Spack
commands, and that you have a working version of Spack installed. If
not, we suggest looking at Spack's *Getting Started* guide. This
tutorial also assumes you have at least a beginner's-level familiarity
with Python.
Also note that this document is a tutorial. It can help you get started
with packaging, but is not intended to be complete. See Spack's
:ref:`packaging-guide` for more complete documentation on this topic.
---------------
Getting Started
---------------
A few things before we get started:
- We'll refer to the Spack installation location via the environment
variable ``SPACK_ROOT``. You should point ``SPACK_ROOT`` at wherever
you have Spack installed.
- Add ``$SPACK_ROOT/bin`` to your ``PATH`` before you start.
- Make sure your ``EDITOR`` environment variable is set to some text
editor you like.
- We'll be writing Python code as part of this tutorial. You can find
successive versions of the Python code in
``$SPACK_ROOT/lib/spack/docs/tutorial/examples``.
-------------------------
Creating the Package File
-------------------------
Spack comes with a handy command to create a new package: ``spack create``
This command is given the location of a package's source code, downloads
the code, and sets up some basic packaging infrastructure for you. The
mpileaks source code can be found on GitHub, and here's what happens when
we run ``spack create`` on it:
.. code-block:: console
$ spack create -f https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz
==> This looks like a URL for mpileaks version 1.0
==> Creating template for package mpileaks
==> Downloading...
==> Fetching https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz
###################################################################################### 100.0%
And Spack should spawn a text editor with this file:
.. literalinclude:: tutorial/examples/0.package.py
:language: python
Spack has created this file in
``$SPACK_ROOT/var/spack/repos/builtin/packages/mpileaks/package.py``. Take a
moment to look over the file. There's a few placeholders that Spack has
created, which we'll fill in as part of this tutorial:
- We'll document some information about this package in the comments.
- We'll fill in the dependency list for this package.
- We'll fill in some of the configuration arguments needed to build this
package.
For the moment, exit your editor and let's see what happens when we try
to build this package:
.. code-block:: console
$ spack install mpileaks
==> Installing mpileaks
==> Using cached archive: /usr/workspace/wsa/legendre/spack/var/spack/cache/mpileaks/mpileaks-1.0.tar.gz
==> Staging archive: /usr/workspace/wsa/legendre/spack/var/spack/stage/mpileaks-1.0-hufwhwpq5benv3sslie6ryflk5s6nm35/mpileaks-1.0.tar.gz
==> Created stage in /usr/workspace/wsa/legendre/spack/var/spack/stage/mpileaks-1.0-hufwhwpq5benv3sslie6ryflk5s6nm35
==> Ran patch() for mpileaks
==> Building mpileaks [AutotoolsPackage]
==> Executing phase : 'autoreconf'
==> Executing phase : 'configure'
==> Error: ProcessError: Command exited with status 1:
'./configure' '--prefix=/usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/mpileaks-1.0-hufwhwpq5benv3sslie6ryflk5s6nm35'
/usr/workspace/wsa/legendre/spack/lib/spack/spack/build_systems/autotools.py:150, in configure:
145 def configure(self, spec, prefix):
146 """Runs configure with the arguments specified in `configure_args`
147 and an appropriately set prefix
148 """
149 options = ['--prefix={0}'.format(prefix)] + self.configure_args()
>> 150 inspect.getmodule(self).configure(*options)
See build log for details:
/tmp/legendre/spack-stage/spack-stage-8HVzqu/mpileaks-1.0/spack-build.out
This obviously didn't work; we need to fill in the package-specific
information. Specifically, Spack didn't try to build any of mpileaks'
dependencies, nor did it use the proper configure arguments. Let's start
fixing things
---------------------
Package Documentation
---------------------
We can bring the ``package.py`` file back into our ``EDITOR`` with the
``spack edit`` command:
.. code-block:: console
$ spack edit mpileaks
Let's remove some of the ``FIXME`` comments, and add links to the mpileaks
homepage and document what mpileaks does. I'm also going to cut out the
Copyright clause at this point to keep this tutorial document shorter,
but you shouldn't do that normally. The results of these changes can be
found in ``$SPACK_ROOT/lib/spack/docs/tutorial/examples/1.package.py``
and are below. Make these changes to your ``package.py``:
.. literalinclude:: tutorial/examples/1.package.py
:lines: 25-
:language: python
We've filled in the comment that describes what this package does and
added a link to the web site. That won't help us build yet, but it will
allow Spack to provide some documentation on this package to other users:
.. code-block:: console
$ spack info mpileaks
AutotoolsPackage: mpileaks
Homepage: https://github.com/hpc/mpileaks
Safe versions:
1.0 https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz
Variants:
None
Installation Phases:
autoreconf configure build install
Build Dependencies:
None
Link Dependencies:
None
Run Dependencies:
None
Virtual Packages:
None
Description:
Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes
As we fill in more information about this package the ``spack info`` command
will become more informative. Now let's start making this package build.
------------
Dependencies
------------
The mpileaks packages depends on three other package: ``MPI``,
``adept-utils``, and ``callpath``. Let's add those via the
``depends_on`` command in our ``package.py`` (this version is in
``$SPACK_ROOT/lib/spack/docs/tutorial/examples/2.package.py``):
.. literalinclude:: tutorial/examples/2.package.py
:lines: 25-
:language: python
Now when we go to build mpileaks, Spack will fetch and build these
dependencies before building mpileaks. Note that the mpi dependency is a
different kind of beast than the adept-utils and callpath dependencies;
there is no mpi package available in Spack. Instead mpi is a virtual
dependency. Spack may satisfy that dependency by installing packages
such as ``openmpi`` or ``mvapich``. See the :ref:`packaging-guide` for more
information on virtual dependencies.
Now when we try to install this package a lot more happens:
.. code-block:: console
$ spack install mpileaks
==> Installing mpileaks
==> openmpi is already installed in /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/openmpi-2.0.1-5ee5j34c2y4kb5c3joygrgahidqnwhnz
==> callpath is already installed in /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/callpath-1.0.2-zm4pf3gasgxeibyu2y262suktvaazube
==> adept-utils is already installed in /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/adept-utils-1.0.1-7p7ezxwtajdglj6cmojy2vybjct4j4jz
==> Using cached archive: /usr/workspace/wsa/legendre/spack/var/spack/cache/mpileaks/mpileaks-1.0.tar.gz
==> Already staged mpileaks-1.0-eum4hmnlt6ovalwjnciaygfb3beja4gk in /usr/workspace/wsa/legendre/spack/var/spack/stage/mpileaks-1.0-eum4hmnlt6ovalwjnciaygfb3beja4gk
==> Already patched mpileaks
==> Building mpileaks [AutotoolsPackage]
==> Executing phase : 'autoreconf'
==> Executing phase : 'configure'
==> Error: ProcessError: Command exited with status 1:
'./configure' '--prefix=/usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/mpileaks-1.0-eum4hmnlt6ovalwjnciaygfb3beja4gk'
/usr/workspace/wsa/legendre/spack/lib/spack/spack/build_systems/autotools.py:150, in configure:
145 def configure(self, spec, prefix):
146 """Runs configure with the arguments specified in `configure_args`
147 and an appropriately set prefix
148 """
149 options = ['--prefix={0}'.format(prefix)] + self.configure_args()
>> 150 inspect.getmodule(self).configure(*options)
See build log for details:
/tmp/legendre/spack-stage/spack-stage-7V5yyk/mpileaks-1.0/spack-build.out
Note that this command may take a while to run and produce more output if
you don't have an MPI already installed or configured in Spack.
Now Spack has identified and made sure all of our dependencies have been
built. It found the ``openmpi`` package that will satisfy our ``mpi``
dependency, and the ``callpath`` and ``adept-utils`` package to satisfy our
concrete dependencies.
------------------------
Debugging Package Builds
------------------------
Our ``mpileaks`` package is still not building. It may be obvious to
many of you that we're still missing the configure options. But let's
pretend we're not all intelligent developers and use this opportunity
spend some time debugging. We a few options that can tell us about
what's going wrong:
As per the error message, Spack has given us a ``spack-build.out`` debug log:
.. code-block:: console
==> './configure' '--prefix=/usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/mpileaks-1.0-eum4hmnlt6ovalwjnciaygfb3beja4gk'
checking metadata... no
checking installation directory variables... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/gcc accepts -g... yes
checking for /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/gcc... gcc3
checking whether /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/gcc and cc understand -c and -o together... yes
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/g++ accepts -g... yes
checking dependency style of /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/g++... gcc3
checking for /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/openmpi-2.0.1-5ee5j34c2y4kb5c3joygrgahidqnwhnz/bin/mpicc... /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/openmpi-2.0.1-5ee5j34c2y4kb5c3joygrgahidqnwhnz/bin/mpicc
Checking whether /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/openmpi-2.0.1-5ee5j34c2y4kb5c3joygrgahidqnwhnz/bin/mpicc responds to '-showme:compile'... yes
configure: error: unable to locate ``adept-utils`` installation
This gives us the output from the build, and it's fairly obvious that
mpileaks isn't finding its ``adept-utils`` package. Spack has
automatically added the include and library directories of
``adept-utils`` to the compiler's search path, but some packages like
mpileaks can sometimes be picky and still want things spelled out on
their command line. But let's continue to pretend we're not brilliant
developers, and explore some other debugging paths:
We can also enter the build area and try to manually run the build:
.. code-block:: console
$ spack env mpileaks bash
$ spack cd mpileaks
The ``spack env`` command spawned a new shell that contains the same
environment that Spack used to build the mpileaks package (you can
substitute bash for your favorite shell). The ``spack cd`` command
changed our working dirctory to the last attempted build for mpileaks.
From here we can manually re-run the build:
.. code-block:: console
$ ./configure
checking metadata... no
checking installation directory variables... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/gcc accepts -g... yes
checking for /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/gcc... gcc3
checking whether /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/gcc and cc understand -c and -o together... yes
checking whether we are using the GNU C++ compiler... yes
checking whether /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/g++ accepts -g... yes
checking dependency style of /usr/workspace/wsa/legendre/spack/lib/spack/env/gcc/g++... gcc3
checking for /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/openmpi-2.0.1-5ee5j34c2y4kb5c3joygrgahidqnwhnz/bin/mpicc... /usr/workspace/wsa /legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/openmpi-2.0.1-5ee5j34c2y4kb5c3joygrgahidqnwhnz/bin/mpicc
Checking whether /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/openmpi-2.0.1-5ee5j34c2y4kb5c3joygrgahidqnwhnz/bin/mpicc responds to '-showme:compile'... yes
configure: error: unable to locate adept-utils installation
We're seeing the same error, but now we're in a shell where we can run
the command ourselves and debug as needed. We could, for example, run
``./configure --help`` to see what options we can use to specify
dependencies.
We can use the ``exit`` command to leave the shell spawned by ``spack
env``.
------------------------------
Specifying Configure Arguments
------------------------------
Let's add the configure arguments to the mpileaks' ``package.py``. This
version can be found in
``$SPACK_ROOT/lib/spack/docs/tutorial/examples/3.package.py``:
.. literalinclude:: tutorial/examples/3.package.py
:lines: 25-
:language: python
This is all we need for working mpileaks! If we install now we'll see:
.. code-block:: console
$ spack install mpileaks
spack install mpileaks
==> Installing mpileaks
==> openmpi is already installed in /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/openmpi-2.0.1-5ee5j34c2y4kb5c3joygrgahidqnwhnz
==> callpath is already installed in /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/callpath-1.0.2-zm4pf3gasgxeibyu2y262suktvaazube
==> adept-utils is already installed in /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/adept-utils-1.0.1-7p7ezxwtajdglj6cmojy2vybjct4j4jz
==> Using cached archive: /usr/workspace/wsa/legendre/spack/var/spack/cache/mpileaks/mpileaks-1.0.tar.gz
==> Already staged mpileaks-1.0-eum4hmnlt6ovalwjnciaygfb3beja4gk in /usr/workspace/wsa/legendre/spack/var/spack/stage/mpileaks-1.0-eum4hmnlt6ovalwjnciaygfb3beja4gk
==> Already patched mpileaks
==> Building mpileaks [AutotoolsPackage]
==> Executing phase : 'autoreconf'
==> Executing phase : 'configure'
==> Executing phase : 'build'
==> Executing phase : 'install'
==> Successfully installed mpileaks
Fetch: 0.00s. Build: 14.08s. Total: 14.08s.
[+] /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/mpileaks-1.0-eum4hmnlt6ovalwjnciaygfb3beja4gk
We took a few shortcuts for this package that are worth highlighting.
Spack automatically detected that mpileaks was an Autotools-based package
when we ran ``spack create``. If this had been a CMake-based package we
would have been filling in a ``cmake_args`` function instead of
``configure_args``. If Spack hadn't been able to detect the build
system, we'd be filling in a generic install method that would manually
be calling build commands, such as is found in the ``zlib`` package:
.. code-block:: python
def install(self, spec, prefix):
configure('--prefix={0}'.format(prefix))
make()
make('install')
--------
Variants
--------
We have a successful mpileaks build, but let's take some time to improve
it. ``mpileaks`` has a build-time option to truncate parts of the stack
that it walks. Let's add a variant to allow users to set this when they
build in Spack.
To do this, we'll add a variant to our package, as per the following (see
``$SPACK_ROOT/lib/spack/docs/tutorial/examples/4.package.py``):
.. literalinclude:: tutorial/examples/4.package.py
:lines: 25-
:language: python
We've added the variant ``stackstart``, and given it a default value of
``0``. If we install now we can see the stackstart variant added to the
configure line (output truncated for length):
.. code-block:: console
$ spack install --verbose mpileaks stackstart=4
==> Installing mpileaks
==> openmpi is already installed in /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/openmpi-2.0.1-5ee5j34c2y4kb5c3joygrgahidqnwhnz
==> callpath is already installed in /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/callpath-1.0.2-zm4pf3gasgxeibyu2y262suktvaazube
==> adept-utils is already installed in /usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/adept-utils-1.0.1-7p7ezxwtajdglj6cmojy2vybjct4j4jz
==> Using cached archive: /usr/workspace/wsa/legendre/spack/var/spack/cache/mpileaks/mpileaks-1.0.tar.gz
==> Staging archive: /usr/workspace/wsa/legendre/spack/var/spack/stage/mpileaks-1.0-otqo2opkhan5ksujt6tpmdftydrieig7/mpileaks-1.0.tar.gz
==> Created stage in /usr/workspace/wsa/legendre/spack/var/spack/stage/mpileaks-1.0-otqo2opkhan5ksujt6tpmdftydrieig7
==> Ran patch() for mpileaks
==> Building mpileaks [AutotoolsPackage]
==> Executing phase : 'autoreconf'
==> Executing phase : 'configure'
==> './configure' '--prefix=/usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/mpileaks-1.0-otqo2opkhan5ksujt6tpmdftydrieig7' '--with-adept-utils=/usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/adept-utils-1.0.1-7p7ezxwtajdglj6cmojy2vybjct4j4jz' '--with-callpath=/usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/callpath-1.0.2-zm4pf3gasgxeibyu2y262suktvaazube' '--with-stack-start-c=4' '--with-stack-start-fortran=4'
---------------
The Spec Object
---------------
This tutorial has glossed over a few important features, which weren't
too relevant for mpileaks but may be useful for other packages. There
were several places we references the ``self.spec`` object. This is a
powerful class for querying information about what we're building. For
example, you could use the spec to query information about how a
package's dependencies were built, or what compiler was being used, or
what version of a package is being installed. Full documentation can be
found in the :ref:`packaging-guide`, but here's some quick snippets with
common queries:
- Am I building ``mpileaks`` version ``1.1`` or greater?
.. code-block:: python
if self.spec.satisfies('@1.1:'):
# Do things needed for 1.1+
- Is ``openmpi`` the MPI I'm building with?
.. code-block:: python
if self.spec['mpi'].name == 'openmpi':
# Do openmpi things
- Am I building with ``gcc`` version less than ``5.0.0``:
.. code-block:: python
if self.spec.satisfies('%gcc@:5.0.0'):
# Add arguments specific to gcc's earlier than 5.0.0
- Am I built with the ``debug`` variant:
.. code-block:: python
if self.spec.satisfies('+debug'):
# Add -g option to configure flags
- Is my ``dyninst`` dependency greater than version ``8.0``?
.. code-block:: python
if self.spec['dyninst'].satisfies('@8.0:'):
# Use newest dyninst options
More examples can be found in the thousands of packages already added to
Spack in ``$SPACK_ROOT/var/spack/repos/builtin/packages``.
Good Luck!

File diff suppressed because it is too large Load Diff

1198
lib/spack/docs/workflows.rst Normal file

File diff suppressed because it is too large Load Diff

454
lib/spack/env/cc vendored
View File

@@ -1,27 +1,27 @@
#!/bin/bash
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Copyright (c) 2013-2016, 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.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/spack
# 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.
# 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 General Public License for more details.
# 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
# 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
##############################################################################
#
# Spack compiler wrapper script.
@@ -38,19 +38,27 @@
# -Wl,-rpath arguments for dependency /lib directories.
#
# This is the list of environment variables that need to be set before
# the script runs. They are set by routines in spack.build_environment
# This is an array of environment variables that need to be set before
# the script runs. They are set by routines in spack.build_environment
# as part of spack.package.Package.do_install().
parameters="
SPACK_PREFIX
SPACK_ENV_PATH
SPACK_DEBUG_LOG_DIR
SPACK_COMPILER_SPEC
SPACK_SHORT_SPEC"
parameters=(
SPACK_PREFIX
SPACK_ENV_PATH
SPACK_DEBUG_LOG_DIR
SPACK_COMPILER_SPEC
SPACK_CC_RPATH_ARG
SPACK_CXX_RPATH_ARG
SPACK_F77_RPATH_ARG
SPACK_FC_RPATH_ARG
SPACK_SHORT_SPEC
)
# The compiler input variables are checked for sanity later:
# SPACK_CC, SPACK_CXX, SPACK_F77, SPACK_FC
# Debug flag is optional; set to true for debug logging:
# The default compiler flags are passed from these variables:
# SPACK_CFLAGS, SPACK_CXXFLAGS, SPACK_FCFLAGS, SPACK_FFLAGS,
# SPACK_LDFLAGS, SPACK_LDLIBS
# Debug env var is optional; set to true for debug logging:
# SPACK_DEBUG
# Test command is used to unit test the compiler script.
# SPACK_TEST_COMMAND
@@ -64,13 +72,12 @@ function die {
exit 1
}
for param in $parameters; do
if [ -z "${!param}" ]; then
die "Spack compiler must be run from spack! Input $param was missing!"
for param in ${parameters[@]}; do
if [[ -z ${!param} ]]; then
die "Spack compiler must be run from Spack! Input '$param' is missing."
fi
done
#
# Figure out the type of compiler, the language, and the mode so that
# the compiler script knows what to do.
#
@@ -78,33 +85,43 @@ done
# 'command' is set based on the input command to $SPACK_[CC|CXX|F77|F90]
#
# 'mode' is set to one of:
# vcheck version check
# cpp preprocess
# cc compile
# as assemble
# ld link
# ccld compile & link
# cpp preprocessor
# vcheck version check
#
command=$(basename "$0")
comp="CC"
case "$command" in
cc|gcc|c89|c99|clang)
command="$SPACK_CC"
language="C"
;;
c++|CC|g++|clang++)
command="$SPACK_CXX"
language="C++"
;;
f77)
command="$SPACK_F77"
language="Fortran 77"
;;
fc|f90|f95)
command="$SPACK_FC"
language="Fortran 90"
;;
cpp)
mode=cpp
;;
cc|c89|c99|gcc|clang|icc|pgcc|xlc)
command="$SPACK_CC"
language="C"
comp="CC"
lang_flags=C
;;
c++|CC|g++|clang++|icpc|pgc++|xlc++)
command="$SPACK_CXX"
language="C++"
comp="CXX"
lang_flags=CXX
;;
ftn|f90|fc|f95|gfortran|ifort|pgfortran|xlf90|nagfor)
command="$SPACK_FC"
language="Fortran 90"
comp="FC"
lang_flags=F
;;
f77|gfortran|ifort|pgfortran|xlf|nagfor|ftn)
command="$SPACK_F77"
language="Fortran 77"
comp="F77"
lang_flags=F
;;
ld)
mode=ld
;;
@@ -113,220 +130,233 @@ case "$command" in
;;
esac
# Finish setting up the mode.
if [ -z "$mode" ]; then
mode=ccld
# If any of the arguments below are present, then the mode is vcheck.
# In vcheck mode, nothing is added in terms of extra search paths or
# libraries.
if [[ -z $mode ]]; then
for arg in "$@"; do
if [ "$arg" = -v -o "$arg" = -V -o "$arg" = --version -o "$arg" = -dumpversion ]; then
if [[ $arg == -v || $arg == -V || $arg == --version || $arg == -dumpversion ]]; then
mode=vcheck
break
elif [ "$arg" = -E ]; then
fi
done
fi
# Finish setting up the mode.
if [[ -z $mode ]]; then
mode=ccld
for arg in "$@"; do
if [[ $arg == -E ]]; then
mode=cpp
break
elif [ "$arg" = -c ]; then
elif [[ $arg == -S ]]; then
mode=as
break
elif [[ $arg == -c ]]; then
mode=cc
break
fi
done
fi
# Dump the version and exist if we're in testing mode.
if [ "$SPACK_TEST_COMMAND" = "dump-mode" ]; then
# Set up rpath variable according to language.
eval rpath=\$SPACK_${comp}_RPATH_ARG
# Dump the version and exit if we're in testing mode.
if [[ $SPACK_TEST_COMMAND == dump-mode ]]; then
echo "$mode"
exit
fi
# Check that at least one of the real commands was actually selected,
# otherwise we don't know what to execute.
if [ -z "$command" ]; then
if [[ -z $command ]]; then
die "ERROR: Compiler '$SPACK_COMPILER_SPEC' does not support compiling $language programs."
fi
# Save original command for debug logging
input_command="$@"
#
# Now do real parsing of the command line args, trying hard to keep
# non-rpath linker arguments in the proper order w.r.t. other command
# line arguments. This is important for things like groups.
# Set paths as defined in the 'environment' section of the compiler config
# names are stored in SPACK_ENV_TO_SET
# values are stored in SPACK_ENV_SET_<varname>
#
includes=()
libraries=()
libs=()
rpaths=()
other_args=()
while [ -n "$1" ]; do
case "$1" in
-I*)
arg="${1#-I}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
includes+=("$arg")
;;
-L*)
arg="${1#-L}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
libraries+=("$arg")
;;
-l*)
arg="${1#-l}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
libs+=("$arg")
;;
-Wl,*)
arg="${1#-Wl,}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
if [[ "$arg" = -rpath=* ]]; then
rpaths+=("${arg#-rpath=}")
elif [[ "$arg" = -rpath ]]; then
shift; arg="$1"
if [[ "$arg" != -Wl,* ]]; then
die "-Wl,-rpath was not followed by -Wl,*"
fi
rpaths+=("${arg#-Wl,}")
else
other_args+=("-Wl,$arg")
fi
;;
-Xlinker,*)
arg="${1#-Xlinker,}"
if [ -z "$arg" ]; then shift; arg="$1"; fi
if [[ "$arg" = -rpath=* ]]; then
rpaths+=("${arg#-rpath=}")
elif [[ "$arg" = -rpath ]]; then
shift; arg="$1"
if [[ "$arg" != -Xlinker,* ]]; then
die "-Xlinker,-rpath was not followed by -Xlinker,*"
fi
rpaths+=("${arg#-Xlinker,}")
else
other_args+=("-Xlinker,$arg")
fi
;;
*)
other_args+=("$1")
;;
esac
shift
IFS=':' read -ra env_set_varnames <<< "$SPACK_ENV_TO_SET"
for varname in "${env_set_varnames[@]}"; do
spack_varname="SPACK_ENV_SET_$varname"
export $varname=${!spack_varname}
unset $spack_varname
done
# Dump parsed values for unit testing if asked for
if [ -n "$SPACK_TEST_COMMAND" ]; then
IFS=$'\n'
case "$SPACK_TEST_COMMAND" in
dump-includes) echo "${includes[*]}";;
dump-libraries) echo "${libraries[*]}";;
dump-libs) echo "${libs[*]}";;
dump-rpaths) echo "${rpaths[*]}";;
dump-other-args) echo "${other_args[*]}";;
dump-all)
echo "INCLUDES:"
echo "${includes[*]}"
echo
echo "LIBRARIES:"
echo "${libraries[*]}"
echo
echo "LIBS:"
echo "${libs[*]}"
echo
echo "RPATHS:"
echo "${rpaths[*]}"
echo
echo "ARGS:"
echo "${other_args[*]}"
;;
*)
echo "ERROR: Unknown test command"
exit 1 ;;
esac
exit
fi
# Read spack dependencies from the path environment variable
IFS=':' read -ra deps <<< "$SPACK_DEPENDENCIES"
for dep in "${deps[@]}"; do
if [ -d "$dep/include" ]; then
includes+=("$dep/include")
fi
if [ -d "$dep/lib" ]; then
libraries+=("$dep/lib")
rpaths+=("$dep/lib")
fi
if [ -d "$dep/lib64" ]; then
libraries+=("$dep/lib64")
rpaths+=("$dep/lib64")
fi
done
# Include all -L's and prefix/whatever dirs in rpath
for dir in "${libraries[@]}"; do
[ "$dir" != "." ] && rpaths+=("$dir")
done
rpaths+=("$SPACK_PREFIX/lib")
rpaths+=("$SPACK_PREFIX/lib64")
# Put the arguments together
args=()
for dir in "${includes[@]}"; do args+=("-I$dir"); done
args+=("${other_args[@]}")
for dir in "${libraries[@]}"; do args+=("-L$dir"); done
for lib in "${libs[@]}"; do args+=("-l$lib"); done
if [ "$mode" = ccld ]; then
for dir in "${rpaths[@]}"; do
args+=("-Wl,-rpath")
args+=("-Wl,$dir");
done
elif [ "$mode" = ld ]; then
for dir in "${rpaths[@]}"; do
args+=("-rpath")
args+=("$dir");
done
fi
#
# Unset pesky environment variables that could affect build sanity.
#
unset LD_LIBRARY_PATH
unset LD_RUN_PATH
unset DYLD_LIBRARY_PATH
#
# Filter '.' and Spack environment directories out of PATH so that
# this script doesn't just call itself
#
IFS=':' read -ra env_path <<< "$PATH"
IFS=':' read -ra spack_env_dirs <<< "$SPACK_ENV_PATH"
spack_env_dirs+=(".")
spack_env_dirs+=("" ".")
PATH=""
for dir in "${env_path[@]}"; do
remove=""
for rm_dir in "${spack_env_dirs[@]}"; do
if [ "$dir" = "$rm_dir" ]; then remove=True; fi
done
if [ -z "$remove" ]; then
if [ -z "$PATH" ]; then
PATH="$dir"
else
PATH="$PATH:$dir"
addpath=true
for env_dir in "${spack_env_dirs[@]}"; do
if [[ $dir == $env_dir ]]; then
addpath=false
break
fi
done
if $addpath; then
PATH="${PATH:+$PATH:}$dir"
fi
done
export PATH
full_command=("$command")
full_command+=("${args[@]}")
if [[ $mode == vcheck ]]; then
exec ${command} "$@"
fi
# Darwin's linker has a -r argument that merges object files together.
# It doesn't work with -rpath.
# This variable controls whether they are added.
add_rpaths=true
if [[ ($mode == ld || $mode == ccld) && "$SPACK_SHORT_SPEC" =~ "darwin" ]]; then
for arg in "$@"; do
if [[ ($arg == -r && $mode == ld) || ($arg == -Wl,-r && $mode == ccld) ]]; then
add_rpaths=false
break
fi
done
fi
# Save original command for debug logging
input_command="$@"
args=("$@")
# Prepend cppflags, cflags, cxxflags, fcflags, fflags, and ldflags
# Add ldflags
case "$mode" in
ld|ccld)
args=(${SPACK_LDFLAGS[@]} "${args[@]}") ;;
esac
# Add compiler flags.
case "$mode" in
cc|ccld)
# Add c, cxx, fc, and f flags
case $lang_flags in
C)
args=(${SPACK_CFLAGS[@]} "${args[@]}") ;;
CXX)
args=(${SPACK_CXXFLAGS[@]} "${args[@]}") ;;
esac
;;
esac
# Add cppflags
case "$mode" in
cpp|as|cc|ccld)
args=(${SPACK_CPPFLAGS[@]} "${args[@]}") ;;
esac
case "$mode" in cc|ccld)
# Add fortran flags
case $lang_flags in
F)
args=(${SPACK_FFLAGS[@]} "${args[@]}") ;;
esac
;;
esac
# Read spack dependencies from the path environment variable
IFS=':' read -ra deps <<< "$SPACK_DEPENDENCIES"
for dep in "${deps[@]}"; do
# Prepend include directories
if [[ -d $dep/include ]]; then
if [[ $mode == cpp || $mode == cc || $mode == as || $mode == ccld ]]; then
args=("-I$dep/include" "${args[@]}")
fi
fi
# Prepend lib and RPATH directories
if [[ -d $dep/lib ]]; then
if [[ $mode == ccld ]]; then
if [[ $SPACK_RPATH_DEPS == *$dep* ]]; then
$add_rpaths && args=("$rpath$dep/lib" "${args[@]}")
fi
if [[ $SPACK_LINK_DEPS == *$dep* ]]; then
args=("-L$dep/lib" "${args[@]}")
fi
elif [[ $mode == ld ]]; then
if [[ $SPACK_RPATH_DEPS == *$dep* ]]; then
$add_rpaths && args=("-rpath" "$dep/lib" "${args[@]}")
fi
if [[ $SPACK_LINK_DEPS == *$dep* ]]; then
args=("-L$dep/lib" "${args[@]}")
fi
fi
fi
# Prepend lib64 and RPATH directories
if [[ -d $dep/lib64 ]]; then
if [[ $mode == ccld ]]; then
if [[ $SPACK_RPATH_DEPS == *$dep* ]]; then
$add_rpaths && args=("$rpath$dep/lib64" "${args[@]}")
fi
if [[ $SPACK_LINK_DEPS == *$dep* ]]; then
args=("-L$dep/lib64" "${args[@]}")
fi
elif [[ $mode == ld ]]; then
if [[ $SPACK_RPATH_DEPS == *$dep* ]]; then
$add_rpaths && args=("-rpath" "$dep/lib64" "${args[@]}")
fi
if [[ $SPACK_LINK_DEPS == *$dep* ]]; then
args=("-L$dep/lib64" "${args[@]}")
fi
fi
fi
done
# Include all -L's and prefix/whatever dirs in rpath
if [[ $mode == ccld ]]; then
$add_rpaths && args=("$rpath$SPACK_PREFIX/lib64" "${args[@]}")
$add_rpaths && args=("$rpath$SPACK_PREFIX/lib" "${args[@]}")
elif [[ $mode == ld ]]; then
$add_rpaths && args=("-rpath" "$SPACK_PREFIX/lib64" "${args[@]}")
$add_rpaths && args=("-rpath" "$SPACK_PREFIX/lib" "${args[@]}")
fi
# Set extra RPATHs
IFS=':' read -ra extra_rpaths <<< "$SPACK_COMPILER_EXTRA_RPATHS"
for extra_rpath in "${extra_rpaths[@]}"; do
if [[ $mode == ccld ]]; then
$add_rpaths && args=("$rpath$extra_rpath" "${args[@]}")
elif [[ $mode == ld ]]; then
$add_rpaths && args=("-rpath" "$extra_rpath" "${args[@]}")
fi
done
# Add SPACK_LDLIBS to args
case "$mode" in
ld|ccld)
args=("${args[@]}" ${SPACK_LDLIBS[@]}) ;;
esac
full_command=("$command" "${args[@]}")
# In test command mode, write out full command for Spack tests.
if [[ $SPACK_TEST_COMMAND == dump-args ]]; then
echo "${full_command[@]}"
exit
elif [[ -n $SPACK_TEST_COMMAND ]]; then
die "ERROR: Unknown test command"
fi
#
# Write the input and output commands to debug logs if it's asked for.
#
if [ "$SPACK_DEBUG" = "TRUE" ]; then
if [[ $SPACK_DEBUG == TRUE ]]; then
input_log="$SPACK_DEBUG_LOG_DIR/spack-cc-$SPACK_SHORT_SPEC.in.log"
output_log="$SPACK_DEBUG_LOG_DIR/spack-cc-$SPACK_SHORT_SPEC.out.log"
echo "$input_command" >> $input_log
echo "$mode ${full_command[@]}" >> $output_log
echo "[$mode] $command $input_command" >> "$input_log"
echo "[$mode] ${full_command[@]}" >> "$output_log"
fi
exec "${full_command[@]}"

1
lib/spack/env/clang/clang vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/clang/clang++ vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/clang/gfortran vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/cray/CC vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/cray/cc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/cray/ftn vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/craype/CC vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/craype/cc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/craype/ftn vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/gcc/g++ vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/gcc/gcc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/gcc/gfortran vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/intel/icc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/intel/icpc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/intel/ifort vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/nag/nagfor vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/pgi/pgc++ vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/pgi/pgcc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/pgi/pgfortran vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/xl/xlc vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/xl/xlc++ vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/xl/xlf vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

1
lib/spack/env/xl/xlf90 vendored Symbolic link
View File

@@ -0,0 +1 @@
../cc

View File

@@ -1,26 +1,26 @@
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Copyright (c) 2013-2016, 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.
# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/spack
# 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.
# 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 General Public License for more details.
# 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
# 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
##############################################################################
"""
This module contains external, potentially separately licensed,
@@ -28,6 +28,22 @@
So far:
argparse: We include our own version to be Python 2.6 compatible.
pyqver2: External script to query required python version of python source code.
Used for ensuring 2.6 compatibility.
distro: Provides a more stable linux distribution detection.
functools: Used for implementation of total_ordering.
jsonschema: An implementation of JSON Schema for Python.
ordereddict: We include our own version to be Python 2.6 compatible.
py: Needed by pytest. Library with cross-python path,
ini-parsing, io, code, and log facilities.
pyqver2: External script to query required python version of
python source code. Used for ensuring 2.6 compatibility.
pytest: Testing framework used by Spack.
yaml: Used for config files.
"""

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