summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
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
2016-12-30Fix test command arg handling.Todd Gamblin1-5/+6
2016-12-30Allow setting default variants (#2644)Michael Kuhn1-2/+9
2016-12-30Fix Python issue with build failures; Add test case for build failures. (#2687)Todd Gamblin2-4/+18
2016-12-29Concretize preserves deptypes (#2681)Todd Gamblin7-179/+326
Concretization preserves deptypes
2016-12-29Fix issues related to the switchover to pytest. (#2685)Todd Gamblin37-2/+7809
- Remove stale reference to `import nose` from `bin/spack` script. - Add `py` to externals (missing dependency for `pytest`)
2016-12-29unit tests: replace nose with pytest (#2502)Massimiliano Culpo149-17565/+19159
* Porting: substitute nose with ytest This huge commit substitutes nose with pytest as a testing system. Things done here: * deleted external/nose as it is no longer used * moved mock resources in their own directory 'test/mock/' * ported two tests (cmd/find, build_system) to pytest native syntax as an example * build_environment, log: used monkeypatch instead of try/catch * moved global mocking of fetch_cache to an auto-used fixture * moved global mocking from test/__init__.py to conftest.py * made `spack test` a wrapper around pytest * run-unit-tests: avoid running python 2.6 tests under coverage to speed them up * use `pytest --cov` instead of coverage run to cut down testing time * mock/packages_test: moved mock yaml configuration to files instead of leaving it in the code as string literals * concretize.py: ported tests to native pytest, reverted multiprocessing in pytest.ini as it was creating the wrong report for coveralls * conftest.py, fixtures: added docstrings * concretize_preferences.py: uses fixtures instead of subclassing MockPackagesTest * directory_layout.py: uses fixtures instead of subclassing MockPackagesTest * install.py: uses fixtures instead of subclassing MockPackagesTest * optional_deps.py: uses fixtures instead of subclassing MockPackagesTest optional_deps.py: uses fixtures instead of subclassing MockPackagesTest * packages.py: uses fixtures instead of subclassing MockPackagesTest * provider_index.py: uses fixtures instead of subclassing MockPackagesTest * spec_yaml.py: uses fixtures instead of subclassing MockPackagesTest * multimethod.py: uses fixtures instead of subclassing MockPackagesTest * install.py: now uses mock_archive_url * git_fetch.py: uses fixtures instead of subclassing MockPackagesTest * hg_fetch.py: uses fixtures instead of subclassing MockPackagesTest * svn_fetch.py, mirror.py: uses fixtures instead of subclassing MockPackagesTest repo.py: deleted * test_compiler_cmd.py: uses fixtures instead of subclassing MockPackagesTest * cmd/module.py, cmd/uninstall.py: uses fixtures instead of subclassing MockDatabase * database.py: uses fixtures instead of subclassing MockDatabase, removed mock/database * pytest: uncluttering fixture implementations * database: changing the scope to 'module' * config.py: uses fixtures instead of subclassing MockPackagesTest * spec_dag.py, spec_semantics.py: uses fixtures instead of subclassing MockPackagesTest * stage.py: uses fixtures instead of subclassing MockPackagesTest. Removed mock directory * pytest: added docstrings to all the fixtures * pytest: final cleanup * build_system_guess.py: fixed naming and docstrings as suggested by @scheibelp * spec_syntax.py: added expected failure on parsing multiple specs closes #1976 * Add pytest and pytest-cov to Spack externals. * Make `spack flake8` ignore externals. * run-unit-tests runs spack test and not pytest. * Remove all the special stuff for `spack test` - Remove `conftest.py` magic and all the special case stuff in `bin/spack` - Spack commands can optionally take unknown arguments, if they want to handle them. - `spack test` is now a command like the others. - `spack test` now just delegates its arguments to `pytest`, but it does it by receiving unknown arguments and NOT taking an explicit help argument. * Fix error in fixtures. * Improve `spack test` command a bit. - Now supports an approximation of the old simple interface - Also supports full pytest options if you want them. * Use external coverage instead of pytest-cov * Make coverage use parallel-mode. * change __init__.py docs to include pytest
2016-12-28Allow exclusion of packages from `spack module loads` (#2667)Elizabeth Fischer1-1/+7
* Allow exclusion of packages from `spack module loads` * Comment out excluded packages instead of not showing them at all.
2016-12-28Directive inheritance: laziness for the win (#2623)Massimiliano Culpo7-197/+257
* inheritance of directives: using meta-classes to inject attributes coming from directives into packages + lazy directives * _dep_types -> dependency_types * using a meta-class to inject directives into packages * directives are lazy fixes #2466 * directives.py: allows for multiple inheritance. Added blank lines as suggested by @tgamblin * directives.py: added a test for simple inheritance of directives * Minor improvement requested by @tgamblin CMakePackage: importing names from spack.directives directives: wrap __new__ to respect pep8 * Refactoring requested by @tgamblin directives: removed global variables in favor of class variables. Simplified the interface for directives (they return a callable on a package or a list of them).
2016-12-27Ensure that every file in Spack has a license (#2659)Adam J. Stewart27-143/+550
* Ensure that every package has a license Also fixes URLs with http://http:// doubled. This is a continuation of #2656. * Add license to every file in Spack * Make sure Todd is the author of all packages * Fix flake8 tests * Don't license external Sphinx docs * Don't display licenses in tutorial example packages Also fixes typos and converts command-line examples from tcsh to bash, which is more common
2016-12-25Better tabulation for spack checksum (#2673)Adam J. Stewart1-1/+5
2016-12-25filter_system_path: additionally filter system prefixes (#2672)Denis Davydov2-2/+6
That's because in set_build_environment_variables() the funciton filter_system_paths() is actually applied to package prefixes, and not to prefix/lib or prefix/include.
2016-12-25Add argument to `spack spec` to show deptypes. (#2680)Todd Gamblin2-1/+20
- `-t` | `--types` argument now shows deptypes in `spack spec`
2016-12-25Remove usernames from paths in docs (#2675)Adam J. Stewart9-303/+303
* Remove usernames from paths in docs * Fix path export
2016-12-25Modify github archive regex to support luaposix (#2677)Adam J. Stewart2-1/+6
2016-12-20Revert #2292: use frontend compiler for build deps (#2549)scheibelp4-90/+24
The primary goal of #2292 was to use the frontend compiler to make build dependencies like cmake on HPC platforms. It turns out that while this works in some cases, it did not handle cases where a package was a link dependency of the root and of a build dependency (and could produce incorrect concretizations which would not build).
2016-12-19Support Yorick versions (#2640)Todd Gamblin2-0/+9
2016-12-19Modify github regex to support NCO. (#2633)Todd Gamblin2-1/+10
2016-12-19Fixes for various hash issues (#2626)Todd Gamblin10-59/+84
* Better output for disambiguate_specs() * Fix wrong exception name. * Fix satsifies(): concrete specs require matching by hash. - Fixes uninstall by hash and other places where we need to match a specific spec. - Fix an error in provider_index (satisfies() call was backwards) - Fix an error in satisfies_dependencies(): checks were too shallow. * Fix default args in Spec.tree() * Move installed_dependents() to DB to avoid unknown package error. * Make `spack find` and `sapck.store.db.query()` faster for hashes. * Add a test to ensure satisfies() respects concrete Specs' hashes.
2016-12-18Added customization for make targets in 'build' and 'install' phases for ↵Alfredo Adolfo Gimenez1-4/+10
AutotoolsPackage (#2464) * Customization for make targets in build and test phases for AutotoolsPackage * Updated Blitz++ to use customized make build and test targets * Removed flake8 error * Removed make test customization, added make install customization, need to figure out issues with multiple make targets * Changed build_targets and install_targets to normal attributes
2016-12-15openblas: derives from MakefilePackage (#2488)Massimiliano Culpo1-13/+7
* MakefilePackage: changed build_args and install_args for consistency with #2464 openblas: derives from MakefilePackage * MakefilePackage: changed default edit behavior
2016-12-14Fix target for compiler on CNL operating systems (#2580)Mario Melara2-2/+2
Changes any to a string to avoid <built-in function any> being incorrectly added to target in compilers.yaml.
2016-12-14Make unzip quiet (#2593)Adam J. Stewart2-1/+2
2016-12-13Change attribute to match ArchSpec refactor (#2579)Mario Melara1-1/+1
Fixes issue #2578
2016-12-13Better cxx11/14/17 flags for GNU/Clang/Intel (#2539)Ben Morgan4-2/+67
* Better cxx11/14 flags for GNU/Clang/Intel - GCC 4.8 only supports -std=c++1y for C++14 - Use CMake's rules for AppleClang to set cxx11 and cxx14 flags based on Apple Xcode/LLVM version - Use CMake's rules for Intel to add support for cxx14 flags based on Intel version. * Add cxx17_flag property Implement property in compiler for c++17 as per those for c++11/14. Add concrete support for GNU/Clang: - Return -std=c++1z for GCC 5 and above per GCC documentation - Return -std=c++1z for Clang 3.5 and above per Clang documentation - Return -std=c++1z for Apple LLVM 6.1 and above per CMake's rules
2016-12-13Update `spack setup` and `spack graph` to be consistent with recent ↵Elizabeth Fischer2-2/+4
refactoring (#2317) * Update `spack setup` and `spack graph` to be consistent with c557e765 and 9347f869. Fixes #2316. * Added another "fix" necessary to make `spack setup` work. * Added another "fix" necessary to make `spack setup` work. (reverted from commit 7f0d3ecb38c97ec00491d7cd66b4266e3018b1ca)