summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-09-13ESMF, NEMSIO and UFS-UTILS changes. (#25846)Timothy Brown3-1/+10
* ESMF and NEMSIO changes. - Updating ESMF to set the COMM correctly when using Intel oneapi. - Explicitly setting the CMake MPI Fortran compiler for NEMSIO. * Update UFS utils CMake to use MPI_<lang>_COMPILER.
2021-09-13Fix environment reading from lockfile to trust written hashes (#25879)Greg Becker3-10/+57
#22845 revealed a long-standing bug that had never been triggered before, because the hashing algorithm had been stable for multiple years while the bug was in production. The bug was that when reading a concretized environment, Spack did not properly read in the build hashes associated with the specs in the environment. Those hashes were recomputed (and as long as we didn't change the algorithm, were recomputed identically). Spack's policy, though, is never to recompute a hash. Once something is installed, we respect its metadata hash forever -- even if internally Spack changes the hashing method. Put differently, once something is concretized, it has a concrete hash, and that's it -- forever. When we changed the hashing algorithm for performance in #22845 we exposed the bug. This PR fixes the bug at its source, but properly reading in the cached build hash attributes associated with the specs. I've also renamed some variables in the Environment class methods to make a mistake of this sort more difficult to make in the future. * ensure environment build hashes are never recomputed * add comment clarifying reattachment of env build hashes * bump lockfile version and include specfile version in env meta * Fix unit-test for v1 to v2 conversion Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-09-13petsc, petsc4py: add version 3.15.4 (#25912)Satish Balay2-0/+2
2021-09-13Avoid hidden circular dependencies in spack.architecture (#25873)Massimiliano Culpo23-478/+492
* Refactor platform etc. to avoid circular dependencies All the base classes in spack.architecture have been moved to the corresponding specialized subpackages, e.g. Platform is now defined within spack.platforms. This resolves a circular dependency where spack.architecture was both: - Defining the base classes for spack.platforms, etc. - Collecting derived classes from spack.platforms, etc. Now it dopes only the latter. * Move a few platform related functions to "spack.platforms" * Removed spack.architecture.sys_type() * Fixup for docs * Rename Python modules according to review
2021-09-13ci: Add ecp-data-vis-sdk CI pipeline (#22179)Chuck Atkins2-0/+92
* ci: Add a minimal subset of the ECP Data & Vis SDK CI pipeline * ci: Expand the ECP Data & Vis SDK pipeline with more variants
2021-09-13Disable dvsdk variants (#25889)Chuck Atkins1-11/+14
* dvsdk: Turn off variants by default This allows an install to more easily be explicit about which pieces to turn on as more variants are added * dvsdk: effectively disable the broken variants
2021-09-13kokkos: fail gracefully on missing microarch (#25910)Seth R. Johnson2-26/+19
Fall back on known parent microarches (as determined by spack's built-in archspec knowledge). Clsoes spack/spack#25907 .
2021-09-13Switch http to https where latter exists (#25672)Tamara Dahlgren339-537/+537
* Switch http to https where latter exists * Hopefully restore original permissions * Add URL updates after include the -L curl option * Manual corrections to select URL format strings
2021-09-13New Version: mothur@1.46.1 (#25850)Desmond Orton1-0/+1
2021-09-13trilinos: add conflicts for fortran (#25911)Seth R. Johnson1-0/+4
2021-09-13Add a master branch for gnuconfig (#25866)Harmen Stoppels1-0/+2
2021-09-13Log4cxx add v0.12.0, convert to CMakePackage (#25875)Nic McDonald1-13/+10
2021-09-13ravel: fix missing header file (#25906)Tim Gymnich2-1/+12
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-09-13Make sure perl doesn't run into recompile with fPIC linker errors (#25834)Harmen Stoppels1-2/+6
2021-09-13draco: add v7.11.0 (#24631)Kelly (KT) Thompson1-4/+7
2021-09-13py-kornia: add new package (#25844)Adam J. Stewart1-0/+20
2021-09-13Add SYCL build option to ArborX (#25736)Daniel Arndt1-1/+2
2021-09-13py-glmnet: new package (#25711)Harmen Stoppels1-0/+26
2021-09-13hpx, kokkos: add consistent variants for C++ std (#25535)Mikael Simberg2-4/+13
* Add cuda_constexpr variant to Kokkos package * Don't require nvcc_wrapper in Kokkos package when using Cray compiler
2021-09-13HiPACE: Update openPMD dep, add v21.09 (#25698)Axel Huebl2-5/+4
2021-09-13Bugfix: Correct checksum's sha256 when retrieve from remote (#25831)Tamara Dahlgren1-0/+10
2021-09-13Tell gtk-doc where the XML catalog is (#25569)Glenn Johnson1-0/+6
* Tell gtk-doc where the XML catalog is The gtk-doc configure script has an option for specifying the path to the XML catalog. If this is not set the configure script will search a defined set of directories for a catalog file and will set `with_xml_catalog` based on that. Only if no system catalog is found will the XML_CATALOG_FILES be looked at. In order to make sure that the spack provided catalog is used, pass the `--with-xml-catalog` option. * Use the property from docbook-xml
2021-09-13httpie: add v2.5.0 (#25888)Mickaël Schoentgen1-4/+7
2021-09-13Bugfix: spack test debug requires Spack tty (#25897)Tamara Dahlgren1-1/+1
2021-09-13nmap: overhaul of the package recipe (#25656)gpotter21-0/+34
2021-09-13environment-modules: add version 5.0.0 (#25904)Xavier Delaruelle1-12/+22
Adapt configure arguments to only keep useful ones for this new major release version.
2021-09-13py-pandas: add v1.3.3 (#25905)Adam J. Stewart1-0/+1
2021-09-10[docs] document official gfortran macOS precompiled binaries (#25818)Stephen McDowell1-3/+5
* document official gfortran macOS precompiled binaries * compile without -vvv ;) {squash this}
2021-09-10Remove dead code in installer (#24035)Harmen Stoppels3-69/+0
Currently as part of installing a package, we lock a prefix, check if it exists, and create it if not; the logic for creating the prefix included a check for the existence of that prefix (and raised an exception if it did), which was redundant. This also includes removal of tests which were not verifying anything (they pass with or without the modifications in this PR).
2021-09-10Pipelines: build kokkos-kernels on bigger instance (#25845)Scott Wittenburg1-0/+1
2021-09-10openssh: Fix parallel install issue, add test suite (#25790)bernhardkaindl1-3/+42
- Parallel install was failing to generate a config file. - OpenSSH has an extensive test suite, run it if requested. - 'executables' wrongly had 'rsh', replaced the openssh tools.
2021-09-09SQLite: fix rtree, add version, make discoverable (#25554)Christoph Conrads1-2/+16
There are two ways to build SQLite: With the Autotools setup or the so-called "amalgamation" which is a single large C file containing the SQLite implementation. The amalgamation build is controlled by pre-processor flags and the Spack setup was using an amalgamation pre-processor flag for a feature that is controlled by an option of the configure script. As a consequence, until now Spack has always built SQLite with the rtree feature enabled.
2021-09-09Have GROMACS log files indicate spack was used (#25869)Mark Abraham1-0/+6
Knowing that spack has patched the code and organized the build is potentially valuable information for GROMACS users and developers troubleshooting their builds. PLUMED does further patches to GROMACS, so that is expressed directly also.
2021-09-09CUDA official GCC conflicts (#25054)albestro1-6/+21
* update CUDA 11 / GCC compatibility range * additional unofficial conflict * minor changes to comments
2021-09-09Refactor unit-tests in test/architecture.py (#25848)Massimiliano Culpo5-121/+101
Modifications: - Export platforms from spack.platforms directly, so that client modules don't have to import submodules - Use only plain imports in test/architecture.py - Parametrized test in test/architecture.py and put most of the setup/teardown in fixtures
2021-09-09openssl: link system openssl.conf after installation (#25807)acastanedam1-0/+6
Co-authored-by: Arcesio Castaneda Medina <arcesio.castaneda.medina@itwm.fraunhofer.de>
2021-09-09libfabric: Adds v1.13.1 (#25827)Raghu Raja1-11/+15
This commit adds the 1.13.1 release. There was an update to the release tarball on 9/7/21, so using the latest sha256 sum here.
2021-09-09specs: move to new spec.json format with build provenance (#22845)Nathan Hanford37-682/+1271
This is a major rework of Spack's core core `spec.yaml` metadata format. It moves from `spec.yaml` to `spec.json` for speed, and it changes the format in several ways. Specifically: 1. The spec format now has a `_meta` section with a version (now set to version `2`). This will simplify major changes like this one in the future. 2. The node list in spec dictionaries is no longer keyed by name. Instead, it is a list of records with no required key. The name, hash, etc. are fields in the dictionary records like any other. 3. Dependencies can be keyed by any hash (`hash`, `full_hash`, `build_hash`). 4. `build_spec` provenance from #20262 is included in the spec format. This means that, for spliced specs, we preserve the *full* provenance of how to build, and we can reproduce a spliced spec from the original builds that produced it. **NOTE**: Because we have switched the spec format, this PR changes Spack's hashing algorithm. This means that after this commit, Spack will think a lot of things need rebuilds. There are two major benefits this PR provides: * The switch to JSON format speeds up Spack significantly, as Python's builtin JSON implementation is orders of magnitude faster than YAML. * The new Spec format will soon allow us to represent DAGs with potentially multiple versions of the same dependency -- e.g., for build dependencies or for compilers-as-dependencies. This PR lays the necessary groundwork for those features. The old `spec.yaml` format continues to be supported, but is now considered a legacy format, and Spack will opportunistically convert these to the new `spec.json` format.
2021-09-09Add new package gnuconfig (#25849)Harmen Stoppels1-0/+26
2021-09-09Fix python/packages.py's config_vars for python2 packages (#25839)bernhardkaindl1-9/+11
Analysis mostly by me, fix updated after suggestion by Adam J. Steward Co-authored-by: Bernhard Kaindl <bernhard.kaindl@ait.ac.at>
2021-09-09py-torchmetrics: add v0.5.1 (#25855)Adam J. Stewart1-0/+1
2021-09-08sina: new package (#25448)Esteban Pauli1-0/+78
* Added spackage to build Sina (https://github.com/LLNL/Sina). * Improvements to sina/package.py Made numerous simplifications and improvements to sina/package.py based on PR feedback. * Added licence info * Added maintainers * Changed maintainers to be Github IDs.
2021-09-08root: Add Version 6.24.06 (#25822)Dr. Christian Tacke1-0/+1
2021-09-08conduit: changes related to hdf5 builds that use cmake (#25719)Cyrus Harrison1-0/+4
2021-09-08mpip: fix package to depends on libunwind when +libunwind (#24007)lukebroskop1-3/+2
Added a dependency for mpip@3.5: when the libunwind is set to true (which is the default) and '~setjmp' is set to False (which is also the default) to avoid a configure time error from not finding libunwind. Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-09-08Account for bootstrapping from sources niche caseMassimiliano Culpo1-7/+23
This modification accounts for: 1. Bootstrapping from sources using system, non-standard Python 2. Using later an ABI compatible standard Python interpreter
2021-09-08Fix clingo bootstrapping on rhel + ppc64leMassimiliano Culpo1-0/+53
The system Python interpreter on rhel is patched to have slightly different names for some architectures. This makes it incompatible with manylinux generated extensions for ppc64le. To fix this issue when bootstrapping Spack we generate on-the-fly symbolic links to the name expected by the current interpreter if it differs from the default. Links: https://github.com/pypa/manylinux/issues/687 https://src.fedoraproject.org/fork/churchyard/rpms/python3/blame/00274-fix-arch-names.patch?identifier=test_email-mktime
2021-09-08Disable module generation during bootstrappingMassimiliano Culpo5-7/+41
2021-09-08url stats: add `--show-issues` option (#25792)Todd Gamblin70-169/+266
* tests: make `spack url [stats|summary]` work on mock packages Mock packages have historically had mock hashes, but this means they're also invalid as far as Spack's hash detection is concerned. - [x] convert all hashes in mock package to md5 or sha256 - [x] ensure that all mock packages have a URL - [x] ignore some special cases with multiple VCS fetchers * url stats: add `--show-issues` option `spack url stats` tells us how many URLs are using what protocol, type of checksum, etc., but it previously did not tell us which packages and URLs had the issues. This adds a `--show-issues` option to show URLs with insecure (`http`) URLs or `md5` hashes (which are now deprecated by NIST).
2021-09-08trilinos: Gather teko requirements in one place and add conflict for muelu ↵Paul Kuberry1-7/+10
(#25703)