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

View File

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