SDL2 for older systems: which components we need enabled? Cocoa vs X11

Sergio Had vital.had at gmail.com
Thu Jul 20 09:46:08 UTC 2023


Of course, we could also make a separate -legacy port using 2.0.9, for example (last version miniupnp patched was 2.0.8 but we know 2.0.9 builds and likely gonna work), but it will be disappointing to having wasted many hours on 2.0.22 without a positive outcome LOL

There is also no harm in switching to X11 for systems which it does not build at all presently. With that option enabled, other ports can be tested to see if X11 can be likewise used for old systems with SDL2.
On Jul 20, 2023 17:41 +0800, Sergio Had <vital.had at gmail.com>, wrote:
> That was my point: X11 does not require violating sources much. What does is essentially one file: SDL_cocoamodes.m. It is used by cocoa video, otherwise it is not built.
>
> I did not have to throw chunks of code away, aside of cocoa video case (which still fails to build so far). And miniupnp and your patches are adaptable: again, leaving off cocoa video part. (I didn’t bother with joystick at all yet, aside of seeing it gets ICE akin to hidapi, which only Iain can fix, but it has been many months since it was filed to Bugzilla, and here we are.)
>
> I will review my patches today to make sure nothing silly creeped in, and what I suggest is I make a PR with X11 backend and no cocoa video, and you or someone interested take a look.
> It is easy to switch portfile logic to use X11 on ppc and old Intel, while keeping existing settings for 10.6 Intel.
> On Jul 20, 2023 07:15 +0800, Ken Cunningham <ken.cunningham.webuse at gmail.com>, wrote:
> > As far as I know, we don't have any ports that use SDL2 via X11/Xquartz. All the ports use the Cocoa interface.
> >
> > The modifications that were made to SDL2 by miniupnp to run on Tiger and Leopard were fairly extensive, to an older version of SDL2, but they worked to allow a number of ports that required libsdl2 to work on those systems. I have those mods tucked away in the archives of the TigerPorts and LeopardPorts repos.
> >
> > Any newer version of libsdl2/SDL2 was not able to be adjusted to be useful on those older systems. We did have one newer version that would build, but was so broken by the hacks needed to make it build that it was useless in practical use.
> >
> > Which brings me to the next point.
> >
> > It is quite possible to make hacks/patches to software that will allow it to build -- at an extreme, you and #if 0 / #endif out that entire source, and it will compile just fine.
> >
> > But especially for things like SDL2, what is needed is more than that -- you have to see if software built against such patched versions will actually work, and this sometimes takes some fairly extensive testing to see what the warts might be.
> >
> >
> >
> > Ken
> >
> >
> >
> > > On Jul 19, 2023, at 8:32 AM, Sergey Fedorov <vital.had at gmail.com> wrote:
> > >
> > > libsdl 2.0.22 (our Snow Leopard port) builds on PowerPC with unoffensive fixes, however I had to disable cocoa video and joystick for that.
> > > They are likely fixable (though no idea whether and how they gonna work), but at least cocoa video gonna require a massive rewrite – or perhaps falling back to an earlier implementation. (Well, this is not a kind of code I can genuinely rewrite – only adapt patches and maybe improve something a bit.)
> > >
> > > However, if X11 implementation is a meaningful replacement, it builds fine with no trickery.
> > >
> > > Any thoughts?
> > >
> > > P. S. ICE on hidapi is trivially fixable – I just reverted a commit which has broken that. After that, hidapi builds fine.
> >
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-dev/attachments/20230720/4f85b2ab/attachment.htm>


More information about the macports-dev mailing list