This fixes bugs, performance issues, and removes no longer necessary code.
Short version:
1. Creating views from Python extensions would error if the Spack `opt` dir itself was in some symlinked directory. Use of `realpath` would expand those, and keying into `merge_map` would fail.
2. Creating views from Python extensions (and Python itself, potentially) could fail if the `bin/` dir contains symlinks pointing outside the package prefix -- Spack keyed into `merge_map[target_of_symlink]` incorrectly.
3. In the `python` package the `remove_files_from_view` function was broken after a breaking API change two years ago (#24355). However, the entire function body was redundant anyways, so solved it by removing it.
4. Notions of "global view" (i.e. python extensions being linked into Python's own prefix instead of into a view) are completely outdated, and removed. It used to be supported but was removed years ago.
5. Views for Python extension would _always_ copy non-symlinks in `./bin/*`, which is a big mistake, since all we care about is rewriting shebangs of scripts; we don't want to copy binaries. Now we first check if the file is executable, and then read two bytes to check if it has a shebang, and only if so, copy the entire file and patch up shebangs.
The bug fixes for (1) and (2) basically consist of getting rid of `realpath` entirely, and instead simply keep track of file identifiers of files that are copied/modified in the view. Only after patching up regular files do we iterate over symlinks and check if they target one of those. If so, retarget it to the modified file in the view.
--with-ch4-max-vcis=default is no longer accepted by MPICH configure
since the 4.1 release. Just omit the option from the +vci variant, since
configure will select the default value in its absence.
Problem: Older versions of the flux-core package require czmq and
jsonschema, but these dependencies have been dropped in recent
versions.
Add `when=` arguments to drop these requirements for the appropriate
versions of flux-core.
* fix wrong versioning
use doc version and not the one extrapolated from the path (i.e. 0.2.0.1)
* nvpl-lapack requires nvpl-blas
propagate matching variants to nvpl-blas dependency
Co-authored-by: albestro <albestro@users.noreply.github.com>
* rct: update packages (RE, RG, RP, RS, RU) with new versions
* rct: updated style
* rct: 1.46 release
* rct: RP 1.46.1 (hotfix applied)
* rct: deprecated old versions
* Update var/spack/repos/builtin/packages/py-radical-entk/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-radical-pilot/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-radical-saga/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* rct: brought back dependencies for deprecated versions
* rct: RP hotfix release 1.46.2
* rct: new stack release 1.47.0
---------
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* py-ucsf-pyem: updating to commit e92cd4d
* py-pyfftw: updating to @0.13:1
* py-ucsf-pyem: correcting install of scripts
* Upper limits
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Upper limits
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* updates from github review
---------
Co-authored-by: LMS Bioinformatics <bioinformatics@lms.mrc.ac.uk>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>