1
0
mirror of https://git.savannah.gnu.org/git/guix.git synced 2026-05-25 02:21:49 +02:00

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.
This commit is contained in:
Hartmut Goebel
2020-05-28 22:15:32 +02:00
parent 2f3cea45b9
commit 97586ca1cb
4 changed files with 335 additions and 0 deletions
+43
View File
@@ -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 dont 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