Age | Commit message (Collapse) | Author | Files | Lines |
|
- `spack.cmd.all_commands` does a directory listing on
`lib/spack/spack/cmd`, regardless of whether it is needed
- make this lazy so that the directory listing won't happen unless it's
necessary.
|
|
- It turns out that jsonschema is one of the more expensive imports.
- move imports of jsonschema into functions to avoid the performance hits
for calls that don't need config.
|
|
- spack.store was previously initialized at the spack.store module level,
but this means the store has to be initialized on every spack call.
- this moves the state in spack.store to a singleton so that the store is
only initialized when needed.
|
|
- spack.repository module is now spack.repo
- `spack.repo` is now `spack.repo.path()` and loaded lazily
- Added `spack.repo.get()` and `spack.repo.all_package_names()` as
convenience functions to simplify the new lazy interface.
- updated tests and code
|
|
- rename `builtin_mock` and `refresh_builtin_mock` to the more clear
`mock_packages` and `mutable_mock_packages`
|
|
|
|
- refactor the way test dependencies are passed to the concretizer
- remove global state
- update tests
|
|
- no longer require `spack_version` to be a Version (it isn't used that
way anyway)
- use a simple tuple `spack_version_info` with major, minor, patch
versions
- generate `spack_version` from the tuple
|
|
- remove variable from spack/__init__.py
- clean up imports and some code structure in binary_distribution.py
|
|
|
|
|
|
|
|
- remove template_dirs global variable from __init__.py
- also remove update_template_dirs fixture, which had no effect on test
correctness
|
|
|
|
|
|
- replace `spack.config.get_configuration()` with `spack.config.config()`
- replace `get_config`/`update_config` with `get`, `set`
- add a path syntax that can be used to refer to specific config options
without firt getting the entire configuration dict
- update usages of `get_config` and `update_config` to use `get` and `set`
|
|
|
|
|
|
- Current configuration code forces the config system to be initialized
at module scope, so configs are parsed on every Spack run, essentially
before anything else.
- We need more control over configuration init order, so move the config
scopes into a class and reduce global state in config.py
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Capture any concretization errors and record them in a CTest Update.xml file.
|
|
Generate CTest XML file containing configure output
|
|
|
|
|
|
|
|
This will allow us to generate reports for concretization errors
|
|
Restructure the logic of the spack install command to allow these two
command-line arguments to be used at the same time.
|
|
Replace the JUnit-specific terms 'testsuite' and 'testcase' with
'spec' and 'package', respectively.
|
|
Fixes #2781
This PR introduces a new attribute for packages called
`archive_files`, which designates files that should be saved from
a package build (e.g. the config.log generated during autotools
builds).
The attribute contains a list of glob expressions; Any file that
matches will be archived in the `<prefix>/.spack/archived-files`
directory. Errors that occur when archiving files are collected and
reported in a file named `<prefix>/.spack/archived-files/errors.txt`.
`AutotoolsPackage` and `CMakePackage` provide a sensible default
override for this attribute.
|
|
fixes #7941
Modified string representation of Specs to add a space before deps
Unit-tests have been modified accordingly
Added a test for regression on #7941
|
|
|
|
* Fix coloring of URLs containing @ symbol
* Fix coloring of descriptions containing @ symbol
|
|
* Set default provider for every virtual package
* Add unit test to ensure that every virtual package has a default provider explicitly set
|
|
Fixes #7924
Spack's yaml schema validator was initializing all instances of
unspecified properties with the same object, so that updating the
property for one entry was updating it for others (e.g. updating
versions for one package would update it for other packages).
This updates the schema validator to instantiate defaults with
separate object instances and adds a test to confirm this behavior
(and also confirms #7924 without this change).
|
|
|
|
|
|
* Use reported version of IBM XL Fortran compiler for compiler versions >= 16.0.
Starting with the April 2018 release, the IBM XL C and Fortran compilers report the same version, 16.0. Consequently, there is no need to downgrade the Fortran compiler version to match that of the C compiler.
|
|
* Use GitLab's API endpoint for fetching a git snapshot.
* More GitLab packages use the API.
* find_list_url for GitLab's API URLs.
* Flake8
* Url for 'hacckernels'.
* Check GitLab API regexps before the non-API ones.
|
|
|
|
|
|
|
|
Activating a package that is already activated now sends a `tty.msg`
and returns.
```
-bash-4.2$ ~/spack/bin/spack activate aspell6-en
==> Package aspell6-en/lc4v24f is already activated.
```
|
|
* Better error message for spack providers
fixes #1355
`spack providers` now outputs a sensible error message if non-virtual
specs are provided as arguments:
```
$ spack providers mpi zlib petsc
==> Error: non-virtual specs cannot be part of the query [zlib, petsc]
```
Formatting of the output changed slightly.
* Calling 'spack providers' without arguments print the virtual pkg list
Also, the error message in case of a wrong parameter has been improved
to show the list of valid packages.
* Avoid printing headers if stdout is not a tty
* The provider list is formatted with colify if not in a tty
* Added a test to check the list of providers returned from the command
|
|
This advises users to prefer `modules:` entries in `packages.yaml` on Cray.
|