summary refs log tree commit diff
path: root/doc/default.nix
blob: 1e8974d6026627e4b368890a978aa5635c1c3c18 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
with import ./.. { };
with lib;

stdenv.mkDerivation {
  name = "nixpkgs-manual";

  sources = sourceFilesBySuffices ./. [".xml"];

  buildInputs = [ libxml2 libxslt ];

  xsltFlags = ''
    --param section.autolabel 1
    --param section.label.includes.component.label 1
    --param html.stylesheet 'style.css'
    --param xref.with.number.and.title 1
    --param toc.section.depth 3
    --param admon.style '''
    --param callout.graphics.extension '.gif'
  '';

  buildCommand = ''
    ln -s $sources/*.xml . # */

    echo ${nixpkgsVersion} > .version

    xmllint --noout --nonet --xinclude --noxincludenode \
      --relaxng ${docbook5}/xml/rng/docbook/docbook.rng \
      manual.xml

    dst=$out/share/doc/nixpkgs
    mkdir -p $dst
    xsltproc $xsltFlags --nonet --xinclude \
      --output $dst/manual.html \
      ${docbook5_xsl}/xml/xsl/docbook/xhtml/docbook.xsl \
      ./manual.xml

    cp ${./style.css} $dst/style.css

    mkdir -p $out/nix-support
    echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products
  '';
}