mirror of
https://github.com/NixOS/nixpkgs.git
synced 2025-06-11 04:05:40 +03:00
doc: build placeholder epub in its own derivation
mostly to clean up the main manual build makefile and derivation a bit. not technically necessary, but will make life easier later.
This commit is contained in:
parent
538b3d1b3c
commit
a5414c29a0
2 changed files with 44 additions and 41 deletions
15
doc/Makefile
15
doc/Makefile
|
@ -17,7 +17,7 @@ pandoc_flags = --extract-media=$(pandoc_media_dir) \
|
||||||
-f commonmark$(pandoc_commonmark_enabled_extensions)+smart
|
-f commonmark$(pandoc_commonmark_enabled_extensions)+smart
|
||||||
|
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
all: validate format out/html/index.html out/epub/manual.epub
|
all: validate format out/html/index.html
|
||||||
|
|
||||||
.PHONY: render-md
|
.PHONY: render-md
|
||||||
render-md: ${MD_TARGETS}
|
render-md: ${MD_TARGETS}
|
||||||
|
@ -66,19 +66,6 @@ out/html/index.html: doc-support/result manual-full.xml style.css highlightjs
|
||||||
cp doc-support/result/xsl/docbook/images/callouts/*.svg out/html/images/callouts/
|
cp doc-support/result/xsl/docbook/images/callouts/*.svg out/html/images/callouts/
|
||||||
chmod u+w -R out/html/
|
chmod u+w -R out/html/
|
||||||
|
|
||||||
out/epub/manual.epub: epub.xml
|
|
||||||
mkdir -p out/epub/scratch
|
|
||||||
xsltproc --nonet \
|
|
||||||
--output out/epub/scratch/ \
|
|
||||||
doc-support/result/epub.xsl \
|
|
||||||
./epub.xml
|
|
||||||
|
|
||||||
echo "application/epub+zip" > mimetype
|
|
||||||
zip -0Xq "out/epub/manual.epub" mimetype
|
|
||||||
rm mimetype
|
|
||||||
cd "out/epub/scratch/" && zip -Xr9D "../manual.epub" *
|
|
||||||
rm -rf "out/epub/scratch/"
|
|
||||||
|
|
||||||
highlightjs: doc-support/result
|
highlightjs: doc-support/result
|
||||||
mkdir -p highlightjs
|
mkdir -p highlightjs
|
||||||
cp -r doc-support/result/highlightjs/highlight.pack.js highlightjs/
|
cp -r doc-support/result/highlightjs/highlight.pack.js highlightjs/
|
||||||
|
|
|
@ -1,24 +1,9 @@
|
||||||
{ pkgs ? (import ./.. { }), nixpkgs ? { }}:
|
{ pkgs ? (import ./.. { }), nixpkgs ? { }}:
|
||||||
let
|
let
|
||||||
doc-support = import ./doc-support { inherit pkgs nixpkgs; };
|
doc-support = import ./doc-support { inherit pkgs nixpkgs; };
|
||||||
in pkgs.stdenv.mkDerivation {
|
|
||||||
name = "nixpkgs-manual";
|
|
||||||
|
|
||||||
nativeBuildInputs = with pkgs; [
|
epub = pkgs.runCommand "manual.epub" {
|
||||||
pandoc
|
nativeBuildInputs = with pkgs; [ libxslt zip ];
|
||||||
graphviz
|
|
||||||
libxml2
|
|
||||||
libxslt
|
|
||||||
zip
|
|
||||||
jing
|
|
||||||
xmlformat
|
|
||||||
];
|
|
||||||
|
|
||||||
src = pkgs.nix-gitignore.gitignoreSource [] ./.;
|
|
||||||
|
|
||||||
postPatch = ''
|
|
||||||
ln -s ${doc-support} ./doc-support/result
|
|
||||||
'';
|
|
||||||
|
|
||||||
epub = ''
|
epub = ''
|
||||||
<book xmlns="http://docbook.org/ns/docbook"
|
<book xmlns="http://docbook.org/ns/docbook"
|
||||||
|
@ -43,10 +28,41 @@ in pkgs.stdenv.mkDerivation {
|
||||||
</chapter>
|
</chapter>
|
||||||
</book>
|
</book>
|
||||||
'';
|
'';
|
||||||
|
|
||||||
passAsFile = [ "epub" ];
|
passAsFile = [ "epub" ];
|
||||||
|
} ''
|
||||||
|
mkdir scratch
|
||||||
|
xsltproc \
|
||||||
|
--param chapter.autolabel 0 \
|
||||||
|
--nonet \
|
||||||
|
--output scratch/ \
|
||||||
|
${pkgs.docbook_xsl_ns}/xml/xsl/docbook/epub/docbook.xsl \
|
||||||
|
$epubPath
|
||||||
|
|
||||||
|
echo "application/epub+zip" > mimetype
|
||||||
|
zip -0Xq "$out" mimetype
|
||||||
|
cd scratch && zip -Xr9D "$out" *
|
||||||
|
'';
|
||||||
|
in pkgs.stdenv.mkDerivation {
|
||||||
|
name = "nixpkgs-manual";
|
||||||
|
|
||||||
|
nativeBuildInputs = with pkgs; [
|
||||||
|
pandoc
|
||||||
|
graphviz
|
||||||
|
libxml2
|
||||||
|
libxslt
|
||||||
|
zip
|
||||||
|
jing
|
||||||
|
xmlformat
|
||||||
|
];
|
||||||
|
|
||||||
|
src = pkgs.nix-gitignore.gitignoreSource [] ./.;
|
||||||
|
|
||||||
|
postPatch = ''
|
||||||
|
ln -s ${doc-support} ./doc-support/result
|
||||||
|
'';
|
||||||
|
|
||||||
preBuild = ''
|
preBuild = ''
|
||||||
cp $epubPath epub.xml
|
|
||||||
make -j$NIX_BUILD_CORES render-md
|
make -j$NIX_BUILD_CORES render-md
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
@ -56,7 +72,7 @@ in pkgs.stdenv.mkDerivation {
|
||||||
mv out/html "$dest"
|
mv out/html "$dest"
|
||||||
mv "$dest/index.html" "$dest/manual.html"
|
mv "$dest/index.html" "$dest/manual.html"
|
||||||
|
|
||||||
mv out/epub/manual.epub "$dest/nixpkgs-manual.epub"
|
cp ${epub} "$dest/nixpkgs-manual.epub"
|
||||||
|
|
||||||
mkdir -p $out/nix-support/
|
mkdir -p $out/nix-support/
|
||||||
echo "doc manual $dest manual.html" >> $out/nix-support/hydra-build-products
|
echo "doc manual $dest manual.html" >> $out/nix-support/hydra-build-products
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue