- Lexer is the same for every Spec parser in spack, so don't build it
every time.
- This improves time to import package.py files a lot, as a Lexer
doesn't have to be constructed for every spc in the packages.
- To concretize dealii:
- Before: ~20 sec
- After: ~6 sec
- `spack spec dealii` now takse seconds rather than 18 minutes.
- Slow hash (`dag_hash`) was accidentally inserted into the fast hash
(`__hash__`).
- Do not put the slow hash in the fast hash.
- Tagging a version to include all that's happened since 0.8.17
- This is in anticipation of merging `features/cflags` and
`features/newarch`, which will break the spec format.
- 1.0 will likely come after those.
Adds a new attribute in the database to track whether a package was
installed explicitly or not, where explicitly is the user running `spack
install <package>` and implicitly is it being installed as a dependency.
It also adds arguments to `spack find` to find these packages such that
it should be possible to query the packages that were installed
implicitly and are not currently depended upon any longer.
This commit includes:
* a new go package that uses gccgo to bootstrap the go toolchain
* env support added to Executable
* a new Go fetch strategy that uses `go get` to fetch a package and all
of its deps
* A platinum searcher package that leverages the new go package and
fetch strategy
This is a complete rework of the lua package, it also allows the
environment modification classes to handle paths that are not separated
by colons, and uses the support for same in TCL modules as well.
The biggest difference is the handling for lua extension packages, which
now have their paths set correctly by the lua parent package, and have
access to both lua and luarocks as installation tools. See the luaposix
package for what should be required for most lua packages after this.