We'd like to use a consistent checksum scheme everywhere so that we can:
a) incorporate archive checksums into our specs and have a
consistent hashing algorithm across all specs.
b) index mirrors with a consistent type of checksum, and not one that
is dependent on how spack packages are written.
- [x] convert existing md5, sha224, sha512, sha1 checksums to sha256
#11528 updated Stage to always store a Package's source in a fixed
directory accessible via `Stage.source_path` This left behind a
number of packages which were expecting to access the source code
via `Stage.path`. This Updates those packages to use
`Stage.source_path` instead.
This also updates the name of the fixed directory: The original name
of the fixed directory was "src", so if an expanded archive created a
"src" directory, then users inspecting the directory structure could
see paths like "src/src" (which wasn't wrong but could be confusing).
Therefore this also updates the name of the fixed directory to
"spack-src".
Fixes#994473c978d replaced a move with a copy, which cased rmdir to fail (as
it expects an empty directory). This switches to use `shutil.rmtree`
instead.
- remove the old LGPL license headers from all files in Spack
- add SPDX headers to all files
- core and most packages are (Apache-2.0 OR MIT)
- a very small number of remaining packages are LGPL-2.1-only
Replace use of `shutil.copytree` with `copy_tree` and `install_tree` functions in `llnl.util.filesystem`.
- `copy_tree` copies without setting permissions. It should be used to copy files around in the build directory.
- `install_tree` copies files and sets permissions. It should be used to copy files into the installation directory.
- `install` and `copy` are analogous single-file functions.
- add more extensive tests for these functions
- update packages to use these functions.
#5776 cleaned up the way the the current working directory is
managed (less magic state).
bcl2fastq is packaged like a russian doll, rather than an archive file
that contains the source, there's a zip file that contains a tar.gz
file that contains the source. The package definition has a bit of
extra code that unpacks the inner tarball.
That extra bit of code now needs to explicitly arrange to be in the
correct directory before it does its work.
* Update bcl2fastq2 with info for 2.19.1.403
Heads up, the download location changed (domain name AND protocol).
* Flake8 fix
What's one space between friends?
* Change path to CMakeLists.txt to be relative to root, not pwd
* Changes requested during code review
* Revert back to old naming of root_cmakelists_dir
* Make relative directory more clear in docs
* Revert change causing build_type AttributeError
* Fix forgotten abs_path var
* Update CLHEP with new relative path
* Update more packages with new root_cmakelists_dir syntax
Two changes:
- It seems that Illumina version numbers are dotted and that the
dashed version in the 2.18... filename is an anomaly (based on the
names for 2.17.1.14 and 2.19.0). `url_for_version` does the right
thing for 2.18. It will need to be fixed when support for 2.19 is
added. 2.17 is no longer generally available so it gets a pass.
- Add version and hash for 2.17.1.14.
2.17.1.14 is no longer distributed. If you have a copy of the
source tarball, you can drop it into a local mirror w/ the name
mirror/bcl2fastq2/bcl2fastq2-2.17.1.14.zip and go from there.
* Add v1.1.26 and make crypto a variant
I need 1.1.26 for bcl2fastq2.
I also need to build it without crypto support.
* Initial support for bcl2fastq2
* Clean up commentary, messages, names
No substantial changes intended, just cleanup.
* fix flake8 and extra import
* The masked grammarian strikes again...
* Be normal (messages don't end in periods)
* When +crypto, add --with-crypto
Add `--with-crypto` to configure args when user hasn't explicitly set
`~crypto`.
* self.spec.satisfies is unsatisfying, in is in instead
See #4135, self.spec.satisfies has issues. @adamjstewart suggests
simply using in.