本次移植的补丁包只在deepin23上测试过,uos 20 1070和kylin 24.04因为glibc版本太低无法使用
代码仓库:https://gitee.com/flowas/eclipe-for-loong64
eclipeForLoong64
download source code
$$
git clone https://github.com/eclipse-platform/eclipse.platform.releng.aggregator.git
cd eclipse.platform.releng.aggregator
git submodule update --init --recursive
$$
build executable
sudo apt-get install gtk+-3.0
cd eclipse.platform.releng.aggregator/equinox/features/org.eclipse.equinox.executable.feature/library/gtk
./build.sh
执行 ./build.sh install 会自动复制.so文件到eclipse.platform.releng.aggregator/equinox.binaries目录下的 org.eclipse.equinox.launcher.gtk.linux.loongarch64和org.eclipse.equinox.executable目录
build swt
在工程eclipse.platform.releng.aggregator/eclipse.platform.swt/bundles/org.eclipse.swt中 按照配置文件nativeSourceFolders.properties中目录信息,复制src_common和src_gtk类型目录下的文件到bin/library 或者Eclipse正确倒入swt工程后会生成bin/library目录, 也可以复制eclipeForLoong64/copy/org.eclipse.swt/*到eclipse.platform.releng.aggregator/eclipse.platform.swt/bundles/org.eclipse.swt目录,然后执行python3 copy_files.py自动复制
在bin/library目录下执行命令
$$
export SWT_JAVA_HOME=${JAVA_HOME}
./build.sh -gtk3 install
$$
然后会生成很多.so文件,会自动复制到eclipse.platform.releng.aggregator/eclipse.platform.swt/binaries/org.eclipse.swt.gtk.linux.loongarch64目录
repackage jar
复制以下目录
eclipse.platform.releng.aggregator/eclipse.platform/resources/bundles/org.eclipse.core.filesystem.linux.loongarch64
eclipse.platform.releng.aggregator/equinox/bundles/org.eclipse.equinox.launcher.gtk.linux.loongarch64
eclipse.platform.releng.aggregator/eclipse.platform.swt/binaries/org.eclipse.swt.gtk.linux.loongarch64
eclipse.platform.releng.aggregator/equinox.binaries 到eclipeForLoong64/resources目录下
从eclipse-jee-2025-03-R-linux-gtk-aarch64.tar.gz中复制 plugins/org.eclipse.core.filesystem.linux.aarch64_1.4.200.v20220812-1420.jar plugins/org.eclipse.equinox.launcher.gtk.linux.aarch64_1.2.1300.v20250212-0927 plugins/org.eclipse.swt.gtk.linux.aarch64_3.129.0.v20250221-1734.jar 文件到eclipeForLoong64/resources目录
把eclipeForLoong64中resources和shells目录下文件复制到build目录
执行 ./build.sh 会执行如下工作:
修改 org.eclipse.core.filesystem.linux.loongarch64/META-INF/MANIFEST.MF Bundle-Version: 1.4.200.v20220812-1420 org.eclipse.equinox.launcher.gtk.linux.loongarch64/META-INF/MANIFEST.MF Bundle-Version: 1.2.1300.v20250212-0927 org.eclipse.swt.gtk.linux.loongarch64_3.129.0.v20250221-1734/META-INF/MANIFEST.MF Bundle-Version: 3.129.0.v20250221-1734 复制equinox.binaries/org.eclipse.equinox.launcher.gtk.linux.loongarch64/eclipse_11909.so到build/org.eclipse.equinox.launcher.gtk.linux.loongarch64目录
重新生成jar包,并将所有eclipse中loong64相关内容放在eclipeForLoong64/binary/replace目录下
替换eclipse中aarch64相关内容为loong64相关内容
复制eclipeForLoong64/binary/replace目录和replace.sh文件到aarch64版eclipse安装目录,执行./replace.sh脚本即可替换相关文件,成功后执行./eclipse启动eclipse