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'
 | 
						|
  '';
 | 
						|
}
 |