diff --git a/add_sw_64-support.patch b/add_sw_64-support.patch
new file mode 100644
index 0000000000000000000000000000000000000000..39e8ba59cc6b31645c50aae370daeb7460f9e5e4
--- /dev/null
+++ b/add_sw_64-support.patch
@@ -0,0 +1,305 @@
+diff --git a/eclipse.platform.swt.binaries/pom.xml b/eclipse.platform.swt.binaries/pom.xml
+index 5a2d0d8..3d3af6a 100644
+--- a/eclipse.platform.swt.binaries/pom.xml
++++ b/eclipse.platform.swt.binaries/pom.xml
+@@ -56,6 +56,7 @@
+ bundles/org.eclipse.swt.cocoa.macosx.x86_64
+ bundles/org.eclipse.swt.gtk.linux.arm
+ bundles/org.eclipse.swt.gtk.linux.aarch64
++ bundles/org.eclipse.swt.gtk.linux.sw_64
+ bundles/org.eclipse.swt.gtk.linux.ppc64le
+ bundles/org.eclipse.swt.gtk.linux.s390x
+ bundles/org.eclipse.swt.gtk.linux.x86
+diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh
+index c783f77..746ea70 100755
+--- a/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh
++++ b/eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh
+@@ -112,6 +112,10 @@ case $MODEL in
+ SWT_ARCH=x86
+ AWT_ARCH=i386
+ ;;
++ "sw_64")
++ SWT_ARCH=sw_64
++ AWT_ARCH=sw_64
++ ;;
+ *)
+ SWT_ARCH=$MODEL
+ AWT_ARCH=$MODEL
+@@ -180,6 +184,17 @@ case $SWT_OS.$SWT_ARCH in
+ export PKG_CONFIG_PATH="/usr/lib64/pkgconfig/"
+ fi
+ ;;
++ "linux.sw_64")
++ if [ "${CC}" = "" ]; then
++ export CC=gcc
++ fi
++ if [ "${JAVA_HOME}" = "" ]; then
++ export JAVA_HOME=`readlink -f /usr/bin/java | sed "s:jre/bin/java::"`
++ fi
++ if [ "${PKG_CONFIG_PATH}" = "" ]; then
++ export PKG_CONFIG_PATH="/usr/lib64/pkgconfig/"
++ fi
++ ;;
+ "linux.s390x")
+ if [ "${CC}" = "" ]; then
+ export CC=gcc
+@@ -195,7 +210,7 @@ esac
+
+
+ # For 64-bit CPUs, we have a switch
+-if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ia64' -o ${MODEL} = 's390x' -o ${MODEL} = 'ppc64le' -o ${MODEL} = 'aarch64' ]; then
++if [ ${MODEL} = 'x86_64' -o ${MODEL} = 'ia64' -o ${MODEL} = 's390x' -o ${MODEL} = 'ppc64le' -o ${MODEL} = 'aarch64' -o ${MODEL} = 'sw_64' ]; then
+ SWT_PTR_CFLAGS=-DJNI64
+ if [ -d /lib64 ]; then
+ XLIB64=-L/usr/X11R6/lib64
+@@ -215,6 +230,11 @@ if [ ${MODEL} = 'x86' -a ${SWT_OS} = 'linux' ]; then
+ export SWT_LFLAGS SWT_PTR_CFLAGS
+ fi
+
++if [ ${MODEL} = 'sw_64' -a ${SWT_OS} = 'linux' ]; then
++ SWT_LFLAGS=-o32
++ export SWT_LFLAGS SWT_PTR_CFLAGS
++fi
++
+ if [ x`pkg-config --exists cairo && echo YES` = "xYES" ]; then
+ func_echo_plus "Cairo found, compiling SWT support for the cairo graphics library."
+ MAKE_CAIRO=make_cairo
+@@ -365,4 +385,4 @@ elif [ "${GTK_VERSION}" = "4.0" ]; then
+ elif [ "${GTK_VERSION}" = "3.0" -o "${GTK_VERSION}" = "" ]; then
+ export GTK_VERSION="3.0"
+ func_build_gtk3 "$@"
+-fi
+\ No newline at end of file
++fi
+diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf b/eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf
+index b5b0b82..b9494a3 100644
+--- a/eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf
++++ b/eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf
+@@ -44,3 +44,8 @@ requires.9.namespace = org.eclipse.equinox.p2.iu
+ requires.9.name = org.eclipse.swt.gtk.linux.x86
+ requires.9.range = [$version$,$version$]
+ requires.9.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=x86)(!(org.eclipse.swt.buildtime=true)))
++
++requires.10.namespace = org.eclipse.equinox.p2.iu
++requires.10.name = org.eclipse.swt.gtk.linux.sw_64
++requires.10.range = [$version$,$version$]
++requires.10.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=sw_64)(!(org.eclipse.swt.buildtime=true)))
+diff --git a/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml b/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml
+index bf4faf7..04a0e3d 100644
+--- a/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml
++++ b/eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml
+@@ -69,6 +69,10 @@
+
+
+
++
++
++
++
+
+
+
+@@ -80,12 +84,12 @@
+
+
+
+-
++
+
+
+
+
+-
++
+
+
+
+@@ -122,6 +126,13 @@
+ trust="true"
+ outputproperty="m_linux_x86_64_output"
+ command="hostname"/>
++
+
+
+
++
+
+
+
+diff --git a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh
+index 43136d3..a905ab5 100755
+--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh
++++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/library/gtk/build.sh
+@@ -101,6 +101,11 @@ case $defaultOS in
+ defaultJavaHome=`readlink -f /usr/bin/java | sed "s:jre/bin/java::"`
+ OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch"
+ ;;
++ "sw_64")
++ defaultOSArch="sw_64"
++ defaultJava=DEFAULT_JAVA_EXEC
++ OUTPUT_DIR="$EXEC_DIR/bin/$defaultWS/$defaultOS/$defaultOSArch"
++ ;;
+ "s390")
+ defaultOSArch="s390"
+ defaultJava=DEFAULT_JAVA_EXEC
+diff --git a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml
+index cce14c4..c2db96e 100644
+--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml
++++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/pom.xml
+@@ -129,6 +129,7 @@
+
+
+
++
+
+
+
+diff --git a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/resources/build.properties b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/resources/build.properties
+index 741e9b3..6146da7 100644
+--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/resources/build.properties
++++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/resources/build.properties
+@@ -29,3 +29,6 @@ root.macosx.cocoa.x86_64.permissions.755=Contents/MacOS/${launcherName}
+ root.linux.gtk.x86_64=bin/gtk/linux/x86_64,gtk_root
+ root.linux.gtk.x86_64.permissions.755=libcairo-swt.so
+
++root.linux.gtk.sw_64=bin/gtk/linux/sw_64,gtk_root
++root.linux.gtk.sw_64.permissions.755=launcher
++
+diff --git a/rt.equinox.framework/pom.xml b/rt.equinox.framework/pom.xml
+index 44c1737..02de3f1 100644
+--- a/rt.equinox.framework/pom.xml
++++ b/rt.equinox.framework/pom.xml
+@@ -61,6 +61,18 @@
+ bundles/org.eclipse.equinox.launcher.gtk.linux.arm
+
+
++
++ build-native-launchers-gtk.linux.sw_64
++
++
++ native
++ gtk.linux.sw_64
++
++
++
++ bundles/org.eclipse.equinox.launcher.gtk.linux.sw_64
++
++
+
+ build-native-launchers-gtk.linux.aarch64
+
+@@ -110,6 +122,7 @@
+ bundles/org.eclipse.equinox.launcher.cocoa.macosx.x86_64
+ bundles/org.eclipse.equinox.launcher.gtk.linux.ppc64le
+ bundles/org.eclipse.equinox.launcher.gtk.linux.x86_64
++ bundles/org.eclipse.equinox.launcher.gtk.linux.sw_64
+ bundles/org.eclipse.equinox.launcher.win32.win32.x86_64
+
+ bundles/org.eclipse.osgi.tests
+diff --git a/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml b/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
+index 134aaea..3dd4d45 100644
+--- a/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
++++ b/eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml
+@@ -324,6 +324,16 @@
+ version="0.0.0"
+ fragment="true"/>
+
++
++
+
+
++
++
+
+
++
++
+ -XstartOnFirstThread
+
+
+-
++
+
+ windows
+
+diff --git a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties
+index 7f6dc63..5c81817 100644
+--- a/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties
++++ b/rt.equinox.framework/features/org.eclipse.equinox.executable.feature/build.properties
+@@ -44,3 +44,6 @@ root.linux.gtk.s390x.permissions.755=launcher
+
+ root.linux.gtk.x86=bin/gtk/linux/x86,gtk_root
+ root.linux.gtk.x86.permissions.755=launcher
++
++root.linux.gtk.sw_64=bin/gtk/linux/sw_64,gtk_root
++root.linux.gtk.sw_64.permissions.755=launcher
diff --git a/eclipse.spec b/eclipse.spec
index 09d16d8bdda787bf526766cf683afa48c7e785b9..726debe846569b3885156fdfcdefa41193ebcb0f 100644
--- a/eclipse.spec
+++ b/eclipse.spec
@@ -11,7 +11,7 @@
Name: eclipse
Epoch: 1
Version: 4.11
-Release: 11
+Release: 12
Summary: An open, extensible IDE
License: EPL-2.0
URL: http://www.eclipse.org/
@@ -53,6 +53,7 @@ Patch41: Remove-32-bit-code.patch
Patch42: Remove-32-bit-from-build-scripts.patch
Patch43: Remove-more-32-bit-code.patch
Patch44: switch-to-the-new-httpclient45-ECF-provider_2.patch
+Patch45: add_sw_64-support.patch
ExcludeArch: s390 %{arm} %{ix86}
BuildRequires: maven-local tycho tycho-extras cbi-plugins maven-antrun-plugin
BuildRequires: maven-assembly-plugin maven-dependency-plugin maven-enforcer-plugin
@@ -234,6 +235,9 @@ popd
%patch44 -p1
%endif
%endif
+%ifarch sw_64
+%patch45 -p1
+%endif
# Disable tests
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 \
@@ -293,7 +297,7 @@ sed -i -e 's/javax.annotation/javax.annotation-api/' eclipse.jdt.core/org.eclips
rm -rf eclipse.platform.swt.binaries/bundles/org.eclipse.swt.gtk.linux.{aarch64,s390x}
rm -rf rt.equinox.framework/bundles/org.eclipse.equinox.launcher.gtk.linux.{aarch64,s390x}
for dir in rt.equinox.binaries rt.equinox.framework/bundles eclipse.platform.swt.binaries/bundles ; do
- utils/ensure_arch.sh "$dir" x86_64 aarch64 s390x loongarch64 riscv64
+ utils/ensure_arch.sh "$dir" x86_64 aarch64 s390x loongarch64 riscv64 sw_64
done
TYCHO_ENV="linuxgtk%{_arch}"
%pom_xpath_set "pom:configuration/pom:environments" "$TYCHO_ENV" eclipse-platform-parent
@@ -764,6 +768,9 @@ echo "%{version}-%{release}" > %{buildroot}%{_eclipsedir}/.pkgs/Distro%{?dist}
%{_eclipsedir}/plugins/org.eclipse.osgi.util_*
%changelog
+* Thu Mar 06 2025 zhaojy - 1:4.11-12
+- Add support for sw_64
+
* Wed Apr 24 2024 Dingli Zhang - 1:4.11-11
- Add support for riscv64
- Disable org.eclipse.releng.tools for non-bootstrap