Change the signature of the Environment.__init__ method to have
a single argument, i.e. the directory where the environment manifest
is located. Initializing that directory is now delegated to a function
taking care of all the error handling upfront. Environment objects
require a "spack.yaml" to be available to be constructed.
Add a class to manage the environment manifest file. The environment
now delegates to an attribute of that class the responsibility of keeping
track of changes modifying the manifest. This allows simplifying the
updates of the manifest file, and helps keeping in sync the spec lists in
memory with the spack.yaml on disk.
* generax: adding new package generax
* muscle5: adding new package muscle5
* py-custom-inherit: adding new package py-custom-inherit
* py-ete3: adding new package py-ete3
* py-itolapi: adding new package py-itolapi
* py-opentree: adding new package py-opentree
* py-pypng: adding new package py-pypng
* py-toyplot: adding new package py-toyplot
* py-toytree: adding new package py-toytree
* py-pastml: adding new package py-pastml
* raxml-ng: adding new version 1.1.0
* py-topiary: adding new package py-topiary
* generax: adding master branch version
generax: adding version 2.0.1
generax: add mpi variant
* py-topiary: add main
* generax: correcting commit for 2.0.1
* Update var/spack/repos/builtin/packages/py-itolapi/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-opentree/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* py-topiary-asr: rename package, requested changes.
* Update var/spack/repos/builtin/packages/py-topiary-asr/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
---------
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Make sure to append additional flags needed for specific compilers
in the flag_handler instead of adding them as separate cmake define
lines that override the main spack cflags.
Spack comes to a crawl post-install of nvhpc, which is partly thanks to
this post install hook which has a lot of redundancy, and isn't correct.
1. There's no need to store "type" because that _is_ "mode".
2. There are more file types than "symlink", "dir", "file".
3. Don't checksum device type things
4. Don't run 3 stat calls (exists, stat, isdir/islink), but one lstat
call
5. Don't read entire files into memory
I also don't know why `spack.crypto` wasn't used for checksumming, but I
guess it's too late for that now. Finally md5 would've been the faster
algorithm, which would've been fine given that a non cryptographicall
checksum was used anyways.