forked from mirrors/nixpkgs
3bf2c2f2d1
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.
(cherry picked from commit 5daee73ce4
)
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
|
|
'';
|
|
}
|