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

qt5{9,11,12}: better pulseaudio 13 fix, unbreak qt59 #73773

Closed
wants to merge 1 commit into from

Conversation

dtzWill
Copy link
Member

@dtzWill dtzWill commented Nov 19, 2019

Motivation for this change

Besides unbreaking qt59.qtwebengine,
"better" since this uses official upstream fix for the issue.

May have implications about pulseaudio linked vs loaded,
in the direction of allowing stub usage (I think).
This restores behavior changed in the pulseaudio13 fix
that this commit replaces.

Fixes #72384.


On staging it appears we've dropped qt59 and qt511,
and actually qt511.qtwebengine.src 404's for me
(but I was able to test using cached copy).

Not sure what that means for these fixes or how/where
they should be sent..

Hence sending to master where the fix is needed.

Have not build-tested all of these, mostly ensured the patches applied
since the fix patch is different (but not functionally) depending
on what version the vendored chromium is 'based on'.
Luckily it looks like 511 can use a patch for a different 'base'
which is good since its base didn't receive this fix.

Anyway, hopefully this has all the pieces needed to address
the build breakage issue, however we choose to proceed.

Also, very sorry for not seeing this fixed sooner!

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

@B4dM4n
Copy link
Contributor

B4dM4n commented Nov 19, 2019

Thanks for attempting to fix the build, but it looks like a one digit hash mismatch has slipped through:

%  nix-build . -A qt59.qtwebengine
these derivations will be built:
  /nix/store/0hd255r6i5mqg83wpdna2qkgyz9pw0f2-fix-build-with-pulseaudio-13.0-for-69-based.patch.drv
  /nix/store/x58mhgdr9lasrdrkjyn1dhyz62lmfj1s-qtwebengine-5.9.7.drv
building '/nix/store/0hd255r6i5mqg83wpdna2qkgyz9pw0f2-fix-build-with-pulseaudio-13.0-for-69-based.patch.drv'...

trying https://codereview.qt-project.org/gitweb?p=qt/qtwebengine-chromium.git;a=patch;h=94055f1498dd132ba6c1abba782c5b47c07e5108
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  4905  100  4905    0     0  24525      0 --:--:-- --:--:-- --:--:-- 24402
hash mismatch in fixed-output derivation '/nix/store/dgg5dcnzfdg688b9qsk4ag0j176zzfyd-fix-build-with-pulseaudio-13.0-for-69-based.patch':
  wanted: sha256:0lmvf1v7y55k9q0qgzm5mhggp752ayyb7kxhdxjfxx9yqd3din90
  got:    sha256:0lmvf0v7y55k9q0qgzm5mhggp752ayyb7kxhdxjfxx9yqd3din90
cannot build derivation '/nix/store/x58mhgdr9lasrdrkjyn1dhyz62lmfj1s-qtwebengine-5.9.7.drv': 1 dependencies couldn't be built
error: build of '/nix/store/x58mhgdr9lasrdrkjyn1dhyz62lmfj1s-qtwebengine-5.9.7.drv' failed

@dtzWill dtzWill force-pushed the fix/qtwebengine-pulseaudio-13 branch from a928eb5 to ad93b09 Compare November 19, 2019 17:49
@dtzWill
Copy link
Member Author

dtzWill commented Nov 19, 2019

Whops, haha sorry about that. Should be fixed now :).

@dtzWill
Copy link
Member Author

dtzWill commented Nov 19, 2019

Err, one sec.

Besides unbreaking qt59.qtwebengine,
"better" since this uses official upstream fix for the issue.

May have implications about pulseaudio linked vs loaded,
in the direction of allowing stub usage (I think).
This restores behavior changed in the pulseaudio13 fix
that this commit replaces.

Fixes NixOS#72384.
@dtzWill dtzWill force-pushed the fix/qtwebengine-pulseaudio-13 branch from ad93b09 to 7bf0903 Compare November 19, 2019 17:56
@dtzWill
Copy link
Member Author

dtzWill commented Nov 19, 2019

Sorry about that, actually fixed now. Doh.

Yes the hashes for 511 and 59 patches are the same, at least that's what I'm observing.
Somewhat surprising since they're different commits but likely fetchpatch (as used here with features like adding prefix and such) prunes that out. Neat!

@worldofpeace
Copy link
Contributor

@GrahamcOfBorg build qt512.qtwebengine

@worldofpeace
Copy link
Contributor

worldofpeace commented Nov 19, 2019

On staging it appears we've dropped qt59 and qt511,
and actually qt511.qtwebengine.src 404's for me
(but I was able to test using cached copy).

Not sure what that means for these fixes or how/where
they should be sent..

Wouldn't that just make unnecessary conflicts with staging to fix 5.11 and 5.9 when they're removed?
They're not used for anything, so I think we'd just need the fix for 5.12.

Note: I fetched the patch from archlinux when we updated to pulseaudio 13

@ttuegel
Copy link
Member

ttuegel commented Dec 2, 2019

Wouldn't that just make unnecessary conflicts with staging to fix 5.11 and 5.9 when they're removed?

Yes. I think we should just fix 5.12.

@ttuegel
Copy link
Member

ttuegel commented Jan 26, 2020

The Qt 5.12 patch is merged upstream in Qt 5.12.6. Qt 5.9 has already been removed. I am going to remove Qt 5.11 because it is end-of-life. Therefore, I don't think this will be needed anymore.

@ttuegel ttuegel closed this Jan 26, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

qt59.qtwebengine: failing build on master/unstable
4 participants