Commit graph

1113 commits

Author SHA1 Message Date
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
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
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
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
Glenn Johnson
b19d6ab9c5 Check for non-numeric bits in the stem. 2016-04-06 19:08:01 -05: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
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
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
e104592e1f Merge pull request #738 from eschnett/eschnett/cleanup-cc
Clean up cc script
2016-04-05 10:50:45 -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
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
d546d828d3 module file : added filtering based on environment variable name 2016-04-05 13:20:28 +02:00
Todd Gamblin
0296f96c7b Resolves #739. Don't call setup_dependent_* for package itself. 2016-04-04 13:56:15 -07:00
Erik Schnetter
0ff059e388 Clean up comments and output messages 2016-04-04 16:00:09 -04:00
Erik Schnetter
83d6e04d39 Convert = to == in tests; untabify 2016-04-04 15:38:21 -04:00
Erik Schnetter
7bc28cc334 Clean up cc script 2016-04-04 14:33:48 -04:00
Todd Gamblin
5084130e71 Merge pull request #715 from citibeth/efischer/160401-EnvironmentModules
Added Environment Modules
2016-04-04 10:41:54 -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
a6c1cfe037 Merge pull request #670 from epfl-scitas/uninstall_improved
enhancement : recursive uninstallation of dependent packages
2016-04-04 10:04:14 -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
Elizabeth F
2f4d8a634d Fix conditional extends (BUG #683) 2016-04-03 21:41:46 -04:00
citibeth
459aab628d Added documentation for installing Environment Modules with Spack. 2016-04-01 16:00:58 -04:00
Todd Gamblin
220c72d67f Merge branch 'features/blas-lapack-hardening' into develop 2016-03-31 11:37:09 -07:00
Todd Gamblin
a670408617 Quick fix for pkg diff. 2016-03-31 11:34:27 -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
Massimiliano Culpo
4f6320a7eb uninstall : added unit tests 2016-03-31 13:22:48 +02:00
Massimiliano Culpo
dd1c667d8d uninstall : changed error message 2016-03-30 16:10:20 +02:00
Massimiliano Culpo
653d7c5257 uninstall : minor fixes 2016-03-29 17:28:46 +02: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
e1fdd4341b Merge branch 'eschnett-correct-cc' into develop 2016-03-29 04:16:18 -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
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
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
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
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
Massimiliano Culpo
e0f463c4f9 uninstall : added recursive option 2016-03-27 23:56:41 +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
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
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
Adam J. Stewart
9985816642 Fix spack info indentation 2016-03-24 14:49:41 -05:00
alalazo
758a9c9096 python extensions : create PYTHONPATH in module files 2016-03-24 10:57:46 +01:00
alalazo
f095e619b9 module files configuration : enable/disable logic is now positive 2016-03-24 09:31:28 +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
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
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
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
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
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
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
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
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
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
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
Erik Schnetter
84b7cd593f Merge branch 'develop' into correct-cc
# Conflicts:
#	lib/spack/env/cc
2016-03-17 21:52:24 -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
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