summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2022-05-23Deprecate `spack:concretization` over `concretizer:unify` (#30038)Harmen Stoppels19-48/+151
* Introduce concretizer:unify option to replace spack:concretization * Deprecate concretization * Make spack:concretization overrule concretize:unify for now * Add environment update logic to move from spack:concretization to spack:concretizer:reuse * Migrate spack:concretization to spack:concretize:unify in all locations * For new environments make concretizer:unify explicit, so that defaults can be changed in 0.19
2022-05-23plumed: add versions up to v2.8.0 (#30787)Maciej Wójcik2-21/+42
2022-05-23ci: Map visit to huge instance for the data-vis-sdk pipeline (#30779)Chuck Atkins1-0/+1
2022-05-23abseil-cpp: add v20211102 (#30785)marcus-elia1-1/+2
2022-05-23xsdk-examples: add v0.3.0 (#30770)Cody Balos3-30/+89
Co-authored-by: Satish Balay <balay@mcs.anl.gov> Co-authored-by: Veselin Dobrev <dobrev@llnl.gov>
2022-05-23py-rnc2rng: fix 2.6.5 and add 2.6.6 (#30784)Manuela Kuhn1-0/+3
2022-05-23hdf5-vol-async: update new version, tests, and runtime envs (#30713)Jean Luca Bez1-5/+21
* Update h5bench maintainers and versions * Include version 1.1 for h5bench * Correct release hash and set default version * Update .tar.gz version * Include new version and update runtime * Update year * Update package.py * Update package.py
2022-05-23llvm: make "omp_as_runtime" variant conditional (#30782)Massimiliano Culpo1-4/+1
fixes #30700 To avoid clingo adding penalties for not using the default value for a variant, it's better to model the variant as conditional where possible.
2022-05-23gdb: add v11.2 (#30780)Ben Bergen1-1/+2
- This resolves bug https://sourceware.org/PR28302
2022-05-22py-pyfr: Add v1.14.0, add LIBXSMM variant (#30612)MichaelLaufer3-8/+28
* Update PyFR, Gimmik versions. Add PyFR LIBXSMM variant * Fixes * Changes to variants * Update py-gimmik version requirement in py-pyfr * Revert "Update py-gimmik version requirement in py-pyfr" This reverts commit 3b3fde30425ece252290eb0a2793ca1707f84860. * Update libxsmm conflicts
2022-05-22Add Teuchos patch that fixes implicit casting of complex numbers (#30777)Paul Kuberry1-0/+3
2022-05-21Feature/composed boost pkg deps p3 (#28961)Abhik Sarkar16-102/+18
* This commit removes the Boost.with_default_variants to variants that packages are precisely dependant upon. This is the third batch of 16 packages with modified boost dependencies. * style fix * Update var/spack/repos/builtin/packages/sympol/package.py Co-authored-by: Tim Haines <thaines.astro@gmail.com> * fix style * Apply suggestions from code review Co-authored-by: Tim Haines <thaines.astro@gmail.com> * Fix Trilinos boost deps * Fix style Co-authored-by: Tim Haines <thaines.astro@gmail.com> Co-authored-by: Tom Scogland <tom.scogland@gmail.com>
2022-05-21gcc: add `build_type` and `profiled` variants (#30660)Harmen Stoppels1-0/+67
Add a `build_type` variant, which allows building optimized compilers, as well as target libraries (libstdc++ and friends). The default is `build_type=RelWithDebInfo`, which corresponds to GCC's default of -O2 -g. When building with `+bootstrap %gcc`, also add Spack's arch specific flags using the common denominator between host and new GCC. It is done by creating a config/spack.mk file in def patch, that looks as follows: ``` BOOT_CFLAGS := $(filter-out -O% -g%, $(BOOT_CFLAGS)) -O2 -g -march=znver2 -mtune=znver2 CFLAGS_FOR_TARGET := $(filter-out -O% -g%, $(CFLAGS_FOR_TARGET)) -O2 -g -march=znver2 -mtune=znver2 CXXFLAGS_FOR_TARGET := $(filter-out -O% -g%, $(CXXFLAGS_FOR_TARGET)) -O2 -g -march=znver2 -mtune=znver2 ```
2022-05-21New package: py-motor (#30763)Jen Herting1-0/+19
* New package: py-motor * Fixed dependency errors * Fixed flake style errors * Fixed linked issue Co-authored-by: Viv Eric Hafener <vehrc@sporcbuild.rc.rit.edu>
2022-05-21py-ww: add new package (#30767)Manuela Kuhn1-0/+23
* py-ww: add new package * Add missing py-pytest-runner dependency
2022-05-21paml: add v4.10.3 (#30772)snehring1-2/+8
2022-05-21build(deps): bump actions/upload-artifact from 3 to 3.1.0 (#30778)dependabot[bot]2-3/+3
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 3 to 3.1.0. - [Release notes](https://github.com/actions/upload-artifact/releases) - [Commits](https://github.com/actions/upload-artifact/compare/v3...3cea5372237819ed00197afe530f5a7ea3e805c8) --- updated-dependencies: - dependency-name: actions/upload-artifact dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-05-21Fix toolchain detection for oneapi/dpcpp compilers (#30775)Glenn Johnson1-1/+2
The oneapi and dpcpp compilers are essentially the same except for which binary is used foc CXX. Spack will detect them as "mixed toolchain" and not inject compiler optimization flags. This will be needed once archspec has entries for the oneapi and dpcpp compilers. This PR detects when dpcpp and oneapi are in the toolchains list and explicitly sets `is_mixed_toolchain` to `False`.
2022-05-20visit: Overhaul to build in the DAV SDK (#30594)Chuck Atkins5-137/+185
* mesa-glu and mesa-demos: Fix conflicts with glu and osmesa * visit: Update visit dependencies * ecp-data-vis-sdk: Enable +visit * ci[data-vis-sdk]: Enable +visit
2022-05-20update checksum and url for mlirmiopen recipe (#30771)Sreenivasa Murthy Kolam1-2/+2
2022-05-20[py-openslide-python] added verion 1.1.2 (#30722)Jen Herting1-3/+6
* [py-openslide-python] added verion 1.1.2 and set max py-setuptools version for 1.1.1 * [py-openslide-python] - setuptools required for all possible newer versions - python is type build run * [py-openslide-python] use pil provider
2022-05-20py-formatizer: add new package (#30755)Manuela Kuhn1-0/+17
2022-05-20py-pybids: add 0.8.0 and 0.15.1 (#30756)Manuela Kuhn1-2/+6
2022-05-20DWZ: use virtual "elf" package (#30761)iarspider1-1/+1
2022-05-20Add newer openfast versions and preliminary OpenMP compile support (#30752)Nate deVelder1-0/+17
* Add version 3.0 and 3.1 and prelim OpenMP support * Fix flag handler missing spec variable * Use self.compiler.openmp_flag instead of -fopenmp * Fix whitespace
2022-05-20qt: Qt 5.15.0 requires OpenSSL 1.1.1 (#30754)Jordan Galby1-2/+5
Fixes qt configure errors with external openssl on older systems (rhel7) See https://github.com/qt/qtbase/blob/efc02f9cc301f98c77079adae026ffd07f50d5ab/dist/changes-5.15.0#L346 This means for now on, `qt ^openssl@1.0` gets you `qt@5.15.4 ~ssl`: clingo chooses latest qt version **but disables ssl support**.
2022-05-20errors: model error messages as an optimization problem (#30669)Greg Becker9-245/+388
Error messages for the clingo concretizer have proven challenging. The current messages are incredibly vague and often don't help users at all. Unsat cores in clingo are not guaranteed to be minimal, and lead to cores that are either not useful or need to be post-processed for hours to reach a minimal core. Following up on an idea from a slack conversation with kwryankrattiger on slack, this PR takes a new approach. We eliminate most integrity constraints and minima/maxima on choice rules in clingo, and instead force invalid states to imply an error predicate. The error predicate can include context on the cause of the error (Package, Version, etc). These error predicates are then heavily optimized against, to ensure that we do not include error facts in the solution when a solution with no error facts could be generated. When post-processing the clingo solution to construct specs, any error facts cause the program to raise an exception. This leads to much more legible error messages. Each error predicate includes a priority and an error message. The error message is formatted by the remaining arguments to produce the error message. The priority is used to ensure that when clingo has a choice of which rules to violate, it chooses the one which will be most informative to the user. Performance: "fresh" concretizations appear to suffer a ~20% performance penalty under this branch, while "reuse" concretizations see a speedup of around 33%. Possible optimizations if users still see unhelpful messages: There are currently 3 levels of priority of the error messages. Additional priorities are possible, and can allow us finer granularity to ensure more informative error messages are provided in lieu of less informative ones. Future work: Improve tests to ensure that every possible rule implying an error message is exercised
2022-05-20Petsc: fix enable-x for virtuals (#30749)Peter Scheibel1-5/+6
* If direct dependencies provide virtuals, add those virtual names as well * Also refer to package by virtual name for jpeg
2022-05-19py-fracridge: add new package (#30739)Manuela Kuhn1-0/+23
2022-05-19Update py-onnx-runtime to 1.10; update CMS patch (#30725)iarspider2-0/+146
* Update py-onnx-runtime to 1.10; update CMS patch * Update package.py
2022-05-19Run scheduled CI workflows only in the main repo (#30729)Wileam Y. Phan3-1/+16
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2022-05-19Non-existent upstream is not fatal (#30746)Jordan Galby1-3/+1
A non-existent upstream should not be fatal: it could only mean it is not deployed yet. In the meantime, it should not block the user to rebuild anything it needs. A warning is still emitted, to let the user decide if this is ok or not.
2022-05-19python: more +optimizations (#30742)Harmen Stoppels1-0/+2
2022-05-19fenicsx: update to v0.4 (#30661)Matthew Archer7-35/+78
* Fix for xtensor-xsimd * Add sha256 for all new releases * renamed ufcx package * Update sha for ffcx * fixed hashes and modified fenics-dolfinx to depend on ufcx * cleaned and fixed dependency types * use spec.satisfies in cmake_args * bumped to ufcx@0.4.1 * address PR comments * fix hashes * update parmetis in cmake_args to reflect default setting * update versions * renamed ufcx package * fixed hashes and modified fenics-dolfinx to depend on ufcx * cleaned and fixed dependency types * use spec.satisfies in cmake_args * bumped to ufcx@0.4.1 * address PR comments * fix hashes * update parmetis in cmake_args to reflect default setting * update versions * Add dependency fix * bump basix to 0.4.2 and address PR comments * Versioning fixes * Use xtensor-0.24: and loosen pybind11 * Add conflicts for partitioners * Updates on partitioners * use define_from_variant * Tidy up some dependencies * Work on multi-variants for graph partitioners * Fix KaHIP issue. KaHIP changed the name of its library from 'interface' to 'kahip'. Pin earlier versions of DOLFINx to earlier verisons of KaHIP for proper detection. Co-authored-by: Chris Richardson <chris@bpi.cam.ac.uk> Co-authored-by: Garth N. Wells <gnw20@cam.ac.uk>
2022-05-19Ascent: Add variant to disable blt_find_mpi (#30735)kwryankrattiger1-0/+6
This is needed to find MPI correctly on cray systems and similar.
2022-05-19Update millepede recipe (#30737)iarspider1-0/+3
2022-05-19libtheora: fix the hash of a patch. (#30740)Rémi Lacroix1-1/+1
Cosmetic changes only, probably because gitlab.xiph.org got updated.
2022-05-19Fix spack install chgrp on symlinks (#30743)Jordan Galby3-4/+7
Fixes missing chgrp on symlinks in package installations, and errors on symlinks referencing non-existent or non-writable locations. Note: `os.chown(.., follow_symlinks=False)` is python3 only, but `os.lchown` exists in both versions.
2022-05-19cuda: use stage dir instead of /tmp during install (#29584)Valentin Volkl1-1/+6
2022-05-19tar: add compress deps (#30641)Harmen Stoppels2-3/+28
* remove spack dependency from package * tar: fix compression programs, use pigz by default instead of gzip on -z
2022-05-19Don't try to mkdir upstream directory when nonexistent (#30744)Jordan Galby1-2/+2
When an upstream is specified but the directory does not exist, don't create the directory for it, it might not be yours.
2022-05-19cp2k: fix unbound var use without cuda (#30736)Tiziano Müller1-1/+2
fixes #30631
2022-05-18RAJA and associated packages: add v2022.03.0 (#30047)David Beckingsale5-22/+61
* Add raja@2022.03.0 * Add camp@2022.03.0 * Add chai@2022.03.0 * Add umpire@2022.03.1 * Latest chai, raja, umpire versions don't need submodules * Latest chai, raja, umpire versions update CMake option names * New umpire +device_alloc option (for latest version) * All versions of dray are now required to build with raja@:0.14 Co-authored-by: Marty McFadden <mcfadden8@users.noreply.github.com>
2022-05-18Add license dir to config (#30135)robgics9-16/+43
* Change license dir from hard-coded to a configurable item * Change config item to be a string not an array Co-authored-by: Todd Gamblin <tgamblin@llnl.gov>
2022-05-19Catch2: update to 3.0.1 (#30732)Teodor Nikolov1-1/+2
Co-authored-by: Tamara Dahlgren <35777542+tldahlgren@users.noreply.github.com>
2022-05-18ExaSGD bugfixes (#30731)Asher Mancinelli2-3/+6
* Small bug fixes for ExaSGD packages * Add Slaven as maint for both exago and hiop
2022-05-18bugfix: handle new `dag_hash()` on old concrete specs gracefully. (#30678)Todd Gamblin4-21/+124
Trying to compute `dag_hash()` or `package_hash()` on a concrete spec that doesn't have a `_package_hash` attribute would attempt to recompute the package hash. This most commonly manifests as a failed lookup of a namespace if you attempt to uninstall or compute the hashes of packages in exsternal repositories that aren't registered, e.g.: ```console > spack spec --json c/htno ==> Error: Unknown namespace: myrepo ``` While it wouldn't change the already-assigned `dag_hash` value, this behavior is incorrect, since the package file for a previously concrete spec: 1. might have changed since concretization, 2. might not exist anymore, or 3. might just not be findable by Spack. This PR ensures that the package hash can't be computed on older concrete specs. Instead of calling `package_hash()` from within `to_node_dict()`, we now check for the `_package_hash` attribute and only add the package_hash to the spec record if it's there. This PR also handles the tricky semantics of computing `package_hash()` at concretization time. We have to compute it *before* marking the spec concrete so that `to_node_dict` can use it. But this means that the logic for `package_hash()` can't rely on `spec.concrete`, as it is called *during* concretization. Instead of checking for concreteness, `package_hash()` now checks `_patches_assigned()` to determine whether it should add them to the package hash. - [x] Add an assert to `package_hash()` so it can't be called on specs for which it would be wrong. - [x] Add an `_assign_hash()` method to handle tricky semantics of `package_hash` and `dag_hash`. - [x] Rework concretization to call `_assign_hash()` before and after marking specs concrete. - [x] Rework content hash part of package hash to check for `_patches_assigned()` instead of `spec.concrete`. - [x] regression test
2022-05-18harfbuzz: add gobject-introspection dependency (#30715)Michael Kuhn1-0/+15
Fixes #30706
2022-05-18[py-tensorflow-hub] applied patch for newer version of zlib (#30664)Jen Herting1-0/+4
* [py-tensorflow-hub] applied patch for newer version of zlib * [py-tensorflow-hub] patch also applies to 0.11.0 * [py-tensorflow-hub] Audit fix 1. patch URL in package py-tensorflow-hub must end with ?full_index=1
2022-05-18[WGRIB2] Pinning Jasper to v2. (#30726)Timothy Brown1-1/+1
If we use v3 of Jasper, WGRIB2 fails to build due to not finding `jpc_encode` and `jpc_decode`.