diff options
author | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2020-05-28 22:15:32 +0200 |
---|---|---|
committer | Hartmut Goebel <h.goebel@crazy-compilers.com> | 2022-06-15 10:17:25 +0200 |
commit | 97586ca1cb25aed9da13c9cc7de152346be0a093 (patch) | |
tree | 64c2a56c01bd78bc10697c16e05c406a80472bd4 /doc/guix.texi | |
parent | 2f3cea45b97533e3bb480e69ff88810c43f389f7 (diff) |
build-system: Add 'rebar-build-system'.
* guix/build-system/rebar.scm, guix/build/rebar-build-system.scm: New files.
* Makefile.am (MODULES): Add them.
* doc/guix.texi (Build Systems): Update rebar-build-system section.
Diffstat (limited to 'doc/guix.texi')
-rw-r--r-- | doc/guix.texi | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index 143bf36403..826e83007f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -9258,6 +9258,49 @@ with @code{#:zef} or removed by passing @code{#f} to the @code{with-zef?} parameter. @end defvr +@defvr {Scheme Variable} rebar-build-system +This variable is exported by @code{(guix build-system rebar)}. It +implements a build procedure around @uref{https://rebar3.org,rebar3}, +a build system for programs written in the Erlang language. + +It adds both @code{rebar3} and the @code{erlang} to the set of inputs. +Different packages can be specified with the @code{#:rebar} and +@code{#:erlang} parameters, respectively. + +This build system is based on @code{gnu-build-system}, but with the +following phases changed: + +@table @code + +@item unpack +This phase, after unpacking the source like the @code{gnu-build-system} +does, checks for a file @code{contents.tar.gz} at the top-level of the +source. If this file exists, it will be unpacked, too. This eases +handling of package hosted at @uref{https://hex.pm/}, +the Erlang and Elixir package repository. + +@item bootstrap +@item configure +There are no @code{bootstrap} and @code{configure} phase because erlang +packages typically don’t need to be configured. + +@item build +This phase runs @code{rebar3 compile} +with the flags listed in @code{#:rebar-flags}. + +@item check +Unless @code{#:tests? #f} is passed, +this phase runs @code{rebar3 eunit}, +or some other target specified with @code{#:test-target}, +with the flags listed in @code{#:rebar-flags}, + +@item install +This installs the files created in the @i{default} profile, or some +other profile specified with @code{#:install-profile}. + +@end table +@end defvr + @defvr {Scheme Variable} texlive-build-system This variable is exported by @code{(guix build-system texlive)}. It is used to build TeX packages in batch mode with a specified engine. The |