From e0559c531425da5a689d14553af7873528b49d09 Mon Sep 17 00:00:00 2001 From: Marius Bakke Date: Fri, 17 Dec 2021 17:13:03 +0100 Subject: gnu: grfcodec: Fix build with GCC 10. * gnu/packages/patches/grfcodec-gcc-compat.patch: New file. * gnu/local.mk (dist_patch_DATA): Adjust accordingly. * gnu/packages/game-development.scm (grfcodec)[source](patches): New field. [arguments]: Remove trailing #t. --- gnu/local.mk | 1 + gnu/packages/game-development.scm | 4 ++-- gnu/packages/patches/grfcodec-gcc-compat.patch | 31 ++++++++++++++++++++++++++ 3 files changed, 34 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/patches/grfcodec-gcc-compat.patch diff --git a/gnu/local.mk b/gnu/local.mk index f76561c939..25f50ae5e9 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -1199,6 +1199,7 @@ dist_patch_DATA = \ %D%/packages/patches/gpsbabel-fix-i686-test.patch \ %D%/packages/patches/grantlee-merge-theme-dirs.patch \ %D%/packages/patches/grep-timing-sensitive-test.patch \ + %D%/packages/patches/grfcodec-gcc-compat.patch \ %D%/packages/patches/grocsvs-dont-use-admiral.patch \ %D%/packages/patches/gromacs-tinyxml2.patch \ %D%/packages/patches/groovy-add-exceptionutilsgenerator.patch \ diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index 19d5e71506..d7502dbc29 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -213,6 +213,7 @@ (define-public grfcodec (uri (string-append "https://binaries.openttd.org/extra/" name "/" version "/" name "-" version "-source.tar.xz")) + (patches (search-patches "grfcodec-gcc-compat.patch")) (sha256 (base32 "08admgnpqcsifpicbm56apgv360fxapqpbbsp10qyk8i22w1ivsk")))) (build-system gnu-build-system) @@ -238,8 +239,7 @@ (define-public grfcodec "readme" "readme.rpn")) (for-each (lambda (file) (install-file file man)) - (find-files "." "\\.1")))) - #t))))) + (find-files "." "\\.1"))))))))) (inputs (list boost libpng zlib)) (synopsis "GRF development tools") diff --git a/gnu/packages/patches/grfcodec-gcc-compat.patch b/gnu/packages/patches/grfcodec-gcc-compat.patch new file mode 100644 index 0000000000..02685d46fd --- /dev/null +++ b/gnu/packages/patches/grfcodec-gcc-compat.patch @@ -0,0 +1,31 @@ +Fix type comparison issue that is a hard error in GCC 10. + +Taken from upstream: + + https://github.com/OpenTTD/grfcodec/commit/bb692b2c723c5e87cc8f89f445928e97594d5b8f + +diff --git a/src/command.cpp b/src/command.cpp +index 9aa0e14..1f32cf1 100644 +--- a/src/command.cpp ++++ b/src/command.cpp +@@ -300,8 +300,9 @@ bool parse_comment(const string&line){ + break; + case BEAUTIFY:{ + commandstream>>command_part; +- uint val=find_command(command_part,beaut),togglebit; +- if(val!=(uint)-1&&val!=OFF)_commandState.beautifier=true; ++ int val=find_command(command_part,beaut); ++ uint togglebit; ++ if(val!=-1&&val!=OFF)_commandState.beautifier=true; + switch(val){ + case -1: + IssueMessage(0,COMMAND_INVALID_ARG,gen[BEAUTIFY].name); +@@ -372,7 +373,7 @@ bool parse_comment(const string&line){ + dotoggle: + commandstream>>command_part; + val=find_command(command_part,beaut); +- if(!commandstream||val==(uint)-1){ ++ if(!commandstream||val==-1){ + IssueMessage(0,COMMAND_INVALID_ARG,gen[BEAUTIFY].name); + return true; + } -- cgit v1.2.3