-
-
Notifications
You must be signed in to change notification settings - Fork 15.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Biber and BibLatex incompatibility #88067
Comments
The version of biber that we ship corresponds to cc @lluchs as maintainer of |
I would also appreciate a fix for this. I tried overriding |
I marked this as stale due to inactivity. → More info |
I've just encountered this issue too. |
@nerosnm Which version of nixpkgs are you using?
|
Currently biber expects ## home.nix
{ pkgs, ... }:
let
## source of biber v2.17
## ... from: https://hydra.nixos.org/build/202359527
nixpkgs_biber217 = import (builtins.fetchTarball {
url = "https://github.com/NixOS/nixpkgs/archive/40f79f003b6377bd2f4ed4027dde1f8f922995dd.tar.gz";
sha256 = "1javsbaxf04fjygyp5b9c9hb9dkh5gb4m4h9gf9gvqlanlnms4n5";
}) {};
in {
home.packages = with pkgs; [
tectonic ## to be overridden below
];
## equivalent to ~/.config/nixpkgs/config.nix
nixpkgs.config = {
packageOverrides = pkgs: with pkgs; {
tectonic = tectonic.override {
## overriding depedent biber to v2.17
biber = nixpkgs_biber217.biber;
};
};
};
} Although this works on my end, I hope this could be upstreamed to nixpkgs itself so that we can make use of the hydra cache with no need to locally rebuild tectonic; cc maintainers: @lluchs @doronbehar. Thank you very much! |
Tectonic is tracking this issue in tectonic-typesetting/tectonic#893 . In general, we sort of rely on Tectonic's bundles to follow texlive releases. That's why we don't embed such hardcoding of the Perhaps also the following Tectonic nixpkgs update will help: #237900 |
Indeed... Is it then possible to create some |
You have a point. I was the one who introduced the wrapping of |
Wow nice! Thank you very much! |
I have hence created a wrapper ## see: https://github.com/bryango/nixpkgs-config/blob/master/pkgs/tectonic-with-biber.nix
{ lib
, symlinkJoin
, makeBinaryWrapper
, tectonic
, biber
}:
symlinkJoin {
name = "tectonic-with-biber-${biber.version}";
## biber is **not** directly exposed in paths
paths = [ tectonic ];
nativeBuildInputs = [ makeBinaryWrapper ];
# Tectonic runs biber when it detects it needs to run it, see:
# https://github.com/tectonic-typesetting/tectonic/releases/tag/tectonic%400.7.0
postBuild = ''
wrapProgram $out/bin/tectonic \
--prefix PATH : "${lib.getBin biber}/bin"
makeBinaryWrapper "${lib.getBin biber}/bin/biber" \
$out/bin/biber-${biber.version}
'';
## the biber executable is exposed as `biber-${biber.version}`
inherit (tectonic) meta;
} I am far from proficient in nix, so the package is created following https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/graphics/gimp/wrapper.nix along with the previous revision of {
tectonic-with-biber = pkgs.callPackage ./pkgs/tectonic-with-biber.nix {
## `pkgs_biber` defined as in https://github.com/NixOS/nixpkgs/issues/88067#issuecomment-1592592840
biber = pkgs_biber217.biber;
};
}
## see e.g. https://github.com/bryango/nixpkgs-config/blob/master/flake.nix I don't know whether it's good to upstream this or not. In any case, I think it may be useful to others like me, so it would be good to share this here haha. |
Update: I am now trying to upstream a more polished solution via #273740. @doronbehar would you be interested in a review? 🥺 The PR will close this issue. |
tectonic, biber-for-tectonic: wrap tectonic with biber-2.17, fix #88067
Describe the bug
Reproduction
shell.nix
paper.tex
sample.bib
Expected behavior
No errors
Notify maintainers
@vcunat
Metadata
Maintainer information:
The text was updated successfully, but these errors were encountered: