Name: eclipse Epoch: 1 Version: 4.9.0 Release: 3 Summary: Eclipse is an open source, Java-based, extensible development platform. License: EPL-2.0 URL: http://www.eclipse.org/ Source0: http://download.eclipse.org/eclipse/downloads/drops4/I20180906-0745/eclipse-platform-sources-I20180906-0745.tar.xz Source1: http://git.eclipse.org/c/linuxtools/org.eclipse.linuxtools.eclipse-build.git/snapshot/org.eclipse.linuxtools.eclipse-build-44643cbda3dfd6f00fbf1b346dae7068df2a9ef9.tar.xz Patch0000: eclipse-no-source-for-dependencies.patch Patch0001: eclipse-p2-pick-up-renamed-jars.patch Patch0002: eclipse-ignore-version-when-calculating-home.patch Patch0003: eclipse-remove-jgit-provider.patch Patch0004: eclipse-secondary-arches.patch Patch0005: eclipse-debug-symbols.patch Patch0006: eclipse-fix-dropins.patch Patch0007: eclipse-mockito.patch Patch0008: eclipse-support-symlink-bundles.patch Patch0009: eclipse-feature-plugins-to-category-ius.patch Patch0010: eclipse-fix-tests.patch Patch0011: eclipse-adjust-droplets.patch Patch0012: eclipse-pde-tp-support-droplets.patch Patch0013: eclipse-swt-disable-gtk2.patch Patch0014: eclipse-disable-uses-constraints.patch Patch0016: eclipse-make-droplets-runnable.patch Patch0017: eclipse-disable-droplets-in-dropins.patch Patch0018: prefer_x11_backend.patch Patch0019: fix_ant_build.patch Patch0020: eclipse-hide-droplets-from-install-wizard.patch BuildRequires: gdb-headless maven-local tycho tycho-extras cbi-plugins maven-assembly-plugin BuildRequires: maven-antrun-plugin maven-dependency-plugin maven-enforcer-plugin maven-install-plugin BuildRequires: maven-shade-plugin xml-maven-plugin rhino sonatype-oss-parent rsync make gcc zip BuildRequires: unzip desktop-file-utils pkgconfig(glib-2.0) pkgconfig(gio-2.0) pkgconfig(nspr) BuildRequires: pkgconfig(glu) pkgconfig(gl) pkgconfig(cairo) pkgconfig(xt) pkgconfig(xtst) BuildRequires: pkgconfig(libsecret-1) pkgconfig(gtk+-2.0) pkgconfig(gtk+-3.0) pkgconfig(webkit2gtk-4.0) BuildRequires: icu4j >= 1:62.1 ant >= 1.10.5 ant-antlr ant-apache-bcel ant-apache-log4j BuildRequires: 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 BuildRequires: jsch >= 0:0.1.46-2 ant-apache-xalan2 ant-jmf ant-xz ant-junit5 apache-commons-logging BuildRequires: apache-commons-el >= 1.0-22 apache-commons-codec apache-commons-jxpath BuildRequires: apache-commons-fileupload 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.runtime) >= 1.1.0 BuildRequires: osgi(org.apache.felix.scr) >= 2.0.14 osgi(org.eclipse.jetty.util) >= 9.4.11 BuildRequires: osgi(org.eclipse.jetty.server) >= 9.4.11 osgi(org.eclipse.jetty.http) >= 9.4.11 BuildRequires: osgi(org.eclipse.jetty.continuation) >= 9.4.11 BuildRequires: osgi(org.eclipse.jetty.io) >= 9.4.11 osgi(org.eclipse.jetty.security) >= 9.4.11 BuildRequires: osgi(org.eclipse.jetty.servlet) >= 9.4.11 lucene-core >= 7.1.0 BuildRequires: lucene-analysis >= 7.1.0 lucene-queryparser >= 7.1.0 lucene-analyzers-smartcn >= 7.1.0 BuildRequires: junit >= 4.12 junit5 apiguardian hamcrest sat4j objectweb-asm >= 6.1.1 sac BuildRequires: batik >= 1.10 batik-css >= 1.10 xmlgraphics-commons >= 2.2 xml-commons-apis atinject BuildRequires: eclipse-ecf-core >= 3.14.1-2 eclipse-emf-core >= 1:2.15.0-0.2 eclipse-license2 BuildRequires: glassfish-el-api >= 3.0.1 glassfish-el >= 3.0.1 glassfish-jsp-api >= 2.2.1-4 BuildRequires: glassfish-jsp >= 2.2.5 glassfish-servlet-api >= 3.1.0 httpcomponents-core BuildRequires: httpcomponents-client jsoup xz-java mockito osgi(osgi.annotation) BuildRequires: eclipse-pde eclipse-egit eclipse-emf-runtime eclipse-jgit %description Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. %package swt Summary: Provides SWT Library for GTK+ Requires: java-headless >= 1:1.8.0 javapackages-tools gtk3 webkitgtk4 %description swt This package provides SWT Library for GTK+. %package equinox-osgi Summary: Open Service Gateway Initiative(OSGi) in eclipse Requires: java-headless >= 1:1.8.0 javapackages-tools Provides: osgi(system.bundle) = 1:4.9.0 %description equinox-osgi This package provides the open Service Gateway Initiative(OSGi) in eclipse - Equinox %package platform Summary: Provides eclipse platform common files Recommends: eclipse-abrt eclipse-usage Requires: ant >= 1.10.5 ant-antlr ant-apache-bcel ant-apache-log4j ant-apache-oro Requires: 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 Requires: ant-testutil ant-apache-xalan2 ant-jmf ant-xz ant-junit5 Requires: jsch >= 0.1.46-2 apache-commons-el >= 1.0-23 apache-commons-logging Requires: apache-commons-codec apache-commons-jxpath osgi(org.apache.felix.gogo.shell) >= 1.0.0 Requires: osgi(org.apache.felix.gogo.command) >= 1.0.2 Requires: osgi(org.apache.felix.gogo.runtime) >= 1.0.4 Requires: osgi(org.apache.felix.scr) >= 2.0.14 Requires: osgi(org.eclipse.jetty.util) >= 9.4.11 Requires: osgi(org.eclipse.jetty.server) >= 9.4.11 Requires: osgi(org.eclipse.jetty.http) >= 9.4.11 Requires: osgi(org.eclipse.jetty.continuation) >= 9.4.11 Requires: osgi(org.eclipse.jetty.io) >= 9.4.11 Requires: osgi(org.eclipse.jetty.security) >= 9.4.11 Requires: osgi(org.eclipse.jetty.servlet) >= 9.4.11 Requires: lucene-core >= 7.1.0 lucene-analysis >= 7.1.0 lucene-queryparser >= 7.1.0 Requires: lucene-analyzers-smartcn >= 7.1.0 sat4j sac batik >= 1.10 batik-css >= 1.10 Requires: xmlgraphics-commons >= 2.2 xml-commons-apis atinject eclipse-ecf-core >= 3.14.0-1 Requires: eclipse-emf-core >= 1:2.14.0-1 glassfish-el-api >= 3.0.1 glassfish-el >= 3.0.1 Requires: glassfish-jsp-api >= 2.2.1-4 glassfish-jsp >= 2.2.5 glassfish-servlet-api >= 3.1.0 Requires: icu4j >= 1:62.1 eclipse-swt = 1:4.9.0-3 osgi(org.tukaani.xz) Requires: eclipse-equinox-osgi = 1:4.9.0-3 httpcomponents-core httpcomponents-client Provides: eclipse-nls = 4.9.0-3 Obsoletes: eclipse-nls < 4.9.0-3 %description platform The eclipse-platform is just the base of eclipse, it provides some common files. %package jdt Summary: Provides Development Tools for Java BuildArch: noarch Provides: eclipse = 1:4.9.0-3 Requires: eclipse-platform = 1:4.9.0-3 osgi(org.junit) >= 4.12 osgi(org.hamcrest.core) Recommends: eclipse-recommenders %description jdt This package Provides Development Tools for Java %package pde Summary: Provides Eclipse Plugin Development Environment Requires: eclipse-platform = 1:4.9.0-3 eclipse-jdt = 1:4.9.0-3 objectweb-asm >= 6.1.1 %description pde The eclipse-pde package is necessary for developing Eclipse plugins. %package p2-discovery Summary: Provides Eclipse p2 Discovery BuildArch: noarch Requires: eclipse-platform = 1:4.9.0-3 %description p2-discovery The eclipse-p2-discovery package is a tool to display and install from existing P2 repositories or as a framework to build branded installer UIs. %package contributor-tools Summary: Provides Eclipse Contributors Tools Requires: eclipse-platform = 1:4.9.0-3 easymock mockito %description contributor-tools The eclipse-contributor-tools consists of SWT tools, E4 tools, Rel-Eng tools and Eclipse Test frameworks. And all these specifically for Eclipse contributors. %package tests Summary: Provides Eclipse Tests Requires: eclipse-contributor-tools = 1:4.9.0-3 %description tests This package provides a large number of test cases to ensure the smooth running of eclipse %prep %autosetup %{SOURCE0} -n eclipse-platform-sources-I20180906-0745 -p1 tar --strip-components=1 -xf %{SOURCE1} find . ! -path "*/JCL/*" ! -name "rtstubs*.jar" ! -name "java10api.jar" ! -name "j9stubs.jar" \ -type f -name *.jar -delete for file_type in class so dll jnilib ; do find . -type f -name *.$file_type -delete ; done rm -rf rt.equinox.binaries/org.eclipse.equinox.executable/{bin,contributed}/ %pom_xpath_remove "pom:configuration/pom:target" eclipse-platform-parent %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.ip 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.weaving.caching.j9 rt.equinox.bundles %pom_disable_module bundles/org.eclipse.equinox.weaving.caching rt.equinox.bundles %pom_disable_module bundles/org.eclipse.equinox.weaving.hook rt.equinox.bundles %pom_disable_module bundles/org.eclipse.equinox.cm.test 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.processors rt.equinox.p2 %pom_disable_module equinox-sdk eclipse.platform.releng.tychoeclipsebuilder %pom_disable_module equinox.starterkit.product eclipse.platform.releng.tychoeclipsebuilder %pom_disable_module eclipse.platform.repository eclipse.platform.releng.tychoeclipsebuilder %pom_disable_module features/org.eclipse.equinox.sdk rt.equinox.bundles %pom_disable_module features/org.eclipse.equinox.compendium.sdk rt.equinox.bundles %pom_disable_module features/org.eclipse.equinox.core.sdk rt.equinox.bundles %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.serverside.sdk rt.equinox.bundles %pom_disable_module org.eclipse.jdt.annotation_v1 eclipse.jdt.core %pom_disable_module platform.sdk eclipse.platform.releng.tychoeclipsebuilder %pom_disable_module rcp eclipse.platform.releng.tychoeclipsebuilder %pom_disable_module rcp.sdk eclipse.platform.releng.tychoeclipsebuilder %pom_disable_module rcp.config eclipse.platform.releng.tychoeclipsebuilder %pom_disable_module sdk eclipse.platform.releng.tychoeclipsebuilder %pom_xpath_remove "plugin[@version='1.1.300.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 %pom_disable_module bundles/org.eclipse.sdk.examples eclipse.platform.releng %pom_disable_module features/org.eclipse.sdk.examples-feature eclipse.platform.releng %pom_disable_module examples/org.eclipse.swt.examples.ole.win32 eclipse.platform.swt %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.template rt.equinox.bundles utils/ensure_arch.sh rt.equinox.binaries x86 arm utils/ensure_arch.sh rt.equinox.framework/bundles x86 arm utils/ensure_arch.sh eclipse.platform.swt.binaries/bundles x86 arm utils/ensure_arch.sh rt.equinox.binaries x86_64 aarch64 ppc64 utils/ensure_arch.sh rt.equinox.framework/bundles x86_64 aarch64 ppc64 utils/ensure_arch.sh eclipse.platform.swt.binaries/bundles x86_64 aarch64 ppc64 TYCHO_ENV="linuxgtk%{_arch}" %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 for ids in `ls eclipse.platform.swt.binaries/bundles | grep -P -e 'org.eclipse.swt\.(?!gtk\.linux.%{_arch}$)'` ; do module=$(grep ">bundles/$ids<" eclipse.platform.swt.binaries/pom.xml || :) if [ -n "$module" ] ; then %pom_disable_module bundles/$ids eclipse.platform.swt.binaries %pom_xpath_inject "pom:excludes" "" eclipse.platform.ui/features/org.eclipse.e4.rcp fi done for ids in `ls rt.equinox.framework/bundles | grep -P -e 'org.eclipse.equinox.launcher\.(?!gtk\.linux.%{_arch}$)'` ; do module=$(grep ">bundles/$ids<" rt.equinox.framework/pom.xml || :) if [ -n "$module" ] ; then %pom_disable_module bundles/$ids rt.equinox.framework %pom_xpath_remove -f "plugin[@id='$ids']" rt.equinox.framework/features/org.eclipse.equinox.executable.feature/feature.xml fi done for ids in `(cd rt.equinox.bundles/bundles && ls -d *{macosx,win32,linux}*) | grep -P -e 'org.eclipse.equinox.security\.(?!linux\.%{_arch}$)'` ; do %pom_disable_module bundles/$ids rt.equinox.bundles %pom_xpath_remove "plugin[@id='$ids']" rt.equinox.p2/features/org.eclipse.equinox.p2.core.feature/feature.xml done for ids in `ls eclipse.platform.team/bundles/org.eclipse.core.net/fragments/ | grep -P -e 'org.eclipse.core.net\.(?!linux.%{_arch}$)'` ; do %pom_disable_module bundles/org.eclipse.core.net/fragments/$ids eclipse.platform.team done for ids in `ls eclipse.platform.resources/bundles/ | grep -P -e 'org.eclipse.core.filesystem\.(?!linux\.%{_arch}$)'` ; do module=$(grep ">bundles/$ids<" eclipse.platform.resources/pom.xml || :) if [ -n "$module" ] ; then %pom_disable_module bundles/$ids eclipse.platform.resources %pom_xpath_remove -f "plugin[@id='$ids']" eclipse.platform.resources/tests/org.eclipse.core.tests.filesystem.feature/feature.xml fi done %pom_disable_module bundles/org.eclipse.compare.win32 eclipse.platform.team %pom_disable_module bundles/org.eclipse.core.resources.win32.x86 eclipse.platform.resources %pom_disable_module bundles/org.eclipse.core.resources.win32.x86_64 eclipse.platform.resources %pom_disable_module org.eclipse.jdt.launching.macosx eclipse.jdt.debug %pom_disable_module org.eclipse.jdt.launching.ui.macosx eclipse.jdt.debug %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 for xml_name in eclipse.jdt/org.eclipse.jdt-feature/feature.xml \ eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml \ eclipse.platform.releng/features/org.eclipse.rcp/feature.xml \ eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml ; do %pom_xpath_remove -f "plugin[@os='macosx']" $xml_name %pom_xpath_remove -f "plugin[@os='win32']" $xml_name %pom_xpath_remove -f "plugin[@ws='win32']" $xml_name for arch in x86 x86_64 arm aarch64 ppc64 ppc64le s390x ; do if [ "$arch" != "%{_arch}" ] ; then %pom_xpath_remove -f "plugin[@arch='$arch']" $xml_name fi done done fix_files=$(grep -lr 3.107.100 eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.*) sed -i -e "s/3.107.100/3.108.0/" $fix_files fix_files=$(grep -lr '1\.1\.[67]00' rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.*) sed -i -e "s/1\.1\.[67]00/1.1.800/" -e "/Fragment-Host/s/\(bundle-version=\).*/\1\"1.0.0\"/" $fix_files %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} sed -i -e '//a' \ eclipse.platform.releng.tychoeclipsebuilder/platform/platform.product sed -i -e '/org.eclipse.ui.themes/i' \ eclipse.platform.releng/features/org.eclipse.platform-feature/feature.xml sed -i -e '/<\/excludes>/i' \ eclipse.platform.releng/features/org.eclipse.platform-feature/pom.xml %pom_xpath_remove "plugin[@id='org.hamcrest']" eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml %pom_xpath_remove "plugin[@id='org.hamcrest.text']" eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml %pom_xpath_remove "plugin[@id='org.mockito']" eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml %pom_xpath_inject "feature" '' eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml %pom_xpath_inject "feature" '' eclipse.platform.releng/features/org.eclipse.sdk.tests/feature.xml %pom_xpath_remove "plugin[@id='org.eclipse.core.tests.harness']" eclipse.platform.releng/features/org.eclipse.test-feature/feature.xml %pom_xpath_set "pom:plugin[pom:artifactId = 'tycho-packaging-plugin']/pom:configuration/pom:archive/pom:addMavenDescriptor" "true" eclipse-platform-parent for props in rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties; do grep '^root\.linux\.gtk\.%{_arch}[.=]' $props > tmp sed -i -e '/^root\./d' $props && cat tmp >> $props done install -d rt.equinox.binaries/org.eclipse.equinox.executable/bin/gtk/linux/%{_arch} for mf_file in rt.equinox.bundles/bundles/org.eclipse.equinox.security.linux.*/META-INF/MANIFEST.MF \ eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.*/META-INF/MANIFEST.MF \ eclipse.platform.resources/bundles/org.eclipse.core.filesystem.linux.*/META-INF/MANIFEST.MF \ eclipse.platform.team/bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.*/META-INF/MANIFEST.MF ; do echo -e "Eclipse-BundleShape: dir\n\n" >> $mf_file; done %pom_xpath_inject "pom:pluginManagement/pom:plugins/pom:plugin[pom:artifactId='tycho-compiler-plugin']/pom:dependencies" \ "org.eclipsejava10api10" eclipse-platform-parent dependencies/fake_ant_dependency.sh sed -i '/javax\.servlet\.jsp/ s/2\.3/2\.4/' rt.equinox.bundles/bundles/org.eclipse.equinox.jsp.jasper/META-INF/MANIFEST.MF find -name feature.xml | xargs sed -i -e 's|"javax.servlet"|"javax.servlet-api"|' sed -i -e "2iRequire-Bundle: javax.servlet-api" rt.equinox.bundles/bundles/org.eclipse.equinox.http.{jetty,servlet}/META-INF/MANIFEST.MF sed -i -e '/org.apache.felix.service.command/s/;status=provisional//' rt.equinox.bundles/bundles/org.eclipse.equinox.console{,.ssh}/META-INF/MANIFEST.MF %pom_remove_plugin org.eclipse.jetty:jetty-jspc-maven-plugin eclipse.platform.ua/org.eclipse.help.webapp for files in rt.equinox.framework/bundles/org.eclipse.osgi/osgi/ \ rt.equinox.framework/bundles/org.eclipse.osgi.services/lib/ \ rt.equinox.framework/bundles/org.eclipse.osgi.util/lib/ \ rt.equinox.bundles/bundles/org.eclipse.equinox.http.servlet/osgi/ \ rt.equinox.bundles/bundles/org.eclipse.equinox.coordinator/lib/ \ rt.equinox.bundles/bundles/org.eclipse.equinox.log.stream/osgi/ ;do ln -s $(build-classpath osgi-annotation) $files; done rm eclipse.platform.swt/tests/org.eclipse.swt.tests.gtk/ManualTests/org/eclipse/swt/tests/gtk/snippets/Bug421127_Clipping_is_wrong.java %mvn_package "::pom::" __noinstall %mvn_package ":*tests*" tests %mvn_package ":org.eclipse.equinox.frameworkadmin.test" tests %mvn_package ":org.eclipse.equinox.p2.installer" tests %mvn_package ":org.eclipse.jface.examples.databinding" tests %mvn_package ":org.eclipse.pde.tools.versioning" tests %mvn_package ":org.eclipse.update.core" tests %mvn_package "org.eclipse.test:org.eclipse.test" contributor-tools %mvn_package ":*examples*" __noinstall %mvn_package "::jar:sources{,-feature}:" sdk %mvn_package ":org.eclipse.jdt.doc.isv" sdk %mvn_package ":org.eclipse.platform.doc.isv" sdk %mvn_package ":org.eclipse.equinox.executable" sdk %mvn_package "org.eclipse.jdt{,.feature}:" jdt %mvn_package ":org.eclipse.ant.{launching,ui}" jdt %mvn_package ":org.eclipse.equinox.p2.discovery.{feature,compatibility}" p2-discovery %mvn_package ":org.eclipse.equinox.p2{,.ui}.discovery" p2-discovery %mvn_package ":org.eclipse.e4{,.core}.tools*" contributor-tools %mvn_package ":org.eclipse.releng.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.team:org.eclipse.team.cvs*" cvs %mvn_package "org.eclipse.pde{,.ui,.feature}:" pde %mvn_package "org.eclipse.ui:org.eclipse.ui.{views.log,trace}" pde %mvn_package "org.eclipse.sdk{,.feature}:" sdk %mvn_package ":" __noinstall %build export MAVEN_OPTS="-Xmx1024m -XX:CompileCommand=exclude,org/eclipse/tycho/core/osgitools/EquinoxResolver,newState ${MAVEN_OPTS}" export JAVA_HOME=%{_jvmdir}/java sed -i -e '/createSourcesJar/d' eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent/pom.xml (cd eclipse.jdt.debug/org.eclipse.jdt.launching.javaagent && xmvn -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=$(date -u -d"$(stat --format=%y %{SOURCE0})" +v%Y%m%d-%H%M) %mvn_build -j -f -- -DforceContextQualifier=$QUALIFIER \ -Declipse.javadoc=/usr/bin/javadoc -Dnative=gtk.linux.%{_arch} \ -Dtycho.local.keepTarget \ -Dfedora.p2.repos=$(pwd)/.m2/p2/repo-sdk/plugins -DbuildType=X product="eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{_arch}" dependencies/fake_ant_dependency.sh $product/eclipse/plugins/org.apache.ant_* dependencies/replace_platform_plugins_with_symlinks.sh $product/eclipse %{_javadir} %{_jnidir} pushd $product/eclipse rm -rf configuration/org.eclipse.core.runtime rm -rf configuration/org.eclipse.equinox.app rm -rf configuration/org.eclipse.update rm -rf configuration/org.eclipse.osgi rm -rf p2/org.eclipse.equinox.p2.core/cache/* rm -f icon.xpm rm -rf features/org.eclipse.emf.* plugins/org.eclipse.emf.* \ features/org.eclipse.ecf.* plugins/org.eclipse.ecf.* plugins/org.eclipse.ecf_* pushd p2/org.eclipse.equinox.p2.engine/.settings sed -i -e "/repositories\/file/d" -e "/repositories\/memory/d" *.prefs ../profileRegistry/SDKProfile.profile/.data/.settings/*.prefs popd sed -i -e "s|-Xms40m|-Xms512m|g" -e "s|-Xmx512m|-Xmx1024m|g" -e '1i-protect\nroot' eclipse.ini cat >> eclipse.ini < -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 -Dp2.fragments=%{_prefix}/lib/eclipse/droplets,%{_datadir}/eclipse/droplets -Declipse.p2.skipMovedInstallDetection=true -Dosgi.resolver.usesMode=ignore EOF popd %install %mvn_install install -d -m 755 $RPM_BUILD_ROOT%{_sysconfdir} $RPM_BUILD_ROOT%{_jnidir} \ $RPM_BUILD_ROOT%{_javadir}/eclipse $RPM_BUILD_ROOT%{_mavenpomdir} $RPM_BUILD_ROOT%{_bindir} install -D eclipse.platform/platform/org.eclipse.platform/eclipse32.png \ $RPM_BUILD_ROOT/usr/share/icons/hicolor/32x32/apps/eclipse.png install -D eclipse.platform/platform/org.eclipse.platform/eclipse48.png \ $RPM_BUILD_ROOT/usr/share/icons/hicolor/48x48/apps/eclipse.png install -D eclipse.platform/platform/org.eclipse.platform/eclipse256.png \ $RPM_BUILD_ROOT/usr/share/icons/hicolor/256x256/apps/eclipse.png install -d $RPM_BUILD_ROOT/usr/share/pixmaps ln -s /usr/share/icons/hicolor/256x256/apps/eclipse.png \ $RPM_BUILD_ROOT/usr/share/pixmaps/eclipse.png sed -i -e 's/Exec=eclipse/Exec=eclipse/g' desktopintegration/eclipse.desktop sed -i -e 's/Name=Eclipse/Name=Eclipse/g' desktopintegration/eclipse.desktop sed -i -e 's/Icon=eclipse/Icon=eclipse/g' desktopintegration/eclipse.desktop install -m644 -D desktopintegration/eclipse.desktop $RPM_BUILD_ROOT/usr/share/applications/eclipse.desktop desktop-file-validate $RPM_BUILD_ROOT/usr/share/applications/eclipse.desktop for xml_file in eclipse.appdata.xml eclipse-jdt.metainfo.xml eclipse-pde.metainfo.xml ; do install -m644 -D desktopintegration/$xml_file $RPM_BUILD_ROOT%{_datadir}/appdata/$xml_file ; done LOCAL_PWD=`pwd` cd eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{_arch}/eclipse/p2/org.eclipse.equinox.p2.engine/profileRegistry/SDKProfile.profile/ for gz_file in `ls | grep "profile.gz"` ; do \ gunzip $gz_file ; \ sed -i -e "s@${LOCAL_PWD}/eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{_arch}/eclipse@%{_prefix}/lib/eclipse@g" *.profile ; \ gzip *.profile ; \ done cd - rsync -vrpl eclipse.platform.releng.tychoeclipsebuilder/platform/target/products/org.eclipse.platform.ide/linux/gtk/%{_arch}/eclipse \ %{buildroot}%{_prefix}/lib cd %{buildroot}%{_bindir} ln -s %{_prefix}/lib/eclipse/eclipse cd - cd %{buildroot}/%{_sysconfdir}/ ln -s %{_prefix}/lib/eclipse/eclipse.ini cd - cd %{buildroot}%{_prefix}/lib/eclipse/plugins EQUINOX_JARS=$(ls . | grep -P '^org.eclipse.equinox(?!.*\.ui[\._])' | sed -e 's|^org\.eclipse\.\(.*\)_.*|\1|') OSGI_JARS=$(ls . | grep '^org.eclipse.osgi' | sed -e 's|^org\.eclipse\.\(.*\)_.*|\1|') cd - location=%{_prefix}/lib/eclipse/plugins while [ "$location" != "/" ] ; do location=$(dirname $location) updir="$updir../" done cd %{buildroot}%{_javadir}/eclipse for J in $EQUINOX_JARS core.contenttype core.jobs core.net core.runtime ; do DIR=$updir%{_prefix}/lib/eclipse/plugins if [ "$J" != "equinox.http.servlet" ] ; then [ -e "`ls $DIR/org.eclipse.${J}_*.jar`" ] && ln -s $DIR/org.eclipse.${J}_*.jar ${J}.jar fi done cd - rm -rf .xmvn/ .xmvn-reactor %mvn_package "org.eclipse.osgi:" equinox-osgi %mvn_package "org.eclipse.equinox.http:" platform %mvn_package "org.eclipse.swt:" swt for J in $OSGI_JARS ; do JAR=%{buildroot}%{_prefix}/lib/eclipse/plugins/org.eclipse.${J}_*.jar VER=$(echo $JAR | sed -e "s/.*${J}_\(.*\)\.jar/\1/") %mvn_artifact "org.eclipse.osgi:$J:jar:$VER" $JAR if [ "$J" = "osgi" ] ; then %mvn_alias "org.eclipse.osgi:$J" "org.eclipse.osgi:org.eclipse.$J" "org.eclipse.tycho:org.eclipse.$J" "org.eclipse:$J" else %mvn_alias "org.eclipse.osgi:$J" "org.eclipse.osgi:org.eclipse.$J" "org.eclipse.tycho:org.eclipse.$J" fi done JAR=%{buildroot}%{_prefix}/lib/eclipse/plugins/org.eclipse.equinox.http.servlet_*.jar VER=$(echo $JAR | sed -e "s/.*_\(.*\)\.jar/\1/") %mvn_artifact "org.eclipse.equinox.http:equinox.http.servlet:jar:$VER" $JAR %mvn_alias "org.eclipse.equinox.http:equinox.http.servlet" "org.eclipse.equinox.http:servlet" JAR=%{buildroot}%{_prefix}/lib/eclipse/plugins/org.eclipse.swt_*.jar VER=$(echo $JAR | sed -e "s/.*_\(.*\)\.jar/\1/") %mvn_artifact "org.eclipse.swt:org.eclipse.swt:jar:$VER" ./eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.%{_arch}/target/org.eclipse.swt.gtk.linux.%{_arch}-*-SNAPSHOT.jar %mvn_alias "org.eclipse.swt:org.eclipse.swt" "org.eclipse.swt:swt" %mvn_file "org.eclipse.swt:org.eclipse.swt" swt %mvn_install cd %{buildroot}/%{_prefix}/lib/eclipse/ ln -s $(abs2rel %{_jnidir}/swt.jar %{_prefix}/lib/eclipse) cd - 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 sed -i '/org.eclipse.equinox.p2.reconciler.test/ d' $RPM_BUILD_ROOT/%{_datadir}/eclipse-testing/equinoxp2tests.properties 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 find $RPM_BUILD_ROOT/%{_prefix}/lib/eclipse -name *.so -exec chmod a+x {} \; install -d -m 755 %{buildroot}%{_prefix}/lib/eclipse/.pkgs echo "4.9.0-3" > %{buildroot}%{_prefix}/lib/eclipse/.pkgs/Distro%{?dist} %post platform touch --no-create /usr/share/icons/hicolor if [ -x /usr/bin/gtk-update-icon-cache ]; then gtk-update-icon-cache -q /usr/share/icons/hicolor fi %postun platform touch --no-create /usr/share/icons/hicolor if [ -x /usr/bin/gtk-update-icon-cache ]; then gtk-update-icon-cache -q /usr/share/icons/hicolor fi %files swt -f .mfiles-swt %{_prefix}/lib/eclipse/plugins/org.eclipse.swt* %{_prefix}/lib/eclipse/swt.jar %{_jnidir}/swt.* %files platform -f .mfiles-platform %{_bindir}/eclipse %{_prefix}/lib/eclipse/eclipse %{_prefix}/lib/eclipse/.*p* %config %{_prefix}/lib/eclipse/eclipse.ini %config %{_sysconfdir}/eclipse.ini /usr/share/* %{_datadir}/appdata/eclipse.appdata.xml %dir %{_prefix}/lib/eclipse/configuration/ %dir %{_prefix}/lib/eclipse/configuration/org.eclipse.equinox.simpleconfigurator/ %{_prefix}/lib/eclipse/configuration/* %{_prefix}/lib/eclipse/features/org.eclipse.* %{_prefix}/lib/eclipse/plugins/* %{_prefix}/lib/eclipse/artifacts.xml %{_prefix}/lib/eclipse/p2 %doc %{_prefix}/lib/eclipse/readme %{_javadir}/eclipse/core* %{_javadir}/eclipse/equinox* %exclude %{_prefix}/lib/eclipse/plugins/org.eclipse.osgi* %exclude %{_prefix}/lib/eclipse/plugins/org.eclipse.swt* %files jdt -f .mfiles-jdt %{_datadir}/appdata/eclipse-jdt.metainfo.xml %files pde -f .mfiles-pde -f .mfiles-cvs -f .mfiles-sdk %{_prefix}/lib/eclipse/droplets/eclipse-sdk/features/org.eclipse.equinox.executable_* %{_datadir}/appdata/eclipse-pde.metainfo.xml %files p2-discovery -f .mfiles-p2-discovery %files contributor-tools -f .mfiles-contributor-tools %files tests -f .mfiles-tests %{_bindir}/eclipse-runTestBundles %{_datadir}/eclipse-testing %files equinox-osgi -f .mfiles-equinox-osgi %{_prefix}/lib/eclipse/plugins/org.eclipse.osgi* %changelog * Fri Nov 22 2019 sunguoshuai - 1:4.9.0-3 - Package init.