summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-07-25Add top-level attributes for hg, svn, and git A-L packagesAdam J. Stewart152-486/+461
2018-07-25tests: convert mirror test to pytest with free functions.Todd Gamblin1-44/+47
2018-07-25tests: add checks and tests for consistent version() argumentsTodd Gamblin10-32/+91
- Previously, Spack didn't check the arguments you put in version() directives. - So, you could do something like this, where there are arguments for a URL fetcher AND for a git fetcher: version('1.0', md5='abc123', git='https://foo.bar', commit='feda2343') - Now, we check the arguments before constructing a fetcher, to ensure that each package has *only* arguments for a single type of fetcher. - Also added `test_package_version_consistency()` to the `package_sanity` test, so that all builtin packages are required to have valid `version()` directives.
2018-07-25tests: correct name of `check_db` to `check_repo`Todd Gamblin1-7/+6
- this test is checking the package *repository*, not the database.
2018-07-25core: differentiate package-level fetch URLs by args to `version()`Todd Gamblin5-86/+282
- packagers can specify two top-level fetch URLs if one is `url` - e.g., `url` and `git` or `url` and `svn` - allow only one VCS fetcher so we can differentiate between URL and VCS. - also clean up fetcher logic and class structure
2018-07-25core: add check for conflicting top-level fetch attributes in packagesTodd Gamblin4-6/+35
- ensure that packages can't have more than one of git, hg, svn, or url
2018-07-25style: clean up exception definitions in package.pyTodd Gamblin1-7/+2
2018-07-25core: fixes and tests for handling of fetcher attributes in packagesTodd Gamblin9-40/+389
- Packages can remove the top-level `url` attribute and still work - These are now legal: - Packages with *only* version-specific URLs (even with gaps) - Packages with a top-level git/hg/svn attribute and `version` directives for that. - If a package has both a top-level hg/git/svn attribute AND a top-level url attribute, the url attribute takes precedence.
2018-07-25core: quick fix for packages without URLsAdam J. Stewart1-11/+0
Some packages do not have a `url` and are instead downloaded via `git`, `hg`, or `svn`. Some packages like `spectrum-mpi` cannot be downloaded at all, and are placeholder packages for system installations. Previously, `__init__()` in `PackageBase` crashed if a package did not have a `url` attribute defined. I hacked this section of code out, but I have no idea what the repercussions of that are.
2018-07-25hypre: 'master' is branch - not a tagSatish Balay1-1/+1
2018-07-26Added latest version of charliecloud (#8792)sknigh1-0/+1
2018-07-24Fix order of regexes reported by spack url summaryAdam J. Stewart1-2/+2
2018-07-24core: make `spack.util.crypto` initialization less expensive.Todd Gamblin2-38/+54
- This hard-codes the hash lengths rather than computing them on import. - Also cleans up the code in `spack.util.crypto` to make it easier to understand.
2018-07-24bugfix: `spack module -m` error message (#8794)Todd Gamblin1-3/+2
Fix this output error: ``` $ spack -m module loads mpileaks ==> Error: `spack module loads -m t -m c -m l ...` has been moved. Try this instead: $ spack module t loads mpileaks $ spack module c loads mpileaks $ spack module l loads mpileaks ```
2018-07-24The auto-completion file is now consistent with `spack module`Massimiliano Culpo1-10/+124
2018-07-24Die with a meaningful error if a deprecated command is usedMassimiliano Culpo2-3/+57
In case a deprecated form of the module command is used, the program will exit non-zero and print an informative error message suggesting which command should be used instead.
2018-07-24Grouped all the module commands under `spack module`Massimiliano Culpo14-394/+270
As requested in the review all the commands meant to manage module files have been grouped under the `spack module` command. Unit tests have been refactored to match the new command structure.
2018-07-24module file tutorial: rebuilt docker image and updated the scriptMassimiliano Culpo2-172/+217
2018-07-24Added --dependencies to the help text of spack loadMassimiliano Culpo2-3/+5
fixes #6321
2018-07-24spack load exits with 1 if module does not exist or is not installedMassimiliano Culpo3-7/+76
fixes #2215 fixes #2570 fixes #6676 fixes #7281 closes #3827 This PR reverts the use of `spack module loads` in favor of `spack module find` when loading module files via Spack. After this PR `spack load` will accept a single spec at a time, and will be able to interpret correctly the `--dependencies` option.
2018-07-24Revert "Fix recursive module loading."Massimiliano Culpo1-4/+4
This reverts commit 732c24f603864ec7dbec425ac4507b47fdb7a641.
2018-07-24Added blacklisting of implicit modules in docs + regression testsMassimiliano Culpo5-1/+52
fixes #4400 The feature requested in #4400 was already part of the module file configuration, but it was neither tested nor documented. This commit takes care of adding a few lines in the documentation and a regression test.
2018-07-24Renamed 'patch_configuration' fixture to 'module_configuration'Massimiliano Culpo5-78/+79
This just because the fixture has been moved one level above the one it was originally defined. In this more general context there's more than one configuration file that could be patched for tests.
2018-07-24Added a unit test for 'spack lmod setdefault'Massimiliano Culpo4-12/+101
2018-07-24Updated references to `spack module` in the documentation.Massimiliano Culpo5-55/+46
2018-07-24Added 'setdefault' subcommand to 'spack lmod'Massimiliano Culpo2-12/+38
Added a subcommand that sets the default module to be loaded, if multiple installations of the same package are present.
2018-07-24Split 'spack module' into multiple commandsMassimiliano Culpo10-194/+413
'spack module' has been split into multiple commands, each one tied to a specific module type. This permits the specialization of the new commands with features that are module type specific (e.g. set the default module file in lmod when multiple versions of the same package are installed at the same time).
2018-07-24bugfix: fix spack spec --yamlTodd Gamblin3-1/+58
- repo membership test was broken by the refactor of spack/__init__.py - refactor singleton so that 'spec in repo' works again for `spack.repo.path` - fix spec command and add basic tests for `spack spec` and `spack spec --yaml`
2018-07-23tests: Add python 3.7 to Travis CI (#8778)Massimiliano Culpo1-0/+15
* Test Spack on Python 3.7 as part of Travis CI * Currently using xenial to pull-in python 3.7 * As xenial is not officially supported yet, Travis tolerates failures on it.
2018-07-23packages: do not use generic checksum= in version() directivesTodd Gamblin2-4/+4
- This is very old usage -- preparing to deprecate this in favor of being explicit about checksums.
2018-07-23docs: update old docs for `spack.package.PackageBase`Todd Gamblin1-205/+37
- There was a lot of documentation in `PackageBase` dating back to the very first versions of Spack. - It was repetitive and out of date, and the docs at spack.readthedocs.io are better. - Remove the outdated specifics, and leave the minimal useful set of developer docs in `package.py`.
2018-07-23core: use sha256 instead of md5 for `spack checksum` and `spack create`Todd Gamblin6-43/+102
- This changes `get_checksums_for_versions` to generate code that uses an explicit `sha256` argument instead if the bare `md5` hash we used to generate. - also use a generic digest parameter for the `version` directive, rather than a specific `md5` parameter.
2018-07-23tests: move doc tests to the unit test stageTodd Gamblin1-9/+8
- Frequently, the documentation build will fail mysteriously in some spack command. - The cause is some new bug introduced by the PR, but this is not apparent because the unit tests haven't run and the doc tests aren't targeted at code bugs. - Users end up puzzled by doc failures when they're really code failures. - Move the doc tests parallel with the code tests, so that we can more easily see bugs like this.
2018-07-22Trinity plugins (#8516)Levi Baber1-3/+8
* trinity: fix plugin installation * trinity: flake8 * trinity: more specific types for dependencies
2018-07-22beast1: add libbeagle support (#8525)Levi Baber1-0/+3
2018-07-22libbeagle: add java dependency so jni hooks get built (#8524)Levi Baber1-0/+5
* libbeagle: add java dependency so jni hooks get built * libbeagle: set BEAST_LIB instead of LD_LIBRARY_PATH * libbeagle: use BEAST_LIB
2018-07-22Augustus updated to version 3.3.1 (#8588)Roberto Villegas-Díaz1-5/+5
* Augustus updated to version 3.3.1 * Augustus - Version-specific URLs replaced by list_url * Augustus - Adding tool versions back
2018-07-22fix to build libmatheval with guile@2.0: (#8680)g-mathias3-0/+224
* fix to build libmatheval with guile@2.0: * fixed formatting issues * fixed formatting issues2 * fixed check for autoreconf and renaming of configure.in * fixed force_autoreconf * now patching configure, which is hopefully more robust * minimal patches for guile 2.0 and 2.2 (disabeling unit testing for libmatheval) * minimal patches for guile 2.0 and 2.2 (disabeling unit testing for libmatheval)
2018-07-22Ncl update (#8747)Nasr S. Hassanein1-6/+6
* fix ncl url and hash * adding ncl version 6.5.0 * remove 6.5.0 * using github archive url
2018-07-22Make read only source file writeable in perl before patch to avoid failures ↵Jon Rood1-0/+12
on lustre filesystem. (#8764)
2018-07-22Remove extra Scientific Linux docker build left after merge. (#8770)Patrick Gartung4-247/+0
2018-07-22add necessary dependence on lapacak, and fix ld_flags for blas (#8776)Lukasz1-1/+3
2018-07-22add MoFEM packages (#8700)Lukasz6-0/+456
* add mofem-cephas package * add mofem fracture module * add user modules build and fracture modyle * add minimal surface module * add slepc variant * bump mofem core lib version * bump mofem core lib version * bump version * fix bug * set upper bound to petsc version and other chanes * fix indentation * add minimal med file installation * chcekc with flake8 and installation with spack packages * add variants to med package * upper bound to adol-c and remove obsolete internal package install * fix basic module install * module install from external source in extended prefix * remove obsolte code and reverse to variant doxygen * fix git adress * improve packaging for mofem users modules * fix flake8 * move dependencies after variants * move root_cmakelists_dir right before cmake_args * remove unused variants * use append for single element * replace root_cmakelists_dir * use install_tree instead copy tree * simplify code * remove phase and mkdirp * add run tests * instal ext modules to ext_users_modules directory * move version below url * simplify directory name * use underscore in variant name * remove unused variable * fix link to blas libs * add missing boost dependence * fix problem with copying module source code * change variant name form doxygen to docs * add expanded description * make installation consistent with spack * fix flake8 * make extensions installed * code comments and minor corrections * make slepc variant false by default
2018-07-21bugfix: stage test no longer modifies ~/.spack/config.yamlTodd Gamblin1-2/+2
- two stage tests weren't properly using the mutable_config fixture. - this caused running `spack test` to modify the user's config.yaml
2018-07-21votca: add more deps (#8771)Christoph Junghans2-0/+7
* votca: add more deps * Update package.py
2018-07-21docs: doucment `spack config blame`Todd Gamblin1-4/+59
2018-07-21docs: updates to `spack config get` docs for command-line scopesTodd Gamblin1-21/+73
2018-07-21docs: command-line scopesElizabeth Fischer1-3/+111
Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2018-07-21config: allow user to add configuration scopes on the command line.Elizabeth Fischer4-72/+194
- Add command-line scope option to Spack - Rework structure of main to allow configuration system to raise errors more naturally Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2018-07-21locks: fix bug when creating lockfiles in the current directory.Todd Gamblin2-0/+25
- Fixes a bug in `llnl.util.lock` - Locks in the current directory would fail because the parent directory was the empty string. - Fix this and return '.' for the parent of locks in the current directory.