-
-
Notifications
You must be signed in to change notification settings - Fork 14.4k
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
ghostscript: fix install names on Darwin #358079
Conversation
Also wasn't sure which branch this is supposed to target, so just went with |
@carlocab I think you fixed this problem on the wrong branch, as far as I can see here on On the other hand, in 24.05 it does not work. In the 24.05 branch, as far as I can see, there is extensive use of So I think this PR indeed improves the future compatibility of this derivation, but is not solving #355377 |
Fixes NixOS#355377. This should avoid the need to mess around with `install_name_tool` entirely. This mirrors what is done by Homebrew[^1] and MacPorts[^2]. This should also make the changes in NixOS#355853 and NixOS#357951 unnecessary. [^1]: https://github.com/Homebrew/homebrew-core/blob/5ca4f8ce766c69d49321fb7da1d297b8232f40cf/Formula/g/ghostscript.rb#L76 [^2]: https://github.com/macports/macports-ports/blob/d8a05520fa6a81fa5b0365068590aff184976b69/print/ghostscript/Portfile#L114
6e66aaf
to
8b3d3d5
Compare
We’re still doing this |
Yes.
I guess? I don't really understand the branching strategy here, sorry 😅 But if the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No worries, it’s pretty elaborate :) master
is the new work‐in‐progress release that will become 25.05 in half a year; 24.11 is the upcoming release about to be cut, and 24.05 is the current stable release with about a month of support remaining. All of those have main branches for general work (release-YY.MM
or master
) and staging branches for things that cause mass rebuilds (staging-YY.MM
or staging
).
As I understand it, staging-24.05
is where ghostscript
is broken and needs a fix. So that’s where this PR is critical. However, you can see that we are still doing slightly different install_name_tool
stuff on master
and release-24.11
:
- https://github.com/NixOS/nixpkgs/blob/master/pkgs/by-name/gh/ghostscript/package.nix
- https://github.com/NixOS/nixpkgs/blob/release-24.11/pkgs/by-name/gh/ghostscript/package.nix
So we’d want a PR that applies the same basic change to staging
(because of the number of rebuilds), and then we can automatically backport that to staging-24.11
. (In general, we do a backporting workflow where we target the latest release with a problem, add a label for a backport to previous releases, and then get annoyed at the bot reporting a merge conflict and do it manually anyway. We don’t forward‐port changes, but in this case the backport would have had to have been manual anyway due to the divergence between the branches, so this is basically a preemptive backport.)
Hopefully that makes sense, and please ask if anything is still confusing! I’ve successfully built this on aarch64-darwin
and aarch64-linux
, so I’m going to merge this.
Thanks; submitted against |
Right, the purpose of |
Fixes #355377.
This should avoid the need to mess around with
install_name_tool
entirely. This mirrors what is done by Homebrew1 and MacPorts2.This should also make the changes in #355853 and #357951 unnecessary.
Things done
nix.conf
? (See Nix manual)sandbox = relaxed
sandbox = true
nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD"
. Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/
)Add a 👍 reaction to pull requests you find important.
Footnotes
https://github.com/Homebrew/homebrew-core/blob/5ca4f8ce766c69d49321fb7da1d297b8232f40cf/Formula/g/ghostscript.rb#L76 ↩
https://github.com/macports/macports-ports/blob/d8a05520fa6a81fa5b0365068590aff184976b69/print/ghostscript/Portfile#L114 ↩