{qt5,qt6}.qtwebengine: add patches for FFmpeg 7#330648
{qt5,qt6}.qtwebengine: add patches for FFmpeg 7#330648jopejoe1 merged 7 commits intoNixOS:masterfrom
Conversation
|
Intent LGTM, implementation I don't know about, will need to read the Arch patches... I was hoping we can just yeet Qt5 on a reasonable timescale but that seems to not be happening so... |
SuperSandro2000
left a comment
There was a problem hiding this comment.
Assuming it compiles and works
|
The Arch patches are just compilations of upstream Chromium changes. The Qt 6 WebEngine build got OOM‐killed on the community builder so the |
|
I don’t have a great setup for testing non‐headless Linux applications right now, so if someone could try a browser with Qt 5 and Qt 6 and play a YouTube video and do a WebRTC call or something that’d be great. (But these patches are relatively trivial changes from upstream Chromium and Arch is already shipping them, so I would be surprised if there were any problems.) |
|
I just noticed that |
|
Result of 102 packages marked as broken and skipped:
29 packages failed to build:
620 packages built:
Regressions compared to Hydra:
Not sure why I stayed up too late to report this. Goodnight! |
This enables using a modern unvendored FFmpeg.
Thank you to the Arch package maintainer for incorporating the WebRTC patches (which I had previously manually added) the day before I went to clean this up for PRing!
There is an upstream fix for FFmpeg 7 support, but according to <xiaoyifang/goldendict-ng#1523>: > We don't actually need the FFmpeg backend anymore. Newer Qt6's > multimedia has FFmpeg backend, the supported formats are the same. > > Maybe this is the time to delete the FFmpeg backend 😅
These are already shipped in the AUR package.
cd1cc74 to
a402e62
Compare
|
I successfully built |
|
Result of 162 packages marked as broken and skipped:
35 packages failed to build:
1468 packages built:
One real regression against Hydra, cc I’ve pushed the build results to |
|
Ladybird just needs something similar to #330679 done, and then reverted on staging. |
748e030 to
a402e62
Compare
|
Oh, okay, so it’s not my issue? I’ll let someone else handle it, then. |
|
Uh, also apparently I’m using double my Cachix storage allowance, so people should probably pull stuff from it ASAP so I can delete it 🙃 |
shenlebantongying
left a comment
There was a problem hiding this comment.
Disable FFmpeg for goldendict-ng is fine for the current Qt.
|
A fix would be here or should we just wait for staging #331105 ? |
jopejoe1
left a comment
There was a problem hiding this comment.
Thanks for removing more dependencies on old software versions.
Atemu
left a comment
There was a problem hiding this comment.
Diff LGTM and I trust that you have done sufficient QA.
| # See https://github.com/NixOS/nixpkgs/pull/295344#issuecomment-1992263658 | ||
| broken = stdenv.hostPlatform.isMinGW && stdenv.hostPlatform.is64bit; | ||
| maintainers = with maintainers; [ atemu jopejoe1 ]; | ||
| maintainers = with maintainers; [ atemu jopejoe1 emily ]; |
|
@K900 Did you figure out if |
|
No, I have not looked into it at all yet. Feel free to. |
Description of changes
More FFmpeg 4 removals.
This adds an FFmpeg patch to expose an accessor for a private field that Chromium still uses, from Chromium’s gigantic vendored repository. That kind of sucks, but it’s better than being stuck on FFmpeg 4. Arch, Void, and Alpine – hardly patch‐happy distros – all carry this patch in their FFmpeg package. It should have no effect on other packages, except maybe if someone is using Nixpkgs to do development, copies some code from Chromium, and doesn’t realize that they’re depending on an API that isn’t in upstream FFmpeg. The alternative would be to have a package option to include it or not, and make Qt WebEngine build another FFmpeg, but I’m not convinced that’s better.
These changes should help with devendoring FFmpeg from the actual Chromium packages, too, but I haven’t looked into that. @emilylange implied that it might be tricky due to Electron packages reusing the same derivation logic but being based on old Chromium versions. If anyone wants to try, I can help out, but it doesn’t directly relate to our
ffmpeg_4package so I didn’t pursue it.Marked as a draft for now because I’m still running the
nixpkgs-review.Things done
nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-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.