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
WIP: qt5.qtwebengine: Fix darwin build #40149
Conversation
@matthewbauer Tried to fix qtwebengine on darwin. It's still compiling, but passed the previous problems, so I'm optimistic this builds. |
@@ -24,8 +25,9 @@ qtModule { | |||
name = "qtwebengine"; | |||
qtInputs = [ qtdeclarative qtquickcontrols qtlocation qtwebchannel ]; | |||
nativeBuildInputs = [ | |||
bison coreutils flex git gperf ninja pkgconfig python2 which gn | |||
bison coreutils flex git gperf ninja pkgconfig python2 which gn xcbuild |
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.
Is it also required on Linux?
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.
Whoops. No it isn't.
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.
Fixed. Thanks for the review.
46f12b8
to
7dabe46
Compare
@@ -176,6 +183,12 @@ EOF | |||
Prefix = .. | |||
EOF | |||
paxmark m $out/libexec/QtWebEngineProcess | |||
'' + '' |
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.
@Mic92 What do you think about this? Should it also be darwin only? Currently the build succeeds incorrectly on darwin, but it might also on linux: https://hydra.nixos.org/build/73282201/log
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.
Should be ok.
Did it build in the end? |
I couldn't finish the build yesterday. (Linux build https://hydra.nixos.org/build/73282040 takes over 9 hours). I will only be able to resume the build tonight. |
It actually didn't go through.
|
Ok well that's getting closer. It's an issue with Chromium using Apple's proprietary OpenBSM. I just pushed a commit that hopefully fixes it. |
How did you come up with that? |
From this: darlinghq/darling-bsm@a0c5782 I have no idea if it's right but it compiles! |
@GrahamcOfBorg build qt5.qtwebengine |
Failure on x86_64-darwin (full log) Attempted: qt5.qtwebengine Partial log (click to expand)
|
Failure on aarch64-linux (full log) Attempted: qt5.qtwebengine Partial log (click to expand)
|
Failure on x86_64-linux (full log) Attempted: qt5.qtwebengine Partial log (click to expand)
|
Oddly enough it's the same issue again:
Are the |
Yeah we might need to just go back to patching it. Try reverting my commit & adding one for the file that needs it. Hopefully there are not too many more cases. They're supposed to be used for everything that uses stdenv's compiler. Not sure what's going on here- it may be picking up /usr/bin/gcc somehow. |
@GrahamcOfBorg build qt5.qtwebengine Ok patch applied in 79dcdce |
Failure on x86_64-darwin (full log) Attempted: qt5.qtwebengine Partial log (click to expand)
|
Failure on x86_64-linux (full log) Attempted: qt5.qtwebengine Partial log (click to expand)
|
Failure on aarch64-linux (full log) Attempted: qt5.qtwebengine Partial log (click to expand)
|
I guess we need something along those lines: nixpkgs/pkgs/os-specific/darwin/apple-source-releases/libsecurity_filedb/default.nix Lines 8 to 12 in d283368
|
This prevents the build falsely succeeding, despite generating no files. See e.g. https://hydra.nixos.org/build/73282535
The build failed with the following error before: ``` Could not resolve SDK product version for 'macosx'. Building Qt WebEngine requires a macOS SDK version of 10.11 or newer. Current version is . QtWebEngine will not be built. ```
The build failed with the following error before: ``` Could not resolve SDK product version for 'macosx'. Building Qt WebEngine requires a macOS SDK version of 10.11 or newer. Current version is . QtWebEngine will not be built. ```
Chromium’s sandbox uses some proprietary apple features. I’ve added a CPP function to substitute the relevant info.
7e1edfe
to
b53c46b
Compare
Now it's stuck on:
|
59e168a
to
76e57dd
Compare
Is there any update? Does this work now? |
It seems I got ahead of myself with this PR; This is sadly still only WIP. |
(triage) @knedlsepp, are you still working on this? |
Not at the moment, sry. I'm gonna close this for now until I find time to actually fix it. |
Runtime doesn't work: ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets' This is probably because qtwebengine is broken on darwin, but doesn't fail the build (NixOS#40149)
Motivation for this change
This fixes issue: #36932
Things done
build-use-sandbox
innix.conf
on non-NixOS)nix-shell -p nox --run "nox-review wip"
./result/bin/
)