summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-10-06bdw-gc: add v8.0.6 (#26545)Ivan Maidanski1-1/+2
2021-10-06Add 6.0.2 (#26501)haralmha1-0/+1
2021-10-06py-decorator: Add version 5.0.9 and 5.10. (#26500)haralmha1-1/+3
Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
2021-10-06py-hepdata-validator: Add version 0.2.3 and 0.3.0 (#26496)haralmha1-0/+3
Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
2021-10-06py-heapdict: Add version 1.0.0 (#26495)haralmha1-0/+7
Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
2021-10-06Add 1.28.1 (#26494)haralmha1-0/+1
py-grpcio: Add version 1.28.1
2021-10-06Add 2021.4.1 (#26493)haralmha1-0/+1
py-distributed: Add version 2021.4.1
2021-10-06Add 0.7.1 (#26492)haralmha1-0/+1
py-defusedxml: add version 0.7.1
2021-10-06py-bleach: Add version 3.3.1 (#26490)haralmha1-0/+2
Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
2021-10-06py-dask: add version 2021.4.1 (#26491)haralmha1-0/+1
2021-10-05py-pygdal: Add versions 3.3.0.10 and 3.3.2.10 (#26528)haralmha1-0/+5
Co-authored-by: Bernhard Kaindl <bernhardkaindl7@gmail.com>
2021-10-06py-backcall: Add version 0.2.0 (#26487)haralmha1-0/+1
2021-10-06Add versions 3.1.6, 3.1.7 and 3.2.0 (#26527)haralmha1-0/+3
2021-10-05h5utils: Fix build and add new version (#26133)Bernhard Kaindl1-4/+6
@1.12.1+png depends_on libpng@:1.5.0 because it needs the old API Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2021-10-05Set explicitly write permission for packages (#26539)Massimiliano Culpo1-1/+3
2021-10-05vtk: gui support for vtk 9 added (#25636)Olivier Cessenat1-0/+6
2021-10-06Add version 3.16.1 (#26534)haralmha1-0/+1
2021-10-05dd4hep: Add version 01-18 (#26525)haralmha1-0/+1
* Add 01-18 * Keep master on top and change version name format
2021-10-05Use gnuconfig package for config file replacement for RISC-V. (#26364)Kevin Pedretti5-10/+86
* Use gnuconfig package for config file replacement for RISC-V. This extends the changes in #26035 to handle RISC-V. Before this change, many packages fail to configure on riscv64 due to config.guess being too old to know about RISC-V. This is seen out of the box when clingo fails to build from source due to pkgconfig failing to configure, throwing error: "configure: error: cannot guess build type; you must specify one". * Add riscv64 architecture * Update vendored archspec from upstream project. These archspec updates include changes needed to support riscv64. * Update archspec's __init__.py to reflect the commit hash of archspec being used.
2021-10-05Move shell aware env into spack.environment.shell (#25608)Harmen Stoppels12-218/+346
Cherry-picked from #25564 so this is standalone. With this PR we can activate an environment in Spack itself, without computing changes to environment variables only necessary for "shell aware" env activation. 1. Activating an environment: ```python spack.environment.activate(Environment(xyz)) -> None ``` this basically just sets `_active_environment` and modifies some config scopes. 2. Activating an environment **and** getting environment variable modifications for the shell: ```python spack.environment.shell.activate(Environment(xyz)) -> EnvironmentModifications ``` This should make it easier/faster to do unit tests and scripting with spack, without the cli interface.
2021-10-05postgresql: Add versions 14.0 and 12.2 (#26499)haralmha1-0/+2
2021-10-05doxygen: Add versions 1.9.2 and 1.8.18 (#26497)haralmha1-0/+2
2021-10-05meme: Fix compilation with `arm` and `nvhpc` compilers (#24883)Ricardo Jesus2-2/+47
* Fix compilation with `arm` and `nvhpc` compilers * Update package.py
2021-10-05phist: add a patch for the case +host arch=ppc64le (#26216)Jonas Thies2-1/+15
2021-10-05py-flatbuffers: add new package (#26444)Guilherme Perrotta1-0/+29
Python port of the "flatbuffers" package
2021-10-05libatomic_ops: add v7.6.12 (#26512)Ivan Maidanski1-1/+2
2021-10-05py-rsatoolbox: add new package (#26514)Manuela Kuhn1-0/+31
2021-10-05WarpX: 21.10 (#26507)Axel Huebl2-1/+4
2021-10-05sundials: Add 5.8.0 and sycl variant (#26524)David Gardner1-3/+13
2021-10-05mpl: add new package (#26522)Heiko Bauke1-0/+20
2021-10-05py-parsl: new package (see https://parsl-project.org/) (#26360)Mihael Hategan3-0/+49
2021-10-05Isolate bootstrap configuration from user configuration (#26071)Massimiliano Culpo5-27/+96
* Isolate bootstrap configuration from user configuration * Search for build dependencies automatically if bootstrapping from sources The bootstrapping logic will search for build dependencies automatically if bootstrapping anything form sources. Any external spec, if found, is written in a scope that is specific to bootstrapping. * Don't clean the bootstrap store with "spack clean -a" * Copy bootstrap.yaml and config.yaml in the bootstrap area
2021-10-05zstd: fix install name on macOS (#26518)Seth R. Johnson1-4/+9
Reverting from CMake to Make install caused `-install_path=/usr/local/lib/libzstd.1.dylib` to be hardcoded into the zstd. Now we explicitly pass the PREFIX into the build command so that the correct spack install path is saved. Fixes #26438 and also the ROOT install issue I had :)
2021-10-05molden: fix build with gcc@10: (#25803)Nisarg Patel1-3/+8
2021-10-04cc: make error messages more clearTodd Gamblin1-6/+7
- [x] Our wrapper error messages are sometimes hard to differentiate from other build output, so prefix all errors from `die()` with '[spack cc] ERROR:' - [x] The error we raise when running, say, `fc` without a Fortran compiler was not clear enough. Clarify the message and the comment.
2021-10-04cc: convert compiler wrapper to posix shellTodd Gamblin2-292/+434
This converts everything in cc to POSIX sh, except for the parts currently handled with bash arrays. Tests are still passing. This version tries to be as straightforward as possible. Specifically, most conversions are kept simple -- convert ifs to ifs, handle indirect expansion the way we do in `setup-env.sh`, only mess with the logic in `cc`, and don't mess with the python code at all. The big refactor is for arrays. We can't rely on bash's nice arrays and be ignorant of separators anymore. So: 1. To avoid complicated separator logic, there are three types of lists. They are: * `$lsep`-separated lists, which end with `_list`. `lsep` is customizable, but we picked `^G` (alarm bell) for `$lsep` because it's ASCII and it's unlikely that it would actually appear in any arguments. If we need to get fancier (and I will lose faith in the world if we do) then we could consider XON or XOFF. * `:`-separated directory lists, which end with `_dirs`, `_DIRS`, `PATH`, or `PATHS` * Whitespace-separated lists (like flags), which can have any other name. Whitespace and colon-separated lists come with the territory with PATHs from env vars and lists of flags. `^G` separated lists are what we use for most internal variables, b/c it's more likely to work. 2. To avoid subshells, use a bunch of functions that do dirty `eval` stuff instead. This adds 3 functions to deal with lists: * `append LISTNAME ELEMENT [SEP]` will put `ELEMENT` at the end of the list called `LISTNAME`. You can optionally say what separator you expect to use. Note that we are taking advantage of everything being global and passing lists by name. * `prepend LISTNAME ELEMENT [SEP]` like append, but puts `ELEMENT` at the start of `LISTNAME` * `extend LISTNAME1 LISTNAME2 [PREFIX]` appends everything in LISTNAME2 to LISTNAME1, and optionally prepends `PREFIX` to every element (this is useful for things like `-I`, `-isystem `, etc. * `preextend LISTNAME1 LISTNAME2 [PREFIX]` prepends everything in LISTNAME2 to LISTNAME1 in order, and optionally prepends `PREFIX` to every element. The routines determine the separator for each argument by its name, so we don't have to pass around separators everywhere. Amazingly, as long as you do not expand variables' values within an `eval` environment, you can do all this and still preserve quoting. When iterating over lists, the user of this API still has to set and unset `IFS` properly. We ended up having to ignore shellcheck SC2034 (unused variable), because using evals all over the place means that shellcheck doesn't notice that our list variables are actually used. So far this is looking pretty good. I took the most complex unit test I could find (which runs a sample link line) and ran the same command line 200 times in a shell script. Times are roughly as follows: For this invocation: ```console $ bash -c 'time (for i in `seq 1 200`; do ~/test_cc.sh > /dev/null; done)' ``` I get the following performance numbers (the listed shells are what I put in `cc`'s shebang): **Original** * Old version of `cc` with arrays and `bash v3.2.57` (macOS builtin): `4.462s` (`.022s` / call) * Old version of `cc` with arrays and `bash v5.1.8` (Homebrew): `3.267s` (`.016s` / call) **Using many subshells (#26408)** * with `bash v3.2.57`: `25.302s` (`.127s` / call) * with `bash v5.1.8`: `27.801s` (`.139s` / call) * with `dash`: `15.302s` (`.077s` / call) This version didn't seem to work with zsh. **This PR (no subshells)** * with `bash v3.2.57`: `4.973s` (`.025s` / call) * with `bash v5.1.8`: `4.984s` (`.025s` / call) * with `zsh`: `2.995s` (`.015s` / call) * with `dash`: `1.890s` (`.0095s` / call) Dash, with the new posix design, is easily the winner. So there are several interesting things to note here: 1. Running the posix version in `bash` is slower than using `bash` arrays. That is to be expected because it's doing a bunch of string processing where it likely did not have to before, at least in `bash`. 2. `zsh`, at least on macOS, is significantly faster than the ancient `bash` they ship with the system. Using `zsh` with the new version also makes the posix wrappers faster than `develop`. So it's worth preferring `zsh` if we have it. I suppose we should also try this with newer `bash` on Linux. 3. `bash v5.1.8` seems to be significantly faster than the old system `bash v3.2.57` for arrays. For straight POSIX stuff, it's a little slower. It did not seem to matter whether `--posix` was used. 4. `dash` is way faster than `bash` or `zsh`, so the real payoff just comes from being able to use it. I am not sure if that is mostly startup time, but it's significant. `dash` is ~2.4x faster than the original `bash` with arrays. So, doing a lot of string stuff is slower than arrays, but converting to posix seems worth it to be able to exploit `dash`. - [x] Convert all but array-related portions to sh - [x] Fix basic shellcheck issues. - [x] Convert arrays to use a few convenience functions: `append` and `extend` - [x] Get `cc` tests passing. - [x] Add `cc` tests where needed passing. - [x] Benchmarking. Co-authored-by: Tom Scogland <scogland1@llnl.gov> Co-authored-by: Danny McClanahan <1305167+cosmicexplorer@users.noreply.github.com>
2021-10-04.gitignore needs to be below env and ENV for case-insensitive FSTodd Gamblin1-1/+1
2021-10-04Add 5.2.0 (#26481)haralmha1-0/+1
2021-10-05log4cxx: new version and fix for c++11 (#26480)Martin Pokorny1-1/+8
* Add version 0.12.1 * Add variant to build with C++11 standard build with c++11 standard requires boost threads, and needs explicit setting of CMAKE_CXX_STANDARD
2021-10-04intel-tbb: install pkgconfig file (#23977)KoyamaSohei1-0/+20
* intel-tbb: install pkgconfig file * intel-tbb: install pkgconfig file when @:2021.2.0 * intel-tbb: add blank line * intel-tbb: fix library name to refer * intel-tbb: fix library name to refer again * intel-tbb: use self.prefix.lib.pkgconfig
2021-10-04Stand-alone tests: distinguish NO-TESTS from PASSED (#25880)Tamara Dahlgren2-2/+31
Co-authored-by: Seth R. Johnson <johnsonsr@ornl.gov>
2021-10-04esys-particle: add new package esys-particle (#25338)snehring1-0/+39
* esys-particle: add new package esys-particle * esys-particle: requested changes * esys-particle: placating isort
2021-10-04gcc: apply nvcc patch to more versions (#24295)Daniel Ahlin1-1/+4
Apply to all known affected versions (10.1.0 to 10.3.0 and 11.1.0)
2021-10-04git: new version 2.29.2 (#26478)haralmha1-0/+5
2021-10-04Add new pythia8 variants and fix url_for_version (#26280)iarspider1-30/+75
* Add new pythia8 variants Add proper description to the existing ones * Flake-8 * Flake-8 * Style * Fix Pythia8 recipe * Fix typo in variant description * Update package.py
2021-10-04cppgsl: new version 3.1.0 (#26477)haralmha1-0/+1
2021-10-04py-scikit-learn: add 0.19.2 and 0.22.2.post1 (#26473)Manuela Kuhn1-0/+2
2021-10-04masurca: Fix build with glibc-2.32+ (#26173)snehring1-0/+2
remove sysctl.h which is not used by the build
2021-10-04Avoid replacing symlinked spack.yaml when concretizing an environment (#26428)Pedro Demarchi Gomes2-1/+20
2021-10-04use umpire version 5.0.1:5 (#26451)Pedro Demarchi Gomes1-3/+4