Mass bug filing / call for testing: dependencies on SDL 1.2
Simon McVittie <[email protected]>
| Newsgroups | gmane.linux.debian.devel.games,gmane.linux.debian.devel.general |
|---|---|
| Message-ID | <ZIdGo/[email protected]> |
SDL 1.2 was superseded by SDL 2 several years ago, and no longer receives
upstream maintenance or releases. Maintained software that uses SDL 1.2
should be ported to SDL 2.
For legacy software that cannot be ported, SDL upstream have produced a
replacement library, sdl12-compat, which implements the SDL 1.2 API/ABI
by dlopening SDL 2 (and correcting for API/ABI changes). In Debian, this
is currently available as libsdl1.2-compat-shim.
Some other distributions like Fedora and Arch have fully replaced their
"classic" SDL 1.2 libraries with sdl12-compat, and I would like to do
the same in Debian during the trixie release cycle (which will probably
involve taking over the libsdl1.2debian and libsdl1.2-dev package names).
Since all SDL 1.2 applications will get one of these bug reports, we might
as well also use those bug reports as a prompt to ask maintainers to
test against libsdl1.2-compat-shim.
I did some brief testing on the remaining SDL 1.2 games in bookworm as
part of some work on helping upstream with sdl12-compat, and many of
them work as-is or after adding bug fixes or workarounds to sdl12-compat.
I was not able to do thorough testing (I generally played the tutorial or
first level, if applicable), and for a few more opaque games I couldn't
work out how to test gameplay at all.
In general I wasn't able to test non-game applications that depend on
SDL 1.2 (mostly emulators and music production software), because I
didn't have the necessary ROMs, time or knowledge.
For libraries that extend SDL 1.2 (sdl-image1.2 and so on), the bug
about depending on SDL 1.2 is likely to have to be "won't fix" because
it would be an API/ABI break to move to SDL 2, but in many cases there
are equivalent libraries with a very similar API available for SDL 2.
Here's a template bug mail:
-------------------------------- 8< -----------------------------------
This package has a Depends or Build-Depends on SDL version 1.2, which
is unmaintained upstream.
If possible, please port this package to SDL 2 and close this
bug. Examples of successful ports from SDL 1.2 to SDL 2 can be found in
the commit history of packages like darkplaces and ioquake3.
If it is not possible to port to SDL 2, please test the package with
libsdl1.2-compat-shim (preferably version 1.2.64 or later), and leave
this bug open to track the package as still using SDL 1.2 APIs.
libsdl1.2-compat-shim is a compatibility layer that provides the SDL 1.2
API/ABI by using SDL 2: it has already replaced the "classic" SDL 1.2
library in some other distributions like Fedora and Arch, and my intention
is to do the same in Debian during the trixie release cycle.
The interesting scenarios to test with libsdl1.2-compat-shim are:
1. Install libsdl1.2-compat-shim and run the program in an X11 environment,
such as "GNOME on Xorg" or XFCE.
($XDG_RUNTIME_DIR/wayland-* should not exist)
2. Install libsdl1.2-compat-shim and run the program in a Wayland
environment such as GNOME's default mode, using Xwayland.
($XDG_RUNTIME_DIR/wayland-* should exist)
3. Install libsdl1.2-compat-shim and run the program in a Wayland
environment, but this time with environment variable
SDL_VIDEODRIVER=wayland so that it uses the native Wayland interface
(this is not currently the default for SDL 2).
4. Install libsdl1.2-compat-dev and recompile the package.
If any of those fail, please report it as a bug in the
libsdl1.2-compat-shim or libsdl1.2-compat-dev package as appropriate,
with "affects" pointing to the program that is affected.
-------------------------------- 8< -----------------------------------
dd-list of affected packages attached.
Thanks,
smcv
dd-list
(text/plain, 16.9 KB)
A Mennucc1 <[email protected]> mplayer (U) A. Maitland Bottoms <[email protected]> gnuradio Adrian Bunk <[email protected]> black-box Adrien Boussicault <[email protected]> mlv Agustin Henze <[email protected]> crrcsim Alberto Garcia <[email protected]> fuse-emulator Alessio Treglia <[email protected]> din (U) libde265 (U) meterbridge (U) xjadeo (U) Alexander Lazarević <[email protected]> gnu-smalltalk (U) Alexandre Detiste <[email protected]> game-data-packager (U) Alfonso Sabato Siciliano <[email protected]> openssn (U) Ana Custura <[email protected]> vor Andrea Colangelo <[email protected]> tennix Andreas B. Mundt <[email protected]> tiemu (U) Andreas Beckmann <[email protected]> povray Andreas Gnau <[email protected]> icebreaker (U) Ansgar Burchardt <[email protected]> btanks (U) Antonin Kral <[email protected]> atari800 Ari Pollak <[email protected]> gav gltron Axel Beckert <[email protected]> links2 Balint Reczey <[email protected]> taoframework (U) Barak A. Pearlmutter <[email protected]> basic256 gtkboard Barry deFreese <[email protected]> amphetamine (U) bloboats (U) brutalchess (U) btanks (U) dd2 (U) late (U) mu-cade (U) netpanzer (U) pathogen (U) titanion (U) tumiki-fighters (U) Barry deFreese <[email protected]> airstrike (U) alienblaster (U) asc (U) barrage (U) biniax2 (U) boswars (U) ceferino (U) clanlib (U) enemylines3 (U) fenix (U) fenix-plugins (U) gravitywars (U) hex-a-hop (U) holotz-castle (U) ketm (U) mousetrap (U) netrek-client-cow (U) nikwi (U) plee-the-bear (U) powermanga (U) qonk (U) raincat (U) ri-li (U) sdlbasic (U) tecnoballz (U) xmoto (U) Bart Martens <[email protected]> einstein Bartosz Fenski <[email protected]> asc (U) csmash Bas Wijnen <[email protected]> ceferino (U) gnujump (U) Bastian Germann <[email protected]> gambas3 (U) Bastian Germann <[email protected]> gambas3 (U) Benjamin Drung <[email protected]> vlc (U) Bertrand Marc <[email protected]> pingus (U) Boris Pek <[email protected]> astromenace (U) Boyuan Yang <[email protected]> zatacka (U) Brandon Barnes <[email protected]> komi Bruno "Fuddl" Kleinert <[email protected]> micropolis-activity (U) Bruno Kleinert <[email protected]> scorched3d (U) Chris Boyle <[email protected]> crack-attack Chris Carr <[email protected]> angband Christian T. Steigies <[email protected]> bugsquish bumprace circuslinux gemdropx luola madbomber vectoroids Christoph Egger <[email protected]> irrlicht (U) primrose (U) xwelltris (U) Christophe Mutricy <[email protected]> vlc (U) Colin Tuckley <[email protected]> brandy lbreakout2 (U) ltris Colin Watson <[email protected]> grub2 (U) Cédric Boutillier <[email protected]> ruby-sdl (U) Damyan Ivanov <[email protected]> fillets-ng (U) kobodeluxe (U) reminiscence (U) Daniel Echeverry <[email protected]> njam Daniel James <[email protected]> xwax (U) Daniel Silverstone <[email protected]> netsurf (U) Dariusz Dwornikowski <[email protected]> penguin-command (U) pipenightdreams (U) David Banks <[email protected]> game-data-packager (U) David da Silva Polverari <[email protected]> pipewalker Davide Puricelli (evo) <[email protected]> gnuboy Debian Astro Maintainers <[email protected]> gravit Debian CLI Libraries Team <[email protected]> taoframework Debian Erlang Packagers <[email protected]> esdl Debian Gambas Team <[email protected]> gambas3 Debian Games Team <[email protected]> a7xpg abe airstrike alienblaster amoebax amphetamine ares armagetronad asc astromenace asylum ballerburg barrage berusky berusky2 between biniax2 bloboats blockout2 blocks-of-the-undead boswars brainparty briquolo brutalchess btanks burgerspace ceferino clanlib cytadela dangen dd2 desmume enemylines3 enemylines7 etw fenix fenix-plugins fillets-ng flatzebra foobillardplus freedroidrpg freegish frogatto (U) game-data-packager gngb gnujump gnurobbo gravitation gravitywars gunroar heroes hex-a-hop holotz-castle icebreaker ii-esu irrlicht ketm kobodeluxe late lbreakout2 lgeneral lierolibre lincity-ng meritous micropolis-activity mousetrap mu-cade netpanzer netrek-client-cow nikwi noiz2sa opencity openjazz openssn parsec47 passage pathogen penguin-command phlipple pingus pink-pony pipenightdreams plee-the-bear pokerth pong2 powder powermanga primrose projectl pushover qonk raincat reminiscence ri-li rott rrootage scorched3d sdl-ball sdlbasic slashem slimevolley sludge supertransball2 tatan tecnoballz tenmado titanion torus-trooper triplane tumiki-fighters tuxfootball tuxpuck tworld val-and-rick viruskiller visualboyadvance vodovod warmux wolf4sdl xmoto xwelltris xye zatacka zaz zsnes Debian GNU Smalltalk maintainers <[email protected]> gnu-smalltalk Debian Haskell Group <[email protected]> haskell-sdl haskell-sdl-gfx haskell-sdl-image haskell-sdl-mixer haskell-sdl-ttf Debian Multimedia Maintainers <[email protected]> cheesecutter din freewheeling gem hivelytracker libde265 libquicktime libtheora lmms mjpegtools mpeg2dec mplayer pdp tiatracker vlc xjadeo xwax Debian Multimedia Maintainers <[email protected]> meterbridge sfxr-qt Debian Multimedia Packages Maintainers <[email protected]> goattracker Debian OCaml Maintainers <[email protected]> freetennis ocamlsdl Debian Perl Group <[email protected]> frozen-bubble libalien-sdl-perl libsdl-perl Debian QA Group <[email protected]> achilles adlibtracker2 adplay antigrav blobandconquer csmash devil fische gl-117 glhack glob2 libdv libvisual mazeofgalious moon-lander mp3blaster starvoyager tdfsb wizznic xine-lib-1.2 xmms2 zatacka Debian Ruby Extras Maintainers <[email protected]> ruby-sdl Debian Ruby Team <[email protected]> ruby-sdl Debian Science Maintainers <[email protected]> critterding tiemu Debian SDL packages maintainers <[email protected]> libsdl-console libsdl-sge sdl-image1.2 sdl-mixer1.2 sdl-net1.2 sdl-sound1.2 sdl-ttf2.0 sdlgfx sdlpango smpeg Debian Virtualbox Team <[email protected]> virtualbox Deepak Tripathi <[email protected]> ruby-sdl (U) Dennis Braun <[email protected]> lmms (U) xwax (U) Dennis Braun <[email protected]> din (U) freewheeling (U) lmms (U) Dmitry E. Oboukhov <[email protected]> blockout2 (U) frogatto Dmitry Smirnov <[email protected]> brainparty (U) d1x-rebirth d2x-rebirth freespace2 t4kcommon (U) tuxmath (U) Dominique Dumont <[email protected]> frozen-bubble (U) libalien-sdl-perl (U) libsdl-perl (U) Dylan R. E. Moonfire <[email protected]> taoframework (U) Edgar Antonio Palma de la Cruz <[email protected]> dgen Edward Wang <[email protected]> din (U) vlc (U) Elías Alejandro Año Mendoza <[email protected]> jigzo Emmanuel Arias <[email protected]> cuyo Emmanuel Arias <[email protected]> libopenhmd Erich Schubert <[email protected]> enigma Etienne Millon <[email protected]> visualboyadvance (U) zsnes (U) Evgeni Golov <[email protected]> blocks-of-the-undead (U) desmume (U) gnujump (U) pokerth (U) rott (U) sdl-ball (U) Fabian Greffrath <[email protected]> wolf4sdl (U) zsnes (U) Fabian Greffrath <[email protected]> openjazz (U) rott (U) Felix Geyer <[email protected]> sdl-image1.2 (U) sdlgfx (U) sdlpango (U) warmux (U) Felix Zielcke <[email protected]> grub2 (U) Gabriele Giacone <[email protected]> critterding (U) Gianfranco Costamagna <[email protected]> virtualbox (U) Gonéri Le Bouder <[email protected]> barrage (U) plee-the-bear (U) GRUB Maintainers <[email protected]> grub2 gustavo panizzo <[email protected]> uhexen2 Guus Sliepen <[email protected]> blobandconquer Gürkan Myczko <[email protected]> adlibtracker2 ballerburg (U) cheesecutter (U) goattracker (U) hivelytracker (U) netsurf (U) powder (U) pushover (U) tiatracker (U) Gürkan Myczko <[email protected]> ballerburg (U) cheesecutter (U) hivelytracker (U) netsurf (U) sfxr-qt (U) Holger Levsen <[email protected]> t4kcommon tuxmath tuxtype Ian Haywood <[email protected]> gambas3 (U) IOhannes m zmölnig (Debian/GNU) <[email protected]> gem (U) libquicktime (U) pdp (U) Israel Dahl <[email protected]> lmms (U) Jack Coulter <[email protected]> game-data-packager (U) Jaromír Mikeš <[email protected]> meterbridge (U) xjadeo (U) Javier Galicia <[email protected]> late (U) Javier Serrano Polo <[email protected]> lmms (U) Jens Seidel <[email protected]> hex-a-hop (U) Joachim Bauch <[email protected]> libde265 (U) Joerg Jaspert <[email protected]> epiphany John Horigan <[email protected]> agg John Paul Adrian Glaubitz <[email protected]> aranym kcemu virtualjaguar Jon Dowland <[email protected]> rott (U) Jonathan Dowland <[email protected]> game-data-packager (U) Jordi Mallach <[email protected]> grub2 (U) José L. Redrejo Rodríguez <[email protected]> gambas3 (U) Julian Andres Klode <[email protected]> grub2 (U) Julien Jorge <[email protected]> plee-the-bear (U) Julien Puydt <[email protected]> freedroidrpg (U) irrlicht (U) Kari Pahula <[email protected]> crossfire-client gearhead gearhead2 Kees Cook <[email protected]> orbital-eunuchs-sniper Leo Costela <[email protected]> numptyphysics Loic Minier <[email protected]> libquicktime (U) vlc (U) Lorenzo Puliti <[email protected]> mplayer (U) Luboš Novák <[email protected]> freegish (U) Luke Faraone <[email protected]> tempest-for-eliza Magnus Holmgren <[email protected]> pike8.0 Manuel A. Fernandez Montecelo <[email protected]> libsdl-console (U) libsdl-sge (U) sdl-image1.2 (U) sdl-mixer1.2 (U) sdl-net1.2 (U) sdl-sound1.2 (U) sdl-ttf2.0 (U) sdlgfx (U) sdlpango (U) smpeg (U) Marc Dequènes (Duck) <[email protected]> boswars (U) Margarita Manterola <[email protected]> hannah Markus Koschany <[email protected]> abe (U) airstrike (U) amoebax (U) armagetronad (U) asc (U) berusky (U) berusky2 (U) brainparty (U) briquolo (U) burgerspace (U) dangen (U) enemylines7 (U) etw (U) flatzebra (U) foobillardplus (U) lgeneral (U) lincity-ng (U) njam (U) noiz2sa (U) opencity (U) powermanga (U) ri-li (U) supertransball2 (U) tecnoballz (U) tenmado (U) tuxpuck (U) Martin A. Godisch <[email protected]> pachi rockdodger Martin Erik Werner <[email protected]> lierolibre (U) Martin Quinson <[email protected]> frogatto (U) Martin Steghöfer <[email protected]> libtheora (U) Martín Ferrari <[email protected]> qonk (U) Mateusz Łukasik <[email protected]> vlc (U) Matija Nalis <[email protected]> ironseed Mehdi Dogguy <[email protected]> freetennis (U) Michael Gilbert <[email protected]> amphetamine (U) Michele Martone <[email protected]> fim Miguel A. Colón Vélez <[email protected]> mplayer (U) Miriam Ruiz <[email protected]> a7xpg (U) biniax2 (U) btanks (U) ceferino (U) fenix (U) fenix-plugins (U) gunroar (U) haskell-sdl (U) haskell-sdl-gfx (U) haskell-sdl-image (U) haskell-sdl-mixer (U) haskell-sdl-ttf (U) hex-a-hop (U) holotz-castle (U) ii-esu (U) micropolis-activity (U) mu-cade (U) parsec47 (U) pingus (U) raincat (U) rrootage (U) sdlbasic (U) tatan (U) titanion (U) torus-trooper (U) tumiki-fighters (U) val-and-rick (U) vodovod (U) xmoto (U) Miriam Ruiz <[email protected]> nikwi (U) phlipple (U) pink-pony (U) projectl (U) zaz (U) Mitchell Smith <[email protected]> xwax (U) Mohammed Adnène Trojette <[email protected]> vlc (U) Moritz Muehlenhoff <[email protected]> alienblaster (U) Nicolas Mora <[email protected]> motion Ola Lundqvist <[email protected]> gngb (U) Pascal Giard <[email protected]> desmume (U) Patrick Matthäi <[email protected]> criticalmass guichan mlt xine-lib-1.2 Paul Brossier <[email protected]> freewheeling gem (U) pdp (U) Paul van Tilburg <[email protected]> ruby-sdl (U) Paul Wise <[email protected]> between (U) gravitation (U) hex-a-hop (U) mokomaze passage (U) primrose (U) Peter De Wachter <[email protected]> a7xpg (U) asylum (U) gunroar (U) ii-esu (U) mu-cade (U) parsec47 (U) projectl (U) rrootage (U) tatan (U) titanion (U) torus-trooper (U) tumiki-fighters (U) val-and-rick (U) Peter Pentchev <[email protected]> fenix (U) fenix-plugins (U) Peter Pentchev <[email protected]> phlipple (U) Peter Spiess-Knafl <[email protected]> bomberclone Petter Reinholdtsen <[email protected]> libtheora (U) lmms (U) Phil Brooke <[email protected]> searchandrescue Philippe Coval <[email protected]> pinball-table-gnu pinball-table-hurd Rafael Laboissière <[email protected]> fim (U) Ralph Giles <[email protected]> libtheora (U) Reinhard Tartler <[email protected]> libquicktime (U) mjpegtools (U) mplayer (U) pong2 (U) scorched3d (U) vlc (U) Rhonda D'Vine <[email protected]> fillets-ng (U) tworld (U) Ricardo Mones <[email protected]> biloba epiphany (U) Richard Ulrich <[email protected]> laserboy Ritesh Raj Sarraf <[email protected]> virtualbox (U) Robert Lemmen <[email protected]> noiz2sa Ross Gammon <[email protected]> lmms (U) Sam Hocevar (Debian packages) <[email protected]> amphetamine (U) gravitywars (U) mpeg2dec (U) smpeg (U) Sam Hocevar <[email protected]> asc (U) clanlib (U) hex-a-hop (U) ketm (U) nikwi (U) powermanga (U) taoframework (U) Samuel Henrique <[email protected]> tomatoes Samuel Mimram <[email protected]> xmoto (U) Samuel Thibault <[email protected]> mlv (U) Sarah COUDERT <[email protected]> miceamaze Scott Leggett <[email protected]> spout Sebastian Dröge <[email protected]> taoframework (U) Sebastian Ramacher <[email protected]> vlc (U) Sebastien CHAVAUX <[email protected]> xsoldier Sergei Golovan <[email protected]> esdl (U) Simon McVittie <[email protected]> game-data-packager (U) Simon Tatham <[email protected]> chroma Stephen Kitt <[email protected]> brandy dosbox gnurobbo (U) heroes (U) xmoto (U) xye (U) Stephen M. Webb <[email protected]> viruskiller (U) Steve McIntyre <[email protected]> grub2 (U) Stu Teasdale <[email protected]> ri-li (U) Stéphane Glondu <[email protected]> ocamlsdl (U) Sven Bartscher <[email protected]> dwarf-fortress Sylvain Beucler <[email protected]> cytadela (U) meritous (U) TANIGUCHI Takaki <[email protected]> tuxfootball (U) Teemu Hukkanen <[email protected]> virtualjaguar (U) Thomas Girard <[email protected]> gnu-smalltalk (U) Timo Juhani Lindfors <[email protected]> triplane (U) Tobias Hansen <[email protected]> ares (U) sludge (U) Tomasz Buchert <[email protected]> gravit (U) Uwe Hermann <[email protected]> crimson flobopuyo lmarbles Vincent Cheng <[email protected]> frogatto (U) irrlicht (U) openssn (U) slashem (U) Vincent Duvert (VinDuv) <[email protected]> slimevolley (U) Vincent Fourmond <[email protected]> a7xpg (U) mu-cade (U) Vincent Legout <[email protected]> brutalchess (U) Vincent Sanders <[email protected]> netsurf Ximin Luo <[email protected]> motion Yann Dirson <[email protected]> dossizola freedroid Ying-Chun Liu (PaulLiu) <[email protected]> avifile onscripter rlvm Youhei SASAKI <[email protected]> ruby-sdl (U) Zorian Medwid <[email protected]> edgar