Building on #24639, this allows versions to be prefixed by `git.`. If a version begins `git.`, it is treated as a git ref, and handled as git commits are starting in the referenced PR.
An exception is made for versions that are `git.develop`, `git.main`, `git.master`, `git.head`, or `git.trunk`. Those are assumed to be greater than all other versions, as those prefixed strings are in other contexts.
This commit adds some changes which improve use of Spack-installed
oneAPI packages with Spack-generated modules, but not within Spack
(e.g. if you install some of these packages with Spack, then load
their associated modules to build other packages outside of Spack).
The majority of the PR diff is refactoring. The functional changes
are:
* intel-oneapi-mkl:
* setup_run_environment: update Intel compiler flags to RPATH the
mkl libs
* intel-oneapi-compilers: update the compiler configuration to RPATH
libraries installed by this package (note that Spack already handled
this when installing dependent packages with Spack, but this is
specifically to use the intel-oneapi-compilers package outside
of Spack). Specifically:
* inject_rpaths: this modifies the binaries installed as part of
the intel-oneapi-compilers package to RPATH libraries provided
by this package
* extend_config_flags: this instructs the compiler executables
provided by this package to RPATH those same libraries
Refactoring includes:
* intel-oneapi-compilers: in addition to the functional changes,
a large portion of this diff is reorganizing the creation of
resources/archives downloaded for the install
* The base oneAPI package renamed component_path, so several packages
changed as a result:
* intel-oneapi-dpl
* intel-oneapi-dnn
* extrae
* intel-oneapi-mpi:
* Perform file filtering in one pass rather than two
nvc doesn't know this flag: `-Wno-unknown-pragmas`, it doesn't hurt to
remove the specific warning flags, from:
```
-O3 -Wall -Wextra -Wno-unknown-pragmas -Wcast-qual
```
to:
```
-O3 -Wall
```
* Add the rocm tag to packages from the Radeon Open Compute Platform.
* Added more packages from the ROCm software distribution based on
reviewer feedback.
* Updated tags based on reviewer feedback
* add first version of py-pyrr package
* added license
* update license HEADER
* Remove preferred as there is only one version available
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Better specify dependency type
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* remove useless variable license
Co-authored-by: Jérôme Dubois <jerome.dubois@cea.fr>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add missing '?full_index=1' to meson 9850.patch URL
* Correct checksum
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
os.path.dirname was being used to compare compilers. If two compilers
are in the same directory then it will pick up the first one it encounters.
Compare the full compiler path instead.
When installing setuptools from sources in Spack, we might
get into weird failures due to the way we use pip.
In particular, for Spack it's necessary to install in a
non-isolated pip environment to allow using PYTHONPATH as a
selection method for all the build requirements of a
Python package.
This can fail when installing setuptools since there might
be a setuptools version already installed for the Python
interpreter being used, with different entry points than
the one we want to install.
Installing from wheels both pip and setuptools should
harden our installation procedure in the context of:
- Bootstrapping Python dependencies of Spack
- Using external Python packages
On Cray systems that use Cray Data Virtualization Service (DVS),
symlinks across filesystems are not allowed, either due to a bug, or
because they're simply not POSIX compliant [1].
Spack's OpenSSL package defaults to `certs=system` which comes down to
symlinking `/etc/ssl` in the Spack install prefix, triggering this
problem, resulting in mysterious installation failures.
Instead of relying on system certs, we can just use
`ca-certificates-mozilla`, and if users really need system certs, then
they're probably better off marking OpenSSL entirely as external.
[1] https://github.com/glennklockwood/cray-dvs
* Created package and added description
* Add py-markdown-include
* Created package
* Finished creating package
* Added py-md-environ
* Added build dependencies
* Added other deps
* Add python-markdown-math (#4)
* Created package and started to add info
* Removed unneeded global/install options
* Figured out version spec for markdown-math
* Removed type=build from unnecessary dependencies
* Removed unneeded install/global options, added version spec to dependency
* Added wscullin as interim maintainer for packages
* Fixed style issues
* Took care of trailing whitespace
* Removed comment line before imports
* Changed file charset to match other packages
* Update var/spack/repos/builtin/packages/py-ford/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update var/spack/repos/builtin/packages/py-ford/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Removed test dependency after review feedback
* Added new 6.1.12 version to py-ford
Co-authored-by: Seth R. Johnson <johnsonsr@ornl.gov>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Add LevelZero variant to hwloc package
This permits the hwloc package to build with with support for the
Intel Level Zero low-level layer, analogous to CUDA, ROCm, and OpenCL.
* Fix typo
Add variant +gssapi to enable authentication via Kerberos through GSSAPI
When openssh is installed at sites using Kerberos, openssh needs to auth
via Kerberos through GSSAPI in order to work in such environments.
* Update h5bench maintainers and versions
* Include version 1.1 for h5bench
* Correct release hash and set default version
* Update .tar.gz version
* Update HDF5 VOL async version and environment variable syntax
* added package gptune with all its dependencies: adding py-autotune, pygmo, py-pyaml, py-autotune, py-gpy, py-lhsmdu, py-hpbandster, pagmo2, py-opentuner; modifying superlu-dist, py-scikit-optimize
* adding gptune package
* minor fix for macos spack test
* update patch for py-scikit-optimize; update test files for gptune
* fixing gptune package style error
* fixing unit tests
* a few changes reviewed in the PR
* improved gptune package.py with a few newly added/improved dependencies
* fixed a few style errors
* minor fix on package name py-pyro4
* fixing more style errors
* Update var/spack/repos/builtin/packages/py-scikit-optimize/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* resolved a few issues in the PR
* fixing file permissions
* a few minor changes
* style correction
* minor correction to jq package file
* Update var/spack/repos/builtin/packages/py-pyro4/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* fixing a few issues in the PR
* adding py-selectors34 required by py-pyro4
* improved the superlu-dist package
* improved the superlu-dist package
* moree changes to gptune and py-selectors34 based on the PR
* Update var/spack/repos/builtin/packages/py-selectors34/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* improved gptune package: 1. addressing comments of tldahlgren in PR 26936; 2. adding variant openmpi
* fixing style issue of gptune
* changing file mode
* improved gptune package: add variant mpispawn which depends on openmpi; add variant superlu and hypre for installing the drivers; modified hypre package file to add a gptune variant
* fixing style error
* corrected pddrive_spawn path in gptune test; enforcing gcc>7
* fixing style error
* setting environment variables when loading gptune
* removing debug print in hypre/package.py
* adding superlu-dist v7.2.0; fixing an issue with CMAKE_INSTALL_LIBDIR
* changing site_packages_dir to python_platlib
* not using python3.9 for py-gpy, which causes due to dropped support of tp_print
* more replacement of site_packages_dir
* fixing a few dependencies in gptune; added a gptune version
* adding url for gptune
* minor correction of gptune
* updating versions in butterflypack
* added a version for openturns
* added a url for openturns
* minor fix for openturns
* Update var/spack/repos/builtin/packages/openturns/package.py
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
* added version2.1.1 for butterflypack
* fixing a tag in butterflypack
* minor fix for superlu-dist
* removed file filter for superlu-dist
* Update var/spack/repos/builtin/packages/superlu-dist/package.py
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
* superlu-dist: add version detection for the testing; removing unused lines
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
* nfft, pnfft: fix detection of fftw variants (precision)
* nfft, pnfft: use fftw's selected_precisions; avoid repetitive calls to spec
Co-authored-by: Martin Lang <martin.lang@mpsd.mpg.de>
* [py-sentry-sdk] audited dependencies and relisted extras as variants
* [py-sentry-sdk] added version 1.5.5
* [py-sentry-sdk] flake8
* [py-sentry-sdk]
- added "descriptions" to variants
- removed conflicts
- replaced with when statements in varients
* Update prmon recipe, v3.0.2
Update recipe to v3.0.2, using external dependency
option for the build (as these are satisfied so easily with Spack)
* Remove "broken" 3.0.1 version
This one could not build properly with Spack, due to
missing submodule sources
* add some new version of abacus and fix bug on mkl
* Add Package:PSCMC
* update maintainer
* rebase
* update maintainers
* Update var/spack/repos/builtin/packages/pscmc/package.py
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Installation process of libint runs a Python script:
<69cc7b9bc6/export/cmake/CMakeLists.txt.export (L410)>.
If Python isn't explicitly listed as build dependency, system Python will be
picked up, which can cause troubles.
* Fix py-ray dependencies and build system
* Update var/spack/repos/builtin/packages/py-ray/package.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Added documentation for unusual dependencies.
* Fixed npm preinstall script per @adamjstewart suggestion.
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Most package installations include compressed source files. This
adds support for common archive types on Windows:
* Add support for using system 7zip functionality to decompress .Z
files when available (and on Windows, use 7zip for .xz archives)
* Default to using built-in Python support for tar/bz2 decompression
(note that Python tar documentation mentions preservation of file
permissions)
* Add tests for decompression support
* Extract logic for handling exploding archives (i.e. compressed
archives that expand to more than one base file) into an
exploding_archive_catch context manager in the filesystem module
* Update backage bear
Newer versions of rtags aren't available via older url
* Fix sha256 as download link has changed
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
* [py-httpx] python dependencies are type=('build', 'run')
* [py-httpx] py-wheel is now implied by PythonPackage
* [py-httpx] fixed older version dependencies
* [py-httpx] added version 0.22.0
* add pacakge: abacus
* rename
* fix some style bugs
* update package:abacus
* fix some style bugs
* format code
* Delete a line of useless comments
* updatee abacus
* Update package.py
add new version info and fix a bug on mkl
* update version info and fix a bug on mkl
* Update package.py
* fix style bugs
* trailing whitespace
* Add flag to enable WRF-Chem module
* Update var/spack/repos/builtin/packages/wrf/package.py
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
* Set chem variant only for v4+
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Anticipate openPMD-api changes in the next major release that are
already in `dev` (aka Spack `develop`):
- C++17 requirement
- drop: `mpark-variant` public dependency
- add: `toml11` private dependency
Also add @franzpoeschel as co-maintainer for the Spack package.
Updates to improve Spack-generated modules for Intel oneAPI compilers:
* intel-oneapi-compilers set CC etc.
* Add a new package intel-oneapi-compilers-classic which can be used to
generate a module which sets CC etc. to older compilers (e.g. icc)
* lmod module logic now updated to treat the intel-oneapi-compilers*
packages as compilers
* acts-dd4hep: new package, separated from new acts@19.1.0
* acts-dd4hep: improved versioning
* acts-dd4hep: don't use curl | sha256sum
* acts: new variant `odd` for Open Data Detector
* acts-dd4hep: style changes