summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
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-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
2015-12-20Merge pull request #255 from LLNL/bugfix/254-libtool-compiler-name-issuesTodd Gamblin23-15/+77
Fix #254: libtool & distutils want certain compiler names.
2015-12-19Merge pull request #227 from trws/fetch-depsTodd Gamblin3-3/+24
fetch: add options to fetch missing or all deps
2015-12-19Merge pull request #230 from nolta/fix-env-mod-sys-typeTodd Gamblin1-2/+8
fix environment module path when $SYS_TYPE isn't defined
2015-12-19Fix stale code in python version test so that it actually works.Todd Gamblin2-5/+2
2015-12-19spack python: add -c optionMike Nolta1-2/+8
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-19Merge pull request #253 from LLNL/bugfix/244-uninstall-errorsGregory Lee5-13/+37
Bugfix/244 uninstall errors
2015-12-19Fix #254: libtool & distutils want certain compiler names.Todd Gamblin23-15/+77
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-18Fix #244: errors on uninstallTodd Gamblin2-9/+23
- 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-18minor formatting.Todd Gamblin1-0/+8
2015-12-18Fix import error.Todd Gamblin1-0/+1
2015-12-18Format to 80 char width.Todd Gamblin1-4/+5