summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-10-23bugfix: web.push_to_url should not format the local path that is passed to ↵Peter Scheibel1-6/+1
it (#13408) fd58c98 formats the `Stage`'s `archive_path` in `Stage.archive` (as part of `web.push_to_url`). This is not needed and if the formatted differs from the original path (for example if the archive file name contains a URL query suffix), then the copy fails. This removes the formatting that occurs in `web.push_to_url`. We should figure out a way to handle bad cases like this *and* to have nicer filenames for downloaded files. One option that would work in this particular case would be to also pass `-J` / `--remote-header-name` to `curl`. We'll need to do follow-up work to determine if we can use `-J` everywhere. See also: https://github.com/spack/spack/pull/11117#discussion_r338301058
2019-10-23bison: Fix parallel build (#13402)Michael Kuhn2-4/+88
2019-10-23syaml.dump now allows representing all syaml_ objects (originally this was ↵Peter Scheibel1-10/+5
only available for syaml.dump_config) (#13403)
2019-10-23Users can configure use of RPATH or RUNPATH (#9168)Massimiliano Culpo9-2/+172
Add a new entry in `config.yaml`: config: shared_linking: 'rpath' If this variable is set to `rpath` (the default) Spack will set RPATH in ELF binaries. If set to `runpath` it will set RUNPATH. Details: * Spack cc wrapper explicitly adds `--disable-new-dtags` when linking * cc wrapper also strips `--enable-new-dtags` from the compile line when disabling (and vice versa) * We specifically do *not* add any dtags flags on macOS, which uses Mach-O binaries, not ELF, so there's no RUNPATH)
2019-10-23commands: add `spack deprecate` command (#12933)Greg Becker13-63/+789
`spack deprecate` allows for the removal of insecure packages with minimal impact to their dependents. It allows one package to be symlinked into the prefix of another to provide seamless transition for rpath'd and hard-coded applications using the old version. Example usage: spack deprecate /hash-of-old-openssl /hash-of-new-openssl The spack deprecate command is designed for use only in extroardinary circumstances. The spack deprecate command makes no promises about binary compatibility. It is up to the user to ensure the replacement is suitable for the deprecated package.
2019-10-23mysql: Use correct python command (#13393)Michael Kuhn1-9/+10
* mysql: Use correct python command python~pythoncmd does not provide a python symlink for python3, so make sure we pick the right command. * mysql: Adapt to build env changes
2019-10-23hypre: Add new variants to expose existing features. (#13373)Sarah Osborn1-5/+36
* hypre: Add new variants to expost existing features. * hypre: Add new variants to expose existing features. * hypre: Shorten description line. * hypre: Add an explicit else clause to disable some features.
2019-10-23url summary: show right and wrong parse counts for each regexTodd Gamblin1-13/+30
Previously this command only showed total counts for each regular expression. This doesn't give you a sense of which regexes are working well and which ones are not. We now display the number of right, wrong, and total URL parses per regex. It's easier to see where we might improve the URL parsing with this change.
2019-10-23Add latest version of py-pbr (#13380)Adam J. Stewart1-7/+23
2019-10-23py-argparse: remove Python dependency version (#13378)Adam J. Stewart1-2/+0
2019-10-23py-traceback2: fix dependencies (#13381)Adam J. Stewart1-2/+7
2019-10-23bison: Fix build (#13231)Michael Kuhn1-0/+4
It seems that 3.4.2 includes a change that is supposed to fix parallel builds (https://lists.gnu.org/archive/html/bug-bison/2019-08/msg00000.html). Instead, it actually breaks it for me (with -j48) with errors such as: ``` mv: cannot stat 'examples/c/reccalc/scan.stamp.tmp': No such file or directory Makefile:9323: recipe for target 'examples/c/reccalc/scan.stamp' failed ```
2019-10-23py-linecache2: pbr is only a build dependency (#13379)Adam J. Stewart1-1/+3
2019-10-23py-unittest2: fix dependencies (#13382)Adam J. Stewart1-2/+1
2019-10-23Add py-codecov package (#13383)Adam J. Stewart1-0/+24
2019-10-23bpp-phyl: Clarify namespace of 'isnan' function. (#13386)t-karatsu2-0/+79
2019-10-23magics: Use correct python path (#13394)Michael Kuhn1-1/+6
python~pythoncmd does not provide a python symlink for python3, so make sure we pick the right command.
2019-10-23bracken: Use correct python command (#13395)Michael Kuhn1-4/+7
python~pythoncmd does not provide a python symlink for python3, so make sure we pick the right command.
2019-10-23Ace package. Initial commit (#13211)carlabguillen1-0/+44
* Ace package. Initial commit * Correcting header now with licence. * Using sha256 * Making requested changes:removing import line, urls and checksums in one line, and making it an MakefilePackage. * Removing extra line
2019-10-23glib: Use correct python command (#13392)Michael Kuhn1-3/+6
python~pythoncmd does not provide a python symlink for python3, so make sure we pick the right command.
2019-10-23petsc: add version 3.12.1 [and variant: batch] (#13390)Satish Balay1-8/+14
* petsc: add version 3.12.1 [and variant: batch] * fix test_prs_update_old_api errors
2019-10-23Preserve comments for Spack YAML objects (#11602)Todd Gamblin13-178/+171
This updates the configuration loading/dumping logic (now called load_config/dump_config) in spack_yaml to preserve comments (by using ruamel.yaml's RoundTripLoader). This has two effects: * environment spack.yaml files expect to retain comments, which load_config now supports. By using load_config, users can now use the ':' override syntax that was previously unavailable for environment configs (but was available for other config files). * config files now retain user comments by default (although in cases where Spack updates/overwrites config, the comments can still be removed). Details: * Subclasses `RoundTripLoader`/`RoundTripDumper` to parse yaml into ruamel's `CommentedMap` and analogous data structures * Applies filename info directly to ruamel objects in cases where the updated loader returns those * Copies management of sections in `SingleFileScope` from #10651 to allow overrides to occur * Updates the loader/dumper to handle the processing of overrides by specifically checking for the `:` character * Possibly the most controversial aspect, but without that, the parsed objects have to be reconstructed (i.e. as was done in `mark_overrides`). It is possible that `mark_overrides` could remain and a deep copy will not cause problems, but IMO that's generally worth avoiding. * This is also possibly controversial because Spack YAML strings can include `:`. My reckoning is that this only occurs for version specifications, so it is safe to check for `endswith(':') and not ('@' in string)` * As a consequence, this PR ends up reserving spack yaml functions load_config/dump_config exclusively for the purpose of storing spack config
2019-10-22tests: avoid extra output in `env status` test (#13344)Todd Gamblin1-9/+12
`test_envoronment_status()` was printing extra output during tests. - [x] disable output only for `env('status')` calls instead of disabling it for the whole test.
2019-10-22env activation: use package defined env setup methods (#13249)Greg Becker6-46/+191
This PR ensures that environment activation sets all environment variables set by the equivalent `module load` operations, except that the spec prefixes are "rebased" to the view associated with the environment. Currently, Spack blindly adds paths relative to the environment view root to the user environment on activation. Issue #12731 points out ways in which this behavior is insufficient. This PR changes that behavior to use the `setup_run_environment` logic for each package to augment the prefix inspections (as in Spack's modulefile generation logic) to ensure that all necessary variables are set to make use of the packages in the environment. See #12731 for details on the previous problems in behavior. This PR also updates the `ViewDescriptor` object in `spack.environment` to have a `__contains__` method. This allows for checks like `if spec in self.default_view`. The `__contains__` operator for `ViewDescriptor` objects checks whether the spec satisfies the filters of the View descriptor, not whether the spec is already linked into the underlying `FilesystemView` object.
2019-10-22microarchitectures: look in /sbin and /usr/sbin for sysctl (#13365)Massimiliano Culpo3-22/+30
This PR ensures that on Darwin we always append /sbin and /usr/sbin to PATH, if they are not already present, when looking for sysctl. * Make sure we look into /sbin and /usr/sbin for sysctl * Refactor sysctl for better readability * Remove marker to make test pass
2019-10-22Fixed optimization flags support for old GCC versions (#13362)Massimiliano Culpo4-22/+24
These changes update our gcc microarchitecture descriptions based on manuals found here https://gcc.gnu.org/onlinedocs/ and assuming that new architectures are not added during patch releases.
2019-10-22Disable macOS builds on PRs while we wait for Travis to catch up. (#13389)Todd Gamblin1-0/+1
Travis macOS builds are taking too long to run, so we'll only run them on `develop` until they get faster.
2019-10-22gmsh: add version 4.4.1 (#13366)Benjamin Fovet1-0/+1
2019-10-22Boost package: Fix iostream autodetect libraries (#12440)Frédéric Simonis1-1/+3
Boost iostream autodetects the compression libraries libzstd and liblzma outside of the Spack environment. This commit disables mentioned libraries. In the future if the Spack zstd/lzma packages were added as dependencies of the Spack Boost package, additional work could be done to build Boost with the Spack-built versions of these libraries.
2019-10-22ADIOS2: Document endian_reverse variant (#13226)Axel Huebl1-1/+2
Update the documentation of the `endian_reverse` variant in ADIOS2. The short description caused some confusion (for me) :-)
2019-10-22git-lfs: Add new version (#13356)Ruben Di Battista1-0/+1
PS: The old versions do not work: it's likely that they changed git history on submodules
2019-10-22Default to Python 3.7 (#10319)Adam J. Stewart2-7/+44
* Default to Python 3 * Fix build with Intel compilers
2019-10-22Add latest version of py-scikit-learn (#13295)Adam J. Stewart1-32/+19
* Add latest version of py-scikit-learn * setup_environment -> setup_build_environment
2019-10-22Add latest version of npth (#13353)Adam J. Stewart1-1/+2
2019-10-22Add latest version of py-macs2 (#13358)Adam J. Stewart1-3/+7
2019-10-22Add latest version of py-sphinxcontrib-programoutput (#13359)Adam J. Stewart1-2/+4
2019-10-22Restrict parallel build of py-astropy to Python 3 (#13360)Adam J. Stewart1-2/+6
2019-10-22microarchitectures: add optimization flags for Intel compilers (#13345)Massimiliano Culpo2-4/+134
* Added optimization flags for Intel compilers with Intel CPUs * Added optimization flags for Intel compilers with AMD CPUs
2019-10-22fetching: S3 upload and download (#11117)Omar Padron21-289/+1420
This extends Spack functionality so that it can fetch sources and binaries from-, push sources and binaries to-, and index the contents of- mirrors hosted on an S3 bucket. High level to-do list: - [x] Extend mirrors configuration to add support for `file://`, and `s3://` URLs. - [x] Ensure all fetching, pushing, and indexing operations work for `file://` URLs. - [x] Implement S3 source fetching - [x] Implement S3 binary mirror indexing - [x] Implement S3 binary package fetching - [x] Implement S3 source pushing - [x] Implement S3 binary package pushing Important details: * refactor URL handling to handle S3 URLs and mirror URLs more gracefully. - updated parse() to accept already-parsed URL objects. an equivalent object is returned with any extra s3-related attributes intact. Objects created with urllib can also be passed, and the additional s3 handling logic will still be applied. * update mirror schema/parsing (mirror can have separate fetch/push URLs) * implement s3_fetch_strategy/several utility changes * provide more feature-complete S3 fetching * update buildcache create command to support S3 * Move the core logic for reading data from S3 out of the s3 fetch strategy and into the s3 URL handler. The s3 fetch strategy now calls into `read_from_url()` Since read_from_url can now handle S3 URLs, the S3 fetch strategy is redundant. It's not clear whether the ideal design is to have S3 fetching functionality in a fetch strategy, directly implemented in read_from_url, or both. * expanded what can be passed to `spack buildcache` via the -d flag: In addition to a directory on the local filesystem, the name of a configured mirror can be passed, or a push URL can be passed directly.
2019-10-22Add dependency version constraint to libgcrypt (#13351)Adam J. Stewart1-1/+1
2019-10-22Fix configure arg to libassuan (#13350)Adam J. Stewart1-3/+4
2019-10-22Fix configure arg to libksba (#13352)Adam J. Stewart1-3/+4
2019-10-22Add latest version of gnupg (#13349)Adam J. Stewart1-13/+23
2019-10-22Add latest version of patchelf (#13348)Adam J. Stewart1-5/+5
2019-10-21Add latest version of zstd (#13340)Adam J. Stewart1-3/+6
* Add latest version of zstd * setup_environment -> setup_build_environment
2019-10-21sniffles: fix zlib header lookup directory. (#13063)Toyohisa Kameyama2-0/+50
* sniffles: fix zlib header lookup directory. * use bamtools and zlib to spack installed package. * remove unneeded patch.
2019-10-21elsi:add CMAKE Fortran MODDIR FLAG for Fujitsu compiler (#13244)noguchi-k1-0/+5
* add CMAKE Fortran MODDIR FLAG for Fujitsu compiler * elsi:remove extra fix
2019-10-21arpack-ng: Fixed error that is not compatible with isnan. (#13246)t-karatsu2-0/+26
2019-10-21bpp-core: Clarify 'isnan' function's namespace. (#13260)t-karatsu2-0/+46
2019-10-21qt: Fix build for newer versions (#13262)Michael Kuhn1-2/+0
For some reason, newer versions of qt fail to build because they cannot find certain system libraries such as libatomic and libdl. Leaving the qmake compiler set to gcc seems to fix the problem. Fixes #13221