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;
> 

Reply via email to