@ -3,17 +3,17 @@
# this is a way to bootstrap Eclipse on secondary archs.
# this is a way to bootstrap Eclipse on secondary archs.
%bcond_with bootstrap
%bcond_with bootstrap
# Set this to avoid building contributor tools
# Set this to avoid building contributor tools and tests
%bcond_without contrib_tools
%bcond_without contrib_tools
Epoch: 1
Epoch: 1
%global eb_commit b056b40d26d052b788b790f27ead774ff804ab55
%global eb_commit c985e357223668b4bc1fb76ea6b9e0c12829b7e8
%global eclipse_rel %{version}
%global eclipse_rel %{version}RC2
%global eclipse_tag R-%{eclipse_rel}-20200604054 0
%global eclipse_tag S-%{eclipse_rel}-20190605180 0
%global _jetty_version 9.4.30
%global _jetty_version 9.4.19
%global _lucene_version 8.4.1
%global _lucene_version 8.0.0
%global _batik_version 1.11
%global _batik_version 1.11
%ifarch %{ix86}
%ifarch %{ix86}
@ -27,7 +27,7 @@ Epoch: 1
%endif
%endif
# Desktop file information
# Desktop file information
%global app_name Eclipse
%global app_name %{?app_name_prefix}%{!?app_name_prefix: Eclipse}
%global app_exec %{?app_exec_prefix} eclipse
%global app_exec %{?app_exec_prefix} eclipse
# Eclipse is arch-specific, but multilib agnostic
# Eclipse is arch-specific, but multilib agnostic
@ -39,17 +39,10 @@ Epoch: 1
%global use_wayland 0
%global use_wayland 0
%endif
%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
Summary: An open, extensible IDE
Name: eclipse
Name: eclipse
Version: 4.16
Version: 4.12
Release: 7%{?dist}.inferit
Release: 6%{?dist}
License: EPL-2.0
License: EPL-2.0
URL: http://www.eclipse.org/
URL: http://www.eclipse.org/
@ -60,9 +53,6 @@ Source0: https://download.eclipse.org/eclipse/downloads/drops4/%{eclipse_tag}/ec
# %%{eb_commit} | xz > org.eclipse.linuxtools.eclipse-build-%%{eb_commit}.tar.xz
# %%{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
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
# 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
# and should not include source for bundles that are not relevant to our platform
Patch0: eclipse-no-source-for-dependencies.patch
Patch0: eclipse-no-source-for-dependencies.patch
@ -81,6 +71,8 @@ Patch4: eclipse-secondary-arches.patch
Patch5: eclipse-debug-symbols.patch
Patch5: eclipse-debug-symbols.patch
#Patch6: eclipse-test-support.patch
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=408138
# https://bugs.eclipse.org/bugs/show_bug.cgi?id=408138
Patch12: eclipse-fix-dropins.patch
Patch12: eclipse-fix-dropins.patch
@ -92,6 +84,7 @@ Patch12: eclipse-fix-dropins.patch
# javax.el -> javax.el-api
# javax.el -> javax.el-api
# javax.servlet -> javax.servlet-api
# javax.servlet -> javax.servlet-api
# org.apache.jasper.glassfish -> org.glassfish.web.javax.servlet.jsp
# org.apache.jasper.glassfish -> org.glassfish.web.javax.servlet.jsp
# javax.annotation -> javax.annotation-api
# org.w3c.dom.smil -> removed
# org.w3c.dom.smil -> removed
Patch13: eclipse-feature-plugins-to-category-ius.patch
Patch13: eclipse-feature-plugins-to-category-ius.patch
@ -101,6 +94,7 @@ Patch14: eclipse-support-symlink-bundles.patch
Patch15: eclipse-fix-tests.patch
Patch15: eclipse-fix-tests.patch
# Droplet fixes
# Droplet fixes
Patch16: eclipse-adjust-droplets.patch
Patch17: eclipse-pde-tp-support-droplets.patch
Patch17: eclipse-pde-tp-support-droplets.patch
# Disable uses by default
# Disable uses by default
@ -125,20 +119,20 @@ Patch24: eclipse-swt-avoid-javascript-at-build.patch
# Avoid optional dep used only for tests
# Avoid optional dep used only for tests
Patch25: eclipse-patch-out-fileupload-dep.patch
Patch25: eclipse-patch-out-fileupload-dep.patch
# Force a clean on the restart after p2 operations
# See https://bugs.eclipse.org/bugs/show_bug.cgi?id=548211
Patch26: force-clean-after-p2-operations.patch
Patch26: eclipse-ebz548211.patch
Patch27: eclipse-ebz548211-2.patch
# See https://bugs.eclipse.org/bugs/show_bug.cgi?id=542708
Patch28: eclipse-ebz542708.patch
# SCL-specific patches
# Fix regression in ant support
Patch100: 0001-Avoid-limitation-with-older-shade-plug-in-versions-w.patch
Patch29: fix-ant-execution.patch
Patch101: 0002-Allow-bootstrapping-against-OSGi-Core-R6.patch
Patch102: 0004-Add-parent-pom-for-old-tycho-pomless.patch
# Upstream no longer supports non-64bit arches
# Use ASM 6 instead of 7
ExclusiveArch: x86_64
Patch30: eclipse-mockito.patch
# Require both JDKs until Eclipse can fully move onto Java 11
ExclusiveArch: x86_64
BuildRequires: java-11-openjdk-devel
BuildRequires: java-1.8.0-openjdk-devel
BuildRequires: maven-local
BuildRequires: maven-local
BuildRequires: tycho
BuildRequires: tycho
@ -168,16 +162,19 @@ BuildRequires: pkgconfig(libsecret-1)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(gtk+-2.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(gtk+-3.0)
BuildRequires: pkgconfig(webkit2gtk-4.0)
BuildRequires: pkgconfig(webkit2gtk-4.0)
BuildRequires: icu4j >= 1:65.1
BuildRequires: icu4j >= 1:64.2
BuildRequires: ant >= 1.10.5
BuildRequires: ant >= 1.10.5
BuildRequires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging ant-apache-bsf
BuildRequires: ant-commons-net ant-javamail ant-jdepend ant-junit ant-swing ant-jsch ant-testutil ant-apache-xalan2 ant-jmf ant-xz
BuildRequires: jsch >= 0:0.1.46-2
BuildRequires: jsch >= 0:0.1.46-2
BuildRequires: apache-commons-el >= 1.0-22
BuildRequires: apache-commons-logging
BuildRequires: apache-commons-logging
BuildRequires: apache-commons-codec
BuildRequires: apache-commons-codec
BuildRequires: apache-commons-jxpath
BuildRequires: apache-commons-jxpath
BuildRequires: osgi(org.apache.felix.gogo.shell) >= 1.1.0
BuildRequires: osgi(org.apache.felix.gogo.shell) >= 1.1.0
BuildRequires: osgi(org.apache.felix.gogo.command) >= 1.0.2
BuildRequires: osgi(org.apache.felix.gogo.command) >= 1.0.2
BuildRequires: osgi(org.apache.felix.gogo.runtime) >= 1.1.0
BuildRequires: osgi(org.apache.felix.gogo.runtime) >= 1.1.0
BuildRequires: felix-scr >= 2.1.16-4
BuildRequires: osgi(org.apache.felix.scr) >= 2.1.16
BuildRequires: osgi(org.eclipse.jetty.util) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.util) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.server) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.server) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.http) >= %{_jetty_version}
BuildRequires: osgi(org.eclipse.jetty.http) >= %{_jetty_version}
@ -194,7 +191,7 @@ BuildRequires: junit5 >= 5.4.0
BuildRequires: apiguardian
BuildRequires: apiguardian
BuildRequires: hamcrest
BuildRequires: hamcrest
BuildRequires: sat4j
BuildRequires: sat4j
BuildRequires: objectweb-asm >= 7.0
BuildRequires: objectweb-asm >= 6.1.1
BuildRequires: sac
BuildRequires: sac
BuildRequires: batik-css >= %{_batik_version}
BuildRequires: batik-css >= %{_batik_version}
BuildRequires: batik-util >= %{_batik_version}
BuildRequires: batik-util >= %{_batik_version}
@ -202,8 +199,8 @@ BuildRequires: google-gson
BuildRequires: xmlgraphics-commons >= 2.3
BuildRequires: xmlgraphics-commons >= 2.3
BuildRequires: xml-commons-apis
BuildRequires: xml-commons-apis
BuildRequires: atinject
BuildRequires: atinject
BuildRequires: eclipse-ecf-core >= 3.14.8
BuildRequires: eclipse-ecf-core >= 3.14.5
BuildRequires: eclipse-emf-core >= 1:2.22 .0
BuildRequires: eclipse-emf-core >= 1:2.18 .0
BuildRequires: eclipse-license2
BuildRequires: eclipse-license2
BuildRequires: glassfish-annotation-api
BuildRequires: glassfish-annotation-api
BuildRequires: glassfish-el-api >= 3.0.1
BuildRequires: glassfish-el-api >= 3.0.1
@ -221,9 +218,10 @@ BuildRequires: osgi(osgi.annotation)
# For building docs and apitooling
# For building docs and apitooling
BuildRequires: eclipse-pde
BuildRequires: eclipse-pde
%if %{with contrib_tools}
%if %{with contrib_tools}
# For contributor tools
# For contributor tools and tests
BuildRequires: eclipse-egit
BuildRequires: eclipse-egit
BuildRequires: eclipse-emf-runtime
BuildRequires: eclipse-emf-runtime
BuildRequires: mockito >= 2.23.9
%endif
%endif
%endif
%endif
@ -234,6 +232,8 @@ everything in between.
%package swt
%package swt
Summary: SWT Library for GTK+
Summary: SWT Library for GTK+
Requires: java-headless >= 1:1.8.0
Requires: javapackages-tools
Requires: gtk3
Requires: gtk3
Requires: webkitgtk4
Requires: webkitgtk4
@ -242,6 +242,8 @@ SWT Library for GTK+.
%package equinox-osgi
%package equinox-osgi
Summary: Eclipse OSGi - Equinox
Summary: Eclipse OSGi - Equinox
Requires: java-headless >= 1:1.8.0
Requires: javapackages-tools
Provides: osgi(system.bundle) = %{epoch}:%{version}
Provides: osgi(system.bundle) = %{epoch}:%{version}
%description equinox-osgi
%description equinox-osgi
@ -249,19 +251,21 @@ Eclipse OSGi - Equinox
%package platform
%package platform
Summary: Eclipse platform common files
Summary: Eclipse platform common files
Requires: java-11-openjdk-devel
Recommends: eclipse-abrt
Requires: javapackages-tools
Recommends: eclipse-usage
Requires: ant >= 1.10.5
Requires: ant >= 1.10.5
Requires: ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro ant-apache-regexp ant-apache-resolver ant-commons-logging ant-apache-bsf
Requires: ant-commons-net ant-javamail ant-jdepend ant-junit ant-swing ant-jsch ant-testutil ant-apache-xalan2 ant-jmf ant-xz
Requires: jsch >= 0.1.46-2
Requires: jsch >= 0.1.46-2
Requires: apache-commons-el >= 1.0-23
Requires: apache-commons-logging
Requires: apache-commons-logging
Requires: apache-commons-codec
Requires: apache-commons-codec
Requires: apache-commons-jxpath
Requires: apache-commons-jxpath
Requires: osgi(org.apache.felix.gogo.shell) >= 1.1.0
Requires: osgi(org.apache.felix.gogo.shell) >= 1.1.0
Requires: osgi(org.apache.felix.gogo.command) >= 1.0.2
Requires: osgi(org.apache.felix.gogo.command) >= 1.0.2
Requires: osgi(org.apache.felix.gogo.runtime) >= 1.1.0
Requires: osgi(org.apache.felix.gogo.runtime) >= 1.1.0
Requires: felix-scr >= 2.1.16-4
Requires: osgi(org.apache.felix.scr) >= 2.1.16
Requires: osgi(org.eclipse.jetty.util) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.util) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.server) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.server) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.http) >= %{_jetty_version}
Requires: osgi(org.eclipse.jetty.http) >= %{_jetty_version}
@ -273,28 +277,34 @@ Requires: lucene-core >= %{_lucene_version}
Requires: lucene-analysis >= %{_lucene_version}
Requires: lucene-analysis >= %{_lucene_version}
Requires: lucene-queryparser >= %{_lucene_version}
Requires: lucene-queryparser >= %{_lucene_version}
Requires: lucene-analyzers-smartcn >= %{_lucene_version}
Requires: lucene-analyzers-smartcn >= %{_lucene_version}
Requires: sat4j
Requires: sac
Requires: batik-css >= %{_batik_version}
Requires: batik-css >= %{_batik_version}
Requires: batik-util >= %{_batik_version}
Requires: batik-util >= %{_batik_version}
Requires: xmlgraphics-commons >= 2.3
Requires: xmlgraphics-commons >= 2.3
Requires: xml-commons-apis
Requires: xml-commons-apis
Requires: atinject
Requires: atinject
Requires: eclipse-ecf-core >= 3.14.8
Requires: eclipse-ecf-core >= 3.14.5
Requires: eclipse-emf-core >= 1:2.22 .0
Requires: eclipse-emf-core >= 1:2.18 .0
Requires: glassfish-annotation-api
Requires: glassfish-annotation-api
Requires: glassfish-el-api >= 3.0.1
Requires: glassfish-el-api >= 3.0.1
Requires: glassfish-el >= 3.0.1
Requires: glassfish-el >= 3.0.1
Requires: glassfish-jsp-api >= 2.2.1-4
Requires: glassfish-jsp-api >= 2.2.1-4
Requires: glassfish-jsp >= 2.2.5
Requires: glassfish-jsp >= 2.2.5
Requires: glassfish-servlet-api >= 3.1.0
Requires: glassfish-servlet-api >= 3.1.0
Requires: icu4j >= 1:65.1
Requires: icu4j >= 1:64.2
Requires: %{name}-swt = %{epoch}:%{version}-%{release}
Requires: %{name}-swt = %{epoch}:%{version}-%{release}
Requires: %{name}-equinox-osgi = %{epoch}:%{version}-%{release}
Requires: %{name}-equinox-osgi = %{epoch}:%{version}-%{release}
Requires: httpcomponents-core
Requires: httpcomponents-core
Requires: httpcomponents-client
Requires: httpcomponents-client
Requires: osgi(org.tukaani.xz)
# Obsoletes added in F31
# Provides/obsoletes added in F26
Obsoletes: eclipse-epp-logging <= 2.0.8-4
# This is the best place to add this because adding it to the nls RPMs causes every
Obsoletes: eclipse-abrt <= 0.0.3-10
# single language pack to be installed, which is not desireable -- it needs to be
# obsoleted by exactly one thing.
Provides: eclipse-nls = %{version}-%{release}
Obsoletes: eclipse-nls < %{version}-%{release}
%description platform
%description platform
The Eclipse Platform is the base of all IDE plugins. This does not include the
The Eclipse Platform is the base of all IDE plugins. This does not include the
@ -306,7 +316,6 @@ BuildArch: noarch
Provides: %{name} = %{epoch}:%{version}-%{release}
Provides: %{name} = %{epoch}:%{version}-%{release}
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires: java-11-openjdk-src
Requires: junit >= 4.12
Requires: junit >= 4.12
Requires: junit5 >= 5.4.0
Requires: junit5 >= 5.4.0
Requires: osgi(org.hamcrest.core)
Requires: osgi(org.hamcrest.core)
@ -323,7 +332,7 @@ Summary: Eclipse Plugin Development Environment
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires: %{name}-jdt = %{epoch}:%{version}-%{release}
Requires: %{name}-jdt = %{epoch}:%{version}-%{release}
Requires: objectweb-asm >= 7.0
Requires: objectweb-asm >= 6.1.1
%description pde
%description pde
Eclipse Plugin Development Environment. This package is required for
Eclipse Plugin Development Environment. This package is required for
@ -342,17 +351,25 @@ install from existing P2 repositories or as a framework to build branded
installer UIs.
installer UIs.
%if %{without bootstrap} && %{with contrib_tools}
%if %{without bootstrap} && %{with contrib_tools}
%package contributor-tools
%package contributor-tools
Summary: Tools for Eclipse Contributors
Summary: Tools for Eclipse Contributors
# No longer shipping tests
Obsoletes: %{name}-tests < 1:4.14-2
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires: %{name}-platform = %{epoch}:%{version}-%{release}
Requires: easymock
Requires: hamcrest
Requires: mockito >= 2.23.9
%description contributor-tools
%description contributor-tools
This package contains tools specifically for Eclipse contributors. It includes
This package contains tools specifically for Eclipse contributors. It includes
SWT tools, E4 tools, Rel-Eng tools and Eclipse Test frameworks.
SWT tools, E4 tools, Rel-Eng tools and Eclipse Test frameworks.
%package tests
Summary: Eclipse Tests
Requires: %{name}-contributor-tools = %{epoch}:%{version}-%{release}
%description tests
Eclipse Tests.
%endif
%endif
%prep
%prep
@ -365,7 +382,7 @@ tar --strip-components=1 -xf %{SOURCE0}
tar --strip-components=1 -xf %{SOURCE1}
tar --strip-components=1 -xf %{SOURCE1}
# Delete pre-built binary artifacts except some test data that cannot be generated
# Delete pre-built binary artifacts except some test data that cannot be generated
find . ! -path "*/JCL/*" ! -name "rtstubs*.jar" ! -name "java14api.jar" ! -name "j9stubs.jar" ! -name "annotation s.jar" \
find . ! -path "*/JCL/*" ! -name "rtstubs*.jar" ! -name "java10api.jar" ! -name "j9stub s.jar" \
-type f -name *.jar -delete
-type f -name *.jar -delete
find . -type f -name *.class -delete
find . -type f -name *.class -delete
find . -type f -name *.so -delete
find . -type f -name *.so -delete
@ -377,15 +394,17 @@ rm -rf rt.equinox.binaries/org.eclipse.equinox.executable/{bin,contributed}/
%patch0
%patch0
%patch1
%patch1
%patch2 -p1
%patch2
%patch3
%patch3
%patch4 -p1
%patch4 -p1
%patch5
%patch5
#%patch6
%patch12
%patch12
%patch13 -p1
%patch13 -p1
%patch14
%patch14
%patch15
%patch15
%patch17 -p1
%patch16
%patch17
%patch18
%patch18
%patch19
%patch19
%patch20
%patch20
@ -395,20 +414,19 @@ rm -rf rt.equinox.binaries/org.eclipse.equinox.executable/{bin,contributed}/
%endif
%endif
%patch22
%patch22
%patch23 -p1
%patch23 -p1
%patch24 -p1
%patch24
%patch25
%patch25
%patch26 -p1
%patch26 -p1
%patch27 -p1
# SCL-specific patches
%patch28 -p1
%patch100 -p1
%patch29 -p1
%patch101 -p1
%patch30 -p1
%patch102 -p1
# Optional (unused) multipart support (see patch 25)
# 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
rm rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/multipart/MultipartSupport{Impl,FactoryImpl,Part}.java
# No strict bin includes
# Remove python-based test
sed -i -e '/jgit.dirtyWorkingTree>/a<strictSrcIncludes>false</strictSrcIncludes><strictBinIncludes>false</strictBinIncludes>' eclipse-platform-parent/pom.xml
rm eclipse.platform.swt/tests/org.eclipse.swt.tests.gtk/ManualTests/org/eclipse/swt/tests/gtk/accessibility/Bug543949_ComponentExtentsTest.py
# Remove jgit deps because building from source tarball, not a git repo
# Remove jgit deps because building from source tarball, not a git repo
%pom_remove_dep :tycho-buildtimestamp-jgit eclipse-platform-parent
%pom_remove_dep :tycho-buildtimestamp-jgit eclipse-platform-parent
@ -434,6 +452,9 @@ sed -i -e '/jgit.dirtyWorkingTree>/a<strictSrcIncludes>false</strictSrcIncludes>
%pom_disable_module features/org.eclipse.equinox.sdk rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.sdk rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.console.jaas.fragment rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.console.jaas.fragment rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.console.ssh rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.console.ssh rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.console.ssh.tests rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.console.tests rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.ip rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.transforms.xslt rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.transforms.xslt rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.transforms.hook rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.transforms.hook rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.weaving.caching.j9 rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.weaving.caching.j9 rt.equinox.bundles
@ -444,26 +465,22 @@ sed -i -e '/jgit.dirtyWorkingTree>/a<strictSrcIncludes>false</strictSrcIncludes>
%pom_disable_module features/org.eclipse.equinox.p2.sdk rt.equinox.p2
%pom_disable_module features/org.eclipse.equinox.p2.sdk rt.equinox.p2
%pom_disable_module features/org.eclipse.equinox.server.p2 rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.server.p2 rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.serverside.sdk rt.equinox.bundles
%pom_disable_module features/org.eclipse.equinox.serverside.sdk rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.p2.tests.reconciler.product rt.equinox.p2
%pom_disable_module bundles/org.eclipse.equinox.p2.artifact.optimizers rt.equinox.p2
%pom_disable_module bundles/org.eclipse.equinox.p2.artifact.optimizers rt.equinox.p2
%pom_disable_module bundles/org.eclipse.equinox.p2.tests.optimizers rt.equinox.p2
%pom_disable_module bundles/org.eclipse.equinox.p2.artifact.processors rt.equinox.p2
%pom_disable_module bundles/org.eclipse.equinox.p2.artifact.processors rt.equinox.p2
%pom_disable_module bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle rt.equinox.p2
# Don't need annotations for obsolete JDKs
# Don't need annotations for obsolete JDKs
%pom_disable_module org.eclipse.jdt.annotation_v1 eclipse.jdt.core
%pom_disable_module org.eclipse.jdt.annotation_v1 eclipse.jdt.core
%pom_xpath_remove "plugin[@version='1.1.500.qualifier']" eclipse.jdt/org.eclipse.jdt-feature/feature.xml
%pom_xpath_remove "plugin[@version='1.1.400.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' \
# javax.annotation -> jakarta.annotation-api
eclipse.jdt.core/org.eclipse.jdt.core.tests.{model,builder,compiler}/META-INF/MANIFEST.MF \
sed -i -e 's/javax.annotation/%{_jakarta_annotations}/' eclipse-platform-parent/pom.xml \
eclipse.jdt.core/org.eclipse.jdt.apt.pluggable.tests/META-INF/MANIFEST.MF \
eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml \
eclipse.jdt.ui/org.eclipse.jdt.ui.tests/META-INF/MANIFEST.MF
eclipse.platform.common/bundles/org.eclipse.jdt.doc.isv/pom.xml \
sed -i -e 's/javax.annotation/javax.annotation-api/' eclipse-platform-parent/pom.xml \
eclipse.platform.common/bundles/org.eclipse.pde.doc.user/pom.xml \
eclipse.jdt.core/org.eclipse.jdt.core.tests.compiler/META-INF/MANIFEST.MF
eclipse.platform.common/bundles/org.eclipse.platform.doc.isv/pom.xml
# Fix requirement on junit 4
sed -i -e 's/4.13.0,5.0.0/4.12.0,5.0.0/' eclipse.jdt.ui/org.eclipse.jdt.junit.core/src/org/eclipse/jdt/internal/junit/buildpath/BuildPathSupport.java
# Disable examples
# Disable examples
%pom_disable_module infocenter-web eclipse.platform.ua
%pom_disable_module examples rt.equinox.p2
%pom_disable_module examples rt.equinox.p2
%pom_disable_module examples eclipse.platform.ui
%pom_disable_module examples eclipse.platform.ui
%pom_disable_module org.eclipse.debug.examples.core eclipse.platform.debug
%pom_disable_module org.eclipse.debug.examples.core eclipse.platform.debug
@ -476,35 +493,20 @@ sed -i -e 's/4.13.0,5.0.0/4.12.0,5.0.0/' eclipse.jdt.ui/org.eclipse.jdt.junit.co
%pom_disable_module examples/org.eclipse.compare.examples eclipse.platform.team
%pom_disable_module examples/org.eclipse.compare.examples eclipse.platform.team
%pom_disable_module examples/org.eclipse.compare.examples.xml eclipse.platform.team
%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 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.genericeditor.examples eclipse.platform.text
%pom_disable_module org.eclipse.ui.intro.quicklinks.examples eclipse.platform.ua
%pom_disable_module org.eclipse.ui.intro.quicklinks.examples eclipse.platform.ua
%pom_disable_module org.eclipse.ui.intro.solstice.examples eclipse.platform.ua
%pom_disable_module org.eclipse.ui.intro.solstice.examples eclipse.platform.ua
# Except for this one example, which is used by tests
# Disable tests
%pom_xpath_inject "pom:modules" "<module>examples/org.eclipse.jface.examples.databinding</module>" eclipse.platform.ui
for pom in eclipse.jdt.core{,.binaries} eclipse.jdt.debug eclipse.jdt.ui eclipse.pde.build eclipse.pde.ui{,/apitools} \
eclipse.platform eclipse.platform.debug eclipse.platform.releng eclipse.platform.resources eclipse.platform.runtime \
eclipse.platform.swt eclipse.platform.team eclipse.platform.text eclipse.platform.ui eclipse.platform.ua \
rt.equinox.bundles rt.equinox.framework rt.equinox.p2 ; do
sed -i -e '/<module>.*tests.*<\/module>/d' $pom/pom.xml
done
%pom_disable_module bundles/org.eclipse.equinox.frameworkadmin.test rt.equinox.p2
%pom_disable_module eclipse-junit-tests eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module ./tests/org.eclipse.e4.tools.test eclipse.platform.ui.tools
# Disable test framework if we are not shipping tests
%pom_disable_module features/org.eclipse.test-feature eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.test eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.test.performance eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.test.performance.win32 eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.ant.optional.junit eclipse.platform.releng
# Disable servletbridge stuff
# Disable servletbridge stuff
%pom_disable_module bundles/org.eclipse.equinox.http.servletbridge rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.http.servletbridge rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.servletbridge rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.servletbridge rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.servletbridge.template rt.equinox.bundles
%pom_disable_module bundles/org.eclipse.equinox.servletbridge.template rt.equinox.bundles
# Missing dep on reddeer
%pom_disable_module ui/org.eclipse.pde.ui.tests.smartimport eclipse.pde.ui
# Don't need enforcer on RPM builds
# Don't need enforcer on RPM builds
%pom_remove_plugin :maven-enforcer-plugin eclipse-platform-parent
%pom_remove_plugin :maven-enforcer-plugin eclipse-platform-parent
@ -521,6 +523,7 @@ done
# we are not currently building)
# we are not currently building)
TYCHO_ENV="<environment><os>linux</os><ws>gtk</ws><arch>%{eclipse_arch}</arch></environment>"
TYCHO_ENV="<environment><os>linux</os><ws>gtk</ws><arch>%{eclipse_arch}</arch></environment>"
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" eclipse-platform-parent
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" eclipse-platform-parent
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" eclipse.platform.ui/bundles/org.eclipse.e4.ui.swt.gtk
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" eclipse.platform.ui/bundles/org.eclipse.e4.ui.swt.gtk
for b in `ls eclipse.platform.swt.binaries/bundles | grep -P -e 'org.eclipse.swt\.(?!gtk\.linux.%{eclipse_arch}$)'` ; do
for b in `ls eclipse.platform.swt.binaries/bundles | grep -P -e 'org.eclipse.swt\.(?!gtk\.linux.%{eclipse_arch}$)'` ; do
module=$(grep ">bundles/$b<" eclipse.platform.swt.binaries/pom.xml || :)
module=$(grep ">bundles/$b<" eclipse.platform.swt.binaries/pom.xml || :)
@ -543,13 +546,14 @@ for b in `(cd rt.equinox.bundles/bundles && ls -d *{macosx,win32,linux}*) | grep
%pom_xpath_remove -f "plugin[@id='$b']" rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/feature.xml
%pom_xpath_remove -f "plugin[@id='$b']" rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/feature.xml
fi
fi
done
done
for b in `ls eclipse.platform.team/bundles/ | grep -P -e 'org.eclipse.core.net\.(?!linux.%{eclipse_arch}$)'` ; do
for b in `ls eclipse.platform.team/bundles/org.eclipse.core.net/fragments/ | grep -P -e 'org.eclipse.core.net\.(?!linux.%{eclipse_arch}$)'` ; do
%pom_disable_module bundles/$b eclipse.platform.team
%pom_disable_module bundles/org.eclipse.core.net/fragments/ $b eclipse.platform.team
done
done
for b in `ls eclipse.platform.resources/bundles/ | grep -P -e 'org.eclipse.core.filesystem\.(?!linux\.%{eclipse_arch}$)'` ; do
for b in `ls eclipse.platform.resources/bundles/ | grep -P -e 'org.eclipse.core.filesystem\.(?!linux\.%{eclipse_arch}$)'` ; do
module=$(grep ">bundles/$b<" eclipse.platform.resources/pom.xml || :)
module=$(grep ">bundles/$b<" eclipse.platform.resources/pom.xml || :)
if [ -n "$module" ] ; then
if [ -n "$module" ] ; then
%pom_disable_module bundles/$b eclipse.platform.resources
%pom_disable_module bundles/$b eclipse.platform.resources
%pom_xpath_remove -f "plugin[@id='$b']" eclipse.platform.resources/tests/org.eclipse.core.tests.filesystem.feature/feature.xml
fi
fi
done
done
%pom_disable_module org.eclipse.jdt.launching.macosx eclipse.jdt.debug
%pom_disable_module org.eclipse.jdt.launching.macosx eclipse.jdt.debug
@ -558,7 +562,6 @@ done
%pom_disable_module org.eclipse.e4.ui.workbench.renderers.swt.cocoa eclipse.platform.ui/bundles
%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.cocoa eclipse.platform.ui/bundles
%pom_disable_module org.eclipse.ui.win32 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
%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 \
for f in eclipse.jdt/org.eclipse.jdt-feature/feature.xml \
eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml \
eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml \
@ -574,6 +577,10 @@ for f in eclipse.jdt/org.eclipse.jdt-feature/feature.xml \
done
done
done
done
# We don't need SWT fragments since we only care for current arch
%pom_disable_module tests/org.eclipse.swt.tests.fragments.feature eclipse.platform.swt
%pom_xpath_remove "pom:dependency-resolution" eclipse.platform.swt/tests/org.eclipse.swt.tests{,.gtk}
%if %{with bootstrap} || %{without contrib_tools}
%if %{with bootstrap} || %{without contrib_tools}
# Disable contributor tools that have external dependencies during bootstrap
# Disable contributor tools that have external dependencies during bootstrap
%pom_disable_module eclipse.platform.ui.tools
%pom_disable_module eclipse.platform.ui.tools
@ -583,6 +590,21 @@ done
%pom_disable_module bundles/org.eclipse.swt.tools eclipse.platform.swt
%pom_disable_module bundles/org.eclipse.swt.tools eclipse.platform.swt
%pom_disable_module features/org.eclipse.releng.tools eclipse.platform.releng
%pom_disable_module features/org.eclipse.releng.tools eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.releng.tools eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.releng.tools eclipse.platform.releng
# Disable tests for bootstrapping
%pom_disable_module features/org.eclipse.test-feature eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.test eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.test.performance eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.test.performance.win32 eclipse.platform.releng
%pom_disable_module bundles/org.eclipse.ant.optional.junit eclipse.platform.releng
for pom in eclipse.jdt.core{,.binaries} eclipse.jdt.debug eclipse.jdt.ui eclipse.pde.build eclipse.pde.ui \
eclipse.platform eclipse.platform.debug eclipse.platform.releng eclipse.platform.resources eclipse.platform.runtime \
eclipse.platform.swt eclipse.platform.team eclipse.platform.text eclipse.platform.ui eclipse.platform.ua \
rt.equinox.bundles rt.equinox.framework rt.equinox.p2 ; do
sed -i -e '/<module>.*tests.*<\/module>/d' $pom/pom.xml
done
%pom_disable_module bundles/org.eclipse.equinox.frameworkadmin.test rt.equinox.p2
%pom_disable_module eclipse-junit-tests eclipse.platform.releng.tychoeclipsebuilder
%pom_disable_module examples/org.eclipse.jface.examples.databinding eclipse.platform.ui
%endif
%endif
# Include some extra features with the product that some other projects may need at
# Include some extra features with the product that some other projects may need at
@ -596,6 +618,12 @@ sed -i -e '/org.eclipse.ui.themes/i<plugin id="org.eclipse.jdt.core.compiler.bat
sed -i -e '/<\/excludes>/i<plugin id="org.eclipse.jdt.core.compiler.batch"/>' \
sed -i -e '/<\/excludes>/i<plugin id="org.eclipse.jdt.core.compiler.batch"/>' \
eclipse.platform.releng/features/org.eclipse.platform-feature/pom.xml
eclipse.platform.releng/features/org.eclipse.platform-feature/pom.xml
# Prevent dep cycle
%pom_xpath_remove "plugin[@id='org.eclipse.core.tests.harness']" eclipse.platform.releng/features/org.eclipse.test-feature/feature.xml
# Include maven descriptors to allow our test execution setup to work
%pom_xpath_set "pom:plugin[pom:artifactId = 'tycho-packaging-plugin']/pom:configuration/pom:archive/pom:addMavenDescriptor" "true" eclipse-platform-parent
# Don't set perms on files for platforms that aren't linux
# Don't set perms on files for platforms that aren't linux
for f in rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties; do
for f in rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties; do
grep '^root\.linux\.gtk\.%{eclipse_arch}[.=]' $f > tmp
grep '^root\.linux\.gtk\.%{eclipse_arch}[.=]' $f > tmp
@ -632,13 +660,6 @@ sed -i -e '/org.apache.felix.service.command/s/;status=provisional//' rt.equinox
# Pre-compiling JSPs does not currently work
# Pre-compiling JSPs does not currently work
%pom_remove_plugin org.eclipse.jetty:jetty-jspc-maven-plugin eclipse.platform.ua/org.eclipse.help.webapp
%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
# 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/osgi/
ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi.services/lib/
ln -s $(build-classpath osgi-annotation) rt.equinox.framework/bundles/org.eclipse.osgi.services/lib/
@ -649,7 +670,11 @@ ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.
# The order of these mvn_package calls is important
# The order of these mvn_package calls is important
%mvn_package "::pom::" __noinstall
%mvn_package "::pom::" __noinstall
%mvn_package ":org.eclipse.pde.tools.versioning" contributor-tools
%mvn_package ":*tests*" tests
%mvn_package ":org.eclipse.equinox.frameworkadmin.test" tests
%mvn_package ":org.eclipse.jface.examples.databinding" tests
%mvn_package ":org.eclipse.pde.tools.versioning" tests
%mvn_package "org.eclipse.test:org.eclipse.test" contributor-tools
%mvn_package "::jar:sources{,-feature}:" sdk
%mvn_package "::jar:sources{,-feature}:" sdk
%mvn_package ":org.eclipse.jdt.doc.isv" sdk
%mvn_package ":org.eclipse.jdt.doc.isv" sdk
%mvn_package ":org.eclipse.platform.doc.isv" sdk
%mvn_package ":org.eclipse.platform.doc.isv" sdk
@ -661,10 +686,11 @@ ln -s $(build-classpath osgi-annotation) rt.equinox.bundles/bundles/org.eclipse.
%mvn_package ":org.eclipse.e4{,.core}.tools*" contributor-tools
%mvn_package ":org.eclipse.e4{,.core}.tools*" contributor-tools
%mvn_package ":org.eclipse.releng.tools" contributor-tools
%mvn_package ":org.eclipse.releng.tools" contributor-tools
%mvn_package ":org.eclipse.swt.tools*" contributor-tools
%mvn_package ":org.eclipse.swt.tools*" contributor-tools
%mvn_package "org.eclipse.test{,.feature}:" contributor-tools
%mvn_package ":org.eclipse.ant.optional.junit" contributor-tools
%mvn_package "org.eclipse.cvs{,.feature}:" cvs
%mvn_package "org.eclipse.cvs{,.feature}:" cvs
%mvn_package "org.eclipse.team:org.eclipse.team.cvs*" cvs
%mvn_package "org.eclipse.team:org.eclipse.team.cvs*" cvs
%mvn_package "org.eclipse.pde{,.ui,.feature}:" pde
%mvn_package "org.eclipse.pde{,.ui,.feature}:" pde
%mvn_package ":org.eclipse.pde.api.tools*" pde
%mvn_package "org.eclipse.ui:org.eclipse.ui.trace" pde
%mvn_package "org.eclipse.ui:org.eclipse.ui.trace" pde
%mvn_package "org.eclipse.sdk{,.feature}:" sdk
%mvn_package "org.eclipse.sdk{,.feature}:" sdk
%mvn_package ":" __noinstall
%mvn_package ":" __noinstall
@ -678,29 +704,22 @@ export M_ARCH="$LDFLAGS"
#This is the lowest value where the build succeeds. 512m is not enough.
#This is the lowest value where the build succeeds. 512m is not enough.
export MAVEN_OPTS="-Xmx1024m -XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState ${MAVEN_OPTS}"
export MAVEN_OPTS="-Xmx1024m -XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState ${MAVEN_OPTS}"
export JAVA_HOME=%{_jvmdir}/java-11
export JAVA_HOME=%{_jvmdir}/java
# TODO: Fix bug in the tycho installation
xmvn -o install:install-file -Dtycho.mode=maven -Dfile=%{_javadir}/tycho/tycho-lib-detector.jar -DpomFile=%{_mavenpomdir}/tycho/tycho-lib-detector.pom
# Pre-build agent jar needed for AdvancedSourceLookupSupport
# Pre-build agent jar needed for AdvancedSourceLookupSupport
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 '/createSourcesJar/d' 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)
(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 \
mv eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/target/javaagent-shaded.jar \
eclipse.jdt.debug/org.eclipse.jdt.launching/lib
eclipse.jdt.debug/org.eclipse.jdt.launching/lib
# Qualifier generated from last modification time of source tarball
# Qualifier generated from last modification time of source tarball
QUALIFIER=$(date -u -d"$(stat --format=%y %{SOURCE0})" +v%Y%m%d-%H%M)
QUALIFIER=$(date -u -d"$(stat --format=%y %{SOURCE0})" +v%Y%m%d-%H%M)
%mvn_build -j -f -- -e -DforceContextQualifier=$QUALIFIER -DaggregatorBuild=true -Dbuild.compiler="extJavac" \
%mvn_build -j -f -- -e -DforceContextQualifier=$QUALIFIER \
%if %{with bootstrap}
%if %{with bootstrap}
-Pbree-libs,!api-generation,!build-docs \
-P !api-generation,!build-docs \
%else
-Pbree-libs \
%endif
%endif
-Declipse.javadoc=%{_jvmdir}/java-11 /bin/javadoc -Dnative=gtk.linux.%{eclipse_arch} \
-Declipse.javadoc=/usr/bin/javadoc -Dnative=gtk.linux.%{eclipse_arch} \
-Dtycho.local.keepTarget --global-toolchains %{SOURCE2} \
-Dtycho.local.keepTarget \
-Dfedora.p2.repos=$(pwd)/.m2/p2/repo-sdk/plugins -DbuildType=X
-Dfedora.p2.repos=$(pwd)/.m2/p2/repo-sdk/plugins -DbuildType=X
# Location that the product is materialised
# Location that the product is materialised
@ -737,11 +756,16 @@ popd
sed -i "s|-Xms40m|-Xms512m|g" eclipse.ini
sed -i "s|-Xms40m|-Xms512m|g" eclipse.ini
sed -i "s|-Xmx512m|-Xmx1024m|g" eclipse.ini
sed -i "s|-Xmx512m|-Xmx1024m|g" eclipse.ini
sed -i '1i-protect\nroot' eclipse.ini
sed -i '1i-protect\nroot' eclipse.ini
sed -i '/-vmargs/i-vm\n%{_jvmdir}/java-11/bin/java' eclipse.ini
# Temporary fix until https://bugs.eclipse.org/294877 is resolved
# Temporary fix until https://bugs.eclipse.org/294877 is resolved
cat >> eclipse.ini <<EOF
cat >> eclipse.ini <<EOF
-Dorg.eclipse.swt.browser.UseWebKitGTK=true
-Dorg.eclipse.swt.browser.UseWebKitGTK=true
-XX:CompileCommand=exclude,org/eclipse/core/internal/dtree/DataTreeNode,forwardDeltaWith
-XX:CompileCommand=exclude,org/eclipse/jdt/internal/compiler/lookup/ParameterizedMethodBinding,<init>
-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/dom/parser/cpp/semantics/CPPTemplates,instantiateTemplate
-XX:CompileCommand=exclude,org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPLinkage,addBinding
-XX:CompileCommand=exclude,org/python/pydev/editor/codecompletion/revisited/PythonPathHelper,isValidSourceFile
-XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=%{_datadir}/eclipse/dropins
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=%{_datadir}/eclipse/dropins
-Dp2.fragments=%{_eclipsedir}/droplets,%{_datadir}/eclipse/droplets
-Dp2.fragments=%{_eclipsedir}/droplets,%{_datadir}/eclipse/droplets
-Declipse.p2.skipMovedInstallDetection=true
-Declipse.p2.skipMovedInstallDetection=true
@ -856,6 +880,21 @@ pushd %{buildroot}/%{_eclipsedir}/
ln -s $(abs2rel %{_jnidir}/swt.jar %{_eclipsedir})
ln -s $(abs2rel %{_jnidir}/swt.jar %{_eclipsedir})
popd
popd
%if %{without bootstrap} && %{with contrib_tools}
# Tests framework
unzip eclipse.platform.releng.tychoeclipsebuilder/eclipse-junit-tests/target/eclipse-junit-tests-bundle.zip \
-d $RPM_BUILD_ROOT/%{_datadir}/ -x eclipse-testing/runtests.bat eclipse-testing/runtestsmac.sh
cp utils/splitter.xsl $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing
rm $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing/eclipse-junit-tests-*.zip
# These properties are not correct and nested properties won't get resolved
sed -i '/org.eclipse.equinox.p2.reconciler.test/ d' $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing/equinoxp2tests.properties
# Package testbundle-to-eclipse-test
cp -r testbundle-to-eclipse-test $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing/testbundle
mv $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing/testbundle/eclipse-runTestBundles $RPM_BUILD_ROOT/%{_bindir}/eclipse-runTestBundles
%endif
#fix so permissions
#fix so permissions
find $RPM_BUILD_ROOT/%{_eclipsedir} -name *.so -exec chmod a+x {} \;
find $RPM_BUILD_ROOT/%{_eclipsedir} -name *.so -exec chmod a+x {} \;
@ -898,9 +937,6 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/com.jcraft.jsch_*
%{_eclipsedir}/plugins/com.jcraft.jsch_*
%{_eclipsedir}/plugins/com.sun.el.javax.el_*
%{_eclipsedir}/plugins/com.sun.el.javax.el_*
%{_eclipsedir}/plugins/javax.*
%{_eclipsedir}/plugins/javax.*
%if 0%{?fedora}
%{_eclipsedir}/plugins/jakarta.*
%endif
%{_eclipsedir}/plugins/org.apache.*
%{_eclipsedir}/plugins/org.apache.*
%{_eclipsedir}/plugins/org.eclipse.ant.core_*
%{_eclipsedir}/plugins/org.eclipse.ant.core_*
%{_eclipsedir}/plugins/org.eclipse.compare_*
%{_eclipsedir}/plugins/org.eclipse.compare_*
@ -936,7 +972,6 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.e4.ui.css.swt.theme_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.css.swt.theme_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.di_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.di_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.dialogs_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.dialogs_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.ide_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.model.workbench_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.model.workbench_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.services_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.services_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.swt.gtk_*
%{_eclipsedir}/plugins/org.eclipse.e4.ui.swt.gtk_*
@ -994,6 +1029,7 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.equinox.security*
%{_eclipsedir}/plugins/org.eclipse.equinox.security*
%{_eclipsedir}/plugins/org.eclipse.equinox.simpleconfigurator_*
%{_eclipsedir}/plugins/org.eclipse.equinox.simpleconfigurator_*
%{_eclipsedir}/plugins/org.eclipse.equinox.simpleconfigurator.manipulator_*
%{_eclipsedir}/plugins/org.eclipse.equinox.simpleconfigurator.manipulator_*
%{_eclipsedir}/plugins/org.eclipse.equinox.util_*
%{_eclipsedir}/plugins/org.eclipse.help_*
%{_eclipsedir}/plugins/org.eclipse.help_*
%{_eclipsedir}/plugins/org.eclipse.help.base_*
%{_eclipsedir}/plugins/org.eclipse.help.base_*
%{_eclipsedir}/plugins/org.eclipse.help.ui_*
%{_eclipsedir}/plugins/org.eclipse.help.ui_*
@ -1003,7 +1039,6 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.jface_*
%{_eclipsedir}/plugins/org.eclipse.jface_*
%{_eclipsedir}/plugins/org.eclipse.jface.databinding_*
%{_eclipsedir}/plugins/org.eclipse.jface.databinding_*
%{_eclipsedir}/plugins/org.eclipse.jface.text_*
%{_eclipsedir}/plugins/org.eclipse.jface.text_*
%{_eclipsedir}/plugins/org.eclipse.jface.notifications_*
%{_eclipsedir}/plugins/org.eclipse.jsch.core_*
%{_eclipsedir}/plugins/org.eclipse.jsch.core_*
%{_eclipsedir}/plugins/org.eclipse.jsch.ui_*
%{_eclipsedir}/plugins/org.eclipse.jsch.ui_*
%{_eclipsedir}/plugins/org.eclipse.ltk.core.refactoring_*
%{_eclipsedir}/plugins/org.eclipse.ltk.core.refactoring_*
@ -1016,7 +1051,6 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.team.genericeditor.diff.extension_*
%{_eclipsedir}/plugins/org.eclipse.team.genericeditor.diff.extension_*
%{_eclipsedir}/plugins/org.eclipse.team.ui_*
%{_eclipsedir}/plugins/org.eclipse.team.ui_*
%{_eclipsedir}/plugins/org.eclipse.text_*
%{_eclipsedir}/plugins/org.eclipse.text_*
%{_eclipsedir}/plugins/org.eclipse.text.quicksearch_*
%{_eclipsedir}/plugins/org.eclipse.ui_*
%{_eclipsedir}/plugins/org.eclipse.ui_*
%{_eclipsedir}/plugins/org.eclipse.ui.browser_*
%{_eclipsedir}/plugins/org.eclipse.ui.browser_*
%{_eclipsedir}/plugins/org.eclipse.ui.cheatsheets_*
%{_eclipsedir}/plugins/org.eclipse.ui.cheatsheets_*
@ -1043,11 +1077,13 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.update.configurator_*
%{_eclipsedir}/plugins/org.eclipse.update.configurator_*
%{_eclipsedir}/plugins/org.eclipse.urischeme_*
%{_eclipsedir}/plugins/org.eclipse.urischeme_*
%{_eclipsedir}/plugins/org.glassfish.web.javax.servlet.jsp_*
%{_eclipsedir}/plugins/org.glassfish.web.javax.servlet.jsp_*
%{_eclipsedir}/plugins/org.kxml2_*
%{_eclipsedir}/plugins/org.sat4j.core_*
%{_eclipsedir}/plugins/org.sat4j.core_*
%{_eclipsedir}/plugins/org.sat4j.pb_*
%{_eclipsedir}/plugins/org.sat4j.pb_*
%{_eclipsedir}/plugins/org.tukaani.xz_*
%{_eclipsedir}/plugins/org.tukaani.xz_*
%{_eclipsedir}/plugins/org.w3c.css.sac_*
%{_eclipsedir}/plugins/org.w3c.css.sac_*
%{_eclipsedir}/plugins/org.w3c.dom.svg_*
%{_eclipsedir}/plugins/org.w3c.dom.svg_*
%{_eclipsedir}/plugins/org.xmlpull_*
%doc %{_eclipsedir}/readme
%doc %{_eclipsedir}/readme
%{_eclipsedir}/artifacts.xml
%{_eclipsedir}/artifacts.xml
%{_eclipsedir}/p2
%{_eclipsedir}/p2
@ -1063,8 +1099,11 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%files p2-discovery -f .mfiles-p2-discovery
%files p2-discovery -f .mfiles-p2-discovery
%if %{without bootstrap} && %{with contrib_tools}
%if %{without bootstrap} && %{with contrib_tools}
%files contributor-tools -f .mfiles-contributor-tools
%files contributor-tools -f .mfiles-contributor-tools
%files tests -f .mfiles-tests
%{_bindir}/eclipse-runTestBundles
%{_datadir}/eclipse-testing
%endif
%endif
%files equinox-osgi -f .mfiles-equinox-osgi
%files equinox-osgi -f .mfiles-equinox-osgi
@ -1074,92 +1113,6 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.osgi.util_*
%{_eclipsedir}/plugins/org.eclipse.osgi.util_*
%changelog
%changelog
* Sat Aug 17 2024 Arkady L. Shane <tigro@msvsphere-os.ru> - 1:4.16-7.inferit
- Debranding
* Sun Dec 10 2023 MSVSphere Packaging Team <packager@msvsphere-os.ru> - 1:4.16-7
- Rebuilt for MSVSphere 8.8
* Fri Oct 23 2020 Alexander Kurtakov <akurtako@redhat.com> 1:4.16-8
- Add java-11-openjdk-devel - without it /usr/lib/jvm/java-11 is not created.
* Thu Oct 22 2020 Alexander Kurtakov <akurtako@redhat.com> 1:4.16-7
- Add additonal Java 11 dependencies to ensure all parts are installed.
* Tue Jul 21 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-6
- Require Java 11 explicitly
- Drop hotspot exclusions from the JDK 6 era
* Fri Jul 10 2020 Jiri Vanek <jvanek@redhat.com> - 1:4.16-5
- Rebuilt for JDK-11, see https://fedoraproject.org/wiki/Changes/Java11
* Mon Jun 29 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-4
- Update linux-build snapshot and fix adding junit classpath containers to java
projects
* Tue Jun 23 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-3
- Make a bit more portable and fix bootstrap mode
* Fri Jun 19 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-2
- Non-bootstrap build
* Thu Jun 18 2020 Mat Booth <mat.booth@redhat.com> - 1:4.16-1
- Update to latest upstream release
* Thu Apr 02 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-5
- Make the requirement on felix-scr more strict
* Thu Apr 02 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-4
- Allow library detector to build on Java 11
* Sun Mar 29 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-3
- Don't build and ship the test framework. We are not shipping any actual tests
anyway and this allows to drop the dependency on mockito and friends.
* Mon Mar 23 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-2
- Set compiler release to Java 8 on certain bundles
* Sat Mar 21 2020 Mat Booth <mat.booth@redhat.com> - 1:4.15-1
- Update to latest upstream release
* Tue Jan 28 2020 Mat Booth <mat.booth@redhat.com> - 1:4.14-5
- Backport patch to fix build against GCC 10
* Thu Jan 23 2020 Mat Booth <mat.booth@redhat.com> - 1:4.14-4
- Remove BR on bouncycastle
* Thu Jan 23 2020 Mat Booth <mat.booth@redhat.com> - 1:4.14-3
- Remove references to kxml/xpp3
* Thu Dec 19 2019 Mat Booth <mat.booth@redhat.com> - 1:4.14-2
- Full build
- Drop tests sub-package
* Thu Dec 19 2019 Mat Booth <mat.booth@redhat.com> - 1:4.14-1
- Update to latest upstream release
* Thu Dec 19 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-7
- Bump requirements on EMF/ECF
* Wed Dec 18 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-6
- Remove unnecessary dep on apache-commons-el
- Enable bootstrap mode
* Wed Nov 20 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-5
- Obsolete retired packages
* Mon Sep 23 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-4
- Add patch for ebz#550606
* Mon Sep 23 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-3
- Fix explicit hamcrest reqs
* Mon Sep 16 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-2
- Fix PDE installation
* Mon Sep 09 2019 Mat Booth <mat.booth@redhat.com> - 1:4.13-1
- Update to latest upstream release
* Wed Jul 24 2019 Mat Booth <mat.booth@redhat.com> - 1:4.12-6
* Wed Jul 24 2019 Mat Booth <mat.booth@redhat.com> - 1:4.12-6
- Reenable normal debuginfo generation for the launcher binary on Fedora
- Reenable normal debuginfo generation for the launcher binary on Fedora
@ -1447,3 +1400,4 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
- Update to Oxygen I-build
- Update to Oxygen I-build
- Don't build unsupported GTK2 backend for SWT
- Don't build unsupported GTK2 backend for SWT
- Move installation to a multilib agnostic location /usr/lib
- Move installation to a multilib agnostic location /usr/lib