summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-10-12ASP-based solver: decrease the priority of multi-valued variant optimization ↵Massimiliano Culpo4-10/+70
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-12Fix potentially broken shutil.rmtree in tests (#26665)Harmen Stoppels1-1/+4
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-12damask{,-grid,-mesh}: add @3.0.0-alpha5 (#26570)Martin Diehl4-2/+22
2021-10-12gromacs: Add Gromacs 2020.6 and Plumed 2.7.2 (#26663)Maciej Wójcik2-2/+7
2021-10-12boost: Fix build of 1.53:1.54 with glibc>=2.17 (#26659)Bernhard Kaindl1-0/+4
Fix missing declaration of uintptr_t with glibc>=2.17 in 1.53:1.54 See: https://bugs.gentoo.org/482372
2021-10-12Avoid quadratic complexity in log parser (#26568)Harmen Stoppels1-62/+21
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-11py-templateflow: add 0.4.2 (#26471)Manuela Kuhn1-5/+9
* 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-11py-pysurfer: add new package (#26638)Manuela Kuhn1-0/+27
2021-10-12py-pandas: fix installation and tests for versions @:0.25 (#26668)Manuela Kuhn1-15/+11
2021-10-12fleur: new package (#26631)Daniele Cesarini1-0/+182
2021-10-11Faodel: Update for the v1.2108.1 release (#26516)Todd Kordenbrock1-10/+12
2021-10-12frontier-client: add missing openssl dependency (#26636)Valentin Volkl1-0/+1
2021-10-12openblas: fix build on riscv64 (#26565)Kevin Pedretti1-2/+10
OpenBLAS now has support for the riscv64 architecture. This commit extends the spack openblas package.py to handle building on riscv64.
2021-10-11bcl2fastq2: add boost@1.55 as default boost dependency (#26655)Alan Sill1-1/+1
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-11motif package: fix linking the simple_app demo program (#26574)Bernhard Kaindl1-0/+7
2021-10-11New Package Qualimap:2.2.1 (#26615)Desmond Orton1-0/+26
Co-authored-by: Bernhard Kaindl <43588962+bernhardkaindl@users.noreply.github.com>
2021-10-11GNU parallel package: add version 20210922 (#26591)Derek Ryan Strong1-0/+1
2021-10-11openCARP packages: add version 8.1 (#26602)Marie Houillon3-4/+7
2021-10-11mapserver: Add missing deps: giflib and postgresql (#26619)Bernhard Kaindl1-0/+2
2021-10-11installer: Support showing status information in terminal title (#16259)Michael Kuhn4-2/+49
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-11llvm: add conflict for newer apple-clang versions (#26633)Seth R. Johnson1-1/+2
2021-10-11mesa: gallium fails with llvm@13: use 'llvm@6:12', add mesa@21.2.3 (#26627)Bernhard Kaindl1-1/+2
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-11kahip: update build system to cmake for v3.11, retain scons for older ↵Matthew Archer1-6/+17
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-11Update of siesta libs (#26489)Daniele Cesarini3-7/+78
2021-10-11Add new versions of kiwisolver (#26597)iarspider1-0/+9
2021-10-11Only install env modifications in <prefix>/.spack (#24081)Harmen Stoppels7-29/+79
- 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-11Add `spack env activate --temp` (#25388)Harmen Stoppels5-19/+69
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-11Remove unused --dependencies flag (#25731)Harmen Stoppels2-2/+2
2021-10-10New package: py-cppy (required for py-kiwisolver) (#26645)iarspider1-0/+20
2021-10-09py-nilearn: add 0.4.2 and 0.6.2 (#26635)Manuela Kuhn1-16/+61
2021-10-09py-pyvistaqt: add new package (#26637)Manuela Kuhn1-0/+20
2021-10-09environment-modules: fix build (#26632)Michael Kuhn1-2/+2
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-09idna: Add versions 2.9 for sierrapy #23768 and 3.2(current) (#26616)Bernhard Kaindl1-1/+4
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-09py-awkward: add py-yaml as depends (#26626)Joseph Wang1-0/+1
2021-10-09evtgen: fix pythia typo (#26625)Joseph Wang1-1/+1
2021-10-09librsvg: fix build when does not use -pthread for linking (#26592)Bernhard Kaindl1-0/+2
librsvg uses pthread_atfork() but does not use -pthread on Ubuntu 18.04 %gcc@8
2021-10-08Add R 4.1.1 (#26589)Derek Ryan Strong1-0/+1
2021-10-09Add Julia 1.6.3 (#26624)Derek Ryan Strong1-0/+1
2021-10-08Remove DB reindex during a read operation (#26601)Massimiliano Culpo2-12/+16
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-08py-twisted,py-storm: dep on zope.interface, bump storm version (#26610)Bernhard Kaindl3-7/+13
* 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-08Trilinos: update for CUDA and Nalu-Wind (#26614)psakievich2-4/+5
2021-10-08py-hypothesis: Add variants django, dumpy, pandas and fix import tests (#26604)Bernhard Kaindl1-1/+29
2021-10-08py-bcrypt, py-bleach, py-decorator, py-pygdal: fix python dependency (#26596)Manuela Kuhn4-2/+8
* 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-08py-pymatgen: fix build of old versions, bump version to 2021.3.9 (#26249)Bernhard Kaindl5-5/+32
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-10-08py-anytree: Add dep py-six@1.9.0 as required by setup.py (#26603)Bernhard Kaindl1-0/+2
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2021-10-08py-matplotlib: fix 3.4.3 (#26586)Manuela Kuhn1-2/+2
* 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-08py-traceback2: Fix depends_on: add six and py-linecache2 (#26607)Bernhard Kaindl1-0/+2
2021-10-08py-keras-preprocessing: Add missing deps: six@1.9.0: and numpy@1.9.1: (#26605)Bernhard Kaindl1-0/+2
* 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-08Fix leaky spack.binary_distribution.binary_index in tests (#26609)Harmen Stoppels2-7/+20
* Fix issues with leaky binary index across tests * More rigorous binary_index reset as now other tests are failing :(
2021-10-08py-neurora: add new package (#26479)Manuela Kuhn1-0/+25