[eclipse] Support for secondary arches (arm, ppc, ppc64, x86, x86_64, s390, s390x).

Krzysztof Daniel kdaniel at fedoraproject.org
Fri Oct 19 15:11:49 UTC 2012


commit 57d06ede7fc887d9c269c66f62dcc222d72f5e23
Author: Krzysztof Daniel <kdaniel at redhat.com>
Date:   Fri Oct 19 08:08:58 2012 +0200

    Support for secondary arches (arm, ppc, ppc64, x86, x86_64, s390,
    s390x).

 eclipse-secondary-arches.patch |   84 ++++++++++++++++++++++++++++++++++++++++
 eclipse.spec                   |   75 ++++++++++++++++++++++++++++++------
 2 files changed, 147 insertions(+), 12 deletions(-)
---
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 @@
+     <module>bundles/org.eclipse.swt.gtk.linux.ppc64</module>
+     <module>bundles/org.eclipse.swt.gtk.linux.s390</module>
+     <module>bundles/org.eclipse.swt.gtk.linux.s390x</module>
++    <module>bundles/org.eclipse.swt.gtk.linux.arm</module>
+     <module>bundles/org.eclipse.swt.gtk.linux.x86</module>
+     <module>bundles/org.eclipse.swt.gtk.linux.x86_64</module>
+     <module>bundles/org.eclipse.swt.gtk.solaris.sparc</module>
+--- 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 @@
+     <module>bundles/org.eclipse.core.filesystem</module>
+     <module>bundles/org.eclipse.core.filesystem.hpux.ia64_32</module>
+     <module>bundles/org.eclipse.core.filesystem.hpux.PA_RISC</module>
++    <module>bundles/org.eclipse.core.filesystem.linux.arm</module>
+     <module>bundles/org.eclipse.core.filesystem.linux.ppc</module>
++    <module>bundles/org.eclipse.core.filesystem.linux.ppc64</module>
++    <module>bundles/org.eclipse.core.filesystem.linux.s390</module>
++    <module>bundles/org.eclipse.core.filesystem.linux.s390x</module>
+     <module>bundles/org.eclipse.core.filesystem.linux.x86</module>
+     <module>bundles/org.eclipse.core.filesystem.linux.x86_64</module>
+     <module>bundles/org.eclipse.core.filesystem.macosx</module>
+--- 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 @@
+     <module>features/org.eclipse.cvs-feature</module>
+ 
+     <!-- creatively located fragments -->
++    <module>bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.arm</module>
++    <module>bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.ppc</module>
++    <module>bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.ppc64</module>
++    <module>bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.s390</module>
++    <module>bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.s390x</module>
+     <module>bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.x86</module>
+     <module>bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.linux.x86_64</module>
+     <module>bundles/org.eclipse.core.net/fragments/org.eclipse.core.net.win32.x86</module>
+--- 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 @@
+     <module>bundles/org.eclipse.equinox.launcher.gtk.aix.ppc</module>
+     <module>bundles/org.eclipse.equinox.launcher.gtk.aix.ppc64</module>
+     <module>bundles/org.eclipse.equinox.launcher.gtk.hpux.ia64_32</module>
++    <module>bundles/org.eclipse.equinox.launcher.gtk.linux.arm</module>
+     <module>bundles/org.eclipse.equinox.launcher.gtk.linux.ppc</module>
+     <module>bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64</module>
+     <module>bundles/org.eclipse.equinox.launcher.gtk.linux.s390</module>
+--- 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 @@
+               <arch>x86_64</arch>
+             </environment>
+             <environment>
+-              <os>solaris</os>
++              <os>linux</os>
+               <ws>gtk</ws>
+-              <arch>sparc</arch>
++              <arch>arm</arch>
+             </environment>
+             <environment>
+-              <os>solaris</os>
+-              <ws>gtk</ws>
+-              <arch>x86</arch>
+-            </environment>
+-            <environment>
+-              <os>hpux</os>
+-              <ws>gtk</ws>
+-              <arch>ia64_32</arch>
+-            </environment>
+-            <environment>
+-              <os>aix</os>
++              <os>linux</os>
+               <ws>gtk</ws>
+               <arch>ppc</arch>
+             </environment>
+-            <environment>
+-              <os>aix</os>
+-              <ws>gtk</ws>
+-              <arch>ppc64</arch>
+-            </environment>
+           </environments>
+         </configuration>
+       </plugin>
diff --git a/eclipse.spec b/eclipse.spec
index b3a25e9..4dc4b2c 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 <kdaniel at redhat.com> 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 <kdaniel at redhat.com> 1:4.2.1-2
 - Bump emf version to 2.8.1.


More information about the scm-commits mailing list