From patchwork Sat Feb 22 09:31:31 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Csepp X-Patchwork-Id: 20363 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id 4738A27BBEA; Sat, 22 Feb 2020 09:32:11 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, MAILING_LIST_MULTI,T_DKIM_INVALID,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id 9770527BBE4 for ; Sat, 22 Feb 2020 09:32:10 +0000 (GMT) Received: from localhost ([::1]:40850 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5R8s-00004u-3R for patchwork@mira.cbaines.net; Sat, 22 Feb 2020 04:32:10 -0500 Received: from eggs.gnu.org ([2001:470:142:3::10]:44457) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j5R8m-0008WT-Ir for guix-patches@gnu.org; Sat, 22 Feb 2020 04:32:06 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j5R8k-0002h4-6w for guix-patches@gnu.org; Sat, 22 Feb 2020 04:32:04 -0500 Received: from debbugs.gnu.org ([209.51.188.43]:42591) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j5R8j-0002g6-Te for guix-patches@gnu.org; Sat, 22 Feb 2020 04:32:02 -0500 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j5R8j-0001QJ-R6 for guix-patches@gnu.org; Sat, 22 Feb 2020 04:32:01 -0500 X-Loop: help-debbugs@gnu.org Subject: [bug#39675] [PATCH] fix Desmume on newer GCC Resent-From: raingloom Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Sat, 22 Feb 2020 09:32:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39675 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 39675@debbugs.gnu.org Received: via spool by 39675-submit@debbugs.gnu.org id=B39675.15823639025443 (code B ref 39675); Sat, 22 Feb 2020 09:32:01 +0000 Received: (at 39675) by debbugs.gnu.org; 22 Feb 2020 09:31:42 +0000 Received: from localhost ([127.0.0.1]:48564 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j5R8Q-0001Pj-0e for submit@debbugs.gnu.org; Sat, 22 Feb 2020 04:31:42 -0500 Received: from mx1.riseup.net ([198.252.153.129]:32976) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j5R8L-0001PY-UD for 39675@debbugs.gnu.org; Sat, 22 Feb 2020 04:31:41 -0500 Received: from bell.riseup.net (bell-pn.riseup.net [10.0.1.178]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (Client CN "*.riseup.net", Issuer "Sectigo RSA Domain Validation Secure Server CA" (not verified)) by mx1.riseup.net (Postfix) with ESMTPS id 48Pjkx1Sp2zFcPK for <39675@debbugs.gnu.org>; Sat, 22 Feb 2020 01:31:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1582363897; bh=s0zEbtMrstZFEDrJL0BgYpoXjINh/Sij8HDaQg1Q+4c=; h=Date:From:Subject:To:In-Reply-To:References:From; b=AFmVr0cJ88HMqAWo8YN6p37K6e86OvyLXVtQMHxF2Syn9OkH3zUAPCDiS5qq04v2m 4/I2Kk32tKncmHrI+AIdxwcbzT+PY8TMhSxpyAkDCOfMxviA2rdJjjqs2d3ekPlDrU u0RcWb/vDlHX5NEk1zmJq3QtRGwbAUumm0qr1Gzk= X-Riseup-User-ID: F5D2AFD947ABEF9E44A81BC716BACA71D9DE363E55CE0FEEE1DA5D4228198489 Received: from [127.0.0.1] (localhost [127.0.0.1]) by bell.riseup.net (Postfix) with ESMTPSA id 48Pjkw1HRpzJsvf for <39675@debbugs.gnu.org>; Sat, 22 Feb 2020 01:31:35 -0800 (PST) Date: Sat, 22 Feb 2020 10:31:31 +0100 From: raingloom Message-Id: <1582363891.3461.0@riseup.net> In-Reply-To: <20200220160417.mbd2twtzkoknr5z7@gravity> References: <1582119681.2225.1@riseup.net> <20200220160417.mbd2twtzkoknr5z7@gravity> MIME-Version: 1.0 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Ah, I forgot to leave a blank line in the commit message. Here is a patch for the current master as of a few minutes ago. On Thu, Feb 20, 2020 at 17:04, Jakub Kądziołka wrote: > On Wed, Feb 19, 2020 at 02:41:21PM +0100, raingloom wrote: >> The project has not seen much development in some time, so it >> needed a few >> patches. I found them in the Arch package, but they seem to be from >> the >> upstream SourceForge project and mailing list. >> > > Hi, > > the bullet points in your commit message are at the end of the lines > for > some reason. Also, the added .patch files don't apply when I `guix > build > desmume'. I think you'll need to resend the patch. Also, when you add > .patch files, you need to add them to a list in gnu/local.mk. > > Regards, > Jakub Kądziołka From 5fd558ad04249d6214fdbf12f376962f65af1a9e Mon Sep 17 00:00:00 2001 From: raingloom Date: Wed, 19 Feb 2020 14:36:26 +0100 Subject: [PATCH] gnu: desmume: fix build on new GCC versions * gnu/packages/emulation.scm (desmume) add patches * gnu/packages/patches/desmume-gcc6-fixes.patch: new file * gnu/packages/patches/desmume-gcc7-fixes.patch: new file --- gnu/packages/emulators.scm | 4 +- gnu/packages/patches/desmume-gcc6-fixes.patch | 59 +++++++++++++++++++ gnu/packages/patches/desmume-gcc7-fixes.patch | 18 ++++++ 3 files changed, 80 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/desmume-gcc6-fixes.patch create mode 100644 gnu/packages/patches/desmume-gcc7-fixes.patch diff --git a/gnu/packages/emulators.scm b/gnu/packages/emulators.scm index b7f29a6f5b..aec4ce73ba 100644 --- a/gnu/packages/emulators.scm +++ b/gnu/packages/emulators.scm @@ -102,7 +102,9 @@ version "/desmume-" version ".tar.gz")) (sha256 (base32 - "15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs")))) + "15l8wdw3q61fniy3h93d84dnm6s4pyadvh95a0j6d580rjk4pcrs")) + (patches (search-patches "desmume-gcc6-fixes.patch" + "desmume-gcc7-fixes.patch")))) (build-system gnu-build-system) (arguments ;; Enable support for WiFi and microphone. diff --git a/gnu/packages/patches/desmume-gcc6-fixes.patch b/gnu/packages/patches/desmume-gcc6-fixes.patch new file mode 100644 index 0000000000..6eb9576f64 --- /dev/null +++ b/gnu/packages/patches/desmume-gcc6-fixes.patch @@ -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, ...) {} diff --git a/gnu/packages/patches/desmume-gcc7-fixes.patch b/gnu/packages/patches/desmume-gcc7-fixes.patch new file mode 100644 index 0000000000..a4934ff6e6 --- /dev/null +++ b/gnu/packages/patches/desmume-gcc7-fixes.patch @@ -0,0 +1,18 @@ +From e1f7039f1b06add4fb75b2f8774000b8f05574af Mon Sep 17 00:00:00 2001 +From: rogerman +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; -- 2.25.0