summaryrefslogtreecommitdiff
path: root/var
AgeCommit message (Collapse)AuthorFilesLines
2022-11-05Fix relocation to avoid overwriting merged constant strings (#32253)Tom Scogland2-2/+12
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-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-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-04Cray support: use linux platform for newer craype versions (#29392)Greg Becker7-17/+17
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-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-04arm-forge: add 22.1 and 22.1.1. (#33584)kent-cheung-arm1-0/+12
2022-11-04add justbuild package (#33689)Alberto Sartori1-0/+82
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-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-04Fix non-parallel make under depfile jobserver (#32862)Jordan Galby3-5/+22
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
2022-11-03Update glvis for new builder interface (#33699)Greg Becker1-2/+2
2022-11-03Experimental binding of shared ELF libraries (#31948)Harmen Stoppels3-0/+11
Adds another post install hook that loops over the install prefix, looking for shared libraries type of ELF files, and sets the soname to their own absolute paths. The idea being, whenever somebody links against those libraries, the linker copies the soname (which is the absolute path to the library) as a "needed" library, so that at runtime the dynamic loader realizes the needed library is a path which should be loaded directly without searching. As a result: 1. rpaths are not used for the fixed/static list of needed libraries in the dynamic section (only for _actually_ dynamically loaded libraries through `dlopen`), which largely solves the issue that Spack's rpaths are a heuristic (`<prefix>/lib` and `<prefix>/lib64` might not be where libraries really are...) 2. improved startup times (no library search required)
2022-11-03Add new versions to py-clustershell (#33694)Adrien Cotte1-2/+6
2022-11-03tassel: adding version 5.2.86 (#33697)snehring1-0/+2
2022-11-03spades: adding version 3.15.5 (#33698)snehring1-0/+1
2022-11-03flux-core: allow ncurses >= 6.2 (#33599)eugeneswalker1-1/+1
2022-11-03Limit the number of parallel jobs launched by Tensile (#33692)Zack Galbreath1-0/+5
2022-11-03new cmake requirement (#33679)Miroslav Stoyanov1-2/+9
2022-11-03Bump HighFive to v2.5.0 (#33691)Nicolas Cornu1-0/+4
* Bump HighFive to v2.5.0 * Adding myself as maintainers * fix format with black
2022-11-03fides: remove unneeded variants (#32521)Cyrus Harrison1-5/+2
2022-11-03SEACAS: further refactor (#33673)Greg Sjaardema1-122/+92
* SEACAS: Update package.py to handle new SEACAS project name The base project name for the SEACAS project has changed from "SEACASProj" to "SEACAS" as of @2022-10-14, so the package needed to be updated to use the new project name when needed. The refactor also changes several: "-DSome_CMAKE_Option:BOOL=ON" to define("Some_CMAKE_Option", True) * SEACAS: Additional refactorings * Replaced all cmake "-Dsomething=other" lines with either `define` or `define_from_variant` functions. Consolidated the application (fortran, legacy, all) enabling lines into loops over the code names. Easier to see categorization of applications and also to add/move/remove an application Reordered some lines; general cleanup and restructuring. * Address flake8 issues * Remove trailing whitespace * Reformat using black
2022-11-03isescan: add version 1.7.2.3 (#33675)snehring1-1/+2
2022-11-03Add pika 0.10.0 (#33659)Mikael Simberg1-0/+1
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2022-11-03New patch release SLEPc 3.18.1 (#33661)Jose E. Roman2-0/+2
2022-11-03glib: add 2.74.1 (#33650)Michael Kuhn1-1/+3
2022-11-02add new package: py-pylatex (#33573)Sinan1-0/+35
* add new package: py-pylatex * fix bugs * add extras indicated in setup.py * Update var/spack/repos/builtin/packages/py-pylatex/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/py-pylatex/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * improvements * remove git merge related lines * tidy * Update var/spack/repos/builtin/packages/py-pylatex/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * remove variant * [@spackbot] updating style on behalf of Sinan81 Co-authored-by: sbulut <sbulut@3vgeomatics.com> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Sinan81 <Sinan81@users.noreply.github.com>
2022-11-02remove `deptype_query` remnants and fix incorrect `deptypes` kwarg (#33670)Harmen Stoppels3-6/+6
* remove deptype_query remnants * deptypes -> deptype These arguments haven't existed since 2017, but `traverse` now fails on unknown **kwargs, so they have finally popped up.
2022-11-02Initial Version of Hypar Spackage (#33647)Robert Pavel1-0/+63
Initial spackage for Hypar proxy app
2022-11-02update: damask3.0.0-alpha7 (#33634)Martin Diehl7-1/+77
* damask3.0.0-alpha7 * [@spackbot] updating style on behalf of MarDiehl Co-authored-by: MarDiehl <MarDiehl@users.noreply.github.com>
2022-11-02amrex: add v22.11 (#33671)Weiqun Zhang1-1/+2
2022-11-02Package: add new package py-fitter (#33652)Carson Woods1-0/+29
* Add new python package * Fix isort style issues * Add additional dependencies * Add additional dependencies * Remove comments * Add additional explicit dependencies
2022-11-02package_qgis_fix_pythonpath (#33655)Sinan1-0/+5
* package_qgis_fix_pythonpath * check if bindings enabled also Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2022-11-02SEACAS: Update package.py to handle new SEACAS project name (#33646)Greg Sjaardema1-73/+107
The base project name for the SEACAS project has changed from "SEACASProj" to "SEACAS" as of @2022-10-14, so the package needed to be updated to use the new project name when needed. The refactor also changes several: "-DSome_CMAKE_Option:BOOL=ON" to define("Some_CMAKE_Option", True)
2022-11-02llvm: add 15.0.3, 15.0.4 (#33651)Paul R. C. Kent1-0/+2
* v1503 * v1504
2022-11-02flags/variants: Add ++/~~/== syntax for propagation to dependenciesKayla Butler2-0/+9
Currently, compiler flags and variants are inconsistent: compiler flags set for a package are inherited by its dependencies, while variants are not. We should have these be consistent by allowing for inheritance to be enabled or disabled for both variants and compiler flags. - [x] Make new (spec language) operators - [x] Apply operators to variants and compiler flags - [x] Conflicts currently result in an unsatisfiable spec (i.e., you can't propagate two conflicting values) What I propose is using two of the currently used sigils to symbolized that the variant or compiler flag will be inherited: Example syntax: - `package ++variant` enabled variant that will be propagated to dependencies - `package +variant` enabled variant that will NOT be propagated to dependencies - `package ~~variant` disabled variant that will be propagated to dependencies - `package ~variant` disabled variant that will NOT be propagated to dependencies - `package cflags==True` `cflags` will be propagated to dependencies - `package cflags=True` `cflags` will NOT be propagated to dependencies Syntax for string-valued variants is similar to compiler flags.
2022-11-02armpl-gcc: Pull RHEL8 package when OS is Rocky8 (#33641)Filippo Spiga1-0/+1
2022-11-01Consolidate DAG traversal in traverse.py, support DFS/BFS (#33406)Harmen Stoppels4-0/+129
This PR introduces breadth-first traversal, and moves depth-first traversal logic out of Spec's member functions, into `traverse.py`. It introduces a high-level API with three main methods: ```python spack.traverse.traverse_edges(specs, kwargs...) spack.traverse.traverse_nodes(specs, kwags...) spack.traverse.traverse_tree(specs, kwargs...) ``` with the usual `root`, `order`, `cover`, `direction`, `deptype`, `depth`, `key`, `visited` kwargs for the first two. What's new is that `order="breadth"` is added for breadth-first traversal. The lower level API is not exported, but is certainly useful for advanced use cases. The lower level API includes visitor classes for direction reversal and edge pruning, which can be used to create more advanced traversal methods, especially useful when the `deptype` is not constant but depends on the node or depth. --- There's a couple nice use-cases for breadth-first traversal: - Sometimes roots have to be handled differently (e.g. follow build edges of roots but not of deps). BFS ensures that root nodes are always discovered at depth 0, instead of at any depth > 1 as a dep of another root. - When printing a tree, it would be nice to reduce indent levels so it fits in the terminal, and ensure that e.g. `zlib` is not printed at indent level 10 as a dependency of a build dep of a build dep -- rather if it's a direct dep of my package, I wanna see it at depth 1. This basically requires one breadth-first traversal to construct a tree, which can then be printed with depth-first traversal. - In environments in general, it's sometimes inconvenient to have a double loop: first over the roots then over each root's deps, and maintain your own `visited` set outside. With BFS, you can simply init the queue with the environment root specs and it Just Works. [Example here](https://github.com/spack/spack/blob/3ec73046995d9504d6e135f564f1370cfe31ba34/lib/spack/spack/environment/environment.py#L1815-L1816)
2022-11-01rempi %oneapi: -Wno-error=implicit-function-declaration (#33654)eugeneswalker1-0/+7