On Sat, 1 Feb 2020 19:00:41 -0500 George Koehler wrote: > Cc bentley because of games/vacuum > > On Wed, 29 Jan 2020 23:57:34 -0500 > George Koehler <[email protected]> wrote: > > > On Mon, 27 Jan 2020 00:37:46 +0100 > > Charlene Wendling <[email protected]> wrote: > > > > > It does not run on x86 due to a BROKEN p5-SDL on these 2 archs, > > > and updating p5-SDL does not solve this specific issue. > > > > MetaCPAN shows an SDL-2.548 from a different author (FROGGS).... > > SDL-2.548 is still broken. I found a problem with boot_SDL() and > reported it: https://github.com/PerlGameDev/SDL/issues/294 > > Instead of updating to 2.548 (which might be incompatible with our > games), I propose to patch out the bug in 2.1.3. With this diff, I > can now install devel/p5-SDL and play games/vacuum on amd64. I also > tried games/frozen-bubble with cwen's fixes, but it needs > COMPILER=ports-gcc. In a moment, I will try to patch frozen-bubble > for clang.
About updating -- for frozen-bubble we may have a chance with kthakore's "fork", but for vacuum HOMEPAGE is dead, so it may be more complicated. > This diff for devel/p5-SDL also > - removes HOMEPAGE; looks like a parked domain. > - adds c to WANTLIB, because 'make port-lib-depends-check'. > - removes BROKEN-i386, but I didn't test i386. > (I would need to setup my i386 virtual machine again.) > > 'make test' passes on amd64. I don't try macppc (because my iMac is > busy trying to build devel/llvm), would like to hear from cwen or > someone who has frozen-bubble or vacuum on macppc. > > Is this diff for devel/p5-SDL ok to commit? It works fine on amd64 and powerpc (with no extra regression with frozen-bubble/powerpc) > It is ok gkoehler@ if cwen@ commits it. It's your diff so you should commit it :) It's OK cwen@, but you should wait for more feedback on other archs. > --George > > Index: Makefile > =================================================================== > RCS file: /cvs/ports/devel/p5-SDL/Makefile,v > retrieving revision 1.19 > diff -u -p -r1.19 Makefile > --- Makefile 17 Jul 2019 14:49:21 -0000 1.19 > +++ Makefile 1 Feb 2020 22:56:27 -0000 > @@ -1,23 +1,19 @@ > # $OpenBSD: Makefile,v 1.19 2019/07/17 14:49:21 danj Exp $ > > -BROKEN-amd64 = perl -e 'use SDL' segfaults > -BROKEN-i386 = dependent ports (frozen-bubble, vacuum) > fail: loadable library and perl binaries are mismatched (got > handshake key 0x2b, needed 0xXXXXXX) - COMMENT = > Simple DirectMedia Layer for Perl -HOMEPAGE = > http://sdlperl.org/ > MODULES = cpan > VER = 2.1.3 > DISTNAME = SDL_Perl-${VER} > PKGNAME = p5-SDL-${VER} > -REVISION = 7 > +REVISION = 8 > CATEGORIES = devel graphics > CPAN_AUTHOR = DGOEHRIG > > # GPLv2 > PERMIT_PACKAGE = Yes > > -WANTLIB += GL GLU SDL jpeg perl png pthread > +WANTLIB += GL GLU SDL c jpeg perl png pthread > > RUN_DEPENDS = devel/p5-YAML > BUILD_DEPENDS = ${RUN_DEPENDS} > Index: patches/patch-Build_PL > =================================================================== > RCS file: /cvs/ports/devel/p5-SDL/patches/patch-Build_PL,v > retrieving revision 1.2 > diff -u -p -r1.2 patch-Build_PL > --- patches/patch-Build_PL 3 Nov 2013 07:52:02 -0000 1.2 > +++ patches/patch-Build_PL 1 Feb 2020 22:56:27 -0000 > @@ -1,7 +1,8 @@ > $OpenBSD: patch-Build_PL,v 1.2 2013/11/03 07:52:02 ajacoutot Exp $ > ---- Build.PL.orig Wed Oct 5 02:25:49 2005 > -+++ Build.PL Mon May 25 14:22:30 2009 > -@@ -35,7 +36,7 @@ my %subsystems = > +Index: Build.PL > +--- Build.PL.orig > ++++ Build.PL > +@@ -35,7 +35,7 @@ my %subsystems = > SDL => { > file => { > from => 'src/SDL.xs', > @@ -10,7 +11,7 @@ $OpenBSD: patch-Build_PL,v 1.2 2013/11/0 > }, > libraries => [qw( SDL SDL_image SDL_mixer SDL_net > SDL_ttf SDL_gfx png jpeg smpeg )], > -@@ -43,14 +44,14 @@ my %subsystems = > +@@ -43,14 +43,14 @@ my %subsystems = > OpenGL => { > file => { > from => 'src/OpenGL.xs', > @@ -27,7 +28,7 @@ $OpenBSD: patch-Build_PL,v 1.2 2013/11/0 > }, > libraries => [qw( SDL SDL_image )], > }, > -@@ -123,6 +124,7 @@ my %xs = map { $subsystems{$_}{file}{from} => > $subsyst +@@ -123,6 +123,7 @@ my %xs = map { $subsystems{$_}{file} > {from} => $subsyst keys %subsystems; > > my $build = SDL::Build->new( > Index: patches/patch-src_SDL_xs > =================================================================== > RCS file: /cvs/ports/devel/p5-SDL/patches/patch-src_SDL_xs,v > retrieving revision 1.1.1.1 > diff -u -p -r1.1.1.1 patch-src_SDL_xs > --- patches/patch-src_SDL_xs 2 Jun 2009 21:57:38 -0000 > 1.1.1.1 +++ patches/patch-src_SDL_xs 1 Feb 2020 22:56:27 -0000 > @@ -1,6 +1,12 @@ > $OpenBSD: patch-src_SDL_xs,v 1.1.1.1 2009/06/02 21:57:38 sthen Exp $ > ---- src/SDL.xs.orig Wed Oct 5 02:25:49 2005 > -+++ src/SDL.xs Thu May 28 14:54:55 2009 > + > +Add missing arguments to boot_SDL(); this fixes a crash or failure in > +Perl_xs_handshake() on some arches. This patch does pass the CV of > +the wrong function, but the handshake accepts it. > + > +Index: src/SDL.xs > +--- src/SDL.xs.orig > ++++ src/SDL.xs > @@ -69,7 +69,7 @@ static int sdl_perl_use_smpeg_audio = 0; > #define HAVE_TLS_CONTEXT > #endif > @@ -10,6 +16,22 @@ $OpenBSD: patch-src_SDL_xs,v 1.1.1.1 200 > > Uint32 > sdl_perl_timer_callback ( Uint32 interval, void* param ) > +@@ -189,13 +189,13 @@ sdl_perl_atexit (void) > + #endif > + } > + > +-void boot_SDL(); > ++void boot_SDL(pTHX_ CV *); > + void boot_SDL__OpenGL(); > + > + XS(boot_SDL_perl) > + { > + GET_TLS_CONTEXT > +- boot_SDL(); > ++ boot_SDL(aTHX_ cv); > + } > + > + MODULE = SDL_perl PACKAGE = SDL > @@ -3911,7 +3911,7 @@ GFXFilledpieColor ( dst, x, y, rad, start, > end, color Sint16 end; > Uint32 color; >
