diff options
Diffstat (limited to 'gnu/packages')
-rw-r--r-- | gnu/packages/java.scm | 4 | ||||
-rw-r--r-- | gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch | 35 |
2 files changed, 38 insertions, 1 deletions
diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 1e671b90bb..cda7f0e01f 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -6113,7 +6113,9 @@ import org.antlr.grammar.v2.ANTLRTreePrinter;")) version ".tar.gz")) (sha256 (base32 - "0sfimc9cpbgrihz4giyygc8afgpma2c93yqpwb951giriri6x66z")))) + "0sfimc9cpbgrihz4giyygc8afgpma2c93yqpwb951giriri6x66z")) + (patches + (search-patches "antlr3-3_1-fix-java8-compilation.patch")))) (arguments `(#:jar-name (string-append "antlr3-" ,version ".jar") #:source-dir "src:runtime/Java/src" diff --git a/gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch b/gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch new file mode 100644 index 0000000000..0c4deb024b --- /dev/null +++ b/gnu/packages/patches/antlr3-3_1-fix-java8-compilation.patch @@ -0,0 +1,35 @@ +Based on the upstream fix for the java8 compilation issue. +Simplified patch. +Upstream version of patch does not work with this source tree. + +The issue is that in java8 it is an error to pass null to +removeAll. Results in null pointer exception. java7 +behaviour was to return the list unmodified. + +From db2a350c6d90efaa8dde949fa76005c2c5af45c4 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com> +Date: Fri, 5 Jan 2018 17:05:31 +0100 +Subject: [PATCH] Fix java8 compilation. + +--- + src/org/antlr/tool/CompositeGrammar.java | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/org/antlr/tool/CompositeGrammar.java b/src/org/antlr/tool/CompositeGrammar.java +index f1408e7..7e02431 100644 +--- a/src/org/antlr/tool/CompositeGrammar.java ++++ b/src/org/antlr/tool/CompositeGrammar.java +@@ -218,7 +218,9 @@ public class CompositeGrammar { + public List<Grammar> getIndirectDelegates(Grammar g) { + List<Grammar> direct = getDirectDelegates(g); + List<Grammar> delegates = getDelegates(g); +- delegates.removeAll(direct); ++ if (direct != null) { ++ delegates.removeAll(direct); ++ } + return delegates; + } + +-- +2.15.1 + |