summary refs log tree commit diff
path: root/doc/default.nix
diff options
context:
space:
mode:
authorChristine Koppelt <cko@users.noreply.github.com>2016-07-20 17:57:31 +0200
committerDomen Kožar <domen@dev.si>2016-07-20 17:57:31 +0200
commit27e72d14afefbac0845e6526332078631e5c64f5 (patch)
tree7d2f36fa16c1e08e4f16443151f4077f00468e7c /doc/default.nix
parent61faa4415ebd4f8b4f8c42728d7939a5162f7702 (diff)
downloadnixlib-27e72d14afefbac0845e6526332078631e5c64f5.tar
nixlib-27e72d14afefbac0845e6526332078631e5c64f5.tar.gz
nixlib-27e72d14afefbac0845e6526332078631e5c64f5.tar.bz2
nixlib-27e72d14afefbac0845e6526332078631e5c64f5.tar.lz
nixlib-27e72d14afefbac0845e6526332078631e5c64f5.tar.xz
nixlib-27e72d14afefbac0845e6526332078631e5c64f5.tar.zst
nixlib-27e72d14afefbac0845e6526332078631e5c64f5.zip
add epub for nixpkgs manual ( #15575 ) (#17053)
* add epub for nixpkgs manual ( #15575 )

* change epub filename (interpreted as title & author by some epub readers)
Diffstat (limited to 'doc/default.nix')
-rw-r--r--doc/default.nix30
1 files changed, 20 insertions, 10 deletions
diff --git a/doc/default.nix b/doc/default.nix
index 076703213e48..f4f467b1f5a0 100644
--- a/doc/default.nix
+++ b/doc/default.nix
@@ -1,14 +1,14 @@
-with import ./.. { };
-with lib;
 let
-  sources = sourceFilesBySuffices ./. [".xml"];
+  pkgs = import ./.. { };
+  lib = pkgs.lib;
+  sources = lib.sourceFilesBySuffices ./. [".xml"];
   sources-langs = ./languages-frameworks;
 in
-stdenv.mkDerivation {
+pkgs.stdenv.mkDerivation {
   name = "nixpkgs-manual";
 
 
-  buildInputs = [ pandoc libxml2 libxslt ];
+  buildInputs = with pkgs; [ pandoc libxml2 libxslt zip ];
 
   xsltFlags = ''
     --param section.autolabel 1
@@ -26,7 +26,7 @@ stdenv.mkDerivation {
       extraHeader = ''xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" '';
     in ''
       {
-        pandoc '${inputFile}' -w docbook ${optionalString useChapters "--chapters"} \
+        pandoc '${inputFile}' -w docbook ${lib.optionalString useChapters "--chapters"} \
           --smart \
           | sed -e 's|<ulink url=|<link xlink:href=|' \
               -e 's|</ulink>|</link>|' \
@@ -65,25 +65,35 @@ stdenv.mkDerivation {
       outputFile = "languages-frameworks/r.xml";
     }
   + ''
-    echo ${nixpkgsVersion} > .version
+    echo ${lib.nixpkgsVersion} > .version
 
     # validate against relaxng schema
     xmllint --nonet --xinclude --noxincludenode manual.xml --output manual-full.xml
-    ${jing}/bin/jing ${docbook5}/xml/rng/docbook/docbook.rng manual-full.xml
+    ${pkgs.jing}/bin/jing ${pkgs.docbook5}/xml/rng/docbook/docbook.rng manual-full.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 \
+      ${pkgs.docbook5_xsl}/xml/xsl/docbook/xhtml/docbook.xsl \
       ./manual.xml
 
     cp ${./style.css} $dst/style.css
 
     mkdir -p $dst/images/callouts
-    cp "${docbook5_xsl}/xml/xsl/docbook/images/callouts/"*.gif $dst/images/callouts/
+    cp "${pkgs.docbook5_xsl}/xml/xsl/docbook/images/callouts/"*.gif $dst/images/callouts/
 
     mkdir -p $out/nix-support
     echo "doc manual $dst manual.html" >> $out/nix-support/hydra-build-products
+
+    xsltproc $xsltFlags --nonet --xinclude \
+      --output $dst/epub/ \
+      ${pkgs.docbook5_xsl}/xml/xsl/docbook/epub/docbook.xsl \
+      ./manual.xml
+
+    cp -r $dst/images $dst/epub/OEBPS
+    echo "application/epub+zip" > mimetype
+    zip -0Xq  "$dst/Nixpkgs Contributors Guide - NixOS community.epub" mimetype
+    zip -Xr9D "$dst/Nixpkgs Contributors Guide - NixOS community.epub" $dst/epub/*
   '';
 }