--- eclipse.platform.swt/bundles/org.eclipse.swt/.classpath_gtk.orig 2020-06-04 11:51:28.000000000 +0200 +++ eclipse.platform.swt/bundles/org.eclipse.swt/.classpath_gtk 2021-03-08 20:18:47.290005000 +0100 @@ -10,7 +10,7 @@ - + --- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Widget.java.orig 2020-06-04 11:51:28.000000000 +0200 +++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Widget.java 2021-03-08 20:18:47.291226000 +0100 @@ -10,7 +10,7 @@ * * Contributors: * IBM Corporation - initial API and implementation - * Pierre-Yves B., pyvesdev@gmail.com - Bug 219750: [styled text] Typing ~~ inserts é~~ + * Pierre-Yves B., pyvesdev@gmail.com - Bug 219750 *******************************************************************************/ package org.eclipse.swt.widgets; --- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/common/org/eclipse/swt/internal/Library.java.orig 2020-06-04 11:51:28.000000000 +0200 +++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/common/org/eclipse/swt/internal/Library.java 2021-03-08 20:18:47.291879000 +0100 @@ -69,12 +69,12 @@ static String arch() { String osArch = System.getProperty("os.arch"); //$NON-NLS-1$ if (osArch.equals ("i386") || osArch.equals ("i686")) return "x86"; //$NON-NLS-1$ $NON-NLS-2$ $NON-NLS-3$ - if (osArch.equals ("amd64")) return "x86_64"; //$NON-NLS-1$ $NON-NLS-2$ return osArch; } static String os() { String osName = System.getProperty("os.name"); //$NON-NLS-1$ + if (osName.equals ("FreeBSD")) return "freebsd"; //$NON-NLS-1$ $NON-NLS-2$ if (osName.equals ("Linux")) return "linux"; //$NON-NLS-1$ $NON-NLS-2$ if (osName.equals ("Mac OS X")) return "macosx"; //$NON-NLS-1$ $NON-NLS-2$ if (osName.startsWith ("Win")) return "win32"; //$NON-NLS-1$ $NON-NLS-2$ --- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh.orig 2020-06-04 11:51:28.000000000 +0200 +++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/build.sh 2021-03-08 20:31:19.761093000 +0100 @@ -72,7 +72,7 @@ cd `dirname $0` -MAKE_TYPE=make +MAKE_TYPE=gmake export CFLAGS='-O -Wall -fPIC' @@ -86,21 +86,14 @@ MAKEFILE=make_win32.mak ;; *) - SWT_OS=`uname -s | tr -s '[:upper:]' '[:lower:]'` + SWT_OS=`uname -s | tr '[:upper:]' '[:lower:]'` MAKEFILE=make_linux.mak ;; esac # Determine which CPU type we are building for if [ "${MODEL}" = "" ]; then - if uname -i > /dev/null 2>&1; then - MODEL=`uname -i` - if [ ${MODEL} = 'unknown' ]; then - MODEL=`uname -m` - fi - else MODEL=`uname -m` - fi fi case $MODEL in "x86_64") @@ -111,6 +104,16 @@ SWT_ARCH=x86 AWT_ARCH=i386 ;; + "powerpc" | "powerpc64") + SWT_ARCH=ppc64 + AWT_ARCH=ppc64 + MODEL=`uname -p` + ;; + "powerpc64le") + SWT_ARCH=ppc64le + AWT_ARCH=ppc64le + MODEL=`uname -p` + ;; *) SWT_ARCH=$MODEL AWT_ARCH=$MODEL @@ -118,6 +121,20 @@ esac case $SWT_OS.$SWT_ARCH in + "freebsd.ppc64") + if [ "${JAVA_HOME}" = "" ]; then + DYNAMIC_JAVA_HOME=`readlink -f /usr/local/bin/java | sed "s:jre/::" | sed "s:bin/java::"` + JAVA_HOME = $DYNAMIC_JAVA_HOME + export JAVA_HOME + fi + ;; + "freebsd.ppc64le") + if [ "${JAVA_HOME}" = "" ]; then + DYNAMIC_JAVA_HOME=`readlink -f /usr/local/bin/java | sed "s:jre/::" | sed "s:bin/java::"` + JAVA_HOME = $DYNAMIC_JAVA_HOME + export JAVA_HOME + fi + ;; "linux.x86") if [ "${CC}" = "" ]; then export CC=gcc @@ -194,7 +211,7 @@ # 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} = 'amd64' -o ${MODEL} = 'ia64' -o ${MODEL} = 's390x' -o ${MODEL} = 'ppc64le' -o ${MODEL} = 'aarch64' -o ${MODEL} = 'powerpc64' -o ${MODEL} = 'powerpc64le' ]; then SWT_PTR_CFLAGS=-DJNI64 if [ -d /lib64 ]; then XLIB64=-L/usr/X11R6/lib64 @@ -205,6 +222,11 @@ XLIB64="${XLIB64} -L/usr/lib64" SWT_LFLAGS=-m64 export SWT_LFLAGS + fi + if [ ${SWT_OS} = "freebsd" ] + then + SWT_PTR_CFLAGS="${SWT_PTR_CFLAGS} -m64" + export SWT_LFLAGS=-m64 fi export SWT_PTR_CFLAGS fi --- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak.orig 2020-06-04 11:51:28.000000000 +0200 +++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/library/make_linux.mak 2021-03-08 20:18:47.292979000 +0100 @@ -103,16 +103,18 @@ WEBKIT_OBJECTS = swt.o webkitgtk.o webkitgtk_structs.o webkitgtk_stats.o webkitgtk_custom.o GLX_OBJECTS = swt.o glx.o glx_structs.o glx_stats.o +port_prefix=`pkg-config --variable=prefix gtk+-3.0` CFLAGS := $(CFLAGS) \ -DSWT_VERSION=$(SWT_VERSION) \ $(NATIVE_STATS) \ $(SWT_DEBUG) \ $(SWT_WEBKIT_DEBUG) \ - -DLINUX -DGTK \ + -DFREEBSD -DGTK \ + -I$(port_prefix)/include \ -I$(JAVA_HOME)/include \ - -I$(JAVA_HOME)/include/linux \ + -I$(JAVA_HOME)/include/freebsd \ ${SWT_PTR_CFLAGS} -LFLAGS = -shared -fPIC ${SWT_LFLAGS} +LFLAGS = -shared -fPIC -m64 ${SWT_LFLAGS} -L$(port_prefix)/lib ifndef NO_STRIP # -s = Remove all symbol table and relocation information from the executable. @@ -255,10 +257,6 @@ cp $(ALL_SWT_LIBS) $(OUTPUT_DIR) ifeq ($(BUILD_WEBKIT2EXTENSION),yes) @# Copy webextension into it's own folder, but create folder first. - @# CAREFULLY delete '.so' files inside webextension*. Then carefully remove the directories. 'rm -rf' seemed too risky of an approach. - @-[ "$$(ls -d $(OUTPUT_DIR)/$(WEBEXTENSION_BASE_DIR)*/*.so)" ] && rm -v `ls -d $(OUTPUT_DIR)/$(WEBEXTENSION_BASE_DIR)*/*.so` - @-[ "$$(ls -d $(OUTPUT_DIR)/$(WEBEXTENSION_BASE_DIR)*)" ] && rmdir -v `ls -d $(OUTPUT_DIR)/$(WEBEXTENSION_BASE_DIR)*` - @# Copying webextension is not critical for build to succeed, thus we use '-'. SWT can still function without a webextension. @-[ -d $(OUTPUT_DIR)/$(WEBEXTENSION_DIR) ] || mkdir -v $(OUTPUT_DIR)/$(WEBEXTENSION_DIR) # If folder does not exist, make it. -cp $(WEBKIT_EXTENSION_LIB) $(OUTPUT_DIR)/$(WEBEXTENSION_DIR)/ --- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java.orig 2020-06-04 11:51:28.000000000 +0200 +++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT PI/gtk/org/eclipse/swt/internal/gtk/OS.java 2021-03-08 20:18:47.294228000 +0100 @@ -60,8 +60,8 @@ /* Initialize the OS flags and locale constants */ String osName = System.getProperty ("os.name"); - boolean isLinux = false, isWin32 = false; - if (osName.equals ("Linux")) isLinux = true; + boolean isLinux = osName.equals ("Linux") || osName.equals ("FreeBSD"); + boolean isWin32 = false; if (osName.startsWith("Windows")) isWin32 = true; IsLinux = isLinux; IsWin32 = isWin32; --- eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java.orig 2020-06-04 11:51:28.000000000 +0200 +++ eclipse.platform.swt/bundles/org.eclipse.swt/Eclipse SWT WebKit/gtk/org/eclipse/swt/browser/WebKit.java 2021-03-08 20:18:47.295739000 +0100 @@ -120,7 +120,7 @@ * https://www.nczonline.net/blog/2009/01/05/what-determines-that-a-script-is-long-running/ * https://stackoverflow.com/questions/3030024/maximum-execution-time-for-javascript */ - static final int ASYNC_EXEC_TIMEOUT_MS = 10000; + static final int ASYNC_EXEC_TIMEOUT_MS = 100; // Dirty hack for webkit issues on FreeBSD /** Workaround for bug 522733 */ static boolean bug522733FirstInstanceCreated = false; --- eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf.orig 2020-06-04 11:51:28.000000000 +0200 +++ eclipse.platform.swt/bundles/org.eclipse.swt/META-INF/p2.inf 2021-03-08 20:32:15.547465000 +0100 @@ -16,11 +16,16 @@ requires.3.filter = (&(osgi.os=macosx)(osgi.ws=cocoa)(osgi.arch=x86_64)(!(org.eclipse.swt.buildtime=true))) requires.4.namespace = org.eclipse.equinox.p2.iu -requires.4.name = org.eclipse.swt.gtk.linux.x86_64 +requires.4.name = org.eclipse.swt.gtk.freebsd.amd64 requires.4.range = [$version$,$version$] -requires.4.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=x86_64)(!(org.eclipse.swt.buildtime=true))) +requires.4.filter = (&(osgi.os=freebsd)(osgi.ws=gtk)(osgi.arch=amd64)(!(org.eclipse.swt.buildtime=true))) requires.5.namespace = org.eclipse.equinox.p2.iu -requires.5.name = org.eclipse.swt.gtk.linux.ppc64le +requires.5.name = org.eclipse.swt.gtk.freebsd.powerpc64 requires.5.range = [$version$,$version$] -requires.5.filter = (&(osgi.os=linux)(osgi.ws=gtk)(osgi.arch=ppc64le)(!(org.eclipse.swt.buildtime=true))) +requires.5.filter = (&(osgi.os=freebsd)(osgi.ws=gtk)(osgi.arch=powerpc64)(!(org.eclipse.swt.buildtime=true))) + +requires.6.namespace = org.eclipse.equinox.p2.iu +requires.6.name = org.eclipse.swt.gtk.freebsd.powerpc64le +requires.6.range = [$version$,$version$] +requires.6.filter = (&(osgi.os=freebsd)(osgi.ws=gtk)(osgi.arch=powerpc64le)(!(org.eclipse.swt.buildtime=true))) --- eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml.orig 2020-06-04 11:51:28.000000000 +0200 +++ eclipse.platform.swt/bundles/org.eclipse.swt/buildSWT.xml 2021-03-08 20:36:54.906169000 +0100 @@ -63,13 +63,17 @@ - + - + + + + + @@ -80,12 +84,12 @@ - + - + @@ -115,14 +119,22 @@ trust="true" outputproperty="m_linux_x86_64_output" command="hostname"/> - + - + - - + + + + + + + + --- eclipse.platform.swt/bundles/org.eclipse.swt.tools/Oomph/platformSwt.setup.orig 2020-06-04 11:51:28.000000000 +0200 +++ eclipse.platform.swt/bundles/org.eclipse.swt.tools/Oomph/platformSwt.setup 2021-03-08 20:37:08.379254000 +0100 @@ -103,7 +103,7 @@ xsi:type="predicates:NotPredicate"> + pattern=".*(cocoa|gtk|win32)(\.(freebsd|macosx|aix|hpux|linux|solaris|win32)(\.(amd64|x86_64|powerpc64|powerpc64le|ia64|aarch64|arm|ppc64|ppc64le|s390|s390x|x86|sparcv9))?)?"/> unix - Linux + @@ -118,7 +119,9 @@ examples/org.eclipse.swt.examples.ole.win32 examples/org.eclipse.swt.examples.views tests/org.eclipse.swt.tests.fragments.feature + features/org.eclipse.swt.tools.feature --- eclipse.platform.swt/tests/org.eclipse.swt.tests.fragments.feature/feature.xml.orig 2020-06-04 11:51:28.000000000 +0200 +++ eclipse.platform.swt/tests/org.eclipse.swt.tests.fragments.feature/feature.xml 2021-03-08 20:38:27.083939000 +0100 @@ -20,10 +20,10 @@ + +