nixos/manualPDF: use new `texlive` instead of `tetex`

This includes updating dblatex and crafting ~100 MB TeX package set
to make our manual compile.

+24 -16
+2 -5
nixos/doc/manual/default.nix
··· 146 147 inherit sources; 148 149 - buildInputs = [ libxml2 libxslt dblatex tetex ]; 150 151 buildCommand = '' 152 - # TeX needs a writable font cache. 153 - export VARTEXFONTS=$TMPDIR/texfonts 154 - 155 ${copySources} 156 157 dst=$out/share/doc/nixos ··· 162 163 mkdir -p $out/nix-support 164 echo "doc-pdf manual $dst/manual.pdf" >> $out/nix-support/hydra-build-products 165 - ''; # */ 166 }; 167 168 # Generate the NixOS manpages.
··· 146 147 inherit sources; 148 149 + buildInputs = [ libxml2 libxslt dblatex dblatex.tex ]; 150 151 buildCommand = '' 152 ${copySources} 153 154 dst=$out/share/doc/nixos ··· 159 160 mkdir -p $out/nix-support 161 echo "doc-pdf manual $dst/manual.pdf" >> $out/nix-support/hydra-build-products 162 + ''; 163 }; 164 165 # Generate the NixOS manpages.
+22 -11
pkgs/tools/typesetting/tex/dblatex/default.nix
··· 1 - { stdenv, fetchurl, python, libxslt, tetex 2 - , enableAllFeatures ? false, imagemagick ? null, transfig ? null, inkscape ? null, fontconfig ? null, ghostscript ? null }: 3 4 # NOTE: enableAllFeatures just purifies the expression, it doesn't actually 5 # enable any extra features. ··· 12 ghostscript != null; 13 14 stdenv.mkDerivation rec { 15 - name = "dblatex-0.3.4"; 16 17 src = fetchurl { 18 url = "mirror://sourceforge/dblatex/${name}.tar.bz2"; 19 - sha256 = "120w3wm07qx0k1grgdhjwm2vpwil71icshjvqznskp1f6ggch290"; 20 }; 21 22 - buildInputs = [ python libxslt tetex ] 23 ++ stdenv.lib.optionals enableAllFeatures [ imagemagick transfig ]; 24 25 # TODO: dblatex tries to execute texindy command, but nixpkgs doesn't have ··· 31 sed -e 's|cmd = \["xsltproc|cmd = \["${libxslt}/bin/xsltproc|g' \ 32 -e 's|Popen(\["xsltproc|Popen(\["${libxslt}/bin/xsltproc|g' \ 33 -e 's|cmd = \["texindy|cmd = ["nixpkgs_is_missing_texindy|g' \ 34 - -e 's|cmd = "epstopdf|cmd = "${tetex}/bin/epstopdf|g' \ 35 - -e 's|cmd = \["makeindex|cmd = ["${tetex}/bin/makeindex|g' \ 36 - -e 's|doc.program = "pdflatex"|doc.program = "${tetex}/bin/pdflatex"|g' \ 37 - -e 's|self.program = "latex"|self.program = "${tetex}/bin/latex"|g' \ 38 - -e 's|Popen("pdflatex|Popen("${tetex}/bin/pdflatex|g' \ 39 -e 's|"fc-match"|"${fontconfig}/bin/fc-match"|g' \ 40 -e 's|"fc-list"|"${fontconfig}/bin/fc-list"|g' \ 41 -e 's|cmd = "inkscape|cmd = "${inkscape}/bin/inkscape|g' \ ··· 47 ''; 48 49 buildPhase = "true"; 50 - 51 installPhase = '' 52 python ./setup.py install --prefix="$out" --use-python-path --verbose 53 ''; 54 55 meta = { 56 description = "A program to convert DocBook to DVI, PostScript or PDF via LaTeX or ConTeXt";
··· 1 + { stdenv, fetchurl, python, libxslt, texlive 2 + , enableAllFeatures ? false, imagemagick ? null, transfig ? null, inkscape ? null, fontconfig ? null, ghostscript ? null 3 + 4 + , tex ? texlive.combine { # satisfy all packages that ./configure mentions 5 + inherit (texlive) scheme-basic epstopdf anysize appendix changebar 6 + fancybox fancyvrb float footmisc listings jknapltx/*for mathrsfs.sty*/ 7 + multirow overpic pdfpages rotating stmaryrd subfigure titlesec wasysym 8 + # pkgs below don't seem requested by dblatex, but our manual fails without them 9 + ec zapfding symbol eepic times rsfs cs tex4ht courier helvetic ly1; 10 + } 11 + }: 12 13 # NOTE: enableAllFeatures just purifies the expression, it doesn't actually 14 # enable any extra features. ··· 21 ghostscript != null; 22 23 stdenv.mkDerivation rec { 24 + name = "dblatex-0.3.7"; 25 26 src = fetchurl { 27 url = "mirror://sourceforge/dblatex/${name}.tar.bz2"; 28 + sha256 = "0bkjgrn03dy5c7438s429wnv6z5ynxkr4pbhp2z49kynskgkzkjr"; 29 }; 30 31 + buildInputs = [ python libxslt tex ] 32 ++ stdenv.lib.optionals enableAllFeatures [ imagemagick transfig ]; 33 34 # TODO: dblatex tries to execute texindy command, but nixpkgs doesn't have ··· 40 sed -e 's|cmd = \["xsltproc|cmd = \["${libxslt}/bin/xsltproc|g' \ 41 -e 's|Popen(\["xsltproc|Popen(\["${libxslt}/bin/xsltproc|g' \ 42 -e 's|cmd = \["texindy|cmd = ["nixpkgs_is_missing_texindy|g' \ 43 + -e 's|cmd = "epstopdf|cmd = "${tex}/bin/epstopdf|g' \ 44 + -e 's|cmd = \["makeindex|cmd = ["${tex}/bin/makeindex|g' \ 45 + -e 's|doc.program = "pdflatex"|doc.program = "${tex}/bin/pdflatex"|g' \ 46 + -e 's|self.program = "latex"|self.program = "${tex}/bin/latex"|g' \ 47 + -e 's|Popen("pdflatex|Popen("${tex}/bin/pdflatex|g' \ 48 -e 's|"fc-match"|"${fontconfig}/bin/fc-match"|g' \ 49 -e 's|"fc-list"|"${fontconfig}/bin/fc-list"|g' \ 50 -e 's|cmd = "inkscape|cmd = "${inkscape}/bin/inkscape|g' \ ··· 56 ''; 57 58 buildPhase = "true"; 59 + 60 installPhase = '' 61 python ./setup.py install --prefix="$out" --use-python-path --verbose 62 ''; 63 + 64 + passthru = { inherit tex; }; 65 66 meta = { 67 description = "A program to convert DocBook to DVI, PostScript or PDF via LaTeX or ConTeXt";