Skip to content
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

libsForQt5.qtbase: fix Darwin build by removing obsolete patches #351984

Merged
merged 3 commits into from
Oct 29, 2024

Conversation

emilazy
Copy link
Member

@emilazy emilazy commented Oct 28, 2024

Another existing bug exposed by 514b00c: the build system was interpolating an empty SDK directory and passing -isysroot -g0, eating a compiler flag and breaking the build now that we don’t pass a redundant -isysroot of our own.

Thankfully, with the new SDK pattern, we don’t need to do any of this elaborate patching; just pointing it at the right tools from xcbuild lets it figure everything out itself.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin (on a branch with some other changes, though)
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@emilazy emilazy force-pushed the push-ntsrvvzlmsxz branch 2 times, most recently from 18eb528 to fc60175 Compare October 28, 2024 22:37
Another existing bug exposed by
514b00c: the build system was
interpolating an empty SDK directory and passing `-isysroot  -g0`,
eating a compiler flag and breaking the build now that we don’t
pass a redundant `-isysroot` of our own.

Thankfully, with the new SDK pattern, we don’t need to do any of
this elaborate patching; just pointing it at the right tools from
`xcbuild` lets it figure everything out itself.
There might be a nicer way to do this, but I don’t understand qmake.
@emilazy
Copy link
Member Author

emilazy commented Oct 28, 2024

This builds successfully on my staging branch and the otool -l output looks right; only difference vs. staging-next is that libQt5Core.dylib links against /usr/lib/libobjc.A.dylib for some reason, but that should be harmless and might even be more correct. This should be ready to go. We should do the same thing for Qt 6, but that build didn’t break, so it’s not as urgent.

@FliegendeWurst FliegendeWurst added the 6.topic: darwin Running or building packages on Darwin label Oct 28, 2024
@K900
Copy link
Contributor

K900 commented Oct 29, 2024

ack

@emilazy
Copy link
Member Author

emilazy commented Oct 29, 2024

Built libsForQt5.{qtbase,qttools,qttranslations,qtimageformats,qtdeclarative,qtmultimedia} and the otool -l output all looks good.

@emilazy emilazy merged commit 630aedb into NixOS:staging Oct 29, 2024
11 of 12 checks passed
@emilazy emilazy deleted the push-ntsrvvzlmsxz branch October 29, 2024 14:31
@nixos-discourse
Copy link

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/title-the-darwin-sdks-have-been-updated/55295/1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
6.topic: darwin Running or building packages on Darwin 6.topic: qt/kde
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants