summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-05-17libuv: add 1.41.0 (#23648)Michael Kuhn1-0/+2
2021-05-17netdata: add 1.30.1 (#23650)Michael Kuhn1-6/+12
This also changes the checksum for 1.22.1 because I switched the package to use the proper upstream tarballs to get rid of the autotools dependencies. Moreover, a few dependencies were missing. netdata also requires a few directories to be created in its prefix to actually work.
2021-05-17Add version 4.1.1.0 to atompaw (#23659)Glenn Johnson1-2/+4
Also adjust the libxc constraints.
2021-05-17performance: speed up existence checks in packages (#23661)Todd Gamblin3-24/+37
Spack doesn't require users to manually index their repos; it reindexes the indexes automatically when things change. To determine when to do this, it has to `stat()` all package files in each repository to make sure that indexes up to date with packages. We currently index virtual providers, patches by sha256, and tags on packages. When this was originally implemented, we ran the checker all the time, at startup, but that was slow (see #7587). But we didn't go far enough -- it still consults the checker and does all the stat operations just to see if a package exists (`Repo.exists()`). That might've been a wash in 2018, but as the number of packages has grown, it's gotten slower -- checking 5k packages is expensive and users see this for small operations. It's a win now to make `Repo.exists()` check files directly. **Fix:** This PR does a number of things to speed up `spack load`, `spack info`, and other commands: - [x] Make `Repo.exists()` check files directly again with `os.path.exists()` (this is the big one) - [x] Refactor `Spec.satisfies()` so that a checking for virtual packages only happens if needed (avoids some calls to exists()) - [x] Avoid calling `Repo.exists(spec)` in `Repo.get()`. `Repo.get()` will ultimately try to load a `package.py` file anyway; we can let the failure to load it indicate that the package doesn't exist, and avoid another call to exists(). - [x] Fix up some comments in spec parsing - [x] Call `UnknownPackageError` more consistently in `repo.py`
2021-05-17minisign: permit to build statically, add maintainer (#23653)Massimiliano Culpo1-0/+8
2021-05-16geopm: py-tables build+run dep: allow versions past 3.5.2 (#23666)eugeneswalker1-1/+1
2021-05-15some fixes for command help strings (#23658)Todd Gamblin3-8/+5
- [x] `analyze` isn't commonly used; move it to long help (`spack -H` vs `spack -h`). Give it its own section. - [x] make it clear from `spack -h` that `spack module` can generate module files - [x] shorten help for `spack style`
2021-05-15do not sort projections alphabetically (#23649)Greg Becker1-3/+7
* do not sort projections alphabetically * add assertion for ordered dict
2021-05-15Addition of py-pyaestro package. (#23629)Francesco Di Natale1-0/+26
2021-05-15New package: py-pygetwindow (#23635)Jen Herting1-0/+19
* [py-pygetwindow] created template * [py-pygetwindow] added dependencies * [py-pygetwindow] Final cleanup - added homepage - added description - removed fixmes
2021-05-14New package: py-pyrect (#23634)Jen Herting1-0/+18
* [py-pyrect] created template * [py-pyrect] depends on setuptools * [py-pyrect] Final cleanup - added homepage - added description - removed fixmes
2021-05-14New package: py-word2number (#23638)Jen Herting1-0/+20
* [py-word2number] created template * [py-word2number] requires setuptools * [py-word2number] Final cleanup - added homepage - added long description - removed fixmes
2021-05-14New package: py-pymsgbox (#23639)Jen Herting1-0/+18
* [py-pymsgbox] created template * [py-pymsgbox] depends on setuptools * [py-pymsgbox] Final cleanup - added homepage - added description - removed fixmes
2021-05-14New package: py-pytweening (#23641)Jen Herting1-0/+18
* [py-pytweening] created template * [py-pytweening] depends on setuptools * [py-pytweening] final cleanup - added homepage - added description - removed fixmes
2021-05-14zstd: add 1.5.0 (#23646)Michael Kuhn1-0/+1
2021-05-15Bump coreutils (#23633)Harmen Stoppels1-0/+1
2021-05-14Separable module configurations (#22588)Greg Becker34-208/+521
Currently, module configurations are inconsistent because modulefiles are generated with the configs for the active environment, but are shared among all environments (and spack outside any environment). This PR fixes that by allowing Spack environments (or other spack config scopes) to define additional sets of modules to generate. Each set of modules can enable either lmod or tcl modules, and contains all of the previously available module configuration. The user defines the name of each module set -- the set configured in Spack by default is named "default", and is the one returned by module manipulation commands in the absence of user intervention. As part of this change, the module roots configuration moved from the `config` section to inside each module configuration. Additionally, it adds a feature that the modulefiles for an environment can be configured to be relative to an environment view rather than the underlying prefix. This will not be enabled by default, as it should only be enabled within an environment and for non-default views constructed with separate projections per-spec. TODO: - [x] code changes to support multiple module sets - [x] code changes to support modules relative to a view - [x] Tests for multiple module configurations - [x] Tests for modules relative to a view - [x] Backwards compatibility for module roots from config section - [x] Backwards compatibility for default module set without the name specified - [x] Tests for backwards compatibility
2021-05-14root: Add variants: dcache and oracle (#23441)iarspider2-10/+8
2021-05-14emacs: add texinfo build dependency on master (#23631)Michael Kuhn1-0/+1
It seems that building unreleased versions requires makeinfo, which is part of texinfo.
2021-05-14py-rarfile: add new package (#23622)Adam J. Stewart1-0/+19
2021-05-14legion: bug fix for flecsi use cases. (#23624)Pat McCormick1-2/+0
2021-05-14build tests: put an upper bound on the version of GCC being used (#23630)Massimiliano Culpo2-1/+5
2021-05-14model-traits: add new package (#23589)Jacob Merson1-0/+56
2021-05-14emacs: add support for native compilation on master (#23493)miheer vaidya1-4/+10
* Emacs native compilation on master * emacs: Mark tools correctly as build dependency
2021-05-14Update mvapich2 to 2.3.6 (#23574)natshineman1-2/+3
Co-authored-by: Nat Shineman <shineman.5@buckeyemail.osu.edu>
2021-05-14netcdf-c: refactor fsync variant (#23477)sebrowne1-10/+2
Simplify logic by just enabling or disabling fsync as user specified (default to off currently). Also remove the 4.1 version check, since that version isn't actually supported in here. Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-05-13spec: simplify __str__ implementation (#23593)Massimiliano Culpo2-13/+10
The implementation for __str__ has been simplified to traverse the spec directly, and doesn't call anymore the flat_dependencies method. Dead code has been removed.
2021-05-13cc: change mode to ccld for loopopt edit (#23482)Frank Willmore2-4/+13
For configure (e.g. for hdf5) to pass, this option needs to be pulled out when invoked in ccld mode. I thought it had fixed the issue but I still saw it after that. After some digging, my guess is that I was able to get hdf5 to build with ifort instead of ifx. Lot of overlapping changes occurring at the time, as it were. There are still outstanding issues building hdf5 with ifx, and Intel is looking into what appears to be a compiler bug, but this manifests during build and is likely a separate issue. I have verified that the making the edit in 'ccld' mode removes the -loopopt=0 and enables hdf5 to pass configure. It should be fine to make the edit in 'ld' mode as well, but I have not tested that and didn't include an -or- condition for it.
2021-05-14py-warpx: new version: 21.05 (#23628)eugeneswalker1-1/+2
2021-05-13veloc: add v1.3 and v1.2 (#23626)eugeneswalker1-0/+2
2021-05-13openPMD-api: 0.13.4 (#23619)Axel Huebl1-0/+1
Add the latest release.
2021-05-13Add -DSTK_NO_BOOST_STACKTRACE to compile line in trilinos if +stk and on a ↵Jon Rood1-0/+2
Mac. (#23625)
2021-05-14Enable image_support flag to fix the issues with ↵Sreenivasa Murthy Kolam1-1/+2
hipMalloc3D,hipMallocPitch() (#23620)
2021-05-13seacas: new version, update dependency versions (#23609)Greg Sjaardema1-4/+5
Add new release of SEACAS. Update netcdf-c version to recent release which fixes some issues that have caused problems in past Use release version of CGNS instead of develop
2021-05-13libcatalyst: add package (#23595)Ben Boeckel1-0/+40
There are no official releases yet, so just use a git snapshot for now.
2021-05-13libbsd: do not apply local-elf.h.patch after version 0.10 (#23565)Davide Mancusi1-1/+1
2021-05-13py-cocotools: add new package (#23573)Adam J. Stewart1-0/+21
2021-05-13python: use CFLAGS=-fp-model=strict with %oneapi (#23575)Davide Mancusi1-1/+8
2021-05-13update the version for rocm packages comgr,hip-rocclr ,... for rocm-4.2.0 ↵Sreenivasa Murthy Kolam9-15/+38
release (#23608)
2021-05-13build(deps): bump actions/cache from 2.1.4 to 2.1.5 (#23584)dependabot[bot]1-1/+1
Bumps [actions/cache](https://github.com/actions/cache) from 2.1.4 to 2.1.5. - [Release notes](https://github.com/actions/cache/releases) - [Commits](https://github.com/actions/cache/compare/v2.1.4...v2.1.5) Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2021-05-13rocksdb: update pkg-config patch (#23601)Michael Kuhn1-2/+5
The previous version did not fix an error that only occured with clang.
2021-05-13glib: add v2.68.2 (#23603)Michael Kuhn1-0/+1
2021-05-13libbson: add v1.17.5 (#23604)Michael Kuhn1-0/+1
2021-05-13mongo-c-driver: add v1.17.5 (#23605)Michael Kuhn1-0/+1
2021-05-13lmdb: add v0.9.29 (#23606)Michael Kuhn1-0/+1
2021-05-13mariadb-c-client: add v3.1.13 (#23607)Michael Kuhn1-1/+2
2021-05-13config key error: fix format string (#23610)Greg Becker1-1/+1
2021-05-13nalu-wind: remove SuperLU dependency from Trilinos and simplify recipe (#23600)Jon Rood2-30/+9
* Update Nalu-Wind to remove SuperLU from Trilinos requirement. Also simplify Nalu-Wind package. * Leave boost option in nalu-wind. * Add git branches into TPL requirements. Update OpenFAST for change to main branch.
2021-05-13slate: add v2021.05.01 (#23612)G-Ragghianti1-7/+20
Adds a new release version for SLATE and includes HIP/ROCm backend support. Now can build with either CUDA or ROCm support.
2021-05-13env views: make view updates atomic (#23476)Greg Becker6-72/+172
Currently, environment views blink out of existence during the view regeneration, and are slowly built back up to their new and improved state. This is not good if other processes attempt to access the view -- they can see it in an inconsistent state. This PR fixes makes environment view updates atomic. This requires a level of indirection (via symlink, similar to nix or guix) from the view root to the underlying implementation on the filesystem. Now, an environment view at `/path/to/foo` is a symlink to `/path/to/._foo/<hash>`, where `<hash>` is a hash of the contents of the view. We construct the view in its content-keyed hash directory, create a new symlink to this directory, and atomically replace the symlink with one to the new view. This PR has a couple of other benefits: * It future-proofs environment views so that we can implement rollback. * It ensures that we don't leave users in an inconsistent state if building a new view fails for some reason. For background: * there is no atomic operation in posix that allows for a non-empty directory to be replaced. * There is an atomic `renameat2` in the linux kernel starting in version 3.15, but many filesystems don't support the system call, including NFS3 and NFS4, which makes it a poor implementation choice for an HPC tool, so we use the symlink approach that others tools like nix and guix have used successfully.