From 9bd0bac3111bc89e8b21bb80c0ca8d26fd601ab3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Wed, 23 Sep 2015 20:51:03 +0200 Subject: [PATCH] nixos/manualPDF: use new `texlive` instead of `tetex` This includes updating dblatex and crafting ~100 MB TeX package set to make our manual compile. --- nixos/doc/manual/default.nix | 7 ++-- .../tools/typesetting/tex/dblatex/default.nix | 33 ++++++++++++------- 2 files changed, 24 insertions(+), 16 deletions(-) diff --git a/nixos/doc/manual/default.nix b/nixos/doc/manual/default.nix index 419df915e6a4..15bd185ccec9 100644 --- a/nixos/doc/manual/default.nix +++ b/nixos/doc/manual/default.nix @@ -146,12 +146,9 @@ in rec { inherit sources; - buildInputs = [ libxml2 libxslt dblatex tetex ]; + buildInputs = [ libxml2 libxslt dblatex dblatex.tex ]; buildCommand = '' - # TeX needs a writable font cache. - export VARTEXFONTS=$TMPDIR/texfonts - ${copySources} dst=$out/share/doc/nixos @@ -162,7 +159,7 @@ in rec { mkdir -p $out/nix-support echo "doc-pdf manual $dst/manual.pdf" >> $out/nix-support/hydra-build-products - ''; # */ + ''; }; # Generate the NixOS manpages. diff --git a/pkgs/tools/typesetting/tex/dblatex/default.nix b/pkgs/tools/typesetting/tex/dblatex/default.nix index a68ab2d01b9e..408ef8ae263c 100644 --- a/pkgs/tools/typesetting/tex/dblatex/default.nix +++ b/pkgs/tools/typesetting/tex/dblatex/default.nix @@ -1,5 +1,14 @@ -{ stdenv, fetchurl, python, libxslt, tetex -, enableAllFeatures ? false, imagemagick ? null, transfig ? null, inkscape ? null, fontconfig ? null, ghostscript ? null }: +{ stdenv, fetchurl, python, libxslt, texlive +, 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 # enable any extra features. @@ -12,14 +21,14 @@ assert enableAllFeatures -> ghostscript != null; stdenv.mkDerivation rec { - name = "dblatex-0.3.4"; + name = "dblatex-0.3.7"; src = fetchurl { 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 ]; # 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' \ -e 's|Popen(\["xsltproc|Popen(\["${libxslt}/bin/xsltproc|g' \ -e 's|cmd = \["texindy|cmd = ["nixpkgs_is_missing_texindy|g' \ - -e 's|cmd = "epstopdf|cmd = "${tetex}/bin/epstopdf|g' \ - -e 's|cmd = \["makeindex|cmd = ["${tetex}/bin/makeindex|g' \ - -e 's|doc.program = "pdflatex"|doc.program = "${tetex}/bin/pdflatex"|g' \ - -e 's|self.program = "latex"|self.program = "${tetex}/bin/latex"|g' \ - -e 's|Popen("pdflatex|Popen("${tetex}/bin/pdflatex|g' \ + -e 's|cmd = "epstopdf|cmd = "${tex}/bin/epstopdf|g' \ + -e 's|cmd = \["makeindex|cmd = ["${tex}/bin/makeindex|g' \ + -e 's|doc.program = "pdflatex"|doc.program = "${tex}/bin/pdflatex"|g' \ + -e 's|self.program = "latex"|self.program = "${tex}/bin/latex"|g' \ + -e 's|Popen("pdflatex|Popen("${tex}/bin/pdflatex|g' \ -e 's|"fc-match"|"${fontconfig}/bin/fc-match"|g' \ -e 's|"fc-list"|"${fontconfig}/bin/fc-list"|g' \ -e 's|cmd = "inkscape|cmd = "${inkscape}/bin/inkscape|g' \ @@ -47,11 +56,13 @@ stdenv.mkDerivation rec { ''; buildPhase = "true"; - + installPhase = '' python ./setup.py install --prefix="$out" --use-python-path --verbose ''; + passthru = { inherit tex; }; + meta = { description = "A program to convert DocBook to DVI, PostScript or PDF via LaTeX or ConTeXt"; homepage = http://dblatex.sourceforge.net/;