Commit graph

23054 commits

Author SHA1 Message Date
Martin Aumüller
6f8f37ffb1
ispc: update development branch name and limit to llvm@12 (#26676)
1.16 and 1.16.1 are not compatible with LLVM 13
2021-10-12 14:31:24 +02:00
Massimiliano Culpo
551120ee0b
ASP-based solver: decrease the priority of multi-valued variant optimization for root (#26677)
The ASP-based solver maximizes the number of values in multi-valued
variants (if other higher order constraints are met), to avoid cases
where only a subset of the values that have been specified on the
command line or imposed by another constraint are selected.

Here we swap the priority of this optimization target with the
selection of the default providers, to avoid unexpected results
like the one in #26598
2021-10-12 14:15:48 +02:00
Harmen Stoppels
c2bf585d17
Fix potentially broken shutil.rmtree in tests (#26665)
Seems like https://bugs.python.org/issue29699 is relevant. Better to
just ignore errors when removing them tmpdir. The OS will remove it
anyways.

Errors are happening randomly from tests that are using this fixture.
2021-10-12 14:01:52 +02:00
Martin Diehl
66b32b337f
damask{,-grid,-mesh}: add @3.0.0-alpha5 (#26570) 2021-10-12 13:22:09 +02:00
Maciej Wójcik
4b2cbd3aea
gromacs: Add Gromacs 2020.6 and Plumed 2.7.2 (#26663) 2021-10-12 13:01:10 +02:00
Bernhard Kaindl
cb06f91df7
boost: Fix build of 1.53:1.54 with glibc>=2.17 (#26659)
Fix missing declaration of uintptr_t with glibc>=2.17 in 1.53:1.54
See: https://bugs.gentoo.org/482372
2021-10-12 10:59:36 +02:00
Harmen Stoppels
0c0831861c
Avoid quadratic complexity in log parser (#26568)
TL;DR: there are matching groups trying to match 1 or more occurrences of
something. We don't use the matching group. Therefore it's sufficient to test
for 1 occurrence. This reduce quadratic complexity to linear time.

---

When parsing logs of an mpich build, I'm getting a 4 minute (!!) wait
with 16 threads for regexes to run:

```
In [1]: %time p.parse("mpich.log")
Wall time: 4min 14s
```

That's really unacceptably slow... 

After some digging, it seems a few regexes tend to have `O(n^2)` scaling
where `n` is the string / log line length. I don't think they *necessarily*
should scale like that, but it seems that way. The common pattern is this

```
([^:]+): error
```

which matches `: error` literally, and then one or more non-colons before that. So
for a log line like this:

```
abcdefghijklmnopqrstuvwxyz: error etc etc
```

Any of these are potential group matches when using `search` in Python:

```
abcdefghijklmnopqrstuvwxyz
 bcdefghijklmnopqrstuvwxyz
  cdefghijklmnopqrstuvwxyz
                         ⋮
                        yz
                         z
```

but clearly the capture group should return the longest match.

My hypothesis is that Python has a very bad implementation of `search`
that somehow considers all of these, even though it can be implemented
in linear time by scanning for `: error` first, and then greedily expanding
the longest possible `[^:]+` match to the left. If Python indeed considers
all possible matches, then with `n` matches of length `1 .. n` you
see the `O(n^2)` slowness (i verified this by replacing + with {1,k}
and doubling `k`, it doubles the execution time indeed).

This PR fixes this by removing the `+`, so effectively changing the 
O(n^2) into a O(n) worst case.

The reason we are fine with dropping `+` is that we don't use the
capture group anywhere, so, we just ensure `:: error` is not a match
but `x: error` is.

After going from O(n^2) to O(n), the 15MB mpich build log is parsed
in `1.288s`, so about 200x faster.

Just to be sure I've also updated `^CMake Error.*:` to `^CMake Error`,
so that it does not match with all the possible `:`'s in the line.
Another option is to use `.*?` there to make it quit scanning as soon as
possible, but what line that starts with `CMake Error` that does not have
a colon is really a false positive...
2021-10-12 00:05:11 -07:00
Manuela Kuhn
580a20c243
py-templateflow: add 0.4.2 (#26471)
* py-templateflow: add 0.4.2

* py-templateflow: fix python dependency for 0.4.2

* py-templateflow: remove wheel dependency for older versions
2021-10-11 21:37:50 -05:00
Manuela Kuhn
eb486371b2
py-pysurfer: add new package (#26638) 2021-10-11 21:36:43 -05:00
Manuela Kuhn
0da892f2dd
py-pandas: fix installation and tests for versions @:0.25 (#26668) 2021-10-12 00:44:32 +00:00
Daniele Cesarini
a36a5ab624
fleur: new package (#26631) 2021-10-12 02:31:23 +02:00
Todd Kordenbrock
af2ecf87d4
Faodel: Update for the v1.2108.1 release (#26516) 2021-10-11 23:17:42 +00:00
Valentin Volkl
a0b9face0d
frontier-client: add missing openssl dependency (#26636) 2021-10-12 01:02:12 +02:00
Kevin Pedretti
0b62974160
openblas: fix build on riscv64 (#26565)
OpenBLAS now has support for the riscv64 architecture. This commit
extends the spack openblas package.py to handle building on riscv64.
2021-10-12 00:55:45 +02:00
Alan Sill
833f1de24a
bcl2fastq2: add boost@1.55 as default boost dependency (#26655)
When PR #26659 is merged, boost version boost@1.54.0 will be available for build too.

Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2021-10-11 22:21:17 +00:00
Bernhard Kaindl
4eb176b070
motif package: fix linking the simple_app demo program (#26574) 2021-10-11 15:00:42 -07:00
Desmond Orton
95e63e0c29
New Package Qualimap:2.2.1 (#26615)
Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2021-10-11 19:28:34 +00:00
Derek Ryan Strong
2644a15ff9
GNU parallel package: add version 20210922 (#26591) 2021-10-11 12:08:06 -07:00
Marie Houillon
c7785b74be
openCARP packages: add version 8.1 (#26602) 2021-10-11 12:07:05 -07:00
Bernhard Kaindl
260f4ca190
mapserver: Add missing deps: giflib and postgresql (#26619) 2021-10-11 12:04:18 -07:00
Michael Kuhn
d1f3279607
installer: Support showing status information in terminal title (#16259)
Installing packages with a lot of dependencies does not have an easy way
of judging the current progress (apart from running `spack spec -I pkg`
in another terminal). This change allows Spack to update the terminal's
title with status information, including its current progress as well as
information about the current and total number of packages.
2021-10-11 17:54:59 +02:00
Seth R. Johnson
8f62039d45
llvm: add conflict for newer apple-clang versions (#26633) 2021-10-11 17:49:23 +02:00
Bernhard Kaindl
2e9512fe8b
mesa: gallium fails with llvm@13: use 'llvm@6:12', add mesa@21.2.3 (#26627)
The software rasterizer of Mesa's Gallium3D(even @21.2.3) fails to
build with llvm@13.0.0, use: depends_on('llvm@6:12', when='+llvm')
2021-10-11 17:34:33 +02:00
Matthew Archer
e034930775
kahip: update build system to cmake for v3.11, retain scons for older versions (#25645)
* kahip: update to cmake for v3.11, retain scons for older versions

* kahip: update build system to cmake for v3.11, retain SCons for older versions

* address PR comments and add maintainer

* address PR comments - correct version to 2.10, add deprecated and url, and remove scons version
2021-10-11 10:20:43 -05:00
Daniele Cesarini
79aba5942a
Update of siesta libs (#26489) 2021-10-11 09:09:39 -05:00
iarspider
78200b6b41
Add new versions of kiwisolver (#26597) 2021-10-11 09:09:01 -05:00
Harmen Stoppels
89220bc0e1
Only install env modifications in <prefix>/.spack (#24081)
- Do not store the full list of environment variables in
  <prefix>/.spack/spack-build-env.txt because it may contain user secrets.

- Only store environment variable modifications upon installation.

- Variables like PATH may still contain user and system paths to make
  spack-build-env.txt sourceable. Variables containing paths are
  modified through prepending/appending, and if we don't apply these
  to the current environment variable, we end up with statements like
  `export PATH=/path/to/spack/bin` with system paths missing, meaning
  no system binaries are in the path, which is a bad user experience.

- Do write the full environment to spack-build-env.txt in the staging dir,
  but ensure it is readonly for the current user, to make it a bit safer
  on shared systems.
2021-10-11 09:07:45 -05:00
Harmen Stoppels
c0c9ab113e
Add spack env activate --temp (#25388)
Creates an environment in a temporary directory and activates it, which
is useful for a quick ephemeral environment:

```
$ spack env activate -p --temp
[spack-1a203lyg] $ spack add zlib
==> Adding zlib to environment /tmp/spack-1a203lyg
==> Updating view at /tmp/spack-1a203lyg/.spack-env/view
```
2021-10-11 06:56:03 -04:00
Harmen Stoppels
f28b08bf02
Remove unused --dependencies flag (#25731) 2021-10-11 10:16:11 +02:00
iarspider
ad75f74334
New package: py-cppy (required for py-kiwisolver) (#26645) 2021-10-10 17:14:20 -05:00
Manuela Kuhn
4e1fdfeb18
py-nilearn: add 0.4.2 and 0.6.2 (#26635) 2021-10-09 19:14:13 -05:00
Manuela Kuhn
7f46b9a669
py-pyvistaqt: add new package (#26637) 2021-10-09 21:00:00 +00:00
Michael Kuhn
5deb8a05c4
environment-modules: fix build (#26632)
PR #25904 moved the `--with-tcl` option to only older versions. However,
without this option, the build breaks:
```
checking for Tcl configuration... configure: error: Can't find Tcl configuration definitions. Use --with-tcl to specify a directory containing tclConfig.sh
```
2021-10-09 12:43:54 -05:00
Bernhard Kaindl
9194ca1e2f
idna: Add versions 2.9 for sierrapy #23768 and 3.2(current) (#26616)
py-sierrapy was merged accidentally and pins its versions to exact
numbers. Add 2.9 as the version for sierrapy and the current 3.2
2021-10-09 11:31:11 -05:00
Joseph Wang
e6cc92554d
py-awkward: add py-yaml as depends (#26626) 2021-10-09 17:35:22 +02:00
Joseph Wang
03ab5dee31
evtgen: fix pythia typo (#26625) 2021-10-09 16:11:58 +02:00
Bernhard Kaindl
93df47f4d5
librsvg: fix build when does not use -pthread for linking (#26592)
librsvg uses pthread_atfork() but does not use -pthread on Ubuntu 18.04 %gcc@8
2021-10-09 13:10:13 +02:00
Derek Ryan Strong
4b5cc8e3bd
Add R 4.1.1 (#26589) 2021-10-08 20:02:03 -05:00
Derek Ryan Strong
e89d4b730a
Add Julia 1.6.3 (#26624) 2021-10-09 00:58:19 +00:00
Massimiliano Culpo
2386630e10
Remove DB reindex during a read operation (#26601)
The DB should be what is trusted for certain operations.
If it is not present when read we should assume the
corresponding store is empty, rather than trying a
write operation during a read.

* Add a unit test
* Document what needs to be there in tests
2021-10-08 22:35:23 +00:00
Bernhard Kaindl
21ce23816e
py-twisted,py-storm: dep on zope.interface, bump storm version (#26610)
* py-twisted,py-storm: dep on zope.interface, bump storm version

py-twisted and py-storm's import tests need zope.interface.
py-storm: Use pypi and add version 0.25. It didn't change reqs.
zope.infterface@4.5.0 imports removed Feature: Use setuptools@:45

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

* py-storm: all deps updated with type=('build', 'run')

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-10-08 21:20:39 +00:00
psakievich
8ebb705871
Trilinos: update for CUDA and Nalu-Wind (#26614) 2021-10-08 21:08:54 +00:00
Bernhard Kaindl
7e8f2e0c11
py-hypothesis: Add variants django, dumpy, pandas and fix import tests (#26604) 2021-10-08 21:00:47 +00:00
Manuela Kuhn
654268b065
py-bcrypt, py-bleach, py-decorator, py-pygdal: fix python dependency (#26596)
* py-bcrypt, py-bleach, py-decorator, py-pygdal: fix python dependency

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-10-08 15:56:22 -05:00
Bernhard Kaindl
6d0d8d021a
py-pymatgen: fix build of old versions, bump version to 2021.3.9 (#26249)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-10-08 19:54:40 +00:00
Bernhard Kaindl
f1f614ee9f
py-anytree: Add dep py-six@1.9.0 as required by setup.py (#26603)
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-10-08 19:36:12 +00:00
Manuela Kuhn
88c33686fd
py-matplotlib: fix 3.4.3 (#26586)
* py-matplotlib: fix 3.4.3

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-10-08 13:52:10 -05:00
Bernhard Kaindl
de86726483
py-traceback2: Fix depends_on: add six and py-linecache2 (#26607) 2021-10-08 13:35:36 -05:00
Bernhard Kaindl
a95c1dd615
py-keras-preprocessing: Add missing deps: six@1.9.0: and numpy@1.9.1: (#26605)
* py-keras-preprocessing: Add missing deps: six@1.9.0: and numpy@1.9.1:

Add deps: pip download --no-binary :all: keras-preprocessing==1.1.2
Collecting numpy>=1.9.1
  Installing build dependencies: started
Collecting six>=1.9.0

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

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

Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-10-08 13:34:25 -05:00
Harmen Stoppels
7d89a95028
Fix leaky spack.binary_distribution.binary_index in tests (#26609)
* Fix issues with leaky binary index across tests

* More rigorous binary_index reset as now other tests are failing :(
2021-10-08 13:41:47 -04:00