 5daee73ce4
			
		
	
	
		5daee73ce4
		
			
		
	
	
	
	
		
			
			Hydra passes the full revision in to the input, which we pass through. If we don't get this ,we try to get it from other sources, or default to master which should have the definition in a close-ish location. All published docs should have theURL resolve properly, only local hackers will have the link break.
		
			
				
	
	
		
			51 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Nix
		
	
	
	
	
	
| { pkgs ? (import ./.. { }), nixpkgs ? { }}:
 | |
| let
 | |
|   lib = pkgs.lib;
 | |
|   locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs; };
 | |
| in
 | |
| pkgs.stdenv.mkDerivation {
 | |
|   name = "nixpkgs-manual";
 | |
| 
 | |
|   buildInputs = with pkgs; [ pandoc libxml2 libxslt zip jing  xmlformat ];
 | |
| 
 | |
|   src = ./.;
 | |
| 
 | |
|   # Hacking on these variables? Make sure to close and open
 | |
|   # nix-shell between each test, maybe even:
 | |
|   # $ nix-shell --run "make clean all"
 | |
|   # otherwise they won't reapply :)
 | |
|   HIGHLIGHTJS = pkgs.documentation-highlighter;
 | |
|   XSL = "${pkgs.docbook_xsl_ns}/xml/xsl";
 | |
|   RNG = "${pkgs.docbook5}/xml/rng/docbook/docbook.rng";
 | |
|   XMLFORMAT_CONFIG = ../nixos/doc/xmlformat.conf;
 | |
|   xsltFlags = lib.concatStringsSep " " [
 | |
|     "--param section.autolabel 1"
 | |
|     "--param section.label.includes.component.label 1"
 | |
|     "--stringparam html.stylesheet 'style.css overrides.css highlightjs/mono-blue.css'"
 | |
|     "--stringparam html.script './highlightjs/highlight.pack.js ./highlightjs/loader.js'"
 | |
|     "--param xref.with.number.and.title 1"
 | |
|     "--param toc.section.depth 3"
 | |
|     "--stringparam admon.style ''"
 | |
|     "--stringparam callout.graphics.extension .svg"
 | |
|   ];
 | |
| 
 | |
|   postPatch = ''
 | |
|     rm -rf ./functions/library/locations.xml
 | |
|     ln -s ${locationsXml} ./functions/library/locations.xml
 | |
|     echo ${lib.version} > .version
 | |
|   '';
 | |
| 
 | |
|   installPhase = ''
 | |
|     dest="$out/share/doc/nixpkgs"
 | |
|     mkdir -p "$(dirname "$dest")"
 | |
|     mv out/html "$dest"
 | |
|     mv "$dest/index.html" "$dest/manual.html"
 | |
| 
 | |
|     mv out/epub/manual.epub "$dest/nixpkgs-manual.epub"
 | |
| 
 | |
|     mkdir -p $out/nix-support/
 | |
|     echo "doc manual $dest manual.html" >> $out/nix-support/hydra-build-products
 | |
|     echo "doc manual $dest nixpkgs-manual.epub" >> $out/nix-support/hydra-build-products
 | |
|   '';
 | |
| }
 |