summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-11-07archspec: update version, translate renamed uarchs (#33556)Massimiliano Culpo4-24/+288
* Update archspec version * Add a translation table from old names
2022-11-07elfutils: add version 0.188 (#33715)Tim Haines1-0/+1
2022-11-06bugfix for matrices with dependencies by hash (#22991)Greg Becker2-5/+26
Dependencies specified by hash are unique in Spack in that the abstract specs are created with internal structure. In this case, the constraint generation for spec matrices fails due to flattening the structure. It turns out that the dep_difference method for Spec.constrain does not need to operate on transitive deps to ensure correctness. Removing transitive deps from this method resolves the bug. - [x] Includes regression test
2022-11-06solver setup: extract virtual dependencies from reusable specs (#32434)Greg Becker2-0/+28
* extract virtual dependencies from reusable specs * bugfix to avoid establishing new node for virtual
2022-11-06package preferences: allow specs to be configured buildable when their ↵Greg Becker2-9/+26
virtuals are not (#18269) * respect spec buildable that overrides virtual buildable
2022-11-06improve error message for dependency on nonexistant compiler (#32084)Greg Becker1-12/+25
2022-11-06solver: do not punish explicitly requested compiler mismatches (#30074)Greg Becker2-1/+29
2022-11-06MesonPackage: disable automatic download and install of dependencies (#33717)Michael Kuhn1-2/+4
Without this, Meson will use its Wraps to automatically download and install dependencies. We want to manage dependencies explicitly, therefore disable this functionality.
2022-11-06allow multiple compatible deps from CLI (#21262)Greg Becker2-2/+24
Currently, Spack can fail for a valid spec if the spec is constructed from overlapping, but not conflicting, concrete specs via the hash. For example, if abcdef and ghijkl are the hashes of specs that both depend on zlib/mnopqr, then foo ^/abcdef ^/ghijkl will fail to construct a spec, with the error message "Cannot depend on zlib... twice". This PR changes this behavior to check whether the specs are compatible before failing. With this PR, foo ^/abcdef ^/ghijkl will concretize. As a side-effect, so will foo ^zlib ^zlib and other specs that are redundant on their dependencies.
2022-11-06py-vermin: add latest version 1.5.0 (#33727)Morten Kristensen1-1/+2
2022-11-06CMake: add versions 3.24.3, 3.23.4, and 3.23.5 (#33700)John W. Parent1-0/+3
2022-11-06Add version 4.2.2 to R (#33726)Glenn Johnson1-0/+1
2022-11-06z3: New version 4.11.2 (#33725)Erik Schnetter1-0/+1
2022-11-06canonicalize_path: add arch information to substitutions (#29810)Greg Becker3-0/+50
Co-authored-by: becker33 <becker33@users.noreply.github.com>
2022-11-05ADD version 0.19.0 in py-gym recipe (#33701)Emilio J. Padrón González1-5/+5
* ADD version 0.19.0 in py-gym recipe * Fix py-gym download url and dependencies for v0.19.0 * Fix stupid error in previous commit: no change in py-cloudpickle dep * Yes, I should've paid more attention! O:) I think now it is right, thanks!
2022-11-05py-transformers: add v4.24.0 (#33716)Adam J. Stewart6-10/+32
* py-transformers: add v4.24.0 * Internet access still required
2022-11-05Add support for Python 3.11 (#33505)Massimiliano Culpo7-22/+195
Argparse started raising ArgumentError exceptions when the same parser is added twice. Therefore, we perform the addition only if the parser is not there already Port match syntax to our unparser
2022-11-05openssh: New version 9.1p1 (#33668)Erik Schnetter1-0/+1
Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2022-11-05Fix relocation to avoid overwriting merged constant strings (#32253)Tom Scogland8-85/+323
Compilers and linker optimize string constants for space by aliasing them when one is a suffix of another. For gcc / binutils this happens already at -O1, due to -fmerge-constants. This means that we have to take care during relocation to always preserve a certain length of the suffix of those prefixes that are C-strings. In this commit we pick length 7 as a safe suffix length, assuming the suffix is typically the 7 characters from the hash (i.e. random), so it's unlikely to alias with any string constant used in the sources. In general we now pad shortened strings from the left with leading dir seperators, but in the case of C-strings that are much shorter and don't share a common suffix (due to projections), we do allow shrinking the C-string, appending a null, and retaining the old part of the prefix. Also when rewiring, we ensure that the new hash preserves the last 7 bytes of the old hash. Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2022-11-05packages.yaml: set url/git (#33275)Peter Scheibel4-0/+113
A user may want to set some attributes on a package without actually modifying the package (e.g. if they want to git pull updates to the package without conflicts). This PR adds a per-package configuration section called "set", which is a dictionary of attribute names to desired values. For example: packages: openblas: package_attributes: submodules: true git: "https://github.com/myfork/openblas" in this case, the package will always retrieve git submodules, and will use an alternate location for the git repo. While git, url, and submodules are the attributes for which we envision the most usage, this allows any attribute to be overridden, and the acceptable values are any value parseable from yaml.
2022-11-05unparser: fix bug in unit test assertion (#33722)Massimiliano Culpo1-5/+3
2022-11-04py-matplotlib: add v3.6.2 (#33683)Adam J. Stewart1-0/+1
2022-11-04Updated tau 2.32 hash (#33718)wspear1-1/+1
2022-11-05Fix formatting in packaging guide (#33714)iarspider1-10/+3
2022-11-04openssl: New version 1.1.1s (#33664)Erik Schnetter1-2/+12
This is a security update.
2022-11-05py-pytorch-lightning: add conflicts for py-torch~distributed (#33710)Adam J. Stewart1-0/+5
2022-11-04demote warning for no source id to debug message (#33657)Greg Becker4-15/+15
* demote warning for no source id to debug message
2022-11-04Cray support: use linux platform for newer craype versions (#29392)Greg Becker14-47/+122
Newer versions of the CrayPE for EX systems have standalone compiler executables for CCE and compiler wrappers for Cray MPICH. With those, we can treat the cray systems as part of the linux platform rather than having a separate cray platform. This PR: - [x] Changes cray platform detection to ignore EX systems with Craype version 21.10 or later - [x] Changes the cce compiler to be detectable via paths - [x] Changes the spack compiler wrapper to understand the executable names for the standalone cce compiler (`craycc`, `crayCC`, `crayftn`).
2022-11-04delegate to cray modules for target args on cray (#17857)Greg Becker2-2/+8
2022-11-04package/py-pykml: add new py3 compatible version (#33631)Sinan1-0/+3
* package/py-pykml: add new py3 compatible version * fix bugs Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2022-11-04Fix typo in docs (#33662)Matthieu Boileau1-1/+1
2022-11-04arm-forge: add 22.1 and 22.1.1. (#33584)kent-cheung-arm1-0/+12
2022-11-04Deprecate old YAML format for buildcaches (#33707)Massimiliano Culpo1-2/+17
2022-11-04add justbuild package (#33689)Alberto Sartori1-0/+82
2022-11-04Updates to stand-alone test documentation (#33703)Tamara Dahlgren2-22/+154
2022-11-04Python package: fix .libs on macOS with external Python (#33410)Dom Heinzeller1-4/+21
For some instances of externally-provided Python (e.g. Homebrew), the LDLIBRARY/LIBRARY config variables don't actually refer to libraries and should therefore be excluded from ".libs".
2022-11-04add elephant version v0.11.2 (#33663)Moritz Kern1-0/+1
2022-11-04ECP-SDK: fixup +hdf5 +cuda contraints (#33676)Stephen McDowell2-1/+15
Only enable the hdf5-vfd-gds package if it can compile. - hdf5-vfd-gds needs cuda@11.7.1+ to be able to `find_library` for cuFile. - Only enable hdf5-vfd-gds in the sdk if cuda@11.7.1+ is available. If an earlier version of cuda is being used, do not depend on the hdf5-vfd-gds package at all.
2022-11-04fix requires test for aarch64 (#33656)Greg Becker1-2/+2
2022-11-04paraview: static cuda is not supported (#33246)Vicente Bolea1-1/+1
2022-11-04gnutls: add v3.7.8 (#33708)Erik Schnetter1-0/+1
2022-11-04libressl: New package (#33709)Erik Schnetter1-0/+29
2022-11-04Bugfix: glvis new builder interface (#33704)Greg Becker1-70/+78
* take two * Add missing import statement * Group dependencies together * Extract libtiff arguments * Extract libpng arguments * Push preamble variable into png_args and tiff_args * Extract setting args associated with the screenshot variant * Inlined a few variables * Modify only build targets and install targets Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2022-11-04Octopus: refactor AutotoolsPackage (#33526)Ashwin Kumar1-14/+11
2022-11-04orca: add v5.0.3 (#33649)snehring1-12/+22
2022-11-04Add in-place RPATH replacement (#27610)Harmen Stoppels5-52/+155
Whenever the rpath string actually _grows_, it falls back to patchelf, when it stays the same length or gets shorter, we update it in-place, padded with null bytes. This PR only deals with absolute -> absolute rpath replacement. We don't use `_build_tarball(relative=True)` in our CI. If `relative` then it falls back to the old replacement code. With this PR, relocation time goes down significantly, likely because patchelf does some odd things with mmap, causing lots of overhead. Example: - `binutils`: 700MB installed, goes from `1.91s` to `0.57s`, or `3.4x` faster. Relocation time: 27% -> 10% of total install time - `llvm`: 6.8GB installed, goes from `28.56s` to `5.38`, or `5.3x` faster. Relocation time: 44% -> 13% of total install time The bottleneck is now decompression. Note: I'm somewhat confused about the "relative rpath" code paths. Right now this PR only deals with absolute -> absolute replacement. As far as I understand, if you embrace relative rpaths when uploading to the buildcache, the whole point is you _don't_ want to patch rpaths on install? So it seems fine to not expand `$ORIGIN` again imho.
2022-11-04Fix non-parallel make under depfile jobserver (#32862)Jordan Galby5-42/+80
When a package asks for non-parallel make, we need to force `make -j1` because just doing `make` will run in parallel under jobserver (e.g. `spack env depfile`). We now always add `-j1` when asked for a non-parallel execution (even if there is no jobserver). And each `MakeExecutable` can now ask for jobserver support or not. For example: the default `ninja` does not support jobserver so spack applies the default `-j`, but `ninja@kitware` or `ninja-fortran` does, so spack doesn't add `-j`. Tips: you can run `SPACK_INSTALL_FLAGS=-j1 make -f spack-env-depfile.make -j8` to avoid massive job-spawning because of build tools that don't support jobserver (ninja).
2022-11-03petsc: fix configure option to use double-hyphen (#33685)Satish Balay1-1/+1
2022-11-03Adding gegelati library package (#33686)Lucas1-0/+25
* testing ssh key * test * LR : Creating the packge to install the gegelati app * LR : Gegelati, a TPG C++ library added and fully tested * LR : adjusting for fork * LR: taking out the boilerplates * LR: taking out the rest
2022-11-03Add version 2.32 to tau package (#33702)wspear1-0/+1