2018-10-05 15:46:58 +01:00
|
|
|
{ pkgs ? (import ./.. { }), nixpkgs ? { }}:
|
2015-12-19 15:04:36 +00:00
|
|
|
let
|
2016-07-20 16:57:31 +01:00
|
|
|
lib = pkgs.lib;
|
2018-10-05 15:46:58 +01:00
|
|
|
locationsXml = import ./lib-function-locations.nix { inherit pkgs nixpkgs; };
|
2018-12-30 00:10:19 +00:00
|
|
|
functionDocs = import ./lib-function-docs.nix { inherit locationsXml pkgs; };
|
|
|
|
in pkgs.stdenv.mkDerivation {
|
2014-08-24 10:02:23 +01:00
|
|
|
name = "nixpkgs-manual";
|
|
|
|
|
2018-05-01 03:35:54 +01:00
|
|
|
buildInputs = with pkgs; [ pandoc libxml2 libxslt zip jing xmlformat ];
|
2014-08-24 10:02:23 +01:00
|
|
|
|
2018-03-24 15:36:10 +00:00
|
|
|
src = ./.;
|
|
|
|
|
2018-03-26 13:24:27 +01:00
|
|
|
# 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;
|
2018-07-17 21:11:16 +01:00
|
|
|
XSL = "${pkgs.docbook_xsl_ns}/xml/xsl";
|
2018-03-24 15:36:10 +00:00
|
|
|
RNG = "${pkgs.docbook5}/xml/rng/docbook/docbook.rng";
|
2018-05-01 03:35:54 +01:00
|
|
|
XMLFORMAT_CONFIG = ../nixos/doc/xmlformat.conf;
|
2018-03-24 15:36:10 +00:00
|
|
|
xsltFlags = lib.concatStringsSep " " [
|
|
|
|
"--param section.autolabel 1"
|
|
|
|
"--param section.label.includes.component.label 1"
|
2018-03-26 13:24:27 +01:00
|
|
|
"--stringparam html.stylesheet 'style.css overrides.css highlightjs/mono-blue.css'"
|
|
|
|
"--stringparam html.script './highlightjs/highlight.pack.js ./highlightjs/loader.js'"
|
2018-03-24 15:36:10 +00:00
|
|
|
"--param xref.with.number.and.title 1"
|
|
|
|
"--param toc.section.depth 3"
|
2018-03-26 19:04:19 +01:00
|
|
|
"--stringparam admon.style ''"
|
|
|
|
"--stringparam callout.graphics.extension .svg"
|
2018-03-24 15:36:10 +00:00
|
|
|
];
|
|
|
|
|
|
|
|
postPatch = ''
|
2018-10-05 15:46:58 +01:00
|
|
|
rm -rf ./functions/library/locations.xml
|
|
|
|
ln -s ${locationsXml} ./functions/library/locations.xml
|
2018-12-30 00:10:19 +00:00
|
|
|
ln -s ${functionDocs} ./functions/library/generated
|
2018-04-26 09:31:05 +01:00
|
|
|
echo ${lib.version} > .version
|
2018-03-24 15:36:10 +00:00
|
|
|
'';
|
2014-08-24 10:02:23 +01:00
|
|
|
|
2018-03-24 15:36:10 +00:00
|
|
|
installPhase = ''
|
|
|
|
dest="$out/share/doc/nixpkgs"
|
|
|
|
mkdir -p "$(dirname "$dest")"
|
|
|
|
mv out/html "$dest"
|
|
|
|
mv "$dest/index.html" "$dest/manual.html"
|
2016-07-20 16:57:31 +01:00
|
|
|
|
2018-03-24 15:36:10 +00:00
|
|
|
mv out/epub/manual.epub "$dest/nixpkgs-manual.epub"
|
2016-07-20 16:57:31 +01:00
|
|
|
|
2018-03-24 15:36:10 +00:00
|
|
|
mkdir -p $out/nix-support/
|
|
|
|
echo "doc manual $dest manual.html" >> $out/nix-support/hydra-build-products
|
2018-06-06 21:36:17 +01:00
|
|
|
echo "doc manual $dest nixpkgs-manual.epub" >> $out/nix-support/hydra-build-products
|
2014-08-24 10:02:23 +01:00
|
|
|
'';
|
|
|
|
}
|