Merge pull request #121535 from leotaku/texlive-2021

texlive: 2020 -> 2021
This commit is contained in:
Dmitry Kalinkin 2021-05-03 17:35:43 -04:00 committed by GitHub
commit edeed0a71e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 18 additions and 23 deletions

View File

@ -3,7 +3,7 @@
, zlib, libiconv, libpng, libX11
, freetype, gd, libXaw, icu, ghostscript, libXpm, libXmu, libXext
, perl, perlPackages, python3Packages, pkg-config
, poppler, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr
, libpaper, graphite2, zziplib, harfbuzz, potrace, gmp, mpfr
, brotli, cairo, pixman, xorg, clisp, biber, woff2, xxHash
, makeWrapper, shortenPerlShebang
}:
@ -14,24 +14,22 @@
let
withSystemLibs = map (libname: "--with-system-${libname}");
year = "2020";
year = "2021";
version = year; # keep names simple for now
common = {
src = fetchurl {
urls = [
"http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${year}/texlive-${year}0406-source.tar.xz"
"ftp://tug.ctan.org/pub/tex/historic/systems/texlive/${year}/texlive-${year}0406-source.tar.xz"
"http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/${year}/texlive-${year}0325-source.tar.xz"
"ftp://tug.ctan.org/pub/tex/historic/systems/texlive/${year}/texlive-${year}0325-source.tar.xz"
];
sha256 = "0y4h4j2qg714srhvf1hvn165w7sanr1j2vzrsgc23kxvrc43sbz3";
sha256 = "0jsq1p66l46k2qq0gbqmx25flj2nprsz4wrd1ybn286p11kdkvvs";
};
prePatch = ''
for i in texk/kpathsea/mktex*; do
sed -i '/^mydir=/d' "$i"
done
cp -pv texk/web2c/pdftexdir/pdftoepdf{-poppler0.86.0,}.cc
cp -pv texk/web2c/pdftexdir/pdftosrc{-poppler0.83.0,}.cc
'';
configureFlags = [
@ -43,9 +41,8 @@ let
]
++ withSystemLibs [
# see "from TL tree" vs. "Using installed" in configure output
"zziplib" "xpdf" "poppler" "mpfr" "gmp"
"zziplib" "mpfr" "gmp"
"pixman" "potrace" "gd" "freetype2" "libpng" "libpaper" "zlib"
# beware: xpdf means to use stuff from poppler :-/
];
# clean broken links to stuff not built
@ -73,7 +70,7 @@ core = stdenv.mkDerivation rec {
nativeBuildInputs = [ pkg-config ];
buildInputs = [
/*teckit*/ zziplib poppler mpfr gmp
/*teckit*/ zziplib mpfr gmp
pixman gd freetype libpng libpaper zlib
perl
];
@ -82,7 +79,7 @@ core = stdenv.mkDerivation rec {
preConfigure = ''
rm -r libs/{cairo,freetype2,gd,gmp,graphite2,harfbuzz,icu,libpaper,libpng} \
libs/{lua53,luajit,mpfr,pixman,poppler,xpdf,zlib,zziplib}
libs/{lua53,luajit,mpfr,pixman,zlib,zziplib}
mkdir WorkDir
cd WorkDir
'';
@ -178,7 +175,7 @@ core-big = stdenv.mkDerivation { #TODO: upmendex
luajit = lib.optionalString withLuaJIT ",luajit";
in ''
mkdir ./WorkDir && cd ./WorkDir
for path in libs/{teckit,lua53${luajit}} texk/web2c; do
for path in libs/{pplib,teckit,lua53${luajit}} texk/web2c; do
(
if [[ "$path" =~ "libs/lua" ]]; then
extraConfig="--enable-static --disable-shared"
@ -247,18 +244,17 @@ chktex = stdenv.mkDerivation {
dvisvgm = stdenv.mkDerivation rec {
pname = "texlive-dvisvgm.bin";
version = "2.11";
# TODO: dvisvgm was switched to build from upstream sources
# to address https://github.com/NixOS/nixpkgs/issues/104847
# We might want to consider reverting that change in the future.
inherit version;
src = fetchurl {
url = "https://github.com/mgieseki/dvisvgm/releases/download/${version}/dvisvgm-${version}.tar.gz";
sha256 = "12b6h0h8rc487yjh3sq9zsdabm9cs2vqcrb0znnfi8277f87zf3j";
};
inherit (common) src;
preConfigure = "cd texk/dvisvgm";
configureFlags = common.configureFlags
++ [ "--with-system-kpathsea" ];
nativeBuildInputs = [ pkg-config ];
buildInputs = [ core/*kpathsea*/ brotli ghostscript zlib freetype woff2 potrace xxHash ];
buildInputs = [ core brotli ghostscript zlib freetype woff2 potrace xxHash ];
enableParallelBuilding = true;
};

View File

@ -3,7 +3,7 @@
- current html: https://nixos.org/nixpkgs/manual/#sec-language-texlive
*/
{ stdenv, lib, fetchurl, runCommand, writeText, buildEnv
, callPackage, ghostscriptX, harfbuzz, poppler_min
, callPackage, ghostscriptX, harfbuzz
, makeWrapper, python3, ruby, perl
, useFixedHashes ? true
, recurseIntoAttrs
@ -11,7 +11,6 @@
let
# various binaries (compiled)
bin = callPackage ./bin.nix {
poppler = poppler_min; # otherwise depend on various X stuff
ghostscript = ghostscriptX;
harfbuzz = harfbuzz.override {
withIcu = true; withGraphite2 = true;