aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarius Bakke <marius@gnu.org>2021-12-17 17:13:03 +0100
committerMarius Bakke <marius@gnu.org>2021-12-17 19:07:17 +0100
commite0559c531425da5a689d14553af7873528b49d09 (patch)
treea26e6cb317d55dc4fb3292d2e42d97ea76b2b8da
parentd080368cb5159613a1ff6611e55e09b62977383e (diff)
downloadguix-e0559c531425da5a689d14553af7873528b49d09.tar.gz
guix-e0559c531425da5a689d14553af7873528b49d09.zip
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.
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/game-development.scm4
-rw-r--r--gnu/packages/patches/grfcodec-gcc-compat.patch31
3 files changed, 34 insertions, 2 deletions
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 @@ DeuTex has functions such as merging wads, etc.")
(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 @@ DeuTex has functions such as merging wads, etc.")
"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;
+ }