summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2017-02-03Fix spec hash printing (#2941)becker336-18/+18
- Fix format printing to match command line for hashes and full name formats - Update spack graph to use new format - Changed format string signifier for hashes from `$#` to `$/`
2017-02-03Make module autoload warnings configurable (#2763)George Hartzell1-3/+24
Modules generated by the module creation machinery currently print out a notice that warnts the user that things are being autoloaded. In some situations those warnings are problematic. See #2754 for discussion. This is a first cut at optionally disabling the warning messages: - adds a helper tothe EnvModule base class that encapsulates the config file variable; - adds a method to the base class that provides a default (empty) code fragment for generating a warning message; - passes the warning fragment into the bit that formats the autoload string; - adds specialized autload_warner() methods in the tcl and lmod subclasses;; and finally - touches up the autoload_format strings in the specialized classes.
2017-02-03Blacklist implicit packages for modulefile generation (#2603)George Hartzell2-1/+21
Add the ability to the modules generation process to blacklist packages that were installed implicitly. One can still whitelist modules that were installed implicitly. This changes adds a `blacklist_implicts` boolean as a peer to the `whitelist` and `blacklist` arrays, e.g.: ``` modules: enable:: - lmod lmod: whitelist: - 'lua' - 'py-setuptools' blacklist: - '%gcc@4.8.3' blacklist_implicits: True ``` It adds a small helper in `spec.py` and then touches up the package filtering code in `modules.py`.
2017-01-31Change default fflags for XL compiler to only "-qzerosize" (#2966)serbanmaerean2-14/+2
2017-01-31Add installcheck phase to AutotoolsPackage (#2863)Adam J. Stewart2-0/+33
* Add installcheck phase to AutotoolsPackage * Update installcheck phase with new callbacks API * build_directory has been converted to a property
2017-01-31DOCS: Examplify what file types are automatically extracted (#2955)Henrik Bengtsson1-3/+3
2017-01-31Refactor Spack's URL parsing commands (#2938)Adam J. Stewart7-312/+797
* Replace `spack urls` and `spack url-parse` with `spack url` * Allow spack url list to only list incorrect parsings * Add spack url test reporting * Add unit tests for new URL commands
2017-01-31removed call syntax from property fixes #2944 (#2945)Massimiliano Culpo1-1/+1
2017-01-31Add several new R packages (#2952)Adam J. Stewart1-0/+1
* Add several new R packages * Add a few more R packages * Update more versions * Convert Package to RPackage * Add a few more packages * Add missing dependencies
2017-01-27Fix ambiguous hash message generation. (#2940)becker331-4/+4
* Fix ambiguous hash message generation. Engineering fix
2017-01-26Standardize argparse help messages (#2847)Adam J. Stewart54-252/+252
2017-01-26Packaging docs for MPI (#2838)Todd Gamblin1-283/+447
* Add MPI docs to packaging guide and simplify packaging guide TOC a bit.
2017-01-26AutotoolsPackage: minor improvements (#2859)Massimiliano Culpo4-25/+95
* AutotoolsPackage: added configure_directory to permit build out of source. The configure script executable is now invoked with an absolute path. Modified a few packages accordingly. * build_systems: functions returning directories are now properties * build_systems: fixed issues with tcl and tk * AutotoolsPackage: reworked recipe for autoreconf
2017-01-26Use codecov for coverage instead of coveralls (#2933)Todd Gamblin2-7/+144
* Switch from coveralls to codecov - Add .codecov.yml, simplify .travis.yml - Add codecov badge to README.md * Add tests for spack graph.
2017-01-25Spec.satisfies accesses Spec.concrete as property (#2928)scheibelp4-6/+24
* Spec.satisfies accesses Spec.concrete as property Fixes #2760 When copying a spec, _concrete is always set to False for each dependency. "Spec.satisfies" was accessing the member "_concrete" directly instead of using the property "concrete". This means that if you copy a spec, the dependencies will be considered equal, but did not necessarily satisfy one another. Spec.satisfies is a prerequisite for a package to be considered an extension; as a consequence, an extension with run-time dependencies that were also extensions did not activate those extensions. This updates Spec.satisfies to avoid checking the cached member "_concrete" directly. * Added test to check for activation of dependency extension * Added test to check for transitive satisfiability between a spec and its copy
2017-01-25Fixes for parsing specs with hashes (#2889)becker332-46/+192
- Allows hashes to be specified after other parts of the spec - Does not allow other parts of the spec to be specified after the hash - The hash must either end input or be followed by another separate spec - The next spec cannot be an anonymous spec (it must start with a package name or a hash) See #2769 (after it was merged) for further discussion of this interface addition. That discussion resulted in these requirements: ``` python # 1 spec /abc123 # 1 spec python /abc123 # 1 spec /456789 # 1 spec python /abc123 /456789 # 2 specs python /456789 /abc123 # 2 specs /abc123 /456789 # 2 specs /456789 /abc123 # 2 specs /456789 /abc123 python # 3 specs ``` assuming `abc123` and `456789` are both hashes of different python specs.
2017-01-25Add support for IBM threaded compilers: xl*_r (#2894)serbanmaerean8-9/+158
* Add support for IBM threaded compilers, xl*_r Added new compiler class, xl_r; added default flags to the compilers.yaml file. * Add cppflags to the set of default flags to be added to the compilers stanza in compiler.yaml. These flags are optional. Only defined flags will be listed in the compilers.yaml file. * Fix scripting warnings revealed by flake8. Updated __init__.py and xl_r.py to conform with flake8 rules. * Add justification to the definition of the XL default compiler flags.
2017-01-25build systems: simpler, clearer decorators: run_after, run_before (#2860)Massimiliano Culpo8-114/+126
* PackageMeta: `run_before` is an alias of `precondition`, `run_after` an alias of `sanity_check` * PackageMeta: removed `precondition` and `sanity_check` * PackageMeta: decorators are now free-standing * package: modified/added docstrings. Fixed the semantics of `on_package_attributes`. * package: added unit test assertion as side effects of install * build_systems: factored build-time test running into base class * r: updated decorators in package.py * docs: updated decorator names
2017-01-24Grammar and broken link fixes in modules tutorial (#2912)Adam J. Stewart1-19/+16
2017-01-23documentation: build-system phases + build-time tests (#2780)Massimiliano Culpo6-114/+332
* documentation: reworked packaging guide to add build-system phases * documentation: improvements to AutotoolsPackage autodocs * build_systems: updated autodocs * run-tests: added a few information on how to run tests fixes #2606 fixes#2605 * documentation: fixed items brought up by @davydden * typos in docs * consistent use of 'build system' (i.e. removed 'build-system' from docs) * added a note on possible default implementations for build-time tests * documentation: fixed items brought up by @citibeth * added note to explain the difference between build system and language used in a package * capitalized bullet items * added link to API docs * documentation: fixed multiple cross-references after rebase * documentation: fixed minor issues raised by @tgamblin * documentation: added entry in table for the `PythonPackage` class * docs: fixed issues brought up by @citybeth in the second review
2017-01-23Simplify unit tests listed in Contribution Guide (#2904)Adam J. Stewart1-1/+4
* Simplify unit tests listed in Contribution Guide * Use long name for option flags
2017-01-20Spack: Correct fix_darwin_install_name (#2886)Erik Schnetter1-1/+6
Previously, fix_darwin_install_name would only handle dependencies that have no path set, and it ignore dependencies that have the build directory as path baked in. Catch this, and replace it by the install directory.
2017-01-18Add spack edit option for build systems (#2865)Adam J. Stewart2-0/+5
2017-01-18Massive conversion from Package to AutotoolsPackage (#2845)Adam J. Stewart1-3/+8
* Massive conversion from Package to AutotoolsPackage * Forgot to convert p4est to AutotoolsPackage * Fix typo * Fix broken link in docs
2017-01-17Allow spack create to detect packages that need to run autoreconf (#2848)Adam J. Stewart1-15/+47
2017-01-17check if node is already deleted (#2799)Jason Sarich1-2/+3
* check if node is already deleted * fix variable name
2017-01-17Support scionlib version detection (#2818)Adam J. Stewart2-0/+8
2017-01-16Bump version to 0.10.0Todd Gamblin1-1/+1
2017-01-16Add PythonPackage base classAdam J. Stewart5-14/+328
- Add a PythonPackage class with build system support. - Support build phases in PythonPackage - Add a custom sanity check for PythonPackages - Get rid of nolink dependencies in python packages - Update spack create to use new PythonPackage class - Port most of Python packages to new PythonPackage class - Conducted a massive install and activate of Python packages. - Fixed bugs introduced by install and activate. - Update API docs on PythonPackage
2017-01-16Major improvements to spack create (#2707)Adam J. Stewart7-449/+526
* Initial changes to spack create command * Get 'spack create <url>' working again * Simplify call to BuildSystemGuesser * More verbose output of spack create * Remove duplicated code from spack create and spack checksum * Add better documentation to spack create docstrings * Fix pluralization bug * Flake8 * Update documentation on spack create and deprecate spack edit --force * Make it more obvious when we are renaming a package * Further deprecate spack edit --force * Fix unit tests * Rename default template to generic template * Don't add automake/autoconf deps to Autotools packages * Remove changes to default $EDITOR * Completely remove all traces of spack edit --force * Remove grammar changes to make the PR easier to review
2017-01-16Don't duplicate spack test in spack help (#2837)Adam J. Stewart1-3/+2
2017-01-16Add lmod support for `spack module loads` (#2758)George Hartzell1-0/+1
The `spack module loads` command only supported tcl and dotkit. This adds support for lmod.
2017-01-15Parser fix (#2769)becker339-109/+246
* Fixed parser to eliminate need for escape quotes. TODO: Fix double call to shlex, fix spaces in spec __str__ * Fixed double shlex * cleanup * rebased on develop * Fixed parsing for multiple specs; broken since #360 * Revoked elimination of the `-` sigil in the syntax, and added it back into tests * flake8 * more flake8 * Cleaned up dead code and added comments to parsing code * bugfix for spaces in arguments; new bug found in testing * Added unit tests for kv pairs in parsing/lexing * Even more flake8 * ... yet another flake8 * Allow multiple specs in install * unfathomable levels of flake8 * Updated documentation to match parser fix
2017-01-15Added customization for make targets in 'build' and 'install' phases for ↵Adam J. Stewart4-42/+62
CMakePackage (#2742) * Added customization for make targets in 'build' and 'install' phases for CMakePackage * Use rst in build system docs so that Sphinx generates nice API docs * Allow AutotoolsPackages to be built in a different directory * Flake8 * Fix missing import * Allow configure to be located in different directory * Update espressopp to use build targets * Flake8 * Sphinx fix, lists must be a new paragraph * Back out change that allowed a configure script in a different directory than build_directory * Add missing deps, build in parallel * Missing space for rst list
2017-01-15Remove cmake build dep from CMakePackages (#2684)Adam J. Stewart1-4/+0
2017-01-15Add a test to exercise non-buildable external packages. (#2833)Todd Gamblin1-2/+30
2017-01-15Fixed find -lp command (coloring was broken) (#2820)becker331-3/+2
2017-01-15get_std_cmake_args delegates to CMakePackage._std_args fixes #2665 (#2805)Massimiliano Culpo2-13/+51
2017-01-12configure and build command: fix the stop iteration semanticsMassimiliano Culpo1-0/+5
- broke somewhere between bdf48322696290d4e3d00ed12b7c7fe6ca213478 (#2810) and 17b13b161b3ddcd691ea7ed90165cfab6dec3950
2017-01-11mirror: fix error for some specs during concretization (#2806)Massimiliano Culpo1-0/+3
2017-01-10Change nargs='*' to argparse.REMAINDER for constraint options. (#2798)Todd Gamblin2-2/+3
2017-01-07Get Rid of nobuild, nolink, and alldeps (#2765)Elizabeth Fischer7-20/+9
* Removing the nobuild, nolink, and alldeps dependency types in favor of being explicit. * This will help with maintenance going forward, as adding more dependency types won't affect existing declared dependencies in weird ways. * default deptype is still `('build', 'link')`
2017-01-07Preliminary RPackage class (#2761)Adam J. Stewart3-8/+62
2017-01-06GitLab: Tarball Version Test (#2296)Axel Huebl2-2/+29
* GitLab: Tarball Version Test Upload a test demonstrating #2290 * Add GitLab parsing
2017-01-05Correct env vars for modulecmd; Fixes #1481 (#2745)Mario Melara1-14/+2
Don't override MODULEPATH with PATH, PATH has no modulefiles PEP8 compliance
2017-01-05test: fixed 'refresh_builtin_mock' fixture (#2748)Massimiliano Culpo1-1/+0
2017-01-04Standardize package names: lower-case, not Mixed_CASE (#2475)Elizabeth Fischer8-16/+27
* Rename packages * Upcasing depends_on() in packages. * Downcased extends('r') * Fixed erroneously changed URL that had slipped through. * Fixed typo * Fixed link from documentation into package source code. * Fixed another doc problem. * Changed underscores to dashes in package names. * Added test to enforce lowercase, no-underscore naming convention. * Fix r-xgboost * Downcase more instances of 'R' in package auto-creation. * Fix test. * Converted unit test packages to use dashes not underscores * Downcase `r` in the docs. * Update module_file_support.rst Fix r->R for class R.
2017-01-02Fix issues when a package provides the same vdep twice. (#2710)Todd Gamblin5-34/+66
* Fix issues when a package provides the same vdep twice. - provides() now adds to a set of provided vdeps instead of a single one. * flake8
2016-12-31Disallow vdeps in `packages.yaml` (#2699)Todd Gamblin7-104/+177
* Consolidate packages.yaml code to preferred_packages * Add validation check and a test for packages.py parsing. * flake8
2016-12-30Fix missing debug parameter for parse_version() (#2696)Adam J. Stewart1-2/+2