Fixes#8345
Spack environment modifications are applied before modules are loaded; this
includes settings to CC, FC, F77, and CXX, which point to the Spack compiler
wrappers. If the loaded modules set CC, this overrides the Spack compiler
wrappers. This PR adds a context manager to preserve the values of CC etc. that
are set by Spack: any effects on the CC, FC, F77, and CXX variables from modules
are undone and their original values are restored.
* adding partially completed recipe for phast. will need clapack as dependency
* try to install phast
* seems to still need CLAPCK
* using CLAPACK instead
* phast: updated
* fixed flake8 error
* phast cannot build with clapack built with external blas?
* phast: depend on clapack built without external blas
* fixed flake8 errors
* phast: updated build_directory
* pybind11: test support
Add a test functionality to pybind11.
* CMake: test also on "make check"
Some projects use non-CTest manual targets for tests.
* Fix digest for abyss@1.5.2
The digest value for v1.5.2 appears to have changed. This value works
for me, today.
The existing value v2.0.2 works as is.
* Use "download" URL for ABYSS
Following the suggestion of the project team, switch to using the
release tarballs from the "download" URL instead of the automagically
generated ones at the "archive" URL.
Converstation here: https://github.com/bcgsc/abyss/issues/232
* extend Prefix class with join() member to support dynamic directories
* add more tests for Prefix.join()
* more tests for Prefix.join()
* add docstring
* add example to docstring of Prefix class
* cleanup Prefix.join() tests
* use Prefix.join() in Packaging Guide
The URL that we were using for pigz only provides the current
version. When the author released v2.4 the package became
uninstallable (unless you have the tarball cached).
It turns out that their are tarballs of the tagged source tree
available on GitHub and they're sufficient to build things (no
additional bits needed).
This commit switches the URL to the GitHub archive URL.
Sadly, this changes the v2.3.4 digest, but that version was no longer
available/install-able anyway, so "net-net we're still in positive
territory".
Installing the current version of Picard fails with:
```
==> Error: Unable to parse extension from https://github.com/broadinstitute/picard/releases/download/2.18.3/picard.jar.
If this URL is for a tarball but does not include the file extension
in the name, you can explicitly declare it with the following syntax:
version('1.2.3', 'hash', extension='tar.gz')
If this URL is for a download like a .jar or .whl that does not need
to be expanded, or an uncompressed installation script, you can tell
Spack not to expand it with the following syntax:
version('1.2.3', 'hash', expand=False)
```
Fix it, but adding `expand=False`, like the other versions.
Fixes#8217
Trying to relocate a distribution when the new and old paths are
equal leads to failure, because the test that ensures that no
unrelocated bits are left over always fails. As an example, this
occurs if a user installs a package, generates a binary with it
using 'spack buildcache', uninstalls it, and then attempts to
reinstall into the same spack installation using the generated
binary package.
This updates the relocation check to accept the presence of the
old prefix in binaries if the package is being reinstalled into
its original location.
* fix missing -lrt for Centos6, issue: #7552
* fix missing -lrt for Centos6, issue: #7552
* fix using make() as opposed to patching
* remove patch, as the fix is provided withing package.py instead
* make flake8 happy
* allow user to constrain dependencies that are added conditionally
* remove check for not-visited deps from normalize, move it to concretize. The check now runs after the concretization loop completes (so an error is only reported if the user-mentioned spec doesnt appear anywhere in the dag)
* remove separate full_spec_deps variable; rename spec_deps to all_spec_deps to clarify that it merges user-specified dependencies with derived dependencies
* add unit test to confirm new functionality
- `spack config blame` is similar to `spack config get`, but it prints
out the config file and line number that each line of the merged
configuration came from.
- This is a debugging tool for understanding where Spack config settings
come from.
- add tests for config blame
* Update package: add info for emacs@26.1
In addition to the digest, it needs gnutls (perhaps there's a way to
turn it off, but it seems like a Good Thing to encourage, so...).
* Clean up tls variant handling
- Don't to specify the dependency for @26.1:, just need to fix what's
already there.
- Don't assume that configure will DTRT w.r.t. gnutls when it's
discovered in the environmnet, use explicit configure switches.
- Clean up some unnecessary dependencies when +tls. Why would you
need libxpm when building +tls? Will ask the original author about
this.
* Use append when adding configure switches
* Add dependency on pcre
When one builds +X, Spack's pcre is pulled into the build via
the X dependencies. When one builds without it, the build discovers
and links against the system library.
We might as well just depend on it and have a consistent outcome.