diff options
author | Franz Pletz <fpletz@fnordicwalking.de> | 2019-12-26 14:16:15 +0100 |
---|---|---|
committer | Franz Pletz <fpletz@fnordicwalking.de> | 2019-12-26 14:17:36 +0100 |
commit | 77b6c3cd06a679140fb5a44f81f904497007f333 (patch) | |
tree | e8ed1606b326cdafba719cc2a14c527c1b601f2e /doc/languages-frameworks/texlive.xml | |
parent | 602bccd1a8262d4e6bd787838d21fc3c2c1c50ba (diff) | |
parent | 4d2dd1554618831f0a5b159b8a4dff86612c02a9 (diff) | |
download | nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.gz nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.bz2 nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.lz nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.xz nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.tar.zst nixpkgs-77b6c3cd06a679140fb5a44f81f904497007f333.zip |
Merge remote-tracking branch 'origin/master' into gcc-9
Diffstat (limited to 'doc/languages-frameworks/texlive.xml')
-rw-r--r-- | doc/languages-frameworks/texlive.xml | 91 |
1 files changed, 91 insertions, 0 deletions
diff --git a/doc/languages-frameworks/texlive.xml b/doc/languages-frameworks/texlive.xml index 7876cc213b6..8fa8f963b2f 100644 --- a/doc/languages-frameworks/texlive.xml +++ b/doc/languages-frameworks/texlive.xml @@ -59,6 +59,97 @@ nix-repl> texlive.collection-<TAB> </itemizedlist> </section> + <section xml:id="sec-language-texlive-custom-packages"> + <title>Custom packages</title> + <para> + You may find that you need to use an external TeX package. A derivation for such package has to provide contents of the "texmf" directory in its output and provide the <varname>tlType</varname> attribute. Here is a (very verbose) example: +<programlisting><![CDATA[ +with import <nixpkgs> {}; + +let + foiltex_run = stdenvNoCC.mkDerivation { + pname = "latex-foiltex"; + version = "2.1.4b"; + passthru.tlType = "run"; + + srcs = [ + (fetchurl { + url = "http://mirrors.ctan.org/macros/latex/contrib/foiltex/foiltex.dtx"; + sha256 = "07frz0krpz7kkcwlayrwrj2a2pixmv0icbngyw92srp9fp23cqpz"; + }) + (fetchurl { + url = "http://mirrors.ctan.org/macros/latex/contrib/foiltex/foiltex.ins"; + sha256 = "09wkyidxk3n3zvqxfs61wlypmbhi1pxmjdi1kns9n2ky8ykbff99"; + }) + ]; + + unpackPhase = '' + runHook preUnpack + + for _src in $srcs; do + cp "$_src" $(stripHash "$_src") + done + + runHook postUnpack + ''; + + nativeBuildInputs = [ texlive.combined.scheme-small ]; + + dontConfigure = true; + + buildPhase = '' + runHook preBuild + + # Generate the style files + latex foiltex.ins + + runHook postBuild + ''; + + installPhase = '' + runHook preInstall + + path="$out/tex/latex/foiltex" + mkdir -p "$path" + cp *.{cls,def,clo} "$path/" + + runHook postInstall + ''; + + meta = with lib; { + description = "A LaTeX2e class for overhead transparencies"; + license = licenses.unfreeRedistributable; + maintainers = with maintainers; [ veprbl ]; + platforms = platforms.all; + }; + }; + foiltex = { pkgs = [ foiltex_run ]; }; + + latex_with_foiltex = texlive.combine { + inherit (texlive) scheme-small; + inherit foiltex; + }; +in + runCommand "test.pdf" { + nativeBuildInputs = [ latex_with_foiltex ]; + } '' +cat >test.tex <<EOF +\documentclass{foils} + +\title{Presentation title} +\date{} + +\begin{document} +\maketitle +\end{document} +EOF + pdflatex test.tex + cp test.pdf $out +'' +]]></programlisting> + </para> + </section> + <section xml:id="sec-language-texlive-known-problems"> <title>Known problems</title> |