diff options
author | Ludovic Courtès <ludo@gnu.org> | 2015-01-14 11:22:51 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2015-01-14 11:22:51 +0100 |
commit | 1ed194646b22600e002ab8050905fd428d3036fc (patch) | |
tree | e2c0727a90566e8d5569250c09d0a932bd6279f4 | |
parent | 1c975f60b16dec86ea71dcb5aa1e222003f48aba (diff) | |
download | guix-1ed194646b22600e002ab8050905fd428d3036fc.tar.gz |
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.
-rw-r--r-- | doc/guix.texi | 50 |
1 files changed, 25 insertions, 25 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index d92495b5b2..5f25583906 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -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 |