diff --git a/0001-Revert-java-9-changes.patch b/0001-Revert-java-9-changes.patch new file mode 100644 index 0000000..8d27800 --- /dev/null +++ b/0001-Revert-java-9-changes.patch @@ -0,0 +1,495 @@ +From 702c015e4127de65a4d8ab8a665bf6af6518ef4a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fridrich=20=C5=A0trba?= +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 + +diff --git a/configure.ac b/configure.ac +index f4850a8cb2dc..c2df878df1d7 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2313,7 +2313,7 @@ AC_ARG_WITH(linker-hash-style, + + AC_ARG_WITH(jdk-home, + AS_HELP_STRING([--with-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 +@@ -8004,12 +8004,20 @@ if test "$ENABLE_JAVA" != ""; then + reg_get_value "$WIN_HOST_BITS" "HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/JDK/$ver/JavaHome" + reg_jdk_home=$regvalue + fi +- +- if test -f "$reg_jdk_home/lib/jvm.lib" -a -f "$reg_jdk_home/bin/java.exe"; then +- with_jdk_home="$reg_jdk_home" ++ if test -z "$with_jdk_home"; then ++ for ver in 1.8; do ++ reg_get_value "$bitness" "HKEY_LOCAL_MACHINE/SOFTWARE/JavaSoft/Java Development Kit/$ver/JavaHome" ++ if test -n "$regvalue"; then ++ _jdk_home=$regvalue ++ break ++ fi ++ done ++ fi ++ if test -f "$_jdk_home/lib/jvm.lib" -a -f "$_jdk_home/bin/java.exe"; then ++ with_jdk_home="$_jdk_home" + howfound="found automatically" + else +- AC_MSG_ERROR([No JDK found, pass the --with-jdk-home option pointing to a $WIN_HOST_BITS-bit JDK >= 9]) ++ AC_MSG_ERROR([No JDK found, pass the --with-jdk-home option pointing to a $bitness-bit JDK]) + fi + else + test "$build_os" = "cygwin" && with_jdk_home=`win_short_path_for_make "$with_jdk_home"` +@@ -8089,7 +8097,24 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then + 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 + +@@ -8097,10 +8122,10 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then + _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 + +@@ -8116,7 +8141,7 @@ if test "$ENABLE_JAVA" != "" -a "$cross_compiling" != "yes"; then + 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 +diff --git a/jvmfwk/CustomTarget_jreproperties.mk b/jvmfwk/CustomTarget_jreproperties.mk +index da509dbff5ac..ac8f7c053373 100644 +--- a/jvmfwk/CustomTarget_jreproperties.mk ++++ b/jvmfwk/CustomTarget_jreproperties.mk +@@ -17,7 +17,7 @@ $(call gb_CustomTarget_get_workdir,jvmfwk/jreproperties)/JREProperties.class : \ + $(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: +diff --git a/ridljar/Jar_libreoffice.mk b/ridljar/Jar_libreoffice.mk +index d34ae3f5ebda..4d0f5ef2545f 100644 +--- a/ridljar/Jar_libreoffice.mk ++++ b/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_classpath,libreoffice, \ + $(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,\ +diff --git a/ridljar/Jar_unoloader.mk b/ridljar/Jar_unoloader.mk +index 2acf20b5b289..50b32e8f0f88 100644 +--- a/ridljar/Jar_unoloader.mk ++++ b/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 \ +diff --git a/ridljar/source/libreoffice/module-info.java b/ridljar/source/libreoffice/module-info.java +deleted file mode 100644 +index 8d24c7ccb13c..000000000000 +--- a/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; +-} +diff --git a/ridljar/source/unoloader/module-info.java b/ridljar/source/unoloader/module-info.java +deleted file mode 100644 +index 6eed39c96df4..000000000000 +--- a/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; +-} +diff --git a/solenv/gbuild/Jar.mk b/solenv/gbuild/Jar.mk +index 9592fbbad6a6..3fa40e03c754 100644 +--- a/solenv/gbuild/Jar.mk ++++ b/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)) : PACKAGEDIRS := + $(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,$(call gb_Jar_get_classsetname,$(1)),$(2)) + + 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_add_sourcefile,$(1),$(sourcefile))) + + 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)) + +diff --git a/solenv/gbuild/JavaClassSet.mk b/solenv/gbuild/JavaClassSet.mk +index 39887dee6e5b..dc7d02e8904a 100644 +--- a/solenv/gbuild/JavaClassSet.mk ++++ b/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 var2file,$(shell $(gb_MKTEMP)),500,\ +- $(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 var2file,$(shell $(gb_MKTEMP)),500,\ +- $(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_target,%) : + 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_JavaClassSet_add_sourcefile,$(1),$(sourcefil + + 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)) +diff --git a/solenv/gbuild/gbuild.mk b/solenv/gbuild/gbuild.mk +index 86ed3d32a376..da6a3d700864 100644 +--- a/solenv/gbuild/gbuild.mk ++++ b/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 +-- +2.30.2 + diff --git a/0002-fix-the-endif-placement-for-GTK_CHECK_VERSION.patch b/0002-fix-the-endif-placement-for-GTK_CHECK_VERSION.patch new file mode 100644 index 0000000..f1b2c33 --- /dev/null +++ b/0002-fix-the-endif-placement-for-GTK_CHECK_VERSION.patch @@ -0,0 +1,41 @@ +From bb3489cabed5ea168ae210ec9aecf3608a270e1a Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= +Date: Tue, 30 Mar 2021 12:11:42 +0100 +Subject: [PATCH 2/2] fix the endif placement for GTK_CHECK_VERSION +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +Change-Id: I1ff3f3c32990947a353c5908665b156d87d8ff58 +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/113346 +Tested-by: Jenkins +Reviewed-by: Caolán McNamara +--- + vcl/unx/gtk3/gtk3gtkinst.cxx | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +diff --git a/vcl/unx/gtk3/gtk3gtkinst.cxx b/vcl/unx/gtk3/gtk3gtkinst.cxx +index f29c0c018ad3..773b20ac5b07 100644 +--- a/vcl/unx/gtk3/gtk3gtkinst.cxx ++++ b/vcl/unx/gtk3/gtk3gtkinst.cxx +@@ -7783,8 +7783,8 @@ private: + + gdk_event_free(pKeyEvent); + } +-#else + else ++#endif + { + guint nButton; + guint32 nTime; +@@ -7806,7 +7806,6 @@ private: + + gtk_menu_popup(m_pMenu, nullptr, nullptr, nullptr, nullptr, nButton, nTime); + } +-#endif + + if (g_main_loop_is_running(pLoop)) + { +-- +2.30.2 + diff --git a/boost_1_71_0.tar.xz b/boost_1_71_0.tar.xz new file mode 100644 index 0000000..3f59df5 --- /dev/null +++ b/boost_1_71_0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:35e06a3bd7cd8f66be822c7d64e80c2b6051a181e9e897006917cb8e7988a543 +size 15137604 diff --git a/icu4c-68_1-data.zip b/icu4c-68_1-data.zip new file mode 100644 index 0000000..84f9a18 --- /dev/null +++ b/icu4c-68_1-data.zip @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:03ea8b4694155620548c8c0ba20444f1e7db246cc79e3b9c4fc7a960b160d510 +size 16819610 diff --git a/icu4c-68_1-src.tgz b/icu4c-68_1-src.tgz new file mode 100644 index 0000000..d94026c --- /dev/null +++ b/icu4c-68_1-src.tgz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a9f2e3d8b4434b8e53878b4308bd1e6ee51c9c7042e2b1a376abefb6fbb29f2d +size 24722348 diff --git a/libreoffice.changes b/libreoffice.changes index c13a2c7..8619995 100644 --- a/libreoffice.changes +++ b/libreoffice.changes @@ -1,3 +1,11 @@ +------------------------------------------------------------------- +Tue Apr 6 12:48:51 UTC 2021 - Markéta Machová + +- Adjust the package to work on SLE-12-SP5 + * bundle boost and icu + * add patches 0001-Revert-java-9-changes.patch and + 0002-fix-the-endif-placement-for-GTK_CHECK_VERSION.patch + ------------------------------------------------------------------- Thu Apr 1 10:52:06 UTC 2021 - Andras Timar diff --git a/libreoffice.spec b/libreoffice.spec index fd8c851..164a72a 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -34,7 +34,6 @@ %else %bcond_with kdeintegration %endif -%bcond_with firebird %if 0%{?suse_version} > 1320 || (0%{?sle_version} >= 120300 && 0%{?is_opensuse}) %bcond_without system_gpgme %else @@ -45,6 +44,7 @@ %global __requires_exclude ^libgpgmepp\\.so.*$ %bcond_with system_gpgme %endif +%bcond_with firebird Name: libreoffice Version: 7.1.2.2 Release: 0 @@ -103,6 +103,10 @@ Patch3: mediawiki-no-broken-help.diff Patch4: use-comphelper.patch # Bug 1182970 - LO-L3: PPTX: image styles that clip images into curvy shapes missing (and images shown rectangular) Patch5: bsc1182970.patch +# Fix build against gtk3 < 3.20 +Patch100: 0002-fix-the-endif-placement-for-GTK_CHECK_VERSION.patch +# Build with java 8 +Patch101: 0001-Revert-java-9-changes.patch # try to save space by using hardlinks Patch990: install-with-hardlinks.diff # save time by relying on rpm check rather than doing stupid find+grep @@ -130,12 +134,8 @@ BuildRequires: google-carlito-fonts BuildRequires: gperf >= 3.1 BuildRequires: graphviz BuildRequires: hyphen-devel -# genbrk binary is required -BuildRequires: icu -BuildRequires: java-devel >= 9.0 BuildRequires: junit4 BuildRequires: libbase -BuildRequires: libbox2d-devel BuildRequires: libcppunit-devel >= 1.14.0 BuildRequires: liberation-fonts BuildRequires: libexif @@ -178,10 +178,10 @@ BuildRequires: pkgconfig(gobject-introspection-1.0) BuildRequires: pkgconfig(graphite2) >= 0.9.3 BuildRequires: pkgconfig(gssrpc) BuildRequires: pkgconfig(gstreamer-plugins-base-1.0) +BuildRequires: pkgconfig(gtk+-3.0) >= 3.18 BuildRequires: pkgconfig(harfbuzz) >= 0.9.42 BuildRequires: pkgconfig(harfbuzz-icu) >= 0.9.42 BuildRequires: pkgconfig(hunspell) -BuildRequires: pkgconfig(icu-i18n) BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(lcms2) BuildRequires: pkgconfig(libabw-0.1) @@ -253,34 +253,45 @@ Obsoletes: %{name}-icon-theme-crystal < %{version} Provides: %{name}-icon-theme-oxygen = %{version} Obsoletes: %{name}-icon-theme-oxygen < %{version} ExclusiveArch: aarch64 %{ix86} x86_64 ppc64le -%if 0%{?suse_version} >= 1500 -BuildRequires: libmariadb-devel -%else -BuildRequires: libmysqlclient-devel -%endif -%if %{?suse_version} >= 1500 -BuildRequires: gcc >= 7 -BuildRequires: gcc-c++ >= 7 -%else +%if 0%{?suse_version} < 1500 +# Too old boost on the system +Source2020: %{external_url}/boost_1_71_0.tar.xz +# Too old icu on the system +Source2021: %{external_url}/icu4c-68_1-src.tgz +Source2022: %{external_url}/icu4c-68_1-data.zip BuildRequires: gcc7 BuildRequires: gcc7-c++ -%endif -%if 0%{?suse_version} < 1500 +BuildRequires: java-devel >= 1.8 +BuildRequires: libBox2D-devel +BuildRequires: libmysqlclient-devel +BuildConflicts: java < 1.8 +BuildConflicts: java >= 9 +BuildConflicts: java-devel < 1.8 +BuildConflicts: java-devel >= 9 +BuildConflicts: java-headless < 1.8 +BuildConflicts: java-headless >= 9 Requires(post): update-desktop-files Requires(postun): update-desktop-files -%endif -BuildRequires: pkgconfig(gtk+-3.0) >= 3.18 -%if %{with system_gpgme} -BuildRequires: libgpgmepp-devel -%endif -%if 0%{?suse_version} > 1325 +%else +BuildRequires: gcc >= 7 +BuildRequires: gcc-c++ >= 7 BuildRequires: libboost_date_time-devel BuildRequires: libboost_filesystem-devel BuildRequires: libboost_iostreams-devel BuildRequires: libboost_locale-devel BuildRequires: libboost_system-devel -%else -BuildRequires: boost-devel +# genbrk binary is required +BuildRequires: icu +BuildRequires: java-devel >= 9 +BuildRequires: libbox2d-devel +BuildRequires: libmariadb-devel +BuildRequires: pkgconfig(icu-i18n) +BuildConflicts: java < 9 +BuildConflicts: java-devel < 9 +BuildConflicts: java-headless < 9 +%endif +%if %{with system_gpgme} +BuildRequires: libgpgmepp-devel %endif %if %{with firebird} BuildRequires: pkgconfig(fbclient) @@ -963,6 +974,10 @@ Provides %{langname} translations and additional resources (help files, etc.) fo %patch3 %patch4 -p1 %patch5 -p1 +%patch100 -p1 +%if 0%{?suse_version} < 1500 +%patch101 -p1 +%endif %patch990 -p1 %patch991 -p1 @@ -990,11 +1005,6 @@ sed -i -e /CppunitTest_sc_financial_functions_test/d sc/Module_sc.mk # https://b sed -i -e /CppunitTest_sc_statistical_functions_test/d sc/Module_sc.mk %endif -%if 0%{?suse_version} < 1500 -# Header-only libboost_system is not available -find -name \*.mk -exec sed -i s,-DBOOST_ERROR_CODE_HEADER_ONLY,, {} \; -%endif - # Do not generate doxygen timestamp echo "HTML_TIMESTAMP = NO" >> odk/docs/cpp/Doxyfile echo "HTML_TIMESTAMP = NO" >> odk/docs/idl/Doxyfile @@ -1101,6 +1111,10 @@ export NOCONFIGURE=yes --enable-firebird-sdbc \ %else --disable-firebird-sdbc \ +%endif +%if 0%{?suse_version} < 1500 + --without-system-boost \ + --without-system-icu \ %endif --enable-evolution2 \ --enable-dbus \ @@ -1117,7 +1131,7 @@ export NOCONFIGURE=yes --enable-symbols \ --with-gdrive-client-secret="${google_default_client_secret}" \ --with-gdrive-client-id="${google_default_client_id}" \ - --enable-skia + --enable-skia # no coinormp packages for coinmp # just call make here as we added the jobs in configure @@ -1199,7 +1213,7 @@ for i in %{buildroot}%{_libdir}/%{name}/program/resource/*/*/*.mo \ %{buildroot}%{_libdir}/%{name}/share/registry/Langpack-*.xcd \ %{buildroot}%{_libdir}/%{name}/share/config/images*.zip \ %{buildroot}%{_libdir}/%{name}/share/registry/{cjk,ctl}_*.xcd \ - %{buildroot}%{_libdir}/%{name}/share/registry/ctlseqcheck_*.xcd \ + %{buildroot}%{_libdir}/%{name}/share/registry/ctlseqcheck_*.xcd \ %{buildroot}%{_libdir}/%{name}/share/wizards/*.properties \ ; do trg="`dirname "$i" | sed 's|%{_libdir}|%{_datadir}|'`" @@ -1260,7 +1274,7 @@ done pushd %{buildroot}%{_libdir}/%{name}/share/autocorr files="" for file in acor*.dat; do - files="$files $file" + files="$files $file" done popd for file in $files; do