nixpkgs/pkgs/tools/typesetting
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
..
asciidoc treewide: switch to nativeCheckInputs 2023-01-21 12:00:00 +00:00
asciidoctor asciidoctor: 2.0.17 -> 2.0.18 2022-10-16 10:04:03 +02:00
asciidoctor-with-extensions asciidoctor-with-extensions: 2.0.17 -> 2.0.18 2022-10-16 10:04:06 +02:00
asciidoctorj asciidoctorj: 2.5.6 -> 2.5.7 2022-10-26 14:40:46 +00:00
bibclean
biber texlive: 2021-final -> 2022.20221227 (#208313) 2022-12-30 17:47:58 -05:00
biblatex-check biblatex-check: 1.0.1 -> 1.0.2 2022-11-04 03:03:32 +00:00
coq2html
djvu2pdf
docbook2odf treewide: fix typos 2022-12-17 19:39:44 -05:00
docbook2x treewide: replace http by https when https is a permanent redirection 2023-01-22 02:46:49 +01:00
fop
git-latexdiff
halibut
hevea treewide: add strictDeps = true to most packages depending on ocaml 2023-02-03 08:59:34 +01:00
htmldoc htmldoc: fix darwin build (#178725) 2022-07-23 21:16:47 +02:00
kramdown-asciidoc treewide: bundlerApp makeWrapper buildInputs -> nativeBuildInputs 2022-08-14 06:41:33 +03:00
lout treewide: source .attrs in builders 2022-12-08 21:09:02 +02:00
lowdown lowdown: 0.11.1 -> 1.0.0 2022-06-18 20:28:42 +02:00
mmark mmark: 2.2.30 -> 2.2.31 2023-02-11 13:45:00 +00:00
multimarkdown multimarkdown: Move files from $out/ to $out/share/doc/multimarkdown/ 2022-09-30 10:34:00 +02:00
pdf2djvu
pdf2odt
pdfchain
pdfgrep
pdfsandwich treewide: add strictDeps = true to most packages depending on ocaml 2023-02-03 08:59:34 +01:00
pdftk pdftk: 3.3.2 -> 3.3.3 2022-09-24 17:36:59 +00:00
psutils
rfc-bibtex treewide: switch to nativeCheckInputs 2023-01-21 12:00:00 +00:00
rubber rubber: 1.5.1 -> 1.6.0 (#187738) 2022-08-22 09:23:51 +08:00
satysfi satysfi: rewrite with buildDunePackage 2023-01-22 03:52:47 +01:00
scdoc scdoc: fix cross compilation by setting HOST_SCDOC 2022-11-21 15:34:57 +08:00
sile sile: 0.14.7 → 0.14.8 2023-01-27 00:00:44 +03:00
skribilo
soupault soupault: 4.3.1 → 4.4.0 2023-01-30 16:13:32 +01:00
sshlatex
tectonic tectonic: 0.11.0 -> 0.12.0 2022-12-18 08:14:58 +00:00
ted ted: use xorg.* packages directly instead of xlibsWrapper indirection 2022-10-29 12:04:20 +02:00
tex texlive: fix kpathsea path expansion. 2023-03-09 23:17:04 +01:00
tikzit
xmlroff
xmlto xmlto: add w3m to wrapped PATH 2022-10-25 13:14:51 +02:00