From b6537c9e53c4060668d535fb1b67b52e2c57068d Mon Sep 17 00:00:00 2001 From: krewsaid <4xxxxvii7@gmail.com> Date: Wed, 7 May 2025 08:57:34 +0800 Subject: [PATCH] Add support for sw_64 --- add_sw_64-support.patch | 305 ++++++++++++++++++++++++++++++++++++++++ eclipse.spec | 11 +- 2 files changed, 314 insertions(+), 2 deletions(-) create mode 100644 add_sw_64-support.patch diff --git a/add_sw_64-support.patch b/add_sw_64-support.patch new file mode 100644 index 0000000..39e8ba5 --- /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 09d16d8..726debe 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 -- Gitee