[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