File 0001-Revert-java-9-changes.patch of Package libreoffice.28836

From 702c015e4127de65a4d8ab8a665bf6af6518ef4a Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Fridrich=20=C5=A0trba?= <fridrich.strba@bluewin.ch>
Date: Tue, 30 Mar 2021 16:43:17 +0200
Subject: [PATCH 1/2] Revert java 9 changes

Change-Id: I09f046f54b107b53c86f76a39553bd11ef03d9f6
---
 configure.ac                                |  45 +++++--
 jvmfwk/CustomTarget_jreproperties.mk        |   2 +-
 ridljar/Jar_libreoffice.mk                  |   8 +-
 ridljar/Jar_unoloader.mk                    |  11 +-
 ridljar/source/libreoffice/module-info.java | 142 --------------------
 ridljar/source/unoloader/module-info.java   |  12 --
 solenv/gbuild/Jar.mk                        |  14 +-
 solenv/gbuild/JavaClassSet.mk               |  39 +-----
 solenv/gbuild/gbuild.mk                     |   2 -
 9 files changed, 43 insertions(+), 232 deletions(-)
 delete mode 100644 ridljar/source/libreoffice/module-info.java
 delete mode 100644 ridljar/source/unoloader/module-info.java

Index: libreoffice-7.5.1.2/configure.ac
===================================================================
--- libreoffice-7.5.1.2.orig/configure.ac
+++ libreoffice-7.5.1.2/configure.ac
@@ -2518,7 +2518,7 @@ AC_ARG_WITH(linker-hash-style,
 
 AC_ARG_WITH(jdk-home,
     AS_HELP_STRING([--with-jdk-home=<absolute path to JDK home>],
-        [If you have installed JDK 9 or later on your system please supply the
+        [If you have installed JDK 8 or later on your system please supply the
          path here. Note that this is not the location of the java command but the
          location of the entire distribution. In case of cross-compiling, this
          is the JDK of the host os. Use --with-build-platform-configure-options
@@ -8613,7 +8613,24 @@ if test "$ENABLE_JAVA" != "" -a "$cross_
         elif test `$JAVAINTERPRETER -version 2>&1 | $AWK '{ print }' | $GREP -c "BEA"` -gt 0; then
             AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.ac])
         elif test `$JAVAINTERPRETER -version 2>&1 | $AWK '{ print }' | $GREP -c "IBM"` -gt 0; then
-            AC_MSG_ERROR([No valid check available. Please check the block for your desired java in configure.ac])
+            JDK=ibm
+
+            dnl IBM JDK specific tests
+            _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED s/[[-A-Za-z]]*//`
+            _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
+
+            if test "$_jdk_ver" -lt 10800; then
+                AC_MSG_ERROR([IBM JDK is too old, you need at least 8])
+            fi
+
+            AC_MSG_RESULT([found (IBM JDK $_jdk)])
+
+            if test "$with_jdk_home" = ""; then
+                AC_MSG_ERROR([In order to successfully build LibreOffice using the IBM JDK,
+you must use the "--with-jdk-home" configure option explicitly])
+            fi
+
+            JAVA_HOME=$with_jdk_home
         else
             JDK=sun
 
@@ -8621,10 +8638,10 @@ if test "$ENABLE_JAVA" != "" -a "$cross_
             _jdk=`$JAVAINTERPRETER -version 2>&1 | $AWK -F'"' '{ print \$2 }' | $SED '/^$/d' | $SED s/[[-A-Za-z]]*//`
             _jdk_ver=`echo "$_jdk" | $AWK -F. '{ print (($1 * 100) + $2) * 100 + $3;}'`
 
-            if test "$_jdk_ver" -lt 10900; then
-                AC_MSG_ERROR([JDK is too old, you need at least 9 ($_jdk_ver < 10900)])
+            if test "$_jdk_ver" -lt 10800; then
+                AC_MSG_ERROR([JDK is too old, you need at least 8])
             fi
-            if test "$_jdk_ver" -gt 10900; then
+            if test "$_jdk_ver" -gt 10800; then
                 JAVA_CLASSPATH_NOT_SET=TRUE
             fi
             dnl TODO: Presumably, the Security Manager will not merely be disallowed, but be
@@ -8646,7 +8663,7 @@ if test "$ENABLE_JAVA" != "" -a "$cross_
             JAVACFLAGS=-J-Xmx128M
         fi
     else
-        AC_MSG_ERROR([Java not found. You need at least JDK 9])
+        AC_MSG_ERROR([Java not found. You need at least JDK 8])
     fi
 else
     if test -z "$ENABLE_JAVA"; then
Index: libreoffice-7.5.1.2/jvmfwk/CustomTarget_jreproperties.mk
===================================================================
--- libreoffice-7.5.1.2.orig/jvmfwk/CustomTarget_jreproperties.mk
+++ libreoffice-7.5.1.2/jvmfwk/CustomTarget_jreproperties.mk
@@ -17,7 +17,7 @@ $(call gb_CustomTarget_get_workdir,jvmfw
 	$(call gb_Output_announce,$(subst $(WORKDIR)/,,$@),$(true),JCS,1)
 	$(call gb_Trace_StartRange,$(subst $(WORKDIR)/,,$@),JCS)
 	$(call gb_Helper_abbreviate_dirs, \
-	cd $(dir $@) && $(call gb_JavaClassSet_JAVACCOMMAND,$(JAVA_TARGET_VER))  $(gb_JavaClassSet_JAVACDEBUG) -d $(dir $@) $^)
+	cd $(dir $@) && $(gb_JavaClassSet_JAVACCOMMAND) $(gb_JavaClassSet_JAVACDEBUG) -d $(dir $@) $^)
 	$(call gb_Trace_EndRange,$(subst $(WORKDIR)/,,$@),JCS)
 
 # vim:set shiftwidth=4 tabstop=4 noexpandtab:
Index: libreoffice-7.5.1.2/ridljar/Jar_libreoffice.mk
===================================================================
--- libreoffice-7.5.1.2.orig/ridljar/Jar_libreoffice.mk
+++ libreoffice-7.5.1.2/ridljar/Jar_libreoffice.mk
@@ -7,7 +7,7 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
 
-$(eval $(call gb_Jar_Jar,libreoffice,org.libreoffice.uno))
+$(eval $(call gb_Jar_Jar,libreoffice))
 
 $(eval $(call gb_Jar_use_customtargets,libreoffice,\
     ridljar/javamaker \
@@ -27,15 +27,9 @@ $(eval $(call gb_Jar_add_manifest_classp
     $(if $(filter MACOSX,$(OS)),../../Frameworks/,../) \
 ))
 
-# ugly: the module-info.class is manually added here since it's not in "com" dir
 $(eval $(call gb_Jar_add_packagedirs,libreoffice,\
     $(call gb_CustomTarget_get_workdir,ridljar/javamaker)/com \
     $(call gb_CustomTarget_get_workdir,unoil/javamaker)/com \
-	$(call gb_JavaClassSet_get_classdir,$(call gb_Jar_get_classsetname,libreoffice))/module-info.class \
-))
-
-$(eval $(call gb_Jar_add_sourcefiles_java9,libreoffice,\
-    ridljar/source/libreoffice/module-info \
 ))
 
 $(eval $(call gb_Jar_add_sourcefiles,libreoffice,\
Index: libreoffice-7.5.1.2/ridljar/Jar_unoloader.mk
===================================================================
--- libreoffice-7.5.1.2.orig/ridljar/Jar_unoloader.mk
+++ libreoffice-7.5.1.2/ridljar/Jar_unoloader.mk
@@ -7,21 +7,12 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.
 #
 
-$(eval $(call gb_Jar_Jar,unoloader,org.libreoffice.unoloader))
+$(eval $(call gb_Jar_Jar,unoloader))
 
 $(eval $(call gb_Jar_set_packageroot,unoloader,com))
 
 $(eval $(call gb_Jar_set_manifest,unoloader,$(SRCDIR)/ridljar/source/unoloader/com/sun/star/lib/unoloader/manifest))
 
-# the module-info.class is manually added here since it's not in "com" dir
-$(eval $(call gb_Jar_add_packagedirs,unoloader,\
-	$(call gb_JavaClassSet_get_classdir,$(call gb_Jar_get_classsetname,unoloader))/module-info.class \
-))
-
-$(eval $(call gb_Jar_add_sourcefiles_java9,unoloader,\
-    ridljar/source/unoloader/module-info \
-))
-
 $(eval $(call gb_Jar_add_sourcefiles,unoloader,\
     ridljar/source/unoloader/com/sun/star/lib/unoloader/UnoClassLoader \
     ridljar/source/unoloader/com/sun/star/lib/unoloader/UnoLoader \
Index: libreoffice-7.5.1.2/ridljar/source/libreoffice/module-info.java
===================================================================
--- libreoffice-7.5.1.2.orig/ridljar/source/libreoffice/module-info.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-module org.libreoffice.uno
-{
-    requires org.libreoffice.unoloader;
-
-    exports com.sun.star.accessibility;
-    exports com.sun.star.animations;
-    exports com.sun.star.auth;
-    exports com.sun.star.awt;
-    exports com.sun.star.awt.grid;
-    exports com.sun.star.awt.tab;
-    exports com.sun.star.awt.tree;
-    exports com.sun.star.beans;
-    exports com.sun.star.bridge;
-    exports com.sun.star.bridge.oleautomation;
-    exports com.sun.star.chart;
-    exports com.sun.star.chart2;
-    exports com.sun.star.chart2.data;
-    exports com.sun.star.comp.bridgefactory;
-    exports com.sun.star.comp.connections;
-    exports com.sun.star.comp.helper;
-    exports com.sun.star.comp.loader;
-    exports com.sun.star.comp.servicemanager;
-    exports com.sun.star.comp.urlresolver;
-    exports com.sun.star.configuration;
-    exports com.sun.star.configuration.backend;
-    exports com.sun.star.connection;
-    exports com.sun.star.container;
-    exports com.sun.star.cui;
-    exports com.sun.star.datatransfer;
-    exports com.sun.star.datatransfer.clipboard;
-    exports com.sun.star.datatransfer.dnd;
-    exports com.sun.star.deployment;
-    exports com.sun.star.deployment.test;
-    exports com.sun.star.deployment.ui;
-    exports com.sun.star.document;
-    exports com.sun.star.drawing;
-    exports com.sun.star.drawing.framework;
-    exports com.sun.star.embed;
-    exports com.sun.star.form;
-    exports com.sun.star.form.binding;
-    exports com.sun.star.form.control;
-    exports com.sun.star.form.runtime;
-    exports com.sun.star.form.submission;
-    exports com.sun.star.form.validation;
-    exports com.sun.star.formula;
-    exports com.sun.star.frame;
-    exports com.sun.star.frame.status;
-    exports com.sun.star.gallery;
-    exports com.sun.star.geometry;
-    exports com.sun.star.graphic;
-    exports com.sun.star.i18n;
-    exports com.sun.star.inspection;
-    exports com.sun.star.io;
-    exports com.sun.star.java;
-    exports com.sun.star.lang;
-    exports com.sun.star.ldap;
-    exports com.sun.star.lib.connections.pipe;
-    exports com.sun.star.lib.connections.socket;
-    exports com.sun.star.lib.uno;
-    exports com.sun.star.lib.uno.adapter;
-    exports com.sun.star.lib.uno.bridges.java_remote;
-    exports com.sun.star.lib.uno.environments.java;
-    exports com.sun.star.lib.uno.environments.remote;
-    exports com.sun.star.lib.uno.helper;
-    exports com.sun.star.lib.uno.protocols.urp;
-    exports com.sun.star.lib.uno.typedesc;
-    exports com.sun.star.lib.uno.typeinfo;
-    exports com.sun.star.lib.util;
-    exports com.sun.star.linguistic2;
-    exports com.sun.star.loader;
-    exports com.sun.star.logging;
-    exports com.sun.star.mail;
-    exports com.sun.star.media;
-    exports com.sun.star.mozilla;
-    exports com.sun.star.office;
-    exports com.sun.star.packages;
-    exports com.sun.star.packages.manifest;
-    exports com.sun.star.packages.zip;
-    exports com.sun.star.presentation;
-    exports com.sun.star.qa;
-    exports com.sun.star.rdf;
-    exports com.sun.star.reflection;
-    exports com.sun.star.registry;
-    exports com.sun.star.rendering;
-    exports com.sun.star.report;
-    exports com.sun.star.report.inspection;
-    exports com.sun.star.report.meta;
-    exports com.sun.star.resource;
-    exports com.sun.star.scanner;
-    exports com.sun.star.script;
-    exports com.sun.star.script.browse;
-    exports com.sun.star.script.provider;
-    exports com.sun.star.script.vba;
-    exports com.sun.star.sdb;
-    exports com.sun.star.sdb.application;
-    exports com.sun.star.sdb.tools;
-    exports com.sun.star.sdbc;
-    exports com.sun.star.sdbcx;
-    exports com.sun.star.security;
-    exports com.sun.star.setup;
-    exports com.sun.star.sheet;
-    exports com.sun.star.sheet.opencl;
-    exports com.sun.star.smarttags;
-    exports com.sun.star.style;
-    exports com.sun.star.svg;
-    exports com.sun.star.system;
-    exports com.sun.star.table;
-    exports com.sun.star.task;
-    exports com.sun.star.text;
-    exports com.sun.star.text.textfield;
-    exports com.sun.star.tiledrendering;
-    exports com.sun.star.ucb;
-    exports com.sun.star.ui;
-    exports com.sun.star.ui.dialogs;
-    exports com.sun.star.ui.test;
-    exports com.sun.star.uno;
-    exports com.sun.star.uri;
-    exports com.sun.star.util;
-    exports com.sun.star.view;
-    exports com.sun.star.xforms;
-    exports com.sun.star.xml;
-    exports com.sun.star.xml.crypto;
-    exports com.sun.star.xml.crypto.sax;
-    exports com.sun.star.xml.csax;
-    exports com.sun.star.xml.dom;
-    exports com.sun.star.xml.dom.events;
-    exports com.sun.star.xml.dom.views;
-    exports com.sun.star.xml.input;
-    exports com.sun.star.xml.sax;
-    exports com.sun.star.xml.wrapper;
-    exports com.sun.star.xml.xpath;
-    exports com.sun.star.xml.xslt;
-    exports com.sun.star.xsd;
-}
Index: libreoffice-7.5.1.2/ridljar/source/unoloader/module-info.java
===================================================================
--- libreoffice-7.5.1.2.orig/ridljar/source/unoloader/module-info.java
+++ /dev/null
@@ -1,12 +0,0 @@
-/*
- * This file is part of the LibreOffice project.
- *
- * This Source Code Form is subject to the terms of the Mozilla Public
- * License, v. 2.0. If a copy of the MPL was not distributed with this
- * file, You can obtain one at http://mozilla.org/MPL/2.0/.
- */
-
-module org.libreoffice.unoloader
-{
-    exports com.sun.star.lib.unoloader;
-}
Index: libreoffice-7.5.1.2/solenv/gbuild/Jar.mk
===================================================================
--- libreoffice-7.5.1.2.orig/solenv/gbuild/Jar.mk
+++ libreoffice-7.5.1.2/solenv/gbuild/Jar.mk
@@ -94,7 +94,6 @@ endef
 # creates a class set and a dependency to it
 # registers target and clean target
 # adds jar files to DeliverLogTarget
-# call gb_Jar_Jar,jarname,java9modulename
 define gb_Jar_Jar
 ifeq (,$$(findstring $(1),$$(gb_Jar_KNOWN)))
 $$(eval $$(call gb_Output_info,Currently known jars are: $(sort $(gb_Jar_KNOWN)),ALL))
@@ -107,7 +106,7 @@ $(call gb_Jar_get_target,$(1)) : PACKAGE
 $(call gb_Jar_get_target,$(1)) : PACKAGEFILES :=
 $(call gb_Jar_get_target,$(1)) : \
 	$(call gb_JavaClassSet_get_target,$(call gb_Jar_get_classsetname,$(1)))
-$(call gb_JavaClassSet_JavaClassSet,$(call gb_Jar_get_classsetname,$(1)),$(2))
+$(call gb_JavaClassSet_JavaClassSet,$(call gb_Jar_get_classsetname,$(1)))
 $(eval $(call gb_Module_register_target,$(call gb_Jar_get_target,$(1)),$(call gb_Jar_get_clean_target,$(1))))
 $(call gb_Helper_make_userfriendly_targets,$(1),Jar,$(call gb_Jar_get_target,$(1)))
 
@@ -122,12 +121,6 @@ $(call gb_JavaClassSet_add_sourcefile,$(
 
 endef
 
-define gb_Jar_add_sourcefile_java9
-$(call gb_JavaClassSet_add_sourcefile_java9,$(call gb_Jar_get_classsetname,$(1)),$(2))
-
-endef
-
-
 # PACKAGEROOTS is the list of all root folders created by the JavaClassSet to pack into the jar (without META-INF as this is added automatically)
 define gb_Jar_set_packageroot
 $(call gb_Jar_get_target,$(1)) : PACKAGEROOTS := $(2)
@@ -166,11 +159,6 @@ $(foreach sourcefile,$(2),$(call gb_Jar_
 
 endef
 
-define gb_Jar_add_sourcefiles_java9
-$(foreach sourcefile,$(2),$(call gb_Jar_add_sourcefile_java9,$(1),$(sourcefile)))
-
-endef
-
 define gb_Jar_add_generated_sourcefile
 $(call gb_JavaClassSet_add_generated_sourcefile,$(call gb_Jar_get_classsetname,$(1)),$(2))
 
Index: libreoffice-7.5.1.2/solenv/gbuild/JavaClassSet.mk
===================================================================
--- libreoffice-7.5.1.2.orig/solenv/gbuild/JavaClassSet.mk
+++ libreoffice-7.5.1.2/solenv/gbuild/JavaClassSet.mk
@@ -17,11 +17,10 @@
 #   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 #
 
-gb_JavaClassSet_JAVACCOMMAND = $(ICECREAM_RUN) $(JAVACOMPILER) $(JAVACFLAGS) \
+gb_JavaClassSet_JAVACCOMMAND := $(ICECREAM_RUN) $(JAVACOMPILER) $(JAVAFLAGS) \
     -encoding utf8 \
-    --release $(1) \
+    -source $(JAVA_SOURCE_VER) -target $(JAVA_TARGET_VER) \
     $(if $(JAVA_CLASSPATH_NOT_SET),-Xlint:-options)
-
 gb_JavaClassSet_JAVACDEBUG :=
 
 # Enforces correct dependency order for possibly generated stuff:
@@ -32,35 +31,19 @@ ifneq ($(gb_DEBUGLEVEL),0)
 gb_JavaClassSet_JAVACDEBUG := -g
 endif
 
-# $(PACKAGEDIRS) inherited from Jar -- assumption is the last part of the path
-# is top-level java package directory
-# for Java 9 modules, invoke javac another time, with --patch-module so that
-# it finds all the class files for whose packages the module-info contains a
-# declaration
 define gb_JavaClassSet__command
 $(call gb_Helper_abbreviate_dirs,\
 	mkdir -p $(dir $(1)) && \
 	$(if $(filter-out $(JARDEPS),$(4)), \
 		rm -rf $(call gb_JavaClassSet_get_classdir,$(2))/* && \
 		RESPONSEFILE=$(call gb_var2file,$(shell $(gb_MKTEMP)),\
-			$(filter-out $(JARDEPS) $(T_JAVA9FILES),$(4))) && \
-		$(if $(3),$(call gb_JavaClassSet_JAVACCOMMAND,$(JAVA_TARGET_VER)) \
+			$(filter-out $(JARDEPS),$(4))) && \
+		$(if $(3),$(gb_JavaClassSet_JAVACCOMMAND) \
 			$(gb_JavaClassSet_JAVACDEBUG) \
 			-classpath "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2))" \
 			-d $(call gb_JavaClassSet_get_classdir,$(2)) \
 			@$$RESPONSEFILE &&) \
 		rm -f $$RESPONSEFILE &&) \
-		$(if $(T_MODULENAME),\
-			RESPONSEFILE=$(call gb_var2file,$(shell $(gb_MKTEMP)),\
-				$(T_JAVA9FILES)) && \
-			$(if $(3),$(call gb_JavaClassSet_JAVACCOMMAND,9) \
-				$(gb_JavaClassSet_JAVACDEBUG) \
-				-classpath "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2))" \
-				--module-path "$(T_CP)$(gb_CLASSPATHSEP)$(call gb_JavaClassSet_get_classdir,$(2))" \
-				$(if $(T_MODULENAME),--patch-module $(T_MODULENAME)="$(subst $(WHITESPACE),$(gb_CLASSPATHSEP),$(strip $(dir $(PACKAGEDIRS))))") \
-				-d $(call gb_JavaClassSet_get_classdir,$(2)) \
-				@$$RESPONSEFILE &&) \
-			rm -f $$RESPONSEFILE &&) \
 	touch $(1))
 
 endef
@@ -81,7 +64,6 @@ $(call gb_JavaClassSet_get_preparation_t
 	mkdir -p $(dir $@) && touch $@
 
 # depend on makefile to enforce a rebuild if files are removed from the classset
-# call gb_JavaClassSet_JavaClassSet,csname,java9modulename
 define gb_JavaClassSet_JavaClassSet
 $(call gb_JavaClassSet_get_target,$(1)) : \
 	$(gb_Module_CURRENTMAKEFILE) \
@@ -89,8 +71,6 @@ $(call gb_JavaClassSet_get_target,$(1))
 $(call gb_JavaClassSet_get_target,$(1)) : JARDEPS := \
 	$(gb_Module_CURRENTMAKEFILE) \
 	$(call gb_JavaClassSet_get_preparation_target,$(1))
-$(call gb_JavaClassSet_get_target,$(1)) : T_MODULENAME := $(2)
-$(call gb_JavaClassSet_get_target,$(1)) : T_JAVA9FILES :=
 
 endef
 
@@ -112,17 +92,6 @@ $(foreach sourcefile,$(2),$(call gb_Java
 
 endef
 
-define gb_JavaClassSet_add_sourcefile_java9
-$(call gb_JavaClassSet_get_target,$(1)) : $(call gb_JavaClassSet__get_sourcefile,$(2))
-$(call gb_JavaClassSet_get_target,$(1)) : T_JAVA9FILES += $(call gb_JavaClassSet__get_sourcefile,$(2))
-
-endef
-
-define gb_JavaClassSet_add_sourcefiles_java9
-$(foreach sourcefile,$(2),$(call gb_JavaClassSet_add_sourcefile_java9,$(1),$(sourcefile)))
-
-endef
-
 define gb_JavaClassSet_add_generated_sourcefile
 $(call gb_JavaClassSet_get_target,$(1)) : $(call gb_JavaClassSet__get_generated_sourcefile,$(2))
 $(call gb_JavaClassSet__get_generated_sourcefile,$(2)) :| $(call gb_JavaClassSet_get_preparation_target,$(1))
Index: libreoffice-7.5.1.2/solenv/gbuild/gbuild.mk
===================================================================
--- libreoffice-7.5.1.2.orig/solenv/gbuild/gbuild.mk
+++ libreoffice-7.5.1.2/solenv/gbuild/gbuild.mk
@@ -62,8 +62,6 @@ COMMA :=,
 OPEN_PAREN :=(
 CLOSE_PAREN :=)
 
-gb_SPACE:=$(gb_SPACE) $(gb_SPACE)
-
 gb_VERBOSE := $(verbose)
 
 include $(GBUILDDIR)/Helper.mk
openSUSE Build Service is sponsored by