nixos/manualPDF: use new texlive
instead of tetex
This includes updating dblatex and crafting ~100 MB TeX package set to make our manual compile.
This commit is contained in:
parent
23ed438d5a
commit
9bd0bac311
@ -146,12 +146,9 @@ in rec {
|
|||||||
|
|
||||||
inherit sources;
|
inherit sources;
|
||||||
|
|
||||||
buildInputs = [ libxml2 libxslt dblatex tetex ];
|
buildInputs = [ libxml2 libxslt dblatex dblatex.tex ];
|
||||||
|
|
||||||
buildCommand = ''
|
buildCommand = ''
|
||||||
# TeX needs a writable font cache.
|
|
||||||
export VARTEXFONTS=$TMPDIR/texfonts
|
|
||||||
|
|
||||||
${copySources}
|
${copySources}
|
||||||
|
|
||||||
dst=$out/share/doc/nixos
|
dst=$out/share/doc/nixos
|
||||||
@ -162,7 +159,7 @@ in rec {
|
|||||||
|
|
||||||
mkdir -p $out/nix-support
|
mkdir -p $out/nix-support
|
||||||
echo "doc-pdf manual $dst/manual.pdf" >> $out/nix-support/hydra-build-products
|
echo "doc-pdf manual $dst/manual.pdf" >> $out/nix-support/hydra-build-products
|
||||||
''; # */
|
'';
|
||||||
};
|
};
|
||||||
|
|
||||||
# Generate the NixOS manpages.
|
# Generate the NixOS manpages.
|
||||||
|
@ -1,5 +1,14 @@
|
|||||||
{ stdenv, fetchurl, python, libxslt, tetex
|
{ stdenv, fetchurl, python, libxslt, texlive
|
||||||
, enableAllFeatures ? false, imagemagick ? null, transfig ? null, inkscape ? null, fontconfig ? null, ghostscript ? null }:
|
, enableAllFeatures ? false, imagemagick ? null, transfig ? null, inkscape ? null, fontconfig ? null, ghostscript ? null
|
||||||
|
|
||||||
|
, tex ? texlive.combine { # satisfy all packages that ./configure mentions
|
||||||
|
inherit (texlive) scheme-basic epstopdf anysize appendix changebar
|
||||||
|
fancybox fancyvrb float footmisc listings jknapltx/*for mathrsfs.sty*/
|
||||||
|
multirow overpic pdfpages rotating stmaryrd subfigure titlesec wasysym
|
||||||
|
# pkgs below don't seem requested by dblatex, but our manual fails without them
|
||||||
|
ec zapfding symbol eepic times rsfs cs tex4ht courier helvetic ly1;
|
||||||
|
}
|
||||||
|
}:
|
||||||
|
|
||||||
# NOTE: enableAllFeatures just purifies the expression, it doesn't actually
|
# NOTE: enableAllFeatures just purifies the expression, it doesn't actually
|
||||||
# enable any extra features.
|
# enable any extra features.
|
||||||
@ -12,14 +21,14 @@ assert enableAllFeatures ->
|
|||||||
ghostscript != null;
|
ghostscript != null;
|
||||||
|
|
||||||
stdenv.mkDerivation rec {
|
stdenv.mkDerivation rec {
|
||||||
name = "dblatex-0.3.4";
|
name = "dblatex-0.3.7";
|
||||||
|
|
||||||
src = fetchurl {
|
src = fetchurl {
|
||||||
url = "mirror://sourceforge/dblatex/${name}.tar.bz2";
|
url = "mirror://sourceforge/dblatex/${name}.tar.bz2";
|
||||||
sha256 = "120w3wm07qx0k1grgdhjwm2vpwil71icshjvqznskp1f6ggch290";
|
sha256 = "0bkjgrn03dy5c7438s429wnv6z5ynxkr4pbhp2z49kynskgkzkjr";
|
||||||
};
|
};
|
||||||
|
|
||||||
buildInputs = [ python libxslt tetex ]
|
buildInputs = [ python libxslt tex ]
|
||||||
++ stdenv.lib.optionals enableAllFeatures [ imagemagick transfig ];
|
++ stdenv.lib.optionals enableAllFeatures [ imagemagick transfig ];
|
||||||
|
|
||||||
# TODO: dblatex tries to execute texindy command, but nixpkgs doesn't have
|
# TODO: dblatex tries to execute texindy command, but nixpkgs doesn't have
|
||||||
@ -31,11 +40,11 @@ stdenv.mkDerivation rec {
|
|||||||
sed -e 's|cmd = \["xsltproc|cmd = \["${libxslt}/bin/xsltproc|g' \
|
sed -e 's|cmd = \["xsltproc|cmd = \["${libxslt}/bin/xsltproc|g' \
|
||||||
-e 's|Popen(\["xsltproc|Popen(\["${libxslt}/bin/xsltproc|g' \
|
-e 's|Popen(\["xsltproc|Popen(\["${libxslt}/bin/xsltproc|g' \
|
||||||
-e 's|cmd = \["texindy|cmd = ["nixpkgs_is_missing_texindy|g' \
|
-e 's|cmd = \["texindy|cmd = ["nixpkgs_is_missing_texindy|g' \
|
||||||
-e 's|cmd = "epstopdf|cmd = "${tetex}/bin/epstopdf|g' \
|
-e 's|cmd = "epstopdf|cmd = "${tex}/bin/epstopdf|g' \
|
||||||
-e 's|cmd = \["makeindex|cmd = ["${tetex}/bin/makeindex|g' \
|
-e 's|cmd = \["makeindex|cmd = ["${tex}/bin/makeindex|g' \
|
||||||
-e 's|doc.program = "pdflatex"|doc.program = "${tetex}/bin/pdflatex"|g' \
|
-e 's|doc.program = "pdflatex"|doc.program = "${tex}/bin/pdflatex"|g' \
|
||||||
-e 's|self.program = "latex"|self.program = "${tetex}/bin/latex"|g' \
|
-e 's|self.program = "latex"|self.program = "${tex}/bin/latex"|g' \
|
||||||
-e 's|Popen("pdflatex|Popen("${tetex}/bin/pdflatex|g' \
|
-e 's|Popen("pdflatex|Popen("${tex}/bin/pdflatex|g' \
|
||||||
-e 's|"fc-match"|"${fontconfig}/bin/fc-match"|g' \
|
-e 's|"fc-match"|"${fontconfig}/bin/fc-match"|g' \
|
||||||
-e 's|"fc-list"|"${fontconfig}/bin/fc-list"|g' \
|
-e 's|"fc-list"|"${fontconfig}/bin/fc-list"|g' \
|
||||||
-e 's|cmd = "inkscape|cmd = "${inkscape}/bin/inkscape|g' \
|
-e 's|cmd = "inkscape|cmd = "${inkscape}/bin/inkscape|g' \
|
||||||
@ -47,11 +56,13 @@ stdenv.mkDerivation rec {
|
|||||||
'';
|
'';
|
||||||
|
|
||||||
buildPhase = "true";
|
buildPhase = "true";
|
||||||
|
|
||||||
installPhase = ''
|
installPhase = ''
|
||||||
python ./setup.py install --prefix="$out" --use-python-path --verbose
|
python ./setup.py install --prefix="$out" --use-python-path --verbose
|
||||||
'';
|
'';
|
||||||
|
|
||||||
|
passthru = { inherit tex; };
|
||||||
|
|
||||||
meta = {
|
meta = {
|
||||||
description = "A program to convert DocBook to DVI, PostScript or PDF via LaTeX or ConTeXt";
|
description = "A program to convert DocBook to DVI, PostScript or PDF via LaTeX or ConTeXt";
|
||||||
homepage = http://dblatex.sourceforge.net/;
|
homepage = http://dblatex.sourceforge.net/;
|
||||||
|
Loading…
Reference in New Issue
Block a user