Loading pkgs/tools/typesetting/tex/texlive/bin.nix +15 −31 Original line number Diff line number Diff line Loading @@ -33,7 +33,9 @@ let "ps2eps" "ps2pk" "psutils" "ptex" "seetexk" "synctex" "t1utils" "tex" "tex4ht" "texlive-scripts-extra" "texware" "tie" "tpic2pdftex" "ttfutils" "uptex" "velthuis" "vlna" "web" "xml2pmx" ]; binPackages = lib.getAttrs corePackages tlpdb; coreBigPackages = [ "metafont" "mflua" "metapost" "luatex" "luahbtex" "xetex" ] ++ lib.optional withLuaJIT "luajittex"; binPackages = lib.getAttrs (corePackages ++ coreBigPackages) tlpdb; common = { src = fetchurl { Loading Loading @@ -215,12 +217,15 @@ core = stdenv.mkDerivation rec { }; inherit (core-big) metafont mflua metapost luatex luahbtex luajittex xetex; inherit (core-big) metafont mflua metapost luatex luahbtex xetex; luajittex = core.big.luajittex or null; core-big = stdenv.mkDerivation { #TODO: upmendex pname = "texlive-core-big.bin"; inherit version; inherit (common) src prePatch; __structuredAttrs = true; inherit (common) binToOutput src prePatch; patches = [ # improves reproducibility of fmt files. This patch has been proposed upstream, Loading Loading @@ -293,34 +298,13 @@ core-big = stdenv.mkDerivation { #TODO: upmendex doCheck = false; # fails # now distribute stuff into outputs, roughly as upstream TL # (uninteresting stuff remains in $out, typically duplicates from `core`) outputs = [ "out" "metafont" "mflua" "metapost" "luatex" "luahbtex" "luajittex" "xetex" ]; postInstall = '' for output in $(getAllOutputNames); do mkdir -p "''${!output}/bin" done mv "$out/bin"/{inimf,mf,mf-nowin} "$metafont/bin/" mv "$out/bin"/mflua{,-nowin} "$mflua/bin/" mv "$out/bin"/{*tomp,mfplain,*mpost} "$metapost/bin/" mv "$out/bin"/{luatex,texlua,texluac} "$luatex/bin/" mv "$out/bin"/luahbtex "$luahbtex/bin/" mv "$out/bin"/xetex "$xetex/bin/" cp libs/teckit/teckit_compile "$xetex/bin/" '' + lib.optionalString withLuaJIT '' mv "$out/bin"/mfluajit{,-nowin} "$mflua/bin/" mv "$out/bin"/{luajittex,luajithbtex,texluajit,texluajitc} "$luajittex/bin/" '' ; outputs = [ "out" ] ++ (builtins.map (builtins.replaceStrings [ "-" ] [ "_" ]) coreBigPackages) # some outputs of metapost, omegaware are for ptex/uptex ++ [ "ptex" "uptex" ] # unavoidable duplicates from core ++ [ "ctie" "cweb" "omegaware" "texlive_scripts_extra" "tie" "web" ]; postInstall = common.moveBins; }; Loading pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix +3 −1 Original line number Diff line number Diff line Loading @@ -120,7 +120,9 @@ let inherit meta; # shebang interpreters and compiled binaries buildInputs = let outName = builtins.replaceStrings [ "-" ] [ "_" ] pname; in [ texliveBinaries.${pname} or texliveBinaries.core.${outName} or null ] [ texliveBinaries.core.${outName} or null texliveBinaries.${pname} or null texliveBinaries.core-big.${outName} or null ] ++ (args.extraBuildInputs or [ ]) ++ [ bash perl ] ++ (lib.attrVals (args.scriptExts or [ ]) extToInput); nativeBuildInputs = extraNativeBuildInputs; Loading pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix +3 −14 Original line number Diff line number Diff line Loading @@ -13,7 +13,9 @@ let # so we remove them from binfiles, and add back the ones texlinks purposefully ignore (e.g. mptopdf) removeFormatLinks = lib.mapAttrs (_: attrs: if (attrs ? formats && attrs ? binfiles) then let formatLinks = lib.catAttrs "name" (lib.filter (f: f.name != f.engine) attrs.formats); # TLPDB reports erroneously that various metafont binaries like "mf" are format links to engines # like "mf-nowin"; core-big provides both binaries and links so we simply skip them here then let formatLinks = lib.catAttrs "name" (lib.filter (f: f.name != f.engine && ! lib.hasSuffix "-nowin" f.engine) attrs.formats); binNotFormats = lib.subtractLists formatLinks attrs.binfiles; in if binNotFormats != [] then attrs // { binfiles = binNotFormats; } else removeAttrs attrs [ "binfiles" ] else attrs); Loading Loading @@ -122,12 +124,6 @@ in lib.recursiveUpdate orig rec { epstopdf.binlinks.repstopdf = "epstopdf"; pdfcrop.binlinks.rpdfcrop = "pdfcrop"; ptex.binlinks = { pdvitomp = bin.metapost + "/bin/pdvitomp"; pmpost = bin.metapost + "/bin/pmpost"; r-pmpost = bin.metapost + "/bin/r-pmpost"; }; texdef.binlinks = { latexdef = "texdef"; }; Loading @@ -143,13 +139,6 @@ in lib.recursiveUpdate orig rec { kpsexpand = "kpsetool"; }; # metapost binaries are in bin.metapost instead of bin.core uptex.binlinks = { r-upmpost = bin.metapost + "/bin/r-upmpost"; updvitomp = bin.metapost + "/bin/updvitomp"; upmpost = bin.metapost + "/bin/upmpost"; }; #### add PATH dependencies without wrappers # TODO deduplicate this code a2ping.postFixup = '' Loading Loading
pkgs/tools/typesetting/tex/texlive/bin.nix +15 −31 Original line number Diff line number Diff line Loading @@ -33,7 +33,9 @@ let "ps2eps" "ps2pk" "psutils" "ptex" "seetexk" "synctex" "t1utils" "tex" "tex4ht" "texlive-scripts-extra" "texware" "tie" "tpic2pdftex" "ttfutils" "uptex" "velthuis" "vlna" "web" "xml2pmx" ]; binPackages = lib.getAttrs corePackages tlpdb; coreBigPackages = [ "metafont" "mflua" "metapost" "luatex" "luahbtex" "xetex" ] ++ lib.optional withLuaJIT "luajittex"; binPackages = lib.getAttrs (corePackages ++ coreBigPackages) tlpdb; common = { src = fetchurl { Loading Loading @@ -215,12 +217,15 @@ core = stdenv.mkDerivation rec { }; inherit (core-big) metafont mflua metapost luatex luahbtex luajittex xetex; inherit (core-big) metafont mflua metapost luatex luahbtex xetex; luajittex = core.big.luajittex or null; core-big = stdenv.mkDerivation { #TODO: upmendex pname = "texlive-core-big.bin"; inherit version; inherit (common) src prePatch; __structuredAttrs = true; inherit (common) binToOutput src prePatch; patches = [ # improves reproducibility of fmt files. This patch has been proposed upstream, Loading Loading @@ -293,34 +298,13 @@ core-big = stdenv.mkDerivation { #TODO: upmendex doCheck = false; # fails # now distribute stuff into outputs, roughly as upstream TL # (uninteresting stuff remains in $out, typically duplicates from `core`) outputs = [ "out" "metafont" "mflua" "metapost" "luatex" "luahbtex" "luajittex" "xetex" ]; postInstall = '' for output in $(getAllOutputNames); do mkdir -p "''${!output}/bin" done mv "$out/bin"/{inimf,mf,mf-nowin} "$metafont/bin/" mv "$out/bin"/mflua{,-nowin} "$mflua/bin/" mv "$out/bin"/{*tomp,mfplain,*mpost} "$metapost/bin/" mv "$out/bin"/{luatex,texlua,texluac} "$luatex/bin/" mv "$out/bin"/luahbtex "$luahbtex/bin/" mv "$out/bin"/xetex "$xetex/bin/" cp libs/teckit/teckit_compile "$xetex/bin/" '' + lib.optionalString withLuaJIT '' mv "$out/bin"/mfluajit{,-nowin} "$mflua/bin/" mv "$out/bin"/{luajittex,luajithbtex,texluajit,texluajitc} "$luajittex/bin/" '' ; outputs = [ "out" ] ++ (builtins.map (builtins.replaceStrings [ "-" ] [ "_" ]) coreBigPackages) # some outputs of metapost, omegaware are for ptex/uptex ++ [ "ptex" "uptex" ] # unavoidable duplicates from core ++ [ "ctie" "cweb" "omegaware" "texlive_scripts_extra" "tie" "web" ]; postInstall = common.moveBins; }; Loading
pkgs/tools/typesetting/tex/texlive/build-texlive-package.nix +3 −1 Original line number Diff line number Diff line Loading @@ -120,7 +120,9 @@ let inherit meta; # shebang interpreters and compiled binaries buildInputs = let outName = builtins.replaceStrings [ "-" ] [ "_" ] pname; in [ texliveBinaries.${pname} or texliveBinaries.core.${outName} or null ] [ texliveBinaries.core.${outName} or null texliveBinaries.${pname} or null texliveBinaries.core-big.${outName} or null ] ++ (args.extraBuildInputs or [ ]) ++ [ bash perl ] ++ (lib.attrVals (args.scriptExts or [ ]) extToInput); nativeBuildInputs = extraNativeBuildInputs; Loading
pkgs/tools/typesetting/tex/texlive/tlpdb-overrides.nix +3 −14 Original line number Diff line number Diff line Loading @@ -13,7 +13,9 @@ let # so we remove them from binfiles, and add back the ones texlinks purposefully ignore (e.g. mptopdf) removeFormatLinks = lib.mapAttrs (_: attrs: if (attrs ? formats && attrs ? binfiles) then let formatLinks = lib.catAttrs "name" (lib.filter (f: f.name != f.engine) attrs.formats); # TLPDB reports erroneously that various metafont binaries like "mf" are format links to engines # like "mf-nowin"; core-big provides both binaries and links so we simply skip them here then let formatLinks = lib.catAttrs "name" (lib.filter (f: f.name != f.engine && ! lib.hasSuffix "-nowin" f.engine) attrs.formats); binNotFormats = lib.subtractLists formatLinks attrs.binfiles; in if binNotFormats != [] then attrs // { binfiles = binNotFormats; } else removeAttrs attrs [ "binfiles" ] else attrs); Loading Loading @@ -122,12 +124,6 @@ in lib.recursiveUpdate orig rec { epstopdf.binlinks.repstopdf = "epstopdf"; pdfcrop.binlinks.rpdfcrop = "pdfcrop"; ptex.binlinks = { pdvitomp = bin.metapost + "/bin/pdvitomp"; pmpost = bin.metapost + "/bin/pmpost"; r-pmpost = bin.metapost + "/bin/r-pmpost"; }; texdef.binlinks = { latexdef = "texdef"; }; Loading @@ -143,13 +139,6 @@ in lib.recursiveUpdate orig rec { kpsexpand = "kpsetool"; }; # metapost binaries are in bin.metapost instead of bin.core uptex.binlinks = { r-upmpost = bin.metapost + "/bin/r-upmpost"; updvitomp = bin.metapost + "/bin/updvitomp"; upmpost = bin.metapost + "/bin/upmpost"; }; #### add PATH dependencies without wrappers # TODO deduplicate this code a2ping.postFixup = '' Loading