--- eclipse.platform.ui/bundles/org.eclipse.e4.ui.swt.gtk/pom.xml.orig	2020-06-03 13:17:27.000000000 +0200
+++ eclipse.platform.ui/bundles/org.eclipse.e4.ui.swt.gtk/pom.xml	2021-03-08 20:18:47.351392000 +0100
@@ -33,9 +33,9 @@
           <resolver>p2</resolver>
           <environments>
             <environment>
-              <os>linux</os>
+              <os>freebsd</os>
               <ws>gtk</ws>
-              <arch>x86_64</arch>
+              <arch>amd64</arch>
             </environment>
           </environments>
         </configuration>
--- eclipse.platform.ui/bundles/org.eclipse.ui.browser/plugin.xml.orig	2020-06-03 13:17:27.000000000 +0200
+++ eclipse.platform.ui/bundles/org.eclipse.ui.browser/plugin.xml	2021-03-08 20:18:47.351814000 +0100
@@ -94,7 +94,7 @@
       <browser
          id="org.eclipse.ui.browser.firefox"
          name="%browserFirefox"
-         os="linux,aix,hpux,solaris"
+         os="freebsd,linux,aix,hpux,solaris"
          executable="firefox"
          factoryclass="org.eclipse.ui.internal.browser.browsers.MozillaFactory">
          <location>
@@ -104,28 +104,28 @@
       <browser
          id="org.eclipse.ui.browser.chrome"
          name="%browserChrome"
-         os="linux,aix,hpux,solaris"
+         os="freebsd,linux,aix,hpux,solaris"
          executable="google-chrome">
          <location>usr/bin/google-chrome</location>
       </browser>
       <browser
          id="org.eclipse.ui.browser.chromium"
          name="%browserChromium"
-         os="linux"
+         os="freebsd,linux"
          executable="chromium-browser">
          <location>usr/bin/chromium-browser</location>
       </browser>
       <browser
          id="org.eclipse.ui.browser.konqueror"
          name="%browserKonqueror"
-         os="linux,aix,hpux,solaris"
+         os="freebsd,linux,aix,hpux,solaris"
          executable="konqueror">
          <location>usr/bin/konqueror</location>
       </browser>
       <browser
          id="org.eclipse.ui.browser.epiphany"
          name="%browserEpiphany"
-         os="linux"
+         os="freebsd,linux"
          executable="epiphany">
          <location>
          	usr/bin/epiphany
--- eclipse.platform.ui/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TitleRegion.java.orig	2020-06-03 13:17:27.000000000 +0200
+++ eclipse.platform.ui/bundles/org.eclipse.ui.forms/src/org/eclipse/ui/internal/forms/widgets/TitleRegion.java	2021-03-08 20:18:47.352410000 +0100
@@ -210,7 +210,8 @@
 				if (currentTitleControl.getVisible()) {
 					int tw = width - HMARGIN * 2 - SPACING * 2;
 					String os = System.getProperty("os.name"); //$NON-NLS-1$
-					if (Constants.OS_LINUX.equalsIgnoreCase(os)) {
+					if (Constants.OS_LINUX.equalsIgnoreCase(os) ||
+						Constants.OS_FREEBSD.equalsIgnoreCase(os)) {
 						tw += 1; // See Bug 342610
 					}
 					if (bsize != null)
@@ -584,4 +585,4 @@
 		target.setTransfer(transferTypes);
 		target.addDropListener(listener);
 	}
-}
\ No newline at end of file
+}
--- eclipse.platform.ui/bundles/org.eclipse.ui.themes/plugin.xml.orig	2020-06-03 13:17:27.000000000 +0200
+++ eclipse.platform.ui/bundles/org.eclipse.ui.themes/plugin.xml	2021-03-08 20:18:47.352793000 +0100
@@ -12,7 +12,7 @@
         basestylesheeturi="css/e4-dark_linux.css"
         id="org.eclipse.e4.ui.css.theme.e4_dark"
         label="%theme.dark"
-        os="linux">
+        os="freebsd">
     </theme>
     <theme
         basestylesheeturi="css/e4-dark_win.css"
@@ -37,7 +37,7 @@
             basestylesheeturi="css/e4_default_gtk.css"
             id="org.eclipse.e4.ui.css.theme.e4_default"
             label="%theme.gtk"
-            os="linux">
+            os="freebsd">
       </theme>
       <theme
             basestylesheeturi="css/e4_default_mac.css"
--- eclipse.platform.ui/bundles/org.eclipse.urischeme/src/org/eclipse/urischeme/IOperatingSystemRegistration.java.orig	2020-06-03 13:17:27.000000000 +0200
+++ eclipse.platform.ui/bundles/org.eclipse.urischeme/src/org/eclipse/urischeme/IOperatingSystemRegistration.java	2021-03-08 20:18:47.353114000 +0100
@@ -33,6 +33,8 @@
 	 * @return an instance of IOperatingSystemRegistration
 	 */
 	static IOperatingSystemRegistration getInstance() {
+		if (Platform.OS_FREEBSD.equals(Platform.getOS()))
+			return new RegistrationLinux();
 		if (Platform.OS_MACOSX.equals(Platform.getOS())) {
 			return new RegistrationMacOsX();
 		} else if (Platform.OS_LINUX.equals(Platform.getOS())) {
--- eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml.orig	2020-06-03 13:17:27.000000000 +0200
+++ eclipse.platform.ui/features/org.eclipse.e4.rcp/feature.xml	2021-03-08 20:55:41.125354000 +0100
@@ -403,26 +403,36 @@
          fragment="true"/>
 
    <plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.ppc64le"
-         os="linux"
+         id="org.eclipse.equinox.launcher.gtk.freebsd.powerpc64"
+         os="freebsd"
          ws="gtk"
-         arch="ppc64le"
+         arch="powerpc64"
          download-size="0"
          install-size="0"
          version="0.0.0"
          fragment="true"/>
 
    <plugin
-         id="org.eclipse.equinox.launcher.gtk.linux.x86_64"
-         os="linux"
+         id="org.eclipse.equinox.launcher.gtk.freebsd.powerpc64le"
+         os="freebsd"
          ws="gtk"
-         arch="x86_64"
+         arch="powerpc64le"
          download-size="0"
          install-size="0"
          version="0.0.0"
          fragment="true"/>
 
    <plugin
+         id="org.eclipse.equinox.launcher.gtk.freebsd.amd64"
+         os="freebsd"
+         ws="gtk"
+         arch="amd64"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"/>
+
+   <plugin
          id="org.eclipse.equinox.launcher.win32.win32.x86_64"
          os="win32"
          ws="win32"
@@ -451,10 +461,10 @@
          unpack="false"/>
 
    <plugin
-         id="org.eclipse.swt.gtk.linux.ppc64le"
-         os="linux"
+         id="org.eclipse.swt.gtk.freebsd.powerpc64"
+         os="freebsd"
          ws="gtk"
-         arch="ppc64le"
+         arch="powerpc64"
          download-size="0"
          install-size="0"
          version="0.0.0"
@@ -462,10 +472,21 @@
          unpack="false"/>
 
    <plugin
-         id="org.eclipse.swt.gtk.linux.x86_64"
-         os="linux"
+         id="org.eclipse.swt.gtk.freebsd.powerpc64le"
+         os="freebsd"
          ws="gtk"
-         arch="x86_64"
+         arch="powerpc64le"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         fragment="true"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.swt.gtk.freebsd.amd64"
+         os="freebsd"
+         ws="gtk"
+         arch="amd64"
          download-size="0"
          install-size="0"
          version="0.0.0"
--- eclipse.platform.ui/features/org.eclipse.e4.rcp/pom.xml.orig	2020-06-03 13:17:27.000000000 +0200
+++ eclipse.platform.ui/features/org.eclipse.e4.rcp/pom.xml	2021-03-08 20:56:25.872460000 +0100
@@ -39,8 +39,9 @@
                 <plugin id="javax.xml"/>
                 <plugin id="org.eclipse.swt"/>
                 <plugin id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64"/>
-                <plugin id="org.eclipse.equinox.launcher.gtk.linux.ppc64le"/>
-                <plugin id="org.eclipse.equinox.launcher.gtk.linux.x86_64"/>
+                <plugin id="org.eclipse.equinox.launcher.gtk.freebsd.powerpc64"/>
+                <plugin id="org.eclipse.equinox.launcher.gtk.freebsd.powerpc64le"/>
+                <plugin id="org.eclipse.equinox.launcher.gtk.freebsd.amd64"/>
                 <plugin id="org.eclipse.equinox.launcher.win32.win32.x86_64"/>
               </excludes>
             </configuration>