summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2016-10-06[Bug Fix (and docs too)] : Do not select @develop version by default (#1933)Elizabeth Fischer2-5/+47
* This fixes a bug in concretization. Before the recent change to the algorithm, the intent was that the @develop version, although "greater" than numberic versions, is never preferred BY DEFAULT over numeric versions. To test this... suppose you have a package with no `preferred=True` in it, and nothing in `packages.yaml`, but with a `develop` version. For the sake of this example, I've hacked my `python/package.py` to work this way. Without bugfix (WRONG: user should never get develop by default): ``` python@develop%clang@7.3.0-apple~tk~ucs4 arch=darwin-elcapitan-x86_64 ... ``` With bugfix (RIGHT: largest numeric version selected): ``` python@3.5.2%clang@7.3.0-apple~tk~ucs4 arch=darwin-elcapitan-x86_64 ... ``` * Documented version selection in concretization algo. * Fix typos * flake8
2016-10-06add contribution guide focused on Git and PRs (#1664)Denis Davydov2-0/+248
2016-10-06Fix various documentation bugs (#1678)Adam J. Stewart8-108/+97
* Fix various documentation bugs * Keep long option names, but don't include in Command Index * Use long option name * Explicitly designate sections to be listed in the Command Index * Consistent menu bar titles
2016-10-06Fixes bug closing Executable file io-streams (#1890)Matt Belhorn1-3/+3
Input/output/error streams not directed to None or 'str' were not being closed because `close()` method was being called on the argument value (a string type) instead of the open file descriptor object.
2016-10-06Fix fetch() method. Was being called with "wrong" arguments, raising ↵Elizabeth Fischer1-1/+1
exception. (#1916) DIYFetchBugfix
2016-10-06Fix Issues with non-numeric versions, as well as preferred=True (#1561)Elizabeth Fischer3-39/+113
* Fix bug in handling of precedence of preferred=True vs. versions given in packages.yaml (#1556) * Standardized comparison of versions: numeric versions are always greater than non-numeric versions; and non-numeric versions are sorted alphabetically. This is a) simple b) ensures that non-numeric versions (such as 'develop') in package.py are not chosen ahead of numeric versions, when nothing is specified in packages.yaml Fixes Issue #1557 * Removed debugging output * Fix variable shadowing bug * Ensure develop < numeric version. * Bug fix. * Passes all unit tests in versions.py * flake8 fixes * flake8 fixes * Changed type test to be more correct. See http://stackoverflow.com/questions/8203336/difference-between-int-and-numbers-integral-in-python
2016-10-05Handle packages with unparseable extensions (#1758)scheibelp6-21/+21
This closes #1757 which provides an example of a url scheme where the version appears after the extension. Instead of extending the parsing logic to handle this case, this commit allows the user to specify their extension type. This helps Spack choose the appropriate decompressor and mirror archive filename.
2016-10-05docs/getting_started: s/Macintosn/Macintosh/; (#1928)Geoffrey Oxberry1-1/+1
2016-10-05Documentation Improvements for SC16 (#1676)Elizabeth Fischer10-867/+2757
* Transferred pending changes from efischer/develop * 1. Rewrite of "Getting Started": everything you need to set up Spack, even on old/ornery systems. This is not a reference manual section; items covered here are covered more systematically elsewhere in the manual. Some sections were moved here from elsewhere. 2. Beginning to write three methods of application developer support. Two methods were moved from elsewhere. * Edits... * Moved sections in preparation for additional text to be added from old efischer/docs branch. * Moved 2 more sections. * Avoid accid * Applied proofreading edits from @adamjstewart * Fixed non-standard section characters. * Moved section on profiling to the developer's guide. * Still working on Spack workflows... * Finished draft of packaging_guide.rst * Renamed sample projects. * Updates to docstrings * Added documentation to resolve #638 (content taken from #846) * Added section on resolving inconsistent run dependencies. Addresses #645 * Showed how to build Python extensions only compatible with certain versions of Python. * Added examples of getting the right behavior from depends_on(). See #1035 * Added section on Intel compilers and their GCC masquerading feature. Addresses #638, #1687. * Fixed formatting * Added fixes to filesystem views. Added a caveats section to ``spack setup``. * Updated section on Intel compiler configuration because compiler flags currently do not work (see #1687) * Defined trusted downloads, and updated text based on them. (See #1696) * Added workflow to deal with buggy upstream software. See #1683 * Added proper separation between Spack Docs vs. Reference Manual * Renamed spack_workflows to workflows. Resolves a conflict with the .gitignore file. * Removed repeated section. * Created new "Vendor Specific Compiler Configuration" section and organized existing Intel section into it. Added new PGI and NAG sections; but they need to be expanded / rewritten based on the existing text plus research through Spack issues on GitHub. * Fixed text on `spack load --dependencies` to conform to reality. See #1662 * Added patching as option for upstream bugfixes. * Added section on using licensed compilers. * Added section on non-downloadable tarballs. * Wrote sections on NAG and PGI. Arranged compilers in alphabetical order. * Fix indent. * Fixed typos. * Clarified dependency types. * Applied edits from Adam J. Stewart. Spellchecked workflows and getting_started. * Removed spurious header * Fixed Sphinx errors * Fixed erroneous symbol in docstring. * Fix many typos and formatting problems. * Spacing changes * Added section on fixing Git problems. See #1779 * Fixed signature of install() method. * Addressed system packages in greater detail. See #1794 #1795 * Fixed typos * Fixed quotes * Duplicate section on Spack profiling removed from configuration.rst. It had earlier been moved to developer_guide.rst, where it fits better. * Minor edits - Tweak supported platform language. - Various small changes to the new getting started guide. * Fixed bug with quotes.
2016-10-05New command flag: spack install --dependencies-only (#1603)Elizabeth Fischer5-23/+40
* 1. Renamed ignore_deps variable to install_deps (use positive logic). UI remains the same. 2. install_self kwarg added to do_install(). Enables installation of a package's dependencies without installing the package itself. 3. Added `spack install --dependencies-only <package>` command. * Flak8 fixes * Indentation problem
2016-10-05Add package for CONVERGE CFD (#1905)Adam J. Stewart1-0/+5
2016-10-05Added missing function for CMake builds. (#1250)Elizabeth Fischer1-9/+15
* Added missing function for CMake builds. * Update build_environment.py * std_cmake_args Changed std_cmake_args to use get_std_cmake_args(). * Update build_environment.py Delete additional lines subsumed by get_std_cmake_args() * flake8.
2016-10-04Read-only locks should close fd before opening for write. (#1906)Todd Gamblin2-0/+37
- Fixes bad file descriptor error in lock acquire, #1904 - Fix bug introduced in previous PR #1857 - Backported fix from soon-to-be merged fine-grained DB locking branch.
2016-10-04Fix some documentation build warnings. (#1902)Todd Gamblin3-15/+13
- Fix issue with package_list.py regeneration confusing Sphinx. - Add -E option to avoid caching and make Sphinx happy.
2016-10-04Rework build environment and cc to use smaller RPATHs. (#1894)Todd Gamblin3-13/+108
- Fixed up dependency management so that: - build deps go in PATH and -I - link deps go in -L args - only *immediate* link deps are RPATH'd The latter reduces the number of libraries that need to be added to DT_NEEDED / LC_RPATH. This removes redundant RPATHs to transitive dependencies.
2016-10-04Fixes #1893: missing importTodd Gamblin1-0/+1
2016-09-30Fix read locks on read-only file systems (#1857)Michael Kuhn1-1/+2
2016-09-28Fixes #1860. Subversion builds sequentially due to race.Todd Gamblin1-1/+1
2016-09-28Fixes #1720: spack reindex fails with invalid ref count. (#1867)Todd Gamblin3-49/+80
* Fixes #1720: spack reindex fails with invalid ref count. - Database graph wasn't being built properly; dependencies were set up incorrectly in the nodes that ended up in the graph on reindex. - Reworked _add to increment ref count properly and to always build bottom-up to make the logic simpler to understand. * Add checks to ensure DB is a valid merkle tree.
2016-09-28Add single letter arg flags for spack graph (#1871)Adam J. Stewart1-3/+3
2016-09-27Make graph_ascii support deptypes.Todd Gamblin5-27/+36
- fix deptype support - by default, graph command omits build depedencies - update docs to use deptype args
2016-09-27Fixes #1098: spack graph crashes for large graphs.Todd Gamblin1-6/+15
- Fixed logic for collapsing backward edges - Last collapse now depends on whether prior step in left collapse sequence alrady did the collapse.
2016-09-27Improvements to the Spack graph command.Todd Gamblin3-29/+103
- Distinguish between static (package) and dynamic (spec) graphs. - static graphs ignore conditions and multiple instances (hashes) and plot raw dependencies among packages. - dynamic graphs include information from particular specs (instances of packages) and can have multiple instances with hashes. - Allow graphing all packages in the install DB. - useful for debugging.
2016-09-27Factor out canonical_deptype function, cleanup spec.pyTodd Gamblin2-41/+100
2016-09-27Clean up Exceptions in `spec.py`Todd Gamblin2-63/+6
2016-09-23Fix doc bugs, widen columns in the package listTodd Gamblin1-1/+1
2016-09-22package: fix variable name usage (#1829)Ben Boeckel1-1/+1
2016-09-22Fix spack checksum output indentation (#1826)Adam J. Stewart1-1/+1
2016-09-22Fix sbang for perl (#1802)Eric1-5/+7
* Perform shebang fix for all files * Fix sbang for perl scripts Otherwise perl would look at the #! line and call sbang again, resulting in an infinite loop.
2016-09-22Remove SPACK_DIRTY env var (#1818)Elizabeth Fischer3-10/+6
* Removed SPACK_DIRTY env var support. * Finished removing SPACK_DIRTY support. * Minor changes.
2016-09-22fix : stops infinite recursion for python 2.6 (#1823)Massimiliano Culpo1-2/+3
2016-09-21Reworking of `lapack_shared_libs` and similar properties (#1682)Massimiliano Culpo6-38/+303
* Turned <provider>_libs into an iterable Modifications : - added class LibraryList + unit tests - added convenience functions `find_libraries` and `dedupe` - modifed non Intel blas/lapack providers - modified packages using blas_shared_libs and similar functions * atlas : added pthread variant * intel packages : added lapack_libs and blas_libs * find_library_path : removed unused function * PR review : fixed last issues * LibraryList : added test on __add__ return type * LibraryList : added __radd__ fixed unit tests fix : failing unit tests due to missing `self` * cp2k and dependecies : fixed blas-lapack related statements in package.py
2016-09-21Fixed bug propagating --dirty flag to sub-installs. (#1625)Elizabeth Fischer4-5/+18
* Fixed bug propagating --dirty flag to sub-installs. * Fix syntax error * Allow --dirty flag to be set with SPACK_DIRTY env var. * Added dirty flag to `spack diy` and `spack setup`, as is currently in `spack install` * flake8
2016-09-21Adds all available CrayPE CPU targets to platform by default. (#1745)Matt Belhorn1-42/+67
2016-09-21Set JAVA_HOME on module load and on dependent installs. (#1716)Alfredo Adolfo Gimenez1-0/+1
* Set JAVA_HOME on module load and on dependent installs. * Include environment setup from dependencies in dependee module (#1714)
2016-09-20fix MacOs class for Sierra (#1811)Denis Davydov1-1/+1
2016-09-20fix : failing unit tests due to missing `self` (#1806)Massimiliano Culpo1-2/+2
2016-09-20Fix format string (in class RemoveFailedError) (#1803)Eric1-1/+1
2016-09-20lmod : added support for the creation of hierarchical lua module files (#1723)Massimiliano Culpo8-147/+554
Includes : - treatment of a generic hierarchy (i.e. lapack + mpi + compiler) - possibility to specify which compilers are to be considered Core - correct treatment of the 'family' directive - unit tests for most new features
2016-09-20Allow multi-user installations (#1804)Eric1-1/+1
When re-using previously downloaded tarballs, spack copies from `var/spack/stage/PACKAGE-VERSION-HASH/downloaded_file` to `var/spack/cache/PACKAGE/downloaded_file`. This fails if the source is owned by a different user (`shutil.copy` tries to retain all meta data including file ownership). Change to a non-meta-data copy function (`shutil.copyfile`).
2016-09-15Fix location -p and -P (#1776)Michael Kuhn1-3/+2
2016-09-15Make libstdc++-detection work on Darwin (#1778)Erik Schnetter1-2/+2
2016-09-08Don't overwrite PYTHONPATH in docs Makefile (#1693)Adam J. Stewart1-1/+1
2016-09-07Fix fetching non-expanded resources from mirrors (#1310)scheibelp3-22/+25
This closes #1308, where fetching a non-expanded resource from a mirror will cause an error. This also ensures that when a URL resource is fetched from a mirror, that it will be named as though it were retrieved from the original URL. This is particularly useful for non-expanded resources since it ensures that the resource name is consistent for the installation (this is less important for expanded resources because the build takes place inside the expanded resource).
2016-09-06Add debug command for creating tarball of install DB.Todd Gamblin1-0/+84
2016-09-06modules : ('build',) type dependencies are not accounted when autoloadingalalazo2-1/+24
fixes #1681
2016-09-03spack boostrap: fix missing include (#1657)Axel Huebl1-1/+1
fix a missing include in booststrap. found on debian 8 with python 2.7
2016-09-03added package : pexsi (#1550)Massimiliano Culpo2-0/+8
* pexsi : added package * cp2k : added pexsi (works for gcc+openmpi with and without plumed)
2016-09-02Attributes for directives need to be set at class construction time. (#1718)Todd Gamblin1-3/+6
- moved ensure_dicts() call from Package.__init__ to Package.__metaclass__.
2016-09-02Clean up stable hashing so that specs don't contain !!python/object/applyTodd Gamblin4-50/+51
- only output basic lists, dicts, etc. - spec and database now parse and write specs as ordered data.