summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2018-12-20Performance improvements for CDash reporterZack Galbreath1-9/+12
* Record build output as an array of lines rather than concatenating to a single large string. * Use string.find to avoid running re.search on every line of output.
2018-12-20Include accurate build time in CDash reportZack Galbreath1-6/+10
2018-12-20Report current git commit of Spack to CDashZack Galbreath1-6/+23
When using the CDash reporter, upload a Update.xml file that indicates the hash of Spack's current git commit.
2018-12-20Make sure to urlencode cdash submit parametersScott Wittenburg1-3/+9
2018-12-20Get buildId from CDash at submit timeZack Galbreath1-2/+21
Pass extra data when submitting to CDash. If CDash responds with a buildId, construct and display helpful URL that links to the uploaded report.
2018-12-20Allow more customization for CDash reporterZack Galbreath6-22/+61
Add new command line arguments to `spack install` that allow users to set the build name, site name, and track in their CDash report.
2018-12-20Avoid UnboundLocalErrorZack Galbreath1-0/+1
Make sure cdash_phase is defined before referring to it.
2018-12-19env: all commands that disambiguate specs should be env-awareTodd Gamblin19-26/+55
- some commands were missed in the rollout of spack environments - this makes all commands that need to disambiguate specs restrict the disambiguation to installed packages in the active environment, as users would expect
2018-12-19fetch_strategy: improve GitFetchStrategy (#10153)Michael Kuhn1-11/+16
Currently, only the Git repsository's URL shows up in the `spack info` output, which makes it hard to distinguish different versions: ``` Safe versions: develop [git] https://github.com/LLNL/H5Z-ZFP.git 0.8.0 [git] https://github.com/LLNL/H5Z-ZFP.git 0.7.0 [git] https://github.com/LLNL/H5Z-ZFP.git ``` This change adds additional information as shown when cloning a Git repository: ``` Safe versions: develop [git] https://github.com/LLNL/H5Z-ZFP.git on branch master 0.8.0 [git] https://github.com/LLNL/H5Z-ZFP.git at commit af165c4 0.7.0 [git] https://github.com/LLNL/H5Z-ZFP.git at commit 58ac811 ```
2018-12-18Add additional info to MesonPackage docs (#10133)Adam J. Stewart1-0/+44
* Add additional info to MesonPackage docs * No Pygments lexer for Meson code, default to none
2018-12-17Add help messages to spack gpg subcommands (#10117)Adam J. Stewart1-8/+16
2018-12-17spack buildcache: --allow_root -> --allow-root (#10115)Adam J. Stewart1-2/+2
2018-12-16mirrors: patches are now properly added to mirrors (#8993)Peter Scheibel6-59/+107
* This fixes a number of bugs: * Patches were not properly downloaded and added to mirrors. * Mirror create didn't respect `list_url` in packages * Update the `spack mirror` command to add all packages in the concretized DAG (where originally it only added the package specified by the user). This is required in order to collect patches that are specified by dependents. Example: * if X->Y and X requires a patch on Y called Pxy, then Pxy will only be discovered if you create a mirror with X. * replace confusing --one-version-per-spec option for `spack mirror create` with --versions-per-spec; support retrieving multiple versions for concrete specs * Implementation details: * `spack mirror create` now uses regular staging logic to download files into a mirror, instead of reimplementing it in `add_single_spec`. * use a separate resource caching object to keep track of new resources and already-existing resources; also accepts storing resources retrieved from a cache (unlike the local cache) * mirror cache object now stores resources that are considered non-cachable, like (e.g. the tip of a branch); * the 'create' function of the mirror module no longer traverses dependencies since this was already handled by the 'mirror' command; * Change handling of `--no-checksum`: * now that 'mirror create' uses stages, the mirror tests disable checksums when creating the mirror * remove `no_checksum` argument from library functions - this is now handled at the Spack-command-level (like for 'spack install')
2018-12-15spack pkg add: add help message (#10116)Adam J. Stewart1-0/+1
2018-12-14Fix spack package inheritance for module variables (#10097)Greg Becker3-25/+37
* we weren't properly setting module variables for the root package in a DAG -- just for transitive dependencies.
2018-12-10Make downloads from list_url deterministic (#10047)Adam J. Stewart1-1/+1
2018-12-06multimethod: slight refactoring, documentation for code reviewGregory Becker3-39/+44
2018-12-06fix MRO for multimethod.__call__ using iterative algorithm.Gregory Becker2-9/+59
Add tests MRO for inherited multimethods with multiple inheritance Add tests for inherited and overridden multimethods
2018-12-06tests: fully parametrize multimethod testTodd Gamblin1-37/+47
- all multimethod tests are now run for both `multimethod` and `multimethod-inheritor` - do this with a parameterized fixture (pkg_name) that runs the same tests on both
2018-12-06multimethod uses Spec() instead of parse_anonymous_spec()Todd Gamblin2-21/+11
- simplify logic in multimethod - remove the requirement of multimethod invocations to walk up the stack.
2018-12-06spec: refactor and clean up Spec initializationTodd Gamblin2-206/+248
- Since early Spack versions, the SpecParser has (weirdly) been responsible for initializing Spec fields. - This refactors initialization to take place in Spec.__init__, as it probably should have originally. - This makes the code easier to read, the parser easier to understand, and removes the use of __new__ in the parser to initialize the Spec. - This also makes it possible to make a completely empty Spec with `Spec()` -- this is an abstract Spec that will match anything.
2018-12-06Added test for multimethod inheritanceGregory Becker1-0/+4
2018-12-04improved constraint conflict error message (#9975)Peter Scheibel1-2/+8
2018-11-28Injected flags have a consistent order (#9960)Massimiliano Culpo4-16/+30
Fixes #9908 Spack was assembling flags in a manner that could in different orderings for repeated concretizations of the same spec and config
2018-11-27Expose option to save all dependencies when writing spec.yaml (#9965)Scott Wittenburg1-2/+2
2018-11-16intel-mkl: fix usage of openmp_libs and tbb_libs (#9863)Denis Davydov1-3/+3
* intel-mkl: fix usage of openmp_libs and tbb_libs * intel-mkl: remove trailing whitespace from openmp lib
2018-11-13Fix bugs in Modules Tutorial (#9821)Adam J. Stewart1-3/+3
Found a couple bugs while trying to copy and paste the exact tutorial content.
2018-11-12Fix typos in Build Systems Tutorial (#9822)Adam J. Stewart1-4/+4
2018-11-12docs: update tutorial slide link for SC18Todd Gamblin1-8/+8
2018-11-12version bump: v0.12.0Todd Gamblin1-1/+1
2018-11-12docs: add environments tutorialTodd Gamblin2-4/+821
- tutorial goes through three sections: - installing and uninstalling environments - dealing with many specs - spack.yaml and spack.lock and workflows
2018-11-11Updates to Configuration Tutorial for SC18 (#9811)Adam J. Stewart1-176/+242
* Updates to Configuration Tutorial for SC18 * Suggested rewording
2018-11-11Consistent capitalization of Build Caches docs for SC18 (#9810)Adam J. Stewart1-1/+1
2018-11-11Minor changes to Build Settings docs (#9808)Adam J. Stewart1-25/+27
2018-11-11Minor changes to Basic Settings docs for SC18 (#9809)Adam J. Stewart1-13/+13
Grammar/spelling issues
2018-11-11Update basic usage and modules tutorial (#9807)Greg Becker3-1148/+1149
* "spack install" now uses cache by default, update examples accordingly * Replace some example packages with others * Packing tutorial reference to "spack env" replaced with "spack build-env" * Command line prompts in examples are shortened * Example output (including paths) are updated to be more relevant to training environment
2018-11-11Advanced packaging tutorial: reorganize for binary caches (#9804)Peter Scheibel1-145/+157
Update all examples that need an MPI provider to build with MPICH; reorganize so that fixing MPICH (as part of environment section) comes first in the tutorial (most examples in the tutorial use an MPI provider).
2018-11-11env: uninstall just removes specs that are still needed by other envsTodd Gamblin1-51/+107
- previously, uninstall would complain if a spec was needed by an environment. - Now, we analyze dependents and dependent environments and simply remove (not uninstall) specs that are needed by environments
2018-11-11bugfix: preserve abstract specs when installing an environmentTodd Gamblin2-9/+9
- `spack install` was setting the root to be the concrete spec - abstract spec is now preserved
2018-11-11env: fix display of concretized specs in `spack find`Todd Gamblin1-5/+3
- fix highlighting of roots in concretized specs in `spack find` - tighten up the `spack find` output in environments
2018-11-11env: make `spack config edit` and `spack config get` environment-awareTodd Gamblin5-27/+183
- with no arguments, these commands will now edit or dump the environment's `spack.yaml` file. - users may not know where named environments live - this makes it convenient for users to get to the spack.yaml configuration file for their named environment.
2018-11-11bugfix: make defaults consistent --use-cache and --no-cache (#9803)Todd Gamblin1-3/+3
2018-11-11Update buildsystem tut (#9795)Mario Melara2-45/+54
* Update Makefile to use property methods ("build_targets"/"install_targets") to demonstrate their usage * Fix highlighting * Change cbench example to ESMF: CBench package file was changed and no longer uses the example shown in the old docs
2018-11-11Updates to Configuration Files docs for SC18 (#9801)Adam J. Stewart2-139/+138
Scopes added with -C are now referred to as "custom scopes" rather than "command line scopes". "command line scope" now refers to specific config options that are set on the command line (like "--insecure")
2018-11-09install: add --use-cache back so that existing tooling does not break (#9797)Todd Gamblin1-2/+8
- default is still to use the cache, but we've added back the `--use-cache` argument so that scripts that used it are still correct. - `--no-cache` is stil present and is mutually exclusive with `--use-cache`
2018-11-09Introduce fftw-api virtual package for Intel-MKL and FFTW (#9618)Nichols A. Romero1-2/+5
* Introduce FFTW2 and FFT3 providers for Intel-MKL and FFTW Spack packages. * make fftw default package for fftw-api virtual package * virtual package test assertion now provides location of default virtual packages. * Change name of virtual package to fftw-api and used versioned interface.
2018-11-09buildcache: update `spack install` to use build cache by default (#9772)Greg Becker4-7/+11
2018-11-09env: clean up command access to the active environmentTodd Gamblin5-40/+51
- all commands (except `spack find`, through `ConstraintAction`) now go through get_env() to get the active environment - ev.active was hard to read -- and the name wasn't descriptive. - rename it to _active_environment to be more descriptive and to strongly indicate that spack.environment manages it
2018-11-09env: only add `concrete` attribute to abstract specsTodd Gamblin1-3/+4
- to aovid changing spec hashes drastically, only add this attribute to differentiated abstract specs. - othherwise assume that read-in specs are concrete
2018-11-09env: make environment search more consistent; simplify codeTodd Gamblin4-105/+105
- spack.yaml files in the current directory were picked up inconsistently -- make this a sure thing by moving that logic into find_environment() and moving find_environment() to main() - simplify arguments to Spack command: - remove short args for infrequently used commands (--pdb/-D, -P, -s) - `spack -D` now forces an env with a directory