summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-05-07Testing: fix unintended interactions between tests, part 2 (#16429)Peter Scheibel6-12/+47
This fixes some errors with setting up test configuration. These errors do not cause current Spack tests to fail but do create red herring issues elsewhere (see #15666). Fixing these errors leads to more errors in tests that depended on the original misconfigured state, so those are also addressed here. This is an update to #16003 which accounts for some unit tests with conflicting config/mutable_config fixtures. These conflicts were not exposed until the mutable_config fixture was fixed. Details are included below. The change which builds on #16003 is prefixed with "(new)". * For tests that use the real Spack package repository, the config needs to avoid using MPI providers that are not intended to be installed by Spack. Without this, it is possible that Spack tests which concretize the MPI virtual will end up trying to use an implementation that it shouldn't (e.g. one that is always provided externally). See #15666 for an example. * The mutable_config test fixture was not initializing the scope roots to the right directories (so the resulting config was empty). * The current_host fixture in the concretize.py tests was using the config fixture rather than mutable_config, and was polluting the config cache for other tests. * One test in concretize.py was clearing a nonexistent cache (PackagePrefs._packages_config_cache). This reference has been removed. * The test 'test_preferred_compilers' was was depending on cross test config pollution to succeed. The initial spec before concretization has been updated to updated to be explicit about the desired result. * (new) For tests that use install_mockery and mutable_config, replace install_mockery with a separate install_mockery_mutable_config fixture that is exactly the same as install_mockery but uses the mutable_config fixture to avoid conflicts.
2020-05-07GDAL: add 3.1.0 (#16509)Adam J. Stewart1-0/+1
2020-05-07NAG Compiler 7.0 (Build 7017) download checksum (#16510)Themos Tsikas1-1/+1
2020-05-07Add Rust 1.43.1 (#16512)Andrew Gaspar1-0/+7
2020-05-07ADD New package revocap-refiner (#16499)h-denpo1-0/+57
* ADD New package revocap-refiner """The University of Tokyo, CISS Project: Geometric processing, mesh processing, mesh generation""" * Modify homepage = "https://github.com/FrontISTR/REVOCAP_Refiner" Modify version('master', branch='master') Modify depends_on('swig', type='build') Modify install_tree('Refiner', prefix.include.refine) Delete mkdirp(prefix.include)
2020-05-07Add new package: ganglia (#16382)darmac1-0/+35
* Add new package: ganglia * ganglia: fix the libexpat depends
2020-05-07Adapt to the latest Acts developments (#16385)Hadrien G1-16/+56
* Adapt to the latest Acts developments A long time ago, the Acts project (whose name was then capitalized ACTS) used to maintain multiple software repositories: - The heart of the tracking toolkit was located in the `acts-core` repository - Fast simulation extensions were located in the `acts-fatras` repository - Advanced usage examples were located in the `acts-framework` repository This multi-repository organization, however, has been a source of constant pain, which is why the various projects were gradually merged into a single mono-repo, called `acts`. Today, with the integration of `acts-framework`, this merging process is reaching completion. The present pull request adapts the Acts package to this evolution by... - Renaming the package to `acts`, reflecting the new repository name - Renaming the `test` variant to `unit_tests`, reflecting current CMake naming - Adding the new build variants that were inherited from `acts-framework` - Acknowledging the change of semantics of the `examples` variant, and only supporting the new ones (as the former variant was almost unused) - Liberally using alphabetical order to make the package code more readable - Recording a large number of conflicts, some of which are introduced by the merging of `acts-framework` and some of which already existed before - Using the new capitalization of "Acts" * Add acts v0.23 * Update dd4hep version requirement * Add acts v0.22.1 bugfix
2020-05-07Add PGI version 19.7 and export OMPI variables (#16484)asmaahassan901-0/+11
* add PGI version 19.7 * use openmpi in pgi exporting openmpi enviroment variables when installed with pgi * fix lint
2020-05-07 bugfix: spack shouldn't fail in an incomplete environment (#16473)Todd Gamblin2-9/+49
Fixed #15884. Spack asks every package linked into an environment to tell us how environment variables should be modified when a spack environment is activated. As part of this, specs in an environment are symlinked into the environment's view (see #13249), and the package calculates environment modifications with *the default view as the prefix*. All of this works nicely for pointing the user's environment at the view *if* every package is successfully linked. Unfortunately, right now we only track what specs "should" be in a view, not which specs actually are. So we end up calculating environment modifications on things that aren't linked into thee view, and the exception isn't caught, so lots of spack commands end up failing. This fixes the issue by ignoring and warning about specs where calculating environment modifications fails. So we can still keep using Spack even if the current environment is incomplete. We should probably also just avoid computing env modifications *entirely* for unlinked packages, but right now that is a slow operation (requires a lot of YAML parsing). We should revisit that when we have some better state management for views, but the fix adopted here will still be necessary, as we want spack commands to be resilient to other types of bugs in `setup_run_environment()` and friends. That code is in packages and we have to assume it could be buggy when we call it outside of builds (as it might fail more than just the build).
2020-05-07neovim: added v0.4.3 (#16410)Eisuke Kawashima1-16/+37
Use neovim's vendored dependencies for 0.4 and later
2020-05-06openfoam: correspond to build with Fujitsu compiler. (#15941)Tomoki, Karatsu1-4/+32
* openfoam: correspond to build with Fujitsu compiler. * openfoam: add rules for Fujitsu compiler (on linuxARM64) - the Fujitsu compiler is a clang derivative, so use a modified version of the clang rules if upstream does not supply anything
2020-05-06Add new package:py-json5 (#16273)takanori-ihara1-0/+19
* Add new package:py-json5 * Remove unnecessary line
2020-05-06New version of pylint + fix dependencies (#16443)iarspider1-3/+10
* New version of pylint + fix dependencies * Update package.py * Update package.py
2020-05-06Install RMPISNOW wrapper in prefix.bin for r-snow (#16479)Glenn Johnson1-0/+5
If using mpirun, the R sessions can be started with a wrapper script that helps set up the R session cluster. Put this wrapper in the PATH so it is easily accessible.
2020-05-06py-shapely: fix unit tests (#16500)Adam J. Stewart1-4/+13
2020-05-06py-netcdf4: make sure we don't use system hdf5. (#16492)Sergey Kosukhin2-0/+13
2020-05-06Bazel: add new versions (#16493)Adam J. Stewart2-2/+29
2020-05-06TensorFlow: add new version (#16494)Adam J. Stewart1-8/+15
2020-05-06OpenMPI - Update to 3.1.6 (#16496)Kevin Manalo1-1/+2
2020-05-06Add new version of Geant4 (#16497)iarspider1-0/+1
2020-05-06PyTorch/Torchvision: fix deptype (#16495)Adam J. Stewart2-4/+4
2020-05-06blis: FIX threads option, HPL: enable opemp variant for 2.3 (#16476)yellowhat2-4/+12
* blis: FIX threads option * HPL: openmp variant is ignored for 2.3 * blis: FIX flake8 * blis: FIX spacing * Update var/spack/repos/builtin/packages/hpl/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * hpl: FIX spec --> self.spec, FIX blas with amdblis * HPL: fix flake8 * HPL: FIX flake8 Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-06qscintilla (#16182)Elizabeth Fischer1-0/+3
* qscintilla * Revert "qscintilla" This reverts commit 00bd00ea3c5af4f29de5dd6961acf03fb51e2ea0. * Move logic to qt package. * flake8 Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-05-06margo: update dependency on argobots (#16489)Scott Wittenburg1-1/+1
2020-05-06fix underscore/dash problems for mic_knl and skylake_avx512 (#16491)Greg Becker1-1/+2
2020-05-06macOS Package Builds (nightly) (#16345)Axel Huebl3-0/+63
Add nightly builds for popular and commonly used packages on macOS that should improve the onramp user experience if working well.
2020-05-05Automatically find externals (#15158)Peter Scheibel7-1/+574
Add a `spack external find` command that tries to populate `packages.yaml` with external packages from the user's `$PATH`. This focuses on finding build dependencies. Currently, support has only been added for `cmake`. For a package to be discoverable with `spack external find`, it must define: * an `executables` class attribute containing a list of regular expressions that match executable names. * a `determine_spec_details(prefix, specs_in_prefix)` method Spack will call `determine_spec_details()` once for each prefix where executables are found, passing in the path to the prefix and the path to all found executables. The package is responsible for invoking the executables and figuring out what type of installation(s) are in the prefix, and returning one or more specs (each with version, variants or whatever else the user decides to include in the spec). The found specs and prefixes will be added to the user's `packages.yaml` file. Providing the `--not-buildable` option will mark all generated entries in `packages.yaml` as `buildable: False`
2020-05-05PyTorch: add patches to fix build (#16477)Adam J. Stewart2-3/+58
2020-05-05kokkos: add v3.1.01 (#16470)Christoph Junghans2-10/+7
* kokkos: add v3.1.01 * kokkos: fix up versions * kokkos-kernels: follow upstream versioning
2020-05-05cray platform: support cray Cluster and XC type machines (#12989)Greg Becker14-96/+357
Cray has two machine types. "XC" machines are the larger machines more common in HPC, but "Cluster" machines are also cropping up at some HPC sites. Cluster machines run a slightly different form of the CrayPE programming environment, and often come without default modules loaded. Cluster machines also run different versions of some software, and run a linux distro on the backend nodes instead of running Compute Node Linux (CNL). Below are the changes made to support "Cluster" machines in Spack. Some of these changes are semi-related general upkeep of the cray platform. * cray platform: detect properly after module purge * cray platform: support machines running OSs other than CNL Make Cray backend OS delegate to LinuxDistro when no cle_release file favor backend over frontend OS when name clashes * cray platform: target detection uses multiple strategies This commit improves the robustness of target detection on Cray by trying multiple strategies. The first one that produces results wins. If nothing is found only the generic family of the frontend host is used as a target. * cray-libsci: add package from NERSC * build_env: unload cray-libsci module when not explicitly needed cray-libsci is a package in Spack. The cray PrgEnv modules load it implicitly when we set up the compiler. We now unload it after setting up the compiler and only reload it when requested via external package. * util/module_cmd: more robust module parsing Cray modules have documentation inside the module that is visible to the `module show` command. Spack module parsing is now robust to documentation inside modules. * cce compiler: uses clang flags for versions >= 9.0 * build_env: push CRAY_LD_LIBRARY_PATH into everything Some Cray modules add paths to CRAY_LD_LIBRARY_PATH instead of LD_LIBRARY_PATH. This has performance benefits at load time, but leads to Spack builds not finding their dependencies from external modules. Spack now prepends CRAY_LD_LIBRARY_PATH to LD_LIBRARY_PATH before beginning the build. * mvapich2: setup cray compilers when on cray previously, mpich was the only mpi implementation to support cray systems (because it is the MPI on Cray XC systems). Cray cluster systems use mvapich2, which now supports cray compiler wrappers. * build_env: clean pkgconf from environment Cray modules silently add pkgconf to the user environment This can break builds that do not user pkgconf. Now we remove it frmo the environment and add it again if it is in the spec. * cray platform: cheat modules for rome/zen2 module on naples/zen node Cray modules for naples/zen architecture currently specify rome/zen2. For now, we detect this and return zen for modules named `craype-x86-rome`. * compiler: compiler default versions When detecting compiler default versions for target/compiler compatibility checks, Spack previously ran the compiler without setting up its environment. Now we setup a temporary environment to run the compiler with its modules to detect its version. * compilers/cce: improve logic to determine C/C++ std flags * tests: fix existing tests to play nicely with new cray support * tests: test new functionality Some new functionality can only be tested on a cray system. Add tests for what can be tested on a linux system. Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2020-05-05OpenBLAS: Fix LLVM 9.0.0 ICE on macOS (#16471)Axel Huebl2-0/+40
Recently added patch to port the LLVM 9.0.0 ICE with OpenBLAS and AVX-512 instructions as well to AppleClang (11.0.3).
2020-05-05minor (#16467)Sajid Ali1-1/+2
2020-05-05Make usage example consistent with current MV variants (#16468)Massimiliano Culpo3-3/+3
Since #9481 Python's None is not permitted as a value for MV variants. The string 'none' is used instead. Add the same fix for the amgx and lammps packages
2020-05-05CMake: Cray XC40 system errors bootstrapping CMake (#16459)Jennifer Green2-0/+16
* CMake: fix https://github.com/spack/spack/issues/16453 with a patch addressing both libhugetlbfs and icpc warnings on Cray XC40 systems * Including CMake v3.17.2 in the patched versions
2020-05-05cabana: add v0.3.0 & shared variant (#16466)Christoph Junghans1-1/+5
2020-05-05Add Axom spack package (#15432)Chris White5-37/+613
* Add OpenMP variant to Umpire * Initial implementation of Axom package * Add Axom spack package and fix required dependencies * Fix overzealous tag replacement * Attempt to fix version error * Fix python version attempt #2 * Update raja and umpire * remove sys_type check * Address comments in axom package * Address Greg's comments * Fix flake8 * more flake8 * Simplify MPIEXEC and MPIEXEC_NUMPROC_FLAG * Fix typo * Revert back to slurm check, fix cuda_arch checks * Fix cuda_arch variant forwarding * Add cub variant * Add py-shroud * Address comments * Fix shroud path in axom * Fix merge conflict * Fix backwards if * Fix flake8 and add copyright * format for consistency
2020-05-05exonerate-gff3: new package at 2.3.0 (#11830)Justin S1-0/+22
2020-05-05perl-bio-searchio-hmmer: new package at 1.7.3 (#16281)Justin S1-0/+18
* perl-bio-searchio-hmmer: new package at 1.7.3 * perl-bio-searchio-hmmer: add dependencies
2020-05-05WarpX: RZ + PSATD (#16464)Axel Huebl1-1/+3
Add additionally required dependencies to WarpX that are needed for transformations in RZ geometry with spectral (PSATD) solvers.
2020-05-05Boost: Add version 1.73.0 (#16442)Tim Haines1-1/+17
2020-05-05[dd4hep] fix python setup (#16461)vvolkl1-1/+1
2020-05-05cctools to 7.1.5 (#16450)Benjamin Tovar1-2/+3
* change homepage to readthedocs * update cctools version to 7.1.5 * change http to https
2020-05-05lammps: added v20200505 (#16463)Christoph Junghans1-0/+2
2020-05-04bugfix: config:install_hash_length ignored (#15919)Greg Becker2-0/+42
2020-05-04py-shapely: add master version (#16465)Adam J. Stewart1-2/+16
2020-05-04libspatialite: Update for proj@6 (#16173)Elizabeth Fischer1-2/+16
* libspatialite * flake8 * Added proper version constrain * Update var/spack/repos/builtin/packages/libspatialite/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/libspatialite/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-04libsecret (#16174)Elizabeth Fischer1-0/+2
* libsecret * Update package.py Co-authored-by: Elizabeth Fischer <elizabeth.fischer@alaska.edu>
2020-05-04bugfix: Update run-time dependencies of py-xenv (#16460)vvolkl1-1/+1
Otherwise, if I run `xenv` after `spack load py-xenv` it fails with: ``` Traceback (most recent call last): File "/home/vavolkl/spack/opt/spack/linux-centos7-broadwell/gcc-8.3.0/py-xenv-develop_2018-12-20-lqbxakapsepqo5w3sjhhokj5o7c5jei2/bin/xenv", line 6, in <module> from pkg_resources import load_entry_point ModuleNotFoundError: No module named 'pkg_resources' ```
2020-05-04[gaudi] fixes and patches (#16433)vvolkl6-19/+315
* [gaudi] fixes and patches * Update var/spack/repos/builtin/packages/gaudi/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/gaudi/package.py Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * Apply suggestions from code review Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com> * [gaudi] add older versions and fold +tests into +optional * [gaudi] set run environment Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-05-04environments: allow sigils to apply to entire reference (#15245)Greg Becker3-5/+110
* environments: allow sigils to apply to entire reference