Currently when you repeatedly create a bootstrap mirror that includes
`clingo-bootstrap@spack` you get different tarballs every time.
This is a general problem with mirroring checkouts from version control
as tarballs. I think it's best to create tarballs ourselves, since that way we
have more control over its contents.
This PR ensures normalized tarballs like we do for build caches:
- normalize file permissions (in fact that was already inspired by git, so
should be good)
- normalized file creation/modification time (timestamp 0)
- uid / guid = 0, no usernames
- normalized gzip header
- dir entries are ordered by `(is_dir, name)` where strings are not locale aware ;)
- POSIX says st_mode of symlinks is unspecified, so work around it and
force mode to `0o755`
R embeds an absolute path to the `which` executable in the sources for
`Sys.which`. This gets ultimately stored as serialized byte code in some
custom database format, which uses compression for entries.
As a result, Spack cannot relocate `<prefix which>/bin/which` when
installing from a build cache.
The patch works around this by making R create a symlink to `which` in
its own prefix, have the R sources call that, so that relocation works
again.
See https://github.com/r-devel/r-svn/pull/151
Explicitly requested namespaces are annotated during
the setup phase, and used to retrieve the correct package
class.
An attribute for the namespace has been added for each node.
Currently, a single namespace per package is allowed
during concretization.
* add new versions of py-altair
* fix year
* Update var/spack/repos/builtin/packages/py-altair/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-altair/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* reorder dependencies
* remove rc
---------
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add py-nanoplot and py-nanostat
* Add myself as spack package maintainer
* Remove python version requirement
* Remove python dependency
* Apply suggestions from code review
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update package.py: remove python dependency
* Set dependency types
* Update py-nanomath package.py
* Update py-nanoplot package.py
* Update py-nanostat package.py
* Add missing py-python-deprecated dependency
* Make kaleido a source package
* Fix py-nanoget deps
* Kaleido lint
* Nanoget lint
* Nanomath lint
* Nanoplot lint
* Nanostat lint
* Another kaleido lint I missed
* py-nanoplot missed lint
* py-nanostat missed lint
* py-kaleido even more missed lint
* The linter really can't make up its mind
* The linter REALLY can't make up its mind
* Add py-python-deprecated package
---------
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* perl-class-accessor-lvalue: New package
Adds Class::Accessor::Lvalue
* perl-date-utils and deps: New packages
This adds:
- perl-date-utils and its dependencies:
- perl-date-exception
- perl-term-ansicolor-markup
The current `mkdir {{ paths.environment }}` will generate an error if:
* `{{ paths.environment }}` already exists, or
* `{{ paths.environment }}` is nested in non-existing dirs.
Adding `-p` to the command will make this robust to both possibilities.
Set noclobber bash option when writing manifest.