From 776adb5704262ecc884fc2d003988ffb23f4df0a Mon Sep 17 00:00:00 2001 From: Michael Raskin <7c6f434c@mail.ru> Date: Mon, 14 Oct 2013 10:36:39 +0400 Subject: [PATCH] Updating TeXLive to 2013 using updated Debian snapshots. Kept the old hacks where they don't break the build in case they things they fix are still relevant. I checked that the upgrade doesn't break: 1) Asymptote and EProver builds. 2) My XeLaTeX demo from configurations/ repository. 3) Some of my own files. The upgrade fixes problems with simultaneous use of 3D and LaTeX labels in Asymptote. Please provide a test that worked previously and is broken now if you need to revert this update or its parts. --- .../builder-defs/builder-defs.nix | 4 +- pkgs/data/fonts/lmodern/default.nix | 4 +- pkgs/data/fonts/tipa/default.nix | 2 +- .../libraries/harfbuzz/default.nix | 10 +++- .../libraries/silgraphite/graphite2.nix | 21 ++++++++ .../typesetting/tex/texlive/aggregate.nix | 17 +++--- .../typesetting/tex/texlive/cm-super.nix | 20 +++---- .../tools/typesetting/tex/texlive/context.nix | 4 +- .../tools/typesetting/tex/texlive/default.nix | 52 ++++++++++++------- pkgs/tools/typesetting/tex/texlive/extra.nix | 6 +-- .../typesetting/tex/texlive/moderncv.nix | 6 +-- .../tex/texlive/moderntimeline.nix | 6 +-- pkgs/tools/typesetting/tex/texlive/pgf.nix | 4 +- pkgs/tools/typesetting/tex/texlive/xcolor.nix | 12 ++--- pkgs/top-level/all-packages.nix | 15 ++++-- 15 files changed, 120 insertions(+), 63 deletions(-) create mode 100644 pkgs/development/libraries/silgraphite/graphite2.nix diff --git a/pkgs/build-support/builder-defs/builder-defs.nix b/pkgs/build-support/builder-defs/builder-defs.nix index 3c5d7af621c8..e22aa6bc66ef 100644 --- a/pkgs/build-support/builder-defs/builder-defs.nix +++ b/pkgs/build-support/builder-defs/builder-defs.nix @@ -565,13 +565,15 @@ let inherit (builtins) head tail trace; in # Interpreters that are already in the store are left untouched. echo "patching script interpreter paths" local f - for f in $(find "${dir}" -type f -perm +0100); do + for f in $(find "${dir}" -xtype f -perm +0100); do local oldPath=$(sed -ne '1 s,^#![ ]*\([^ ]*\).*$,\1,p' "$f") if test -n "$oldPath" -a "''${oldPath:0:''${#NIX_STORE}}" != "$NIX_STORE"; then local newPath=$(type -P $(basename $oldPath) || true) if test -n "$newPath" -a "$newPath" != "$oldPath"; then echo "$f: interpreter changed from $oldPath to $newPath" sed -i "1 s,$oldPath,$newPath," "$f" + else + echo "$f: not changing interpreter from $oldPath" fi fi done diff --git a/pkgs/data/fonts/lmodern/default.nix b/pkgs/data/fonts/lmodern/default.nix index 831a3ddbd09c..1368537c2a1b 100644 --- a/pkgs/data/fonts/lmodern/default.nix +++ b/pkgs/data/fonts/lmodern/default.nix @@ -9,10 +9,10 @@ stdenv.mkDerivation { }; installPhase = '' - mkdir -p $out/texmf/ + mkdir -p $out/texmf-dist/ mkdir -p $out/share/fonts/ - cp -r ./* $out/texmf/ + cp -r ./* $out/texmf-dist/ cp -r fonts/{opentype,type1} $out/share/fonts/ ln -s $out/texmf* $out/share/ diff --git a/pkgs/data/fonts/tipa/default.nix b/pkgs/data/fonts/tipa/default.nix index 47e98f7c53aa..1049e6924bd0 100644 --- a/pkgs/data/fonts/tipa/default.nix +++ b/pkgs/data/fonts/tipa/default.nix @@ -9,7 +9,7 @@ stdenv.mkDerivation { }; installPhase = '' - export PREFIX="$out/texmf" + export PREFIX="$out/texmf-dist" mkdir -p "$PREFIX" "$out/share" make install PREFIX="$PREFIX" diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix index 4fb024db0e13..1202ab5825d7 100644 --- a/pkgs/development/libraries/harfbuzz/default.nix +++ b/pkgs/development/libraries/harfbuzz/default.nix @@ -1,4 +1,5 @@ -{ stdenv, fetchurl, pkgconfig, glib, freetype, libintlOrEmpty }: +{ stdenv, fetchurl, pkgconfig, glib, freetype, + icu ? null, graphite2 ? null, libintlOrEmpty }: stdenv.mkDerivation rec { name = "harfbuzz-0.9.12"; @@ -8,7 +9,12 @@ stdenv.mkDerivation rec { sha256 = "19cx5y2m20rp7z5j7mwqfb4ph2g8lrri69zim44x362y4w5gfly6"; }; - buildInputs = [ pkgconfig glib freetype ] ++ libintlOrEmpty; + buildInputs = [ pkgconfig glib freetype ] + ++ libintlOrEmpty; + propagatedBuildInputs = [] + ++ (stdenv.lib.optionals (icu != null) [icu]) + ++ (stdenv.lib.optionals (graphite2 != null) [graphite2]) + ; meta = { description = "An OpenType text shaping engine"; diff --git a/pkgs/development/libraries/silgraphite/graphite2.nix b/pkgs/development/libraries/silgraphite/graphite2.nix new file mode 100644 index 000000000000..0a36efbc982b --- /dev/null +++ b/pkgs/development/libraries/silgraphite/graphite2.nix @@ -0,0 +1,21 @@ +{ stdenv, fetchurl, pkgconfig, freetype, libXft, pango, fontconfig, cmake }: + +stdenv.mkDerivation rec { + version = "1.2.3"; + name = "graphite2-${version}"; + + src = fetchurl { + url = "mirror://sourceforge/silgraphite/graphite2/${name}.tgz"; + sha256 = "1xgwnd81gm6p293x8paxb3yisnvpj5qnv1dzr7bjdi7b7h00ls7g"; + }; + + buildInputs = [pkgconfig freetype libXft pango fontconfig cmake]; + + NIX_CFLAGS_COMPILE = "-I${freetype}/include/freetype2"; + + meta = { + description = "An advanced font engine"; + maintainers = [ stdenv.lib.maintainers.raskin ]; + platforms = stdenv.lib.platforms.linux; + }; +} diff --git a/pkgs/tools/typesetting/tex/texlive/aggregate.nix b/pkgs/tools/typesetting/tex/texlive/aggregate.nix index 84fa1cfab75a..2d1de93fed87 100644 --- a/pkgs/tools/typesetting/tex/texlive/aggregate.nix +++ b/pkgs/tools/typesetting/tex/texlive/aggregate.nix @@ -3,6 +3,7 @@ rec { name = "TeXLive-linkdir"; buildInputs = lib.closePropagation paths + ++ [perl] ++ stdenv.lib.optional stdenv.isDarwin makeWrapper; phaseNames = [ "doAggregate" ]; @@ -11,12 +12,15 @@ rec { 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}" - mkdir -p $out/"$(dirname "$REPLY")" ln -fs $currentPath/"$REPLY" $out/"$REPLY" echo - done | while read; do head -n 99 >/dev/null; echo -n .; done + done | while read; do head -n 999 >/dev/null; echo -n .; done for i in "$currentPath/bin/"* :; do test "$i" != : || continue @@ -31,8 +35,8 @@ rec { ln -s $out/texmf* $out/share/ - rm -r $out/texmf-config - find $out/texmf/ -type d | while read; do + rm -rf $out/texmf-config + find $out/texmf*/ -type d | while read; do REPLY="''${REPLY#$out/texmf}" mkdir -p $out/texmf-config/"$REPLY" done @@ -45,9 +49,10 @@ rec { chmod a+x $out/bin/$(basename $i) done - rm $out/texmf*/ls-R + rm -f $out/texmf*/ls-R for i in web2c texconfig fonts/map; do - cp -Lr $out/texmf/$i/* $out/texmf-config/$i || true + mkdir -p $out/texmf-config/$i + cp -Lr $out/texmf*/$i/* $out/texmf-config/$i || true done chmod -R u+w $out/texmf-config diff --git a/pkgs/tools/typesetting/tex/texlive/cm-super.nix b/pkgs/tools/typesetting/tex/texlive/cm-super.nix index e23b39368507..4d161c3e0536 100644 --- a/pkgs/tools/typesetting/tex/texlive/cm-super.nix +++ b/pkgs/tools/typesetting/tex/texlive/cm-super.nix @@ -10,16 +10,16 @@ rec { doCopy = fullDepEntry ('' mkdir -p $out/share/ - mkdir -p $out/texmf/fonts/enc - mkdir -p $out/texmf/fonts/map - mkdir -p $out/texmf/fonts/type1/public/cm-super - cp pfb/*.pfb $out/texmf/fonts/type1/public/cm-super - mkdir -p $out/texmf/dvips/cm-super - cp dvips/*.{map,enc} $out/texmf/dvips/cm-super - cp dvips/*.enc $out/texmf/fonts/enc - cp dvips/*.map $out/texmf/fonts/map - mkdir -p $out/texmf/dvipdfm/config - cp dvipdfm/*.map $out/texmf/dvipdfm/config + 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"]; diff --git a/pkgs/tools/typesetting/tex/texlive/context.nix b/pkgs/tools/typesetting/tex/texlive/context.nix index a7161cea4c1b..c0c702cd4189 100644 --- a/pkgs/tools/typesetting/tex/texlive/context.nix +++ b/pkgs/tools/typesetting/tex/texlive/context.nix @@ -11,8 +11,8 @@ rec { doCopy = fullDepEntry ('' mkdir -p $out/share/ - mkdir -p $out/texmf - cp -r * $out/texmf + mkdir -p $out/texmf-dist + cp -r * $out/texmf-dist ln -s $out/texmf* $out/share/ '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"]; diff --git a/pkgs/tools/typesetting/tex/texlive/default.nix b/pkgs/tools/typesetting/tex/texlive/default.nix index f119dbd1e4a1..57f7424dc2da 100644 --- a/pkgs/tools/typesetting/tex/texlive/default.nix +++ b/pkgs/tools/typesetting/tex/texlive/default.nix @@ -1,18 +1,18 @@ args : with args; rec { src = fetchurl { - url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2012.20120628.orig.tar.xz; - sha256 = "0k94df3lfvghngzdzi2d4fz2z0gs8iglz7h3w2lxvlhiwwpmx601"; + url = mirror://debian/pool/main/t/texlive-bin/texlive-bin_2013.20130729.30972.orig.tar.xz; + sha256 = "1idgyim6r4bi3id245k616qrdarfh65xv3gi2psarqqmsw504yhd"; }; texmfSrc = fetchurl { - url = mirror://debian/pool/main/t/texlive-base/texlive-base_2012.20120611.orig.tar.xz; - sha256 = "116zm0qdq9rd4vakhd2py9q7lq3ihspc7hy33bh8wy5v1rgiqsm6"; + url = mirror://debian/pool/main/t/texlive-base/texlive-base_2013.20130918.orig.tar.xz; + sha256 = "0h7x49zsd2gs8fr28f4h04dv5m8p2mpgqxk2vvl5xlf4wwxxbm2p"; }; langTexmfSrc = fetchurl { - url = mirror://debian/pool/main/t/texlive-lang/texlive-lang_2012.20120611.orig.tar.xz; - sha256 = "0zh9svszfkbjx72i7sa9gg0gak93wf05845mxpjv56h8qwk4bffv"; + url = mirror://debian/pool/main/t/texlive-lang/texlive-lang_2013.20131010.orig.tar.xz; + sha256 = "17wfd2qmyafv74ac3ssy9aga12g09l2q0r1p19fb4vvs0wrkwzbz"; }; setupHook = ./setup-hook.sh; @@ -34,6 +34,8 @@ rec { sed -e 's@\' -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 \n\#include ' -i $( find libs/teckit -name '*.cpp' -o -name '*.c' ) @@ -44,7 +46,7 @@ rec { cd Work '' ) [ "minInit" "doUnpack" "addInputs" "defEnsureDir" ]; - doPostInstall = fullDepEntry( '' + promoteLibexec = fullDepEntry ('' mkdir -p $out/libexec/ mv $out/bin $out/libexec/$(uname -m) mkdir -p $out/bin @@ -61,13 +63,15 @@ rec { rm "$out/libexec/$(basename "$i")" fi; done + '') ["doMakeInstall"]; - [ -d $out/texmf-config ] || ln -s $out/texmf $out/texmf-config - ln -s -v "$out/"*texmf* "$out/share/" || true + 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"/ - sed -e 's/.*pyhyph.*/=&/' -i $out/texmf-config/tex/generic/config/language.dat - - PATH=$PATH:$out/bin mktexlsr $out/texmf* + PATH=$PATH:$out/bin mktexlsr $out/share/texmf* HOME=. PATH=$PATH:$out/bin updmap-sys --syncwithtrees @@ -80,25 +84,37 @@ rec { # # I find it acceptable, hence the "|| true". echo "building format files..." - mkdir -p "$out/texmf-var/web2c" + 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/texmf* + 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}/lib" done - '' ) [ "minInit" "defEnsureDir" "doUnpack" "doMakeInstall" ]; + '' ) [ "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 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 silgraphite lesstif zziplib ] + poppler graphite2 lesstif zziplib harfbuzz texinfo ] ++ 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-libgs" "--with-system-t1lib" "--with-system-freetype2" + "--with-system-freetype=no" "--disable-ttf2pk" "--enable-ttf2pk2" + ] ++ ( if stdenv.isDarwin # ironically, couldn't get xetex compiling on darwin then [ "--disable-xetex" "--disable-xdv2pdf" "--disable-xdvipdfmx" ] @@ -107,7 +123,7 @@ rec { phaseNames = [ "addInputs" "doMainBuild" "doMakeInstall" "doPostInstall" ]; - name = "texlive-core-2012"; + name = "texlive-core-2013"; meta = with stdenv.lib; { description = "A TeX distribution"; diff --git a/pkgs/tools/typesetting/tex/texlive/extra.nix b/pkgs/tools/typesetting/tex/texlive/extra.nix index 180019bb205f..6613578e2c67 100644 --- a/pkgs/tools/typesetting/tex/texlive/extra.nix +++ b/pkgs/tools/typesetting/tex/texlive/extra.nix @@ -1,9 +1,9 @@ args: with args; rec { - name = "texlive-extra-2012"; + name = "texlive-extra-2013"; src = fetchurl { - url = mirror://debian/pool/main/t/texlive-extra/texlive-extra_2012.20120611.orig.tar.xz; - sha256 = "1wn2gwifb5ww6nb15zdbkk5yz5spynvwqscvrgxzb84p0z3hy8dq"; + url = mirror://debian/pool/main/t/texlive-extra/texlive-extra_2013.20131010.orig.tar.xz; + sha256 = "1wciyjwp0swny22amwcnr6vvdwjy423856q7c3l1sd5b31xfbc18"; }; buildInputs = [texLive xz]; diff --git a/pkgs/tools/typesetting/tex/texlive/moderncv.nix b/pkgs/tools/typesetting/tex/texlive/moderncv.nix index 28329cff9167..0ce1afbb41b3 100644 --- a/pkgs/tools/typesetting/tex/texlive/moderncv.nix +++ b/pkgs/tools/typesetting/tex/texlive/moderncv.nix @@ -10,9 +10,9 @@ rec { buildInputs = [texLive unzip]; phaseNames = ["doCopy"]; doCopy = fullDepEntry ('' - mkdir -p $out/texmf/tex/latex/moderncv $out/texmf/doc $out/share - mv *.cls *.sty $out/texmf/tex/latex/moderncv/ - mv examples $out/texmf/doc/moderncv + 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"]; diff --git a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix index d129cc62020e..4cb93794edfe 100644 --- a/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix +++ b/pkgs/tools/typesetting/tex/texlive/moderntimeline.nix @@ -13,9 +13,9 @@ rec { buildInputs = [texLive unzip]; phaseNames = ["doCopy"]; doCopy = fullDepEntry ('' - mkdir -p $out/texmf/tex/latex/moderntimeline $out/texmf/doc/moderntimeline $out/share - mv *.dtx *.ins $out/texmf/tex/latex/moderntimeline/ - mv *.pdf $out/texmf/doc/moderntimeline/ + 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 *.pdf $out/texmf-dist/doc/moderntimeline/ ln -s $out/texmf* $out/share/ '') ["minInit" "addInputs" "doUnpack" "defEnsureDir"]; diff --git a/pkgs/tools/typesetting/tex/texlive/pgf.nix b/pkgs/tools/typesetting/tex/texlive/pgf.nix index 1f7abc126c3a..b46229e98285 100644 --- a/pkgs/tools/typesetting/tex/texlive/pgf.nix +++ b/pkgs/tools/typesetting/tex/texlive/pgf.nix @@ -14,8 +14,8 @@ rec { phaseNames = ["doCopy"]; doCopy = fullDepEntry ('' mkdir -p $out/share/ - mkdir -p $out/texmf/tex/generic/pgf - cp -r * $out/texmf/tex/generic/pgf + mkdir -p $out/texmf-dist/tex/generic/pgf + cp -r * $out/texmf-dist/tex/generic/pgf ln -s $out/texmf* $out/share/ '') ["minInit" "doUnpack" "defEnsureDir" "addInputs"]; diff --git a/pkgs/tools/typesetting/tex/texlive/xcolor.nix b/pkgs/tools/typesetting/tex/texlive/xcolor.nix index e59a58ce9b26..892734afe461 100644 --- a/pkgs/tools/typesetting/tex/texlive/xcolor.nix +++ b/pkgs/tools/typesetting/tex/texlive/xcolor.nix @@ -12,11 +12,11 @@ rec { export HOME=$PWD mkdir -p $out/share/ - mkdir -p $out/texmf/tex/latex/xcolor - mkdir -p $out/texmf/dvips/xcolor + mkdir -p $out/texmf-dist/tex/latex/xcolor + mkdir -p $out/texmf-dist/dvips/xcolor latex xcolor.ins - cp *.sty *.def $out/texmf/tex/latex/xcolor - cp *.pro $out/texmf/dvips/xcolor + cp *.sty *.def $out/texmf-dist/tex/latex/xcolor + cp *.pro $out/texmf-dist/dvips/xcolor #latex xcolor.dtx #latex xcolor.dtx @@ -25,8 +25,8 @@ rec { #latex xcolor.dtx rm *.sty *.pro *.ins *.def *.dtx - mkdir -p $out/texmf/doc/latex-xcolor - cp * $out/texmf/doc/latex-xcolor + 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"]; diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 0a8e5e038dc5..df0f1a38aa4b 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -4442,7 +4442,10 @@ let heimdal = callPackage ../development/libraries/kerberos/heimdal.nix { }; - harfbuzz = callPackage ../development/libraries/harfbuzz { }; + harfbuzz = callPackage ../development/libraries/harfbuzz { + icu = null; + graphite2 = null; + }; hawknl = callPackage ../development/libraries/hawknl { }; @@ -5530,6 +5533,7 @@ let serd = callPackage ../development/libraries/serd {}; silgraphite = callPackage ../development/libraries/silgraphite {}; + graphite2 = callPackage ../development/libraries/silgraphite/graphite2.nix {}; simgear = callPackage ../development/libraries/simgear { }; @@ -10028,11 +10032,14 @@ let texLive = builderDefsPackage (import ../tools/typesetting/tex/texlive) { inherit builderDefs zlib bzip2 ncurses libpng ed lesstif ruby - gd t1lib freetype icu perl expat curl xz pkgconfig zziplib - libjpeg bison python fontconfig flex poppler silgraphite makeWrapper; + gd t1lib freetype icu perl expat curl xz pkgconfig zziplib texinfo + libjpeg bison python fontconfig flex poppler graphite2 makeWrapper; inherit (xlibs) libXaw libX11 xproto libXt libXpm libXmu libXext xextproto libSM libICE; ghostscript = ghostscriptX; + harfbuzz = harfbuzz.override { + inherit icu graphite2; + }; }; texLiveFull = lib.setName "texlive-full" (texLiveAggregationFun { @@ -10055,7 +10062,7 @@ let */ texLiveAggregationFun = params: builderDefsPackage (import ../tools/typesetting/tex/texlive/aggregate.nix) - ({inherit poppler makeWrapper;} // params); + ({inherit poppler perl makeWrapper;} // params); texDisser = callPackage ../tools/typesetting/tex/disser {};