diff --git a/compiler-release.patch b/compiler-release.patch
deleted file mode 100644
index 0d0828d..0000000
--- a/compiler-release.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- rt.equinox.p2/bundles/org.eclipse.equinox.p2.artifact.repository/pom.xml.orig 2020-03-23 00:19:02.052686148 +0000
-+++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.artifact.repository/pom.xml 2020-03-23 00:19:10.187688146 +0000
-@@ -11,4 +11,7 @@
- org.eclipse.equinox.p2.artifact.repository
- 1.3.400-SNAPSHOT
- eclipse-plugin
-+
-+ 8
-+
-
diff --git a/eclipse-feature-plugins-to-category-ius.patch b/eclipse-feature-plugins-to-category-ius.patch
index 1b1e5ff..5e797f8 100644
--- a/eclipse-feature-plugins-to-category-ius.patch
+++ b/eclipse-feature-plugins-to-category-ius.patch
@@ -185,32 +185,6 @@ index 57a58c6d5..a9c3e2c9b 100644
eclipse-plugin
-
-
-- javax.annotation
-+ javax.annotation-api
- eclipse-plugin
-
-
-diff --git a/eclipse.platform.common/bundles/org.eclipse.pde.doc.user/pom.xml b/eclipse.platform.common/bundles/org.eclipse.pde.doc.user/pom.xml
-index 16a7a02dc..23ffa475a 100644
---- a/eclipse.platform.common/bundles/org.eclipse.pde.doc.user/pom.xml
-+++ b/eclipse.platform.common/bundles/org.eclipse.pde.doc.user/pom.xml
-@@ -119,7 +119,7 @@
- eclipse-plugin
-
-
-- javax.annotation
-+ javax.annotation-api
- eclipse-plugin
-
-
diff --git a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/pom.xml b/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/pom.xml
index 5b9e03021..1702d4dc6 100644
--- a/eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/pom.xml
@@ -220,7 +194,7 @@ index 5b9e03021..1702d4dc6 100644
eclipse-plugin
- javax.annotation
-+ javax.annotation-api
++ javax.annotation
0.0.0
@@ -248,15 +222,6 @@ index 5b9e03021..1702d4dc6 100644
0.0.0
-@@ -287,7 +287,7 @@
- eclipse-plugin
-
-
-- javax.annotation
-+ javax.annotation-api
- eclipse-plugin
-
-
diff --git a/eclipse.platform.releng/features/org.eclipse.help-feature/feature.xml b/eclipse.platform.releng/features/org.eclipse.help-feature/feature.xml
index 79fa77d7e..5f3d6f6d0 100644
--- a/eclipse.platform.releng/features/org.eclipse.help-feature/feature.xml
@@ -654,7 +619,7 @@ index 0ce4361be..ac28b73c2 100644
+
+
+
-+
++
+
+
+
diff --git a/eclipse-fix-tests.patch b/eclipse-fix-tests.patch
index 2bfb1d0..620831f 100644
--- a/eclipse-fix-tests.patch
+++ b/eclipse-fix-tests.patch
@@ -55,7 +55,7 @@ index bc8963d..fbe4da3 100644
@@ -28,3 +28,6 @@
src.includes = about.html
compilerArg=-proc:none
- jars.extra.classpath = lib/java13api.jar
+ jars.extra.classpath = lib/java14api.jar
+source.lib/apttestprocessors.jar = processors/
+jars.compile.order = lib/apttestprocessors.jar,\
+ .
diff --git a/eclipse-p2-pick-up-renamed-jars.patch b/eclipse-p2-pick-up-renamed-jars.patch
index 78115ea..e3ea0af 100644
--- a/eclipse-p2-pick-up-renamed-jars.patch
+++ b/eclipse-p2-pick-up-renamed-jars.patch
@@ -1,8 +1,8 @@
---- rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java.orig 2018-04-25 15:35:44.914031196 +0100
-+++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java 2018-04-25 15:36:17.546856697 +0100
-@@ -884,7 +884,7 @@
- //First check to see if there is already an IU around for this
- IInstallableUnit bundleIU = queryForIU(result, bd.getSymbolicName(), PublisherHelper.fromOSGiVersion(bd.getVersion()));
+--- rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java.orig 2020-06-18 18:36:53.668369677 +0100
++++ rt.equinox.p2/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java 2020-06-18 18:37:10.061182586 +0100
+@@ -1010,7 +1010,7 @@
+ IInstallableUnit bundleIU = queryForIU(result, bd.getSymbolicName(),
+ PublisherHelper.fromOSGiVersion(bd.getVersion()));
IArtifactKey bundleArtKey = createBundleArtifactKey(bd.getSymbolicName(), bd.getVersion().toString());
- if (bundleIU == null) {
+ if (bundleIU == null || !bd.getLocation().equals(bundleIU.getProperty("file.name"))) {
diff --git a/eclipse.spec b/eclipse.spec
index edcbb57..aebce5e 100644
--- a/eclipse.spec
+++ b/eclipse.spec
@@ -10,9 +10,9 @@ Epoch: 1
%global eb_commit c985e357223668b4bc1fb76ea6b9e0c12829b7e8
%global eclipse_rel %{version}
-%global eclipse_tag R-%{eclipse_rel}-202003050155
+%global eclipse_tag R-%{eclipse_rel}-202006040540
-%global _jetty_version 9.4.27
+%global _jetty_version 9.4.30
%global _lucene_version 8.4.1
%global _batik_version 1.11
@@ -39,10 +39,17 @@ Epoch: 1
%global use_wayland 0
%endif
+# Glassfish EE APIs that moved to jakarta namespace
+%if 0%{?fedora}
+%global _jakarta_annotations jakarta.annotation-api
+%else
+%global _jakarta_annotations javax.annotation-api
+%endif
+
Summary: An open, extensible IDE
Name: eclipse
-Version: 4.15
-Release: 5%{?dist}
+Version: 4.16
+Release: 1%{?dist}
License: EPL-2.0
URL: http://www.eclipse.org/
@@ -53,6 +60,9 @@ Source0: https://download.eclipse.org/eclipse/downloads/drops4/%{eclipse_tag}/ec
# %%{eb_commit} | xz > org.eclipse.linuxtools.eclipse-build-%%{eb_commit}.tar.xz
Source1: http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/snapshot/org.eclipse.linuxtools.eclipse-build-%{eb_commit}.tar.xz
+# Toolchain configurations for all EEs needed by Eclipse bundles
+Source2: toolchains.xml
+
# Eclipse should not include source for dependencies that are not supplied by this package
# and should not include source for bundles that are not relevant to our platform
Patch0: eclipse-no-source-for-dependencies.patch
@@ -82,7 +92,6 @@ Patch12: eclipse-fix-dropins.patch
# javax.el -> javax.el-api
# javax.servlet -> javax.servlet-api
# org.apache.jasper.glassfish -> org.glassfish.web.javax.servlet.jsp
-# javax.annotation -> javax.annotation-api
# org.w3c.dom.smil -> removed
Patch13: eclipse-feature-plugins-to-category-ius.patch
@@ -119,13 +128,12 @@ Patch25: eclipse-patch-out-fileupload-dep.patch
# Force a clean on the restart after p2 operations
Patch26: force-clean-after-p2-operations.patch
-Patch27: compiler-release.patch
-
# Upstream no longer supports non-64bit arches
ExcludeArch: s390 %{arm} %{ix86}
-# Build with Java 11
+# Require both JDKs until Eclipse can fully move onto Java 11
BuildRequires: java-11-openjdk-devel
+BuildRequires: java-1.8.0-openjdk-devel
BuildRequires: maven-local
BuildRequires: tycho
@@ -191,8 +199,8 @@ BuildRequires: google-gson
BuildRequires: xmlgraphics-commons >= 2.3
BuildRequires: xml-commons-apis
BuildRequires: atinject
-BuildRequires: eclipse-ecf-core >= 3.14.7
-BuildRequires: eclipse-emf-core >= 1:2.21.0
+BuildRequires: eclipse-ecf-core >= 3.14.8
+BuildRequires: eclipse-emf-core >= 1:2.22.0
BuildRequires: eclipse-license2
BuildRequires: glassfish-annotation-api
BuildRequires: glassfish-el-api >= 3.0.1
@@ -273,8 +281,8 @@ Requires: batik-util >= %{_batik_version}
Requires: xmlgraphics-commons >= 2.3
Requires: xml-commons-apis
Requires: atinject
-Requires: eclipse-ecf-core >= 3.14.7
-Requires: eclipse-emf-core >= 1:2.21.0
+Requires: eclipse-ecf-core >= 3.14.8
+Requires: eclipse-emf-core >= 1:2.22.0
Requires: glassfish-annotation-api
Requires: glassfish-el-api >= 3.0.1
Requires: glassfish-el >= 3.0.1
@@ -359,7 +367,7 @@ tar --strip-components=1 -xf %{SOURCE0}
tar --strip-components=1 -xf %{SOURCE1}
# Delete pre-built binary artifacts except some test data that cannot be generated
-find . ! -path "*/JCL/*" ! -name "rtstubs*.jar" ! -name "java10api.jar" ! -name "java13api.jar" ! -name "j9stubs.jar" ! -name "annotations.jar" \
+find . ! -path "*/JCL/*" ! -name "rtstubs*.jar" ! -name "java14api.jar" ! -name "j9stubs.jar" ! -name "annotations.jar" \
-type f -name *.jar -delete
find . -type f -name *.class -delete
find . -type f -name *.so -delete
@@ -392,7 +400,6 @@ rm -rf rt.equinox.binaries/org.eclipse.equinox.executable/{bin,contributed}/
%patch24 -p1
%patch25
%patch26 -p1
-%patch27
# Optional (unused) multipart support (see patch 25)
rm rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/multipart/MultipartSupport{Impl,FactoryImpl,Part}.java
@@ -440,15 +447,22 @@ sed -i -e '/jgit.dirtyWorkingTree>/afalse
# Don't need annotations for obsolete JDKs
%pom_disable_module org.eclipse.jdt.annotation_v1 eclipse.jdt.core
-%pom_xpath_remove "plugin[@version='1.1.400.qualifier']" eclipse.jdt/org.eclipse.jdt-feature/feature.xml
+%pom_xpath_remove "plugin[@version='1.1.500.qualifier']" eclipse.jdt/org.eclipse.jdt-feature/feature.xml
sed -i -e '/org\.eclipse\.jdt\.annotation;bundle-version="\[1\.1\.0,2\.0\.0)"/d' \
eclipse.jdt.core/org.eclipse.jdt.core.tests.{model,builder,compiler}/META-INF/MANIFEST.MF \
eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/META-INF/MANIFEST.MF \
eclipse.jdt.ui/org.eclipse.jdt.ui.tests/META-INF/MANIFEST.MF
-sed -i -e 's/javax.annotation/javax.annotation-api/' eclipse-platform-parent/pom.xml \
- eclipse.jdt.core/org.eclipse.jdt.core.tests.compiler/META-INF/MANIFEST.MF
+
+# javax.annotation -> jakarta.annotation-api
+sed -i -e 's/javax.annotation/%{_jakarta_annotations}/' eclipse-platform-parent/pom.xml \
+ eclipse.jdt.core/org.eclipse.jdt.core.tests.compiler/META-INF/MANIFEST.MF \
+ eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml \
+ eclipse.platform.common/bundles/org.eclipse.jdt.doc.isv/pom.xml \
+ eclipse.platform.common/bundles/org.eclipse.pde.doc.user/pom.xml \
+ eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/pom.xml
# Disable examples
+%pom_disable_module infocenter-web eclipse.platform.ua
%pom_disable_module examples rt.equinox.p2
%pom_disable_module examples eclipse.platform.ui
%pom_disable_module org.eclipse.debug.examples.core eclipse.platform.debug
@@ -462,6 +476,7 @@ sed -i -e 's/javax.annotation/javax.annotation-api/' eclipse-platform-parent/pom
%pom_disable_module examples/org.eclipse.compare.examples.xml eclipse.platform.team
%pom_disable_module examples/org.eclipse.team.examples.filesystem eclipse.platform.team
%pom_disable_module org.eclipse.jface.text.examples eclipse.platform.text
+%pom_disable_module org.eclipse.ui.examples.javaeditor eclipse.platform.text
%pom_disable_module org.eclipse.ui.genericeditor.examples eclipse.platform.text
%pom_disable_module org.eclipse.ui.intro.quicklinks.examples eclipse.platform.ua
%pom_disable_module org.eclipse.ui.intro.solstice.examples eclipse.platform.ua
@@ -542,6 +557,7 @@ done
%pom_disable_module org.eclipse.e4.ui.workbench.renderers.swt.cocoa eclipse.platform.ui/bundles
%pom_disable_module org.eclipse.ui.cocoa eclipse.platform.ui/bundles
%pom_disable_module org.eclipse.ui.win32 eclipse.platform.ui/bundles
+%pom_disable_module org.eclipse.e4.ui.swt.win32 eclipse.platform.ui/bundles
%pom_disable_module bundles/org.eclipse.core.resources.win32.x86_64 eclipse.platform.resources
for f in eclipse.jdt/org.eclipse.jdt-feature/feature.xml \
eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml \
@@ -618,6 +634,13 @@ sed -i -e '/org.apache.felix.service.command/s/;status=provisional//' rt.equinox
# Pre-compiling JSPs does not currently work
%pom_remove_plugin org.eclipse.jetty:jetty-jspc-maven-plugin eclipse.platform.ua/org.eclipse.help.webapp
+# Make maven output less noisy due to lack of intenet connection
+sed -i -e '/baselineMode/s/warn/disable/' eclipse-platform-parent/pom.xml
+
+# Remove release parameter not needed when using BREE libs
+sed -i -e '/maven.compiler.release/d' \
+ eclipse.jdt.debug/org.eclipse.jdt.debug/pom.xml eclipse.jdt.debug/org.eclipse.jdt.launching/pom.xml rt.equinox.p2/bundles/org.eclipse.equinox.p2.artifact.repository/pom.xml
+
# Use system osgi.annotation lib
ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi/osgi/
ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi.services/lib/
@@ -626,9 +649,6 @@ ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.
ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.equinox.coordinator/lib/
ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.equinox.log.stream/osgi/
-# Allow library detector to build on Java 11
-sed -i -e 's/target="1.1" source="1.3"/target="1.6" source="1.6"/' eclipse.jdt.debug/org.eclipse.jdt.launching/scripts/buildLaunchingSupportJAR.xml
-
# The order of these mvn_package calls is important
%mvn_package "::pom::" __noinstall
%mvn_package ":org.eclipse.pde.tools.versioning" contributor-tools
@@ -662,21 +682,27 @@ export M_ARCH="$LDFLAGS"
export MAVEN_OPTS="-Xmx1024m -XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState ${MAVEN_OPTS}"
export JAVA_HOME=%{_jvmdir}/java-11
+# TODO: Fix bug in the tycho installation
+xmvn -o install:install-file -Dfile=/usr/share/java/tycho/tycho-lib-detector.jar -DpomFile=/usr/share/maven-poms/tycho/tycho-lib-detector.pom
+
# Pre-build agent jar needed for AdvancedSourceLookupSupport
-sed -i -e '/createSourcesJar/d' -e 's/7\.2/7.0/' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/pom.xml
-sed -i -e 's/V14/V11/' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/src/main/java/org/eclipse/jdt/launching/internal/weaving/ClassfileTransformer.java
+sed -i -e '/createSourcesJar/d' -e 's/8\.0\.1/7.0/' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/pom.xml
+sed -i -e 's/V15/V11/' -e 's/ASM8/ASM7/' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/src/main/java/org/eclipse/jdt/launching/internal/weaving/ClassfileTransformer.java \
+ eclipse.pde.ui/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/util/Util.java
(cd eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent && xmvn -e -o -B clean verify)
mv eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/target/javaagent-shaded.jar \
eclipse.jdt.debug/org.eclipse.jdt.launching/lib
# Qualifier generated from last modification time of source tarball
QUALIFIER=$(date -u -d"$(stat --format=%y %{SOURCE0})" +v%Y%m%d-%H%M)
-%mvn_build -j -f -- -e -DforceContextQualifier=$QUALIFIER \
+%mvn_build -j -f -- -e -DforceContextQualifier=$QUALIFIER -DaggregatorBuild=true \
%if %{with bootstrap}
- -P !api-generation,!build-docs \
+ -Pbree-libs,!api-generation,!build-docs \
+%else
+ -Pbree-libs \
%endif
-Declipse.javadoc=%{_jvmdir}/java-11/bin/javadoc -Dnative=gtk.linux.%{eclipse_arch} \
- -Dtycho.local.keepTarget \
+ -Dtycho.local.keepTarget --global-toolchains %{SOURCE2} \
-Dfedora.p2.repos=$(pwd)/.m2/p2/repo-sdk/plugins -DbuildType=X
# Location that the product is materialised
@@ -880,6 +906,9 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/com.jcraft.jsch_*
%{_eclipsedir}/plugins/com.sun.el.javax.el_*
%{_eclipsedir}/plugins/javax.*
+%if 0%{?fedora}
+%{_eclipsedir}/plugins/jakarta.*
+%endif
%{_eclipsedir}/plugins/org.apache.*
%{_eclipsedir}/plugins/org.eclipse.ant.core_*
%{_eclipsedir}/plugins/org.eclipse.compare_*
@@ -982,6 +1011,7 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.jface_*
%{_eclipsedir}/plugins/org.eclipse.jface.databinding_*
%{_eclipsedir}/plugins/org.eclipse.jface.text_*
+%{_eclipsedir}/plugins/org.eclipse.jface.notifications_*
%{_eclipsedir}/plugins/org.eclipse.jsch.core_*
%{_eclipsedir}/plugins/org.eclipse.jsch.ui_*
%{_eclipsedir}/plugins/org.eclipse.ltk.core.refactoring_*
@@ -1051,6 +1081,9 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.osgi.util_*
%changelog
+* Thu Jun 18 2020 Mat Booth - 1:4.16-1
+- Update to latest upstream release
+
* Thu Apr 02 2020 Mat Booth - 1:4.15-5
- Make the requirement on felix-scr more strict
diff --git a/explicit-hamcrest.patch b/explicit-hamcrest.patch
index 7d10d4a..d0574be 100644
--- a/explicit-hamcrest.patch
+++ b/explicit-hamcrest.patch
@@ -22,7 +22,7 @@
@@ -9,6 +9,7 @@
Require-Bundle: org.eclipse.pde.ui;bundle-version="3.10.0",
org.eclipse.pde.ui.templates;bundle-version="3.6.0",
- org.junit;bundle-version="4.12.0",
+ org.junit;bundle-version="4.13.0",
+ org.hamcrest.core;bundle-version="1.3.0",
org.eclipse.core.runtime;bundle-version="3.13.0",
org.eclipse.core.resources;bundle-version="3.12.0",
diff --git a/sources b/sources
index c2124c0..ef130bc 100644
--- a/sources
+++ b/sources
@@ -1,2 +1,2 @@
SHA512 (org.eclipse.linuxtools.eclipse-build-c985e357223668b4bc1fb76ea6b9e0c12829b7e8.tar.xz) = 79780efe9eed0082ea6de6978c5b65ccf5c65a242bff24f34cd763c0ca19a695e7735442aba20f5d2fca4153f7b59c5804fdcb67fa050480dcad137d664d3ce3
-SHA512 (eclipse-platform-sources-4.15.tar.xz) = 94e4f442e2e172a82a49edd255293ddfbcf4d5172737379eb8570913cc7208d9a4efee41a8a9014474975d49b78178a63bff646d01fa61dec001f8f205fa72cf
+SHA512 (eclipse-platform-sources-4.16.tar.xz) = e97d56f4ff7accca82993ebb8edf6cd012f20273f063c764134753dafb38972497521f2a3150c2650655c17149e135eccf781b536d50b382cd1e2fb41ec4a692
diff --git a/toolchains.xml b/toolchains.xml
new file mode 100644
index 0000000..a044b1a
--- /dev/null
+++ b/toolchains.xml
@@ -0,0 +1,110 @@
+
+
+ jdk
+
+ CDC-1.0/Foundation-1.0
+
+
+ /usr/lib/jvm/java-1.8.0
+
+
+
+ jdk
+
+ CDC-1.1/Foundation-1.1
+
+
+ /usr/lib/jvm/java-1.8.0
+
+
+
+
+
+ jdk
+
+ OSGi/Minimum-1.0
+
+
+ /usr/lib/jvm/java-1.8.0
+
+
+
+ jdk
+
+ OSGi/Minimum-1.1
+
+
+ /usr/lib/jvm/java-1.8.0
+
+
+
+ jdk
+
+ OSGi/Minimum-1.2
+
+
+ /usr/lib/jvm/java-1.8.0
+
+
+
+
+
+ jdk
+
+ J2SE-1.4
+
+
+ /usr/lib/jvm/java-1.8.0
+
+
+
+ jdk
+
+ J2SE-1.5
+
+
+ /usr/lib/jvm/java-1.8.0
+
+
+
+ jdk
+
+ JavaSE-1.6
+
+
+ /usr/lib/jvm/java-1.8.0
+
+
+
+ jdk
+
+ JavaSE-1.7
+
+
+ /usr/lib/jvm/java-1.8.0
+
+
+
+ jdk
+
+ JavaSE-1.8
+
+
+ /usr/lib/jvm/java-1.8.0
+
+
+
+ jdk
+
+ JavaSE-11
+
+
+ /usr/lib/jvm/java-11
+
+
+
+
+
+
+
+