summaryrefslogtreecommitdiff
path: root/var
AgeCommit message (Collapse)AuthorFilesLines
2022-05-28refactor: packages import `spack.package` explicitly (#30404)Tom Scogland6677-6318/+7885
Explicitly import package utilities in all packages, and corresponding fallout. This includes: * rename `spack.package` to `spack.package_base` * rename `spack.pkgkit` to `spack.package` * update all packages in builtin, builtin_mock and tutorials to include `from spack.package import *` * update spack style * ensure packages include the import * automatically add the new import and remove any/all imports of `spack` and `spack.pkgkit` from packages when using `--fix` * add support for type-checking packages with mypy when SPACK_MYPY_CHECK_PACKAGES is set in the environment * fix all type checking errors in packages in spack upstream * update spack create to include the new imports * update spack repo to inject the new import, injection persists to allow for a deprecation period Original message below: As requested @adamjstewart, update all packages to use pkgkit. I ended up using isort to do this, so repro is easy: ```console $ isort -a 'from spack.pkgkit import *' --rm 'spack' ./var/spack/repos/builtin/packages/*/package.py $ spack style --fix ``` There were several line spacing fixups caused either by space manipulation in isort or by packages that haven't been touched since we added requirements, but there are no functional changes in here. * [x] add config to isort to make sure this is maintained going forward
2022-05-28Additional BLAS/LAPACK library configuration for Numpy (#30817)JDBetteridge1-8/+12
* Add amdblis and amdlibflame as BLAS/LAPACK options * Add Cray-libsci as BLAS/LAPACK option * Use Netlib config for Cray-libsci
2022-05-28hpx: New version 1.8.0 (#30848)Erik Schnetter1-0/+1
2022-05-27Ensure same BLAS/LAPACK config from Numpy used in Scipy (#30818)JDBetteridge1-2/+12
* Call Numpy package's set_blas_lapack() and setup_build_environment() in Scipy package * Remove broken link from comment * Use .package attribute of spec to avoid import
2022-05-27Add R 4.2.0 (#30859)Derek Ryan Strong1-0/+1
2022-05-27gcc: add 9.5.0 (#30893)Michael Kuhn1-0/+1
2022-05-27Python: fix clingo bootstrapping on Apple M1 (#30834)Adam J. Stewart1-44/+75
This PR fixes several issues I noticed while trying to get Spack working on Apple M1. - [x] `build_environment.py` attempts to add `spec['foo'].libs` and `spec['foo'].headers` to our compiler wrappers for all dependencies using a try-except that ignores `NoLibrariesError` and `NoHeadersError` respectively. However, The `libs` and `headers` attributes of the Python package were erroneously using `RuntimeError` instead. - [x] `spack external find python` (used during bootstrapping) currently has no way to determine whether or not an installation is `+shared`, so previously we would only search for static Python libs. However, most distributions including XCode/Conda/Intel ship shared Python libs. I updated `libs` to search for both shared and static (order based on variant) as a fallback. - [x] The `headers` attribute was recursively searching in `prefix.include` for `pyconfig.h`, but this could lead to non-deterministic behavior if multiple versions of Python are installed and `pyconfig.h` files exist in multiple `<prefix>/include/pythonX.Y` locations. It's safer to search in `sysconfig.get_path('include')` instead. - [x] The Python installation that comes with XCode is broken, and `sysconfig.get_paths` is hard-coded to return specific directories. This meant that our logic for `platlib`/`purelib`/`include` where we replace `platbase`/`base`/`installed_base` with `prefix` wasn't working and the `mkdirp` in `setup_dependent_package` was trying to create a directory in root, giving permissions issues. Even if you commented out those `mkdirp` calls, Spack would add the wrong directories to `PYTHONPATH`. Added a fallback hard-coded to `lib/pythonX.Y/site-packages` if sysconfig is broken (this is what distutils always did).
2022-05-27llvm: 14.0.3 and 14.0.4 (#30888)Paul R. C. Kent1-0/+2
2022-05-27otf2/scorep: add versions 3.0/7.1 (#28631)Severin Strobl3-9/+23
2022-05-26Updated mfem constraints in laghos spackage (#30851)Robert Pavel1-2/+2
Updated mfme constraints in laghos spackage to better match comments and support legacy builds of `laghos@1.0:2.0`
2022-05-26q-e-sirius: remove ~apps constraint (#30857)Simon Pintarelli1-1/+4
2022-05-26Added hash for new versions (#30860)Brian Van Essen1-0/+2
2022-05-26Add new versions of GNU parallel (#30862)Derek Ryan Strong1-1/+6
2022-05-26Add newer nano versions (#30865)Derek Ryan Strong1-1/+17
2022-05-26Adding new package bricks for x86, cuda (#30863)Hans Johansen1-0/+88
* Adding new package bricks for x86, cuda * Fixed complaints from "spack style" that CI found * add license comment at top Co-authored-by: drhansj <drhansj@berkeley.edu> Co-authored-by: eugeneswalker <38933153+eugeneswalker@users.noreply.github.com>
2022-05-26py-tensorboard: add v2.9.0 (#30832)Adam J. Stewart1-13/+17
2022-05-25libtiff: remove extra dependencies/patch (#30854)Adam J. Stewart2-72/+6
2022-05-25py-numpy: add v1.22.4 (#30827)Adam J. Stewart2-1/+4
2022-05-25py-pythran: add v0.11.0 (#30829)Adam J. Stewart1-0/+4
2022-05-25openmpi: fixes for slurm and #29449 (#30299)Seth R. Johnson1-44/+19
2022-05-25Add nextflow 22.04.3 (#30855)Diego Alvarez1-0/+1
2022-05-25eagle: updating to version 1.1.3 (#30852)snehring1-3/+4
2022-05-25sed: fix recursive symlink (#30849)Seth R. Johnson1-0/+3
Use `spack build` as build dir to avoid recursive link error. ``` config.status: linking /var/folders/fy/x2xtwh1n7fn0_0q2kk29xkv9vvmbqb/T/s3j/spack-stage/spack-stage-sed-4.8-wraqsot6ofzvr3vrgusx4mj4mya5xfux/spack-src/GNUmakefile to GNUmakefile config.status: executing depfiles commands config.status: executing po-directories commands config.status: creating po/POTFILES config.status: creating po/Makefile ==> sed: Executing phase: 'build' ==> [2022-05-25-14:15:51.310333] 'make' '-j8' 'V=1' make: GNUmakefile: Too many levels of symbolic links make: stat: GNUmakefile: Too many levels of symbolic links make: *** No rule to make target `GNUmakefile'. Stop. ```
2022-05-25py-scikit-learn: add v1.1.1 (#30830)Adam J. Stewart1-0/+1
2022-05-25Pastix: new package (#30533)fpruvost1-0/+88
2022-05-25[mochi-margo] added version 0.9.10 (#30844)Matthieu Dorier1-0/+1
2022-05-25geant4: new version v11.0.2 (#30847)Ben Morgan1-0/+1
2022-05-25ccache: add missing pkgconfig dep (#30846)Harmen Stoppels1-3/+5
2022-05-25py-scipy: add v1.8.1 (#30831)Adam J. Stewart1-1/+2
2022-05-25reprimand: update homepage (#30840)Erik Schnetter1-1/+1
2022-05-25p7zip: fix %clang (#30843)Harmen Stoppels1-5/+16
2022-05-25dsfmt: set CC=cc (#30842)Harmen Stoppels1-1/+1
2022-05-25tau: add v2.31.1 (#30820)eugeneswalker1-0/+1
2022-05-25julia: support clang, set llvm NDEBUG correctly (#30800)Harmen Stoppels3-0/+64
2022-05-25mbedtls: add conflicts over inline asm trouble with clang@12: (#30801)Harmen Stoppels1-0/+4
2022-05-25[lcms] Added version 2.13.1 and URL version (#30811)Jen Herting1-0/+5
Co-authored-by: James A Zilberman <jazrc@rit.edu>
2022-05-25py-pillow-simd: mark conflicts with aarch64 (#30828)Adam J. Stewart1-0/+2
2022-05-24silo: Fix HDF5 1.13 API breakage (#30786)Chuck Atkins2-2/+44
2022-05-24Add aria2 1.36.0 (#30822)Derek Ryan Strong1-1/+2
2022-05-25Add rsync 3.2.4 (#30821)Derek Ryan Strong1-1/+2
2022-05-24[leveldb] add patch to fix check for -Wthread-safety (#30810)Matthieu Dorier2-0/+27
2022-05-24[libwebp] Added version 1.2.2 (#30814)Jen Herting1-0/+1
Co-authored-by: James A Zilberman <jazrc@rit.edu>
2022-05-24[libdeflate] Added version 1.10 (#30813)Jen Herting1-0/+1
Co-authored-by: James A Zilberman <jazrc@rit.edu>
2022-05-24[libaec] Added version 1.0.6 (#30812)Jen Herting1-0/+1
Co-authored-by: James A Zilberman <jazrc@rit.edu>
2022-05-24Allow Kokkos with OpenMPTarget backend (#30724)Daniel Arndt1-0/+9
* Allow Kokkos with OpenMPTarget backend * Restrict SYCL and OpenMPTarget to C++17 or higher * Improve C++ standard check for SYCL and OpenMPTarget * Fix indentation
2022-05-24mpich: re-enable building of the older versions (#30766)Sergey Kosukhin1-1/+7
* mpich: enable building @3.4:3.4.3 ~cuda * mpich: add dependency on mxm
2022-05-24tbl2asn: adding currently available version (#30774)snehring1-6/+9
2022-05-24Best effort co-concretization (iterative algorithm) (#28941)Massimiliano Culpo1-1/+1
Currently, environments can either be concretized fully together or fully separately. This works well for users who create environments for interoperable software and can use `concretizer:unify:true`. It does not allow environments with conflicting software to be concretized for maximal interoperability. The primary use-case for this is facilities providing system software. Facilities provide multiple MPI implementations, but all software built against a given MPI ought to be interoperable. This PR adds a concretization option `concretizer:unify:when_possible`. When this option is used, Spack will concretize specs in the environment separately, but will optimize for minimal differences in overlapping packages. * Add a level of indirection to root specs This commit introduce the "literal" atom, which comes with a few different "arities". The unary "literal" contains an integer that id the ID of a spec literal. Other "literals" contain information on the requests made by literal ID. For instance zlib@1.2.11 generates the following facts: literal(0,"root","zlib"). literal(0,"node","zlib"). literal(0,"node_version_satisfies","zlib","1.2.11"). This should help with solving large environments "together where possible" since later literals can be now solved together in batches. * Add a mechanism to relax the number of literals being solved * Modify spack solve to display the new criteria Since the new criteria is above all the build criteria, we need to modify the way we display the output. Originally done by Greg in #27964 and cherry-picked to this branch by the co-author of the commit. Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com> * Inject reusable specs into the solve Instead of coupling the PyclingoDriver() object with spack.config, inject the concrete specs that can be reused. A method level function takes care of reading from the store and the buildcache. * spack solve: show output of multi-rounds * add tests for best-effort coconcretization * Enforce having at least a literal being solved Co-authored-by: Greg Becker <becker33@llnl.gov>
2022-05-24New package: py-x21 (#30225)Jen Herting1-0/+66
* Py-x21 now works, needs dependencies Conflicts: var/spack/repos/rit-rc/packages/py-x21/package.py * Added dependencies to py-x21 * Making flake style check happy * [py-x21] flake8 * [py-x21] - added homepage - added placeholder description - added comment about checksums * [py-x21] added darwin support and fixed issue with python 3.7 wheel name * [py-x21] adding checksum hash * [py-x21] removed duplicate py-pynacl * [py-x21] - updated description - updated version listing to have a different version for each version of python. Also, versions dependent on sys.platform - updated url_for_version to not require post concretized information so that spack checksum works * [py-x21] isort Co-authored-by: vehrc <vehrc@rit.edu>
2022-05-24apptainer: new package (#30745)Matthias Wolf3-14/+77