repstopdf is supposed to be a symlink to epstopdf. Then epstopdf looks
at "$0" to detect when restricted mode needs to be enabled. Unfortunately
our wrapper will drop all intermediate symlinks, which messes up "$0".
Restricted mode appears to be a security feature, so a test is
introduced to verify that the wrapper works as expected.
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.
Otherwise they will have to be generated by users lazily,
which is probably not the right trade-off.
Noticed this because lack of formats was causing problems
on a few documents since they will (a TL2018 change, I believe)
attempt to be written to the nix build user's ~/.texlive2018.
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
toPath has confusing semantics and is never necessary; it can always
either just be omitted or replaced by pre-concatenating `/.`. It has
been marked as "!!! obsolete?" for more than 10 years in a C++
comment, hopefully removing it will let us properly deprecate and,
eventually, remove it.
Hashes added manually, not using `fixHashes.sh`.
We remove xdvi from collection-basic and put it elsewhere:
previously this was collection-genericextra but that no longer
exist so I suppose it can go in collection-plainextra.
(As mentioned on the issue, might be best to just leave it in basic?)
Fixes#32661.
The problem was in builtins.partition call. I've tried to rewrite it with
builtins.foldl', but that doesn't help. However replacing it with a pair of
builtins.filter calls works.
diff --git a/lib/lists.nix b/lib/lists.nix
--- a/lib/lists.nix
+++ b/lib/lists.nix
@@ -242,10 +242,10 @@ rec {
=> { right = [ 5 3 4 ]; wrong = [ 1 2 ]; }
*/
partition = builtins.partition or (pred:
- foldr (h: t:
+ builtins.foldl' (t: h:
if pred h
- then { right = [h] ++ t.right; wrong = t.wrong; }
- else { right = t.right; wrong = [h] ++ t.wrong; }
+ then { right = t.right ++ [h]; wrong = t.wrong; }
+ else { right = t.right; wrong = t.wrong ++ [h]; }
) { right = []; wrong = []; });
/* Merges two lists of the same size together. If the sizes aren't the same
fmtutil has started to report number of failed formats in its return code. One
could regenerate the share/texmf/web2c/fmtutil.cnf to only include available
.ini files, but simpler solution is to ignore the return code.
* pkgs: refactor needless quoting of homepage meta attribute
A lot of packages are needlessly quoting the homepage meta attribute
(about 1400, 22%), this commit refactors all of those instances.
* pkgs: Fixing some links that were wrongfully unquoted in the previous
commit
* Fixed some instances
`stripHash` documentation states that it prints out the stripped name to
the stdout, but the function stored the value in `strippedName`
instead.
Basically all usages did something like
`$(stripHash $foo | echo $strippedName)` which is just braindamaged.
Fixed the implementation and all invocations.
Note: only basic testing has been done so far; also see FIXME items.
AMENDed to reduce git history size significantly:
- fix 2015->2016 bugs in fixedHashes.nix
- purge all sha512 from pkgs.nix
This was one of the ways to build packages, we are trying
hard to minimize different ways so it's easier for newcomers
to learn only one way.
This also:
- removes texLive (old), fixes#14807
- removed upstream-updater, if that code is still used it should be in
separate repo
- changes a few packages like gitit/mit-scheme to use new texlive