- Instead of one method with all parsers, each subcommand gets two
functions: `setup_<cmd>_parser()` and `environment_<cmd>()`
- the `setup_parser()` and `env()` functions now generate the parser
based on these and a list of subcommands.
- it is now easier to associate the arguments with the subcommand.
* modified tutorial packages
* update hint in hdf5 tutorial file (typo for suggested argument)
* add repo.yaml to tutorial repository
* update tutorial docs to refer user to tutorial package repository
* flake edits
* recommend site scope vs. defaults
* you don't specify the repo's name when adding a repo, just the path
* omit symlinks and create file copies when making a binary cache of a package
* unrelated flake edits involving regexes that recent flake is now angry about
* Record stdout for packages without errors
Previously our reporter only stored stdout if something went wrong
while installing a package. This prevented us from properly reporting
on steps where everything went as expected.
* More robustly report all phases to CDash
Previously if a phase generated no output it would not be reported to CDash.
For example, consider the following output:
==> Executing phase: 'configure'
==> Executing phase: 'build'
This would not generate a report for the configure phase. Now it does.
* Add test case for CDash reporting clean builds
* Fix default directory for CDash reports
The default 'cdash_report' directory name was getting overwritten
by 'junit-report'.
* Upload the build phase first to CDash
Older versions of CDash expect Build.xml to be the first file uploaded
for any given build.
* Define cdash_phase before referring to it
- Delete references to ruamel.yaml at Spack start-up, if they are present
- ruamel.yaml generates a .pth file when installed via pip that has the
effect of always preferring the version of this package installed at
site scope (effectively preventing us from vendoring it).
- This mechanism triggers when implicitly importing the 'site' module
when the python interpreter is started. In this PR we explicitly delete
references to 'ruamel.yaml' and 'ruamel' in sys.modules, if any, after
we set 'sys.path' to search from the directory where we store vendored
packages. This ensures that the imports after those statements will be
done from our vendored version.
- See #9206 for further details
fixes#9739
The non-daemonic pool relies heavily on implementation details of the
multiprocessing package. In this commit we provide an implementation
that fits recent python versions.
* henson: new package
* henson: change github path to henson-insitu
* henson: make mpi-wrappers=off by default
* henson: remove unsued variable and spaces to make linter happy
* henson: rename version master to develop
* xeus: new package
cppzmq: add version 4.3.0
zeromq: make libsodium optional, on by default
* xeus: add patch so it builds, add new version
nlohmann-json: add more versions
cryptopp: add more versions
* xeus: flake8
* xeus: fix license
This allows installing software on a namespace basis by including ${NAMESPACE} in `install_path_scheme`. e.g.,
```
cat ~/.spack/config.yaml
config:
install_path_scheme:
"${ARCHITECTURE}/${NAMESPACE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}"
```
The 'static_to_shared_library' function takes a compiler Executable,
which is intended to be invoked with a list of arguments; the
arguments must be separated from their values in the list, given
the way that 'Executable.__call__' invokes the underlying executable.
'static_to_shared_library' was not doing this, which this commit fixes.
* Provide a newer doxygen version.
+ Also provide a patch that allows collaboration diagrams to work properly with
C++ std::shared_ptr<T>. Ref:
6c380ba91a
Clang has support for using different fortran compilers with the Clang executable.
Spack includes logic to select a compiler wrapper symlink which refers to the fortran executable (since some build systems depend on the name of the compiler, e.g. 'gfortran' or 'flang').
This selection was previously based on the architecture, and chose incorrectly in some situations (e.g. for clang/gfortran on Linux). This replaces architecture-based wrapper selection with a selection that is based on the name of the Fortran compiler executable.
* Add the setting of CBTF_MPI_IMPLEMENTATION to the cbtf-krell
and openspeeedshop package files, so that the mpi implementation
can be found by the tool. This allows users to not have to
set this manually if only one mpi implementation is specified
in the build.
* Update version ranges for dependencies of cbtf packages
* GCC: constrain version 6, 7, and 8 to build with ISL version at
most 0.18
* GCC version 9 (not yet released) will be compatible with
ISL version 0.20 so future GCC releases are constrained to build
with ISL version at most 0.20
* ISL: Add v0.15, replace all md5 sums with sha256 sums for ISL
versions
* GCC versions before 6 were constrained to build with ISL 0.14
but have been confirmed to work with ISL 0.15
* GCC: Place an upper bound on GCC's mpfr dependency
* packages/phist: add variant 'fortran' to enable/disable building the Fortran bindings
* xsdk: add phist
* packages/xsdk: add a comment reg. updating phist dependency
* packages/phist: +fortran variant is only for versions 1.7:
* packages/phist: update comments
* xsdk: forgot to specify kernel library for phist (picked tpetra, assuming trilinos+tpetra will be installed)
* packages/phist: add variant 'openmp' to allow disabling OpenMP
* phist: fix compile error due to missing -lm
* flake8: fix warnings
* packages/phist: fix cmake flag: XSDK_ENABLE_Fortran (rather than XSDK_BUILD_Fortran)
* packages/phist: allow disabling building the scamac matrix generator (which causes trouble on some systems)
* packages/xsdk: disable scamac within phist because it caused problems for @balay and is not essential for now
* packages/phist: actually disable scamac via cmake if ~scamac
* phist: disable openmp from xsdk