summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2016-03-13Fixed for Python 2.6Elizabeth F1-1/+1
2016-03-13(1) Added "spack spconfig" command.citibeth2-33/+197
(2) Neatened up the spconfig.py auto-generated file.
2016-03-11A new subclass StagedPackage(Package) is introduced. This PR shouldElizabeth F1-2/+98
not change the behavior for existing packages that subclass from spack.Package. If a package subclasses spack.StagedPackage instead of spack.Package, the install() phase (run inside a forked process) is now separated into sub-stages: a) spconfig: Generate a script spconfig.py that will configure the package (eg by running CMake or ./configure) This is for use if the user wishes to build externally from Spack. Therefore, the Spack compiler wrappers are NOT used here. Currently, that means that RPATH support is up to the user. b) configure: Configure the project (eg: runs configure, CMake, etc). This will configure it for use within Spack, using the Spack wrapper. c) build: eg: "make" d) install: eg: "install" If one chooses to use StagedPackage instead of Package, then one must implement each of the install sub-stages as a separate method. StagedPackage.install() then calls each of the sub-stages as appropriate. StagedPackage can be configured to only run certain sub-stages. This is done by setting the optional kwarg install_phases when calling do_install(). Setting install_phases() ONLY has an effect on StagedPackage, not on any existing packages. By default, install_phases is set to make StagedPackage run the same stages that are normally run for any package: configure, build, install (and NOT spconfig). The ability for Spack to run stages selectively for StagedPackage instances will enable new functionality. For example, explicit CMake/Autotools helpers that allow Spack to help configure a user's project without fetching, building or installing it. ------------- One implementation of StagedPackage is provided, CMakePackage. This has the following advantage for CMake-based projects over using the standard Package class: a) By separating out the phases, it enables future new functionality for packages that use it. b) It provides an implementation of intall_spconfig(), which will help users configure their CMake-based projects. CMakePackage expects users to implement configure_args() and configure_env(). These methods provide the package-specific arguments and environment needed to properly configure the package. They are placed in separated functions because they are used in both the spconfig and configure stages. TODO: 1. Generate spconfig.py scripts that are more readable. This allows the users to understand how their project is configured. 2. Provide a practical way for the user to ACCESS the spconfig stage without building the project through Spack. 3. The CMAKE_TRANSITIVE_INCLUDE_PATH stuff needs to be reworked; it should be considered provisional for now. 4. User of Autotools might wish to make a similar ConfigurePackage subclass of StagedPackage. --------------- One package using CMakePackage is introduced. See ibmisc/package.py.
2016-03-11Merge pull request #536 from adamjstewart/fixes/doc_typosbecker332-7/+7
Documentation typo fixes
2016-03-11Documentation typo fixesAdam J. Stewart2-7/+7
2016-03-11Invert and rename the `nobuild` option in package.yaml configs to `buildable`.Matthew LeGendre4-22/+21
2016-03-10Merge pull request #532 from mplegendre/bugfix/ordering_satisfiesTodd Gamblin1-7/+10
Fix issue with preferred satisfies not being respected
2016-03-10Fix issue with preferred satisfies not being respectedMatthew LeGendre1-7/+10
2016-03-10Merge pull request #531 from mplegendre/bugfix/github-530Todd Gamblin1-1/+1
Fix type error that was causing mis-ordering of compiler versions
2016-03-10Fix type error that was causing mis-ordering of compiler versionsMatthew LeGendre1-1/+1
2016-03-10Indentation change.Todd Gamblin1-11/+11
2016-03-10Merge branch 'mplegendre-features/external-packages' into developTodd Gamblin15-180/+975
2016-03-10cc : handle spaces in folders?alalazo1-1/+1
2016-03-10cc : converted indents to spacesalalazo1-1/+1
2016-03-10Fixed shell quoting errorMassimiliano Culpo1-1/+1
2016-03-10Merge branch 'develop' of https://github.com/LLNL/spack into fixes/intel_openmpiMassimiliano Culpo72-779/+1250
2016-03-10Add 'provders' back into packages.yaml schemaTodd Gamblin1-2/+11
2016-03-10Merge branch 'mplegendre-features/external-packages' into developTodd Gamblin15-180/+966
2016-03-10Refactored external packages slightly.Todd Gamblin4-84/+158
- 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-10whitespace and formattingTodd Gamblin2-23/+23
2016-03-10Remove vestigial variants in directory name.Todd Gamblin1-5/+1
2016-03-10Minor tweaks to abi code.Todd Gamblin1-18/+18
2016-03-10remove unnecessary importTodd Gamblin1-1/+0
2016-03-10update mirror config documentation.Todd Gamblin1-5/+5
- mirrors.yaml uses Spack's OrderedDict rather than lists.
2016-03-09Fix #525: sbang handles symlinks & directories properly.Todd Gamblin1-11/+32
2016-03-09Add unit test for sbang patching.Todd Gamblin2-6/+100
2016-03-09Merge branch 'features/external-packages' of github.com:mplegendre/spack ↵Matthew LeGendre1-2/+2
into features/external-packages Conflicts: lib/spack/docs/site_configuration.rst
2016-03-09Update documentation for new packages.yaml config format.Matthew LeGendre2-53/+49
2016-03-09Fix problem with pure integer arguments in preferred versions list (e.g, 2 ↵Matthew LeGendre2-5/+6
instead of 2.7.3)
2016-03-09Fixes #524Todd Gamblin3-17/+49
- 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-09Merge branch 'develop' into features/external-packagesMatthew LeGendre77-1047/+1681
Conflicts: lib/spack/spack/package.py
2016-03-09fix error exit when doing spack patch without parameters, same as spack stageLuigi Calori1-0/+1
2016-03-08Fix bugs in DIYStage: fetch & context handling.Todd Gamblin1-1/+5
- DIYStage needs to be a context handler - DIYStage.fetch needs to take 2 args.
2016-03-08Make diy generate verbose build output by default.Todd Gamblin1-0/+4
- added -q option to shut it up
2016-03-08Fix bug with setting module-scope vars in derived package classes.Todd Gamblin1-2/+0
2016-03-08Minor changes/bugfixes on md5/checksum PRTodd Gamblin4-9/+6
2016-03-08Merge branch 'fixes/md5' of git://github.com/epfl-scitas/spack into ↵Todd Gamblin4-54/+46
epfl-scitas-fixes/md5
2016-03-08Merge pull request #504 from LLNL/bugfix/github-502Todd Gamblin2-80/+91
Bugfix/GitHub 502: Error: No spec file found at path
2016-03-08Merge branch 'features/noexpand' into developTodd Gamblin6-20/+102
Conflicts: lib/spack/llnl/util/filesystem.py
2016-03-08Fixes #502. Create install prefix before build, clean up do_install.Todd Gamblin2-80/+91
- 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-08fixed bug : similar issues in checksum and md5 as were solved in ↵alalazo4-54/+46
ad103dcafa652a839590f5fce28b2e2ce3b5a56d
2016-03-07Merge pull request #486 from RemoteConnectionManager/paraview_fixTodd Gamblin1-1/+1
Paraview new version
2016-03-07Merge branch 'features/repos-doc-fix' into developTodd Gamblin4-29/+44
2016-03-07Fix code block in docs.Todd Gamblin1-17/+19
2016-03-07Fix bug in -Xlinker argument handlingTodd Gamblin2-8/+9
- also update test to match.
2016-03-06Merge branch 'eschnett/rpath-comma' of git://github.com/eschnett/spack into ↵Todd Gamblin4-19/+30
eschnett-eschnett/rpath-comma
2016-03-06Don't quote -rpath literalErik Schnetter1-3/+3
2016-03-06Fix docs that have gone stale since repos were added.Todd Gamblin3-12/+25
2016-03-06Merge branch 'features/sbang' into developTodd Gamblin2-1/+87
Conflicts: lib/spack/llnl/util/filesystem.py
2016-03-06Make spack_cc, spack_cxx, spack_f77, spack_fc available in build env.Todd Gamblin2-0/+16
- Add for convenience for packages that need to refer to these. - Added an example in the documentation.