Commit Graph

23133 Commits

Author SHA1 Message Date
iarspider
1e70ee38a2 New version of OpenLoops (#22240)
New version of OpenLoops; new list of processes; update lcg process collection
Add script to scrape openloops website for process list
2021-04-01 17:06:03 +02:00
Nick Forrington
e22b2ff5c9 arm-forge: cleanup and upgrade to forge v21.0 (#22015)
Backwards incompatible cleanup to target single-tarball-per-arch builds
going forwards.

* Replace per-distro versions with new per-arch builds, and add
  url_for_version to avoid specifying per tarball.
* Customise environment setup to avoid adding lib to LD_LIBRARY_PATH.
* Update homepage and licensing URLs.
* Avoid shell interpretation when running textinstall.sh.
* Added NickRF as maintainer.
2021-04-01 15:47:32 +02:00
iarspider
034211f993 Extra environment variables for Qt (#22717) 2021-04-01 12:40:56 +00:00
Chris Richardson
5ed00560cd Fenicsx package updates for basix install (#22679)
Co-authored-by: Garth N. Wells <gnw20@cam.ac.uk>
2021-04-01 14:35:01 +02:00
Robert Mijakovic
efaa2c160f py-cython: new version (#22712)
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-04-01 14:28:12 +02:00
William Downs
db87f62aa5 gchp: add version 13.0.1 and remove release candidate (#22572) 2021-04-01 14:07:13 +02:00
Rémi Lacroix
67f182bb6d MUMPS: Various improvements to the package (#22575)
Use `conflicts` directive whenever possible.
This allows failing early when conflicting variants are used.

Do not silently ignore `+parmetis` variant when `~metis`.
Instead throw an error during concretization.

Simplify the "Makefile.inc" generation.
This will make easier to add new variants in the future.
2021-04-01 14:06:22 +02:00
Michael Kuhn
4a059aad17 libfabric: add 1.12.0 (#22694) 2021-04-01 06:01:19 -06:00
Michael Kuhn
76424c1a91 sqlite: add 3.35.3 (#22697) 2021-04-01 13:57:20 +02:00
Michael Kuhn
2556490cb0 leveldb: add 1.23 (#22695) 2021-04-01 13:56:25 +02:00
Michael Kuhn
5a10c6f822 glib: add 2.66.8 (#22691) 2021-04-01 13:44:09 +02:00
Amiya Maji
09dcb16a70 qt: restrict patch to 5.12.7 (#22705) 2021-04-01 04:38:06 +00:00
Michael Kuhn
bfece29858 pkgconf: add 1.7.4 (#22696) 2021-03-31 21:37:02 -07:00
Michael Kuhn
f7d7cbfacf readline: add 8.1 (#22698) 2021-03-31 21:36:40 -07:00
Michael Kuhn
487ea02044 tar: add 1.34 (#22700) 2021-03-31 21:36:20 -07:00
Michael Kuhn
2922068fdc curl: add 7.76.0 (#22693) 2021-03-31 21:36:01 -07:00
Anthony J. Zukaitis
1c084cd4dd Added version patch for 1.4.0 tag on mpark-variant (#22496)
* Added version patch for 1.4.0 tag on mpark-variant

Redirected urls to git and github tags.

* Updated to commit hashes

* Update var/spack/repos/builtin/packages/mpark-variant/package.py

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

* Update var/spack/repos/builtin/packages/mpark-variant/package.py

Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>

* Update var/spack/repos/builtin/packages/mpark-variant/package.py

Co-authored-by: Anthony J Zukaitis <zukaitis@lanl.gov>
Co-authored-by: Axel Huebl <axel.huebl@plasma.ninja>
2021-03-31 22:35:00 -06:00
Michael Kuhn
4f2a972c2f util-linux(-uuid): add 2.36.2 (#22701) 2021-03-31 21:32:07 -07:00
takanori-ihara
3e532db04d fujitsu-ssl2: Add the headers method (#22629)
* fujitsu-ssl2: Add the headers method

* fujitsu-ssl2: Fix for comments

* fujitsu-ssl2: Fix for comments
2021-04-01 03:59:10 +00:00
Greg Becker
7daf582357 CachedCMakePackage for using *.cmake initial config files (#19316)"
Original commit message:
This feature of CMake allows packages to increase reproducibility, especially between
Spack- and manual builds. It also allows packages to sidestep certain parsing bugs in
extremely long ``cmake`` commands, and to avoid system limits on the length of the
command line.

Adding:
Co-authored by: Chris White <white238@llnl.gov>

This reverts commit c4f0a3cf6c.
2021-03-31 18:38:22 -07:00
Chris White
c4f0a3cf6c Revert "CachedCMakePackage for using *.cmake initial config files (#19316)"
This reverts commit 764c170530.
2021-03-31 18:34:45 -07:00
Sreenivasa Murthy Kolam
3b59af8b2b Changes to packages for rocm-4.1.0 release (#22687) 2021-04-01 00:30:56 +00:00
Greg Becker
764c170530 CachedCMakePackage for using *.cmake initial config files (#19316)
CachedCMakePackage is a specialized class for packages built using CMake initial cache.

This feature of CMake allows packages to increase reproducibility, especially between
Spack- and manual builds. It also allows packages to sidestep certain parsing bugs in
extremely long ``cmake`` commands, and to avoid system limits on the length of the
command line.
2021-03-31 23:55:19 +00:00
Satish Balay
6242f102fb petsc@3.15.0, py-petsc4py@3.15.0 (#22688)
* petsc@3.15.0, py-petsc4py@3.15.0

* Update var/spack/repos/builtin/packages/petsc/package.py

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>

Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-03-31 23:04:23 +00:00
Asher Mancinelli
3205c6f940 Bump HiOp version to v0.4 (#22689) 2021-03-31 22:50:14 +00:00
Adam J. Stewart
315124e219 py-matplotlib: add v3.4.1 (#22680) 2021-03-31 16:01:16 -06:00
Todd Gamblin
cf9adfd748 hotfix: make ifx work with autoconf <= 2.69 in Spack (#22683)
Autoconf before 2.70 will erroneously pass ifx's -loopopt argument to the
linker, requiring all packages to use autoconf 2.70 or newer to use ifx.

This is a hotfix enabling ifx to be used in Spack. Instead of bothering
to upgrade autoconf for every package, we'll just strip out the
problematic flag if we're in `ld` mode.

- [x] Add a conditional to the `cc` wrapper to skip `-loopopt` in `ld`
      mode. This can probably be generalized in the future to strip more
      things (e.g., via an environment variable we can constrol from
      Spack) but it's good enough for now.

- [x] Add a test ensuring that `-loopopt` arguments are stripped in link
      mode, but not in compile mode.
2021-03-31 21:47:38 +00:00
Todd Gamblin
a1d9a56a43 specs: remove "or ''" from Spec comparisons
Since `lazy_lexicographic_ordering` handles `None` comparison for us, we
don't need to adjust the spec comparators to return empty strings or
other type-specific empty types. We can just leverage the None-awareness
of `lazy_lexicographic_ordering`.

- [x] remove "or ''" from `_cmp_iter` in `Spec`
- [x] remove setting of `self.namespace` to `''` in `MockPackage`
2021-03-31 14:39:23 -07:00
Todd Gamblin
01a6adb5f7 specs: use lazy lexicographic comparison instead of key_ordering
We have been using the `@llnl.util.lang.key_ordering` decorator for specs
and most of their components. This leverages the fact that in Python,
tuple comparison is lexicographic. It allows you to implement a
`_cmp_key` method on your class, and have `__eq__`, `__lt__`, etc.
implemented automatically using that key. For example, you might use
tuple keys to implement comparison, e.g.:

```python
class Widget:
    # author implements this
    def _cmp_key(self):
        return (
            self.a,
            self.b,
            (self.c, self.d),
            self.e
        )

    # operators are generated by @key_ordering
    def __eq__(self, other):
        return self._cmp_key() == other._cmp_key()

    def __lt__(self):
        return self._cmp_key() < other._cmp_key()

    # etc.
```

The issue there for simple comparators is that we have to bulid the
tuples *and* we have to generate all the values in them up front. When
implementing comparisons for large data structures, this can be costly.

This PR replaces `@key_ordering` with a new decorator,
`@lazy_lexicographic_ordering`. Lazy lexicographic comparison maps the
tuple comparison shown above to generator functions. Instead of comparing
based on pre-constructed tuple keys, users of this decorator can compare
using elements from a generator. So, you'd write:

```python
@lazy_lexicographic_ordering
class Widget:
    def _cmp_iter(self):
        yield a
        yield b
        def cd_fun():
            yield c
            yield d
        yield cd_fun
        yield e

    # operators are added by decorator (but are a bit more complex)

There are no tuples that have to be pre-constructed, and the generator
does not have to complete. Instead of tuples, we simply make functions
that lazily yield what would've been in the tuple. If a yielded value is
a `callable`, the comparison functions will call it and recursively
compar it. The comparator just walks the data structure like you'd expect
it to.

The ``@lazy_lexicographic_ordering`` decorator handles the details of
implementing comparison operators, and the ``Widget`` implementor only
has to worry about writing ``_cmp_iter``, and making sure the elements in
it are also comparable.

Using this PR shaves another 1.5 sec off the runtime of `spack buildcache
list`, and it also speeds up Spec comparison by about 30%. The runtime
improvement comes mostly from *not* calling `hash()` `_cmp_iter()`.
2021-03-31 14:39:23 -07:00
Todd Gamblin
fd12cba18b specs: speed up traversal by avoiding redundant canonicalization 2021-03-31 14:39:23 -07:00
Rémi Lacroix
bb60dbd2ad OpenFOAM-org: Add version 2.3.1. (#22473) 2021-03-31 23:19:37 +02:00
Rémi Lacroix
772dd7bcb2 Molden: Add new versions (#22685)
Fix the download URL and add new versions.
2021-03-31 13:28:06 -07:00
Scott McMillan
25747a037a Do not set CPATH in nvhpc package (#22652)
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-03-31 12:19:17 -06:00
Jungwon Kim
2196c24e97 papyrus: setup environment variables #22681 (#22682) 2021-03-31 11:08:18 -07:00
kurtsansom
904867703e fix: modify for change in meson options (#22678) 2021-03-31 11:25:18 -06:00
Glenn Johnson
1ed7762327 new package: py-uproot (#22658) 2021-03-31 10:57:34 -05:00
Michael Kuhn
bee9e34b50 wget: add 1.21 (#22675) 2021-03-31 10:55:15 -05:00
AMD Toolchain Support
1144666c09 AOCC support for QE 6.7 (#22664)
Adding qe_6.7_aocc_support
2021-03-31 09:34:21 -06:00
yellowhat
802f5afac0 hpl: FIX ^intel-oneapi-mkl (#22674) 2021-03-31 08:17:27 -07:00
AMD Toolchain Support
9a453b2e74 adding AOCC support for CP2K 7.1 (#22641) 2021-03-31 13:22:04 +02:00
Harmen Stoppels
fa6e30c6a7 squashfuse: add v0.1.104 and variants (#22605) 2021-03-31 10:17:35 +02:00
Harmen Stoppels
64d4ab85e7 There is no symlink fusermount->fusermount3 by default (#22638) 2021-03-30 14:05:37 -07:00
Rémi Lacroix
2747af6000 SRILM: Add new package. (#22640) 2021-03-30 20:53:31 +00:00
Desmond Orton
c57a74e3b0 New package py-flexmock (#22549)
* New package py-flexmock

* Switched to proper deps

* Changed setuptools type
2021-03-30 14:49:07 -06:00
Desmond Orton
3ce4dae1bf New package py-argh (#22551)
* New package py-argh

* Fixed deps

* Changed setuptools type

* Update var/spack/repos/builtin/packages/py-argh/package.py

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-03-30 19:45:04 +00:00
Desmond Orton
2e6cdd3ec1 New package py-iocapture (#22550)
* New package py-iocapture

* Added the proper deps

* Changed setuptools type
2021-03-30 19:21:47 +00:00
Harmen Stoppels
1db6cd5d16 Make -j flag less exceptional (#22360)
* Make -j flag less exceptional

The -j flag in spack behaves differently from make, ctest, ninja, etc,
because it caps the number of jobs to an arbitrary number 16.
Spack will behave like other tools if `spack install` uses a reasonable
default, and `spack install -j <num>` *overrides* that default.

This will be particularly useful for Spack usage outside of a traditional
HPC context and for HPC centers that encourage users to compile on
login nodes with many cores instead of on compute nodes, which has
become increasingly common as individual nodes have more cores.

This maintains the existing default value of min(num_cpus, 16). However, 
as it is right now, Spack does a poor job at determining the number of 
cpus on linux, since it doesn't take cgroups into account. This is
particularly problematic when using distributed builds with slurm. This PR
also introduces `spack.util.cpus.cpus_available()` to consolidate
knowledge on determining the number of available cores, and improves
core detection for linux. This should also improve core detection for Docker/
Kubernetes, which also use cgroups.
2021-03-30 12:03:50 -07:00
Rémi Lacroix
d3a9824ea2 libLBFGS: Add new package. (#22639) 2021-03-30 18:54:12 +00:00
Gregory Lee
c1f1dc163e stat: new version 4.1.0 (#22523)
* fix issue #22228 build of gdk-pixbuf
* added stat 4.1.0 and GUI variant
2021-03-30 12:52:06 -06:00
Scott McMillan
a78677a835 Add setup_dependent_build_environment() method to nvhpc package (#22578)
Fix #22520

Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-03-30 11:37:26 -07:00