Support reproducible offline source packaging (e.g., for Homebrew) #14888
Replies: 3 comments 5 replies
|
Please follow this repository's contributing guidelines. Transferring to discussion feature requests. FYI, there is a homebrew cask: https://formulae.brew.sh/cask/quarto#default |
|
I've created a Homebrew formula that builds Quarto from source against Homebrew's shared dependencies (Deno, Pandoc, Dart Sass, esbuild and Typst). Unlike the cask, it also works on Linux. You can try it with To get it into homebrew-core, it needs a Deno lockfile (at the moment the Deno dependencies are fetched without pinning or integrity checks, and Homebrew won't accept that). Could you add that? I also had to work around three small things in the build scripts. I'm happy to send PRs for them if you're open to that:
|
|
Just in case you haven't seen this post, @cderv or @cscheid do you have any opinion? I know that the v2 rewrite is in the works, but v1.x will probably stay relevant for at least another year, so in my opinion creating a Homebrew formula for it would still be very nice (I'd also be happy to help creating the formula for v2 when it is ready). The only blocker is the missing Deno lock file, and the three smaller things are totally optional (see my previous post). |
Uh oh!
There was an error while loading. Please reload this page.
I am currently preparing a source-built Quarto formula for Homebrew. The formula already builds successfully and runs Quarto with Homebrew's current dependencies on my local Mac:
There are certainly several issues I still need to address before even thinking about submitting a new formula to Homebrew, but I wanted to take the opportunity to discuss potential changes to Quarto first, which would make creating a formula much easier (this would not only benefit a Homebrew formula, but likely also other packaging systems like Conda and various Linux distributions).
The three most important changes would be:
deno installanymore but a correspondingdeno cachecan be used instead), include all six entrypoints (package/src/bld.tsandtools/deno-esbuild-bundle.tsare missing), and stop suppressing errors (i.e., don't doset +e).typst-gatherbefore it is actually needed.There are some additional (minor) things that Quarto could do, but I would like to discuss if you are open to these changes in principle. If so, I'm happy to talk about the other changes that, together with the three mentioned points, would not change Quarto's behavior at all, but make building from source much easier (and eventually enable a core Homebrew formula).
All reactions