tectonic: Don't wrap with biber

Frequently, users complain about incompatibilities between biblatex from
Tectonic's bundle releases, and Nixpkgs' biber version, compiled from
texlive's sources. The issue does not happen within Nixpkgs' texlive,
and Nixpkgs' biber, since both of them are updated at the same time, and
hence are always compatible with each other. Since Tectonic manages it's
tex packages bundle by itself, it's natural that there will be
incompatibilities between Tectonic's user's distribution `biber`, and
Tectonic's biblatex version from Tectonic's bundle. See upstream's
issue: https://github.com/tectonic-typesetting/tectonic/issues/893

For the issue not to arise, we simply hope Tectonic's bundle update
itself not long after Nixpkgs' texlive packages are updated. In anycase,
`tectonic`'s users in Nixpkgs will be better off dealing with
incompatibilities without the need to recompile `tectonic` just to
change the `biber` path in wrapper.
This commit is contained in:
Doron Behar 2023-06-16 09:15:59 +03:00
parent 3ffbf36373
commit 0889989397

View File

@ -8,7 +8,6 @@
, openssl
, pkg-config
, makeBinaryWrapper
, biber
, icu
}:
@ -31,12 +30,7 @@ rustPlatform.buildRustPackage rec {
buildInputs = [ icu fontconfig harfbuzz openssl ]
++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices Cocoa Foundation ]);
# Tectonic runs biber when it detects it needs to run it, see:
# https://github.com/tectonic-typesetting/tectonic/releases/tag/tectonic%400.7.0
postInstall = ''
wrapProgram $out/bin/tectonic \
--prefix PATH : "${lib.getBin biber}/bin"
'' + lib.optionalString stdenv.isLinux ''
postInstall = lib.optionalString stdenv.isLinux ''
substituteInPlace dist/appimage/tectonic.desktop \
--replace Exec=tectonic Exec=$out/bin/tectonic
install -D dist/appimage/tectonic.desktop -t $out/share/applications/