From 1d640f029f3c9de3d049f0c0a9b7280592fce5db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20=C4=8Cun=C3=A1t?= Date: Sat, 24 Oct 2015 12:09:45 +0200 Subject: [PATCH] texlive: avoid huge command lines /cc #9757. --- pkgs/tools/typesetting/tex/texlive-new/combine.nix | 14 +++++++------- pkgs/tools/typesetting/tex/texlive-new/default.nix | 5 +++-- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/pkgs/tools/typesetting/tex/texlive-new/combine.nix b/pkgs/tools/typesetting/tex/texlive-new/combine.nix index 2c9119b934f..e69c6ec425c 100644 --- a/pkgs/tools/typesetting/tex/texlive-new/combine.nix +++ b/pkgs/tools/typesetting/tex/texlive-new/combine.nix @@ -82,21 +82,21 @@ in buildEnv { # updmap.cfg seems like not needing changes # now filter hyphenation patterns, in a hacky way ATM - '' + (let script = + writeText "hyphens.sed" ( + lib.concatMapStrings (pkg: "/^\% from ${pkg.pname}/,/^\%/p;\n") pkgList.splitBin.wrong + + "1,/^\% from/p;" ); + in '' ( - local script='${ - lib.concatMapStrings (pkg: "/^\% from ${pkg.pname}/,/^\%/p;\n") - pkgList.splitBin.wrong - } 1,/^\% from/p;' cd ./share/texmf/tex/generic/config/ for fname in language.dat language.def; do [ -e $fname ] || continue; cnfOrig="$(realpath ./$fname)" rm ./$fname - cat "$cnfOrig" | sed -n "$script" > ./$fname + cat "$cnfOrig" | sed -n -f '${script}' > ./$fname done ) - '' + + '') + # function to wrap created executables with required env vars '' diff --git a/pkgs/tools/typesetting/tex/texlive-new/default.nix b/pkgs/tools/typesetting/tex/texlive-new/default.nix index c8b2a414fa3..a084c973b78 100644 --- a/pkgs/tools/typesetting/tex/texlive-new/default.nix +++ b/pkgs/tools/typesetting/tex/texlive-new/default.nix @@ -24,7 +24,7 @@ * in case of any bugs or feature requests, file a github issue and /cc @vcunat */ -{ stdenv, lib, fetchurl, runCommand, buildEnv +{ stdenv, lib, fetchurl, runCommand, writeText, buildEnv , callPackage, ghostscriptX, harfbuzz, poppler_min , makeWrapper, perl, python, ruby , useFixedHashes ? true @@ -48,7 +48,8 @@ let # function for creating a working environment from a set of TL packages combine = import ./combine.nix { - inherit bin combinePkgs buildEnv fastUnique lib makeWrapper perl stdenv python ruby; + inherit bin combinePkgs buildEnv fastUnique lib makeWrapper writeText + perl stdenv python ruby; }; # the set of TeX Live packages, collections, and schemes; using upstream naming