forked from mirrors/nixpkgs
0c99dac497
Modifies the build process of the manual to invoke nixdoc automatically to generate XML files with function documentation. Currently documentation is present for five of the files in `lib/`. To add another file to the generated docs, both `doc/functions/library.xml` and `doc/lib-function-docs.nix` must be updated.
27 lines
770 B
Nix
27 lines
770 B
Nix
# Generates the documentation for library functons via nixdoc. To add
|
|
# another library function file to this list, the include list in the
|
|
# file `doc/functions/library.xml` must also be updated.
|
|
|
|
{ pkgs ? import ./.. {}, locationsXml }:
|
|
|
|
with pkgs; stdenv.mkDerivation {
|
|
name = "nixpkgs-lib-docs";
|
|
src = ./../lib;
|
|
|
|
buildInputs = [ nixdoc ];
|
|
installPhase = ''
|
|
function docgen {
|
|
nixdoc -c "$1" -d "$2" -f "../lib/$1.nix" > "$out/$1.xml"
|
|
}
|
|
|
|
mkdir -p $out
|
|
ln -s ${locationsXml} $out/locations.xml
|
|
|
|
docgen strings 'String manipulation functions'
|
|
docgen trivial 'Miscellaneous functions'
|
|
docgen lists 'List manipulation functions'
|
|
docgen debug 'Debugging functions'
|
|
docgen options 'NixOS / nixpkgs option handling'
|
|
'';
|
|
}
|