From 3ecf4ef8c9557c0b73a3eeea7efc0dbe91d9ee2a Mon Sep 17 00:00:00 2001 From: Massimiliano Culpo Date: Tue, 30 Aug 2016 07:40:50 +0200 Subject: resources : added docs fixes #1551 (#1627) --- lib/spack/docs/packaging_guide.rst | 20 ++++++++++++++++++++ lib/spack/spack/directives.py | 6 +++--- 2 files changed, 23 insertions(+), 3 deletions(-) (limited to 'lib') diff --git a/lib/spack/docs/packaging_guide.rst b/lib/spack/docs/packaging_guide.rst index 879beb2476..34fcb1e101 100644 --- a/lib/spack/docs/packaging_guide.rst +++ b/lib/spack/docs/packaging_guide.rst @@ -759,6 +759,26 @@ Fetching a revision Subversion branches are handled as part of the directory structure, so you can check out a branch or tag by changing the ``url``. +Expanding additional resources in the source tree +------------------------------------------------- + +Some packages (most notably compilers) provide optional features if additional +resources are expanded within their source tree before building. In Spack it is +possible to describe such a need with the ``resource`` directive : + + .. code-block:: python + + resource( + name='cargo', + git='https://github.com/rust-lang/cargo.git', + tag='0.10.0', + destination='cargo' + ) + +Based on the keywords present among the arguments the appropriate ``FetchStrategy`` +will be used for the resource. The keyword ``destination`` is relative to the source +root of the package and should point to where the resource is to be expanded. + Automatic caching of files fetched during installation ------------------------------------------------------ diff --git a/lib/spack/spack/directives.py b/lib/spack/spack/directives.py index 313bf48f0d..2a151e0374 100644 --- a/lib/spack/spack/directives.py +++ b/lib/spack/spack/directives.py @@ -292,17 +292,17 @@ def resource(pkg, **kwargs): Define an external resource to be fetched and staged when building the package. Based on the keywords present in the dictionary the appropriate FetchStrategy will be used for the resource. Resources are fetched and - staged in their own folder inside spack stage area, and then linked into + staged in their own folder inside spack stage area, and then moved into the stage area of the package that needs them. List of recognized keywords: * 'when' : (optional) represents the condition upon which the resource is needed - * 'destination' : (optional) path where to link the resource. This path + * 'destination' : (optional) path where to move the resource. This path must be relative to the main package stage area. * 'placement' : (optional) gives the possibility to fine tune how the - resource is linked into the main package stage area. + resource is moved into the main package stage area. """ when = kwargs.get('when', pkg.name) destination = kwargs.get('destination', "") -- cgit v1.2.3-60-g2f50