Closed dotlambda closed 2 years ago
Ring daemon is already broken. You're welcome to switch the ffmpeg version, and if I ever get around to fixing that package, I'll make sure it works (or downgrade the ffmpeg version if absolutely necessary)
I can do it myself, but I'm assuming it's better to do one large PR changing as many as possible at once, than a million tiny PRs. Let me know if that's an incorrect assumption, and I should bump the ffmpeg version in ring-daemon
Ring daemon is already broken. You're welcome to switch the ffmpeg version, and if I ever get around to fixing that package, I'll make sure it works (or downgrade the ffmpeg version if absolutely necessary)
If a package is broken for a long time, we should consider removing it. But given that you want to fix it at some point, I guess we should keep this one.
I can do it myself, but I'm assuming it's better to do one large PR changing as many as possible at once, than a million tiny PRs. Let me know if that's an incorrect assumption, and I should bump the ffmpeg version in ring-daemon
It's easier to do in small PRs because nobody will be able to test whether all these packages still work after switching to a newer Ffmpeg.
Ardour builds and runs with regular ffmpeg. A new release is expected any day now, is it OK if I fix it in the PR for that?
FYI I'm working on libgroove upstream to bump the dependency. If we want to remove libgroove from nix and resubmit it later when I've completed that work that would be fine with me. Afaik the only package that uses it is groove basin, which I am also the upstream author of and also in the (long) process of rebooting it. IMO these packages should be removed from nixpkgs for now and I will resubmit them in the future.
Ardour builds and runs with regular ffmpeg. A new release is expected any day now, is it OK if I fix it in the PR for that?
If it is a security update, then it is better to fix it now and backpropagate to current stable releases.
If upstream Ardour sees no update in one week, update it regardless.
FYI I'm working on libgroove upstream to bump the dependency. If we want to remove libgroove from nix and resubmit it later when I've completed that work that would be fine with me. Afaik the only package that uses it is groove basin, which I am also the upstream author of and also in the (long) process of rebooting it. IMO these packages should be removed from nixpkgs for now and I will resubmit them in the future.
Is this a distant future? If it is broken but you are notifying us that it will be fixed, therefore I would suggest mark meta.broken = true;
followed with a comment upstream notified a new version is coming
or something like that.
I cannot submit a PR in a reasonable amount of time due to my current employer, but I can confirm that get_iplayer version 3.27
(SHA-256: 077y31gg020wjpx5pcivqgkqawcjxh5kjnvq97x2gd7i3wwc30qi
) builds and smoke tests fine using the ffmpeg package.
If someone would like to submit a PR updating the version and making the ffmpeg change, I would appreciate it greatly. ❤️
Opened an issue for Carla here: https://github.com/falkTX/Carla/issues/1403
I took the liberty of sorting the list to make it easier to read. I don't suggest we keep doing that - it was simply to get the the ones not done yet in order.
thanks @dotlambda for organizing this, and tackling a good issue :)
cc @NixOS/release-engineers this a great issue to address, and would be awesome to have completed before branch off :)
@jonringer If this is a blocker for 21.05, so should be https://github.com/NixOS/nixpkgs/pull/120582
@jonringer If this is a blocker for 21.05, so should be #120582
Agreed, we should avoid users having vulnerable software on their systems.
Testing spotify on 20.09 by merging the latest spotify into my .nixpkgs. had to use gnutls but I guess that's just a 20.09 specific problem? Commit is here: https://hg.sr.ht/~sheenobu/config/rev/98765d83a39647270a4f6e13d6f806400558f477
nixpkgs commit incoming, thanks!
Ultrastardx ffmpeg 2.x -> 4.2: https://github.com/NixOS/nixpkgs/pull/123416
The remaining packages will be marked as insecure by https://github.com/NixOS/nixpkgs/pull/123496. So let's make a joint effort to bring the number of packages still using FFmpeg 3.4 as close to zero as possible before 21.05 is released!
Vivaldi can be ticked
MEGAcmd will need a patch or upstream fix to build against ffmpeg 4.4, as it accesses fields that were made private between 4.3 and 4.4 (see #122405 and FFmpeg/FFmpeg@108864a).
The problem is in the mega sdk so MEGASync might be affected. Looks like @michojel is the maintainer, can you check if this is the case? ffmpeg 4.4 is available on staging-next
.
Both still build against ffmpeg 4.4. Are we targeting 4.3 or 4.4 for 21.05?
Both still build against ffmpeg 4.4. Are we targeting 4.3 or 4.4 for 21.05?
staging-next will be merged into master before branch-off, so 21.05 will have FFmpeg 4.4
The problem is in the mega sdk so MEGASync might be affected. Looks like @michojel is the maintainer, can you check if this is the case? ffmpeg 4.4 is available on
staging-next
.
It does fail on staging-next against ffmpeg 4.4:
mega/src/gfx/qt.cpp:1218:18: error: 'AVStream' {aka 'struct AVStream'} has no member named 'skip_to_keyframe'
1218 | videoStream->skip_to_keyframe = true;
| ^~~~~~~~~~~~~~~~
I don't have time to work on a patch until next week. But since ffmpeg is optional, shall I temporarily remove the dependency?
Update: addressed in #123620
I'm looking into retroArchCores
. Seems the only core that uses ffmpeg is PPSSPP which has already been ported, so shouldn't be too much of a challenge.
I'm cursed. PPSSPP is affected by the same issue as the MEGA SDK - build broken by FFmpeg/FFmpeg@108864a.
The good news is that in this case upstream has fixed it, just not in the latest release. The PR fixing it, hrydgard/ppsspp#14176, applies cleanly to to the latest release. I have made PRs addressing this for the retroarch core and PPSSPP standalone at #123842 and #123843.
I've tried updating nginxModules.vod but fails due to the usage of deprecated functions, an issue is open upstream: https://github.com/kaltura/nginx-vod-module/issues/1262
A similar case is there for thumbextractor (although I didn't contribute it), but it can be fixed by updating to the latest revision on master: https://github.com/NixOS/nixpkgs/pull/123881
Ardour fixed in the above PR.
retroArchCores
is done.
pcsxr
is currently instantiated with ffmpeg_2
, which is also marked as insecure.
Lightspark should be good as of #124330 and #124701.
It looks like PRs for capture and mediatomb have been merged now.
dr14_tmeter can be marked as done (https://github.com/NixOS/nixpkgs/pull/125241)
attract-mode was fixed as well in https://github.com/NixOS/nixpkgs/pull/126354
tvheadend was already fixed in #135662
libvdpau-va-gl was fixed in #123757
I went ahead and merged all remaining PRs that were already opened pointing on this issue.
After #155993 only grass and natron will be left, for both of which exist open PRs (#150286 and #121212 (nice)), but they sadly both seem to be stalled.
grass has been merged
and we are done here. Thank you everyone!
and we are done here
What about natron?
Once this is actually done, ffmpeg_3 should be removed from Nixpkgs.
We did that in #163509 I just forgot to tick the box.
ffmpeg_3
has many open vulnerabilities (see #94003 and #120372). There seems to be no effort to add patches for these, so we should dropffmpeg_3
or at least mark it as insecure. In https://github.com/NixOS/nixpkgs/pull/89264,ffmpeg_3
was made the de facto default by making every package that depends onffmpeg
depend onffmpeg_3
instead. I think that was a bad idea given that the Ffmpeg packages aren't well maintained. Most packages should build just fine withffmpeg
but someone needs to test them.~Is there an easy way to obtain a list of packages using
ffmpeg_3
and ping their maintainers?~cc @doronbehar @codyopel
Here's a list of affected packages:
Please remove the list of maintainers from packages that are done because GitHub won't allow me to ping more than a certain number of people.
script that I used to generate this list
The manually obtained file `packages` contains one attribute per line. ```bash pkgs=$(cat packages) for pkg in $pkgs; do pings=$(nix eval "(with import ./. { }; lib.concatStringsSep \" \" (map (m: \"@\" + m.github) ($pkg.meta.maintainers or [ ])))" --raw) if [ -z "$pings" ]; then echo "- [ ] $pkg" >> packages-with-maintainers else echo "- [ ] $pkg ($pings)" >> packages-with-maintainers fi done ```