diff options
author | nixo <nicolo@nixo.xyz> | 2019-07-29 18:45:26 +0200 |
---|---|---|
committer | Julien Lepiller <julien@lepiller.eu> | 2019-09-04 22:17:38 +0200 |
commit | a44a535ebecd40c52514623a44d31d927ecca9da (patch) | |
tree | aafd9661db069625d6709a1e816f165a516a5873 /doc/guix.texi | |
parent | 4ab97ef18fa9923f00865c2d3f79bead247aa5e3 (diff) | |
download | guix-a44a535ebecd40c52514623a44d31d927ecca9da.tar.gz |
build: Add julia-build-system.
* guix/build/julia-build-system.scm: New file. * guix/build-system/julia.scm: New file. * Makefile.am (MODULES): Add them. * doc/guix.texi (Build Systems): Document julia-build-system. Signed-off-by: Julien Lepiller <julien@lepiller.eu>
Diffstat (limited to 'doc/guix.texi')
-rw-r--r-- | doc/guix.texi | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/doc/guix.texi b/doc/guix.texi index a078822871..6d6a09b36b 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -6034,6 +6034,29 @@ Packages built with @code{guile-build-system} must provide a Guile package in their @code{native-inputs} field. @end defvr +@defvr {Scheme Variable} julia-build-system +This variable is exported by @code{(guix build-system julia)}. It implements +the build procedure used by @uref{https://julialang.org/, julia} packages, +which essentially is similar to running @command{julia -e 'using Pkg; +Pkg.add(package)'} in an environment where @code{JULIA_LOAD_PATH} contains the +paths to all Julia package inputs. Tests are run not run. + +Julia packages require the source @code{file-name} to be the real name of the +package, correctly capitalized. + +For packages requiring shared library dependencies, you may need to write the +@file{/deps/deps.jl} file manually. It's usually a line of @code{const +variable = /gnu/store/libary.so} for each dependency, plus a void function +@code{check_deps() = nothing}. + +Some older packages that aren't using @file{Package.toml} yet, will require +this file to be created, too. The function @code{julia-create-package-toml} +helps creating the file. You need to pass the outputs and the source of the +package, it's name (the same as the @code{file-name} parameter), the package +uuid, the package version, and a list of dependencies specified by their name +and their uuid. +@end defvr + @defvr {Scheme Variable} minify-build-system This variable is exported by @code{(guix build-system minify)}. It implements a minification procedure for simple JavaScript packages. |