summary refs log tree commit diff
path: root/pkgs/tools/typesetting
diff options
context:
space:
mode:
authorVladimír Čunát <vcunat@gmail.com>2016-09-04 14:52:04 +0200
committerVladimír Čunát <vcunat@gmail.com>2016-09-04 14:52:04 +0200
commit171f7d974d24307acaa2f87a18c104a4e54b95cf (patch)
tree24ba938ebab0976bdaf1ec462a84b659d781baa2 /pkgs/tools/typesetting
parentd401df0d24bb56b730612adb985d546967400802 (diff)
parentda421bc75f98c1b19f214a3b6b7cda07dc4c088b (diff)
downloadnixlib-171f7d974d24307acaa2f87a18c104a4e54b95cf.tar
nixlib-171f7d974d24307acaa2f87a18c104a4e54b95cf.tar.gz
nixlib-171f7d974d24307acaa2f87a18c104a4e54b95cf.tar.bz2
nixlib-171f7d974d24307acaa2f87a18c104a4e54b95cf.tar.lz
nixlib-171f7d974d24307acaa2f87a18c104a4e54b95cf.tar.xz
nixlib-171f7d974d24307acaa2f87a18c104a4e54b95cf.tar.zst
nixlib-171f7d974d24307acaa2f87a18c104a4e54b95cf.zip
Merge commit 'da421bc' into p/texlive-2016
... to allow renaming the directory.
Diffstat (limited to 'pkgs/tools/typesetting')
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix4
-rw-r--r--pkgs/tools/typesetting/biber/default.nix17
-rw-r--r--pkgs/tools/typesetting/bibtex-tools/default.nix17
-rw-r--r--pkgs/tools/typesetting/djvu2pdf/default.nix2
-rw-r--r--pkgs/tools/typesetting/docbook2odf/default.nix2
-rw-r--r--pkgs/tools/typesetting/git-latexdiff/default.nix1
-rw-r--r--pkgs/tools/typesetting/halibut/default.nix1
-rw-r--r--pkgs/tools/typesetting/hevea/default.nix5
-rw-r--r--pkgs/tools/typesetting/kindlegen/default.nix48
-rw-r--r--pkgs/tools/typesetting/multimarkdown/default.nix2
-rw-r--r--pkgs/tools/typesetting/pdf2odt/default.nix51
-rw-r--r--pkgs/tools/typesetting/pdf2odt/use_mktemp.patch19
-rw-r--r--pkgs/tools/typesetting/pdfgrep/default.nix10
-rw-r--r--pkgs/tools/typesetting/pdftk/default.nix2
-rw-r--r--pkgs/tools/typesetting/psutils/default.nix26
-rw-r--r--pkgs/tools/typesetting/rubber/default.nix1
-rw-r--r--pkgs/tools/typesetting/tex/auctex/default.nix11
-rw-r--r--pkgs/tools/typesetting/tex/dblatex/default.nix1
-rw-r--r--pkgs/tools/typesetting/tex/lkproof/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/pgf/1.x.nix1
-rw-r--r--pkgs/tools/typesetting/tex/pgf/2.x.nix1
-rw-r--r--pkgs/tools/typesetting/tex/pgf/3.x.nix1
-rw-r--r--pkgs/tools/typesetting/tex/pgfplots/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/tetex/default.nix4
-rw-r--r--pkgs/tools/typesetting/tex/tex4ht/default.nix3
-rw-r--r--pkgs/tools/typesetting/tex/texlive-new/bin.nix12
-rw-r--r--pkgs/tools/typesetting/tex/texlive/aggregate.nix87
-rw-r--r--pkgs/tools/typesetting/tex/texlive/beamer.nix25
-rw-r--r--pkgs/tools/typesetting/tex/texlive/cm-super.nix35
-rw-r--r--pkgs/tools/typesetting/tex/texlive/context.nix25
-rw-r--r--pkgs/tools/typesetting/tex/texlive/default.nix161
-rw-r--r--pkgs/tools/typesetting/tex/texlive/extra.nix26
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderncv.nix24
-rw-r--r--pkgs/tools/typesetting/tex/texlive/moderntimeline.nix24
-rw-r--r--pkgs/tools/typesetting/tex/texlive/setup-hook.sh7
-rw-r--r--pkgs/tools/typesetting/tex/texlive/xcolor.nix37
-rw-r--r--pkgs/tools/typesetting/xmlroff/default.nix6
-rw-r--r--pkgs/tools/typesetting/xmlto/default.nix12
38 files changed, 217 insertions, 502 deletions
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index e623f67e64bc..59059c632b97 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -235,7 +235,7 @@ stdenv.mkDerivation rec {
     # use it to work around an impurity in the tetex package; tetex tools
     # cannot find their neighbours (e.g. pdflatex doesn't find mktextfm).
     # We can remove PATH= when those impurities are fixed.
-    sed -e "s|^ENV =.*|ENV = dict(XML_CATALOG_FILES='${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml ${docbook5_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xsl}/xml/xsl/docbook/catalog.xml', PATH='${tetex}/bin:${coreutils}/bin:${gnused}/bin')|" \
+    sed -e "s|^ENV =.*|ENV = dict(XML_CATALOG_FILES='${docbook_xml_dtd_45}/xml/dtd/docbook/catalog.xml ${docbook5_xsl}/xml/xsl/docbook/catalog.xml ${docbook_xsl}/xml/xsl/docbook/catalog.xml', PATH='${stdenv.lib.makeBinPath [ tetex coreutils gnused ]}')|" \
         -e "s|^ASCIIDOC =.*|ASCIIDOC = '$out/bin/asciidoc'|" \
         -e "s|^XSLTPROC =.*|XSLTPROC = '${libxslt.bin}/bin/xsltproc'|" \
         -e "s|^DBLATEX =.*|DBLATEX = '${dblatexFull}/bin/dblatex'|" \
@@ -271,7 +271,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "http://www.methods.co.nz/asciidoc/";
     license = licenses.gpl2Plus;
-    hydraPlatforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
 }
diff --git a/pkgs/tools/typesetting/biber/default.nix b/pkgs/tools/typesetting/biber/default.nix
index ffd275069da4..f068323e54a7 100644
--- a/pkgs/tools/typesetting/biber/default.nix
+++ b/pkgs/tools/typesetting/biber/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchurl, buildPerlPackage, autovivification, BusinessISBN
+{ stdenv, fetchFromGitHub, buildPerlPackage, autovivification, BusinessISBN
 , BusinessISMN, BusinessISSN, ConfigAutoConf, DataCompare, DataDump, DateSimple
 , EncodeEUCJPASCII, EncodeHanExtra, EncodeJIS2K, ExtUtilsLibBuilder
 , FileSlurp, IPCRun3, Log4Perl, LWPProtocolHttps, ListAllUtils, ListMoreUtils
 , ModuleBuild, MozillaCA, ReadonlyXS, RegexpCommon, TextBibTeX, UnicodeCollate
-, UnicodeLineBreak, URI, XMLLibXMLSimple, XMLLibXSLT, XMLWriter }:
+, UnicodeLineBreak, URI, XMLLibXMLSimple, XMLLibXSLT, XMLWriter, ClassAccessor
+, TextRoman, DataUniqid, LinguaTranslit, UnicodeNormalize }:
 
 let
-  version = "1.9";
-  pn = "biblatex-biber";
+  version = "2.5";
 in
 buildPerlPackage {
   name = "biber-${version}";
-  src = fetchurl {
-    url = "mirror://sourceforge/project/${pn}/${pn}/${version}/${pn}.tar.gz";
-    sha256 = "1a3iq7l9i54f8nfzjmp1qdb6aqm7977q1g4san470010fkfbvjdc";
+  src = fetchFromGitHub {
+    owner = "plk";
+    repo = "biber";
+    rev = "v${version}";
+    sha256 = "1ldkszsr2n11nib4nvmpvsxmvp0qd9w3lxijyqlf01cfaryjdzgr";
   };
 
   buildInputs = [
@@ -22,6 +24,7 @@ buildPerlPackage {
     ExtUtilsLibBuilder FileSlurp IPCRun3 Log4Perl LWPProtocolHttps ListAllUtils
     ListMoreUtils ModuleBuild MozillaCA ReadonlyXS RegexpCommon TextBibTeX
     UnicodeCollate UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter
+    ClassAccessor TextRoman DataUniqid LinguaTranslit UnicodeNormalize
   ];
   preConfigure = "touch Makefile.PL";
   buildPhase = "perl Build.PL --prefix=$out; ./Build build";
diff --git a/pkgs/tools/typesetting/bibtex-tools/default.nix b/pkgs/tools/typesetting/bibtex-tools/default.nix
deleted file mode 100644
index a822a181a653..000000000000
--- a/pkgs/tools/typesetting/bibtex-tools/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-{stdenv, fetchurl, hevea, tetex, strategoxt, aterm, sdf}: 
-
-stdenv.mkDerivation {
-  name = "bibtex-tools-0.2pre13026";
-  src = fetchurl {
-    url = http://tarballs.nixos.org/bibtex-tools-0.2pre13026.tar.gz;
-    md5 = "2d8a5de7c53eb670307048eb3d14cdd6";
-  };
-  configureFlags = "
-    --with-aterm=${aterm}
-    --with-sdf=${sdf}
-    --with-strategoxt=${strategoxt}
-    --with-hevea=${hevea}
-    --with-latex=${tetex}";
-  buildInputs = [aterm sdf strategoxt hevea];
-  meta.broken = true;
-}
diff --git a/pkgs/tools/typesetting/djvu2pdf/default.nix b/pkgs/tools/typesetting/djvu2pdf/default.nix
index a426356a09f5..ce8a60dca869 100644
--- a/pkgs/tools/typesetting/djvu2pdf/default.nix
+++ b/pkgs/tools/typesetting/djvu2pdf/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin
     cp -p djvu2pdf $out/bin
-    wrapProgram $out/bin/djvu2pdf --prefix PATH : ${ghostscript}/bin:${djvulibre.bin}/bin:${which}/bin
+    wrapProgram $out/bin/djvu2pdf --prefix PATH : ${stdenv.lib.makeBinPath [ ghostscript djvulibre which ]}
 
     mkdir -p $out/man/man1
     cp -p djvu2pdf.1.gz $out/man/man1
diff --git a/pkgs/tools/typesetting/docbook2odf/default.nix b/pkgs/tools/typesetting/docbook2odf/default.nix
index 90b2ff61f346..029227cd1186 100644
--- a/pkgs/tools/typesetting/docbook2odf/default.nix
+++ b/pkgs/tools/typesetting/docbook2odf/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     sed -i "s|/usr/share/docbook2odf|$out/share/docbook2odf|" "$out/bin/docbook2odf"
 
     wrapProgram "$out/bin/docbook2odf" \
-      --prefix PATH : "${zip}/bin:${libxslt}/bin" \
+      --prefix PATH : "${stdenv.lib.makeBinPath [ zip libxslt ]}" \
       --prefix PERL5PATH : "${stdenv.lib.makePerlPath [PerlMagick]}"
   '';
 
diff --git a/pkgs/tools/typesetting/git-latexdiff/default.nix b/pkgs/tools/typesetting/git-latexdiff/default.nix
index 76536190f345..9dc73886b5ac 100644
--- a/pkgs/tools/typesetting/git-latexdiff/default.nix
+++ b/pkgs/tools/typesetting/git-latexdiff/default.nix
@@ -32,5 +32,6 @@ stdenv.mkDerivation rec {
     description = "View diff on LaTeX source files on the generated PDF files";
     maintainers = [ maintainers.DamienCassou ];
     license = licenses.free; # https://gitlab.com/git-latexdiff/git-latexdiff/issues/9
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/typesetting/halibut/default.nix b/pkgs/tools/typesetting/halibut/default.nix
index 28325825ca2c..487af940077c 100644
--- a/pkgs/tools/typesetting/halibut/default.nix
+++ b/pkgs/tools/typesetting/halibut/default.nix
@@ -29,5 +29,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.chiark.greenend.org.uk/~sgtatham/halibut/;
     license = licenses.mit;
     maintainers = with maintainers; [ pSub ];
+    platforms = with platforms; unix;
   };
 }
diff --git a/pkgs/tools/typesetting/hevea/default.nix b/pkgs/tools/typesetting/hevea/default.nix
index 600522d45a26..0e87ef5dacc1 100644
--- a/pkgs/tools/typesetting/hevea/default.nix
+++ b/pkgs/tools/typesetting/hevea/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ocaml }:
 
 stdenv.mkDerivation rec {
-  name = "hevea-2.28";
+  name = "hevea-2.29";
 
   src = fetchurl {
     url = "http://pauillac.inria.fr/~maranget/hevea/distri/${name}.tar.gz";
-    sha256 = "14fns13wlnpiv9i05841kvi3cq4b9v2sw5x3ff6ziws28q701qnd";
+    sha256 = "1i7qkar6gjpsxqgdm90xxgp15z7gfyja0rn62n23a9aahc0hpgq6";
   };
 
   buildInputs = [ ocaml ];
@@ -17,5 +17,6 @@ stdenv.mkDerivation rec {
     homepage = http://pauillac.inria.fr/~maranget/hevea/;
     license = licenses.qpl;
     maintainers = with maintainers; [ pSub ];
+    platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/tools/typesetting/kindlegen/default.nix b/pkgs/tools/typesetting/kindlegen/default.nix
new file mode 100644
index 000000000000..159119a8a710
--- /dev/null
+++ b/pkgs/tools/typesetting/kindlegen/default.nix
@@ -0,0 +1,48 @@
+{ fetchurl, stdenv }:
+
+let
+  version = "2.9";
+  fileVersion = builtins.replaceStrings [ "." ] [ "_" ] version;
+
+  sha256 = {
+    "x86_64-linux"  = "15i20kzhdcmi94w7wfhqbl6j20v47cdakjm2mn3x8w495iddna4q";
+    "i686-linux"    = "15i20kzhdcmi94w7wfhqbl6j20v47cdakjm2mn3x8w495iddna4q";
+    "x86_64-darwin" = "0zniyn0s41fxqrajbgwxbcsj5vzf9m7a6yvdz2b11mphr00kpbbs";
+    "i686-darwin"   = "0zniyn0s41fxqrajbgwxbcsj5vzf9m7a6yvdz2b11mphr00kpbbs";
+    "x86_64-cygwin" = "02slfh1bbpijay4skj85cjiv7z43ha8vm5aa1lwiqjk86qbl1f3h";
+    "i686-cygwin"   = "02slfh1bbpijay4skj85cjiv7z43ha8vm5aa1lwiqjk86qbl1f3h";
+  }."${stdenv.system}" or (throw "system #{stdenv.system.} is not supported");
+
+  url = {
+    "x86_64-linux"  = "http://kindlegen.s3.amazonaws.com/kindlegen_linux_2.6_i386_v${fileVersion}.tar.gz";
+    "i686-linux"    = "http://kindlegen.s3.amazonaws.com/kindlegen_linux_2.6_i386_v${fileVersion}.tar.gz";
+    "x86_64-darwin" = "http://kindlegen.s3.amazonaws.com/KindleGen_Mac_i386_v${fileVersion}.zip";
+    "i686-darwin"   = "http://kindlegen.s3.amazonaws.com/KindleGen_Mac_i386_v${fileVersion}.zip";
+    "x86_64-cygwin" = "http://kindlegen.s3.amazonaws.com/kindlegen_win32_v${fileVersion}.zip";
+    "i686-cygwin"   = "http://kindlegen.s3.amazonaws.com/kindlegen_win32_v${fileVersion}.zip";
+  }."${stdenv.system}" or (throw "system #{stdenv.system.} is not supported");
+
+in stdenv.mkDerivation rec {
+  name = "kindlegen-${version}";
+
+  src = fetchurl {
+    inherit url;
+    inherit sha256;
+  };
+
+  sourceRoot = ".";
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/kindlegen/doc
+    install -m755 kindlegen $out/bin/kindlegen
+    cp -r *.txt *.html docs/* $out/share/kindlegen/doc
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Convert documents to .mobi for use with Amazon Kindle";
+    homepage = https://www.amazon.com/gp/feature.html?docId=1000765211;
+    license = licenses.unfree;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms = [ "x86_64-linux" "i686-linux" "x86_64-darwin" "i686-darwin" "x86_64-cygwin" "i686-cygwin" ];
+  };
+}
diff --git a/pkgs/tools/typesetting/multimarkdown/default.nix b/pkgs/tools/typesetting/multimarkdown/default.nix
index d628d84ee9e2..53e75ebd5ec5 100644
--- a/pkgs/tools/typesetting/multimarkdown/default.nix
+++ b/pkgs/tools/typesetting/multimarkdown/default.nix
@@ -46,7 +46,7 @@ stdenv.mkDerivation rec {
     # licensed under GPLv2+ or MIT:
     # https://raw.githubusercontent.com/fletcher/MultiMarkdown-4/master/LICENSE
     license = with stdenv.lib.licenses; [ gpl2Plus ];
-    hydraPlatforms = platforms.all;
+    platforms = platforms.all;
     maintainers = with stdenv.lib.maintainers; [ lowfatcomputing ];
   };
 }
diff --git a/pkgs/tools/typesetting/pdf2odt/default.nix b/pkgs/tools/typesetting/pdf2odt/default.nix
new file mode 100644
index 000000000000..4f798702101b
--- /dev/null
+++ b/pkgs/tools/typesetting/pdf2odt/default.nix
@@ -0,0 +1,51 @@
+{ stdenv, lib, makeWrapper, fetchFromGitHub
+, bc, coreutils, file, gawk, ghostscript, gnused, imagemagick, zip }:
+
+stdenv.mkDerivation rec {
+  version = "2014-12-17";
+  name = "pdf2odt-${version}";
+
+  src = fetchFromGitHub {
+    owner = "gutschke";
+    repo = "pdf2odt";
+    rev = "master";
+    sha256 = "14f9r5f0g6jzanl54jv86ls0frvspka1p9c8dy3fnriqpm584j0r";
+  };
+
+  dontStrip = true;
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  path = lib.makeBinPath [
+    bc
+    coreutils
+    file
+    gawk
+    ghostscript
+    gnused
+    imagemagick
+    zip
+  ];
+
+  patches = [ ./use_mktemp.patch ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/doc
+
+    install -m0755 pdf2odt $out/bin/pdf2odt
+    ln -rs $out/bin/pdf2odt $out/bin/pdf2ods
+
+    install -m0644 README.md LICENSE -t $out/share/doc
+
+    wrapProgram $out/bin/pdf2odt --prefix PATH : ${path}
+  '';
+
+  meta = with stdenv.lib; {
+    description = "PDF to ODT format converter";
+    homepage = http://github.com/gutschke/pdf2odt;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ peterhoeg ];
+    inherit version;
+  };
+}
diff --git a/pkgs/tools/typesetting/pdf2odt/use_mktemp.patch b/pkgs/tools/typesetting/pdf2odt/use_mktemp.patch
new file mode 100644
index 000000000000..1425aa5ae6a3
--- /dev/null
+++ b/pkgs/tools/typesetting/pdf2odt/use_mktemp.patch
@@ -0,0 +1,19 @@
+diff --git a/pdf2odt b/pdf2odt
+index d38bb07..e1ddf05 100755
+--- a/pdf2odt
++++ b/pdf2odt
+@@ -173,13 +173,7 @@ if [ -e "${out}" ] &&
+ fi
+ 
+ # Set up temporary staging directory
+-TMPDIR="/tmp/pdf2odt.$$"
+-[ \! -e "${TMPDIR}" ] || {
+-  echo "Staging directory ${TMPDIR} already exists" >&2
+-  exit 1
+-}
+-trap 'rm -rf "${TMPDIR}"' EXIT INT TERM QUIT HUP
+-mkdir -p "${TMPDIR}"
++TMPDIR=$(mktemp -d)
+ 
+ # Adjust DPI so that the image fits on a letter- or a4-sized page.
+ function scale() {
diff --git a/pkgs/tools/typesetting/pdfgrep/default.nix b/pkgs/tools/typesetting/pdfgrep/default.nix
index cef212b2a134..6e5f98d4a717 100644
--- a/pkgs/tools/typesetting/pdfgrep/default.nix
+++ b/pkgs/tools/typesetting/pdfgrep/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, poppler, poppler_data, makeWrapper }:
+{ fetchurl, stdenv, pkgconfig, poppler, makeWrapper }:
 
 stdenv.mkDerivation rec {
   name = "pdfgrep-${version}";
@@ -9,19 +9,13 @@ stdenv.mkDerivation rec {
     sha256 = "6e8bcaf8b219e1ad733c97257a97286a94124694958c27506b2ea7fc8e532437";
   };
 
-  buildInputs = [ pkgconfig poppler poppler_data makeWrapper ];
+  buildInputs = [ pkgconfig poppler makeWrapper ];
 
   patchPhase = ''
     sed -i -e "s%cpp/poppler-document.h%poppler/cpp/poppler-document.h%" pdfgrep.cc
     sed -i -e "s%cpp/poppler-page.h%poppler/cpp/poppler-page.h%" pdfgrep.cc
   '';
 
-  # workarround since it can't be hardcoded in pdfgrep
-  preFixup = ''
-    wrapProgram "$out/bin/pdfgrep" \
-      --set POPPLER_DATADIR "${poppler_data}/share/poppler"
-  '';
-
   meta = {
     description = "A tool to search text in PDF files";
     homepage = http://pdfgrep.sourceforge.net/;
diff --git a/pkgs/tools/typesetting/pdftk/default.nix b/pkgs/tools/typesetting/pdftk/default.nix
index 84a853bb0df6..73bf0b9e1287 100644
--- a/pkgs/tools/typesetting/pdftk/default.nix
+++ b/pkgs/tools/typesetting/pdftk/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation {
 
   buildInputs = [ gcj unzip ];
 
+  hardeningDisable = [ "fortify" "format" ];
+
   preBuild = ''
     cd pdftk
     sed -e 's@/usr/bin/@@g' -i Makefile.*
diff --git a/pkgs/tools/typesetting/psutils/default.nix b/pkgs/tools/typesetting/psutils/default.nix
new file mode 100644
index 000000000000..25f12838be08
--- /dev/null
+++ b/pkgs/tools/typesetting/psutils/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "psutils-17";
+
+  src = fetchurl {
+    url = "ftp://ftp.knackered.org/pub/psutils/psutils-p17.tar.gz";
+    sha256 = "1r4ab1fvgganm02kmm70b2r1azwzbav2am41gbigpa2bb1wynlrq";
+  };
+
+  configurePhase = ''
+    sed -e 's,/usr/local/bin/perl,${perl}/bin/perl,' \
+      -e "s,/usr/local,$out," \
+      Makefile.unix > Makefile
+  '';
+
+  preInstall = ''
+    mkdir -p $out/bin $out/share/man/man1
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Collection of useful utilities for manipulating PS documents";
+    homepage = http://knackered.knackered.org/angus/psutils/;
+    license = licenses.bsd3;
+  };
+}
diff --git a/pkgs/tools/typesetting/rubber/default.nix b/pkgs/tools/typesetting/rubber/default.nix
index 96e1f532bffd..2b8505ac5df0 100644
--- a/pkgs/tools/typesetting/rubber/default.nix
+++ b/pkgs/tools/typesetting/rubber/default.nix
@@ -31,5 +31,6 @@ stdenv.mkDerivation rec {
     license = stdenv.lib.licenses.gpl2Plus;
     homepage = http://www.pps.jussieu.fr/~beffara/soft/rubber/;
     maintainers = [ stdenv.lib.maintainers.ttuegel ];
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/typesetting/tex/auctex/default.nix b/pkgs/tools/typesetting/tex/auctex/default.nix
index 0d2282a4fd8f..b910be76b851 100644
--- a/pkgs/tools/typesetting/tex/auctex/default.nix
+++ b/pkgs/tools/typesetting/tex/auctex/default.nix
@@ -12,11 +12,6 @@ let auctex = stdenv.mkDerivation ( rec {
 
   outputs = [ "out" "tex" ];
 
-  meta = {
-    description = "Extensible package for writing and formatting TeX files in GNU Emacs and XEmacs";
-    homepage = http://www.gnu.org/software/auctex;
-  };
-
   src = fetchurl {
     url = "mirror://gnu/${pname}/${name}.tar.gz";
     sha256 = "1cf9fkkmzjxa4jvk6c01zgxdikr4zzb5pcx8i4r0hwdk0xljkbwq";
@@ -32,6 +27,12 @@ let auctex = stdenv.mkDerivation ( rec {
     "--with-lispdir=\${out}/share/emacs/site-lisp"
     "--with-texmf-dir=\${tex}"
   ];
+
+  meta = {
+    description = "Extensible package for writing and formatting TeX files in GNU Emacs and XEmacs";
+    homepage = http://www.gnu.org/software/auctex;
+    platforms = stdenv.lib.platforms.unix;
+  };
 });
 
 in auctex // { pkgs = [ auctex.tex ]; }
diff --git a/pkgs/tools/typesetting/tex/dblatex/default.nix b/pkgs/tools/typesetting/tex/dblatex/default.nix
index 4ad5e3835316..ce65a587ddf2 100644
--- a/pkgs/tools/typesetting/tex/dblatex/default.nix
+++ b/pkgs/tools/typesetting/tex/dblatex/default.nix
@@ -67,5 +67,6 @@ stdenv.mkDerivation rec {
     description = "A program to convert DocBook to DVI, PostScript or PDF via LaTeX or ConTeXt";
     homepage = http://dblatex.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2Plus;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/typesetting/tex/lkproof/default.nix b/pkgs/tools/typesetting/tex/lkproof/default.nix
index 936e4a31af12..844eadc4440d 100644
--- a/pkgs/tools/typesetting/tex/lkproof/default.nix
+++ b/pkgs/tools/typesetting/tex/lkproof/default.nix
@@ -14,4 +14,8 @@ stdenv.mkDerivation {
     mkdir -p $out/share/texmf-nix/tex/generic/lkproof
     cp -prd *.sty $out/share/texmf-nix/tex/generic/lkproof
   ";
+
+  meta = {
+    platforms = stdenv.lib.platforms.unix;
+  };
 }
diff --git a/pkgs/tools/typesetting/tex/pgf/1.x.nix b/pkgs/tools/typesetting/tex/pgf/1.x.nix
index 5e84a92caddb..de5ef2abccfb 100644
--- a/pkgs/tools/typesetting/tex/pgf/1.x.nix
+++ b/pkgs/tools/typesetting/tex/pgf/1.x.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation {
 
   meta = {
     branch = "1";
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/typesetting/tex/pgf/2.x.nix b/pkgs/tools/typesetting/tex/pgf/2.x.nix
index 05e28454be1f..cb8d2dbdf484 100644
--- a/pkgs/tools/typesetting/tex/pgf/2.x.nix
+++ b/pkgs/tools/typesetting/tex/pgf/2.x.nix
@@ -17,5 +17,6 @@ stdenv.mkDerivation {
 
   meta = {
     branch = "2";
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/typesetting/tex/pgf/3.x.nix b/pkgs/tools/typesetting/tex/pgf/3.x.nix
index b8df977cfb01..28225ebf28a6 100644
--- a/pkgs/tools/typesetting/tex/pgf/3.x.nix
+++ b/pkgs/tools/typesetting/tex/pgf/3.x.nix
@@ -26,5 +26,6 @@ stdenv.mkDerivation {
 
   meta = {
     branch = "3";
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/typesetting/tex/pgfplots/default.nix b/pkgs/tools/typesetting/tex/pgfplots/default.nix
index d7c03967b0b4..2fe3daee6991 100644
--- a/pkgs/tools/typesetting/tex/pgfplots/default.nix
+++ b/pkgs/tools/typesetting/tex/pgfplots/default.nix
@@ -18,4 +18,8 @@ stdenv.mkDerivation {
     mkdir -p $out/share/texmf-nix
     cp -prd * $out/share/texmf-nix
   ";
+
+  meta = {
+    platforms = stdenv.lib.platforms.unix;
+  };
 }
diff --git a/pkgs/tools/typesetting/tex/tetex/default.nix b/pkgs/tools/typesetting/tex/tetex/default.nix
index 8d6c88a0004e..c3d226a2acb0 100644
--- a/pkgs/tools/typesetting/tex/tetex/default.nix
+++ b/pkgs/tools/typesetting/tex/tetex/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   name = "tetex-3.0";
-  
+
   src = fetchurl {
     url = ftp://cam.ctan.org/tex-archive/systems/unix/teTeX/current/distrib/tetex-src-3.0.tar.gz;
     md5 = "944a4641e79e61043fdaf8f38ecbb4b3";
@@ -15,6 +15,8 @@ stdenv.mkDerivation {
 
   buildInputs = [ flex bison zlib libpng ncurses ed ];
 
+  hardeningDisable = [ "format" ];
+
   # fixes "error: conflicting types for 'calloc'", etc.
   preBuild = stdenv.lib.optionalString stdenv.isDarwin ''
     sed -i 57d texk/kpathsea/c-std.h
diff --git a/pkgs/tools/typesetting/tex/tex4ht/default.nix b/pkgs/tools/typesetting/tex/tex4ht/default.nix
index 61936e766c5e..5aaae2c06b2a 100644
--- a/pkgs/tools/typesetting/tex/tex4ht/default.nix
+++ b/pkgs/tools/typesetting/tex/tex4ht/default.nix
@@ -10,6 +10,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ tetex unzip ];
 
+  hardeningDisable = [ "format" ];
+
   buildPhase = ''
     cd src
     for f in tex4ht t4ht htcmd ; do
@@ -31,5 +33,6 @@ stdenv.mkDerivation rec {
     homepage = "http://tug.org/tex4ht/";
     description = "A system to convert (La)TeX documents to HTML and various other formats";
     license = stdenv.lib.licenses.lppl12;
+    platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/tools/typesetting/tex/texlive-new/bin.nix b/pkgs/tools/typesetting/tex/texlive-new/bin.nix
index ae082ddafd43..73c342b80086 100644
--- a/pkgs/tools/typesetting/tex/texlive-new/bin.nix
+++ b/pkgs/tools/typesetting/tex/texlive-new/bin.nix
@@ -3,7 +3,7 @@
 , zlib, bzip2, ncurses, libpng, flex, bison, libX11, libICE, xproto
 , freetype, t1lib, gd, libXaw, icu, ghostscript, ed, libXt, libXpm, libXmu, libXext
 , xextproto, perl, libSM, ruby, expat, curl, libjpeg, python, fontconfig, pkgconfig
-, poppler, libpaper, graphite2, lesstif, zziplib, harfbuzz, texinfo, potrace, gmp, mpfr
+, poppler, libpaper, graphite2, zziplib, harfbuzz, texinfo, potrace, gmp, mpfr
 , xpdf, cairo, pixman, xorg, clisp
 , makeWrapper
 }:
@@ -65,6 +65,14 @@ core = stdenv.mkDerivation rec {
     perl
   ];
 
+  hardeningDisable = [ "format" ];
+
+  postPatch = ''
+    for i in texk/kpathsea/mktex*; do
+      sed -i '/^mydir=/d' "$i"
+    done
+  '';
+
   preConfigure = ''
     rm -r libs/{cairo,freetype2,gd,gmp,graphite2,harfbuzz,icu,libpaper,libpng} \
       libs/{mpfr,pixman,poppler,potrace,xpdf,zlib,zziplib}
@@ -123,6 +131,8 @@ core-big = stdenv.mkDerivation { #TODO: upmendex
 
   inherit (common) src;
 
+  hardeningDisable = [ "format" ];
+
   buildInputs = core.buildInputs ++ [ core cairo harfbuzz icu graphite2 ];
 
   configureFlags = common.configureFlags
diff --git a/pkgs/tools/typesetting/tex/texlive/aggregate.nix b/pkgs/tools/typesetting/tex/texlive/aggregate.nix
deleted file mode 100644
index 550870b0a6a9..000000000000
--- a/pkgs/tools/typesetting/tex/texlive/aggregate.nix
+++ /dev/null
@@ -1,87 +0,0 @@
-args @ {poppler, perl, makeWrapper, ... }: with args;
-rec {
-  name = "TeXLive-linkdir";
-
-  buildInputs = lib.closePropagation paths
-    ++ [perl]
-    ++ stdenv.lib.optional stdenv.isDarwin makeWrapper;
-
-  phaseNames = [ "doAggregate" ];
-
-  doAggregate = fullDepEntry (''
-    set +o pipefail
-
-    mkdir -p $out/bin
-    for currentPath in ${lib.concatStringsSep " " buildInputs}; do
-        echo Symlinking "$currentPath"
-        find $currentPath/share/info $currentPath/share/man $(echo $currentPath/texmf*/) -type d | while read; do
-            REPLY="''${REPLY#$currentPath}"
-            mkdir -p $out/"$REPLY"
-        done
-        find $currentPath/share/info $currentPath/share/man $(echo $currentPath/texmf*/) ! -type d | while read; do
-            REPLY="''${REPLY#$currentPath}"
-            ln -fs $currentPath/"$REPLY" $out/"$REPLY"
-            echo
-        done | while read; do head -n 999 >/dev/null; echo -n .; done
-
-        for i in "$currentPath/bin/"* :; do
-            test "$i" != : || continue
-            echo -ne "#! $SHELL\\nexec $i \"\$@\"" > "$out/bin/$(basename "$i")" && \
-            chmod a+x "$out/bin/$(basename "$i")"
-        done
-
-        echo
-
-        cp -Trfp $currentPath/libexec $out/libexec || true
-    done
-
-    ln -s $out/texmf* $out/share/
-
-    rm -rf $out/texmf-config
-    find $out/texmf*/ -type d | while read; do
-      REPLY="''${REPLY#$out/texmf}"
-      mkdir -p $out/texmf-config/"$REPLY"
-    done
-
-    for i in $out/libexec/*/* :; do
-        test "$i" = : && continue;
-        test -f "$i" && \
-        test -x "$i" && \
-        echo -ne "#! $SHELL\\nexec $i \"\$@\"" >$out/bin/$(basename $i) && \
-        chmod a+x $out/bin/$(basename $i)
-    done
-
-    rm -f $out/texmf*/ls-R
-    for i in web2c texconfig fonts/map; do
-        mkdir -p $out/texmf-config/$i
-        cp -Lr $out/texmf*/$i/* $out/texmf-config/$i || true
-    done
-    chmod -R u+w $out/texmf-config
-
-    yes | TEXMFCONFIG=$out/texmf-config HOME=$PWD PATH=$PATH:$out/bin updmap --syncwithtrees
-    yes | PATH=$PATH:$out/bin mktexlsr $out/texmf*
-    yes | TEXMFCONFIG=$out/texmf-config HOME=$PWD PATH=$PATH:$out/bin updmap --syncwithtrees
-    yes | PATH=$PATH:$out/bin mktexlsr $out/texmf*
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    # did the same thing in texLive, but couldn't get it to carry to the
-    # binaries installed by texLiveFull
-    for prog in $out/bin/*; do
-      wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${poppler.out}/lib"
-    done
-  '' ) [ "minInit" "defEnsureDir" "addInputs" ];
-
-  preferLocalBuild = true;
-
-  meta = {
-    description = "TeX distribution directory";
-    longDescription = ''
-      Here all the files from different TeX-related
-      packages are collected in one directory. Of
-      course, mktexlsr is called. Later placed
-      directories take precedence. It is supposed that
-      share and libexec are symlinked, and bin is
-      recreated with wrappers for libexec-located
-      linked binaries.
-    '';
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/beamer.nix b/pkgs/tools/typesetting/tex/texlive/beamer.nix
deleted file mode 100644
index 7acecd66543e..000000000000
--- a/pkgs/tools/typesetting/tex/texlive/beamer.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-args @ {texLiveLatexXColor, texLivePGF, texLive, ...}: with args;
-rec {
-  name = "texlive-beamer-2013";
-  src = fetchurl {
-    url = mirror://debian/pool/main/l/latex-beamer/latex-beamer_3.24.orig.tar.gz;
-    sha256 = "0rzjlbs67kzmvlh7lwga4yxgddvrvfkkhhx1ajdn4lqy2w9zxiv8";
-  };
-
-  buildInputs = [texLive];
-  propagatedBuildInputs = [texLiveLatexXColor texLivePGF];
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    mkdir -p $out/share/
-
-    mkdir -p $out/texmf-dist/tex/latex/beamer
-    cp -r * $out/texmf-dist/tex/latex/beamer 
-
-    ln -s $out/texmf* $out/share/
-  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
-
-  meta = {
-    description = "Extra components for TeXLive: beamer class";
-    maintainers = [ stdenv.lib.maintainers.mornfall stdenv.lib.maintainers.jwiegley ];
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/cm-super.nix b/pkgs/tools/typesetting/tex/texlive/cm-super.nix
deleted file mode 100644
index 5c442fad27f4..000000000000
--- a/pkgs/tools/typesetting/tex/texlive/cm-super.nix
+++ /dev/null
@@ -1,35 +0,0 @@
-args @ {texLive, ...}: with args;
-rec {
-  name = "texlive-cm-super-2009";
-  src = fetchurl {
-    url = mirror://debian/pool/main/c/cm-super/cm-super_0.3.4.orig.tar.gz;
-    sha256 = "0zrq4sr9ank35svkz3cfd7f978i9c8xbzdqm2c8kvxia2753v082";
-  };
-
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    mkdir -p $out/share/
-
-    mkdir -p $out/texmf-dist/fonts/enc
-    mkdir -p $out/texmf-dist/fonts/map
-    mkdir -p $out/texmf-dist/fonts/type1/public/cm-super
-    cp pfb/*.pfb $out/texmf-dist/fonts/type1/public/cm-super
-    mkdir -p $out/texmf-dist/dvips/cm-super
-    cp dvips/*.{map,enc}  $out/texmf-dist/dvips/cm-super
-    cp dvips/*.enc  $out/texmf-dist/fonts/enc
-    cp dvips/*.map  $out/texmf-dist/fonts/map
-    mkdir -p $out/texmf-dist/dvipdfm/config
-    cp dvipdfm/*.map  $out/texmf-dist/dvipdfm/config
-
-    ln -s $out/texmf* $out/share/
-  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
-  buildInputs = [texLive];
-
-  meta = {
-    description = "Extra components for TeXLive: CM-Super fonts";
-    maintainers = [ args.lib.maintainers.raskin ];
-
-    # Actually, arch-independent..
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/context.nix b/pkgs/tools/typesetting/tex/texlive/context.nix
deleted file mode 100644
index 2cc62c334094..000000000000
--- a/pkgs/tools/typesetting/tex/texlive/context.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-args @ { texLive, ... }: with args;
-rec {
-  name = "context-2014.05.21";
-  src = fetchurl {
-    url = mirror://debian/pool/main/c/context/context_2014.05.21.20140528.orig.tar.gz;
-    sha256 = "1d744xrsjyl52x2xbh87k5ad826mzz8yqmhdznrmqrhk3qpjkzic";
-  };
-
-  buildInputs = [texLive];
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    mkdir -p $out/share/
-
-    mkdir -p $out/texmf-dist
-    cp -r * $out/texmf-dist
-
-    ln -s $out/texmf* $out/share/
-  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
-
-  meta = {
-    description = "ConTEXt TeX wrapper";
-  };
-
-}
-
diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix
deleted file mode 100644
index 3a93c6445a72..000000000000
--- a/pkgs/tools/typesetting/tex/texlive/default.nix
+++ /dev/null
@@ -1,161 +0,0 @@
-args @ {
-builderDefs, zlib, bzip2, ncurses, libpng, ed, lesstif, ruby, potrace
-, gd, t1lib, freetype, icu, perl, expat, curl, xz, pkgconfig, zziplib, texinfo
-, libjpeg, bison, python, fontconfig, flex, poppler, libpaper, graphite2
-, makeWrapper, gmp, mpfr, xpdf, config
-, libXaw, libX11, xproto, libXt, libXpm
-, libXmu, libXext, xextproto, libSM, libICE
-, ... }: with args;
-
-rec {
-  src = assert config.allowTexliveBuilds or true; fetchurl {
-    url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2014.20140926.35254.orig.tar.xz;
-    sha256 = "1c39x059jhn5jsy6i9j3akjbkm1kmmzssy1jyi1aw20rl2vp86w3";
-  };
-
-  texmfVersion = "2014.20141024";
-  texmfSrc = fetchurl {
-    url = "mirror://debian/pool/main/t/texlive-base/texlive-base_${texmfVersion}.orig.tar.xz";
-    sha256 = "1a6968myfi81s76n9p1qljgpwia9mi55pkkz1q6lbnwybf97akj1";
-  };
-
-  langTexmfVersion = "2014.20141024";
-  langTexmfSrc = fetchurl {
-    url = "mirror://debian/pool/main/t/texlive-lang/texlive-lang_${langTexmfVersion}.orig.tar.xz";
-    sha256 = "1ydz5m1v40n34g1l31r3vqg74rbr01x2f80drhz4igh21fm7zzpa";
-  };
-
-  passthru = { inherit texmfSrc langTexmfSrc; };
-
-  setupHook = ./setup-hook.sh;
-
-  doMainBuild = fullDepEntry ( stdenv.lib.optionalString stdenv.isDarwin ''
-    export DYLD_LIBRARY_PATH="${poppler.out}/lib"
-  '' + ''
-    mkdir -p $out
-    mkdir -p $out/nix-support
-    cp ${setupHook} $out/nix-support/setup-hook.sh
-    mkdir -p $out/share
-    tar xf ${texmfSrc} -C $out --strip-components=1
-    tar xf ${langTexmfSrc} -C $out --strip-components=1
-
-    sed -e s@/usr/bin/@@g -i $(grep /usr/bin/ -rl . )
-
-    sed -e 's@dehypht-x-2013-05-26@dehypht-x-2014-05-21@' -i $(grep 'dehypht-x' -rl $out )
-    sed -e 's@dehyphn-x-2013-05-26@dehyphn-x-2014-05-21@' -i $(grep 'dehyphn-x' -rl $out )
-
-    sed -e 's@\<env ruby@${ruby}/bin/ruby@' -i $(grep 'env ruby' -rl . )
-    sed -e 's@\<env perl@${perl}/bin/perl@' -i $(grep 'env perl' -rl . )
-    sed -e 's@\<env python@${python}/bin/python@' -i $(grep 'env python' -rl . )
-
-    sed -e '/ubidi_open/i#include <unicode/urename.h>' -i $(find . -name configure)
-    sed -e 's/-lttf/-lfreetype/' -i $(find . -name configure)
-
-    # sed -e s@ncurses/curses.h@curses.h@g -i $(grep ncurses/curses.h -rl . )
-    sed -e '1i\#include <string.h>\n\#include <stdlib.h>' -i $( find libs/teckit -name '*.cpp' -o -name '*.c' )
-
-    NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -I${icu.dev}/include/layout";
-
-    ./Build --prefix="$out" --datadir="$out/share" --mandir="$out/share/man" --infodir="$out/share/info" \
-      ${args.lib.concatStringsSep " " configureFlags}
-    cd Work
-  '' ) [ "minInit" "doUnpack" "addInputs" "defEnsureDir" ];
-
-  promoteLibexec = fullDepEntry (''
-    mkdir -p $out/libexec/
-    mv $out/bin $out/libexec/$(uname -m)
-    mkdir -p $out/bin
-    for i in "$out/libexec/"* "$out/libexec/"*"/"* ; do
-        test \( \! -d "$i" \) -a \( -x "$i" -o -L "$i" \) || continue
-
-      if [ -x "$i" ]; then
-          echo -ne "#! $SHELL\\nexec $i \"\$@\"" >$out/bin/$(basename $i)
-                chmod a+x $out/bin/$(basename $i)
-      else
-          mv "$i" "$out/libexec"
-          ln -s "$(readlink -f "$out/libexec/$(basename "$i")")" "$out/bin/$(basename "$i")";
-          ln -sf "$(readlink -f "$out/libexec/$(basename "$i")")" "$out/libexec/$(uname -m)/$(basename "$i")";
-          rm "$out/libexec/$(basename "$i")"
-      fi;
-    done
-  '') ["doMakeInstall"];
-
-  doPostInstall = fullDepEntry( ''
-    cp -r "$out/"texmf* "$out/share/" || true
-    rm -rf "$out"/texmf*
-    [ -d $out/share/texmf-config ] || ln -s $out/share/texmf-dist $out/share/texmf-config
-    ln -s "$out"/share/texmf* "$out"/
-
-    PATH=$PATH:$out/bin mktexlsr $out/share/texmf*
-
-    yes | HOME=. PATH=$PATH:$out/bin updmap-sys --syncwithtrees || echo $?
-
-    # Prebuild the format files, as it used to be done with TeXLive 2007.
-    # Luatex currently fails this way:
-    #
-    #   This is a summary of all `failed' messages:
-    #   `luatex -ini  -jobname=luatex -progname=luatex luatex.ini' failed
-    #   `luatex -ini  -jobname=dviluatex -progname=dviluatex dviluatex.ini' failed
-    #
-    # I find it acceptable, hence the "|| true".
-    echo "building format files..."
-    mkdir -p "$out/share/texmf-var/web2c"
-    ln -sf "$out"/out/share/texmf* "$out"/
-    PATH="$PATH:$out/bin" fmtutil-sys --all || true
-
-    PATH=$PATH:$out/bin mktexlsr $out/share/texmf*
-  '' + stdenv.lib.optionalString stdenv.isDarwin ''
-    for prog in "$out/bin/"*; do
-      wrapProgram "$prog" --prefix DYLD_LIBRARY_PATH : "${poppler.out}/lib"
-    done
-  '' ) [ "minInit" "defEnsureDir" "doUnpack" "doMakeInstall" "promoteLibexec" "patchShebangsInterim"];
-
-  patchShebangsInterimBin = doPatchShebangs ''$out/bin/'';
-  patchShebangsInterimLibexec = doPatchShebangs ''$out/libexec/'';
-  patchShebangsInterimShareTexmfDist = doPatchShebangs ''$out/share/texmf-dist/scripts/'';
-  patchShebangsInterimTexmfDist = doPatchShebangs ''$out/texmf-dist/scripts/'';
-
-  patchShebangsInterim = fullDepEntry ("") ["patchShebangsInterimBin"
-    "patchShebangsInterimLibexec" "patchShebangsInterimTexmfDist"
-    "patchShebangsInterimShareTexmfDist"];
-
-  buildInputs = [ zlib bzip2 ncurses libpng flex bison libX11.out libICE xproto
-    freetype t1lib gd libXaw icu ghostscript ed libXt libXpm libXmu libXext
-    xextproto perl libSM ruby expat curl libjpeg python fontconfig xz pkgconfig
-    poppler libpaper graphite2 lesstif zziplib harfbuzz texinfo potrace gmp mpfr
-    xpdf ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [ makeWrapper ]
-    ;
-
-  configureFlags = [ "--with-x11" "--enable-ipc" "--with-mktexfmt"
-    "--enable-shared" "--disable-native-texlive-build" "--with-system-zziplib"
-    "--with-system-libgs" "--with-system-t1lib" "--with-system-freetype2"
-    "--with-system-freetype=no" "--disable-ttf2pk" "--enable-ttf2pk2" ]
-    ++ stdenv.lib.optionals stdenv.isDarwin [
-      # TODO: We should be able to fix these tests
-      "--disable-devnag"
-
-      # jww (2014-06-02): The following fails with:
-      # FAIL: tests/dvisvgm
-      # ===================
-      #
-      # dyld: Library not loaded: libgs.dylib.9.06
-      #   Referenced from: .../Work/texk/dvisvgm/.libs/dvisvgm
-      #   Reason: image not found
-      "--disable-dvisvgm"
-    ];
-
-  phaseNames = [ "addInputs" "doMainBuild" "doMakeInstall" "doPostInstall" ];
-
-  name = "texlive-core-2014";
-
-  meta = with stdenv.lib; {
-    description = "A TeX distribution";
-    homepage    = http://www.tug.org/texlive;
-    license     = stdenv.lib.licenses.gpl2;
-    maintainers = with maintainers; [ lovek323 raskin jwiegley ];
-    platforms   = platforms.unix;
-    hydraPlatforms = [];
-    broken = true; # https://github.com/NixOS/nixpkgs/issues/14807
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix
deleted file mode 100644
index 7f7ffbee7c29..000000000000
--- a/pkgs/tools/typesetting/tex/texlive/extra.nix
+++ /dev/null
@@ -1,26 +0,0 @@
-args @ { texLive, xz, ... }: with args;
-rec {
-  name    = "texlive-extra-2014";
-  version = "2014.20141024";
-
-  src = fetchurl {
-    url = "mirror://debian/pool/main/t/texlive-extra/texlive-extra_${version}.orig.tar.xz";
-    sha256 = "190p5v6madcgkxjmfal0pcylfz88zi6yaixky0vrcz1kbvxqlcb9";
-  };
-
-  buildInputs = [texLive xz];
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    mkdir -p $out/share
-    cp -r texmf* $out/
-    ln -s $out/texmf* $out/share
-  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
-
-  meta = {
-    description = "Extra components for TeXLive";
-    maintainers = [ args.lib.maintainers.raskin args.lib.maintainers.jwiegley ];
-
-    # Actually, arch-independent..
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/moderncv.nix b/pkgs/tools/typesetting/tex/texlive/moderncv.nix
deleted file mode 100644
index 29e1c45245f7..000000000000
--- a/pkgs/tools/typesetting/tex/texlive/moderncv.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-args @ {texLive, unzip, ...}: with args;
-rec {
-  version = "1.5.1";
-  name = "moderncv-${version}";
-  src = fetchurl {
-    url = "https://launchpad.net/moderncv/trunk/${version}/+download/moderncv-${version}.zip";
-    sha256 = "0k26s0z8hmw3h09vnpndim7gigwh8q6n9nbbihb5qbrw5qg2yqck";
-  };
-
-  buildInputs = [texLive unzip];
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    mkdir -p $out/texmf-dist/tex/latex/moderncv $out/texmf-dist/doc $out/share
-    mv *.cls *.sty $out/texmf-dist/tex/latex/moderncv/
-    mv examples $out/texmf-dist/doc/moderncv
-    ln -s $out/texmf* $out/share/
-  '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
-
-  meta = {
-    description = "The moderncv class for TeXLive";
-    # Actually, arch-independent..
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
deleted file mode 100644
index caa140d42c79..000000000000
--- a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-args @ {texLive, unzip, ...}: with args;
-rec {
-  version = "0.9";
-  name = "moderntimeline-${version}";
-  src = fetchurl {
-    url = "https://github.com/raphink/moderntimeline/archive/v0.9.zip";
-    sha256 = "1h1sfdh0whb74y6f999hs80flwpdbs2n4n2b9c450rvs1y7abcml";
-  };
-
-  buildInputs = [texLive unzip];
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    mkdir -p $out/texmf-dist/tex/latex/moderntimeline $out/texmf-dist/doc/moderntimeline $out/share
-    mv *.dtx *.ins $out/texmf-dist/tex/latex/moderntimeline/
-    mv *.md $out/texmf-dist/doc/moderntimeline/
-    ln -s $out/texmf* $out/share/
-  '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"];
-
-  meta = {
-    description = "The moderntimeline extensions for moderncv";
-    # Actually, arch-independent..
-    hydraPlatforms = [];
-  };
-}
diff --git a/pkgs/tools/typesetting/tex/texlive/setup-hook.sh b/pkgs/tools/typesetting/tex/texlive/setup-hook.sh
deleted file mode 100644
index 9c5424e881e3..000000000000
--- a/pkgs/tools/typesetting/tex/texlive/setup-hook.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-addTeXMFPath () {
-    if test -d "$1/share/texmf-nix"; then
-        export TEXINPUTS="${TEXINPUTS}${TEXINPUTS:+:}$1/share/texmf-nix//:"
-    fi
-}
-
-envHooks+=(addTeXMFPath)
diff --git a/pkgs/tools/typesetting/tex/texlive/xcolor.nix b/pkgs/tools/typesetting/tex/texlive/xcolor.nix
deleted file mode 100644
index 57351e069928..000000000000
--- a/pkgs/tools/typesetting/tex/texlive/xcolor.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-args @ {texLive, ... }: with args;
-rec {
-  name = "texlive-latex-xcolor-2007";
-  src = fetchurl {
-    url = mirror://debian/pool/main/l/latex-xcolor/latex-xcolor_2.11.orig.tar.gz;
-    sha256 = "0z78xfn5iq5ncg82sd6v2qrxs8p9hs3m4agaz90p4db5dvk2w0mn";
-  };
-
-  buildInputs = [texLive];
-  phaseNames = ["doCopy"];
-  doCopy = fullDepEntry (''
-    export HOME=$PWD
-    mkdir -p $out/share/
-
-    mkdir -p $out/texmf-dist/tex/latex/xcolor
-    mkdir -p $out/texmf-dist/dvips/xcolor
-    latex xcolor.ins
-    cp *.sty *.def $out/texmf-dist/tex/latex/xcolor
-    cp *.pro $out/texmf-dist/dvips/xcolor
-
-    #latex xcolor.dtx
-    #latex xcolor.dtx
-    #makeindex -s gind.ist xcolor.idx
-    #latex xcolor.dtx
-    #latex xcolor.dtx
-
-    rm *.sty *.pro *.ins *.def *.dtx
-    mkdir -p $out/texmf-dist/doc/latex-xcolor
-    cp *  $out/texmf-dist/doc/latex-xcolor
-
-    ln -s $out/texmf* $out/share/
-  '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"];
-
-  meta = {
-    description = "Extra components for TeXLive: LaTeX color support";
-  };
-}
diff --git a/pkgs/tools/typesetting/xmlroff/default.nix b/pkgs/tools/typesetting/xmlroff/default.nix
index 5f118e636b8b..daa79d8e352c 100644
--- a/pkgs/tools/typesetting/xmlroff/default.nix
+++ b/pkgs/tools/typesetting/xmlroff/default.nix
@@ -28,6 +28,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = "--disable-pangoxsl --disable-gp";
 
+  hardeningDisable = [ "format" ];
+
   preBuild = ''
     substituteInPlace tools/insert-file-as-string.pl --replace "/usr/bin/perl" "${perl}/bin/perl"
     substituteInPlace Makefile --replace "docs" ""
@@ -36,4 +38,8 @@ stdenv.mkDerivation rec {
   sourceRoot = "${name}/xmlroff/";
 
   patches = [./xmlroff.patch];
+
+  meta = {
+    platforms = stdenv.lib.platforms.unix;
+  };
 }
diff --git a/pkgs/tools/typesetting/xmlto/default.nix b/pkgs/tools/typesetting/xmlto/default.nix
index f99c14720760..ed3dad64f16d 100644
--- a/pkgs/tools/typesetting/xmlto/default.nix
+++ b/pkgs/tools/typesetting/xmlto/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, stdenv, flex, libxml2, libxslt
-, docbook_xml_dtd_42, docbook_xsl, w3m
+, docbook_xml_dtd_45, docbook_xsl, w3m
 , bash, getopt, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "xmlto-0.0.26";
+  name = "xmlto-0.0.28";
   src = fetchurl {
     url = "http://fedorahosted.org/releases/x/m/xmlto/${name}.tar.bz2";
-    sha256 = "1v5mahfg5k9lh3anykl482xnrgxn36zlmqsgwahw29xwncprpd7g";
+    sha256 = "0xhj8b2pwp4vhl9y16v3dpxpsakkflfamr191mprzsspg4xdyc0i";
   };
 
   patchPhase = ''
@@ -20,11 +20,12 @@ stdenv.mkDerivation rec {
 
   # `libxml2' provides `xmllint', needed at build-time and run-time.
   # `libxslt' provides `xsltproc', used by `xmlto' at run-time.
-  buildInputs = [ libxml2 libxslt docbook_xml_dtd_42 docbook_xsl getopt makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ libxml2 libxslt docbook_xml_dtd_45 docbook_xsl getopt ];
 
   postInstall = ''
     wrapProgram "$out/bin/xmlto" \
-       --prefix PATH : "${libxslt.bin}/bin:${libxml2.bin}/bin:${getopt}/bin"
+       --prefix PATH : "${stdenv.lib.makeBinPath [ libxslt libxml2 getopt ]}"
 
     # `w3m' is needed for HTML to text conversions.
     substituteInPlace "$out/share/xmlto/format/docbook/txt" \
@@ -43,5 +44,6 @@ stdenv.mkDerivation rec {
 
     license = stdenv.lib.licenses.gpl2Plus;
     homepage = https://fedorahosted.org/xmlto/;
+    platforms = stdenv.lib.platforms.unix;
   };
 }