GithubHelp home page GithubHelp logo

Comments (14)

nwhetsell avatar nwhetsell commented on June 24, 2024 1

@brabalan If you’re on a Mac, you can install biber v2.19 from here:

brew install nwhetsell/biber/[email protected]

Note: This is my own tap, not an official Homebrew tap.

from homebrew-core.

p-linnane avatar p-linnane commented on June 24, 2024

Thanks for the report @thomwiggers.

@Homebrew/core We've seen this issue before: #121738. Any ideas on how we can deal with this? Do we need to start versioning?

from homebrew-core.

ZhongRuoyu avatar ZhongRuoyu commented on June 24, 2024

If versioning means adding a separate [email protected] that works for the latest texlive (while keeping the unversioned biber): users can still do brew install biber without knowing its existence.

I propose that we have two versioned formulae -- one for the latest stable biber, and one for latest biber that's compatible with our texlive. Then we make biber an alias of the latter. This is similar to how we handle python and should work for the intuitive brew install biber use case. I would like to note that not all of the criteria for versioned formulae are met (e.g., no release branch for minor versions) so we'd need to consider this as an exception.

Alternatively we can downgrade biber to the latest version that works with texlive. In that case we avoid updating it until texlive is updated.

from homebrew-core.

SMillerDev avatar SMillerDev commented on June 24, 2024

Alternatively we can downgrade biber to the latest version that works with texlive. In that case we avoid updating it until texlive is updated.

At the very least we should probably add a test for this specific case. Maybe we can patch texlive to work with a newer version?

from homebrew-core.

nwhetsell avatar nwhetsell commented on June 24, 2024

I wanted to mention that creating versioned biber formulae may be complicated by the need for Linux bottles. The biber formula includes a workaround for a linking issue on Linux:

# fix libbtparse.so linkage failure on Linux
if r.name == "Text::BibTeX" && OS.linux?
inreplace "inc/MyBuilder.pm",
"-lbtparse",
"-Wl,-rpath,#{libexec}/lib -lbtparse"
end

However, this workaround doesn’t seem to work when biber is keg-only (which will probably be the case if biber is versioned). This was an issue with #123295 (unsuccessful attempt to add a [email protected] formula) and will probably be an issue for a [email protected] formula (link is to my tap).

from homebrew-core.

thomwiggers avatar thomwiggers commented on June 24, 2024

TeXLive can also be set up to include biber directly; then this package could be deleted (or made so that it is not linked if texlive is present or something like that). Then all headaches are avoided in one stroke.

from homebrew-core.

MikeMcQuaid avatar MikeMcQuaid commented on June 24, 2024

TeXLive can also be set up to include biber directly

This is what I came in here thinking, too.

from homebrew-core.

nwhetsell avatar nwhetsell commented on June 24, 2024

I’m pretty sure that TeX Live can include biber in the sense that some TeX Live distributions (like MacTeX) bundle biber with TeX Live, but, as far as I’m aware, the TeX Live installer doesn’t include a setting to install biber. I believe what projects like MacTeX do is build biber separately and then just include the binaries (this is described at https://tug.org/texlive/build.html#biber).

I’d be happy to attempt a pull request to add biber 2.19 to the texlive formula, but here’s what that would entail (from #121738 (comment)):

…the biber formula includes 122 resources, all Perl packages. The texlive formula currently depends on 45 Perl packages; adding biber to texlive would make texlive depend on 139 Perl packages (biber and texlive have 28 Perl resources in common), which seems like a pretty steep increase. In addition, if biber then becomes keg-only, there would effectively be two independent, resource-heavy versions of biber in homebrew-core.

(The last part about biber being keg-only becomes moot if the biber formula is deleted.)

from homebrew-core.

carlocab avatar carlocab commented on June 24, 2024

texlive is already a gigantic formula and regularly fails dependent testing because the runners run out of storage space. I'd rather split it into separate pieces (where sensible) instead of making it bigger.

I'd prefer an update to biber's test block that makes sure it works with texlive.

from homebrew-core.

MikeMcQuaid avatar MikeMcQuaid commented on June 24, 2024

I'd rather split it into separate pieces (where sensible) instead of making it bigger.

Given the above: yes, I agree.

I'd prefer an update to biber's test block that makes sure it works with texlive.

This seems like a good idea.

from homebrew-core.

nwhetsell avatar nwhetsell commented on June 24, 2024

@carlocab I’m wondering what is the best way to add a test in this case.

Adding a test to the current biber formula won’t work, because biber 2.20 is incompatible with what’s installed with the texlive formula (so the test is sure to fail).

The most straightforward possibility is probably to rollback the biber formula to 2.19, but I believe this would require adding version_scheme 1 in the biber formula, like this—

class Biber < Formula
  desc "Backend processor for BibLaTeX"
  homepage "https://sourceforge.net/projects/biblatex-biber/"
  url "https://github.com/plk/biber/archive/refs/tags/v2.19.tar.gz"
  sha256 "1c1266bc8adb1637c4c59e23c47d919c5a38da4e53544a3c22c21de4a68fc9fe"
  license "Artistic-2.0"
  version_scheme 1

—and I’m not sure using version_scheme when the version scheme hasn’t really changed (or, for that matter, rolling back biber) would be acceptable for homebrew-core.

Another possibility is to add a [email protected] formula that includes a texlive test (and then delete [email protected] when TeX Live 2025 is released). However, I’m nearly certain that a [email protected] formula could not be keg-only because of an issue with bottling keg-only biber on Linux.

Another possibility is to wait for TeX Live 2025 and add a test then, although that would mean having an incompatible biber in homebrew-core until next March.

from homebrew-core.

SMillerDev avatar SMillerDev commented on June 24, 2024

Adding a test to the current biber formula won’t work, because biber 2.20 is incompatible with what’s installed with the texlive formula (so the test is sure to fail).

That sounds good, and from there we can work towards a solution

from homebrew-core.

Cerebus avatar Cerebus commented on June 24, 2024

I feel like the biber formula should roll back to 2.19, then patch the test suite to track texlive compatibility.

from homebrew-core.

brabalan avatar brabalan commented on June 24, 2024

Is there a workaround to use biber + texlive installed with homebrew in the meantime?

from homebrew-core.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.