* update cairo for new meson build system
* update patch range. remove old conflict
* style
* update pango to reflect the changes in cairo
* refine depends
* style
* add lzo depends
* add +shared
* non self-referential variant requireme
* style
* Move +shared variant back to just autotools as meson automatically handles it
* clarify patch when=
* update based on reviews. switch from conflicts to requires to enforce variant synchronization
* refine conflicts and requires
* better group build deps together
* comment for meson build lower version bound
* clarifying comments
* clarify version ranges, enforce build_system with version ranges
* style
* cairo: no need to require for build_systems
---------
Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
Up to now, Spack was allowing all build-tools that
may appear in the DAG to have 2 max_dupes.
This is not needed in practice for most of them,
and adding them out of caution just increases
grounding and concretization time.
This PR makes the value of max_dupes configurable
per package, and sets only a few known packages to
2 max_dupes by default.
In case user needs different values, they can
tune the configuration for their use case.
On macOS, prefix_a/file and prefix_b/FILE map to the same file view/file or view/FILE.
This commit ensures that we test whether a view is created on a case insensitive filesystem and handle projection conflicts accordingly.
With this change spec["pkg"] searches only direct dependencies and transitive link/run
dependencies, ordered by depth. This avoids situations where we pick up unwanted
deps of build/test deps.
To reach those, you need to do spec["build_dep"]["pkg"] explicitly.
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
meson's `dependency` function often uses pkg-config to locate a dependency, and may even fall back to cmake. The former case is very common, and since packagers often forget to add the tiny pkgconfig package as a build dep, we do it for them.
Currently this is hardcoded to the same value as listed in the class
definition. If one ever overrides this attribute, such as:
```
packages:
openblas:
package_attributes:
libraries = [ 'libopenblaso64', ]
```
this patch will make sure that override also in the
`spec['openblas'].libs()` call. (Which happens in `hypre`, likely
others).
( see
https://spack.readthedocs.io/en/latest/packages_yaml.html#assigning-package-attributes
)
Thanks to becker33 for debugging help in Slack
* Name of zlib's library differs on Windows; also account for name
differing when building +shared
* `zlib`'s `.libs` implementation was searching for the runtime
libraries (the .dlls) and should be searching for link-time libs
* Kokkos Tools package.py: fix maintainers
* Kokkos Tools package.py: remove white space between first and second maintainer in comma-separated list
* [@spackbot] updating style on behalf of vlkale
* Correct maintainers syntax
Co-authored-by: Richard Berger <richard.berger@outlook.com>
---------
Co-authored-by: vlkale <vlkale@users.noreply.github.com>
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
Co-authored-by: Richard Berger <richard.berger@outlook.com>
* pandoramonitoring: add v3.6.0; pandorapfa: add v4.11.2
Remove variables that are not being used in pandorasdk. Use the C++ standard
from ROOT when possible and pass -Wno-error to override the -Werror that will
typically fail with a new standard. Add a cxxstd variant for pandorasdk
* Fix style
* Update var/spack/repos/builtin/packages/pandorasdk/package.py
Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
* Fix style
---------
Co-authored-by: jmcarcell <jmcarcell@users.noreply.github.com>
Co-authored-by: Wouter Deconinck <wdconinc@gmail.com>
* h5hut: Remove H5_USE_110_API for newer versions
* h5hut: style reformat and add maintainer
* h5hut: correct version syntax for <v2.x.x
* h5hut: Bump default version to 2.0.0rc7 and remove older rc candidates
* Update var/spack/repos/builtin/packages/h5hut/package.py
Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
---------
Co-authored-by: Alberto Invernizzi <9337627+albestro@users.noreply.github.com>
Co-authored-by: Mikael Simberg <mikael.simberg@iki.fi>
cray-mpich now has a rocm variant. You can use gtl_lib in the
flag_handler like so:
```python
def flag_handler(self, name, flags):
wrapper_flags = []
environment_flags = []
build_system_flags = []
if self.spec.satisfies("+rocm"):
if self.spec.satisfies("^cray-mpich"):
gtl_lib = self.spec["cray-mpich"].package.gtl_lib
build_system_flags.extend(gtl_lib.get(name) or [])
# hipcc is not wrapped, we need to pass the flags via the
# build system.
build_system_flags.extend(flags)
return (wrapper_flags, environment_flags, build_system_flags)
```
---------
Co-authored-by: Richard Berger <rberger@lanl.gov>
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
Co-authored-by: Richard Berger <richard.berger@outlook.com>
* postgresql: add version 17.2
* postgresql: install flex, bison and perl when building versions 17 and up
* postgresql: do not install perl by default when building versions 17 and up
This PR is effectively a breaking change extracted from #45189, which removes
support for spec["mpi"] if spec itself is openmpi / mpich that could provide mpi;
from the Spec instance we don't have any parent it provides it to,
hence it's a KeyError.
* g4vg: add develop version
* celeritas: add develop version
* Fix style
* REVERTME: move celeritas changes to another branch
* Get full repo
* remove unneeded variable
Currently, a few packages using kokkos rely on
kokkos itself monkeypatching its own spec to
provide some attribute.
In this commit we change this attribute to be
defined on the package, and never be monkeypatched.