Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Bug#1038343: fim: Depends on SDL 1.2

13 views
Skip to first unread message

Simon McVittie

unread,
Jun 17, 2023, 5:40:05 AM6/17/23
to
Source: fim
Tags: trixie sid
User: pkg-sdl-m...@lists.alioth.debian.org
Usertags: libsdl1.2

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.

Please don't change dependencies from libsdl1.2debian to
libsdl1.2-compat-shim, or from libsdl1.2-dev to libsdl1.2-compat-dev.
The -compat packages have Provides for the old package names, and my
intention is to make a future version of sdl12-compat take over the old
package names, to minimize the changes that are required in dependent
packages.

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

--
This bug report is part of a mass-bug-filing:
<https://lists.debian.org/debian-devel/2023/06/msg00120.html>

Rafael Laboissière

unread,
Jun 17, 2023, 3:20:05 PM6/17/23
to
Control: forwarded -1 https://savannah.nongnu.org/bugs/index.php?64313

Hello Simon,

Thanks for this bug report. I forwarded it upstream and I am also sending
this message with Cc to the upstream author.

Best,

Rafael

* Simon McVittie <sm...@debian.org> [2023-06-17 10:28]:

Simon McVittie

unread,
Jun 18, 2023, 12:20:05 PM6/18/23
to
On Sat, 17 Jun 2023 at 21:11:25 +0200, Rafael Laboissičre wrote:
> Thanks for this bug report. I forwarded it upstream and I am also sending
> this message with Cc to the upstream author.

Thanks. In the meantime, please could you check whether fim works as
intended with libsdl1.2-compat-shim, which is meant to be a drop-in
replacement? I'm trying to track whether there are any blockers to
replacing "classic" SDL 1.2.

smcv

Rafael Laboissière

unread,
Jun 18, 2023, 4:40:04 PM6/18/23
to
* Simon McVittie <sm...@debian.org> [2023-06-18 17:10]:

> On Sat, 17 Jun 2023 at 21:11:25 +0200, Rafael Laboissière wrote:
>> Thanks for this bug report. I forwarded it upstream and I am also sending
>> this message with Cc to the upstream author.
>
> Thanks. In the meantime, please could you check whether fim works as
> intended with libsdl1.2-compat-shim, which is meant to be a drop-in
> replacement? I'm trying to track whether there are any blockers to
> replacing "classic" SDL 1.2.

The package builds fine against libsdl1.2-compat-dev on my sid amd64
system. All tests also passed, but I am not sure this would be enough. I
would rather let the upstream author have the final word, but if you
think I should upload a new version of the package with that
build-dependency, please tell me.

Best,

Rafael Laboissière

Michele Martone

unread,
Jun 21, 2023, 7:50:05 PM6/21/23
to
Dear Rafael, dear Simon,

If using the compatibility layer and:

* `make tests` passes
* you can start `fim -o sdl $FILE` and move around by pressing
n, p, then enlarging/shrinking with + and -, using the arrows
to scroll, and : to start the console, and after : typing
'quit' and it quits, plus the window is resizable

then I'd say this later is perfectly fine.

Can you verify if the above conditions are fulfilled?

Michele
signature.asc

Simon McVittie

unread,
Jun 21, 2023, 8:30:05 PM6/21/23
to
On Sun, 18 Jun 2023 at 22:27:26 +0200, Rafael Laboissičre wrote:
> * Simon McVittie <sm...@debian.org> [2023-06-18 17:10]:
> > In the meantime, please could you check whether fim works as
> > intended with libsdl1.2-compat-shim, which is meant to be a drop-in
> > replacement? I'm trying to track whether there are any blockers to
> > replacing "classic" SDL 1.2.
>
> if you think I
> should upload a new version of the package with that build-dependency,
> please tell me

No, please *don't* change the build-dependency. I'm hoping to make
sdl12-compat take over the libsdl1.2debian and libsdl1.2-dev binary
package names from classic SDL 1.2, so that no source changes or
recompilation are needed.

smcv

Rafael Laboissière

unread,
Jun 22, 2023, 2:20:05 AM6/22/23
to
* Michele Martone <michele...@users.sourceforge.net> [2023-06-21 23:43]:

> On 20230618@22:27, Rafael Laboissière wrote:
>> * Simon McVittie <sm...@debian.org> [2023-06-18 17:10]:
>>
>>> On Sat, 17 Jun 2023 at 21:11:25 +0200, Rafael Laboissière wrote:
>>>> Thanks for this bug report. I forwarded it upstream and I am also sending
>>>> this message with Cc to the upstream author.
>>>
>>> Thanks. In the meantime, please could you check whether fim works as
>>> intended with libsdl1.2-compat-shim, which is meant to be a drop-in
>>> replacement? I'm trying to track whether there are any blockers to
>>> replacing "classic" SDL 1.2.
>>
>> The package builds fine against libsdl1.2-compat-dev on my sid amd64 system.
>> All tests also passed, but I am not sure this would be enough. I would
>> rather let the upstream author have the final word, but if you think I
>> should upload a new version of the package with that build-dependency,
>> please tell me.
>
> Dear Rafael, dear Simon,
>
> If using the compatibility layer and:
>
> * `make tests` passes

It is not straightforward for me to do this test, because I build the
package on a remote system, and SDL does not play well with xvfb-run.

On the other hand the unit tests that are exercised in file
debian/test/run-tests succeeded. Essentially, this corresponds to:

make -C src/testdir

> * you can start `fim -o sdl $FILE` and move around by pressing
> n, p, then enlarging/shrinking with + and -, using the arrows
> to scroll, and : to start the console, and after : typing
> 'quit' and it quits, plus the window is resizable

The window starts with the image flushed to the bottom right, and not
centered as with the previous version.

Keys n, p, + and - work correctly. The arrow keys work also, but there is
some flickering that I did not observe previously.

Typing ":quit" works, but there is no echo of the console at the
bottom of the window.

So, it mainly works but the behavior with the compatibility version of
the SDL library is not exactly the same as with the old version of SDL.

Best,

Rafael

Rafael Laboissière

unread,
Jun 22, 2023, 2:20:05 AM6/22/23
to
* Simon McVittie <sm...@debian.org> [2023-06-22 01:20]:
Ok, thaks.

Best,

Rafael Laboissière

Michele Martone

unread,
Jul 2, 2023, 9:20:04 AM7/2/23
to
Dear Rafael,

Thank you for testing out this combination.

As you describe it, it seems perfectly acceptable to me.

If I understand correctly, you're using here a version of FIM
from one year ago or more.
After that, I introduced centering by inserting line
setenv("SDL_VIDEO_CENTERED","1",0);
in SDLDevice::initialize(), on the line just before calling
SDL_Init().
If that can make sense to you, you can introduce that line as
a patch. I'll need some calm time in order to port to SDL2 --
but I understand it's something I shall do soon.

ciao,
Michele
signature.asc

Michele Martone

unread,
Jul 15, 2023, 8:10:05 AM7/15/23
to
Dear Rafael,

I managed to introduce experimental SDL2 support in FIM
(also mentioned this on
https://savannah.nongnu.org/bugs/index.php?64313
) -- I now hope for some feedback from people using different
window managers ....

signature.asc
0 new messages