summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2018-01-19Bump version to 0.11.1Todd Gamblin1-1/+1
2018-01-19Fix type issues with setting flag handlers (#6960)becker332-2/+27
The flag_handlers method was being set as a bound method, but when reset in the package.py file it was being set as an unbound method (all python2 issues). This gets the underlying function information, which is the same in either case. The bug was uncovered for parmetis in #6858. This is a partial fix. Included are changes to the parmetis package.py file to make use of flag_handlers.
2018-01-19Compiler flag handlers (#6415)becker3312-1320/+372
This adds the ability for packages to apply compiler flags in one of three ways: by injecting them into the compiler wrapper calls (the default in this PR and previously the only automated choice); exporting environment variable definitions for variables with corresponding names (e.g. CPPFLAGS=...); providing them as arguments to the build system (e.g. configure). When applying compiler flags using build system arguments, a package must implement the 'flags_to_build_system_args" function. This is provided for CMake and autotools packages, so for packages which subclass those build systems, they need only update their flag handler method specify which compiler flags should be specified as arguments to the build system. Convenience methods are provided to specify that all flags be applied in one of the 3 available ways, so a custom implementation is only required if more than one method of applying compiler flags is needed. This also removes redundant build system definitions from tutorial examples
2018-01-16Final changes for v0.11.0 (#6318)Todd Gamblin2-2/+1
2018-01-16elf relocation fix: cherry-picked from develop branch (#6889)scheibelp3-54/+68
* Revert "Quick fix for relocation issues." This reverts commit 57608a6dc495af6c042945767ac3bd0c009fadd5. * Buildcache: relocate fixes (#6512) * Updated function which checks if a binary file needs relocation. Previously this was incorrectly identifying ELF binaries as symbolic links (so they were being excluded from relocation). Added test to check that ELF binaries are not considered symlinks. * relocate_text was not replacing paths in text files. Added test to check that text files are relocated properly (i.e. paths in the file are converted to the new prefix). * Exclude backup files created by filter_file when installing from binary cache. * Update write_buildinfo_file method signature to distinguish between the spec prefix and the working directory for the binary cache package.
2017-11-13Quick fix for relocation issues.Todd Gamblin2-10/+29
2017-11-13basics tutorial: output updated (#6267)becker331-813/+1308
* basics tutorial: output updated through gcc * finished update for basics tutorial * missed two lines * doc error fix
2017-11-13Updates to build systems tutorial (#6273)Todd Gamblin2-12/+36
* Get rid of period in command * formatting * fix header * Change GNU Make to Make * Add variants
2017-11-12Add build systems tutorial for SC17 (#6125)Mario Melara18-3/+2539
* First draft for SC17 build systems portion Added tutorial_buildsystems.rst file as well as example files under the tutorial/ directory. * Remove floating ` * Add requested changes, and examples of subclasses Added in the requested changes to the documentation. Also added in information about the subclasses and the defaults that they provide. Also fixed some phrasing issues, formatting and punctuation. * Flake8 fixes and new files for classes Made flake8 fixes to pass tests and also added files to demonstrate code in the classes. * Minor edits Edits in formatting and made some sentence changes * Flake8 fixes More flake8 fixes * Flake8 fix * Change section order on tutorial and minor edits Placed the section at the appropriate section for the tutorial and then added some minor edits that were requested. * Add requested changes and more details Added more details to Cmake, Makefile and Python Packages. * Fixed formatting and minor edits * Fix doc build error
2017-11-12Last minute edits to the Configuration Tutorial (#6271)Adam J. Stewart1-59/+54
2017-11-12Add configuration tutorial for SC17 (#6141)becker332-2/+852
2017-11-12Update packaging tutorial (#6270)Matthew LeGendre8-142/+232
* Allow types and 'any' in variant definitions. - Previously variant values had to be a tuple or a callable predicate. - This allows 'any' as shorthand for `lambda x: True` and type objects as shorthand for "any value of this type". - Makes variant definitions more readable, keeps lambdas out of packages for common cases. * Update packaging tutorial * Fix bad file reference in packaging tutorial
2017-11-12binary packages: do post install hooks (#6269)becker331-0/+1
2017-11-12SC17: advanced packaging tutorial (#6148)Massimiliano Culpo2-0/+564
* First draft of the advanced packaging tutorial * advanced packaging tutorial: improved phrasing Thanks Denis and Hartzell! * Fixed typos + reworded a couple of sentences
2017-11-12SC17: reworked module file tutorial section (#5657)Massimiliano Culpo3-363/+1911
* Reworked module file tutorial section First draft for the SC17 update. This includes: - adding an introduction on module files + Spack's module generation blueprints - adding a set-up section and provide a docker image for easy set-up - updating all the relevant snippets - extending a bit some of the concepts that were already touched * Added reference to #5582 + committed Dockerfiles Also fixed a couple of typos spotted by Denis. * module file tutorial: added section on template customization * module file tutorial: fixed minor typos + rephrased a sentence * module file tutorial: made explicit that Docker image comes with software * module file tutorial: improved phrasing and layout. Thanks Hartzell! * module file tutorial: added vim and nano to editors * module file tutorial: fixed typo * Fixed typos Thanks Adam! * module file tutorial: updated Dockerfile + minor changes in introduction
2017-11-11Don't include build-only dependencies in build cache hash (#6262)becker331-3/+5
2017-11-10Group flags and values separated by space (#6169)scheibelp5-2/+52
Fixes #6154 For compiler options which set values using the syntax "-flag value" (with a space between the flag and the flag's value) the flag and value were treated as separate and reordered. This updates Spack's logic to treat the flag and value as a single unit, even if there is a space between them. It assumes that all flags are prefixed with "-" and that all flag values are not.
2017-11-09deal with case where symbolic links are copied (#6178)Patrick Gartung1-0/+9
* deal with case where symbolic links are copied * Suggested changes
2017-11-09spack buildcache: symlink and relative RPATH fixes (#6140)Patrick Gartung4-106/+153
* Skip rewriting files that are links (this also avoids issues with parsing the output of the 'file' command for symlinks) * Fail rather than warn for several gpg signing issues (e.g. if there is no key available to sign with) * Installation with 'buildcache install' only retrieves link and run dependencies (this matches 'buildcache create' which only creates tarballs of link/run dependencies) * Don't rewrite RPATHs for a binary if the binary cached package was created with relative RPATHs * Refactor relocate_binary to operate on multiple binaries (given as a collection of paths). This was likewise done for relocate_text and make_binary_relative
2017-11-06add artisanal handcrafted SVG Spack logo. (#6165)Todd Gamblin1-1/+1
- This isn't one of those autogenerated SVGs from a drawing program! - This is a completely re-traced, minimalist SVG file with clearly delineated pieces so that your favorite renderer can draw a Spack logo at whatever resolution you want. - Included versions with text, as well.
2017-11-06Fix spack view hardlink (#6130)Johann Klähn2-1/+14
Fix a typo in "spack view hardlink" introduced in #5415 ("os.hardlink" does not exist).
2017-11-06Introduce static_to_shared_library function (#6092)Michael Kuhn2-0/+197
The static_to_shared_library function takes an existing static library and produces a shared library based on it.
2017-11-06Docs: MPI as Root (#6156)Axel Huebl1-0/+3
New versions of OpenMPI need `--allow-run-as-root` for running as root: http://www.open-mpi.de/doc/v2.0/man1/mpirun.1.php#toc22
2017-11-06Add back help placeholder for "spack load" (#6127)scheibelp5-8/+30
Fixes #6126 #3183 removed the print_help function from the "modules" module. This adds it back so that if a user invokes 'spack load foo' without having sourced an environment setup script, they will be prompted to do so. This also improves the placeholder message to tell the user to invoke 'spack' as shell function rather than as an executable.
2017-11-04Replace github.com/llnl/spack with github.com/spack/spack (#6142)Todd Gamblin277-298/+298
We moved to a new GitHub org! Now make the code and docs reflect that.
2017-11-03Fix restaging of resources (#5681)Johann Klähn1-12/+22
Part of the resource staging process is to place downloaded/expanded files in the root stage. This was not happening when a resource stage was restaged.
2017-11-03spack fetch: don't fetch externals. (#6124)Todd Gamblin1-1/+8
Fixes #6123 spack fetch shouldn't attempt to fetch external deps when invoked with --dependencies.
2017-11-02Configure user for mock Git repository (#6128)Michael Kuhn1-0/+2
If user.useConfigOnly is set globally and no name or e-mail is configured, the git_fetch tests fail.
2017-11-02test_activations: also test perl activationsBen Boeckel1-0/+103
2017-11-02test_activations: test Python's extension logicPeter Scheibel1-0/+168
2017-11-02spec: support a test prefixPeter Scheibel1-0/+5
This is used in tests to test real packages without actually building and installing them.
2017-11-02view: test conflicting packages in viewsBen Boeckel1-0/+25
2017-11-02view: test that extension paths existBen Boeckel1-0/+23
2017-11-02filesystem_view: reject packages with activationsBen Boeckel3-11/+26
If there are extensions that are globally activated, reject adding them to a view. Those extensions should not be implicitly activated.
2017-11-02view: test viewing external packagesBen Boeckel1-0/+9
2017-11-02view: add a test for extension activationBen Boeckel1-0/+82
2017-11-02extensions: support only showing a subset of informationBen Boeckel1-32/+60
2017-11-02extensions: support acting on a viewBen Boeckel3-12/+40
This allows extensions to be (de)activated and queried within a view rather than only acting on the global installation.
2017-11-02view: use the FilesystemView abstraction for creating viewsOliver Breitwieser1-198/+127
2017-11-02view: fix some docstrings for argumentsOliver Breitwieser1-2/+2
2017-11-02filesystem_view: do not link external packagesBen Boeckel1-0/+10
2017-11-02filesystem_view: add a class to handle a view via a Yaml descriptionOliver Breitwieser1-0/+524
2017-11-02package: support removing dependencies when deactivatingOliver Breitwieser1-6/+14
2017-11-02conftest: mock out spack.store.extensions as wellBen Boeckel1-0/+4
2017-11-02views: support querying view layouts as wellOliver Breitwieser5-26/+56
This abstracts out the layout in use between the global installations and a specific view.
2017-11-02link_tree: support choosing the link functionOliver Breitwieser1-2/+2
This can be used to make hardlinks rather than symlinks.
2017-11-02link_tree: support ignoring conflictsOliver Breitwieser1-3/+16
2017-11-02directory_layout: add a YamlExtensionsLayout classOliver Breitwieser1-0/+25
This uses a view to query extensions.
2017-11-02link_tree: only remove matching files when unmergingOliver Breitwieser1-1/+6
2017-11-02directory_layout: factor out an ExtensionsLayout classOliver Breitwieser1-92/+118