texlive: 2019 -> 2019-final

The biber package is now at 2.14, but TextBibTeX is still required.

Few changes were needed for newly introduced scripts-extra path. This
broke some of our old tricks which were relying on having writable
script directories. The changes to the script locations made buildEnv
create symlinks to the script directories instead of directories of
symlinks to scripts. The changes to texlinks.sh and texlive/TeXLive
perl path were made because of this.
This commit is contained in:
Dmitry Kalinkin 2020-03-09 19:13:25 -04:00
parent d9fb53ddd6
commit 9752593eb0
No known key found for this signature in database
GPG Key ID: 5157B3EC8B2CA333
6 changed files with 3753 additions and 2349 deletions

View File

@ -10,13 +10,12 @@ perlPackages.buildPerlModule {
src = "${biberSource}/source/bibtex/biber/biblatex-biber.tar.gz"; src = "${biberSource}/source/bibtex/biber/biblatex-biber.tar.gz";
# TODO: remove TextBibTeX for biber 2.14: https://github.com/plk/biber/blob/dev/Changes
buildInputs = with perlPackages; [ buildInputs = with perlPackages; [
autovivification BusinessISBN BusinessISMN BusinessISSN ConfigAutoConf autovivification BusinessISBN BusinessISMN BusinessISSN ConfigAutoConf
DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K DataCompare DataDump DateSimple EncodeEUCJPASCII EncodeHanExtra EncodeJIS2K
DateTime DateTimeFormatBuilder DateTimeCalendarJulian DateTime DateTimeFormatBuilder DateTimeCalendarJulian
ExtUtilsLibBuilder FileSlurper FileWhich IPCRun3 LogLog4perl LWPProtocolHttps ListAllUtils ExtUtilsLibBuilder FileSlurper FileWhich IPCRun3 LogLog4perl LWPProtocolHttps ListAllUtils
ListMoreUtils MozillaCA IOString ReadonlyXS RegexpCommon TextBibTeX ListMoreUtils MozillaCA ParseRecDescent IOString ReadonlyXS RegexpCommon TextBibTeX
UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter UnicodeLineBreak URI XMLLibXMLSimple XMLLibXSLT XMLWriter
ClassAccessor TextCSV TextCSV_XS TextRoman DataUniqid LinguaTranslit SortKey ClassAccessor TextCSV TextCSV_XS TextRoman DataUniqid LinguaTranslit SortKey
TestDifferences TestDifferences

View File

@ -399,6 +399,27 @@ pygmentex = python2Packages.buildPythonApplication rec {
}; };
texlinks = stdenv.mkDerivation rec {
name = "texlinks.sh";
src = stdenv.lib.head (builtins.filter (p: p.tlType == "run") texlive.texlive-scripts-extra.pkgs);
dontBuild = true;
doCheck = false;
installPhase = ''
runHook preInstall
# Patch texlinks.sh back to 2015 version;
# otherwise some bin/ links break, e.g. xe(la)tex.
patch --verbose -R scripts/texlive-extra/texlinks.sh < '${./texlinks.diff}'
install -Dm555 scripts/texlive-extra/texlinks.sh "$out"
runHook postInstall
'';
};
inherit biber; inherit biber;
bibtexu = bibtex8; bibtexu = bibtex8;
bibtex8 = stdenv.mkDerivation { bibtex8 = stdenv.mkDerivation {

View File

@ -68,24 +68,13 @@ in buildEnv {
'') '')
pkgList.bin pkgList.bin
+ +
# Patch texlinks.sh back to 2015 version;
# otherwise some bin/ links break, e.g. xe(la)tex.
''
(
cd "$out/share/texmf/scripts/texlive"
local target="$(readlink texlinks.sh)"
rm texlinks.sh && cp "$target" texlinks.sh
patch --verbose -R texlinks.sh < '${./texlinks.diff}'
)
'' +
'' ''
export PATH="$out/bin:$out/share/texmf/scripts/texlive:${perl}/bin:$PATH" export PATH="$out/bin:$out/share/texmf/scripts/texlive:${perl}/bin:$PATH"
export TEXMFCNF="$out/share/texmf/web2c" export TEXMFCNF="$out/share/texmf/web2c"
export TEXMFDIST="$out/share/texmf" export TEXMFDIST="$out/share/texmf"
export TEXMFSYSCONFIG="$out/share/texmf-config" export TEXMFSYSCONFIG="$out/share/texmf-config"
export TEXMFSYSVAR="$out/share/texmf-var" export TEXMFSYSVAR="$out/share/texmf-var"
export PERL5LIB="$out/share/texmf/scripts/texlive" export PERL5LIB="$out/share/texmf/scripts/texlive:${bin.core.out}/share/texmf-dist/scripts/texlive"
'' + '' +
# patch texmf-dist -> $out/share/texmf # patch texmf-dist -> $out/share/texmf
# patch texmf-local -> $out/share/texmf-local # patch texmf-local -> $out/share/texmf-local
@ -164,7 +153,7 @@ in buildEnv {
rm "$link" rm "$link"
makeWrapper "$target" "$link" \ makeWrapper "$target" "$link" \
--prefix PATH : "$out/bin:${perl}/bin" \ --prefix PATH : "$out/bin:${perl}/bin" \
--prefix PERL5LIB : "$out/share/texmf/scripts/texlive" --prefix PERL5LIB : "$PERL5LIB"
# avoid using non-nix shebang in $target by calling interpreter # avoid using non-nix shebang in $target by calling interpreter
if [[ "$(head -c 2 "$target")" = "#!" ]]; then if [[ "$(head -c 2 "$target")" = "#!" ]]; then
@ -194,9 +183,6 @@ in buildEnv {
'' + '' +
# texlive post-install actions # texlive post-install actions
'' ''
mkdir -p "$out/share/texmf/scripts/texlive/"
ln -s '${bin.core.out}/share/texmf-dist/scripts/texlive/TeXLive' "$out/share/texmf/scripts/texlive/"
for tool in updmap; do for tool in updmap; do
ln -sf "$out/share/texmf/scripts/texlive/$tool."* "$out/bin/$tool" ln -sf "$out/share/texmf/scripts/texlive/$tool."* "$out/bin/$tool"
done done
@ -209,9 +195,9 @@ in buildEnv {
ln -sf fmtutil "$out/bin/mktexfmt" ln -sf fmtutil "$out/bin/mktexfmt"
perl `type -P mktexlsr.pl` ./share/texmf perl `type -P mktexlsr.pl` ./share/texmf
texlinks.sh "$out/bin" && wrapBin ${bin.texlinks} "$out/bin" && wrapBin
(perl `type -P fmtutil.pl` --sys --all || true) | grep '^fmtutil' # too verbose (perl `type -P fmtutil.pl` --sys --all || true) | grep '^fmtutil' # too verbose
#texlinks.sh "$out/bin" && wrapBin # do we need to regenerate format links? #${bin.texlinks} "$out/bin" && wrapBin # do we need to regenerate format links?
# Disable unavailable map files # Disable unavailable map files
echo y | perl `type -P updmap.pl` --sys --syncwithtrees --force echo y | perl `type -P updmap.pl` --sys --syncwithtrees --force

View File

@ -106,15 +106,12 @@ let
# should be switching to the tlnet-final versions # should be switching to the tlnet-final versions
# (https://tug.org/historic/). # (https://tug.org/historic/).
urlPrefixes = args.urlPrefixes or [ urlPrefixes = args.urlPrefixes or [
# Snapshots hosted by one of the texlive release managers # tlnet-final snapshot
https://texlive.info/tlnet-archive/2019/10/19/tlnet/archive http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2019/tlnet-final/archive
ftp://tug.org/texlive/historic/2019/tlnet-final/archive
# Mirror hosted by @veprbl # Daily snapshots hosted by one of the texlive release managers
http://146.185.144.154/texlive-2019 #https://texlive.info/tlnet-archive/2019/10/19/tlnet/archive
# TODO: Upgrade to the final snapshot of the packages before 20.03
#http://ftp.math.utah.edu/pub/tex/historic/systems/texlive/2019/tlnet-final/archive
#ftp://tug.org/texlive/historic/2019/tlnet-final/archive
]; ];
src = fetchurl { inherit urls sha512; }; src = fetchurl { inherit urls sha512; };

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff