Commit graph

28269 commits

Author SHA1 Message Date
Sinan
fb5ff901c0
package/py-pykml: add new py3 compatible version (#33631)
* package/py-pykml: add new py3 compatible version

* fix bugs

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2022-11-04 14:34:50 -07:00
Matthieu Boileau
76ec64859a
Fix typo in docs (#33662) 2022-11-04 20:19:34 +01:00
kent-cheung-arm
e85b308212
arm-forge: add 22.1 and 22.1.1. (#33584) 2022-11-04 20:18:20 +01:00
Massimiliano Culpo
a4f3fe2ac7
Deprecate old YAML format for buildcaches (#33707) 2022-11-04 12:06:42 -07:00
Alberto Sartori
b6da8635ec
add justbuild package (#33689) 2022-11-04 11:59:27 -07:00
Tamara Dahlgren
d338ac0634
Updates to stand-alone test documentation (#33703) 2022-11-04 18:55:38 +00:00
Dom Heinzeller
33e5e77225
Python package: fix .libs on macOS with external Python (#33410)
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-04 11:52:27 -07:00
Moritz Kern
13565df027
add elephant version v0.11.2 (#33663) 2022-11-04 12:34:16 -06:00
Stephen McDowell
6f8e242db8
ECP-SDK: fixup +hdf5 +cuda contraints (#33676)
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-04 13:26:58 -05:00
Greg Becker
17eaf34902
fix requires test for aarch64 (#33656) 2022-11-04 18:12:55 +00:00
Vicente Bolea
ac9172fdbc
paraview: static cuda is not supported (#33246) 2022-11-04 18:52:28 +01:00
Erik Schnetter
1a77f3e2e0
gnutls: add v3.7.8 (#33708) 2022-11-04 18:06:11 +01:00
Erik Schnetter
7d4373f526
libressl: New package (#33709) 2022-11-04 18:05:23 +01:00
Greg Becker
2caec6bd27
Bugfix: glvis new builder interface (#33704)
* 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-04 08:42:06 -07:00
Ashwin Kumar
bde4d1e38c
Octopus: refactor AutotoolsPackage (#33526) 2022-11-04 14:59:45 +01:00
snehring
49d7aa21fd
orca: add v5.0.3 (#33649) 2022-11-04 12:26:59 +01:00
Harmen Stoppels
1d4919924d
Add in-place RPATH replacement (#27610)
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-04 02:30:53 -07:00
Jordan Galby
b1f896e6c7
Fix non-parallel make under depfile jobserver (#32862)
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-04 02:05:22 -07:00
Satish Balay
34969b7072
petsc: fix configure option to use double-hyphen (#33685) 2022-11-03 20:22:09 -06:00
Lucas
72b11c1883
Adding gegelati library package (#33686)
* 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-03 18:34:00 -07:00
wspear
b3e41736e6
Add version 2.32 to tau package (#33702) 2022-11-03 18:24:23 -07:00
Todd Gamblin
9c5c327a6f
propagation: don't count propagated variant values as non-default (#33687)
We try to avoid non-default variant values in the concretizer, but this doesn't make
sense for variants forced to take some non-default value by variant propagation.
Counting this as a penalty effectively biases the concretizer for small specs dependency
graphs -- something we try very hard to avoid elsewhere because it can lead to very
strange decisions.

Example: with the penalty, `spack spec hdf5` will choose the default `openmpi` as its
`mpi` provider, but `spack spec hdf5 ~~shared` will choose `mpich` because it has to set
fewer non-default variant values because `mpich`'s DAG is smaller. That's not a good
reason to prefer a non-default virtual provider.

To fix this, if the user explicitly requests a non-default value to be propagated, there
shouldn't be a penalty. Variant values set on the CLI already don't count as default; we
just need to extend that to propagated values.
2022-11-03 18:26:03 -06:00
Greg Becker
79fcc0848f
Update glvis for new builder interface (#33699) 2022-11-03 17:10:39 -07:00
Harmen Stoppels
b52be75978
Experimental binding of shared ELF libraries (#31948)
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-03 17:34:00 -06:00
Adrien Cotte
7fc49c42ee
Add new versions to py-clustershell (#33694) 2022-11-03 17:11:28 -05:00
snehring
5b39059472
tassel: adding version 5.2.86 (#33697) 2022-11-03 15:02:36 -07:00
snehring
e8cc1a60ea
spades: adding version 3.15.5 (#33698) 2022-11-03 14:44:31 -07:00
eugeneswalker
d2d01ea488
flux-core: allow ncurses >= 6.2 (#33599) 2022-11-03 14:44:02 -07:00
Zack Galbreath
ccc716f617
Limit the number of parallel jobs launched by Tensile (#33692) 2022-11-03 15:26:03 -06:00
Scott Wittenburg
b55509ffa8
gitlab: Prune untouched specs less aggressively (#33669)
Untouched spec pruning was added to reduce the number of specs
developers see getting rebuilt in their PR pipelines that they
don't understand.  Because the state of the develop mirror lags
quite far behind the tip of the develop branch, PRs often find
they need to rebuild things untouched by their PR.

Untouched spec pruning was previously implemented by finding all
specs in the environment with names of packages touched by the PR,
traversing in both directions the DAGS of those specs, and adding
all dependencies as well as dependents to a list of concrete specs
that should not be considered for pruning.

We found that this heuristic results in too many pruned specs, and
that dependents of touched specs must have all their dependencies
added to the list of specs that should not be considered for pruning.
2022-11-03 13:33:52 -06:00
Miroslav Stoyanov
08bee718a2
new cmake requirement (#33679) 2022-11-03 11:28:08 -07:00
Nicolas Cornu
da020d1bb8
Bump HighFive to v2.5.0 (#33691)
* Bump HighFive to v2.5.0
* Adding myself as maintainers
* fix format with black
2022-11-03 11:34:15 -06:00
Cyrus Harrison
ca93c8b57a
fides: remove unneeded variants (#32521) 2022-11-03 11:33:59 -06:00
Greg Sjaardema
16acd25053
SEACAS: further refactor (#33673)
* 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-03 11:42:25 -04:00
snehring
9925f3b779
isescan: add version 1.7.2.3 (#33675) 2022-11-03 09:29:59 -06:00
Mikael Simberg
68a5fe84a7
Add pika 0.10.0 (#33659)
Co-authored-by: Harmen Stoppels <harmenstoppels@gmail.com>
2022-11-03 12:28:38 +01:00
Harmen Stoppels
243dfe91e9
Use spack.traverse.traverse_nodes where useful (#33677) 2022-11-03 11:34:24 +01:00
Jose E. Roman
30da20c1bc
New patch release SLEPc 3.18.1 (#33661) 2022-11-03 03:58:16 -06:00
Massimiliano Culpo
0d82688903
Update metadata for bootstrapping (#33665) 2022-11-03 09:05:03 +00:00
Michael Kuhn
707e56dea8
glib: add 2.74.1 (#33650) 2022-11-03 02:50:20 -06:00
Sinan
2264b75ca0
add new package: py-pylatex (#33573)
* 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-02 22:38:17 -06:00
Greg Becker
c716c6ca95
Bugfix for spec objects modified by flag handlers (#33682)
This issue was introduced in #29761:

```
==> Installing ncurses-6.3-22hz6q6cvo3ep2uhrs3erpp2kogxncbn
==> No binary for ncurses-6.3-22hz6q6cvo3ep2uhrs3erpp2kogxncbn found: installing from source
==> Using cached archive: /spack/var/spack/cache/_source-cache/archive/97/97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059.tar.gz
==> No patches needed for ncurses
==> ncurses: Executing phase: 'autoreconf'
==> ncurses: Executing phase: 'configure'
==> ncurses: Executing phase: 'build'
==> ncurses: Executing phase: 'install'
==> Error: AttributeError: 'str' object has no attribute 'propagate'

The 'ncurses' package cannot find an attribute while trying to build from sources. This might be due to a change in Spack's package format to support multiple build-systems for a single package. You can fix this by updating the build recipe, and you can also report the issue as a bug. More information at https://spack.readthedocs.io/en/latest/packaging_guide.html#installation-procedure

/spack/lib/spack/spack/build_environment.py:1075, in _setup_pkg_and_run:
       1072        tb_string = traceback.format_exc()
       1073
       1074        # build up some context from the offending package so we can
  >>   1075        # show that, too.
       1076        package_context = get_package_context(tb)
       1077
       1078        logfile = None
```

It turns out this was caused by a bug that had been around much longer, in which the flags were passed by reference to the flag_handler, and the flag_handler was modifying the spec object, not just the flags given to the build system. The scope of this bug was limited by the forking model in Spack, which is how it went under the radar for so long.

PR includes regression test.
2022-11-02 21:09:43 -07:00
Harmen Stoppels
b652fe72d7
remove deptype_query remnants and fix incorrect deptypes kwarg (#33670)
* 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-02 14:24:59 -07:00
Robert Pavel
4d5f2e3a37
Initial Version of Hypar Spackage (#33647)
Initial spackage for Hypar proxy app
2022-11-02 14:10:19 -07:00
Martin Diehl
4c535a2037
update: damask3.0.0-alpha7 (#33634)
* damask3.0.0-alpha7
* [@spackbot] updating style on behalf of MarDiehl

Co-authored-by: MarDiehl <MarDiehl@users.noreply.github.com>
2022-11-02 12:23:19 -07:00
Weiqun Zhang
2a516aadb1
amrex: add v22.11 (#33671) 2022-11-02 11:59:50 -07:00
Carson Woods
0661c1f531
Package: add new package py-fitter (#33652)
* Add new python package

* Fix isort style issues

* Add additional dependencies

* Add additional dependencies

* Remove comments

* Add additional explicit dependencies
2022-11-02 12:42:10 -06:00
Sinan
4b549560f9
package_qgis_fix_pythonpath (#33655)
* package_qgis_fix_pythonpath

* check if bindings enabled also

Co-authored-by: sbulut <sbulut@3vgeomatics.com>
2022-11-02 13:40:05 -05:00
Greg Sjaardema
d4ea74bf80
SEACAS: Update package.py to handle new SEACAS project name (#33646)
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-02 11:50:15 -05:00
Paul R. C. Kent
cff94f8e71
llvm: add 15.0.3, 15.0.4 (#33651)
* v1503

* v1504
2022-11-02 10:46:08 -06:00