diff --git a/eclipse-secondary-arches.patch b/eclipse-secondary-arches.patch
new file mode 100644
index 0000000..5bb3ef5
--- /dev/null
+++ b/eclipse-secondary-arches.patch
@@ -0,0 +1,84 @@
+--- eclipse.platform.swt.binaries/pom.xml.bak 2012-10-18 11:29:03.000000000 +0200
++++ eclipse.platform.swt.binaries/pom.xml 2012-10-18 11:39:42.523524920 +0200
+@@ -41,6 +41,7 @@
+ bundles/org.eclipse.swt.gtk.linux.ppc64
+ bundles/org.eclipse.swt.gtk.linux.s390
+ bundles/org.eclipse.swt.gtk.linux.s390x
++ bundles/org.eclipse.swt.gtk.linux.arm
+ bundles/org.eclipse.swt.gtk.linux.x86
+ bundles/org.eclipse.swt.gtk.linux.x86_64
+ bundles/org.eclipse.swt.gtk.solaris.sparc
+--- eclipse.platform.resources/pom.xml.bak 2012-10-18 11:29:04.000000000 +0200
++++ eclipse.platform.resources/pom.xml 2012-10-18 11:41:23.976257777 +0200
+@@ -31,7 +31,11 @@
+ bundles/org.eclipse.core.filesystem
+ bundles/org.eclipse.core.filesystem.hpux.ia64_32
+ bundles/org.eclipse.core.filesystem.hpux.PA_RISC
++ bundles/org.eclipse.core.filesystem.linux.arm
+ bundles/org.eclipse.core.filesystem.linux.ppc
++ bundles/org.eclipse.core.filesystem.linux.ppc64
++ bundles/org.eclipse.core.filesystem.linux.s390
++ bundles/org.eclipse.core.filesystem.linux.s390x
+ bundles/org.eclipse.core.filesystem.linux.x86
+ bundles/org.eclipse.core.filesystem.linux.x86_64
+ bundles/org.eclipse.core.filesystem.macosx
+--- eclipse.platform.team/pom.xml.bak 2012-10-18 11:29:03.000000000 +0200
++++ eclipse.platform.team/pom.xml 2012-10-18 11:43:17.422081348 +0200
+@@ -49,6 +49,11 @@
+ features/org.eclipse.cvs-feature
+
+
++ bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.arm
++ bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.ppc
++ bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.ppc64
++ bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.s390
++ bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.s390x
+ bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.x86
+ bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.x86_64
+ bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.win32.x86
+--- rt.equinox.framework/pom.xml.bak 2012-10-18 11:29:04.000000000 +0200
++++ rt.equinox.framework/pom.xml 2012-10-18 11:44:37.345691358 +0200
+@@ -41,6 +41,7 @@
+ bundles/org.eclipse.equinox.launcher.gtk.aix.ppc
+ bundles/org.eclipse.equinox.launcher.gtk.aix.ppc64
+ bundles/org.eclipse.equinox.launcher.gtk.hpux.ia64_32
++ bundles/org.eclipse.equinox.launcher.gtk.linux.arm
+ bundles/org.eclipse.equinox.launcher.gtk.linux.ppc
+ bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64
+ bundles/org.eclipse.equinox.launcher.gtk.linux.s390
+--- eclipse-parent/pom.xml.bak 2012-10-18 13:32:10.000000000 +0200
++++ eclipse-parent/pom.xml 2012-10-18 13:35:25.830543677 +0200
+@@ -138,30 +138,15 @@
+ x86_64
+
+
+- solaris
++ linux
+ gtk
+- sparc
++ arm
+
+
+- solaris
+- gtk
+- x86
+-
+-
+- hpux
+- gtk
+- ia64_32
+-
+-
+- aix
++ linux
+ gtk
+ ppc
+
+-
+- aix
+- gtk
+- ppc64
+-
+
+
+
diff --git a/eclipse.spec b/eclipse.spec
index b1aa32a..d4a7b78 100644
--- a/eclipse.spec
+++ b/eclipse.spec
@@ -15,19 +15,27 @@ Epoch: 1
%global installation_loc %{_libdir}/%{name}
+%ifarch %{ix86}
+ %define eclipse_arch x86
+%endif
+%ifarch x86_64
+ %define eclipse_arch x86_64
+%endif
%ifarch %{arm}
%define eclipse_arch arm
-%else %ifarch %{power64}
+%endif
+%ifarch %{power64}
%define eclipse_arch ppc64
-%else %ifarch %{sparc}
- %define eclipse_arch sparc
-%else %ifarch x86_64
- %define eclipse_arch x86_64
-%else %ifarch %{ix86}
- %define eclipse_arch %{arch}
-%endif %endif %endif %endif %endif
-
-
+%endif
+%ifarch ppc
+ %define eclipse_arch ppc
+%endif
+%ifarch s390x
+ %define eclipse_arch s390x
+%endif
+%ifarch s390
+ %define eclipse_arch s390
+%endif
# Set this flag to 1 if you want to build Eclipse without dependency to eclipse-pde
@@ -53,7 +61,19 @@ Epoch: 1
%define _symlink() \
_f=`ls | grep -e "^%{1}"`; \
rm -rf ${_f} ; \
-ln -s %{_javadir}/%{2} ${_f}
+ln -s %{_javadir}/%{2} ${_f}
+
+
+#Usage
+# _secondary baseArch targetArch
+%define _secondary() \
+_f=`ls | grep -e "%{1}$"`; \
+if [ -d ${_f/%{2}/%{3}/} ]; then \
+ echo "fragment ${_f/%{2}/%{3}/} already exists" \
+else cp -r ${_f} ${_f/%{2}/%{3}/} ; \
+find ${_f/%{2}/%{3}/} -type f -exec sed -i -e "s/%{2}/%{3}/g" {} \\; \
+fi;
+
Summary: An open, extensible IDE
Name: eclipse
@@ -212,6 +232,9 @@ Patch33: %{name}-build-internal-jdt-debug-jar.patch
Patch34: %{name}-fix-linkageerrors-in-ui.patch
+Patch35: %{name}-secondary-arches.patch
+
+
BuildRequires: ant >= 1.8.3
BuildRequires: rsync
BuildRequires: jpackage-utils >= 0:1.5, make, gcc
@@ -438,6 +461,7 @@ tar --strip-components=1 -xf %{SOURCE1}
%patch32
%patch33
%patch34
+%patch35
#p2.inf should be qualified (asked in the newsgroup and waiting for an answer)
#http://dev.eclipse.org/mhonarc/lists/cbi-dev/msg00777.html
@@ -519,6 +543,32 @@ sed -i -e "s@ org.eclipse.jgit;bundle-version=\"1.3.0\";resolution:=optional,@ o
# without git we are not able to compile those classes.
rm eclipse.platform.releng/bundles/org.eclipse.releng.tools/src/org/eclipse/releng/tools/git/*
+
+pushd eclipse.platform.swt.binaries/bundles
+ %_secondary gtk.linux.x86 x86 arm
+ find . -name build.xml -exec sed -i -e "s/make_xulrunner//g" {} \;
+ find . -name build.xml -exec sed -i -e "s/make_mozilla//g" {} \;
+ find . -name build.xml -exec sed -i -e "s/make_xpcominit//g" {} \;
+popd
+pushd eclipse.platform.resources/bundles
+ %_secondary linux.x86 x86 arm
+ %_secondary linux.x86_64 x86_64 ppc64
+ %_secondary linux.x86 x86 s390
+ %_secondary linux.x86_64 x86_64 s390x
+popd
+pushd eclipse.platform.team/bundles/org.eclipse.core.net/fragments
+ %_secondary linux.x86 x86 arm
+ %_secondary linux.x86 x86 ppc
+ %_secondary linux.x86_64 x86_64 ppc64
+ %_secondary linux.x86 x86 s390
+ %_secondary linux.x86_64 x86_64 s390x
+popd
+pushd rt.equinox.framework/bundles
+ %_secondary gtk.linux.x86 x86 arm
+popd
+pushd rt.equinox.binaries
+ %_secondary gtk.linux.x86 x86 arm
+popd
%build
export MAVEN_OPTS=-Xmx2048m
@@ -1360,7 +1410,8 @@ rm -rf %{_bindir}/efj/
%changelog
* Fri Oct 5 2012 Krzysztof Daniel 1:4.2.1-3
-- Add ability to exclude platform-pde from build .
+- Bootstrap build.
+- Support for secondary architectures.
* Tue Oct 2 2012 Krzysztof Daniel 1:4.2.1-2
- Bump emf version to 2.8.1.