mirror of
https://git.savannah.gnu.org/git/guix.git
synced 2026-04-06 13:10:33 +02:00
doc: Add mix-build-system.
* doc/guix.texi: Document mix-build-system and its most common keyword arguments. * gnu/build-system/mix.scm: Update links to documentation without hard coding an Elixir version. Change-Id: I68eb76efaaf5639f0eac2d9b674cdb05008e15a4 Reviewed-by: Hartmut Goebel <h.goebel@crazy-compilers.com> Signed-off-by: Sharlatan Hellseher <sharlatanus@gmail.com>
This commit is contained in:
committed by
Sharlatan Hellseher
parent
80554b297b
commit
3dab48ccbb
@@ -10116,6 +10116,34 @@ directory, the parameter @code{#:javascript-files} can be used to
|
||||
specify a list of file names to feed to the minifier.
|
||||
@end defvar
|
||||
|
||||
@defvar mix-build-system
|
||||
This is a variable exported by @code{guix build-system mix}. It implements
|
||||
the standard build procedure used by Elixr programs with
|
||||
@url{https://hexdocs.pm/mix/Mix.html,Mix}, which consists
|
||||
of running @command{mix compile}, thereby creating bytecode.
|
||||
|
||||
The API is similar to the @var{gnu-build-system}, with some specifics for
|
||||
Elixir:
|
||||
@itemize
|
||||
@item
|
||||
@code{#:tests?} is a boolean, @code{#true} by default, determining whether tests
|
||||
for the current build have to be run or not.
|
||||
@item
|
||||
@code{#:test-flags} is a list of arguments append to the @command{mix test}
|
||||
invocation. It defaults to @code{'()}.
|
||||
@item
|
||||
@code{#:mix-exs}, changes the full path to the @code{mix.exs}
|
||||
file. It defaults to @code{"mix.exs"}. Please refer to
|
||||
@url{https://hexdocs.pm/mix/Mix.html#module-environment-variables,upstream}
|
||||
documentation for more details.
|
||||
@item
|
||||
@code{#:mix-path}, appends extra code paths. It
|
||||
defaults to @code{#f}. Please refer to
|
||||
@url{https://hexdocs.pm/mix/Mix.html#module-environment-variables,upstream}
|
||||
documentation for more details.
|
||||
@end itemize
|
||||
@end defvar
|
||||
|
||||
@defvar mozilla-build-system
|
||||
This variable is exported by @code{(guix build-system mozilla)}. It
|
||||
sets the @code{--target} and @code{--host} configuration flags to what
|
||||
|
||||
@@ -66,9 +66,9 @@ See: https://github.com/hexpm/specifications/blob/main/endpoints.md"
|
||||
|
||||
;; A number of environment variables specific to the Mix build system are
|
||||
;; reflected here. They are documented at
|
||||
;; https://hexdocs.pm/mix/1.15.7/Mix.html#module-environment-variables. Other
|
||||
;; https://hexdocs.pm/mix/Mix.html#module-environment-variables. Other
|
||||
;; parameters located in mix.exs are defined at
|
||||
;; https://hexdocs.pm/mix/1.15.7/Mix.Project.html#module-configuration
|
||||
;; https://hexdocs.pm/mix/Mix.Project.html#module-configuration
|
||||
(define* (mix-build name
|
||||
inputs
|
||||
#:key
|
||||
@@ -90,9 +90,9 @@ See: https://github.com/hexpm/specifications/blob/main/endpoints.md"
|
||||
"Build SOURCE using Elixir, and with INPUTS."
|
||||
|
||||
;; Check the documentation of :build_per_environment here:
|
||||
;; https://hexdocs.pm/mix/1.15.7/Mix.Project.html#module-configuration And
|
||||
;; https://hexdocs.pm/mix/Mix.Project.html#module-configuration And
|
||||
;; "Environments" here:
|
||||
;; https://hexdocs.pm/mix/1.15.7/Mix.html#module-environments
|
||||
;; https://hexdocs.pm/mix/Mix.html#module-environments
|
||||
(define mix-environments
|
||||
(if build-per-environment
|
||||
`("prod" ,@(if tests? '("test") '()))
|
||||
|
||||
Reference in New Issue
Block a user