-
Notifications
You must be signed in to change notification settings - Fork 52
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
homebrew package dependencies versions log #113
Comments
Thanks for raising this. Yes I definitely want to do this, and ideally I’d like to switch to Nix as well. I had not realized caldwell is using Nix, so that might be a good reference. I’ll see if I can get a list of exact relevant homebrew package versions generated as part of the build. I can’t promise a timeline at the moment, but I’m hoping I’ll enough spare time soon and get it sorted. The next phase I’d like to focus on after that would be Nix :) |
At the very least, could add the build artifact that shows the homebrew versions of the downloaded dependencies. When weird things arise, it'll be a reference that saves us all time. |
This is somewhat addressed with the switch to Nix, as that locks all built-time deps to exact versions via the Ultimately though, I want to have a look at GitHub's Artifact Attestations at some point and see if I can add it for builds produced by the workflows in jimeh/emacs-builds. |
Indeed, nix > homebrew. I greatly dislike homebrew's total lack of reproducibility across systems and across time and coupled with homebrew's very early deprecation of platform support (Monterey not supported any longer despite it being the most widely used production macOS that I'm aware of where people have a choice), it makes hb a pain in the arse. If nix (better with guix, for sure) was a bit more accessible, I'd strongly consider it for home use. I rabbit hole I might have to dive into soon. |
I've been using your Emacs 29.4 build. There have been bug fixes to the tree-sitter library since 29.4 was built. I can't find a log of what homebrew package versions for library dependencies (or even which specific gcc which can be critical due to compiler bugs) were used in a build.
I'd like to suggest that you add a build artifact to the pipeline with documentation for homebrew versions.
Further, I wonder if there's value in using a Brewfile with pinned versions for "production" builds and adding an extra build indicator; e.g. rather than just Emacs-29.4, they could be labeled as Emacs-29.4-jimeh-1 or -2 or -3 where each build has specific dependencies documented.
I understand you've experimented with nix. Looks like the Caldwell build uses nix https://github.com/caldwell/build-emacs https://github.com/caldwell/build-emacs/blob/15bf567e3b816928b84d241efed1908188b9d18a/dependencies.nix if that makes anything easier.
The text was updated successfully, but these errors were encountered: