Commit 827b70a9 authored by Kasper Gałkowski's avatar Kasper Gałkowski
Browse files

doc/lisp: document arguments of buildASDFSystem

parent 9ce6e34d
Loading
Loading
Loading
Loading
+19 −7
Original line number Diff line number Diff line
@@ -144,8 +144,9 @@ In that file, use the `build-asdf-system` function, which is a wrapper around
as `build-with-compile-into-pwd` for systems which create files during
compilation (such as cl-unicode).

The `build-asdf-system` function is documented with comments in
`nix-cl.nix`. Also, `packages.nix` is full of examples of how to use it.
The `build-asdf-system` function is documented
[here](#lisp-defining-packages-outside). Also, `packages.nix` is full of
examples of how to use it.

## Defining packages manually outside Nixpkgs {#lisp-defining-packages-outside}

@@ -153,8 +154,19 @@ Lisp derivations (`abcl`, `sbcl` etc.) also export the `buildASDFSystem`
function, which is similar to `build-asdf-system` from `packages.nix`, but is
part of the public API.

It takes the following arguments:

- `pname`: the package name
- `version`: the package version
- `src`: the package source
- `patches`: patches to apply to the source before build
- `nativeLibs`: native libraries used by CFFI and grovelling
- `javaLibs`: Java libraries for ABCL
- `lispLibs`: dependencies on other packages build with `buildASDFSystem`
- `systems`: list of systems to build

It can be used to define packages outside Nixpkgs, and, for example, add them
into the package scope with `withOverrides` which will be discussed later.
into the package scope with `withOverrides`.

### Including an external package in scope {#lisp-including-external-pkg-in-scope}