summary refs log tree commit diff
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2015-02-11 22:58:53 +0100
committerLudovic Courtès <ludo@gnu.org>2015-02-12 23:43:18 +0100
commitad3729536ab4fe233b32017ac889f026a4bad43e (patch)
tree1312679dda600e3ffbaa89e8fa2fcc5cde69b5a9
parent00ab945823261f039dd6e654ff2c79621fbd96cf (diff)
downloadguix-ad3729536ab4fe233b32017ac889f026a4bad43e.tar.gz
store: Add optional 'references' parameter to 'text-file'.
* guix/store.scm (text-file): Add optional 'references' parameter.  Pass
  it to 'add-text-to-store'.
* doc/guix.texi (The Store Monad): Adjust accordingly.
-rw-r--r--doc/guix.texi5
-rw-r--r--guix/store.scm8
2 files changed, 8 insertions, 5 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 0c6b1e4384..04b9b4aaae 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -2358,9 +2358,10 @@ Run @var{mval}, a monadic value in the store monad, in @var{store}, an
 open store connection.
 @end deffn
 
-@deffn {Monadic Procedure} text-file @var{name} @var{text}
+@deffn {Monadic Procedure} text-file @var{name} @var{text} [@var{references}]
 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.  @var{references} is a list of store items that the
+resulting text file refers to; it defaults to the empty list.
 @end deffn
 
 @deffn {Monadic Procedure} interned-file @var{file} [@var{name}] @
diff --git a/guix/store.scm b/guix/store.scm
index 02d84eb517..d88fb3ea54 100644
--- a/guix/store.scm
+++ b/guix/store.scm
@@ -890,11 +890,13 @@ taking the store as its first argument."
 ;; Store monad operators.
 ;;
 
-(define* (text-file name text)
+(define* (text-file name text
+                    #:optional (references '()))
   "Return as a monadic value the absolute file name in the store of the file
-containing TEXT, a string."
+containing TEXT, a string.  REFERENCES is a list of store items that the
+resulting text file refers to; it defaults to the empty list."
   (lambda (store)
-    (values (add-text-to-store store name text '())
+    (values (add-text-to-store store name text references)
             store)))
 
 (define* (interned-file file #:optional name