diff options
author | Vincent Ambo <mail@tazj.in> | 2018-12-30 01:10:19 +0100 |
---|---|---|
committer | Frederik Rietdijk <freddyrietdijk@fridh.nl> | 2019-01-04 11:28:27 +0100 |
commit | 0c99dac49735d3a7c20d231c4d7b1dc057bc81df (patch) | |
tree | a45072f55fc1c27189c95285d17512c3632a7bb3 /doc/lib-function-docs.nix | |
parent | eab0c3258ff90ee1023b2488e2237b315d8d486b (diff) | |
download | nixpkgs-0c99dac49735d3a7c20d231c4d7b1dc057bc81df.tar nixpkgs-0c99dac49735d3a7c20d231c4d7b1dc057bc81df.tar.gz nixpkgs-0c99dac49735d3a7c20d231c4d7b1dc057bc81df.tar.bz2 nixpkgs-0c99dac49735d3a7c20d231c4d7b1dc057bc81df.tar.lz nixpkgs-0c99dac49735d3a7c20d231c4d7b1dc057bc81df.tar.xz nixpkgs-0c99dac49735d3a7c20d231c4d7b1dc057bc81df.tar.zst nixpkgs-0c99dac49735d3a7c20d231c4d7b1dc057bc81df.zip |
doc: Add automatic generation of library function documentation
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.
Diffstat (limited to 'doc/lib-function-docs.nix')
-rw-r--r-- | doc/lib-function-docs.nix | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/doc/lib-function-docs.nix b/doc/lib-function-docs.nix new file mode 100644 index 00000000000..421f848d25a --- /dev/null +++ b/doc/lib-function-docs.nix @@ -0,0 +1,26 @@ +# 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' + ''; +} |