From ea676b1a137c948e9d7a8a4d9c1abc4c964696cf Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Tue, 14 Jun 2016 18:22:56 +0000
Subject: xorg-server: update to 1.18.3

---
 ...md-logind-do-not-rely-on-directed-signals.patch | 55 ----------------------
 abs/core/xorg-server/PKGBUILD                      | 35 +++++---------
 abs/core/xorg-server/__changelog                   |  1 -
 .../call-eglBindAPI-after-eglInitialize.patch      | 48 +++++++++++++++++++
 ...te-libdrm-based-detection-for-KMS-drivers.patch | 12 -----
 ...bugging-messages-other-than-GL-API-errors.patch | 14 ------
 6 files changed, 60 insertions(+), 105 deletions(-)
 delete mode 100644 abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch
 create mode 100644 abs/core/xorg-server/call-eglBindAPI-after-eglInitialize.patch
 delete mode 100644 abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
 delete mode 100644 abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch

diff --git a/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch b/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch
deleted file mode 100644
index 9daadf6..0000000
--- a/abs/core/xorg-server/0001-systemd-logind-do-not-rely-on-directed-signals.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 780a69aff0ff57ef813179a2f09556eaf488cdfc Mon Sep 17 00:00:00 2001
-From: David Herrmann <dh.herrmann@gmail.com>
-Date: Mon, 22 Jun 2015 21:13:05 +0200
-Subject: systemd-logind: do not rely on directed signals
-
-Right now, Xorg does not install DBus matches for "PauseDevice" /
-"ResumeDevice". Therefore, it should usually not receive those DBus
-signals from logind. It is just a coincidence that systemd-logind sends
-those signals in a directed manner right now. Therefore, dbus-daemon
-bypasses the broadcast matches.
-
-However, this is not ABI and Xorg should not rely on this. systemd-logind
-is free to send those signals as broadcasts, in which case Xorg will
-freeze the VT. Fix this by always installing those matches.
-
-Cc: Hans de Goede <hdegoede@redhat.com>
-Cc: Keith Packard <keithp@keithp.com>
-Reported-by: Jan Alexander Steffens <jan.steffens@gmail.com>
-Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
-Reviewed-by: Hans de Goede <hdegoede@redhat.com>
-Tested-by: Hans de Goede <hdegoede@redhat.com>
-Signed-off-by: Hans de Goede <hdegoede@redhat.com>
-
-diff --git a/hw/xfree86/os-support/linux/systemd-logind.c b/hw/xfree86/os-support/linux/systemd-logind.c
-index 69e2f67..2612d9e 100644
---- a/hw/xfree86/os-support/linux/systemd-logind.c
-+++ b/hw/xfree86/os-support/linux/systemd-logind.c
-@@ -507,6 +507,24 @@ connect_hook(DBusConnection *connection, void *data)
-         goto cleanup;
-     }
- 
-+    dbus_bus_add_match(connection,
-+        "type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='PauseDevice'",
-+        &error);
-+    if (dbus_error_is_set(&error)) {
-+        LogMessage(X_ERROR, "systemd-logind: could not add match: %s\n",
-+                   error.message);
-+        goto cleanup;
-+    }
-+
-+    dbus_bus_add_match(connection,
-+        "type='signal',sender='org.freedesktop.login1',interface='org.freedesktop.login1.Session',member='ResumeDevice'",
-+        &error);
-+    if (dbus_error_is_set(&error)) {
-+        LogMessage(X_ERROR, "systemd-logind: could not add match: %s\n",
-+                   error.message);
-+        goto cleanup;
-+    }
-+
-     /*
-      * HdG: This is not useful with systemd <= 208 since the signal only
-      * contains invalidated property names there, rather than property, val
--- 
-cgit v0.10.2
-
diff --git a/abs/core/xorg-server/PKGBUILD b/abs/core/xorg-server/PKGBUILD
index 7f0e9d5..f560aca 100644
--- a/abs/core/xorg-server/PKGBUILD
+++ b/abs/core/xorg-server/PKGBUILD
@@ -4,8 +4,8 @@
 
 pkgbase=xorg-server
 pkgname=('xorg-server' 'xorg-server-xephyr' 'xorg-server-xdmx' 'xorg-server-xvfb' 'xorg-server-xnest' 'xorg-server-xwayland' 'xorg-server-common' 'xorg-server-devel')
-pkgver=1.18.0
-pkgrel=4
+pkgver=1.18.3
+pkgrel=2
 arch=('i686' 'x86_64')
 license=('custom')
 groups=('xorg')
@@ -20,25 +20,22 @@ makedepends=('pixman' 'libx11' 'mesa' 'mesa-libgl' 'xf86driproto' 'xcmiscproto'
 source=(${url}/releases/individual/xserver/${pkgbase}-${pkgver}.tar.bz2{,.sig}
         xvfb-run
         xvfb-run.1
-        0001-systemd-logind-do-not-rely-on-directed-signals.patch
-        v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
-        xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch
-        Xwrapper.config)
+        Xwrapper.config
+        call-eglBindAPI-after-eglInitialize.patch)
 validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C'
               'C383B778255613DFDB409D91DB221A6900000011'
               'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3')
+sha256sums=('ea739c22517cdbe2b5f7c0a5fd05fe8a10ac0629003e71c0c7862f4bb60142cd'
+            'SKIP'
+            'ff0156309470fc1d378fd2e104338020a884295e285972cc88e250e031cc35b9'
+            '2460adccd3362fefd4cdc5f1c70f332d7b578091fb9167bf88b5f91265bbd776'
+            'b69ea4a8362b720aee65064534038e33ff8aa558437bcb619d1173f7e8ad3444'
+            '45fdc2a1241d458756c41a93c01846e04cc75f3c75f81f48b61533d08280918d')
 
 prepare() {
   cd "${pkgbase}-${pkgver}"
-  # fix VT switching with kdbus; from upstream
-  patch -Np1 -i ../0001-systemd-logind-do-not-rely-on-directed-signals.patch
 
-  # fix xorg only working with root FS#47061
-  patch -Np1 -i ../v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
-  # disable debugging glamor messages in xorg log file
-  patch -Np1 -i ../xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch
-
-  autoreconf -fvi
+  patch -Np1 -i ../call-eglBindAPI-after-eglInitialize.patch
 }
 
 build() {
@@ -123,7 +120,7 @@ package_xorg-server() {
   
   # distro specific files must be installed in /usr/share/X11/xorg.conf.d
   install -m755 -d "${pkgdir}/etc/X11/xorg.conf.d"
-  
+
   # LinHES Xwrapper.config
   install -m644 "${srcdir}/Xwrapper.config" "${pkgdir}/etc/X11/Xwrapper.config"
 
@@ -227,11 +224,3 @@ package_xorg-server-devel() {
   install -m755 -d "${pkgdir}/usr/share/licenses/xorg-server-devel"
   ln -sf ../xorg-server-common/COPYING "${pkgdir}/usr/share/licenses/xorg-server-devel/COPYING"
 }
-md5sums=('3c1c1057d3ad27380d8dd87ffcc182cd'
-         'SKIP'
-         '52fd3effd80d7bc6c1660d4ecf23d31c'
-         '376c70308715cd2643f7bff936d9934b'
-         'bea02fd837ba756456bf14ed51ff36c8'
-         'ea8214d68150f3819eb049326b275f43'
-         'dc9eda462a8d83413d3edd2e7b9669f6'
-         'e3d31449c79ce49a748a678463ea3f20')
diff --git a/abs/core/xorg-server/__changelog b/abs/core/xorg-server/__changelog
index 1d44956..2b2e6fe 100644
--- a/abs/core/xorg-server/__changelog
+++ b/abs/core/xorg-server/__changelog
@@ -1,4 +1,3 @@
-placeholder to prevent auto update.
 PKGBUILD - Change configure options:
             --disable-systemd-logind \
             --enable-install-setuid \
diff --git a/abs/core/xorg-server/call-eglBindAPI-after-eglInitialize.patch b/abs/core/xorg-server/call-eglBindAPI-after-eglInitialize.patch
new file mode 100644
index 0000000..09773a2
--- /dev/null
+++ b/abs/core/xorg-server/call-eglBindAPI-after-eglInitialize.patch
@@ -0,0 +1,48 @@
+diff --git a/glamor/glamor_egl.c b/glamor/glamor_egl.c
+index 4bcd3ce..16a20a7 100644
+--- a/glamor/glamor_egl.c
++++ b/glamor/glamor_egl.c
+@@ -770,11 +770,6 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd)
+ 
+     glamor_egl->has_gem = glamor_egl_check_has_gem(fd);
+ 
+-#ifndef GLAMOR_GLES2
+-    eglBindAPI(EGL_OPENGL_API);
+-#else
+-    eglBindAPI(EGL_OPENGL_ES_API);
+-#endif
+     if (!eglInitialize
+         (glamor_egl->display, &glamor_egl->major, &glamor_egl->minor)) {
+         xf86DrvMsg(scrn->scrnIndex, X_ERROR, "eglInitialize() failed\n");
+@@ -782,6 +777,12 @@ glamor_egl_init(ScrnInfoPtr scrn, int fd)
+         goto error;
+     }
+ 
++#ifndef GLAMOR_GLES2
++    eglBindAPI(EGL_OPENGL_API);
++#else
++    eglBindAPI(EGL_OPENGL_ES_API);
++#endif
++
+     version = eglQueryString(glamor_egl->display, EGL_VERSION);
+     xf86Msg(X_INFO, "%s: EGL version %s:\n", glamor_name, version);
+ 
+diff --git a/hw/xwayland/xwayland-glamor.c b/hw/xwayland/xwayland-glamor.c
+index ad66cf6..73ccd71 100644
+--- a/hw/xwayland/xwayland-glamor.c
++++ b/hw/xwayland/xwayland-glamor.c
+@@ -298,12 +298,13 @@ xwl_drm_init_egl(struct xwl_screen *xwl_screen)
+         return;
+     }
+ 
+-    eglBindAPI(EGL_OPENGL_API);
+     if (!eglInitialize(xwl_screen->egl_display, &major, &minor)) {
+         ErrorF("eglInitialize() failed\n");
+         return;
+     }
+ 
++    eglBindAPI(EGL_OPENGL_API);
++
+     version = eglQueryString(xwl_screen->egl_display, EGL_VERSION);
+     ErrorF("glamor: EGL version %s:\n", version);
+ 
diff --git a/abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch b/abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
deleted file mode 100644
index 220c5bb..0000000
--- a/abs/core/xorg-server/v2-Xorg.wrap-activate-libdrm-based-detection-for-KMS-drivers.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/hw/xfree86/xorg-wrapper.c b/hw/xfree86/xorg-wrapper.c
-index 4c37cfc..d930962 100644
---- a/hw/xfree86/xorg-wrapper.c
-+++ b/hw/xfree86/xorg-wrapper.c
-@@ -24,6 +24,7 @@
-  */
- 
- #include "dix-config.h"
-+#include "xorg-config.h"
- 
- #include <errno.h>
- #include <fcntl.h>
diff --git a/abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch b/abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch
deleted file mode 100644
index 41a67c7..0000000
--- a/abs/core/xorg-server/xserver-glamor-Disable-debugging-messages-other-than-GL-API-errors.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/glamor/glamor.c b/glamor/glamor.c
-index 116d10c..81aba2d 100644
---- a/glamor/glamor.c
-+++ b/glamor/glamor.c
-@@ -393,6 +393,9 @@ glamor_setup_debug_output(ScreenPtr screen)
-         return;
- 
-     glEnable(GL_DEBUG_OUTPUT_SYNCHRONOUS);
-+    /* Disable debugging messages other than GL API errors */
-+    glDebugMessageControl(GL_DONT_CARE, GL_DONT_CARE, GL_DONT_CARE, 0, NULL,
-+                          GL_FALSE);
-     glDebugMessageControl(GL_DEBUG_SOURCE_API,
-                           GL_DEBUG_TYPE_ERROR,
-                           GL_DONT_CARE,
-- 
cgit v0.12

