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
2 changed files with 18 additions and 23 deletions
+17 -21
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;
}; };
@@ -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;