[arch-commits] Commit in desmume/trunk (PKGBUILD gcc6_fixes.patch gcc7_fixes.patch)

Balló György bgyorgy at archlinux.org
Sat Mar 30 20:43:00 UTC 2019


    Date: Saturday, March 30, 2019 @ 20:43:00
  Author: bgyorgy
Revision: 446407

upgpkg: desmume 0.9.11-5

Fix build (patches taken from Debian)

Added:
  desmume/trunk/gcc6_fixes.patch
  desmume/trunk/gcc7_fixes.patch
Modified:
  desmume/trunk/PKGBUILD

------------------+
 PKGBUILD         |   25 ++++++++++++++--------
 gcc6_fixes.patch |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++
 gcc7_fixes.patch |   18 ++++++++++++++++
 3 files changed, 93 insertions(+), 9 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2019-03-30 20:39:48 UTC (rev 446406)
+++ PKGBUILD	2019-03-30 20:43:00 UTC (rev 446407)
@@ -12,7 +12,7 @@
 
 pkgname=desmume
 pkgver=0.9.11
-pkgrel=4
+pkgrel=5
 pkgdesc="Nintendo DS emulator"
 arch=('x86_64')
 url="http://desmume.org/"
@@ -19,17 +19,22 @@
 license=('GPL')
 depends=('desktop-file-utils' 'libpcap' 'soundtouch' 'alsa-lib' 'glu' 'sdl' 'gtk2' 'zziplib')
 makedepends=('intltool' 'mesa' 'clang')
-source=("https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz")
+source=("https://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz"
+        gcc6_fixes.patch
+        gcc7_fixes.patch)
 
+prepare() {
+  cd "$srcdir/$pkgname-$pkgver"
+
+  # Fix build
+  patch -Np1 -i ../gcc6_fixes.patch
+  patch -Np1 -i ../gcc7_fixes.patch
+}
+
 build() {
   cd "$srcdir/$pkgname-$pkgver"
 
-  # See https://bugs.archlinux.org/task/35086 and
-  # https://sourceforge.net/tracker/?func=detail&aid=3612768&group_id=164579&atid=832291
-  sed -i 's/@GETTEXT_PACKAGE@/desmume/' po/Makefile.in.in
-
-  # Using clang to workaround FS#41476
-  ./configure --prefix=/usr --enable-wifi --enable-openal CC=clang CXX=clang++
+  ./configure --prefix=/usr --enable-wifi --enable-openal
   make
 }
 
@@ -39,4 +44,6 @@
   make DESTDIR="$pkgdir/" install
 }
 
-md5sums=('269b5d4ddc5715720469a9d0efc53044')
+md5sums=('269b5d4ddc5715720469a9d0efc53044'
+         '7887bff9ca494999f27cbd08bf54ce41'
+         '02bfa83f96cee77d8a349dfd8ce56d5a')

Added: gcc6_fixes.patch
===================================================================
--- gcc6_fixes.patch	                        (rev 0)
+++ gcc6_fixes.patch	2019-03-30 20:43:00 UTC (rev 446407)
@@ -0,0 +1,59 @@
+From: zeromus
+Origin: upstream, https://sourceforge.net/p/desmume/code/5514, https://sourceforge.net/p/desmume/code/5517, https://sourceforge.net/p/desmume/code/5430
+Subject: fix GCC6 issues
+Bug: https://sourceforge.net/p/desmume/bugs/1570/
+Bug-Debian: http://bugs.debian.org/811691
+
+Index: desmume/src/MMU_timing.h
+===================================================================
+--- desmume/src/MMU_timing.h	(revision 5513)
++++ desmume/src/MMU_timing.h	(revision 5517)
+@@ -155,8 +155,8 @@
+ 	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: desmume/src/ctrlssdl.cpp
+===================================================================
+--- desmume/src/ctrlssdl.cpp	(revision 5513)
++++ desmume/src/ctrlssdl.cpp	(revision 5517)
+@@ -200,7 +200,7 @@
+           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 @@
+          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;
+Index: desmume/src/wifi.cpp
+===================================================================
+--- desmume/src/wifi.cpp	(revision 5429)
++++ desmume/src/wifi.cpp	(revision 5430)
+@@ -320,9 +320,9 @@
+ 
+ #if (WIFI_LOGGING_LEVEL >= 1)
+ 	#if WIFI_LOG_USE_LOGC
+-		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: "__VA_ARGS__);
++		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) LOGC(8, "WIFI: " __VA_ARGS__);
+ 	#else
+-		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: "__VA_ARGS__);
++		#define WIFI_LOG(level, ...) if(level <= WIFI_LOGGING_LEVEL) printf("WIFI: " __VA_ARGS__);
+ 	#endif
+ #else
+ #define WIFI_LOG(level, ...) {}

Added: gcc7_fixes.patch
===================================================================
--- gcc7_fixes.patch	                        (rev 0)
+++ gcc7_fixes.patch	2019-03-30 20:43:00 UTC (rev 446407)
@@ -0,0 +1,18 @@
+From e1f7039f1b06add4fb75b2f8774000b8f05574af Mon Sep 17 00:00:00 2001
+From: rogerman <rogerman at users.sf.net>
+Date: Mon, 17 Aug 2015 21:15:04 +0000
+Subject: Fix bug with libfat string handling.
+
+diff --git a/src/utils/libfat/directory.cpp b/src/utils/libfat/directory.cpp
+index 765d7ae5..b6d7f01f 100644
+--- a/src/utils/libfat/directory.cpp
++++ b/src/utils/libfat/directory.cpp
+@@ -139,7 +139,7 @@ static size_t _FAT_directory_mbstoucs2 (ucs2_t* dst, const char* src, size_t len
+ 	int bytes;
+ 	size_t count = 0;
+ 
+-	while (count < len-1 && src != '\0') {
++	while (count < len-1 && *src != '\0') {
+ 		bytes = mbrtowc (&tempChar, src, MB_CUR_MAX, &ps);
+ 		if (bytes > 0) {
+ 			*dst = (ucs2_t)tempChar;



More information about the arch-commits mailing list