#1038025 aranym: Depends on SDL 1.2

#1038025#5
Date:
2023-06-15 11:35:04 UTC
From:
To:
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. There
is a migration guide at <https://wiki.libsdl.org/SDL2/MigrationGuide>,
and 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.

Note that using libsdl1.2-compat and LD_LIBRARY_PATH is not sufficient if
the package contains programs that are setgid games. See
<https://github.com/libsdl-org/sdl12-compat/blob/main/HOW_TO_TEST_GAMES.md>
for more information.

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.

Thanks,
    smcv

#1038025#10
Date:
2023-06-25 14:48:55 UTC
From:
To:
When I opened #1038025 asking for a port to SDL 2, I wasn't aware that
aranym has already supported SDL 2 since 2014 according to its changelog.

On closer inspection, the upstream default is SDL 2, so if libsdl2-dev
happens to be installed then aranym will already accidentally switch
from SDL 1.2 to SDL 2, even with the current unmodified Debian packaging.

I'm intending to make the -dev package for sdl12-compat depend on
libsdl2-dev as a workaround for legacy SDL-dependent packages that
don't declare their build-dependencies explicitly, so when sdl12-compat
takes over the libsdl1.2-dev binary package name, aranym is going to
end up using SDL 2 in practice unless you explicitly configure with
--disable-sdl2 (please do that if you are aware of reasons why the SDL
2 code paths are broken).

aranym seems to compile fine in that configuration. I don't know what
Atari ROMs or other software (if any) it might need, so I haven't
attempted to test the resulting binaries.

    smcv

#1038025#15
Date:
2023-06-25 15:17:58 UTC
From:
To:
Hello Simon!

According to one of the upstream developers, Aranym's SDL-2 support doesn't
seem to be very mature. Apparently, there are problems here and there [1].

OK, thanks for the heads-up.

That should definitely be properly tested. We don't gain anything if a
package builds find but doesn't work well for most users.

Adrian