This project contains tools to build the port files for FreeBSD's /usr/ports/java/eclipse.
- config.sh Project configuration
- bin Script files, expected to be invoked from top-level as
bin/script
- distfiles Cached copy of Eclipse tarballs
- java-eclipse Port to be eventually released to /usr/ports/java/eclipse
- java-eclipse/files/patch- Generated patches to port Eclipse to FreeBSD
- eclipse.platform.releng.aggregator Eclipse patched for FreeBSD
- .baseline.eclipse.platform.releng.aggregator (generated) pristine unpacked tree
- maven-repo.${tag} Maven repository for Eclipse build
- devel/gmake
- devel/maven
- devel/pkgconf
- java/openjdk11
- security/libsecret
- www/webkit2-gtk3
- x11-toolkits/gtk30
bin/fetch-distfiles [additional fetch(1) flags]
bin/unpack-distfiles
bin/apply-patches [directory ...]
Unpacked distfiles + up-to-date patches => eclipse.platform.releng.aggregator
- Work on eclipse.platform.releng.aggregator
bin/build-eclipse [additional maven flags]
The challenge is to get a working build. Changes to eclipse.platform.releng.aggregator should be committed and pushed to the repo as required. At stable checkpoints, patches for the port should be generated with:
bin/generate-patches
On a successful build, org.eclipse.sdk.ide-freebsd.gtk.${ARCH}.tar.gz
is
generated. This can be unpacked to test the generated executable:
tar xf org.eclipse.sdk.ide-freebsd.gtk.${ARCH}.tar.gz
eclipse/eclipse
When a usable executable has been generated the java/eclipse port can be updated:
bin/generate-patches
- Update the eclipse-maven-repo project with the contents of maven-repo.${TAG}.
- Update java-eclipse Makefile, distinfo, etc
- Verify port build and installation
- Submit port
The porting-strategy is based on using the Linux port as the base and converting it to FreeBSD. The pre-patch stage renames Linux specific directories, and most of the work devolves to changing the following lines of text:
linux.x86_64
=>freebsd.amd64
linux.ppc64le
=>freebsd.powerpc64
The following modules have been disabled as they involve maven repository updates or are uncompilable tests.
- tests/org.eclipse.swt.tests.gtk
- eclipse-junit-tests
- eclipse.platform.repository