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
bash-completion: fix build on darwin (#107768) #107813
Conversation
19da515
to
6af2296
Compare
@SuperSandro2000 noticed that this derivation caused issues on the last merge: #101028 I'm trying to run nixpkgs-review, but that might not finish for a while... macOS:
Linux:
I'll run one that just builds bash-completion. |
Result of 1 package built:
|
Result of 1 package built:
|
Please change this pull request to target |
Almost there, just need a second to properly rebase that on staging. The mercurial all day at $DAYJOB is showing :) EDIT: Done! |
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.
I don't have macOS myself to test this on macOS, but this looks fine. It's not ideal, but it's an acceptable workaround I feel.
the files which caused issues were part of the testing framework.. do we still have tests? |
why does this cause so many rebuilds... |
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.
diff LGTM
package outputs are the same
[09:33:02] jon@nixos ~/projects/nixpkgs (master)
$ diff new.txt old.txt
[09:33:06] jon@nixos ~/projects/nixpkgs (master)
They are there, probably mangled on OSX. I don't think the current derivation executes any of the tests.
Because all these packages depend on bash-completions, presumably because they ship their own. That's why it's targeted at staging rather than master |
we actually never had tests ;(, so this is just an improvement for mac users |
no, it's because dconf "links" against it for some reason, thus gets used as a build dependencies in a lot of glib / gnome related projects. EDIT: Nevermind, they do a check to see how they need to export the bash-completions: https://gitlab.gnome.org/GNOME/dconf/-/blob/master/meson.build#L51 |
Motivation for this change
As discussed in #107768, macOS APFS and HFS+ seem to have issues extracting some of the test fixtures because of filesystem issues (case sensitivity, binary representation of characters, ...). This means that people currently won't be able to build things from source on macOS.
I'm a bit confused as to how the binary caches with this version got created.
By switching to fetchurl, we will still validate the tarball checksum itself while being able to compile on mac and linux.
It's not the cleanest solution, but it does work.
I tried to look into things like cleanSource / cleanSourceWith, but I'm not 100% sure that would solve the issue at hand.
Comparison:
Grab the new files:
Grab the current binary results:
Compare the filenames:
Sanity check:
Things done
sandbox
innix.conf
on non-NixOS linux)nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
./result/bin/
)nix path-info -S
before and after)