summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-04-01bugfix: compiler wrappers should handle extra spaces between arguments (#22725)Elizabeth Fischer1-1/+9
In the face of two consecutive spaces in the command line, the compiler wrapper would skip all remaining arguments, causing problems building py-scipy with Intel compiler. This PR solves the problem. * Fixed compiler wrapper in the face of extra spaces between arguments Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2021-04-01xSDK: add ArborX (#22619)Daniel Arndt1-0/+3
2021-04-01New version of OpenLoops (#22240)iarspider3-43/+264
New version of OpenLoops; new list of processes; update lcg process collection Add script to scrape openloops website for process list
2021-04-01arm-forge: cleanup and upgrade to forge v21.0 (#22015)Nick Forrington1-109/+21
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-01Extra environment variables for Qt (#22717)iarspider1-0/+6
2021-04-01Fenicsx package updates for basix install (#22679)Chris Richardson5-9/+34
Co-authored-by: Garth N. Wells <gnw20@cam.ac.uk>
2021-04-01py-cython: new version (#22712)Robert Mijakovic1-0/+1
Co-authored-by: Robert Mijakovic <robert.mijakovic@lrz.de>
2021-04-01gchp: add version 13.0.1 and remove release candidate (#22572)William Downs1-4/+4
2021-04-01MUMPS: Various improvements to the package (#22575)Rémi Lacroix1-28/+31
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-01libfabric: add 1.12.0 (#22694)Michael Kuhn1-0/+1
2021-04-01sqlite: add 3.35.3 (#22697)Michael Kuhn1-1/+4
2021-04-01leveldb: add 1.23 (#22695)Michael Kuhn1-0/+6
2021-04-01glib: add 2.66.8 (#22691)Michael Kuhn1-0/+1
2021-04-01qt: restrict patch to 5.12.7 (#22705)Amiya Maji1-1/+1
2021-03-31pkgconf: add 1.7.4 (#22696)Michael Kuhn1-0/+1
2021-03-31readline: add 8.1 (#22698)Michael Kuhn1-0/+1
2021-03-31tar: add 1.34 (#22700)Michael Kuhn1-0/+1
2021-03-31curl: add 7.76.0 (#22693)Michael Kuhn1-0/+1
2021-03-31Added version patch for 1.4.0 tag on mpark-variant (#22496)Anthony J. Zukaitis2-2/+15
* 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-31util-linux(-uuid): add 2.36.2 (#22701)Michael Kuhn2-2/+4
2021-04-01fujitsu-ssl2: Add the headers method (#22629)takanori-ihara1-0/+8
* fujitsu-ssl2: Add the headers method * fujitsu-ssl2: Fix for comments * fujitsu-ssl2: Fix for comments
2021-03-31CachedCMakePackage for using *.cmake initial config files (#19316)"Greg Becker4-357/+438
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 c4f0a3cf6cd2ab282f6abf20fd72fcb4739a432a.
2021-03-31Revert "CachedCMakePackage for using *.cmake initial config files (#19316)"Chris White4-438/+357
This reverts commit 764c17053041a65f684ce565a2598d705b04a16b.
2021-04-01Changes to packages for rocm-4.1.0 release (#22687)Sreenivasa Murthy Kolam8-29/+86
2021-03-31CachedCMakePackage for using *.cmake initial config files (#19316)Greg Becker4-357/+438
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-31petsc@3.15.0, py-petsc4py@3.15.0 (#22688)Satish Balay2-4/+12
* 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-31Bump HiOp version to v0.4 (#22689)Asher Mancinelli1-0/+1
2021-03-31py-matplotlib: add v3.4.1 (#22680)Adam J. Stewart1-0/+1
2021-03-31hotfix: make ifx work with autoconf <= 2.69 in Spack (#22683)Todd Gamblin2-0/+22
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-31specs: remove "or ''" from Spec comparisonsTodd Gamblin2-4/+8
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-31specs: use lazy lexicographic comparison instead of key_orderingTodd Gamblin5-155/+340
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-31specs: speed up traversal by avoiding redundant canonicalizationTodd Gamblin1-1/+10
2021-03-31OpenFOAM-org: Add version 2.3.1. (#22473)Rémi Lacroix1-1/+6
2021-03-31Molden: Add new versions (#22685)Rémi Lacroix1-1/+3
Fix the download URL and add new versions.
2021-03-31Do not set CPATH in nvhpc package (#22652)Scott McMillan1-4/+0
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-03-31papyrus: setup environment variables #22681 (#22682)Jungwon Kim1-0/+11
2021-03-31fix: modify for change in meson options (#22678)kurtsansom1-2/+8
2021-03-31new package: py-uproot (#22658)Glenn Johnson1-0/+26
2021-03-31wget: add 1.21 (#22675)Michael Kuhn1-0/+1
2021-03-31AOCC support for QE 6.7 (#22664)AMD Toolchain Support2-1/+86
Adding qe_6.7_aocc_support
2021-03-31hpl: FIX ^intel-oneapi-mkl (#22674)yellowhat1-0/+1
2021-03-31adding AOCC support for CP2K 7.1 (#22641)AMD Toolchain Support2-0/+13
2021-03-31squashfuse: add v0.1.104 and variants (#22605)Harmen Stoppels1-20/+26
2021-03-30There is no symlink fusermount->fusermount3 by default (#22638)Harmen Stoppels1-1/+1
2021-03-30SRILM: Add new package. (#22640)Rémi Lacroix1-0/+92
2021-03-30New package py-flexmock (#22549)Desmond Orton1-0/+25
* New package py-flexmock * Switched to proper deps * Changed setuptools type
2021-03-30New package py-argh (#22551)Desmond Orton1-0/+26
* 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-30New package py-iocapture (#22550)Desmond Orton1-0/+20
* New package py-iocapture * Added the proper deps * Changed setuptools type
2021-03-30Make -j flag less exceptional (#22360)Harmen Stoppels8-44/+97
* 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-30libLBFGS: Add new package. (#22639)Rémi Lacroix1-0/+29