diff --git a/0001-Revert-java-17-changes.patch b/0001-Revert-java-17-changes.patch new file mode 100644 index 0000000..4b09a36 --- /dev/null +++ b/0001-Revert-java-17-changes.patch @@ -0,0 +1,70 @@ +From b8dd74fa811af7a1a8cf7f93b49ed63c828232a8 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fridrich=20=C5=A0trba?= +Date: Fri, 1 Mar 2024 07:31:27 +0100 +Subject: [PATCH 1/2] Revert java 17 changes + +--- + README.md | 4 +++- + configure.ac | 10 +++++----- + 2 files changed, 8 insertions(+), 6 deletions(-) + +diff --git a/README.md b/README.md +index f529e48d4714..6afb8000b0e1 100644 +--- a/README.md ++++ b/README.md +@@ -57,7 +57,9 @@ Java is required for building many parts of LibreOffice. In TDF Wiki article + [Development/Java](https://wiki.documentfoundation.org/Development/Java), the + exact modules that depend on Java are listed. + +-The baseline for Java is Java Development Kit (JDK) Version 17 or later. ++The baseline for Java is Java Development Kit (JDK) Version 17 or later. It is ++possible to build LibreOffice with JDK version 9, but it is no longer supported ++by the JDK vendors, thus it should be avoided. + + If you want to use Clang with the LibreOffice compiler plugins, the minimal + version of Clang is 12.0.1. Since Xcode doesn't provide the compiler plugin +diff --git a/configure.ac b/configure.ac +index ae808e69c5b0..932abe65b353 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2570,7 +2570,7 @@ AC_ARG_WITH(linker-hash-style, + + AC_ARG_WITH(jdk-home, + AS_HELP_STRING([--with-jdk-home=], +- [If you have installed JDK 17 or later on your system please supply the ++ [If you have installed JDK 9 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 +@@ -8647,7 +8647,7 @@ if test "$ENABLE_JAVA" != ""; then + fi + + if ! test -f "$with_jdk_home/lib/jvm.lib" -a -f "$with_jdk_home/bin/java.exe"; then +- AC_MSG_ERROR([No JDK found, pass the --with-jdk-home option (or fix the path) pointing to a $WIN_HOST_BITS-bit JDK >= 17]) ++ AC_MSG_ERROR([No JDK found, pass the --with-jdk-home option (or fix the path) pointing to a $WIN_HOST_BITS-bit JDK >= 9]) + fi + fi + +@@ -8732,8 +8732,8 @@ 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 170000; then +- AC_MSG_ERROR([JDK is too old, you need at least 17 ($_jdk_ver < 170000)]) ++ if test "$_jdk_ver" -lt 90000; then ++ AC_MSG_ERROR([JDK is too old, you need at least 9 ($_jdk_ver < 90000)]) + fi + dnl TODO: Presumably, the Security Manager will not merely be disallowed, but be + dnl completely removed in some Java version > 18 (see +@@ -8754,7 +8754,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 17]) ++ AC_MSG_ERROR([Java not found. You need at least JDK 9]) + fi + else + if test -z "$ENABLE_JAVA"; then +-- +2.44.0 + diff --git a/0001-Revert-java-9-changes.patch b/0001-Revert-java-9-changes.patch deleted file mode 100644 index f354b73..0000000 --- a/0001-Revert-java-9-changes.patch +++ /dev/null @@ -1,465 +0,0 @@ -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 - -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=], -- [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 diff --git a/0002-Revert-java-9-changes.patch b/0002-Revert-java-9-changes.patch new file mode 100644 index 0000000..cc0c1d5 --- /dev/null +++ b/0002-Revert-java-9-changes.patch @@ -0,0 +1,193 @@ +From afb38683e746c475e68b0883566b5593fc5babff Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Fridrich=20=C5=A0trba?= +Date: Fri, 1 Mar 2024 08:02:56 +0100 +Subject: [PATCH 2/2] Revert java 9 changes + +--- + configure.ac | 8 ++++---- + ridljar/Jar_libreoffice.mk | 8 +------- + ridljar/Jar_unoloader.mk | 11 +---------- + solenv/gbuild/Jar.mk | 3 +-- + solenv/gbuild/JavaClassSet.mk | 23 ++--------------------- + 5 files changed, 9 insertions(+), 44 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 932abe65b353..153137c7ff7c 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -2570,7 +2570,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 +@@ -8732,8 +8732,8 @@ 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 90000; then +- AC_MSG_ERROR([JDK is too old, you need at least 9 ($_jdk_ver < 90000)]) ++ if test "$_jdk_ver" -lt 10800; then ++ AC_MSG_ERROR([JDK is too old, you need at least 8 ($_jdk_ver < 10800)]) + fi + dnl TODO: Presumably, the Security Manager will not merely be disallowed, but be + dnl completely removed in some Java version > 18 (see +@@ -8754,7 +8754,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/ridljar/Jar_libreoffice.mk b/ridljar/Jar_libreoffice.mk +index 76a56eedc078..133d664e9459 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 \ +@@ -32,15 +32,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/solenv/gbuild/Jar.mk b/solenv/gbuild/Jar.mk +index d1a84cebaabe..a6abe2996446 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))) + +diff --git a/solenv/gbuild/JavaClassSet.mk b/solenv/gbuild/JavaClassSet.mk +index 84fbcc13c32d..3b8e48414c73 100644 +--- a/solenv/gbuild/JavaClassSet.mk ++++ b/solenv/gbuild/JavaClassSet.mk +@@ -19,7 +19,7 @@ + + gb_JavaClassSet_JAVACCOMMAND = $(ICECREAM_RUN) $(JAVACOMPILER) $(JAVACFLAGS) \ + -encoding utf8 \ +- --release $(1) \ ++ -source $(1) -target $(1) \ + -Xlint:-options \ + -Xlint:unchecked + +@@ -33,35 +33,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))) && \ ++ $(filter-out $(JARDEPS),$(4))) && \ + $(if $(3),$(call gb_JavaClassSet_JAVACCOMMAND,$(JAVA_TARGET_VER)) \ + $(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 +@@ -82,7 +66,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) \ +@@ -90,8 +73,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 + +-- +2.44.0 + diff --git a/libreoffice.spec b/libreoffice.spec index 6ac7776..f8d501b 100644 --- a/libreoffice.spec +++ b/libreoffice.spec @@ -114,8 +114,10 @@ Patch11: fix_webp_on_sle12_sp5.patch Patch14: use-fixmath-shared-library.patch # PATCH-FIX-SUSE Fix make distro-pack-install Patch15: fix-sdk-idl.patch +# Useless upstream bump for java 17 +Patch100: 0001-Revert-java-17-changes.patch # Build with java 8 -Patch101: 0001-Revert-java-9-changes.patch +Patch101: 0002-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 @@ -1031,6 +1033,7 @@ Provides %{langname} translations and additional resources (help files, etc.) fo %patch -P 3 %patch -P 6 -p1 %patch -P 9 -p1 +%patch -P 100 -p1 %if 0%{?suse_version} < 1500 %patch -P 10 -p1 %patch -P 11 -p1