Skip to content

Add FreeBSD aarch64/x86_64 platforms' build. #2044

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

chirontt
Copy link
Contributor

  • part of the overall issue Add support for FreeBSD eclipse.platform.releng.aggregator#2959
  • add 2 SWT binary modules for FreeBSD: org.eclipse.swt.gtk.freebsd.aarch64 and org.eclipse.swt.gtk.freebsd.x86_64
  • changes made to the build.sh script and make_linux.mak (renamed to make_unix.mak) to support compiling FreeBSD native binaries for SWT.

To support cross-compiling from Linux to FreeBSD, for the same hardware architecture, a Docker container is made available in my fork with detailed instructions:
https://github.com/chirontt/eclipse.platform.releng.aggregator/tree/master/cje-production/dockerfiles/alpine/freebsd-cross
which will be submitted to the official repo at later stage.

- part of eclipse-platform/eclipse.platform.releng.aggregator#2959
- add 2 SWT binary modules for FreeBSD:
  org.eclipse.swt.gtk.freebsd.aarch64
  org.eclipse.swt.gtk.freebsd.x86_64
- changes made to the build.sh script and make_linux.mak
(renamed to make_unix.mak) to support compiling FreeBSD native
binaries for SWT.

To support cross-compiling from Linux to FreeBSD, for the same hardware
architecture, a Docker container is made available in my fork with detailed
instructions:
https://github.com/chirontt/eclipse.platform.releng.aggregator/tree/master/cje-production/dockerfiles/alpine/freebsd-cross
which will be submitted to the official repo at later stage.
Copy link
Contributor

Test Results

0 files   -    526  0 suites   - 526   0s ⏱️ - 34m 10s
0 tests  -  4 336  0 ✅  -  4 326  0 💤  -   9  0 ❌  - 1 
0 runs   - 16 576  0 ✅  - 16 464  0 💤  - 111  0 ❌  - 1 

Results for commit 448c3e1. ± Comparison against base commit e63c07d.

@@ -44,3 +44,13 @@ requires.9.namespace = org.eclipse.equinox.p2.iu
requires.9.name = org.eclipse.swt.gtk.linux.riscv64
requires.9.range = [$version$,$version$]
requires.9.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=riscv64)(!(org.eclipse.swt.buildtime=true)))

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part can not go in unless actual binaries are produced and pushed .

Copy link
Contributor Author

@chirontt chirontt Apr 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not only this specific file, but without the SWT binaries being officially compiled for FreeBSD and checked in, this whole PR is moot/pointless and shouldn't be merged at all.

And with the SWT being a critical component of Eclipse, failure to merge this PR is also a critical failure for the whole effort in eclipse-platform/eclipse.platform.releng.aggregator#2959

@@ -38,3 +38,13 @@ requires.8.namespace = org.eclipse.equinox.p2.iu
requires.8.name = org.eclipse.swt.gtk.linux.riscv64
requires.8.range = 0.0.0
requires.8.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=riscv64))

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This part can not go in unless actual binaries are produced and pushed.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto, per my reply above

@@ -34,6 +35,8 @@
<modules>
<module>org.eclipse.swt.cocoa.macosx.x86_64</module>
<module>org.eclipse.swt.cocoa.macosx.aarch64</module>
<module>org.eclipse.swt.gtk.freebsd.aarch64</module>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As these will stay "shell" bundles without actual binaries in them we should not include them so such useless bundles don't get published in the p2 repo. I would be fine if you include them via Maven "freebsd" profile though.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto, per my reply above

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants