From 6173a5f81157441fc19d2d6488dacf82413608a0ec6da5c2e61310ec2500473e Mon Sep 17 00:00:00 2001 From: Fridrich Strba Date: Tue, 26 Sep 2023 13:49:47 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/Java:packages/groovy18?expand=0&rev=39 --- reproducible-builds.patch | 55 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/reproducible-builds.patch b/reproducible-builds.patch index 64986d8..a26e4ec 100644 --- a/reproducible-builds.patch +++ b/reproducible-builds.patch @@ -31,6 +31,61 @@ } /** +--- groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/classgen/Verifier.java 2023-09-26 13:31:23.342876115 +0200 ++++ groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/classgen/Verifier.java 2023-09-26 15:48:16.126304739 +0200 +@@ -139,7 +139,7 @@ + for (ClassNode classNode : classNodes) { + interfaces.add(classNode.getName()); + } +- Set interfaceSet = new HashSet(interfaces); ++ Set interfaceSet = new TreeSet(interfaces); + if (interfaceSet.size() != interfaces.size()) { + throw new RuntimeParserException("Duplicate interfaces in implements list: " + interfaces, classNode); + } +@@ -832,7 +832,7 @@ + List staticStatements = new ArrayList(); + final boolean isEnum = node.isEnum(); + List initStmtsAfterEnumValuesInit = new ArrayList(); +- Set explicitStaticPropsInEnum = new HashSet(); ++ Set explicitStaticPropsInEnum = new TreeSet(); + if (isEnum) { + for (PropertyNode propNode : node.getProperties()) { + if (!propNode.isSynthetic() && propNode.getField().isStatic()) { +@@ -1051,12 +1051,12 @@ + } + + protected void addCovariantMethods(ClassNode classNode) { +- Map methodsToAdd = new HashMap(); +- Map genericsSpec = new HashMap(); ++ Map methodsToAdd = new TreeMap(); ++ Map genericsSpec = new TreeMap(); + + // unimplemented abstract methods from interfaces +- Map abstractMethods = new HashMap(); +- Map allInterfaceMethods = new HashMap(); ++ Map abstractMethods = new TreeMap(); ++ Map allInterfaceMethods = new TreeMap(); + ClassNode[] interfaces = classNode.getInterfaces(); + for (ClassNode iface : interfaces) { + Map ifaceMethodsMap = iface.getDeclaredMethodsMap(); +@@ -1086,7 +1086,7 @@ + + addCovariantMethods(classNode, declaredMethods, abstractMethods, methodsToAdd, genericsSpec); + +- Map declaredMethodsMap = new HashMap(); ++ Map declaredMethodsMap = new TreeMap(); + if (methodsToAdd.size() > 0) { + for (MethodNode mn : declaredMethods) { + declaredMethodsMap.put(mn.getTypeDescriptor(), mn); +@@ -1336,7 +1336,7 @@ + } + + private Map createGenericsSpec(ClassNode current, Map oldSpec) { +- Map ret = new HashMap(oldSpec); ++ Map ret = new TreeMap(oldSpec); + // ret contains the type specs, what we now need is the type spec for the + // current class. To get that we first apply the type parameters to the + // current class and then use the type names of the current class to reset --- groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/tools/FileSystemCompiler.java 2023-09-26 13:31:23.359542893 +0200 +++ groovy-core-GROOVY_1_8_9/src/main/org/codehaus/groovy/tools/FileSystemCompiler.java 2023-09-26 13:54:05.625117288 +0200 @@ -246,6 +246,7 @@