Commit Graph

28251 Commits

Author SHA1 Message Date
Gregory Becker
540c37cb06 allow lists and dicts since we get them for free 2022-11-04 17:51:58 -07:00
Gregory Becker
be89a18971 becker: show simplification idea 2022-11-04 17:51:58 -07:00
Peter Josef Scheibel
104023e7cb auto style fix 2022-11-04 17:51:58 -07:00
Peter Josef Scheibel
1412251d79 account for attributes that should be deleted (i.e. if they weren't set originally on the package) 2022-11-04 17:51:58 -07:00
Peter Josef Scheibel
186532bac1 style fixes 2022-11-04 17:51:58 -07:00
Peter Josef Scheibel
e09623060b update test to clarify parsing 2022-11-04 17:51:58 -07:00
Peter Josef Scheibel
8dbd7b423b add placeholders for assigning collection types 2022-11-04 17:51:58 -07:00
Peter Josef Scheibel
4f5afbe97b do type inference on strings (this works well for values that are not collections) 2022-11-04 17:51:57 -07:00
Peter Josef Scheibel
469401d4a1 style fix 2022-11-04 17:51:57 -07:00
Peter Josef Scheibel
4bc2d12a68 intermediate work on arbitrary types for pkg_attribute 2022-11-04 17:51:57 -07:00
Peter Josef Scheibel
2b5be8c52a only delete the attribute if it exists 2022-11-04 17:51:57 -07:00
Peter Josef Scheibel
2ad94bc76a make sure to remove old overidden_attrs 2022-11-04 17:51:57 -07:00
Peter Josef Scheibel
56671984b5 only set storage variable on class if there is anything to keep track of 2022-11-04 17:51:57 -07:00
Peter Josef Scheibel
bd40a98ccd Revert "remove new test and see if that's part of the problem (even though it isn't run before the failing test)"
This reverts commit 48c15d2f6be8a0bd88428e015ea41a8c814130f8.
2022-11-04 17:51:57 -07:00
Peter Josef Scheibel
25e875c1d6 remove new test and see if that's part of the problem (even though it isn't run before the failing test) 2022-11-04 17:51:56 -07:00
Peter Josef Scheibel
de59410216 Revert "temporarily undo everything in this PR to check if it could somehow be causing a failure in an unrelated test"
This reverts commit c138b808304d68748308ea21e46a08bb028ab584.
2022-11-04 17:51:56 -07:00
Peter Josef Scheibel
edc3a3d19b temporarily undo everything in this PR to check if it could somehow be causing a failure in an unrelated test 2022-11-04 17:51:56 -07:00
Peter Josef Scheibel
114ad6dd0a auto style fix 2022-11-04 17:51:56 -07:00
Peter Josef Scheibel
3ddc16b1ff add clarifying comment 2022-11-04 17:51:56 -07:00
Peter Josef Scheibel
d38ad41b65 move setattr back to get_pkg_class (since these config settings can affect class-level attrs) 2022-11-04 17:51:56 -07:00
Peter Josef Scheibel
d68e1c976d add note for consideration 2022-11-04 17:51:56 -07:00
Peter Josef Scheibel
821d20cf06 auto style fix 2022-11-04 17:51:55 -07:00
Peter Josef Scheibel
a92eacd3c8 rename 'set' to 'package_attributes' 2022-11-04 17:51:55 -07:00
Peter Josef Scheibel
bb079ee356 move set logic to PackageBase initializer (otherwise, users could instantiate package_class() in other locations and bypass the config) 2022-11-04 17:51:55 -07:00
Peter Josef Scheibel
0b24c820b4 auto style fix 2022-11-04 17:51:55 -07:00
Peter Josef Scheibel
2db85d240a add test; set attributes on instance vs. on class 2022-11-04 17:51:55 -07:00
Peter Josef Scheibel
a8fa5f6ca1 core changes to allow setting git/url attribute on packages 2022-11-04 17:51:55 -07:00
Erik Schnetter
d7cb790f88 openssl: New version 1.1.1s (#33664)
This is a security update.
2022-11-04 18:18:05 -06:00
Adam J. Stewart
7c0b3f6374 py-pytorch-lightning: add conflicts for py-torch~distributed (#33710) 2022-11-05 00:00:23 +01:00
Greg Becker
912d544afe demote warning for no source id to debug message (#33657)
* demote warning for no source id to debug message
2022-11-04 21:52:58 +00:00
Greg Becker
53fbaa5dcd Cray support: use linux platform for newer craype versions (#29392)
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-04 14:52:11 -07:00
Greg Becker
a88c74dc17 delegate to cray modules for target args on cray (#17857) 2022-11-04 14:50:05 -07:00
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