summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-02-20adding package igv (#15096)snehring1-0/+36
* igv: adding package igv * removing some remaining initial boilerplate * changing path construction to be more correct * adding in type for java dep, also forgot about prefix.bin etc
2020-02-20Add extra version of py-werkzeug (#15115)iarspider1-0/+1
2020-02-20Add extra version of py-wrapt (#15117)iarspider1-0/+1
2020-02-20Add extra version of py-zipp (#15118)iarspider1-1/+2
* Add extra version of py-zipp * Update package.py
2020-02-20Add extra version of xrootd (#15124)iarspider1-14/+15
2020-02-20Add extra version of py-setuptools (#15106)iarspider1-0/+1
2020-02-20Add extra version of vecgeom (#15121)iarspider1-1/+2
2020-02-20Add extra version of xapian-core (#15122)iarspider1-1/+2
2020-02-20Add extra version of xerces-c (#15123)iarspider1-0/+1
2020-02-20Add extra version of prometheus-client (#15067)iarspider1-0/+4
* Add extra version of py-prometheus-client * Update package.py * Update package.py
2020-02-20Add extra version of py-py4j (#15065)iarspider1-0/+2
* Add extra version of py-py4j * Add test dependencies * Update package.py
2020-02-20Add extra version of py-sip (#15108)iarspider1-0/+1
2020-02-20Add extra version of py-qtconsole (#15083)iarspider1-0/+3
* Add extra version of py-qtconsole * Update package.py * Update package.py
2020-02-20Add extra version of py-pyshp (#15072)iarspider1-0/+2
* Add extra version of py-pyshp * Update package.py
2020-02-20Package for IRPF90 (#15076)Anthony Scemama1-0/+23
* Added IRPF90 package * PEP8 * SHA256 * Update var/spack/repos/builtin/packages/py-irpf90/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-19Add extra version of py-multiprocess (#15043)iarspider1-0/+12
* Add extra version of py-multiprocess * Update dependency version * Add url_for_version * Flake-8 * Update package.py
2020-02-19Add extra version of py-packaging (#15047)iarspider1-1/+2
* Add extra version of py-packaging * Update py-packaging `attrs` dependency was only in 19.1
2020-02-19Use shutil.copy2 in install_tree (#15058)Dr. Christian Tacke1-1/+1
Sometimes one needs to preserve the (relative order) of mtimes on installed files. So it's better to just copy over all the metadata from the source tree to the install tree. If permissions need fixing, that will be done anyway afterwards. One major use case are resource()s: They're unpacked in one place and then copied to their final place using install_tree(). If the resource is a source tree using autoconf/automake, resetting mtimes uncorrectly might force unwanted autoconf/etc calls.
2020-02-19Add extra version of py-psutil (#15063)iarspider1-0/+1
* Add extra version of py-psutil * Add optional dependency on enum34 * Update package.py * Remove unused enum variant
2020-02-19Add extra version of py-ptyprocess (#15064)iarspider1-0/+1
2020-02-19Add extra version of py-pylint (#15068)iarspider1-6/+8
* Add extra version of py-pylint * Update dependencies
2020-02-19libfabric: Always install fabtests (#15081)Dr. Christian Tacke1-6/+25
libfabric used to install fabtests only when installed using --test. fabtests has tools that are useful on a running system, so they should be installed always. * Rewrote the build/install part to always install fabtests alongside libfabric. * Updated a few fabtests resources. * Updated the test related stuff. Works for most versions now. * Include tcp and udp fabrics so that the test suite works.
2020-02-19Add extra version of py-python-gitlab (#15074)iarspider1-4/+6
* Add extra version of py-python-gitlab * Update dependency version
2020-02-19Add extra version of py-rsa (#15084)iarspider1-0/+1
2020-02-19Add extra version of py-scandir (#15085)iarspider1-2/+3
2020-02-19Docs: configure_args -> cmake_args (#15102)Adam J. Stewart1-1/+1
2020-02-19hpctoolkit: adjust libunwind dependency (#15099)Mark W. Krentel1-7/+3
Change hpctoolkit's dependency on libunwind from 2018.10.12 to 1.4:. In libunwind, 2018.10.12 is going away in favor of 1.4-rc1 (they're nearly identical commits). Remove the 'gpu' version. This was a temporary branch that is now folded into master.
2020-02-19py-notebook: make py-setuptools a run dependency (#15095)Glenn Johnson1-1/+1
* py-notebook: make py-setuptools a run dependency The py-setuptools dependency in py-notebook needs to be a run dependency. The following message is received if it is not in the run environment. Traceback (most recent call last): File "/opt/ssoft/apps/2020.1/linu x-centos7-sandybridge/gcc-9.2.0/py-notebook-6.0.1-6usbn4c/bin/jupyter-notebook", line 6, in <module> from pkg_resources import load_entry_point Module NotFoundError: No module named 'pkg_resources' * Remove extraneous whitespace
2020-02-19Fix relocate.mime_type if slashes in subtype (#11788)Oliver Breitwieser1-1/+2
If the mimetype returned from `file -h -b --mime-type` contains slashes in its subtype, the tuple returned from `spack.relocate.mime_type` will have a size larger than two, which leads to errors. Change-Id: I31de477e69f114ffdc9ae122d00c573f5f749dbb
2020-02-19Add extra version of py-scikit-learn (#15087)iarspider1-0/+1
2020-02-19Add extra version of py-prompt-toolkit (#15062)iarspider1-2/+3
2020-02-19Add extra version of py-pickleshare (#15059)iarspider1-1/+4
* Add extra version of py-pickleshare * Fix dependencies * Flake-8
2020-02-19Add extra version of py-pillow (#15060)iarspider1-0/+1
2020-02-19Add extra version of py-pip (#15061)iarspider1-0/+1
2020-02-19Add extra version of py-pyasn1 (#15066)iarspider1-0/+1
2020-02-19Add extra version of py-pyparsing (#15069)iarspider1-0/+1
2020-02-19Add extra version of py-pyproj (#15070)iarspider1-0/+1
2020-02-19Add extra version of py-pyqt5 (#15071)iarspider1-0/+1
2020-02-19Add extra version of py-pytest (#15073)iarspider1-0/+1
2020-02-19Add extra version of py-pytz (#15077)iarspider1-0/+1
2020-02-19Add extra version of py-pyyaml (#15078)iarspider1-0/+1
2020-02-19Add extra version of py-jedi (#14990)iarspider2-2/+33
* Add extra version of py-jedi * Update package.py * Update package.py Correct dependency types * Update var/spack/repos/builtin/packages/py-jedi/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/py-jedi/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/py-jedi/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Add py-parso package * Remove boilerplate from py-parso * Flake-8 Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-19Add extra version of py-isort (#14988)iarspider1-1/+8
* Add extra version of py-isort * Update package.py * Update package.py * Update var/spack/repos/builtin/packages/py-isort/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/py-isort/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/py-isort/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/py-isort/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-19Add extra version of py-dask; add new variant and dependencies (#14973)iarspider4-0/+84
* Add extra version of py-dask * Update package.py * Add extra dependencies for py-dask+distributed * Update package.py * Update var/spack/repos/builtin/packages/py-heapdict/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/py-heapdict/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/py-distributed/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/py-distributed/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update package.py * Update package.py * Update package.py * Update package.py * Update var/spack/repos/builtin/packages/py-distributed/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update var/spack/repos/builtin/packages/py-distributed/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update package.py * Update var/spack/repos/builtin/packages/py-distributed/package.py Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com> * Update package.py * Flake-8 * Add patch step for py-distributed Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
2020-02-19Add extra version of py-pyzmq (#15080)iarspider1-0/+1
2020-02-19Fix gcc 8.3 build on macOS 10.14 (#15089)Seth R. Johnson1-0/+6
2020-02-19Buildcache: join rpaths returned by get_existing_elf_rpaths with ':'. (#15086)Patrick Gartung1-1/+1
This reproduces the behavior expected by patchelf_is_relocatable test.
2020-02-19Distributed builds (#13100)Tamara Dahlgren100-963/+2954
Fixes #9394 Closes #13217. ## Background Spack provides the ability to enable/disable parallel builds through two options: package `parallel` and configuration `build_jobs`. This PR changes the algorithm to allow multiple, simultaneous processes to coordinate the installation of the same spec (and specs with overlapping dependencies.). The `parallel` (boolean) property sets the default for its package though the value can be overridden in the `install` method. Spack's current parallel builds are limited to build tools supporting `jobs` arguments (e.g., `Makefiles`). The number of jobs actually used is calculated as`min(config:build_jobs, # cores, 16)`, which can be overridden in the package or on the command line (i.e., `spack install -j <# jobs>`). This PR adds support for distributed (single- and multi-node) parallel builds. The goals of this work include improving the efficiency of installing packages with many dependencies and reducing the repetition associated with concurrent installations of (dependency) packages. ## Approach ### File System Locks Coordination between concurrent installs of overlapping packages to a Spack instance is accomplished through bottom-up dependency DAG processing and file system locks. The runs can be a combination of interactive and batch processes affecting the same file system. Exclusive prefix locks are required to install a package while shared prefix locks are required to check if the package is installed. Failures are communicated through a separate exclusive prefix failure lock, for concurrent processes, combined with a persistent store, for separate, related build processes. The resulting file contains the failing spec to facilitate manual debugging. ### Priority Queue Management of dependency builds changed from reliance on recursion to use of a priority queue where the priority of a spec is based on the number of its remaining uninstalled dependencies. Using a queue required a change to dependency build exception handling with the most visible issue being that the `install` method *must* install something in the prefix. Consequently, packages can no longer get away with an install method consisting of `pass`, for example. ## Caveats - This still only parallelizes a single-rooted build. Multi-rooted installs (e.g., for environments) are TBD in a future PR. Tasks: - [x] Adjust package lock timeout to correspond to value used in the demo - [x] Adjust database lock timeout to reduce contention on startup of concurrent `spack install <spec>` calls - [x] Replace (test) package's `install: pass` methods with file creation since post-install `sanity_check_prefix` will otherwise error out with `Install failed .. Nothing was installed!` - [x] Resolve remaining existing test failures - [x] Respond to alalazo's initial feedback - [x] Remove `bin/demo-locks.py` - [x] Add new tests to address new coverage issues - [x] Replace built-in package's `def install(..): pass` to "install" something (i.e., only `apple-libunwind`) - [x] Increase code coverage
2020-02-18Add latest 3.9.x releases QMCPACK (#15056)Nichols A. Romero1-0/+3
2020-02-18octave: enable 64-bit BLAS builds. (#15035)Kai Torben Ohlhus1-0/+6
* octave: enable 64-bit BLAS builds. Perform necessary actions [as described in the manual](https://octave.org/doc/v5.2.0/Compiling-Octave-with-64_002dbit-Indexing.html). * Update package.py