>From b46aab8149d30708e58b10e2428eb4a41f63f61e Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 13 Feb 2016 20:08:26 +0100 Subject: [PATCH 3/4] doc: Drop documentation of deprecated procedures. * doc/guix.texi ("build systems"): Drop documentation of BUILD-EXPRESSION->DERIVATION. --- doc/guix.texi | 53 ----------------------------------------------------- 1 file changed, 53 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 42b3fba..979288c 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3022,59 +3022,6 @@ best course of action for that is to write the build code as a ``G-expression'', and to pass it to @code{gexp->derivation}. For more information, @pxref{G-Expressions}. -Once upon a time, @code{gexp->derivation} did not exist and constructing -derivations with build code written in Scheme was achieved with address@hidden>derivation}, documented below. This procedure -is now deprecated in favor of the much nicer @code{gexp->derivation}. - address@hidden {Scheme Procedure} build-expression->derivation @var{store} @ - @var{name} @var{exp} @ - [#:system (%current-system)] [#:inputs '()] @ - [#:outputs '("out")] [#:hash #f] [#:hash-algo #f] @ - [#:recursive? #f] [#:env-vars '()] [#:modules '()] @ - [#:references-graphs #f] [#:allowed-references #f] @ - [#:local-build? #f] [#:substitutable? #t] [#:guile-for-build #f] -Return a derivation that executes Scheme expression @var{exp} as a -builder for derivation @var{name}. @var{inputs} must be a list of address@hidden(name drv-path sub-drv)} tuples; when @var{sub-drv} is omitted, address@hidden"out"} is assumed. @var{modules} is a list of names of Guile -modules from the current search path to be copied in the store, -compiled, and made available in the load path during the execution of address@hidden, @code{((guix build utils) (guix build -gnu-build-system))}. - address@hidden is evaluated in an environment where @code{%outputs} is bound -to a list of output/path pairs, and where @code{%build-inputs} is bound -to a list of string/output-path pairs made from @var{inputs}. -Optionally, @var{env-vars} is a list of string pairs specifying the name -and value of environment variables visible to the builder. The builder -terminates by passing the result of @var{exp} to @code{exit}; thus, when address@hidden returns @code{#f}, the build is considered to have failed. - address@hidden is built using @var{guile-for-build} (a derivation). When address@hidden is omitted or is @code{#f}, the value of the address@hidden fluid is used instead. - -See the @code{derivation} procedure for the meaning of address@hidden, @var{allowed-references}, @var{local-build?}, -and @var{substitutable?}. address@hidden deffn - address@hidden -Here's an example of a single-output derivation that creates a directory -containing one file: - address@hidden -(let ((builder '(let ((out (assoc-ref %outputs "out"))) - (mkdir out) ; create /gnu/store/@dots{}-goo - (call-with-output-file (string-append out "/test") - (lambda (p) - (display '(hello guix) p)))))) - (build-expression->derivation store "goo" builder)) - address@hidden # @dots{}> address@hidden lisp - @node The Store Monad @section The Store Monad -- 2.6.3