Also change default package version from texlive year to a
revision. The problem with using texlive year is that it will change
on each of our update even if the package itself was not updated. The
texlive SVN revision number should not change unless the package is
updated. This will allow to share more store paths between different
texlive versions.
chktex binary doesn't work without its global resource file which
comes in its tlType="run" package. This commit moves chktex into a
separate tlType="bin" package so it is only used along with its
tlType="run" counterpart.
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.
biber: 2.12 -> 2.13
Vendored potrace was moved from libs/potrace to
texk/dvisvgm/dvisvgm-src/libs/potrace. Unfortunately, it is not trivial
to remove it from there, so for now dvisvgm seems to be using its
vendored dependencies.
There ver very many conflicts, basically all due to
name -> pname+version. Fortunately, almost everything was auto-resolved
by kdiff3, and for now I just fixed up a couple evaluation problems,
as verified by the tarball job. There might be some fallback to these
conflicts, but I believe it should be minimal.
Hydra nixpkgs: ?compare=1538299
texlive attribute was accidentally added in attrset wrapped with
stdenv.lib.optionalAttrs (!stdenv.isDarwin)
Fixes: dbc2c1c4b8 ('texlive: add missing perl dependencies for latexindent')
The automake file was patched but `automake` not run.
Also since the texk/web2c folder is not in autoconfig's
SUBDIRS the autoreconfHook has to be run in there.
Completely fixes#46376
This seems like a known issue as other distributions (ArchLinux here)
have patches fixing the issue.
This hopefully fixes more than one dependant builds for ZHF 18.09.
This commit rebuilds texlive 2017 with the final release of 2017. As described
in these issues [1][2][3], the upstream CTAN mirrors are a continuously moving
rolling release without historical archives.
This particular FTP server is also a rolling release folling CTAN for the latest
version, but it has snapshots of the final texlive releases; it appears that the
2017 distribution has been unmodified since texlive-2018 was released earlier
this year.
Along the way, we needed to fix several issues:
- xindy: if $HOME is unset, it will try to mkdir /homeless-shelter, which fails
due to insufficient permissions.
- scheme-infraonly: this scheme had symlinks into other releases that were
read-only, so it couldn't patch and modify the scripts. This commit removes it
for now, but that's not a particularly satisfying solution. Ideas?
This also adds some documentation on the upgrade process to prepare for
texlive-2018 [4].
This commit also replaces the sha1 hashes with upstream's standard sha512 hashes.
It appears the motivation for the shorter hashes was to save disk space in the
derivations; in master, the size of this directory is 1012K; in this commit it
is 1600K. The difference is not particularly large, and the downsides to using
our own sha1 hashes are:
- More nix code to maintain
- Multi-step upgrade process for maintainers: the maintainer first has to
download all upstream tarballs by sha512 hash, then run the fix script, then
rebuild with sha1 hashes.
- Less transparent. If we use the upstream sha512 hashes, any user can
immediately verify that the hashes we're providing match upstream, or match
the snapshot in time.
- Easier to debug. Since upstream is rolling and packages may disappear or fail
to build, it's useful to be able to determine if the sha mismatch is because
of an update or not; if we have a sha1 mismatch and no tarball to pull, we
can't figure out which sha512sum would have produced that sha1.
- Less trust required. Due to the above, users don't have to trust the
content-addressed mirrors on IPFS and @veprbl's servers as much.
- Easier to cobble together a source distribution from a variety of sources. It
seems some FTP servers have more/less than others, or older/newer packages. If
we know what we're looking for beforehand and we're just missing a few
packages whose hashes match the advertised hashes upstream, it's easier to find.
[1] https://github.com/NixOS/nixpkgs/issues/24683
[2] https://github.com/NixOS/nixpkgs/issues/10026
[3] https://github.com/NixOS/nixpkgs/issues/34490
[4] https://github.com/NixOS/nixpkgs/issues/40232