* mpich: gather in a single place env modifications needed by mpich derivatives
MPICH, and its derivatives, share a lot of copy/paste code to setup the
environment during the different stages of the package life-cycle.
This commit gathers the common modifications in a single place (a mixin class),
living in the Mpich package, and makes derivatives import, and reuse, it.
* Fix docs for Python < 3.13
* openloops: Add cmodel to user config file to override setting added in 2.1.2.
* openloops: Change cmodel from small to large following author recommendation.
A few changes to tarball creation (for build caches):
- do not run file to distinguish binary from text
- file is slow, even when running it in a batched fashion -- it usually reads all bytes and has slow logic to categorize specific types
- we don't need a highly detailed file categorization; a crude categorization of elf, mach-o, text suffices.
detecting elf and mach-o is straightforward and cheap
- detecting utf-8 (and with that ascii) is highly accurate: false positive rate decays exponentially as file size increases. Further it's not only the most common encoding, but the most common file type in package prefixes.
iso-8859-1 is cheaply (but heuristically) detected too, and sufficiently accurate after binaries and utf-8 files are classified earlier
- remove file as a dependency of Spack in general, which makes Spack itself easier to install
- detect file type and need to relocate as part of creating the tarball, which is more cache friendly and thus faster
mpicxx_shared_libraries seems a relic of #1550, and is
not currently used by any builtin package.
Thus, cleanup the recipes, and avoid monkey-patching
spec objects.
Python >= 3.13 does not have the crypt variant anymore. Still no matter
if the test for crypt succeeds (which it can on Fedora providing its own
crypt module for Python 3.13) or fails, it will add +crypt or ~crypt,
which both fail because the variant only exists until Python 3.12.
Co-authored-by: Richard Berger <rberger@lanl.gov>
* silo: variant python needs python
* Dependency to Python did not resolve the "Python.h" header not being found
Added the -I path to Python header to the compiler.
Having silo depend on python was not sufficient to get the path to python.
Maybe there is a smarter way to do that, but this one works.
* Update var/spack/repos/builtin/packages/silo/package.py
Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
* Update var/spack/repos/builtin/packages/silo/package.py
Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
* Update var/spack/repos/builtin/packages/silo/package.py
Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
---------
Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
* thepeg: Correctly specify rivet version for dependency
* herwig3: Add latest version 7.3.0
* thepeg: Make sure to have consistent hepmc version
rivet and thepeg need to have the same hepmc version otherwise things
will not compile
* libzip links with external libs found on host feelpp/spack#6
* add maintainers
* fix style
* use multi-build system
/cc @wdconinc
* fix style
* rm space and rename variant bz2 to bzip2
/cc @wdconinc
* fix variant name for bzip2
* zstd is supported in libzip@:1.8
* fix style
* fix style
* fix style
* rm deprecated version and versions that cannot be found easily
use only cmake from now on
* fix style
* fix style
* use variant when option for zstd
* Update var/spack/repos/builtin/packages/libzip/package.py
Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
* fix style
/cc @wdconinc
---------
Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
`kcov` was removed in Ubuntu 24.04, and it is no longer
installable via `apt` in our CI images. Instal it via
Linuxbrew instead, at least until it comes back to Ubuntu.
`subversion` is also not installed on ubuntu 24 by default,
so we have to install it manually.
- [x] Add linuxbrew to linux tests
- [x] Install `kcov` with brew
- [x] Install subversion with `apt`
Signed-off-by: Todd Gamblin <tgamblin@llnl.gov>
* Fix silent error when reporting builds to CDash
CDash has a 191 char maximum for build names. When this
is exceeded, CDash silently fails to correctly process the
reported XML. This truncates CDash build names to 190 chars
and emits a warning indicating it is doing so to prevent
such errors from occuring.
* test/reporters.py: add unittest for buildname len issue
* test/reporters.py: rename cdash buildname test
* ci/common.py: fix syntax causing breaking test
It appears that the CDash reporter is expecting a string
as the buildname.
* Update lib/spack/spack/reporters/cdash.py
Fix warning message to reflect actual issue.
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
* ci/common.py: fix function call to actually call function
---------
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Co-authored-by: psakievich <psakiev@sandia.gov>