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 00:24:11 -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 <anthony@anjbe.name>
 
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 00:24:11 -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 00:24:11 -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;
