git: d551e5b93e20 - main - x11-toolkits/swt: update to 4.21
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 07 Jun 2022 12:38:18 UTC
The branch main has been updated by makc:
URL: https://cgit.FreeBSD.org/ports/commit/?id=d551e5b93e20225875d3b682bb6dc93412d03680
commit d551e5b93e20225875d3b682bb6dc93412d03680
Author: Max Brazhnikov <makc@FreeBSD.org>
AuthorDate: 2022-06-07 12:37:25 +0000
Commit: Max Brazhnikov <makc@FreeBSD.org>
CommitDate: 2022-06-07 12:38:03 +0000
x11-toolkits/swt: update to 4.21
- Sync patches with eclipse 4.21
- Remove patch-org_eclipse_swt_graphics_Device.java (which breaks
icons in Eclipse) and install missing *.css files
- Add patch-org_eclipse_swt_widgets_Shell.java to fix layout on HiDPI
scaled to 200%
PR: 264512 (based on)
Submmitted by: huanghwh@gmail.com
---
x11-toolkits/swt/Makefile | 7 +++---
x11-toolkits/swt/distinfo | 6 +++---
x11-toolkits/swt/files/build.xml | 3 +--
x11-toolkits/swt/files/patch-OS.java | 22 -------------------
.../patch-org_eclipse_swt_browser_WebKit.java | 11 ++++++++++
.../patch-org_eclipse_swt_graphics_Device.java | 11 ----------
.../patch-org_eclipse_swt_internal_Library.java | 16 ++++++++++++++
.../patch-org_eclipse_swt_internal_gtk_OS.java | 13 +++++++++++
.../files/patch-org_eclipse_swt_widgets_Shell.java | 20 +++++++++++++++++
x11-toolkits/swt/files/patch-os.c | 4 ++--
x11-toolkits/swt/files/swt_functional_gtk_3_20.css | 13 +++++++++++
.../swt/files/swt_theming_fixes_gtk_3_20.css | 25 ++++++++++++++++++++++
.../swt/files/swt_theming_fixes_gtk_3_24_5.css | 3 +++
13 files changed, 111 insertions(+), 43 deletions(-)
diff --git a/x11-toolkits/swt/Makefile b/x11-toolkits/swt/Makefile
index 458e4433a6fe..6be4bf028df8 100644
--- a/x11-toolkits/swt/Makefile
+++ b/x11-toolkits/swt/Makefile
@@ -1,9 +1,9 @@
# Created by: Robert C. Noland III <rnoland@FreeBSD.org>
PORTNAME= swt
-DISTVERSION= 4.20
+DISTVERSION= 4.21
CATEGORIES= x11-toolkits devel java
-MASTER_SITES= http://archive.eclipse.org/eclipse/downloads/drops4/R-${DISTVERSION}-202106111600/
+MASTER_SITES= http://archive.eclipse.org/eclipse/downloads/drops4/R-${DISTVERSION}-202109060500/
DISTNAME= ${PORTNAME}-${DISTVERSION}-gtk-linux-x86_64
MAINTAINER= makc@FreeBSD.org
@@ -22,7 +22,7 @@ USE_JAVA= yes
USE_XORG= xtst
JAVA_OS= native
-SWT_VERSION= 4944r26
+SWT_VERSION= 4946r21
MAKEFILE= make_freebsd.mak
MAKE_ENV= SWT_VERSION=${SWT_VERSION}
@@ -47,6 +47,7 @@ post-extract:
@(cd ${WRKSRC} && ${UNZIP_CMD} -qo "*.zip")
@${CP} ${FILESDIR}/build.xml ${WRKSRC}/build.xml
@${CP} ${WRKSRC}/make_linux.mak ${WRKSRC}/make_freebsd.mak
+ @${CP} ${FILESDIR}/*.css ${WRKSRC}/org/eclipse/swt/internal/gtk/
post-patch:
${SED} -e 's|freebsd|dragonfly|g' ${WRKSRC}/make_freebsd.mak \
diff --git a/x11-toolkits/swt/distinfo b/x11-toolkits/swt/distinfo
index eb9b0137ae53..b3ace138ef81 100644
--- a/x11-toolkits/swt/distinfo
+++ b/x11-toolkits/swt/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1627381059
-SHA256 (swt-4.20-gtk-linux-x86_64.zip) = 0d1ab552b95aab6df6c0499c934fd82864100dc638c43b6c1e793e740bb534c2
-SIZE (swt-4.20-gtk-linux-x86_64.zip) = 3808712
+TIMESTAMP = 1654502811
+SHA256 (swt-4.21-gtk-linux-x86_64.zip) = 3e35a4ababf504bcf64df864e4a957aaa2f0dec9696a922d936c7ee224fa4c5f
+SIZE (swt-4.21-gtk-linux-x86_64.zip) = 3851041
diff --git a/x11-toolkits/swt/files/build.xml b/x11-toolkits/swt/files/build.xml
index b25b8819b9ec..7411f76da48b 100644
--- a/x11-toolkits/swt/files/build.xml
+++ b/x11-toolkits/swt/files/build.xml
@@ -39,12 +39,11 @@
<exclude name="**/*.java"/>
<exclude name="**/*.o"/>
<exclude name="**/*.so"/>
- <!-- exclude CVS archive -->
- <exclude name="**/CVS/**"/>
</fileset>
<fileset dir="${basedir}">
<include name="**/version.txt"/>
<include name="**/*.properties"/>
+ <include name="**/*.css"/>
</fileset>
</jar>
</target>
diff --git a/x11-toolkits/swt/files/patch-OS.java b/x11-toolkits/swt/files/patch-OS.java
deleted file mode 100644
index 5a89171d0b5c..000000000000
--- a/x11-toolkits/swt/files/patch-OS.java
+++ /dev/null
@@ -1,22 +0,0 @@
---- org/eclipse/swt/internal/gtk/OS.java.orig 2021-06-11 17:24:22 UTC
-+++ org/eclipse/swt/internal/gtk/OS.java
-@@ -61,15 +61,16 @@ import org.eclipse.swt.internal.*;
- */
- public class OS extends C {
- /** OS Constants */
-- public static final boolean IsLinux, IsWin32, BIG_ENDIAN;
-+ public static final boolean IsLinux, IsWin32, BIG_ENDIAN, IsFreeBSD;
- static {
-
- /* Initialize the OS flags and locale constants */
- String osName = System.getProperty ("os.name");
-- boolean isLinux = false, isWin32 = false;
-+ boolean isLinux = false, isWin32 = false, isFreeBSD = false;
- if (osName.equals ("Linux")) isLinux = true;
- if (osName.startsWith("Windows")) isWin32 = true;
-- IsLinux = isLinux; IsWin32 = isWin32;
-+ if (osName.equals ("FreeBSD")) isFreeBSD = true;
-+ IsLinux = isLinux; IsWin32 = isWin32; IsFreeBSD = isFreeBSD;
-
- byte[] buffer = new byte[4];
- long ptr = C.malloc(4);
diff --git a/x11-toolkits/swt/files/patch-org_eclipse_swt_browser_WebKit.java b/x11-toolkits/swt/files/patch-org_eclipse_swt_browser_WebKit.java
new file mode 100644
index 000000000000..463512a1c9b2
--- /dev/null
+++ b/x11-toolkits/swt/files/patch-org_eclipse_swt_browser_WebKit.java
@@ -0,0 +1,11 @@
+--- org/eclipse/swt/browser/WebKit.java.orig 2022-06-06 23:55:44 UTC
++++ org/eclipse/swt/browser/WebKit.java
+@@ -121,7 +121,7 @@ class WebKit extends WebBrowser {
+ * 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;
diff --git a/x11-toolkits/swt/files/patch-org_eclipse_swt_graphics_Device.java b/x11-toolkits/swt/files/patch-org_eclipse_swt_graphics_Device.java
deleted file mode 100644
index 98789df25c16..000000000000
--- a/x11-toolkits/swt/files/patch-org_eclipse_swt_graphics_Device.java
+++ /dev/null
@@ -1,11 +0,0 @@
---- org/eclipse/swt/graphics/Device.java.orig 2021-06-11 17:24:22 UTC
-+++ org/eclipse/swt/graphics/Device.java
-@@ -740,7 +740,7 @@ protected void init () {
- }
- systemFont = Font.gtk_new (this, defaultFont);
-
-- overrideThemeValues();
-+ //overrideThemeValues();
- }
-
- /**
diff --git a/x11-toolkits/swt/files/patch-org_eclipse_swt_internal_Library.java b/x11-toolkits/swt/files/patch-org_eclipse_swt_internal_Library.java
new file mode 100644
index 000000000000..1442e3986acf
--- /dev/null
+++ b/x11-toolkits/swt/files/patch-org_eclipse_swt_internal_Library.java
@@ -0,0 +1,16 @@
+--- org/eclipse/swt/internal/Library.java.orig 2021-09-06 01:22:24 UTC
++++ org/eclipse/swt/internal/Library.java
+@@ -65,12 +65,12 @@ static {
+
+ static String arch() {
+ String osArch = System.getProperty("os.arch"); //$NON-NLS-1$
+- 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$
diff --git a/x11-toolkits/swt/files/patch-org_eclipse_swt_internal_gtk_OS.java b/x11-toolkits/swt/files/patch-org_eclipse_swt_internal_gtk_OS.java
new file mode 100644
index 000000000000..741ce3a827f9
--- /dev/null
+++ b/x11-toolkits/swt/files/patch-org_eclipse_swt_internal_gtk_OS.java
@@ -0,0 +1,13 @@
+--- org/eclipse/swt/internal/gtk/OS.java.orig 2021-09-06 01:22:24 UTC
++++ org/eclipse/swt/internal/gtk/OS.java
+@@ -65,8 +65,8 @@ public class OS extends C {
+
+ /* 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;
+
diff --git a/x11-toolkits/swt/files/patch-org_eclipse_swt_widgets_Shell.java b/x11-toolkits/swt/files/patch-org_eclipse_swt_widgets_Shell.java
new file mode 100644
index 000000000000..e419013043d9
--- /dev/null
+++ b/x11-toolkits/swt/files/patch-org_eclipse_swt_widgets_Shell.java
@@ -0,0 +1,20 @@
+--- org/eclipse/swt/widgets/Shell.java.orig 2021-09-06 01:22:24 UTC
++++ org/eclipse/swt/widgets/Shell.java
+@@ -1507,6 +1507,8 @@ long gtk_button_press_event (long widget, long event)
+ long gtk_configure_event (long widget, long event) {
+ int [] x = new int [1], y = new int [1];
+ GTK3.gtk_window_get_position (shellHandle, x, y);
++ int scale = GTK.gtk_widget_get_scale_factor (shellHandle);
++ x[0] /= scale; y[0] /= scale;
+
+ if (!isVisible ()) {
+ return 0; //We shouldn't handle move/resize events if shell is hidden.
+@@ -3351,6 +3353,8 @@ Rectangle getBoundsInPixels () {
+ // TODO: GTK4 GtkWindow no longer has the ability to get position
+ } else {
+ GTK3.gtk_window_get_position (shellHandle, x, y);
++ int scale = GTK.gtk_widget_get_scale_factor (shellHandle);
++ x[0] /= scale; y[0] /= scale;
+ }
+ } else {
+ if (GTK.GTK4) {
diff --git a/x11-toolkits/swt/files/patch-os.c b/x11-toolkits/swt/files/patch-os.c
index 19b342888fbd..fe393f1299fd 100644
--- a/x11-toolkits/swt/files/patch-os.c
+++ b/x11-toolkits/swt/files/patch-os.c
@@ -1,6 +1,6 @@
---- os.c.orig 2021-06-11 17:24:22 UTC
+--- os.c.orig 2021-09-06 01:22:24 UTC
+++ os.c
-@@ -16083,11 +16083,16 @@ JNIEXPORT jlong JNICALL OS_NATIVE(realpath)
+@@ -15180,11 +15180,16 @@ JNIEXPORT jlong JNICALL OS_NATIVE(realpath)
jlong rc = 0;
OS_NATIVE_ENTER(env, that, realpath_FUNC);
if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail;
diff --git a/x11-toolkits/swt/files/swt_functional_gtk_3_20.css b/x11-toolkits/swt/files/swt_functional_gtk_3_20.css
new file mode 100644
index 000000000000..eb6287a71c65
--- /dev/null
+++ b/x11-toolkits/swt/files/swt_functional_gtk_3_20.css
@@ -0,0 +1,13 @@
+@binding-set SWTTreeViewBinding {
+ bind "Left" { "expand-collapse-cursor-row" (0,0,0)};
+ bind "Right" { "expand-collapse-cursor-row" (0,1,0)};
+}
+
+treeview {
+ -gtk-key-bindings: SWTTreeViewBinding;
+}
+
+scrolledwindow undershoot.top, scrolledwindow undershoot.right,
+ scrolledwindow undershoot.bottom, scrolledwindow undershoot.left {
+ background-image: none;
+}
diff --git a/x11-toolkits/swt/files/swt_theming_fixes_gtk_3_20.css b/x11-toolkits/swt/files/swt_theming_fixes_gtk_3_20.css
new file mode 100644
index 000000000000..ee046e201c43
--- /dev/null
+++ b/x11-toolkits/swt/files/swt_theming_fixes_gtk_3_20.css
@@ -0,0 +1,25 @@
+toolbar {
+ padding-top: 2px;
+ padding-bottom: 2px;
+}
+
+toolbar button {
+ padding: 2px;
+}
+
+toolbar button.popup {
+ padding: 0px;
+}
+
+toolbar toolbutton button {
+ padding: 0px 0px 0px 0px;
+}
+
+entry {
+ min-height: 26px;
+}
+
+tab {
+ padding-left: 6px;
+ padding-right: 6px;
+}
diff --git a/x11-toolkits/swt/files/swt_theming_fixes_gtk_3_24_5.css b/x11-toolkits/swt/files/swt_theming_fixes_gtk_3_24_5.css
new file mode 100644
index 000000000000..3aab49552e75
--- /dev/null
+++ b/x11-toolkits/swt/files/swt_theming_fixes_gtk_3_24_5.css
@@ -0,0 +1,3 @@
+button {
+ padding: 4px 8px;
+}