summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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-02propagation: improve performanceGregory Becker3-61/+68
This updates the propagation logic used in `concretize.lp` to avoid rules with `path()` in the body and instead base propagation around `depends_on()`.
2022-11-02flags/variants: Add ++/~~/== syntax for propagation to dependenciesKayla Butler16-118/+435
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-02tests: fix group membership check in sbang tests. (#33658)Todd Gamblin2-4/+13
Fixes an issue on the RHEL8 UBI container where this test would fail because `gr_mem` was empty for every entry in the `grp` DB. You have to check *both* the `pwd` database (which has primary groups) and `grp` (which has other gorups) to do this correctly. - [x] update `llnl.util.filesystem.group_ids()` to do this - [x] use it in the `sbang` test
2022-11-01Consolidate DAG traversal in traverse.py, support DFS/BFS (#33406)Harmen Stoppels9-204/+800
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
2022-11-01ParaView: add v5.11.0-RC2 (#33486)Vicente Bolea1-1/+1
Co-authored-by: eugeneswalker <38933153+eugeneswalker@users.noreply.github.com>
2022-11-01Unit tests: make unit tests work for aarch64 machines (#33625)Greg Becker27-91/+347
Currently, many tests hardcode to older versions of gcc for comparisons of concretization among compiler versions. Those versions are too old to concretize for `aarch64`-family targets, which leads to failing tests on `aarch64`. This PR fixes those tests by updating the compiler versions used for testing. Currently, many tests hardcode the expected architecture result in concretization to the `x86_64` family of architectures. This PR generalizes the tests that can be generalized, to cover multiple architecture families. For those that test specific relationships among `x86_64`-family targets, it ensures that concretization uses the `x86_64`-family targets in those cases. Currently, many tests rely on the fact that `AutotoolsPackage` imposes no dependencies on the inheriting package. That is not true on `aarch64`-family architectures. This PR ensures that the fact `AutotoolsPackage` on `aarch64` pulls in a dependency on `gnuconfig` is ignored when testing for the appropriate relationships among dependencies Additionally, 5 tests currently prompt the user for input when `gpg` is available in the user's path. This PR fixes that issue. And 7 tests fail currently when the user has a yubikey available. This PR fixes the incorrect gpg argument causing those issues.
2022-11-01Update command option for example (#33321)Greg Sjaardema1-1/+1
The `spack info <package>` command does not show the `Virtual Packages:` output unless the `--virtuals` command option is passed. Before this changes, the information that the command is supposed to be illustrating is not shown in the example and is confusing.
2022-11-01Allow target requirements in packages.yaml (#32528)Massimiliano Culpo6-14/+32
This PR solves the issue reported in #32471 specifically for targets and operating systems, by avoiding to add a default platform to anonymous specs.
2022-11-01Add elf parsing utility function (#33628)Harmen Stoppels4-46/+635
Introduces `spack.util.elf.parse_elf(file_handle)`
2022-11-01perl: add 5.36.0 (#33336)Michael Kuhn1-9/+7
2022-11-01xz: add 5.2.7 (#33338)Michael Kuhn2-1/+4
2022-11-01sundials: add v6.4.1, new ginkgo and kokkos variants, plus some fixes (#33644)Cody Balos1-11/+77
* sundials: add v6.4.1, new ginkgo and kokkos variants, plus some fixes * add missing kokkos/kokkos-kernels variant * add v6.4.0
2022-11-01Let pytest-cov create the xml directly (#33619)Massimiliano Culpo2-8/+2
`coverage` sometimes failed to combine, even if there were multiple reports.
2022-11-01superlu-dist: fix rocm variant for the master branch (#33624)liuyangzhuan1-2/+5
* superlu-dist: fix rocm variant for the master branch * simplify superlu-dist * add mpi include to HIP_HIPCC_FLAGS Co-authored-by: liuyangzhuan <liuyangzhuan@users.noreply.github.com>
2022-11-01Add tracy 0.9 (#33638)Mikael Simberg3-0/+3
* Add tracy 0.9 * Add conflict for pika and tracy@0.9:
2022-11-01py-pytorch-lightning: add v1.8.0 (#33643)Adam J. Stewart3-4/+72
2022-11-01py-ilmbase: add dependency to py-numpy (#33633)Qian Jianhua1-0/+1
* py-ilmbase: add dependency to py-numpy * fix style
2022-11-01package/py-simplekml_add_new_versions (#33632)Sinan1-0/+2
Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2022-11-01Relocate links using prefix to prefix map (#33636)Harmen Stoppels3-58/+58
Previously symlinks were not relocated when they pointed across packages
2022-10-31hpctoolkit: adjust rocm dependency types (#33627)Mark W. Krentel1-4/+6
Drop the link dependency type for the rocm packages. We don't actually link, and that adds rpaths that conflict with the app.
2022-10-31py-torchmetrics: add v0.10.2 (#33630)Adam J. Stewart1-0/+1
2022-10-31ParaView: ParaView needs to set the HDF5 API (#33617)kwryankrattiger1-0/+9
When building ParaView with a newer HDf5 than 1.10, it needs to select the 1.10 API using flags.
2022-10-31GDAL: add v3.5.3 (#33623)Adam J. Stewart1-0/+1
2022-10-31new package: polypolish (#33601)Luke Diorio-Toth1-0/+29
* added polypolish package, comfirmed builds * added bwa dep
2022-10-31julia: don't look for the openlibm libraries when unneeded (#33626)downloadico1-1/+2
* julia: don't look for the openlibm libraries when unneeded Cause spack to *not* check for the existence of the openlibm libraries (by adding it to the pkgs list) when ~openlibm is specified. * [@spackbot] updating style on behalf of downloadico Co-authored-by: downloadico <downloadico@users.noreply.github.com>
2022-10-31ophidia-server: new package at v1.7 (#33581)SoniaScard1-0/+47
Co-authored-by: SoniaScard <SoniaScard@users.noreply.github.com>
2022-10-31Revert "gitlab: when_possible -> false (#33443)" (#33552)Massimiliano Culpo2-2/+2
This reverts commit b1559cc831620ee2b2cf8e57fdecc5bb3bf8edfd.
2022-10-31Fix pkgconfig dependencies (#33614)Michael Kuhn7-6/+7
Packages should depend on the virtual provider, pkgconfig, not on its implementations pkg-config or pkgconf.
2022-10-31openfoam: update mechanism for creating spack-specific wmake rules (#33615)Mark Olesen1-23/+51
- the updated OpenFOAM wmake rules now allow multiple locations for compiler flags: * wmake/General/common/c++Opt [central] * wmake/linux64Gcc/c++Opt [traditional] - match both '=' and ':=' make rule lines Co-authored-by: Mark Olesen <Mark.Olesen@esi-group.com>
2022-10-31Windows: fix library loading and enable Clingo bootstrapping (#33400)John W. Parent8-73/+115
Changes to improve locating shared libraries on Windows, which in turn enables the use of Clingo. This PR attempts to establish a proper distinction between linking on Windows vs. Linux/Mac: on Windows, linking is always done with .lib files (never .dll files). This somewhat complicates the model since the Spec.lib method could return libraries that were used for both linking and loading, but since these are not always the same on Windows, it was decided to treat Spec.libs as being for link-time libraries. Additional functions are added to help dependents locate run-time libraries. * Clingo is now the default concretizer on Windows * Clingo is now the concretizer used for unit tests on Windows * Fix a permissions issue that can occur while moving Git files during fetching/staging * Packages can now implement "win_add_library_dependent" to register files/directories that include libraries that would need to link to dependency dlls * Packages can now implement "win_add_rpath" to register the locations of dlls that dependents would want to load * "Spec.libs" on Windows is updated to return link-time libraries (i.e. .lib files, rather than .dll files) * PackageBase.rpath on Windows is now updated to return the most-likely locations where .dlls will be found (which is generally in the bin/ directory)
2022-10-31Enable Cuda for AMReX smoke test. (#28576)Erik1-2/+7
* Enable Cuda for AMReX smoke test. * style fix * more style fixes * change /... to join_path Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2022-10-31rsync: New version 3.2.7 (#33618)Erik Schnetter1-0/+3
2022-10-31Nalu-Wind: Allow for standard versions of trilinos (#33620)psakievich1-1/+1
* Nalu-Wind: Allow for standard versions of trilinos This will allow us to utilize custom numeric versions for trilinos in `spack-manager` while we continue to develop `nalu-wind`. Pinging @eugeneswalker @jrood-nrel @tasmith4 * Update var/spack/repos/builtin/packages/nalu-wind/package.py
2022-10-31gmake: add a patch so dirs are not executed (#33578)Harmen Stoppels2-0/+135
2022-10-31exago: query and use MPI compilers from spack (#33598)Satish Balay1-0/+11
* exago: query and use MPI compilers from spack * exago: requires explicit location of mpi.h for nvcc
2022-10-31Make --backtrace show non-SpackError backtraces (#33540)Harmen Stoppels1-3/+8
2022-10-31remove sequential filter in binary relo (#33608)Harmen Stoppels1-16/+4
Currently there's a slow sequential step in binary relocation where all strings of a binary are collected, with rpaths removed, and then filtered for the old install root. This is completely unnecessary, and also incorrect, since we replace more than just the old install root in the prefix to prefix mapping. And in fact the prefix to prefix mapping is parallel, and a single pass. So even as an optimization, this filter makes no sense anymore. Therefor we remove it
2022-10-31_replace_prefix_bin performance improvements (#33590)Harmen Stoppels2-26/+51
- single pass over the binary data matching all prefixes - collect offsets and replacement strings - do in-place updates with `fseek` / `fwrite`, since typically our replacement touch O(few bytes) while the file is O(many megabytes) - be nice: leave the file untouched if some string can't be replaced
2022-10-31utf8proc: add v2.8.0 (#33611)Mosè Giordano1-0/+1
2022-10-30openjdk: add 11.0.16.1+1, 11.0.17+8, 17.0.4.1+1, 17.0.5+8 (#33355)Diego Alvarez1-0/+72
2022-10-30libgit2: add v1.4.4 and v1.5.0 (#33604)Mosè Giordano1-0/+2
2022-10-29e4s ci: add mfem +rocm (#31604)eugeneswalker1-0/+1
2022-10-29New MFEM version: 4.5 (#33480)Veselin Dobrev2-41/+124
* New MFEM version: 4.5 Add new MFEM variants: ginkgo, hiop * mfem: small tweaks * mfem: tweak testing script * mfem: try to resolve issue #30483 * mfem: fix style * mfem: tweak for Spack-built hipsparse Co-authored-by: eugeneswalker <38933153+eugeneswalker@users.noreply.github.com>