summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2019-12-10pytest: add __init__ files for all test subdirs (#13889)Greg Becker5-6/+22
* pytest: add __init__ files for all test subdirs * add licenses to empty files * Fix Sphinx warning message about comment within docstring * Further fixes to Sphinx docstring
2019-12-10Better error message when setting unknown variants during concretization ↵Massimiliano Culpo3-8/+17
(#13128) fixes #13124
2019-12-09Follow up/11117 fixes and testing (#13607)Omar Padron10-158/+272
* fix docstring in generate_package_index() refering to "public" keys as "signing" keys * use explicit kwargs in push_to_url() * simplify url_util.parse() per tgamblin's suggestion * replace standardize_header_names() with the much simpler get_header() * add some basic tests * update s3_fetch tests * update S3 list code to strip leading slashes from prefix * correct minor warning regression introduced in #11117 * add more tests * flake8 fixes * add capsys fixture to mirror_crud test * add get_header() tests * use get_header() in more places * incorporate review comments
2019-12-09environments: allow 'add' command to add virtuals (#13787)Greg Becker2-2/+26
This PR allows virtual packages to be added to the specs list using the add command. Virtual packages are already allowed in named lists in spack environments/stacks, and they are already allowed in the specs list when added using the yaml directly.
2019-12-09Apply URLFetchStrategy to ftp:// and ftps:// url schemes (#13939)Andras Wacha1-1/+3
* Apply URLFetchStrategy to ftp:// and ftps:// url schemes * Corrected trailing whitespace error
2019-12-08Tuneup docs re setting up sphinx for building docs (#14005)George Hartzell1-6/+14
I have, more than once, tried to install the list of things that need to build the docs, only to discover that the list doesn't use Spack's package names. I'm tired of facepalming.... While I was there I touched up the prose about activating the new Python packages; activating a python package doesn't add anything to your PYTHONPATH, it links things into a directory that's *already* on your PYTHONPATH. Note that this all presupposes that you're using that same python....
2019-12-06Spec Header Dirs: Only first include/ (#13991)Axel Huebl2-2/+16
* CUDA HeaderList: Unit Test * Spec Header Dirs: Only first include/ Avoid matching recurringly nested include paths that usually refer to internally shipped libraries in packages. Example in CUDA Toolkit, shipping a libc++ fork internally with libcu++ since 10.2.89: `<prefix>/include/cuda/some/more/details/include/` or `<prefix>/include/cuda/std/detail/libcxx/include` regex: non-greedy first match of include Co-Authored-By: Massimiliano Culpo <massimiliano.culpo@gmail.com> * CUDA: Re-Enable 10.2.89 as Default
2019-12-06docs: Alphabetize create cmd template options (#13993)Tamara Dahlgren1-1/+2
* Bugfix: Display template options for create command. * Alphabetize "spack create" template options for readability * Revert template choices format; alphabetize list * flake8 fix
2019-12-06Bugfix: spack find -p fails in environment (#13972)Greg Becker3-1/+26
* force spack find -p to print abstract specs without prefixes * hashes have the same issue; improve handling of find -L to match find -l
2019-12-06docs: Minimal BundlePackage build system doc (#13992)Tamara Dahlgren2-0/+53
* Minimal BundlePackage build system doc * Add link to new bundlepackage file * Fixed link bug and added create command example
2019-12-05cdash: fix reporting issue with python 3Scott Wittenburg1-1/+4
2019-12-04patching: do strict version range checking (#13989)Peter Scheibel3-2/+19
* apply strict constraint checks for patches, otherwise Spack may incorrectly treat a version range constraint as satisfied when mixing x.y and x.y.z versions * add mixed version checks to version comparison tests
2019-12-04version bump: 0.13.2Todd Gamblin1-1/+1
2019-12-04Bugfix: allow missing modules if they are blacklisted (#13540)Peter Scheibel4-30/+115
`spack module loads` and `spack module find` previously failed if any upstream modules were missing. This prevented it from being used with upstreams (or, really, any spack instance) that blacklisted modules. This PR makes module finding is now more lenient (especially for blacklisted modules). - `spack module find` now does not report an error if the spec is blacklisted - instead, it prints a single warning if any modules will be omitted from the loads file - It comments the missing modules out of the loads file so the user can see what's missing - Debug messages are also printed so users can check this with `spack -d...` - also added tests for new functionality
2019-12-04Fix spack test when SPACK_ROOT isn't set (#13980)Adam J. Stewart1-3/+4
2019-12-04Fixed x86-64 optimization flags for clang (#13913)Massimiliano Culpo3-53/+32
* Fixed x86-64 optimization flags for clang * Fixed expected results in unit tests Before the flags used where the one for llc, the underlying compiler from LLVM IR to machine assembly. It turns out that the semantic of `-march`, `-mtune` and `-mcpu` changes from clang front-end to llc. I found no definitive reference for the flags submitted in this PR, but I checked the assembly on a vectorizable function using Godbolt's web-site.
2019-12-02Speedup environment activation (#13557)Massimiliano Culpo2-2/+13
* Add a transaction around repeated calls to `spec.prefix` in the activation process * cache the computation of home in the python package to speed up setting deps * ensure that module-scope variables are only set *once* per module
2019-12-02Version bump: 1.13.1 (#13942)Adam J. Stewart1-1/+1
2019-11-30Armor test script against shebang character limit if appropriate. (#12447)Chris Green1-0/+2
2019-11-29Mass conversion of setup_(dependent_)?environment (#13924)Adam J. Stewart3-10/+10
* Mass conversion of setup_(dependent_)?environment * prefix -> self.prefix
2019-11-26use semicolons instead of newlines in module/python command (#13904)Greg Becker1-1/+1
2019-11-26IntelPackage: setup_env -> setup_build_env (#13888)Adam J. Stewart1-47/+24
2019-11-26buildcache list: do not display duplicate specs (#13758)Massimiliano Culpo2-6/+25
fixes #13757
2019-11-26Remove warning from the "Custom Extensions" section of the docs (#13804)Massimiliano Culpo1-6/+0
Extensions have been available for a while and the overall design seems solid enough to be feasible for extensions without losing backward compatibility.
2019-11-25add package cuda@10.2.89 (#13819)René Widera1-3/+10
* add package cuda@10.2.89 add CUDA 10.2 support * CudaPackage: Add 10.2 Conflicts * CUDA: Modernize Run Environment See #11115
2019-11-22cmd/install: remove unused install_status option (#13751)Greg Becker1-1/+1
* cmd/install: remove unused install_status option * update bash completions for spack install
2019-11-21Fixed detection for cascadelake microarchitecture (#13820)Massimiliano Culpo3-1/+23
fixes #13803
2019-11-20mirror bug fixes: symlinks, duplicate patch names, and exception handling ↵Paul Ferrell4-17/+24
(#13789) * Some packages (e.g. mpfr at the time of this patch) can have patches with the same name but different contents (which apply to different versions of the package). This appends part of the patch hash to the cache file name to avoid conflicts. * Some exceptions which occur during fetching are not a subclass of SpackError and therefore do not have a 'message' attribute. This updates the logic for mirroring a single spec (add_single_spec) to produce an appropriate error message in that case (where before it failed with an AttributeError) * In various circumstances, a mirror can contain the universal storage path but not a cosmetic symlink; in this case it would not generate a symlink. Now "spack mirror create" will create a symlink for any package that doesn't have one.
2019-11-20Features/expand microarch for aarch64 (#13780)t-karatsu4-0/+117
* Add process to determine aarch64 microarchitecture * add microarchitectures for thunderx2 and a64fx * Add optimize flags for gcc on aarch64 family processors thunderx2 and a64fx. * Add optimize flags for clang on aarch64 family processors thunderx2 and a64fx * Add testing for thunderx2 and a64fx microarchitectures
2019-11-18binary distribution: relocate text files properly in relative binaries (#13578)Greg Becker2-10/+12
* Make relative binaries relocate text files properly * rb strings aren't valid in python 2 * move perl to new interface for setup_environment family methods
2019-11-15Fix for issue #13754 (#13755)Tim Fuller1-2/+3
* remove reference to `spack.store` in method definition Referencing `spack.store` in method definition will cache the `spack.config.config` singleton variable too early, before we have a chance to add command line and environment scopes.
2019-11-15Document use of the maintainers field (#12270)Adam J. Stewart2-1/+20
* Document use of the maintainers field * Use fake GitHub usernames * GitHub action is not automatic yet
2019-11-14Config option to allow gpg warning suppression (#13743)Greg Becker3-3/+9
Add a configuration option to suppress gpg warnings during binary package verification. This only suppresses warnings: a gpg failure will still fail the install. This allows users who have already explicitly trusted the gpg key they are using to avoid seeing repeated warnings that it is self-signed.
2019-11-13symlink relativization: determine target relative to the link directory (#13710)Peter Scheibel1-3/+3
when making a package relative, relocate links relative to link directory rather than the full link path (which includes the file name) because `os.path.relpath` expects a directory.
2019-11-13Allow binary relocation of strings in relative binaries (#13725)Greg Becker2-15/+25
Binaries with relative RPATHS currently do not relocate strings hard-coded in binaries This PR extends the best-effort relocation of strings hard-coded in binaries to those whose RPATHs have been relativized.
2019-11-13Docs update for deprecated `spack sha256` (#13701)William F Godoy1-2/+2
* Docs update for deprecated `spack sha256` * Added macOS shasum * Update lib/spack/docs/packaging_guide.rst Co-Authored-By: Adam J. Stewart <ajstewart426@gmail.com>
2019-11-12docs: use nicer looking code blocks in docs (#13708)Todd Gamblin1-1/+19
- [x] Use higher contrast terminal output font - [x] Use higher contrast code block background color than default - [x] Use a noticeable prompt character See also https://github.com/spack/spack-tutorial/pull/10.
2019-11-11verify.py: os.path.exists exception handling (#13656)Daryl W. Grunau1-14/+16
2019-11-11environments: don't try to modify run-env if a spec is not installed (#13589)Adam J. Stewart1-2/+2
Fixes #13529 Fixes #13509
2019-11-10Improve spack checksum formatting (#13666)Adam J. Stewart2-2/+5
* Improve spack checksum formatting * Add colon * Fix Python 2 bug
2019-11-07bugfix: mirror path works for unknown versions (#13626)Todd Gamblin2-2/+8
`mirror_archive_path` was failing to account for the case where the fetched version isn't known to Spack. - [x] don't require the fetched version to be in `Package.versions` - [x] add regression test for mirror paths when package does not have a version
2019-11-05add depends_on(python) to PythonPackage stub (#13595)Andreas Baumbach1-0/+1
2019-11-05bugfix: uninstall should find concrete specs by DAG hash (#13598)Todd Gamblin1-1/+9
This fixes a regression introduced in #10792. `spack uninstall` in an environment would not match concrete query specs properly after the index hash of enviroments changed. - [x] Search by DAG hash for specs to remove instead of by build hash
2019-11-05`spack find` now displays variants and other spec constraints (#13596)Todd Gamblin3-4/+23
If you do this in a spack environment: spack add hdf5+hl hdf5+hl will be the root added to the `spack.yaml` file, and you should really expect `hdf5+hl` to display as a root in the environment. - [x] Add decoration to roots so that you can see the details about what is required to build. - [x] Add a test.
2019-11-03bugfix: fetch prefers to fetch local mirrors over remote resources (#13545)Omar Padron3-8/+11
- [x] insert at beginning of list so fetch grabs local mirrors before remote resources - [x] update the S3FetchStrategy so that it throws a SpackError if the fetch fails. Before, it was throwing URLError, which was not being caught in stage.py. - [x] move error handling out of S3FetchStrategy and into web_util.read_from_url() - [x] pass string instead of URLError to SpackWebError
2019-11-03environments: only write when necessary (#13546)Greg Becker4-25/+66
This changes Spack environments so that the YAML file associated with the environment is *only* written when necessary (i.e., if it is changed *by spack*). The lockfile is still written out as before. There is a larger question here of which part of Spack should be responsible for setting defaults in config files, and how we can get rid of empty lists and data structures currently cluttering files like `compilers.yaml`. But that probably requires a rework of the default-setting validator in `spack.config`, as well as the code that uses `spack.config`. This will at least help for `spack.yaml`.
2019-11-01spack create: http -> https (#13547)Adam J. Stewart1-2/+2
2019-11-01Bugfix: respect order of mirrors in mirrors.yaml (#13544)Peter Scheibel1-1/+4
Commands like "spack mirror list" were displaying mirrors in a different order than what was listed in the corresponding mirrors.yaml file. This restores commands to iterate over mirrors in the order that they appear in the config file.
2019-11-01environments: make shell modifications partially unconditional (#13523)Greg Becker2-1/+37
* environments: make shell modifications partially unconditional * flake * missing module name * add regression test * flake
2019-11-01allow bootstrap buildcache install of patchelf (#13430)Marc Mengel2-3/+36
* allow bootstrap buildcache install of patchelf * file not path_name on one * style * add test for relocating patchelf * blank lines..