[152484] trunk/dports/x11/xorg-server

jeremyhu at macports.org jeremyhu at macports.org
Sat Sep 10 23:13:07 PDT 2016


Revision: 152484
          https://trac.macports.org/changeset/152484
Author:   jeremyhu at macports.org
Date:     2016-09-10 23:13:07 -0700 (Sat, 10 Sep 2016)
Log Message:
-----------
xorg-server: Blacklist newer clang versions because of a compiler bug

Modified Paths:
--------------
    trunk/dports/x11/xorg-server/Portfile

Added Paths:
-----------
    trunk/dports/x11/xorg-server/files/0001-XQuartz-Fix-the-issue-where-the-h-key-could-be-come-.patch
    trunk/dports/x11/xorg-server/files/0002-XQuartz-Cleanup-CPPFLAGS-that-are-no-longer-necessar.patch
    trunk/dports/x11/xorg-server/files/0003-os-connection-Improve-abstraction-for-launchd-secure.patch

Modified: trunk/dports/x11/xorg-server/Portfile
===================================================================
--- trunk/dports/x11/xorg-server/Portfile	2016-09-11 05:35:15 UTC (rev 152483)
+++ trunk/dports/x11/xorg-server/Portfile	2016-09-11 06:13:07 UTC (rev 152484)
@@ -6,6 +6,7 @@
 conflicts       xorg-server-devel
 set my_name	xorg-server
 version		1.18.4
+revision        1
 categories	x11 devel
 license		X11
 maintainers	jeremyhu openmaintainer
@@ -67,7 +68,8 @@
 	port:xorg-libXfixes
 
 # https://trac.macports.org/ticket/36055
-compiler.blacklist gcc-4.0
+# https://llvm.org/bugs/show_bug.cgi?id=30346
+compiler.blacklist gcc-4.0 macports-clang-3.8 macports-clang-3.9 macports-clang-devel
 
 configure.args --with-apple-applications-dir=${applications_dir} \
 	--with-bundle-id-prefix=org.macports \
@@ -87,6 +89,9 @@
 	RAWCPP=${configure.cpp}
 
 patchfiles \
+	0001-XQuartz-Fix-the-issue-where-the-h-key-could-be-come-.patch \
+	0002-XQuartz-Cleanup-CPPFLAGS-that-are-no-longer-necessar.patch \
+	0003-os-connection-Improve-abstraction-for-launchd-secure.patch \
 	5000-sdksyms.sh-Use-CPPFLAGS-not-CFLAGS.patch \
 	5001-Revert-dix-Restore-PaintWindow-screen-hook.patch \
 	5002-Workaround-the-GC-clipping-problem-in-miPaintWindow-.patch \

Added: trunk/dports/x11/xorg-server/files/0001-XQuartz-Fix-the-issue-where-the-h-key-could-be-come-.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0001-XQuartz-Fix-the-issue-where-the-h-key-could-be-come-.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/0001-XQuartz-Fix-the-issue-where-the-h-key-could-be-come-.patch	2016-09-11 06:13:07 UTC (rev 152484)
@@ -0,0 +1,42 @@
+From b1ee5cc0015e702c8e13c3895f4b2344ab2aeacb Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Sun, 29 May 2016 14:01:38 -0700
+Subject: [PATCH 1/3] XQuartz: Fix the issue where the h key could be come
+ "stuck" after hiding XQuartz with cmd-h
+
+The issue was that we set a flag to ignore the k key's up event when sent
+the cmd-h down event, but because the cmd-h keycode hides XQuartz, we
+became !_x_active by the time the event is delivered which caused us to
+go down a differnet codepath rather than getting a chance to ignore it.
+We then incorrectly ignored the next h up key.
+
+https://bugs.freedesktop.org/show_bug.cgi?id=92648
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+---
+ hw/xquartz/X11Application.m | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/hw/xquartz/X11Application.m b/hw/xquartz/X11Application.m
+index d2c5d30..9a22909 100644
+--- a/hw/xquartz/X11Application.m
++++ b/hw/xquartz/X11Application.m
+@@ -366,6 +366,15 @@ message_kit_thread(SEL selector, NSObject *arg)
+                 else {
+                     /* No kit window is focused, so send it to X. */
+                     for_appkit = NO;
++
++                    /* Reset our swallow state if we're seeing the same keyCode again.
++                     * This can happen if we become !_x_active when the keyCode we
++                     * intended to swallow is delivered.  See:
++                     * https://bugs.freedesktop.org/show_bug.cgi?id=92648
++                     */
++                    if ([e keyCode] == swallow_keycode) {
++                        do_swallow = NO;
++                    }
+                 }
+             }
+             else {       /* KeyUp */
+-- 
+2.9.3
+

Added: trunk/dports/x11/xorg-server/files/0002-XQuartz-Cleanup-CPPFLAGS-that-are-no-longer-necessar.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0002-XQuartz-Cleanup-CPPFLAGS-that-are-no-longer-necessar.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/0002-XQuartz-Cleanup-CPPFLAGS-that-are-no-longer-necessar.patch	2016-09-11 06:13:07 UTC (rev 152484)
@@ -0,0 +1,28 @@
+From b863c6cc90f9e0d3db361fbc3210c34ed5298203 Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Sat, 10 Sep 2016 22:16:11 -0700
+Subject: [PATCH 2/3] XQuartz: Cleanup CPPFLAGS that are no longer necessary on
+ darwin
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+---
+ hw/xquartz/pbproxy/Makefile.am | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/hw/xquartz/pbproxy/Makefile.am b/hw/xquartz/pbproxy/Makefile.am
+index 1b14dff..9429ea2 100644
+--- a/hw/xquartz/pbproxy/Makefile.am
++++ b/hw/xquartz/pbproxy/Makefile.am
+@@ -1,7 +1,6 @@
+-AM_CPPFLAGS=-F/System/Library/Frameworks/ApplicationServices.framework/Frameworks \
+-	-DBUNDLE_ID_PREFIX=\"$(BUNDLE_ID_PREFIX)\"
++AM_CPPFLAGS=-DBUNDLE_ID_PREFIX=\"$(BUNDLE_ID_PREFIX)\"
+ 
+-AM_CFLAGS=$(XPBPROXY_CFLAGS) 
++AM_CFLAGS=$(XPBPROXY_CFLAGS)
+ AM_OBJCFLAGS=$(XPBPROXY_CFLAGS)
+ 
+ noinst_LTLIBRARIES = libxpbproxy.la
+-- 
+2.9.3
+

Added: trunk/dports/x11/xorg-server/files/0003-os-connection-Improve-abstraction-for-launchd-secure.patch
===================================================================
--- trunk/dports/x11/xorg-server/files/0003-os-connection-Improve-abstraction-for-launchd-secure.patch	                        (rev 0)
+++ trunk/dports/x11/xorg-server/files/0003-os-connection-Improve-abstraction-for-launchd-secure.patch	2016-09-11 06:13:07 UTC (rev 152484)
@@ -0,0 +1,73 @@
+From 455d862774b791f4ca93f9885e1e899208a5080c Mon Sep 17 00:00:00 2001
+From: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+Date: Sat, 10 Sep 2016 22:32:56 -0700
+Subject: [PATCH 3/3] os/connection: Improve abstraction for launchd secure
+ sockets
+
+This changes away from hard-coding the /tmp/launch-* path to now
+supporting a generic <path to unix socket>[.<screen>] format for
+$DISPLAY.
+
+cf-libxcb: d978a4f69b30b630f28d07f1003cf290284d24d8
+
+Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
+---
+ os/connection.c | 31 ++++++++++++++++++++++++++-----
+ 1 file changed, 26 insertions(+), 5 deletions(-)
+
+diff --git a/os/connection.c b/os/connection.c
+index a901ebf..ac7d12b 100644
+--- a/os/connection.c
++++ b/os/connection.c
+@@ -79,6 +79,8 @@ SOFTWARE.
+ #include <stdio.h>
+ #include <stdlib.h>
+ 
++#include <sys/stat.h>
++
+ #ifndef WIN32
+ #include <sys/socket.h>
+ 
+@@ -1112,15 +1114,34 @@ MakeClientGrabPervious(ClientPtr client)
+ void
+ ListenOnOpenFD(int fd, int noxauth)
+ {
+-    char port[256];
++    char port[PATH_MAX];
+     XtransConnInfo ciptr;
+     const char *display_env = getenv("DISPLAY");
+ 
+-    if (display_env && (strncmp(display_env, "/tmp/launch", 11) == 0)) {
+-        /* Make the path the launchd socket if our DISPLAY is set right */
+-        strcpy(port, display_env);
++    /* First check if display_env matches a <path to unix socket>[.<screen number>] scheme (eg: launchd) */
++    if (display_env) {
++        struct stat sbuf;
++
++        strlcpy(port, display_env, sizeof(port));
++
++        /* If the path exists, we don't have do do anything else.
++         * If it doesn't, we need to check for a .<screen number> to strip off and recheck.
++         */
++        if (0 != stat(port, &sbuf)) {
++            char *dot = strrchr(port, '.');
++            if (dot) {
++                *dot = '\0';
++
++                if (0 != stat(port, &sbuf)) {
++                    display_env = NULL;
++                }
++            } else {
++                display_env = NULL;
++            }
++        }
+     }
+-    else {
++
++    if (!display_env) {
+         /* Just some default so things don't break and die. */
+         snprintf(port, sizeof(port), ":%d", atoi(display));
+     }
+-- 
+2.9.3
+
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20160910/7e9eafb6/attachment.html>


More information about the macports-changes mailing list