On 2019/07/28 15:22, Charlene Wendling wrote:
> On Sun, 28 Jul 2019 09:07:14 +0100
> Stuart Henderson wrote:
> 
> > Please fix the line endings in post-extract so the patch has standard
> > line endings, there's a commented-out example in games/gargoyle.
> 
> Done, thanks for the tip!

Thanks, OK.

> > --
> > Sent from a phone, apologies for poor formatting.
> > 
> > On 28 July 2019 01:49:47 Charlene Wendling <juliana...@posteo.jp>
> > wrote:
> > 
> > >> http://build-failures.rhaalovely.net/powerpc/2019-07-14/emulators/desmume.log
> > >> http://build-failures.rhaalovely.net/sparc64/2019-07-11/emulators/desmume.log
> > >
> > > Since gcc-6 this part of the code requires integer constants, and
> > > later in the build, some additional casting is needed. The diff has
> > > been upstreamed already [0].
> > >
> > > This fixes the build on macppc, i've tested some homebrews without
> > > issues. amd64 is still doing well.
> > >
> > > While here i've moved HOMEPAGE to https.
> > >
> > > The code contains some DOS line endings, so i attach it this time.
> > >
> > > Comments/feedback are welcome!
> > >
> > > Charlène.
> > >
> > >
> > > [0] https://sourceforge.net/p/desmume/bugs/1570/
> > > [1] https://bin.charlenew.xyz/desmume.log
> > 
> > 
> > 
> 
> Index: Makefile
> ===================================================================
> RCS file: /cvs/ports/emulators/desmume/Makefile,v
> retrieving revision 1.24
> diff -u -p -u -p -r1.24 Makefile
> --- Makefile  12 Jul 2019 20:46:08 -0000      1.24
> +++ Makefile  28 Jul 2019 09:46:39 -0000
> @@ -5,11 +5,11 @@ USE_WXNEEDED =      Yes
>  COMMENT =    Nintendo DS emulator
>  
>  DISTNAME =   desmume-0.9.11
> -REVISION =   7
> +REVISION =   8
>  
>  CATEGORIES = emulators
>  
> -HOMEPAGE =   http://desmume.org/
> +HOMEPAGE =   https://desmume.org/
>  
>  MAINTAINER = Anthony J. Bentley <anth...@anjbe.name>
>  
> @@ -43,5 +43,9 @@ MODULES =   textproc/intltool
>  COMPILER =   base-clang ports-gcc
>  
>  CONFIGURE_STYLE =    gnu
> +
> +# Some files needing patches have DOS line endings, removing them.
> +post-extract:
> +     @cd ${WRKSRC} && perl -i -pe 's/\r$$//' src/MMU_timing.h
>  
>  .include <bsd.port.mk>
> Index: patches/patch-src_MMU_timing_h
> ===================================================================
> RCS file: patches/patch-src_MMU_timing_h
> diff -N patches/patch-src_MMU_timing_h
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_MMU_timing_h    28 Jul 2019 09:46:39 -0000
> @@ -0,0 +1,21 @@
> +$OpenBSD$
> +
> +ports-gcc fix for:
> +error: enumerator value for 'BLOCKMASK' is not an integer constant
> +From:
> +https://sourceforge.net/p/desmume/bugs/1570/
> +
> +Index: src/MMU_timing.h
> +--- src/MMU_timing.h.orig
> ++++ src/MMU_timing.h
> +@@ -155,8 +155,8 @@ class CacheController (private)
> +     enum { ASSOCIATIVITY = 1 << ASSOCIATIVESHIFT };
> +     enum { BLOCKSIZE = 1 << BLOCKSIZESHIFT };
> +     enum { TAGSHIFT = SIZESHIFT - ASSOCIATIVESHIFT };
> +-    enum { TAGMASK = (u32)(~0 << TAGSHIFT) };
> +-    enum { BLOCKMASK = ((u32)~0 >> (32 - TAGSHIFT)) & (u32)(~0 << 
> BLOCKSIZESHIFT) };
> ++    enum { TAGMASK = (u32)(~0U << TAGSHIFT) };
> ++    enum { BLOCKMASK = ((u32)~0U >> (32 - TAGSHIFT)) & (u32)(~0U << 
> BLOCKSIZESHIFT) };
> +     enum { WORDSIZE = sizeof(u32) };
> +     enum { WORDSPERBLOCK = (1 << BLOCKSIZESHIFT) / WORDSIZE };
> +     enum { DATAPERWORD = WORDSIZE * ASSOCIATIVITY };
> Index: patches/patch-src_ctrlssdl_cpp
> ===================================================================
> RCS file: patches/patch-src_ctrlssdl_cpp
> diff -N patches/patch-src_ctrlssdl_cpp
> --- /dev/null 1 Jan 1970 00:00:00 -0000
> +++ patches/patch-src_ctrlssdl_cpp    28 Jul 2019 09:46:39 -0000
> @@ -0,0 +1,28 @@
> +$OpenBSD$
> +
> +ports-gcc fix for:
> +error: invalid operands of types '__gnu_cxx::__enable_if<true, 
> double>::__type {aka double}' and 'int' to binary 'operator>>'
> +From:
> +https://sourceforge.net/p/desmume/bugs/1570/
> +
> +Index: src/ctrlssdl.cpp
> +--- src/ctrlssdl.cpp.orig
> ++++ src/ctrlssdl.cpp
> +@@ -200,7 +200,7 @@ u16 get_joy_key(int index) {
> +           break;
> +         case SDL_JOYAXISMOTION:
> +           /* Dead zone of 50% */
> +-          if( (abs(event.jaxis.value) >> 14) != 0 )
> ++          if( ((u32)abs(event.jaxis.value) >> 14) != 0 )
> +             {
> +               key = ((event.jaxis.which & 15) << 12) | JOY_AXIS << 8 | 
> ((event.jaxis.axis & 127) << 1);
> +               if (event.jaxis.value > 0) {
> +@@ -370,7 +370,7 @@ do_process_joystick_events( u16 *keypad, SDL_Event *ev
> +          Note: button constants have a 1bit offset. */
> +     case SDL_JOYAXISMOTION:
> +       key_code = ((event->jaxis.which & 15) << 12) | JOY_AXIS << 8 | 
> ((event->jaxis.axis & 127) << 1);
> +-      if( (abs(event->jaxis.value) >> 14) != 0 )
> ++      if( ((u32)abs(event->jaxis.value) >> 14) != 0 )
> +         {
> +           if (event->jaxis.value > 0)
> +             key_code |= 1;

Reply via email to