summary refs log tree commit diff
path: root/doc
diff options
context:
space:
mode:
authorJulien Lepiller <julien@lepiller.eu>2018-12-18 21:43:53 +0100
committerJulien Lepiller <julien@lepiller.eu>2018-12-18 22:16:23 +0100
commit6e8986c8388e889eb74509999aea826fd440dcc4 (patch)
treefff8eafadede4056fa3efaebd2eeedc854c4fe84 /doc
parentd852cf9e331888c23b4f9377064145ae74339644 (diff)
downloadguix-6e8986c8388e889eb74509999aea826fd440dcc4.tar.gz
build: Add dune-build-system.
* guix/build/dune-build-system.scm,
  guix/build-system/dune.scm: New files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Document dune-build-system.
* guix/build-system/ocaml.scm (lower, default-findlib, default-ocaml): Export
them.
(package-with-explicit-ocaml): Also transform packages built with
dune-build-system.
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi21
1 files changed, 21 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 6c5324ee0b..8f6a8b3ed2 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -4512,6 +4512,27 @@ debugging information''), which roughly means that code is compiled with
 @code{-O2 -g}, as is the case for Autoconf-based packages by default.
 @end defvr
 
+@defvr {Scheme Variable} dune-build-system
+This variable is exported by @code{(guix build-system dune)}.  It
+supports builds of packages using @uref{https://dune.build/, Dune}, a build
+tool for the OCaml programming language.  It is implemented as an extension
+of the @code{ocaml-build-system} which is described below.  As such, the
+@code{#:ocaml} and @code{#:findlib} parameters can be passed to this build
+system.
+
+It automatically adds the @code{dune} package to the set of inputs.
+Which package is used can be specified with the @code{#:dune}
+parameter.
+
+There is no @code{configure} phase because dune packages typically don't
+need to be configured.  The @code{#:build-flags} parameter is taken as a
+list of flags passed to the @code{dune} command during the build.
+
+The @code{#:jbuild?} parameter can be passed to use the @code{jbuild}
+command instead of the more recent @code{dune} command while building
+a package.  Its default value is @code{#f}.
+@end defvr
+
 @defvr {Scheme Variable} go-build-system
 This variable is exported by @code{(guix build-system go)}.  It
 implements a build procedure for Go packages using the standard