Subject: [bug#30811] [PATCH] gnu: java-simple-xml: Fix java8 test failures.

From: Gábor Boskovits <[email-masked]>
Date: Tue, 13 Mar 2018 22:55:10 +0100

* gnu/packages/patches/javas-simple-xml-fix-tests.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register it.
* gnu/packages/java.scm (java-simple-xml)[source](patches): Add it.
---
 gnu/local.mk                                       |  1 +
 .../patches/java-simple-xml-fix-tests.patch        | 37 ++++++++++++++++++++++
 gnu/packages/xml.scm                               |  3 +-
 3 files changed, 40 insertions(+), 1 deletion(-)
 create mode 100644 gnu/packages/patches/java-simple-xml-fix-tests.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 5a3ae502f..5c7ce9cb2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -788,6 +788,7 @@ dist_patch_DATA =						\
   %D%/packages/patches/jacal-fix-texinfo.patch			\
   %D%/packages/patches/java-jeromq-fix-tests.patch		\
   %D%/packages/patches/java-powermock-fix-java-files.patch		\
+  %D%/packages/patches/java-simple-xml-fix-tests.patch		\
   %D%/packages/patches/java-xerces-bootclasspath.patch	\
   %D%/packages/patches/java-xerces-build_dont_unzip.patch	\
   %D%/packages/patches/java-xerces-xjavac_taskdef.patch	\
diff --git a/gnu/packages/patches/java-simple-xml-fix-tests.patch b/gnu/packages/patches/java-simple-xml-fix-tests.patch
new file mode 100644
index 000000000..6270b8700
--- /dev/null
+++ b/gnu/packages/patches/java-simple-xml-fix-tests.patch
@@ -0,0 +1,37 @@
+From b3b7a305f1278ec414500bf96c4c7a7f634c941b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jens=20Thee=C3=9F?= <[email-masked]>
+Date: Thu, 15 Sep 2016 13:08:26 +0200
+Subject: [PATCH] Dictionary uses stable order. This fixes unit tests.
+
+This is upstream pull request #15:
+https://github.com/ngallagher/simplexml/pull/15
+This software is unmaintained, this pull request will no get merged.
+The patch is modified, to match the directory layout of the tarball.
+
+---
+ src/main/java/org/simpleframework/xml/util/Dictionary.java | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/main/java/org/simpleframework/xml/util/Dictionary.java b/src/main/java/org/simpleframework/xml/util/Dictionary.java
+index 077d2514..c7327426 100644
+--- a/src/org/simpleframework/xml/util/Dictionary.java
++++ b/src/org/simpleframework/xml/util/Dictionary.java
+@@ -19,8 +19,8 @@
+ package org.simpleframework.xml.util;
+ 
+ import java.util.AbstractSet;
+-import java.util.HashMap;
+ import java.util.Iterator;
++import java.util.LinkedHashMap;
+ 
+ /**
+  * The <code>Dictionary</code> object represents a mapped set of entry
+@@ -134,7 +134,7 @@ public T remove(String name) {
+     *
+     * @see org.simpleframework.xml.util.Entry
+     */
+-   private static class Table<T> extends HashMap<String, T> {
++   private static class Table<T> extends LinkedHashMap<String, T> {
+       
+       /**
+        * Constructor for the <code>Table</code> object. This will
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index 4087c75e1..47949f140 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -1309,7 +1309,8 @@ SAX2 APIs.")
                                   version ".zip"))
               (sha256
                (base32
-                "0w19k1awslmihpwsxwjbg89hv0vjhk4k3i0vrfchy3mqknd988y5"))))
+                "0w19k1awslmihpwsxwjbg89hv0vjhk4k3i0vrfchy3mqknd988y5"))
+              (patches (search-patches "java-simple-xml-fix-tests.patch"))))
     (build-system ant-build-system)
     (arguments
      `(#:build-target "build"
-- 
2.16.2