summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-08-25installation: filter padding from binary installs, too (#25600)Todd Gamblin1-2/+7
#25303 filtered padding from build output, but it's still there in binary install/relocate output, so our CI logs are still quite long and frequently hit the limit. - [x] add context handler from #25303 to buildcache installation as well
2021-08-25Make `spack graph -i` environment-aware (#25599)Todd Gamblin2-2/+18
This allows you to run `spack graph --installed` from within an environment and get a dot graph of its concrete specs. - [x] make `spack graph -i` environment-aware - [x] add code to the generated dot graph to ensure roots have min rank (i.e., they're all at the top or left of the DAG)
2021-08-25Bump up version for rocm-debug-agent - ROCm 4.3.0 (#25588)arjun-raj-kuppala2-3/+18
2021-08-25libarchive: add v3.5.2, add maintainer, reworked recipe (#25604)Harmen Stoppels1-9/+40
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-08-25ca-certificates-mozilla: add v2021-07-05 (#25565)Harmen Stoppels1-0/+2
2021-08-25libuv: add v1.42.0, v1.41.1 (#25560)Harmen Stoppels1-0/+2
2021-08-24Update the cray-mpich package to use the new cray-mpich MPI wrappers (#25597)lukebroskop1-9/+23
As of cray-mpich version 8.1.7, conventional MPI compiler wrappers are included in cray-mpich. Co-authored-by: Luke Roskop <lroskop@cedar.head.cm.us.cray.com>
2021-08-24bootstrap: use `sys.exec_prefix` to set up external python correctly (#25593)Todd Gamblin1-1/+1
Bootstrapping clingo on macOS on `develop` gives errors like this: ``` ==> Error: RuntimeError: Unable to locate python command in /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/bin /Users/gamblin2/Workspace/spack/var/spack/repos/builtin/packages/python/package.py:662, in command: 659 return Executable(path) 660 else: 661 msg = 'Unable to locate {0} command in {1}' >> 662 raise RuntimeError(msg.format(self.name, self.prefix.bin)) ``` On macOS, `python` is laid out differently. In particular, `sys.executable` is here: ```console Python 2.7.16 (default, May 8 2021, 11:48:02) [GCC Apple LLVM 12.0.5 (clang-1205.0.19.59.6) [+internal-os, ptrauth-isa=deploy on darwin Type "help", "copyright", "credits" or "license" for more information. >>> import sys >>> sys.executable '/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python' ``` Based on that, you'd think that `/System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents` would be where you'd look for a `bin` directory, but you (and Spack) would be wrong: ```console $ ls /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/ Info.plist MacOS/ PkgInfo Resources/ _CodeSignature/ version.plist ``` You need to look in `sys.exec_prefix` ``` >>> sys.exec_prefix '/System/Library/Frameworks/Python.framework/Versions/2.7' ``` Which looks much more like a standard prefix, with understandable `bin`, `lib`, and `include` directories: ```console $ ls /System/Library/Frameworks/Python.framework/Versions/2.7 Extras/ Mac/ Resources/ bin/ lib/ Headers@ Python* _CodeSignature/ include/ $ ls -l /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python lrwxr-xr-x 1 root wheel 7B Jan 1 2020 /System/Library/Frameworks/Python.framework/Versions/2.7/bin/python@ -> python2 ``` - [x] change `bootstrap.py` to use the `sys.exec_prefix` as the external prefix, instead of just getting the parent directory of the executable.
2021-08-25bugfix: Correct source of PID for -ddd installation outputs (#25596)Tamara Dahlgren1-2/+2
2021-08-24bootstrap: fix printing for python 2 (#25592)Todd Gamblin2-0/+4
2021-08-24locks: only open lockfiles once instead of for every lock held (#24794)Todd Gamblin1-20/+128
This adds lockfile tracking to Spack's lock mechanism, so that we ensure that there is only one open file descriptor per inode. The `fcntl` locks that Spack uses are associated with an inode and a process. This is convenient, because if a process exits, it releases its locks. Unfortunately, this also means that if you close a file, *all* locks associated with that file's inode are released, regardless of whether the process has any other open file descriptors on it. Because of this, we need to track open lock files so that we only close them when a process no longer needs them. We do this by tracking each lockfile by its inode and process id. This has several nice properties: 1. Tracking by pid ensures that, if we fork, we don't inadvertently track the parent process's lockfiles. `fcntl` locks are not inherited across forks, so we'll just track new lockfiles in the child. 2. Tracking by inode ensures that referencs are counted per inode, and that we don't inadvertently close a file whose inode still has open locks. 3. Tracking by both pid and inode ensures that we only open lockfiles the minimum number of times necessary for the locks we have. Note: as mentioned elsewhere, these locks aren't thread safe -- they're designed to work in Python and assume the GIL. Tasks: - [x] Introduce an `OpenFileTracker` class to track open file descriptors by inode. - [x] Reference-count open file descriptors and only close them if they're no longer needed (this avoids inadvertently releasing locks that should not be released).
2021-08-24openssl: new version 1.1.1l (#25586)Andrew W Elble1-1/+2
security update
2021-08-24Fix bindist network issues (#25587)Harmen Stoppels4-13/+10
* Fix bindist network issues * Another one using the network
2021-08-24m4: fixes for the NVIDIA HPC SDK (#25546)Scott McMillan3-0/+36
Co-authored-by: Scott McMillan <smcmillan@nvidia.com>
2021-08-24ASP-based solver: rework version facts (#25585)Massimiliano Culpo2-87/+105
This commit rework version facts so that: 1. All the information on versions is collected before emitting the facts 2. The same kind of atom is emitted for versions stemming from different origins (package.py vs. packages.yaml) In the end all the possible versions for a given package are totally ordered and they are given different and increasing weights staring from zero. This refactor allow us to avoid using negative weights, which in some configurations may make parent node score "better" and lead to unexpected "optimal" results.
2021-08-24Melissa: add v0.7.1, deprecate v0.7.0 (#25584)Christoph Conrads1-1/+2
2021-08-24petsc: added variants and dips (#24725)corentin-dev9-0/+225
Add HPDDM, MMG, ParMMG and Tetgen to PETSc. Add mmg version 5.5.2 (compatible with PETSc). Add parmmg, depending on mmg. Add pic variant to tetgen for PETSc.
2021-08-24fixing small bug that a line of spack monitor commands are still produced ↵Vanessasaurus1-1/+4
(#25366) Signed-off-by: vsoch <vsoch@users.noreply.github.com> Co-authored-by: vsoch <vsoch@users.noreply.github.com>
2021-08-23Spelling fixes (#25570)Paul Spencer1-2/+2
2021-08-23Adding a heap of NOAA packages for UFS. (#25542)Timothy Brown20-0/+853
* Adding a heap of NOAA packages for UFS. Adding the Unified Forecast System (UFS) and all of the packages it depends on. * Fixing style tests. * Removing the package CMAKE_BUILD_TYPE override. * Removing compiler specs from `cmake_args()`.
2021-08-23re2c: add versions up to v2.2 (#25500)Harmen Stoppels2-2/+18
2021-08-23curl: add tls multi-valued variant, fix macOS build (#25553)Adam J. Stewart1-8/+71
2021-08-23py-numpy: add v1.21.2 (#25436)Adam J. Stewart1-5/+8
2021-08-23py-ipykernel: add v6.2.0 and v5.5.5 (#25520)Adam J. Stewart1-4/+14
2021-08-22py-pythran: add OpenMP dependency (#25137)Adam J. Stewart1-0/+32
2021-08-21Document how to handle changing build systems (#25174)Adam J. Stewart3-0/+352
2021-08-21ascent: a few small changes to the package (#25551)Cyrus Harrison1-11/+13
- provides the site packages fix - excludes the hdf5 linking changes (which are fixed in conduit@develop's build system) - relaxes constraints to allows building static ascent against shared python
2021-08-21py-ipython: add v7.26.0 (#25521)Adam J. Stewart1-4/+7
2021-08-21claw: add v2.0.3 (#25459)Sergey Kosukhin1-12/+12
2021-08-21ccache: add v4.4. (#25540)Olli Lupton1-0/+2
2021-08-21hiop: add v0.4.6, v0.4.5, added maintainers (#25548)Asher Mancinelli1-0/+3
2021-08-20py-libensemble: add maintainer (#25543)Satish Balay1-1/+2
2021-08-20mono: add v6.12.0.122, add maintainer (#25538)Gilles Grospellier1-0/+3
2021-08-20rsbench: Version bump and added compiler support (#25464)Oliver Perks1-4/+14
Co-authored-by: Massimiliano Culpo <massimiliano.culpo@gmail.com>
2021-08-20pkgconf: add v1.8.0 (#25480)Harmen Stoppels1-0/+1
2021-08-20Fix spelling mistake in the word "monitor" (#25486)Paul Spencer1-1/+1
2021-08-20Pipelines: use shared pr mirror for pipeline generation and builds (#25529)Scott Wittenburg2-2/+19
Once PR binary graduation is deployed, the shared PR mirror will contain binaries just built by a merged PR, before the subsequent develop pipeline has had time to finish. Using the shared PR mirror as a source of binaries will reduce the number of times we have to rebuild the same full hash.
2021-08-20py-protobuf: fix checksums (#25469)Adam J. Stewart1-7/+8
2021-08-20hdf5: support for Cray Fortran Compiler (#25466)Sergey Kosukhin1-0/+6
2021-08-20py-torch: add v1.8.2 (#25471)Adam J. Stewart1-0/+1
2021-08-20file: make package discoverable (#25479)Christoph Conrads1-0/+11
2021-08-20cupla: add new package (#25505)Valentin Volkl1-0/+42
2021-08-20sed: make package discoverable (#25481)Christoph Conrads1-0/+11
2021-08-20WarpX: Actually skip tests when cannot be run (#25494)Tamara Dahlgren1-2/+2
2021-08-20metall: add v0.16 and v0.14 (#25493)Keita Iwabuchi1-1/+3
2021-08-20podio:add v0.13.1 (#25492)Wouter Deconinck1-0/+1
This allows for fixed width integers in the fields, and other changes as in changelog https://github.com/AIDASoft/podio/releases/tag/v00-13-01.
2021-08-20gtkplus: needs libepoxy+glx (#25488)Dylan Simon1-1/+1
build fails with ~glx
2021-08-20curl: add v7.78 (#25496)Harmen Stoppels1-2/+9
2021-08-20libxml2: add v2.9.12 (#25497)Harmen Stoppels1-0/+2
2021-08-20mbedtls: add v3.0.0 (#25498)Harmen Stoppels1-1/+3