nixpkgs/pkgs/tools
apfelkuchen06 bab298bf03 texlive: fix kpathsea path expansion.
When expanding path variables, kpathsea uses a trick to speed up identifying
leaf directories. The manual says

> The trick is that in every real Unix implementation (as opposed to the POSIX
> specification), a directory which contains no subdirectories will have
> exactly two links (namely, one for . and one for ..). That is to say, the
> st_nlink field in the ‘stat’ structure will be two. Thus, we don’t have to
> stat everything in the bottom-level (leaf) directories—we can just check
> st_nlink, notice it’s two, and do no more work.
>
> But if you have a directory that contains a single subdirectory and 500
> regular files, st_nlink will be 3, and Kpathsea has to stat every one of those
> 501 entries. Therein lies slowness.
>
> You can disable the trick by undefining ST_NLINK_TRICK in
> kpathsea/config.h. (It is undefined by default except under Unix.)

This does not work as expected with nixpkgs symlink trees and programs that rely
on kpathsea path expansion do not work properly.

One example is luaotfload's font database, which is populated by the font files
in the directories obtained by path-expanding the value of the `OPENTYPEFONTS`
configuration variable with kpathsea. The expanded value can be checked with
`kpsewhich --show-path="opentype fonts"`.  Before this change, the expanded
value does not include the various font directories symlinked into
`/texmf/fonts/opentype/public`, since kpathsea considers this a leaf
directory (every child is a symlink, not a directory). Hence luaotfload does
not find the fonts in the texlive installation.

This patch disables this trick.
2023-03-09 23:17:04 +01:00
..
admin Merge pull request #219943 from Trundle/pulumi-3.56.0 2023-03-07 15:05:31 +02:00
archivers Merge pull request #219178 from doronbehar/pkg/snzip 2023-03-04 10:04:41 +08:00
audio mpd-sima: init at 0.18.2 2023-03-05 01:38:35 +01:00
backup Merge pull request #219743 from r-ryantm/auto-update/autorestic 2023-03-06 10:48:38 +08:00
bluetooth
bootloaders/refind
cd-dvd vobsub2srt: use tesseract3 2023-03-02 21:12:55 -08:00
compression Merge remote-tracking branch 'origin/master' into staging-next 2023-02-23 13:51:34 +00:00
filesystems Merge pull request #219760 from r-ryantm/auto-update/exfat 2023-03-07 10:06:01 +02:00
games treewide: use ocaml-ng.ocamlPackages_4_14_unsafe_string 2023-03-07 00:03:54 +02:00
graphics Merge pull request #219168 from r-ryantm/auto-update/gnuplot 2023-03-06 22:48:03 +02:00
inputmethods Merge remote-tracking branch 'origin/master' into staging-next 2023-02-23 13:51:34 +00:00
misc Merge pull request #219949 from developer-guy/feature/goreleaser-add-developer-guy-to-maintainers 2023-03-07 21:02:39 +02:00
networking checkip: 0.44.2 -> 0.45.1 2023-03-07 16:29:06 +00:00
nix nixos-render-docs: add manual html converter 2023-02-21 18:26:41 +01:00
package-management nix-update: 0.15.0 -> 0.15.1 2023-03-04 12:06:42 -05:00
security masscan: add patch to fix resume functionality (#219905) 2023-03-07 21:34:23 +01:00
system gopsuinfo: 0.1.2 -> 0.1.3 2023-03-07 12:34:42 +00:00
text d2: 0.2.2 -> 0.2.3 2023-03-07 09:26:27 +00:00
typesetting texlive: fix kpathsea path expansion. 2023-03-09 23:17:04 +01:00
video Merge pull request #209679 from r-ryantm/auto-update/rav1e 2023-03-01 23:34:33 +01:00
virtualization awsebcli: add kirillrdy as maintainer 2023-03-08 07:33:59 +11:00
wayland Merge pull request #219633 from r-ryantm/auto-update/shotman 2023-03-06 22:01:34 +02:00
X11 Merge pull request #217402 from ElnuDev/xborders 2023-03-06 13:39:04 -03:00