Commit graph

1015 commits

Author SHA1 Message Date
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
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
Adam J. Stewart
bb04d5cc63 Fix grammar in mirrors documentation 2016-03-16 14:27:22 -05: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
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
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
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
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
Elizabeth F
5c865b9b70 Fixed typo in typo fix. 2016-03-13 19:44:04 -04:00
Elizabeth F
3383486adc Fixed typo bug. Made error comment more explicit 2016-03-13 19:39:45 -04: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
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
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
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
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
097df180e2 Merge pull request #493 from adamjstewart/features/pgi
Modifications to get PGI working
2016-03-05 14:19:15 -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
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
5db9673904 Typo fix in compiler docstring 2016-03-04 10:51:41 -06: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
c5d9ee8924 Revert "refactoring proposal : turn Stage into a context manager" 2016-03-03 14:41:20 -08:00
Luigi Calori
a531a4f5e3 help spack versions paraview to get versions without v 2016-03-03 18:00:50 +01: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
Glenn Johnson
6bbadbfaac Add CPATH pointing to include directories. 2016-03-02 13:18:43 -06: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
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
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
Adam J. Stewart
a9f0b98d4d Typo fix 2016-03-01 15:53:53 -06: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
Ian Lee
67f327f805 Updated links to use new llnl.gov address 2016-02-28 19:47:19 -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
alalazo
6f42dd556d stage : on-going refactoring 2016-02-24 17:37:58 +01:00
alalazo
5ce97eeda5 intel : polished code 2016-02-24 09:17:04 +01:00
Massimiliano Culpo
4316f1cd31 Modified wrapper to have a different behavior when modeis vcheck 2016-02-23 16:57:19 +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
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
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
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
Erik Schnetter
ff81aff254 Remove source-code optimization and cleanup 2016-02-12 13:05:42 -05:00
Erik Schnetter
64436e7752 Merge branch 'develop' into correct-cc 2016-02-12 12:55:26 -05:00
David Beckingsale
90e1b1f0ea Use hash to make shorter module and dotkit names, fixes #433 2016-02-12 09:33:19 -08:00
Todd Gamblin
bcf705b85e Merge pull request #432 from RemoteConnectionManager/paraview_fix
Paraview fix
2016-02-10 13:59:08 -08: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
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
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
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