summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
authorraingloom <raingloom@riseup.net>2020-10-13 09:26:52 +0200
committerLudovic Courtès <ludo@gnu.org>2020-12-03 16:18:33 +0100
commit64f032d73f83727c0d06a1ea6531c226593ee976 (patch)
treecac4cfdcba62748fe875ba9d7a47d7f1bf04b004 /doc
parent918a643bf905de2e027be50ca9a461f4af811e32 (diff)
build-system: Add chicken-build-system.
* guix/build-system/chicken.scm: New file. * guix/build/chicken-build-system.scm: New file. * Makefile.am: Add them. * doc/guix.texi: Document it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'doc')
-rw-r--r--doc/guix.texi22
1 files changed, 22 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi
index 889f380108..9835d19d2b 100644
--- a/doc/guix.texi
+++ b/doc/guix.texi
@@ -7335,6 +7335,28 @@ parameters available to cargo. It will also remove an included
defined by the crate.
@end defvr
+@defvr {Scheme Variable} chicken-build-system
+This variable is exported by @code{(guix build-system chicken)}.
+It builds Chicken Scheme modules (also called ``eggs'' or ``extensions'').
+Chicken generates C source code, which then gets compiled by a C compiler,
+in this case GCC.
+
+It adds @code{chicken} to the package inputs, as well as the packages of
+@code{gnu-build-system}.
+
+The build system can't (yet) deduce the egg's name automatically, so just like
+with @code{go-build-system} and its @code{#:import-path}, you should define
+@code{#:egg-name} in the package's @code{arguments} field.
+
+For example, if you are packaging the srfi-1 egg:
+@lisp
+(arguments '(#:egg-name "srfi-1"))
+@end lisp
+
+Egg dependencies must be defined in @code{propagated-inputs}, not @code{inputs}
+because Chicken doesn't embed absolute references in compiled eggs.
+Test dependecies should go to @code{native-inputs}, as usual.
+@end defvr
@defvr {Scheme Variable} copy-build-system
This variable is exported by @code{(guix build-system copy)}. It