Don't interpolate a variable into the URL string because a) if the
variable changes but the hash does not, erroneous cached files may be
used for the FOD; and b) it is convenient for those reading to have the
whole URL so they can open it.
`pkgs.fetchgit` uses `fetchSubmodules = true;` by default, however
`nix-prefetch-git` doesn't. This means that hashes for a Git repository
with fetched submodules will be wrong in `yarn.nix`.
Considering that this got unnoticed before, it seems as if this case is
an exception to a certain degree.
An exemplary problem is the last `hedgedoc` update[1] where
`js-sequence-diagrams` - a Git repo with submodules - from upstream's
package.json caused a hash mismatch. This got unnoticed because
`nix-build --check` doesn't seem to reveal these issues for fixed-output
derivations.
[1] https://github.com/NixOS/nixpkgs/pull/139238
Reverse bootstrapping is not supported by GHC upstream. In the case of
8.8.4 it just happens to work using 8.10.2, with later versions,
specifically 8.10.7 there seems to be some digressions in the generated /
used C code which cause 8.8.4 to fail to compile [1].
Thus we revert to using 8.10.2 for aarch64 and Musl which means: Still
no integer-simple and musl at the same time (however all other GHCs have
it, so it's probably not a problem) and no aarch64-darwin (GHC 8.8.4
can't target that architecture anyways). In short, the situation stays
the same.
[1]: https://github.com/NixOS/nixpkgs/pull/138523#issuecomment-927339953
Some quilt commands fail on darwin with this error:
stat: illegal option -- c
usage: stat [-FlLnqrsx] [-f format] [-t timefmt] [file ...]
This is because at build time quilt is configured to use the coreutils
version of 'stat', but the 'quilt' wrapper does not wrap this coreutils
dependency and then at runtime the version from macOS is used (as found
in $PATH).
Fix by ensuring that coreutils is wrapped.
Also add and wrap the missing inputs for the other programs used by the
quilt commands: gawk, gnugrep, gnused, unixtools.column and
unixtools.getopt.