SDL2: point alias to sdl2-compat#393386
Conversation
0a732cb to
9928555
Compare
e08c80f to
d99cc3f
Compare
d99cc3f to
e5bd773
Compare
|
Alright, eval should now be fixed - the SDL2 specific overrides obviously fail on current sdl2-compat, so those were switched back to |
e5bd773 to
1c1506d
Compare
|
This was cleanup for the commit history, makes review easier and there now is no single commit that doesn't eval |
marcin-serwin
left a comment
There was a problem hiding this comment.
I've run into some issues when moving some packages manually from SDL2 to sdl2-compat, mostly minor things, like fullscreen not being on by default on wayland, but also hedgewars crashing on aarch64-linux: libsdl-org/SDL#12560. Some other apps may also be affected.
apart from ffmpeg/ffplay (which i tested), none of the affected packages would be mass rebuilds. Yes, i expect things to break - but those can trivially be fixed by pinning SDL2_legacy/.SDL2_classic. Maybe even before 25.05 hits. |
|
Related: #395499 |
|
Proposed |
|
Bisect says d96d13a |
|
I had built |
|
https://hydra.nixos.org/job/nixpkgs/staging-next/python312Packages.pygame.x86_64-linux shows similar failures on |
Adds libGL back after change in NixOS#393386
NixOS/nixpkgs#393386 replaced SDL2 with sdl2-compat, which no longer propagates libX11. I can't tell why drl is trying to link against that, but it is, so let's give it what it wants.
NixOS/nixpkgs#393386 replaced SDL2 with sdl2-compat, which no longer propagates libX11. I can't tell why drl is trying to link against that, but it is, so let's give it what it wants.
Adds libGL back after change in NixOS#393386
|
Hmm, looks like RenPy triggers vague segfaults with sdl2-compat but works fine with SDL2_classic, so builds passing is not all… |
feel free to pin it to |
|
So far I am not yet sure whether going deeper recursively helps (I suspect that in some cases yes, at least for pygames-sdl2) |
Do you have some reliable repro or is it random? I've tried clicking through the tutorial but nothing happened. |
|
(Not to leave it without the answer completely) so far I have impression that some large games are more likely to crash when clicking through stuff quickly, so not close to reliable reproduction yet, sorry. Also, I have not yet found how much overriding is needed to bring segfaults to zero. I guess I should also check if the recent sdl2-compat bumps have improved things… |
This was preliminarily pinned to SDL2_classic in 2532c66 (NixOS#393386). The reason for that was DRM support and an incompatible override interface. sdl3 is build with drm enabled by default, which means building things that depend on drm through sdl2-compat should just work, no override needed.
This was preliminarily pinned to SDL2_classic in 2532c66 (#393386). The reason for that was DRM support and an incompatible override interface. sdl3 is build with drm enabled by default, which means building things that depend on drm through sdl2-compat should just work, no override needed. (cherry picked from commit 8f2001f)
|
Hm, backtrace makes no sense, the context is too large to be a usable reproduction, but the crash frequency change seems to be there… |
This is a mass rebuild mostly because of ffmpeg. The only component in ffmpeg depending on sdl is
ffplay, which is easy enough to test.Most other rebuilds caused by this are leaf packages (or close to being leaf packages) and thus can be fixed wither once this hits staging-nexet or retroactively on master once this passes through hydra.
sdl2-compat no longer propagates
libX11,libGLorlibGLU.movithas somewhat used dependencies like Krita, so i fixed it. I also fixedthe-powder-toywith similar breaks as an example. Switching to sdl2-compat automagically made it use wayland-native, which is neat.I do expect more apps to break due to losing libX11/libGL/libGLU and will fix those in follow-up(s). This change is important imo, because SDL2 has no maintainer in nixpkgs and is basically unmaintained upstream too.
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.