Commit graph

882 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
Matthew LeGendre
87db69478d Merge branch 'develop' into features/external-packages
Conflicts:
	lib/spack/spack/package.py
2016-03-09 11:09:37 -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
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
Todd Gamblin
a4861a3072 Minor changes/bugfixes on md5/checksum PR 2016-03-08 10:39:46 -08: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
alalazo
77ec27c730 fixed bug : similar issues in checksum and md5 as were solved in ad103dcafa 2016-03-08 11:09:41 +01: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
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
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