summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2016-01-21Refactor args for Executable.__call__Todd Gamblin10-57/+113
- 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-20Merge pull request #350 from adamjstewart/features/nagTodd Gamblin5-4/+39
Add NAG Fortran Compiler support
2016-01-20Fixed typo when running spack helpAdam J. Stewart1-1/+1
2016-01-20Redirect STDERR to STDOUT for compiler versionAdam J. Stewart1-1/+2
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-19typos: fix some letter transposesBen Boeckel2-2/+2
2016-01-19Modify nag.py to match new compiler package structureAdam J. Stewart1-0/+9
2016-01-19Add symlink for NAG Fortran CompilerAdam J. Stewart1-0/+1
2016-01-19Merge branch 'develop' into features/nagAdam J. Stewart145-889/+20826
* 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-19Simplify output redirection in spack.util.executableTodd Gamblin2-16/+11
- 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-19Allow completely empty config files.Todd Gamblin1-3/+3
- Previous version would give validation error for an empty file. Now this is properly ignored. - Also includes bugfix in ConfigFormatError
2016-01-19Merge branch 'mplegendre-multi_pkgsrc_roots' into developTodd Gamblin91-844/+6903
- 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-17Merge pull request #202 from scheibelp/features/unittest-xml-output-noseTodd Gamblin55-31/+13898
Features/unittest xml output nose
2016-01-17Fix create, diy, edit, and repo commands to use multiple repos.Todd Gamblin6-92/+247
2016-01-17Add namespace option to find command.Todd Gamblin1-9/+18
2016-01-17Temporary fix: Clang is the default compiler on Mac OS X.Todd Gamblin1-1/+6
2016-01-14update compiler config test.Todd Gamblin1-33/+37
2016-01-14add sanity check on config write as well as validation on read.Todd Gamblin1-0/+6
2016-01-14Add jsonschema validation for config files.Todd Gamblin24-43/+4168
2016-01-14Make text wrapping off by default in tty, add a kwarg for it.Todd Gamblin3-21/+60
2016-01-13Add NAG Fortran Compiler supportAdam J. Stewart3-3/+27
2016-01-03add/remove/list working for new config format.Todd Gamblin8-109/+221
- 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-03Add Python 3 aliases to our argparse backport.Todd Gamblin1-5/+17
2016-01-02All tests that call concretize() need to be MockPackagesTests.Todd Gamblin1-1/+5
2016-01-02Fix bug in tests.Todd Gamblin2-14/+17
2015-12-30significant llvm updateTom Scogland1-8/+14
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-30allow nested resourcesTom Scogland1-1/+3
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-30adding errno import for the deep directory creation patchTom Scogland1-0/+1
2015-12-30create leading directories for resourcesTom Scogland1-1/+8
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-28Rework mirror configuration.Todd Gamblin2-12/+44
- 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-28Rework compiler configuration and simplify config.py logic.Todd Gamblin4-73/+124
- `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-27Remove mock_configs; tests no longer modify spack home directory.Todd Gamblin2-6/+30
2015-12-27Add custom YAML loader & dumper to track lines & maintain dict order.Todd Gamblin6-43/+351
- 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-27Uncomment disabled tests.Todd Gamblin1-2/+2
2015-12-26Merge pull request #277 from LLNL/bugfix/vcs-mirror-fetchTodd Gamblin2-16/+41
Fix #85 and #228: errors fetching VCS packages from a mirror.
2015-12-25Default to scope with highest precedence instead of user scope,Todd Gamblin2-2/+10
- Generalizes config scopes a bit more: nothing assumes there is a 'user' scope (this would break testing sometimes).
2015-12-25Merge branch 'develop' into mplegendre-multi_pkgsrc_rootsTodd Gamblin163-431/+839
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-25Rework Spack config: keep user & site config in memory.Todd Gamblin10-268/+284
- 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-24Fix #154 -- better log messages for do_patch()Todd Gamblin1-11/+29
2015-12-23Fix #85 and #228: errors fetching VCS packages from a mirror.Todd Gamblin2-16/+41
- 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-23Fix #235: Smarter web spidering -- use parsed links instead of reconstructing.Todd Gamblin4-82/+183
- 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-22Fix bug in URL regex.Todd Gamblin1-1/+1
2015-12-22revert accidental print statements.Todd Gamblin1-5/+0
2015-12-22More consistent URL parsing when finding versions.Todd Gamblin2-4/+10
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-22Merge pull request #261 from LLNL/features/prefer-versions-in-packagesTodd Gamblin1-2/+9
Add ability to prefer particular versions in packages.
2015-12-22Merge pull request #264 from nolta/typosTodd Gamblin1-1/+1
fix a few comment typos
2015-12-22Slightly more robust tmp directory search.Todd Gamblin1-4/+12
- 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-21fix a few comment typosMike Nolta1-1/+1
2015-12-21fix #249 (tmp spack-stage directories conflict)Mike Nolta1-2/+3
2015-12-21Add ability to prefer particular versions in packages.Todd Gamblin1-2/+9
- 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-21Merge pull request #208 from epfl-scitas/features/resource_directiveTodd Gamblin6-36/+220
resource directive : implementation + clang / llvm use case