
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
712 B
712 B
1 | Name | Supported Versions | Notes | Requirement Reason |
---|---|---|---|---|
2 | Python | 3.6--3.12 | Interpreter for Spack | |
3 | C/C++ Compilers | Building software | ||
4 | patch | Build software | ||
5 | tar | Extract/create archives | ||
6 | gzip | Compress/Decompress archives | ||
7 | unzip | Compress/Decompress archives | ||
8 | bzip2 | Compress/Decompress archives | ||
9 | xz | Compress/Decompress archives | ||
10 | zstd | Optional | Compress/Decompress archives | |
11 | lsb-release | Linux: identify operating system version | ||
12 | gnupg2 | Sign/Verify Buildcaches | ||
13 | git | Manage Software Repositories | ||
14 | svn | Optional | Manage Software Repositories | |
15 | hg | Optional | Manage Software Repositories | |
16 | Python header files | Optional (e.g. ``python3-dev`` on Debian) | Bootstrapping from sources |