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:
parent
1c975f60b1
commit
1ed194646b
|
@ -2255,31 +2255,6 @@ Return as a monadic value the absolute file name in the store of the file
|
|||
containing @var{text}, a string.
|
||||
@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}] @
|
||||
[#:recursive? #t]
|
||||
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.
|
||||
@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
|
||||
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
|
||||
|
|
Loading…
Reference in New Issue