doc: Move 'text-file*' to the gexp section.

This is a follow-up to commit 462a3fa.

* doc/guix.texi (The Store Monad): Move 'text-file*'...
  (G-Expressions): ... to here.
This commit is contained in:
Ludovic Courtès 2015-01-14 11:22:51 +01:00
parent 1c975f60b1
commit 1ed194646b
1 changed files with 25 additions and 25 deletions

View File

@ -2255,31 +2255,6 @@ Return as a monadic value the absolute file name in the store of the file
containing @var{text}, a string. containing @var{text}, a string.
@end deffn @end deffn
@deffn {Monadic Procedure} text-file* @var{name} @var{text} @dots{}
Return as a monadic value a derivation that builds a text file
containing all of @var{text}. @var{text} may list, in addition to
strings, packages, derivations, and store file names; the resulting
store file holds references to all these.
This variant should be preferred over @code{text-file} anytime the file
to create will reference items from the store. This is typically the
case when building a configuration file that embeds store file names,
like this:
@example
(define (profile.sh)
;; Return the name of a shell script in the store that
;; initializes the 'PATH' environment variable.
(text-file* "profile.sh"
"export PATH=" coreutils "/bin:"
grep "/bin:" sed "/bin\n"))
@end example
In this example, the resulting @file{/gnu/store/@dots{}-profile.sh} file
will references @var{coreutils}, @var{grep}, and @var{sed}, thereby
preventing them from being garbage-collected during its lifetime.
@end deffn
@deffn {Monadic Procedure} interned-file @var{file} [@var{name}] @ @deffn {Monadic Procedure} interned-file @var{file} [@var{name}] @
[#:recursive? #t] [#:recursive? #t]
Return the name of @var{file} once interned in the store. Use Return the name of @var{file} once interned in the store. Use
@ -2563,6 +2538,31 @@ The resulting file holds references to all the dependencies of @var{exp}
or a subset thereof. or a subset thereof.
@end deffn @end deffn
@deffn {Monadic Procedure} text-file* @var{name} @var{text} @dots{}
Return as a monadic value a derivation that builds a text file
containing all of @var{text}. @var{text} may list, in addition to
strings, packages, derivations, and store file names; the resulting
store file holds references to all these.
This variant should be preferred over @code{text-file} anytime the file
to create will reference items from the store. This is typically the
case when building a configuration file that embeds store file names,
like this:
@example
(define (profile.sh)
;; Return the name of a shell script in the store that
;; initializes the 'PATH' environment variable.
(text-file* "profile.sh"
"export PATH=" coreutils "/bin:"
grep "/bin:" sed "/bin\n"))
@end example
In this example, the resulting @file{/gnu/store/@dots{}-profile.sh} file
will references @var{coreutils}, @var{grep}, and @var{sed}, thereby
preventing them from being garbage-collected during its lifetime.
@end deffn
Of course, in addition to gexps embedded in ``host'' code, there are Of course, in addition to gexps embedded in ``host'' code, there are
also modules containing build tools. To make it clear that they are also modules containing build tools. To make it clear that they are
meant to be used in the build stratum, these modules are kept in the meant to be used in the build stratum, these modules are kept in the