summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-12-30tests: add a test to make sure that patched specs can be round-trippedTodd Gamblin1-30/+101
- previously, if a concrete sub-DAG with patched specs was written out and read back in, its patches would not be found because the dependent that patched it was no longer in the DAG. - Add a test to ensure that the PatchCache handles this case. - Also add tests to ensure that patch objects are properly created from Specs -- previously we only checked that the patches were on the Spec.
2018-12-30patches: add a per-repository patch indexTodd Gamblin8-116/+339
- this fixes a bug where if we save a concretized sug-DAG where a package had been patched by a dependent, and the dependent was not in the DAG, we would not read in all patches correctly. - Rather than looking up patches in the DAG, we look them up globally from an index created from the entire repository. - The patch cache is a bit tricky for several reasons: - we have to cache information from packages, specifically, the patch level and working directory. - FilePatches need to know which package owns them, so that they can figure out where the patch lives. The repo can change locations from run to run, so we have to store relative paths and restore them when the cache is reloaded. - Patch files can change underneath the cache, because repo indexes only update on package changes. We currently punt on this -- there are stub methods for needs_update() that will need to check patch files when packages are loaded. There isn't an easy way to do this at global indexing time without making the FastPackageChecker a lot slower. This is TBD for a future commit. - Currently, the same patch can only be used one way in a package. That is, if it appears twice with different level/working_dir settings, bad things will happen. There's no package that current uses the same patch two different ways, so we've punted on this as well, but we may need to fix this in the future by moving a lot of the metdata (level, working dir) to the spec, and *only* caching sha256sums in the PatchCache. That would require some much more complicated tweaks to the Spec, so we're holding off on that til later. - This required patches to be refactored somewhat -- the difference between a UrlPatch and a FilePatch is still not particularly clean.
2018-12-30ProviderIndex uses json instead of YAMLTodd Gamblin4-21/+18
- indexes should use json, not YAML, to optimize for speed - only use YAML in human-editable files - this makes ProviderIndex consistent with other indexes
2018-12-30repo: refactor indexes to be more extensibleTodd Gamblin1-95/+132
- virtual provider cache and tags were previously generated by nearly identical but separate methods. - factor out an Indexer interface for updating repository caches, and provide implementations for each type of index (TagIndex, ProviderIndex) so that more can be added if needed. - Among other things, this allows all indexes to be updated at once. This is an advantage because loading package files is the real overhead, and building the indexes once the packages are loaded is trivial. We avoid extra bulk read-ins by generating all package indexes at once. - This can be extended for dependents (reverse dependencies) and patches later.
2018-12-30patches: clean up patch.py, directives, and package class propertiesTodd Gamblin7-103/+121
- cleanup patch.py: - make patch.py constructors more understandable - loosen coupling of patch.py with package - in Package: make package_dir, module, and namespace class properties - These were previously instance properties and couldn't be called from directives, e.g. in patch.create() - make them class properties so that they can be used in class definition - also add some instance properties to delegate to class properties so that prior usage on Package objects still works
2018-12-29coverage: use kcov to get coverage for our cc scriptTodd Gamblin5-7/+32
2018-12-29Always build glib with iconv (#10219)George Hartzell1-6/+2
* Always build glib with iconv My early PR, #10165, which added a variant to configure glib to use libiconv and defaulted to false, seems to be causing more trouble than the knob is worth. This changes the glib package to always depend on and use libiconv. * libiconv depends_on is no longer conditional
2018-12-29bugfix: add codecov upload back to travis.yml (#10220)Todd Gamblin1-0/+5
Codecov upload was accidentally removed in #9805
2018-12-29Use homebrew addon instead of manually invoking brew (#10213)Todd Gamblin1-7/+8
2018-12-28Add GDAL 2.4.0 (#10215)Adam J. Stewart1-2/+8
2018-12-28salmon: Add version 0.12.0 (#10211)Eric1-0/+1
2018-12-28velvet: Add missing zlib dependency to fix installation errors (#10212)Eric1-0/+2
2018-12-28py-testinfra: Add version 1.18.0 (#10210)Eric1-0/+1
2018-12-27Add new versions of optional-lite and string-view-lite (#10179)Andrew Gaspar2-0/+3
2018-12-27xgboost: new package at 0.81 (#9854)Justin Stanley1-0/+22
2018-12-26fix moab installation for version 5.0.2 removed from ftp (#10201)Lukasz1-1/+11
* moab install from git repository, fix version 5.0.2 removed from ftp server * add moab dependencies above verson 5.0.1
2018-12-26Add Stata package (#10189)StackKorora1-0/+104
* First draft for installing Stata 15 I've tested this works on my systems and gives a successful install of STATA 15. * Flake8 cleanup * Another Flake8 * Update license header * Various improvements A lot of improvements as suggested by @adamjstewart * flake8 check
2018-12-26pgmath: depend on awk (#10200)Christoph Junghans1-0/+1
2018-12-26Fix pkgconf downloads (#10202)Adam J. Stewart1-1/+1
2018-12-26Fix libxml2+python and libxslt+python import tests (#10196)Adam J. Stewart2-2/+4
* Fix libxml2+python import tests * Same for libxslt package
2018-12-26mawk: added 1.3.4_p20171017 (#10197)Christoph Junghans1-0/+1
2018-12-26slepc: fix homepage URL (#10199)Satish Balay1-1/+1
2018-12-25tests: run 'test_compiler_add' serially in Python 2 (#10127)Massimiliano Culpo1-1/+9
* Don't spawn processes during python 2.6/2.7 'test_compiler_add' unit tests * Travis seems to choke on the excessive parallelism in `compiler find`
2018-12-25environment: ignore invalid files names in var/spack/environments (#10198)Denis Davydov3-5/+20
2018-12-24dealii: fix build with some Intel compilers (#10188)Denis Davydov1-0/+6
2018-12-24Add latest version of NCCL (#10194)Adam J. Stewart1-3/+3
2018-12-24Add PyTorch 1.0 (#10193)Adam J. Stewart1-2/+4
2018-12-24manta: Add version 1.5.0 and add missing zlib dependency (#10178)Eric1-4/+6
2018-12-23bugfix: handle unicode properly in spack.util.executable (#10186)Todd Gamblin2-18/+37
- When returning string output, use text_type and decode utf-8 in Python 2 instead of using `str` - This properly handles unicode, whereas before we would pass bad strings to colify in `spack blame` when reading git output - add a test that round-trips some unicode through an Executable object
2018-12-23travis: fix pip install for docker stage (#10177)Omar Padron1-2/+3
2018-12-23xsdk-0.4.0: add/update package versions: (#10038)Satish Balay4-15/+57
* xsdk-0.4.0: add/update package versions: hypre@2.15.1 mfem@3.4.0 superlu-dist@6.1.0 trilinos@12.14.0-rc1 petsc@3.10.3 dealii@9.0.1 pflotran@xsdk-0.4.0 alquimia@xsdk-0.4.0 sundials@3.2.1 plasma@18.11.1 magma@2.4.0 amrex@18.10.1 slepc@3.10.1 omega-h@9.19.1 strumpack@3.1.1 pumi@2.2.0 tasmanian@6.0 phist@1.7.5 dtk-3.0 [via trilinos features '+dtk+intrepid2+shards'] add option to disable omega-h build [wrt gcc-8 conflict] spack install xsdk~omega-h add option to disable dealii build [wrt cori build error] spack install xsdk~dealii * trilinos: default version should be the prior release
2018-12-23py-cftime: new package (#10066)Neil Flood1-0/+21
* py-cftime: new package * Added dependency on py-setuptools, and version range for py-cython, thanks to the ever-vigilant @adamjstewart
2018-12-23openFOAM-paraview-catalyst (#10129)Simone Bnà6-60/+1176
* paraview: adding variants to use external packages as internal do not compile * paraview: add latest paraview version * catalyst: fixed libvtkexpat undefined reference linking error in Catalyst 5.5 * catalyst: add latest catalyst version * catalyst: added ParaView_DIR env variable to catalyst module * add paraview, catalyst patches - https://gitlab.kitware.com/vtk/vtk-m/merge_requests/1166 - https://gitlab.kitware.com/paraview/paraview/merge_requests/2433 - https://gitlab.kitware.com/paraview/paraview/merge_requests/2436 * - Handle updated library paths for catalyst. Versions 5.4 and old places libraries under a paraview subdirectory. Eg, "lib/paraview-5.4", they are now placed directly under "lib" - Minor code style cleanup * Handle update library and python paths for ParaView-5.5 * catalyst: added ParaView_DIR path to spack_env * BUG: applied the patch to the extracted catalyst source files * paraview: added missing self to a member variable * paraview: added Paraview_DIR to env * catalyst: added osmesa variant * of-catalyst: added new package * add (FOAM,WM)_PROJECT_DIR also to spack_env environment * depends on first openfoam release supporting catalyst * openfoam-com: added missing env variables to module generation * openfoam: fixed flake8 errors * of-catalyst: added full variant and openfoam version dependency * paraview: adding variants to use external packages as internal do not compile * catalyst: fixed libvtkexpat undefined reference linking error in Catalyst 5.5 * catalyst: added ParaView_DIR env variable to catalyst module * add paraview, catalyst patches - https://gitlab.kitware.com/vtk/vtk-m/merge_requests/1166 - https://gitlab.kitware.com/paraview/paraview/merge_requests/2433 - https://gitlab.kitware.com/paraview/paraview/merge_requests/2436 * - Handle updated library paths for catalyst. Versions 5.4 and old places libraries under a paraview subdirectory. Eg, "lib/paraview-5.4", they are now placed directly under "lib" - Minor code style cleanup * Handle update library and python paths for ParaView-5.5 * catalyst: added ParaView_DIR path to spack_env * BUG: applied the patch to the extracted catalyst source files * of-catalyst: added new package * add (FOAM,WM)_PROJECT_DIR also to spack_env environment * depends on first openfoam release supporting catalyst * paraview: added missing self to a member variable * openfoam-com: added missing env variables to module generation * openfoam: fixed flake8 errors * paraview: added Paraview_DIR to env * catalyst: added osmesa variant * of-catalyst: added full variant and openfoam version dependency * paraview-catalyst: use always external expat and netcdf * of-catalyst: reformatted package description * paraview-catalyst: removed duplicated function * catalyst: fixed flake8 error * of-catalyst: fixed license header * of-catalyst: minor changes * of-catalyst: renamed gitrepo with git * of-catalyst: removed useless gitrepo parameter
2018-12-23Feature add breathe and m2r (#10180)Brian Van Essen3-0/+61
* Added a package for the MDAnalysis toolkit. * Added python packages for breathe and m2r. Updated versions and URL for the sphinx package. * Fixed flake8 error * Updated package requirements based on feedback. * Updated with requirements from the setup.py * Switched it back to pypi.
2018-12-23py-pynio: new package (#10074)Neil Flood1-0/+71
* py-pynio: new package * Major re-working to add some of the optional dependencies, and make it conform to the approach described in the pynio setup.py comments. Much of it turned out to be too complicated, and I have added some notes in comments to explain this to future adventurers. * Added variants for the hdf5 and gdal dependencies, which do seem to be genuinely optional. Also added absolute dependencies for jpeg and zlib, which setup.py says it wants, but were being found as the os-installed versions. * Added descriptions for the new variants, and moved them to above the dependencies
2018-12-22Add missing module env variable setting causing OSS to fail. (#10182)Jim Galarowicz1-0/+11
2018-12-22r-corhmm: new package at 1.22 (#9859)Justin Stanley1-0/+31
2018-12-22petsc-3.10.3: syncs with superlu-dist-6.1. (#10166)Satish Balay1-2/+6
2018-12-21gpgme: new package (#10174)Levi Baber1-0/+19
2018-12-21add charliecloud 0.9.6 (#10176)Jordan Ogas1-0/+1
2018-12-21py-numba: fix py-llvmlite version (#10175)Matthias Wolf1-1/+1
2018-12-21Add libiconv variant to glib (#10165)George Hartzell1-0/+6
Enable explicitly building glib with or without libiconv. Heads up: if you build with ~iconv but there is something else in the spec that includes libiconv then glib will *still* automagically discover it and the build will fail.
2018-12-21Remove /nfs/tmp2 from default build_stage locations (#10170)Elsa Gonsiorowski, PhD2-7/+4
* Remove /nfs/tmp2 from default configuration * /nfs/tmp2 is going away from LC... and doesn’t exist for the rest of the world. * update documentation to remove /nfs/tmp2 as well
2018-12-20R3D spackage (#10164)Daryl W. Grunau1-0/+49
* r3d spackage * address Adam's review comments * fix flake8: too many blank lines
2018-12-20update h5py to 2.9.0 (#10169)Sajid Ali1-1/+2
* modified: var/spack/repos/builtin/packages/py-h5py/package.py * Update package.py * Update package.py
2018-12-20Update TFEL package (#9995)thelfer1-6/+39
* add the tfel package * fix the tfel package * fix the tfel package * fix the tfel package * Taking Adam J. Steward' remarks into account * fixes trailing white spaces * Update description * Update dependencies following @adamjstewart adices * Style fixes * Style fixes * Add java optional support * add the maintainers attribute (following @alalazo advice), disable interface not selected (following @adamjstewart advice) * flake8 fixes * Fix Cast3M and python-bindings support. Python detection is made compatible with cmake'FindPythonLibs module (at least how it is used in TFEL) * Style fixes * Style fixes * Fix test on python version * Follow @adamjstewart advices: code is much cleaner and readable * Small fix * Small fix * Add comment * Small fix in cmake option * try again (trying to overcome Travis CI unstable build process)
2018-12-20OpenFOAM-v1812 - new version (#10167)Mark Olesen1-0/+2
2018-12-20Fix docker builds (#9805)Omar Padron3-29/+67
* move docker test logic to share/spack/qa * update Dockerfile for archlinux
2018-12-20fix multiple issues with the docker images (#9718)Omar Padron5-8/+35
- fixed an issue where some undesirable parts of the spack source tree were being copied into the image context. - added a workaround for a tty ioctl warning on ubuntu - adjusted how the main images are built so that `RUN spack ...` works automatically for child images that base themselves on them.
2018-12-20Performance improvements for CDash reporterZack Galbreath1-9/+12
* Record build output as an array of lines rather than concatenating to a single large string. * Use string.find to avoid running re.search on every line of output.