From e3da83297fdfcac1af29805aa55e437bc1d45d3a Mon Sep 17 00:00:00 2001 From: Vladimír Čunát Date: Sat, 26 Mar 2016 10:26:29 +0100 Subject: texlive: document in nixpkgs manual Fixes #13240. It's not really better than source-code comments it replaced, but it's in a better accessible place. --- doc/languages-frameworks/index.xml | 1 + doc/languages-frameworks/texlive.xml | 59 ++++++++++++++++++++++ pkgs/tools/typesetting/tex/texlive-new/default.nix | 28 ++-------- 3 files changed, 63 insertions(+), 25 deletions(-) create mode 100644 doc/languages-frameworks/texlive.xml diff --git a/doc/languages-frameworks/index.xml b/doc/languages-frameworks/index.xml index 7922f2a5f5ae..ab62afa40d61 100644 --- a/doc/languages-frameworks/index.xml +++ b/doc/languages-frameworks/index.xml @@ -23,6 +23,7 @@ such as Perl or Haskell. These are described in this chapter. + diff --git a/doc/languages-frameworks/texlive.xml b/doc/languages-frameworks/texlive.xml new file mode 100644 index 000000000000..0e3c1dd13d72 --- /dev/null +++ b/doc/languages-frameworks/texlive.xml @@ -0,0 +1,59 @@ +
+ +TeX Live + +Since release 15.09 there is a new TeX Live packaging that lives entirely under attribute texlive. +
User's guide + + + For basic usage just pull texlive.combined.scheme-basic for an environment with basic LaTeX support. + + It typically won't work to use separately installed packages together. + Instead, you can build a custom set of packages like this: + +texlive.combine { + inherit (texlive) scheme-small collection-langkorean algorithms cm-super; +} + + There are all the schemes, collections and a few thousand packages, as defined upstream (perhaps with tiny differences). + + + By default you only get executables and files needed during runtime, and a little documentation for the core packages. To change that, you need to add pkgFilter function to combine. + +texlive.combine { + # inherit (texlive) whatever-you-want; + pkgFilter = pkg: + pkg.tlType == "run" || pkg.tlType == "bin" || pkg.pname == "cm-super"; + # elem tlType [ "run" "bin" "doc" "source" ] + # there are also other attributes: version, name +} + + + + You can list packages e.g. by nix-repl. + +$ nix-repl +nix-repl> texlive.collection-<TAB> + + + +
+ +
Known problems + + + Some tools are still missing, e.g. luajittex; + + some apps aren't packaged/tested yet (asymptote, biber, etc.); + + feature/bug: when a package is rejected by pkgFilter, its dependencies are still propagated; + + in case of any bugs or feature requests, file a github issue or better a pull request and /cc @vcunat. + +
+ + +
+ diff --git a/pkgs/tools/typesetting/tex/texlive-new/default.nix b/pkgs/tools/typesetting/tex/texlive-new/default.nix index 5fe52ba07baf..fbf4adde2ae7 100644 --- a/pkgs/tools/typesetting/tex/texlive-new/default.nix +++ b/pkgs/tools/typesetting/tex/texlive-new/default.nix @@ -1,29 +1,7 @@ -/* (new) TeX Live user docs - - Basic usage: just pull texlive.combined.scheme-basic - for an environment with basic LaTeX support. - There are all the schemes as defined upstream (with tiny differences, perhaps). - - You can compose your own collection like this: - texlive.combine { - inherit (texlive) scheme-small collection-langkorean algorithms cm-super; - } - - By default you only get executables and files needed during runtime, - and a little documentation for the core packages. - To change that, you need to add `pkgFilter` function to `combine`. - texlive.combine { - # inherit (texlive) whatever-you-want; - pkgFilter = pkg: - pkg.tlType == "run" || pkg.tlType == "bin" || pkg.pname == "cm-super"; - # elem tlType [ "run" "bin" "doc" "source" ] - # there are also other attributes: version, name - } - - Known bugs: - * some tools are still missing, e.g. luajittex - * some apps aren't packaged/tested yet (xdvi, asymptote, biber, etc.) - * feature/bug: when a package is rejected by pkgFilter, - its dependencies are still propagated - * in case of any bugs or feature requests, file a github issue and /cc @vcunat +/* TeX Live user docs + - source: ../../../../../doc/languages-frameworks/texlive.xml + - current html: http://nixos.org/nixpkgs/manual/#sec-language-texlive */ - { stdenv, lib, fetchurl, runCommand, writeText, buildEnv , callPackage, ghostscriptX, harfbuzz, poppler_min , makeWrapper, perl, python, ruby -- cgit 1.4.1