[gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/files/, x11-base/xorg-server/

2023-12-13 Thread Sam James
commit: 702ab503b10f6fe6719564dbc310bd4422f58014
Author: Sam James  gentoo  org>
AuthorDate: Thu Dec 14 02:38:35 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Dec 14 04:03:40 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=702ab503

x11-base/xorg-server: fix headers for modern C issue

Otherwise nouveau can't build. These changes are in master already and I've
sent a PR to backport them too.

Closes: https://bugs.gentoo.org/885763
Signed-off-by: Sam James  gentoo.org>

 .../files/xorg-server-21.1.10-c99.patch|  39 +
 x11-base/xorg-server/xorg-server-21.1.10-r1.ebuild | 194 +
 2 files changed, 233 insertions(+)

diff --git a/x11-base/xorg-server/files/xorg-server-21.1.10-c99.patch 
b/x11-base/xorg-server/files/xorg-server-21.1.10-c99.patch
new file mode 100644
index ..12a48e611329
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-21.1.10-c99.patch
@@ -0,0 +1,39 @@
+https://bugs.gentoo.org/885763
+https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1114
+https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1222
+https://gitlab.freedesktop.org/xorg/xserver/-/commit/34a430a16ec2cb9851b1f2bc7fc2117e19b9fcc7
+
+From f3cb68d274c4536130683d28182620fbbf1b287d Mon Sep 17 00:00:00 2001
+From: Florian Weimer 
+Date: Thu, 13 Apr 2023 15:45:58 +0200
+Subject: [PATCH] fb: Declare wfbFinishScreenInit, wfbScreenInit for
+ !FB_ACCESS_WRAPPER
+
+xf86-video-nouveau calls wfbScreenInit without defining
+FB_ACCESS_WRAPPER (which has other unintended side effects).
+Presently, this compiles and links because compilers still support
+implicit function declarations, but this is going to change fairly
+soon.  This seems to be the most straightforward change to keep
+the driver building.
+
+(cherry picked from commit 34a430a16ec2cb9851b1f2bc7fc2117e19b9fcc7)
+--- a/fb/fb.h
 b/fb/fb.h
+@@ -1027,7 +1027,6 @@ extern _X_EXPORT Bool
+int dpiy, int width, /* pixel width of frame buffer */
+int bpp);/* bits per pixel of frame buffer */
+ 
+-#ifdef FB_ACCESS_WRAPPER
+ extern _X_EXPORT Bool
+ wfbFinishScreenInit(ScreenPtr pScreen,
+ void *pbits,
+@@ -1049,7 +1048,6 @@ wfbScreenInit(ScreenPtr pScreen,
+   int width,
+   int bpp,
+   SetupWrapProcPtr setupWrap, FinishWrapProcPtr finishWrap);
+-#endif
+ 
+ extern _X_EXPORT Bool
+ fbFinishScreenInit(ScreenPtr pScreen,
+-- 
+GitLab

diff --git a/x11-base/xorg-server/xorg-server-21.1.10-r1.ebuild 
b/x11-base/xorg-server/xorg-server-21.1.10-r1.ebuild
new file mode 100644
index ..8d72321f5444
--- /dev/null
+++ b/x11-base/xorg-server/xorg-server-21.1.10-r1.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+XORG_TARBALL_SUFFIX="xz"
+XORG_EAUTORECONF="no"
+inherit flag-o-matic xorg-3 meson
+EGIT_REPO_URI="https://gitlab.freedesktop.org/xorg/xserver.git";
+
+DESCRIPTION="X.Org X servers"
+SLOT="0/${PV}"
+if [[ ${PV} != * ]]; then
+   KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc 
~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+IUSE_SERVERS="xephyr xnest xorg xvfb"
+IUSE="${IUSE_SERVERS} debug +elogind minimal selinux suid systemd test +udev 
unwind xcsecurity"
+RESTRICT="!test? ( test )"
+
+CDEPEND="
+   media-libs/libglvnd[X]
+   dev-libs/libbsd
+   dev-libs/openssl:0=
+   >=x11-apps/iceauth-1.0.2
+   >=x11-apps/xauth-1.0.3
+   x11-apps/xkbcomp
+   >=x11-libs/libdrm-2.4.89
+   >=x11-libs/libpciaccess-0.12.901
+   >=x11-libs/libXau-1.0.4
+   >=x11-libs/libXdmcp-1.0.2
+   >=x11-libs/libXfont2-2.0.1
+   >=x11-libs/libxkbfile-1.0.4
+   >=x11-libs/libxshmfence-1.1
+   >=x11-libs/pixman-0.27.2
+   >=x11-misc/xbitmaps-1.0.1
+   >=x11-misc/xkeyboard-config-2.4.1-r3
+   xorg? (
+   >=x11-libs/libxcvt-0.1.0
+   )
+   xnest? (
+   >=x11-libs/libXext-1.0.99.4
+   >=x11-libs/libX11-1.1.5
+   )
+   xephyr? (
+   x11-libs/libxcb
+   x11-libs/xcb-util
+   x11-libs/xcb-util-image
+   x11-libs/xcb-util-keysyms
+   x11-libs/xcb-util-renderutil
+   x11-libs/xcb-util-wm
+   )
+   !minimal? (
+   >=media-libs/mesa-18[X(+),egl(+),gbm(+)]
+   >=media-libs/libepoxy-1.5.4[X,egl(+)]
+   )
+   udev? ( virtual/libudev:= )
+   unwind? ( sys-libs/libunwind:= )
+   selinux? (
+   sys-process/audit
+   sys-libs/libselinux:=
+   )
+   systemd? (
+   sys-apps/dbus
+   sys-apps/systemd
+   )
+   elogind? (
+   sys-apps/dbus
+   sys-auth/elogind[pam]
+   sys-auth/pambase[elogind]
+   )
+   !!x11-drivers/nvidia-drivers[

[gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/files/, x11-base/xorg-server/

2023-11-25 Thread Matt Turner
commit: 637e44f058d0f6d13a6339fe09ecaa5fddef4ba2
Author: Matt Turner  gentoo  org>
AuthorDate: Sat Nov 25 17:14:05 2023 +
Commit: Matt Turner  gentoo  org>
CommitDate: Sat Nov 25 17:31:02 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=637e44f0

x11-base/xorg-server: Drop old versions

Signed-off-by: Matt Turner  gentoo.org>

 x11-base/xorg-server/Manifest  |   1 -
 .../files/xorg-server-21.1.8-deadlock.patch|  97 --
 .../xorg-server/files/xorg-server-21.1.8-wfb.patch |  43 -
 x11-base/xorg-server/xorg-server-21.1.8-r2.ebuild  | 195 -
 4 files changed, 336 deletions(-)

diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
index 26f511e9d9ed..16f4b3d8b53f 100644
--- a/x11-base/xorg-server/Manifest
+++ b/x11-base/xorg-server/Manifest
@@ -1,2 +1 @@
-DIST xorg-server-21.1.8.tar.xz 4980208 BLAKE2B 
a223efe6d14b55bd133b7f8db75b7720ea0ae58f1eced0f6b20caf6e7045e7649a0923a1c6db5d649265375e6768fa9811477d2fa0da52d7a1e65cf4511535d2
 SHA512 
6104b3620ed2e1e27d9a8e963388bbe8785a764585b1bc03dbf5d719a92894773dda580d377ca18ceeab353e65a5d23cc947bab84a4012f9dd1eca31cac36937
 DIST xorg-server-21.1.9.tar.xz 4935860 BLAKE2B 
8e0a2e0f5fc4d06a08c1424fe618da9822e951f5b744b4cac1b1e14305ab598b162e4f08fb53ba5e60d0001257216755a576b470c961c26a909d66e9a46d1c77
 SHA512 
9044e1b9222616fb63aea444b75f4ca6582edb7d899018f8ea30359e57edf04b1555e69397ebc4d288f7e36d6b82a54dde3895f11d414573d229e908ac17bfe8

diff --git a/x11-base/xorg-server/files/xorg-server-21.1.8-deadlock.patch 
b/x11-base/xorg-server/files/xorg-server-21.1.8-deadlock.patch
deleted file mode 100644
index 8da824119edf..
--- a/x11-base/xorg-server/files/xorg-server-21.1.8-deadlock.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-https://bugs.gentoo.org/909643
-https://gitlab.freedesktop.org/mesa/mesa/-/issues/116
-https://gitlab.freedesktop.org/mesa/mesa/-/issues/6685
-https://gitlab.freedesktop.org/xorg/xserver/-/commit/b98fc07d3442a289c6bef82df50dd0a2d01de71a
-
-From b98fc07d3442a289c6bef82df50dd0a2d01de71a Mon Sep 17 00:00:00 2001
-From: Adam Jackson 
-Date: Thu, 2 Feb 2023 12:26:27 -0500
-Subject: [PATCH] present: Send a PresentConfigureNotify event for destroyed
- windows
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-This enables fixing a deadlock case on the client side, where the client
-ends up blocked waiting for a Present event that will never come because
-the window was destroyed. The new PresentWindowDestroyed flag allows the
-client to avoid blocking indefinitely.
-
-Signed-off-by: Adam Jackson 
-See-also: https://gitlab.freedesktop.org/mesa/mesa/-/issues/116
-See-also: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6685
-Reviewed-by: Michel Dänzer 
-(cherry picked from commit 462b06033e66a32308d940eb5fc47f5e4c914dc0)
 a/present/present_event.c
-+++ b/present/present_event.c
-@@ -102,7 +102,8 @@ present_event_swap(xGenericEvent *from, xGenericEvent *to)
- }
- 
- void
--present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int 
bw, WindowPtr sibling)
-+present_send_config_notify(WindowPtr window, int x, int y, int w, int h,
-+   int bw, WindowPtr sibling, CARD32 flags)
- {
- present_window_priv_ptr window_priv = present_window_priv(window);
- 
-@@ -122,7 +123,7 @@ present_send_config_notify(WindowPtr window, int x, int y, 
int w, int h, int bw,
- .off_y = 0,
- .pixmap_width = w,
- .pixmap_height = h,
--.pixmap_flags = 0
-+.pixmap_flags = flags
- };
- present_event_ptr event;
- 
 a/present/present_priv.h
-+++ b/present/present_priv.h
-@@ -43,6 +43,11 @@
- #define DebugPresent(x)
- #endif
- 
-+/* XXX this belongs in presentproto */
-+#ifndef PresentWindowDestroyed
-+#define PresentWindowDestroyed (1 << 0)
-+#endif
-+
- extern int present_request;
- 
- extern DevPrivateKeyRec present_screen_private_key;
-@@ -307,7 +312,7 @@ void
- present_free_events(WindowPtr window);
- 
- void
--present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int 
bw, WindowPtr sibling);
-+present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int 
bw, WindowPtr sibling, CARD32 flags);
- 
- void
- present_send_complete_notify(WindowPtr window, CARD8 kind, CARD8 mode, CARD32 
serial, uint64_t ust, uint64_t msc);
 a/present/present_screen.c
-+++ b/present/present_screen.c
-@@ -93,6 +93,15 @@ present_destroy_window(WindowPtr window)
- present_screen_priv_ptr screen_priv = present_screen_priv(screen);
- present_window_priv_ptr window_priv = present_window_priv(window);
- 
-+present_send_config_notify(window,
-+   window->drawable.x,
-+   window->drawable.y,
-+   window->drawable.width,
-+   window->drawable.height,
-+   

[gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/files/, x11-base/xorg-server/

2023-10-25 Thread Matt Turner
commit: 9b4db39b0d72f93d5c46898cb262d8c5349542cc
Author: Matt Turner  gentoo  org>
AuthorDate: Wed Oct 25 15:29:54 2023 +
Commit: Matt Turner  gentoo  org>
CommitDate: Wed Oct 25 15:41:30 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=9b4db39b

x11-base/xorg-server: Version bump to 21.1.9

Bug: https://bugs.gentoo.org/916254
Closes: https://bugs.gentoo.org/884221
Closes: https://bugs.gentoo.org/909092
Signed-off-by: Matt Turner  gentoo.org>

 x11-base/xorg-server/Manifest  |   1 +
 ...1.9-xephyr-Don-t-check-for-SeatId-anymore.patch |  66 +++
 x11-base/xorg-server/xorg-server-21.1.9.ebuild | 194 +
 3 files changed, 261 insertions(+)

diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
index 4aa30fb75c5f..26f511e9d9ed 100644
--- a/x11-base/xorg-server/Manifest
+++ b/x11-base/xorg-server/Manifest
@@ -1 +1,2 @@
 DIST xorg-server-21.1.8.tar.xz 4980208 BLAKE2B 
a223efe6d14b55bd133b7f8db75b7720ea0ae58f1eced0f6b20caf6e7045e7649a0923a1c6db5d649265375e6768fa9811477d2fa0da52d7a1e65cf4511535d2
 SHA512 
6104b3620ed2e1e27d9a8e963388bbe8785a764585b1bc03dbf5d719a92894773dda580d377ca18ceeab353e65a5d23cc947bab84a4012f9dd1eca31cac36937
+DIST xorg-server-21.1.9.tar.xz 4935860 BLAKE2B 
8e0a2e0f5fc4d06a08c1424fe618da9822e951f5b744b4cac1b1e14305ab598b162e4f08fb53ba5e60d0001257216755a576b470c961c26a909d66e9a46d1c77
 SHA512 
9044e1b9222616fb63aea444b75f4ca6582edb7d899018f8ea30359e57edf04b1555e69397ebc4d288f7e36d6b82a54dde3895f11d414573d229e908ac17bfe8

diff --git 
a/x11-base/xorg-server/files/xorg-server-21.1.9-xephyr-Don-t-check-for-SeatId-anymore.patch
 
b/x11-base/xorg-server/files/xorg-server-21.1.9-xephyr-Don-t-check-for-SeatId-anymore.patch
new file mode 100644
index ..64581c9d0a18
--- /dev/null
+++ 
b/x11-base/xorg-server/files/xorg-server-21.1.9-xephyr-Don-t-check-for-SeatId-anymore.patch
@@ -0,0 +1,66 @@
+https://bugs.gentoo.org/884221
+https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/1192
+
+From 4c03b67d334b05b814239420776f2fdd4c4a98ac Mon Sep 17 00:00:00 2001
+From: nerdopolis 
+Date: Tue, 11 Jan 2022 18:41:42 -0500
+Subject: [PATCH xserver] xephyr: Don't check for SeatId anymore
+
+After a change for the xserver to automatically determine the seat
+based on the XDG_SEAT variable, xephyr stopped working. This was
+because of an old feature where xephyr used to handle evdev
+directly. This was dropped some time ago, and now this check is
+not needed
+---
+ hw/kdrive/ephyr/ephyrinit.c | 34 --
+ 1 file changed, 16 insertions(+), 18 deletions(-)
+
+diff --git a/hw/kdrive/ephyr/ephyrinit.c b/hw/kdrive/ephyr/ephyrinit.c
+index 020461db2..09cd28cb3 100644
+--- a/hw/kdrive/ephyr/ephyrinit.c
 b/hw/kdrive/ephyr/ephyrinit.c
+@@ -70,25 +70,23 @@ InitInput(int argc, char **argv)
+ KdKeyboardInfo *ki;
+ KdPointerInfo *pi;
+ 
+-if (!SeatId) {
+-KdAddKeyboardDriver(&EphyrKeyboardDriver);
+-KdAddPointerDriver(&EphyrMouseDriver);
+-
+-if (!kdHasKbd) {
+-ki = KdNewKeyboard();
+-if (!ki)
+-FatalError("Couldn't create Xephyr keyboard\n");
+-ki->driver = &EphyrKeyboardDriver;
+-KdAddKeyboard(ki);
+-}
++KdAddKeyboardDriver(&EphyrKeyboardDriver);
++KdAddPointerDriver(&EphyrMouseDriver);
++
++if (!kdHasKbd) {
++ki = KdNewKeyboard();
++if (!ki)
++FatalError("Couldn't create Xephyr keyboard\n");
++ki->driver = &EphyrKeyboardDriver;
++KdAddKeyboard(ki);
++}
+ 
+-if (!kdHasPointer) {
+-pi = KdNewPointer();
+-if (!pi)
+-FatalError("Couldn't create Xephyr pointer\n");
+-pi->driver = &EphyrMouseDriver;
+-KdAddPointer(pi);
+-}
++if (!kdHasPointer) {
++pi = KdNewPointer();
++if (!pi)
++FatalError("Couldn't create Xephyr pointer\n");
++pi->driver = &EphyrMouseDriver;
++KdAddPointer(pi);
+ }
+ 
+ KdInitInput();
+-- 
+2.41.0
+

diff --git a/x11-base/xorg-server/xorg-server-21.1.9.ebuild 
b/x11-base/xorg-server/xorg-server-21.1.9.ebuild
new file mode 100644
index ..f4b46fb4d12e
--- /dev/null
+++ b/x11-base/xorg-server/xorg-server-21.1.9.ebuild
@@ -0,0 +1,194 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+XORG_TARBALL_SUFFIX="xz"
+XORG_EAUTORECONF="no"
+inherit flag-o-matic xorg-3 meson
+EGIT_REPO_URI="https://gitlab.freedesktop.org/xorg/xserver.git";
+
+DESCRIPTION="X.Org X servers"
+SLOT="0/${PV}"
+if [[ ${PV} != * ]]; then
+   KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc 
~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+fi
+
+IUSE_SERVERS="xephyr xnest xorg xvfb"
+IUSE="${IUSE_SERVERS} debug +elogind minimal selinux suid systemd test +udev 
unwind xcsecur

[gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/files/, x11-base/xorg-server/

2023-07-09 Thread Sam James
commit: 10fc6a6a7edcf1e7ff3d4db4fcbcbe18cec8f734
Author: Sam James  gentoo  org>
AuthorDate: Sun Jul  9 08:08:19 2023 +
Commit: Sam James  gentoo  org>
CommitDate: Sun Jul  9 08:08:43 2023 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=10fc6a6a

x11-base/xorg-server: backport deadlock fix

>From the 21.1 backport branch.

Closes: https://bugs.gentoo.org/909643
Signed-off-by: Sam James  gentoo.org>

 .../files/xorg-server-21.1.8-deadlock.patch|  97 +++
 x11-base/xorg-server/xorg-server-21.1.8-r1.ebuild  | 194 +
 2 files changed, 291 insertions(+)

diff --git a/x11-base/xorg-server/files/xorg-server-21.1.8-deadlock.patch 
b/x11-base/xorg-server/files/xorg-server-21.1.8-deadlock.patch
new file mode 100644
index ..8da824119edf
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-21.1.8-deadlock.patch
@@ -0,0 +1,97 @@
+https://bugs.gentoo.org/909643
+https://gitlab.freedesktop.org/mesa/mesa/-/issues/116
+https://gitlab.freedesktop.org/mesa/mesa/-/issues/6685
+https://gitlab.freedesktop.org/xorg/xserver/-/commit/b98fc07d3442a289c6bef82df50dd0a2d01de71a
+
+From b98fc07d3442a289c6bef82df50dd0a2d01de71a Mon Sep 17 00:00:00 2001
+From: Adam Jackson 
+Date: Thu, 2 Feb 2023 12:26:27 -0500
+Subject: [PATCH] present: Send a PresentConfigureNotify event for destroyed
+ windows
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This enables fixing a deadlock case on the client side, where the client
+ends up blocked waiting for a Present event that will never come because
+the window was destroyed. The new PresentWindowDestroyed flag allows the
+client to avoid blocking indefinitely.
+
+Signed-off-by: Adam Jackson 
+See-also: https://gitlab.freedesktop.org/mesa/mesa/-/issues/116
+See-also: https://gitlab.freedesktop.org/mesa/mesa/-/issues/6685
+Reviewed-by: Michel Dänzer 
+(cherry picked from commit 462b06033e66a32308d940eb5fc47f5e4c914dc0)
+--- a/present/present_event.c
 b/present/present_event.c
+@@ -102,7 +102,8 @@ present_event_swap(xGenericEvent *from, xGenericEvent *to)
+ }
+ 
+ void
+-present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int 
bw, WindowPtr sibling)
++present_send_config_notify(WindowPtr window, int x, int y, int w, int h,
++   int bw, WindowPtr sibling, CARD32 flags)
+ {
+ present_window_priv_ptr window_priv = present_window_priv(window);
+ 
+@@ -122,7 +123,7 @@ present_send_config_notify(WindowPtr window, int x, int y, 
int w, int h, int bw,
+ .off_y = 0,
+ .pixmap_width = w,
+ .pixmap_height = h,
+-.pixmap_flags = 0
++.pixmap_flags = flags
+ };
+ present_event_ptr event;
+ 
+--- a/present/present_priv.h
 b/present/present_priv.h
+@@ -43,6 +43,11 @@
+ #define DebugPresent(x)
+ #endif
+ 
++/* XXX this belongs in presentproto */
++#ifndef PresentWindowDestroyed
++#define PresentWindowDestroyed (1 << 0)
++#endif
++
+ extern int present_request;
+ 
+ extern DevPrivateKeyRec present_screen_private_key;
+@@ -307,7 +312,7 @@ void
+ present_free_events(WindowPtr window);
+ 
+ void
+-present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int 
bw, WindowPtr sibling);
++present_send_config_notify(WindowPtr window, int x, int y, int w, int h, int 
bw, WindowPtr sibling, CARD32 flags);
+ 
+ void
+ present_send_complete_notify(WindowPtr window, CARD8 kind, CARD8 mode, CARD32 
serial, uint64_t ust, uint64_t msc);
+--- a/present/present_screen.c
 b/present/present_screen.c
+@@ -93,6 +93,15 @@ present_destroy_window(WindowPtr window)
+ present_screen_priv_ptr screen_priv = present_screen_priv(screen);
+ present_window_priv_ptr window_priv = present_window_priv(window);
+ 
++present_send_config_notify(window,
++   window->drawable.x,
++   window->drawable.y,
++   window->drawable.width,
++   window->drawable.height,
++   window->borderWidth,
++   window->nextSib,
++   PresentWindowDestroyed);
++
+ if (window_priv) {
+ present_clear_window_notifies(window);
+ present_free_events(window);
+@@ -123,7 +132,7 @@ present_config_notify(WindowPtr window,
+ ScreenPtr screen = window->drawable.pScreen;
+ present_screen_priv_ptr screen_priv = present_screen_priv(screen);
+ 
+-present_send_config_notify(window, x, y, w, h, bw, sibling);
++present_send_config_notify(window, x, y, w, h, bw, sibling, 0);
+ 
+ unwrap(screen_priv, screen, ConfigNotify);
+ if (screen->ConfigNotify)
+-- 
+GitLab

diff --git a/x11-base/xorg-server/xorg-server-21.1.8-r1.ebuild 
b/x11-base/xorg-server/xorg-server-21.1.8-r1.ebuild
new file mode 100644
index ..654737cbf8be
--- /dev/null
+++ b/x11-base/xorg-se

[gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/files/, x11-base/xorg-server/

2021-12-01 Thread Sam James
commit: 858311492b0112ad227968ba6813cffc1fe85f75
Author: Sam James  gentoo  org>
AuthorDate: Thu Dec  2 02:36:34 2021 +
Commit: Sam James  gentoo  org>
CommitDate: Thu Dec  2 02:36:34 2021 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=85831149

x11-base/xorg-server: apply DPI revert patch to 21.1.1

Upstream changed their mind post-release given the widespread breakage.

Signed-off-by: Sam James  gentoo.org>

 .../files/xorg-server-21.1.1-DPI-revert.patch  | 133 +
 ...-21.1.1.ebuild => xorg-server-21.1.1-r1.ebuild} |   1 +
 2 files changed, 134 insertions(+)

diff --git a/x11-base/xorg-server/files/xorg-server-21.1.1-DPI-revert.patch 
b/x11-base/xorg-server/files/xorg-server-21.1.1-DPI-revert.patch
new file mode 100644
index ..89d8e2653a28
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-21.1.1-DPI-revert.patch
@@ -0,0 +1,133 @@
+https://gitlab.freedesktop.org/xorg/xserver/-/commit/35af1299e73483eaf93d913a960e1d1738bc7de6
+
+From: Povilas Kanapickas 
+Date: Sat, 13 Nov 2021 17:23:54 +0200
+Subject: [PATCH] Revert "hw/xfree86: Propagate physical dimensions from DRM
+ connector"
+
+Quite a lot of applications currently expect the screen DPI exposed by
+the X server to be 96 even when the real display DPI is different.
+Additionally, currently Xwayland completely ignores any hardware
+information and sets the DPI to 96. Accordingly the new behavior, even
+if it fixes a bug, should not be enabled automatically to all users.
+
+A better solution would be to make the default DPI stay as is and enable
+the correct behavior with a command line option (maybe -dpi auto, or
+similar). For now let's just revert the bug fix.
+
+This reverts commit 05b3c681ea2f478c0cb941c2f8279919cf78de6d.
+
+Signed-off-by: Povilas Kanapickas 
+--- a/hw/xfree86/common/xf86Helper.c
 b/hw/xfree86/common/xf86Helper.c
+@@ -55,7 +55,6 @@
+ #include "xf86Xinput.h"
+ #include "xf86InPriv.h"
+ #include "mivalidate.h"
+-#include "xf86Crtc.h"
+ 
+ /* For xf86GetClocks */
+ #if defined(CSRG_BASED) || defined(__GNU__)
+@@ -852,9 +851,8 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int y)
+ {
+ MessageType from = X_DEFAULT;
+ xf86MonPtr DDC = (xf86MonPtr) (pScrn->monitor->DDC);
+-int probedWidthmm, probedHeightmm;
++int ddcWidthmm, ddcHeightmm;
+ int widthErr, heightErr;
+-xf86OutputPtr compat = xf86CompatOutput(pScrn);
+ 
+ /* XXX Maybe there is no need for widthmm/heightmm in ScrnInfoRec */
+ pScrn->widthmm = pScrn->monitor->widthmm;
+@@ -864,15 +862,11 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int y)
+ /* DDC gives display size in mm for individual modes,
+  * but cm for monitor
+  */
+-probedWidthmm = DDC->features.hsize * 10;  /* 10mm in 1cm */
+-probedHeightmm = DDC->features.vsize * 10; /* 10mm in 1cm */
+-}
+-else if (compat && compat->mm_width > 0 && compat->mm_height > 0) {
+-probedWidthmm = compat->mm_width;
+-probedHeightmm = compat->mm_height;
++ddcWidthmm = DDC->features.hsize * 10;  /* 10mm in 1cm */
++ddcHeightmm = DDC->features.vsize * 10; /* 10mm in 1cm */
+ }
+ else {
+-probedWidthmm = probedHeightmm = 0;
++ddcWidthmm = ddcHeightmm = 0;
+ }
+ 
+ if (monitorResolution > 0) {
+@@ -898,15 +892,15 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int y)
+pScrn->widthmm, pScrn->heightmm);
+ 
+ /* Warn if config and probe disagree about display size */
+-if (probedWidthmm && probedHeightmm) {
++if (ddcWidthmm && ddcHeightmm) {
+ if (pScrn->widthmm > 0) {
+-widthErr = abs(probedWidthmm - pScrn->widthmm);
++widthErr = abs(ddcWidthmm - pScrn->widthmm);
+ }
+ else {
+ widthErr = 0;
+ }
+ if (pScrn->heightmm > 0) {
+-heightErr = abs(probedHeightmm - pScrn->heightmm);
++heightErr = abs(ddcHeightmm - pScrn->heightmm);
+ }
+ else {
+ heightErr = 0;
+@@ -915,17 +909,17 @@ xf86SetDpi(ScrnInfoPtr pScrn, int x, int y)
+ /* Should include config file name for monitor here */
+ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+"Probed monitor is %dx%d mm, using Displaysize 
%dx%d mm\n",
+-   probedWidthmm, probedHeightmm, pScrn->widthmm,
++   ddcWidthmm, ddcHeightmm, pScrn->widthmm,
+pScrn->heightmm);
+ }
+ }
+ }
+-else if (probedWidthmm && probedHeightmm) {
++else if (ddcWidthmm && ddcHeightmm) {
+ from = X_PROBED;
+ xf86DrvMsg(pScrn->scrnIndex, from, "Display dimensions: (%d, %d) 
mm\n",
+-   probedWidthmm, probedHeightmm);
+-pScrn->widthmm = probedWidthmm;
+-pScrn->heightmm = probedHeightmm;
++  

[gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/files/, x11-base/xorg-server/

2020-03-19 Thread Matt Turner
commit: ff6b355183abf835dc5355e01e6ca742eaff3a12
Author: Matt Turner  gentoo  org>
AuthorDate: Thu Mar 19 21:13:07 2020 +
Commit: Matt Turner  gentoo  org>
CommitDate: Thu Mar 19 21:50:43 2020 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ff6b3551

x11-base/xorg-server: Add patch to build with -fno-common

Closes: https://bugs.gentoo.org/705880
Signed-off-by: Matt Turner  gentoo.org>

 ...erver-1.20.7-Fix-building-with-fno-common.patch | 254 +
 x11-base/xorg-server/xorg-server-1.20.7.ebuild |   1 +
 2 files changed, 255 insertions(+)

diff --git 
a/x11-base/xorg-server/files/xorg-server-1.20.7-Fix-building-with-fno-common.patch
 
b/x11-base/xorg-server/files/xorg-server-1.20.7-Fix-building-with-fno-common.patch
new file mode 100644
index 000..d3011fcb255
--- /dev/null
+++ 
b/x11-base/xorg-server/files/xorg-server-1.20.7-Fix-building-with-fno-common.patch
@@ -0,0 +1,254 @@
+From 1610ef1d6b5ba99da9d1a639f3b65b2e61514a7d Mon Sep 17 00:00:00 2001
+From: David Seifert 
+Date: Fri, 24 Jan 2020 12:49:44 +0100
+Subject: [PATCH xserver] Fix building with `-fno-common`
+
+* GCC 10 will switch the default to `-fno-common`.
+  https://gcc.gnu.org/PR85678
+
+Bug: https://bugs.gentoo.org/705880
+Signed-off-by: Matt Turner 
+---
+ hw/dmx/config/dmxconfig.c| 2 +-
+ hw/dmx/config/xdmxconfig.c   | 2 +-
+ hw/dmx/glxProxy/glxext.c | 2 --
+ hw/xwayland/xwayland.c   | 2 +-
+ test/misc.c  | 2 +-
+ test/xi1/protocol-xchangedevicecontrol.c | 2 +-
+ test/xi2/protocol-common.c   | 2 ++
+ test/xi2/protocol-common.h   | 2 +-
+ test/xi2/protocol-xigetclientpointer.c   | 2 +-
+ test/xi2/protocol-xigetselectedevents.c  | 2 +-
+ test/xi2/protocol-xipassivegrabdevice.c  | 2 +-
+ test/xi2/protocol-xiquerydevice.c| 2 +-
+ test/xi2/protocol-xiquerypointer.c   | 2 +-
+ test/xi2/protocol-xiqueryversion.c   | 2 +-
+ test/xi2/protocol-xiselectevents.c   | 2 +-
+ test/xi2/protocol-xisetclientpointer.c   | 2 +-
+ test/xi2/protocol-xiwarppointer.c| 2 +-
+ 17 files changed, 17 insertions(+), 17 deletions(-)
+
+diff --git a/hw/dmx/config/dmxconfig.c b/hw/dmx/config/dmxconfig.c
+index c1a9e1cf3..85bc0dbe4 100644
+--- a/hw/dmx/config/dmxconfig.c
 b/hw/dmx/config/dmxconfig.c
+@@ -72,7 +72,7 @@ typedef struct DMXConfigCmdStruct {
+ DMXConfigList *xinputs;
+ } DMXConfigCmd, *DMXConfigCmdPtr;
+ 
+-DMXConfigEntryPtr dmxConfigEntry;
++extern DMXConfigEntryPtr dmxConfigEntry;
+ static DMXConfigCmd dmxConfigCmd;
+ 
+ static int dmxDisplaysFromCommandLine;
+diff --git a/hw/dmx/config/xdmxconfig.c b/hw/dmx/config/xdmxconfig.c
+index 49e4b5459..05d839688 100644
+--- a/hw/dmx/config/xdmxconfig.c
 b/hw/dmx/config/xdmxconfig.c
+@@ -65,7 +65,7 @@ extern FILE *yyin;
+ #define DMX_CANVAS_WIDTH  400
+ #define DMX_CANVAS_HEIGHT 500
+ 
+-DMXConfigEntryPtr dmxConfigEntry;
++extern DMXConfigEntryPtr dmxConfigEntry;
+ static DMXConfigVirtualPtr dmxConfigCurrent, dmxConfigNewVirtual;
+ static DMXConfigDisplayPtr dmxConfigCurrentDisplay, dmxConfigNewDisplay;
+ static int dmxConfigGrabbed, dmxConfigGrabbedFine;
+diff --git a/hw/dmx/glxProxy/glxext.c b/hw/dmx/glxProxy/glxext.c
+index 49848bbff..ca9780f99 100644
+--- a/hw/dmx/glxProxy/glxext.c
 b/hw/dmx/glxProxy/glxext.c
+@@ -47,8 +47,6 @@
+ #include "extinit.h"
+ #include "glx_extinit.h"
+ 
+-int noGlxExtension;
+-
+ /*
+ ** Forward declarations.
+ */
+diff --git a/hw/xwayland/xwayland.c b/hw/xwayland/xwayland.c
+index feb1058b7..5fefa5923 100644
+--- a/hw/xwayland/xwayland.c
 b/hw/xwayland/xwayland.c
+@@ -40,7 +40,7 @@
+ 
+ #ifdef XF86VIDMODE
+ #include 
+-_X_EXPORT Bool noXFree86VidModeExtension;
++extern _X_EXPORT Bool noXFree86VidModeExtension;
+ #endif
+ 
+ #ifdef XWL_HAS_GLAMOR
+diff --git a/test/misc.c b/test/misc.c
+index 3c669b677..f1f76cccd 100644
+--- a/test/misc.c
 b/test/misc.c
+@@ -33,7 +33,7 @@
+ 
+ #include "tests-common.h"
+ 
+-ScreenInfo screenInfo;
++extern ScreenInfo screenInfo;
+ 
+ static void
+ dix_version_compare(void)
+diff --git a/test/xi1/protocol-xchangedevicecontrol.c 
b/test/xi1/protocol-xchangedevicecontrol.c
+index 57a15c407..54f1f67cb 100644
+--- a/test/xi1/protocol-xchangedevicecontrol.c
 b/test/xi1/protocol-xchangedevicecontrol.c
+@@ -37,7 +37,7 @@
+ 
+ #include "protocol-common.h"
+ 
+-ClientRec client_window;
++extern ClientRec client_window;
+ static ClientRec client_request;
+ 
+ static void
+diff --git a/test/xi2/protocol-common.c b/test/xi2/protocol-common.c
+index 8cd85dd05..05dd3c4e7 100644
+--- a/test/xi2/protocol-common.c
 b/test/xi2/protocol-common.c
+@@ -45,6 +45,8 @@ static ClientRec server_client;
+ 
+ void *global_userdata;
+ 
++void (*reply_handler) (ClientPtr client, int len, char *data, void *userdata);
++
+ int enable_GrabButton_wrap = 1;
+ int enable_XISetEventMask_wrap = 1;
+ 
+diff --git a/test/xi2/protocol-common.h b/test/xi2/protoc

[gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/files/, x11-base/xorg-server/

2020-01-26 Thread Matt Turner
commit: 5144ab5fc62a428f70645a13012d8d0f697fc040
Author: Matt Turner  gentoo  org>
AuthorDate: Sun Jan 26 21:08:01 2020 +
Commit: Matt Turner  gentoo  org>
CommitDate: Sun Jan 26 21:09:56 2020 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5144ab5f

x11-base/xorg-server: Drop old versions

Signed-off-by: Matt Turner  gentoo.org>

 x11-base/xorg-server/Manifest  |   1 -
 ...ck-the-shm-dir-at-run-time-not-build-time.patch | 174 ---
 ...1.20.4-shm-Use-memfd_create-when-possible.patch |  89 
 ...ndent-shm_tmpfile-to-follow-our-standards.patch |  72 ---
 x11-base/xorg-server/xorg-server-1.20.5.ebuild | 236 -
 5 files changed, 572 deletions(-)

diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
index c2b87823b65..3cdea5a75a0 100644
--- a/x11-base/xorg-server/Manifest
+++ b/x11-base/xorg-server/Manifest
@@ -1,3 +1,2 @@
-DIST xorg-server-1.20.5.tar.bz2 6126757 BLAKE2B 
2374c6f39acd80174d9cf9c15b6a75f420de3a9b7b51a41385a326fed106fc57fdc5a0a4a08beba36a8d65bff1c8c8d35bb50c73c5285ee206f3293a212369be
 SHA512 
625f0626b122cf95600abe382c3217348999357a0e2d2443092f1b67cff1c98d7ef09303884ceaeac181e0555dc56b0d4d44bda45cc464dac2d9a50c5b32d631
 DIST xorg-server-1.20.6.tar.bz2 6298697 BLAKE2B 
30e505cf83bb2b20e17533b89b81521d029412ea6bd804ecf20458af20364172eb7b21561f14c885d5e16597e6d09985b255b6cec2beb30662658d9e316bc953
 SHA512 
9aa0ba4aee92fe628f2b8c41e4fe0134dc86154bb8787f907884ef2fd970e18e68e72ea8a1beb706d11ecf155b2abc9731f1abadff251ed592f8cca3b1240dd6
 DIST xorg-server-1.20.7.tar.bz2 6303005 BLAKE2B 
343ebc1ff45fc1cd459b204d92eabdd0629c94d4338d2d7cb635f73642080d07ef174cfbd83e5b7f253f2918af2d1efbe99d7c75720b88857f69093ee0be1b65
 SHA512 
c67612e379111c28c68941c0a660abf72be7669591b41ccaa3b3474c4540a03822a28d892831b12ce08bac6e5e7e33504c2d19ef2a0c2298f83bd083459f96f5

diff --git 
a/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch
 
b/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch
deleted file mode 100644
index 54ed62935a6..000
--- 
a/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch
+++ /dev/null
@@ -1,174 +0,0 @@
-From 19f6cb570becbc4e355807199c6e251fc7935132 Mon Sep 17 00:00:00 2001
-From: Eric Anholt 
-Date: Wed, 19 Sep 2018 13:28:06 -0700
-Subject: [PATCH xserver] shm: Pick the shm dir at run time, not build time.
-
-Prodding the builder's filesystem for tmp dirs doesn't necessarily
-tell you anything about what the actual host's filesystem is going to
-look like, so we should just try the dirs at runtime.
-
-Signed-off-by: Eric Anholt 

- Xext/shm.c  | 48 +
- configure.ac| 43 
- include/dix-config.h.in |  3 ---
- include/meson.build |  5 -
- 4 files changed, 29 insertions(+), 70 deletions(-)
-
-diff --git a/Xext/shm.c b/Xext/shm.c
-index ed43b9202..2739a59e7 100644
 a/Xext/shm.c
-+++ b/Xext/shm.c
-@@ -1194,36 +1194,46 @@ ProcShmAttachFd(ClientPtr client)
- static int
- shm_tmpfile(void)
- {
--#ifdef SHMDIR
-+const char *shmdirs[] = {
-+"/run/shm",
-+"/var/tmp",
-+"/tmp",
-+};
- int   fd;
--char  template[] = SHMDIR "/shmfd-XX";
-+
- #ifdef O_TMPFILE
--fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
--if (fd >= 0) {
--DebugF ("Using O_TMPFILE\n");
--return fd;
-+for (int i = 0; i < ARRAY_SIZE(shmdirs); i++) {
-+fd = open(shmdirs[i], O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
-+if (fd >= 0) {
-+DebugF ("Using O_TMPFILE\n");
-+return fd;
-+}
- }
- ErrorF ("Not using O_TMPFILE\n");
- #endif
-+
-+for (int i = 0; i < ARRAY_SIZE(shmdirs); i++) {
-+char template[PATH_MAX];
-+snprintf(template, ARRAY_SIZE(template), "%s/shmfd-XX", 
shmdirs[i]);
- #ifdef HAVE_MKOSTEMP
--fd = mkostemp(template, O_CLOEXEC);
-+fd = mkostemp(template, O_CLOEXEC);
- #else
--fd = mkstemp(template);
-+fd = mkstemp(template);
- #endif
--if (fd < 0)
--return -1;
--unlink(template);
-+if (fd < 0)
-+continue;
-+unlink(template);
- #ifndef HAVE_MKOSTEMP
--int flags = fcntl(fd, F_GETFD);
--if (flags != -1) {
--flags |= FD_CLOEXEC;
--(void) fcntl(fd, F_SETFD, &flags);
--}
-+int flags = fcntl(fd, F_GETFD);
-+if (flags != -1) {
-+flags |= FD_CLOEXEC;
-+(void) fcntl(fd, F_SETFD, &flags);
-+}
- #endif
--return fd;
--#else
-+return fd;
-+}
-+
- return -1;
--#endif
- }
- 
- static int
-diff --git a/configure.ac b/configure.ac
-index 359b62cb5..57a233102 100644
 a/configure.ac
-+++ b/configure.ac
-@@ -1115,49 +1115,6 @@ case "$DRI2,$HAV

[gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/files/, x11-base/xorg-server/

2019-02-27 Thread Matt Turner
commit: 4b03aab97013ea3cacb778956262dbf16e70fcdf
Author: Matt Turner  gentoo  org>
AuthorDate: Thu Feb 28 01:18:22 2019 +
Commit: Matt Turner  gentoo  org>
CommitDate: Thu Feb 28 05:44:46 2019 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=4b03aab9

x11-base/xorg-server: Version bump to 1.20.4

Closes: https://bugs.gentoo.org/677752
Signed-off-by: Matt Turner  gentoo.org>

 x11-base/xorg-server/Manifest  |   1 +
 ...ck-the-shm-dir-at-run-time-not-build-time.patch | 174 +
 ...1.20.4-shm-Use-memfd_create-when-possible.patch |  89 +
 ...ndent-shm_tmpfile-to-follow-our-standards.patch |  72 +++
 x11-base/xorg-server/xorg-server-1.20.4.ebuild | 217 +
 5 files changed, 553 insertions(+)

diff --git a/x11-base/xorg-server/Manifest b/x11-base/xorg-server/Manifest
index 4dc15913393..d0d520e0f00 100644
--- a/x11-base/xorg-server/Manifest
+++ b/x11-base/xorg-server/Manifest
@@ -1 +1,2 @@
 DIST xorg-server-1.20.3.tar.bz2 6205000 BLAKE2B 
9fc8acf1812d0aa4800941dd1846060f91edf1e7ebc92b35e8c2028266d88d3ab3ba14e95f535e5ee41941f8e20769ee75723ba609f5653d4892f97bc5cf91c4
 SHA512 
ee44554f86df4297f54c5871fe7a18954eeef4338775a25f36d6577b279c4775f61128da71b86cfaeadcc080838d6749dede138d4db178866579da2056543fba
+DIST xorg-server-1.20.4.tar.bz2 6123780 BLAKE2B 
224dda54f433315f6614cbee5bc54db91d9d9e190c06ac7f26e334b80b9d4a612ff4b2a4f10f50a6f928ecdbea40172d5578289fbf88411f006bcd473253b05d
 SHA512 
f1c92ef6d7613e0636973d3395b48dfdad42230847ab1c8b1cea84647a968f649f9aba97bdb01c10ee8351cbe954d4e6ca4a0fc84bb8fa662d49c8ba2aee00a8

diff --git 
a/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch
 
b/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch
new file mode 100644
index 000..54ed62935a6
--- /dev/null
+++ 
b/x11-base/xorg-server/files/xorg-server-1.20.4-shm-Pick-the-shm-dir-at-run-time-not-build-time.patch
@@ -0,0 +1,174 @@
+From 19f6cb570becbc4e355807199c6e251fc7935132 Mon Sep 17 00:00:00 2001
+From: Eric Anholt 
+Date: Wed, 19 Sep 2018 13:28:06 -0700
+Subject: [PATCH xserver] shm: Pick the shm dir at run time, not build time.
+
+Prodding the builder's filesystem for tmp dirs doesn't necessarily
+tell you anything about what the actual host's filesystem is going to
+look like, so we should just try the dirs at runtime.
+
+Signed-off-by: Eric Anholt 
+---
+ Xext/shm.c  | 48 +
+ configure.ac| 43 
+ include/dix-config.h.in |  3 ---
+ include/meson.build |  5 -
+ 4 files changed, 29 insertions(+), 70 deletions(-)
+
+diff --git a/Xext/shm.c b/Xext/shm.c
+index ed43b9202..2739a59e7 100644
+--- a/Xext/shm.c
 b/Xext/shm.c
+@@ -1194,36 +1194,46 @@ ProcShmAttachFd(ClientPtr client)
+ static int
+ shm_tmpfile(void)
+ {
+-#ifdef SHMDIR
++const char *shmdirs[] = {
++"/run/shm",
++"/var/tmp",
++"/tmp",
++};
+ int   fd;
+-char  template[] = SHMDIR "/shmfd-XX";
++
+ #ifdef O_TMPFILE
+-fd = open(SHMDIR, O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
+-if (fd >= 0) {
+-DebugF ("Using O_TMPFILE\n");
+-return fd;
++for (int i = 0; i < ARRAY_SIZE(shmdirs); i++) {
++fd = open(shmdirs[i], O_TMPFILE|O_RDWR|O_CLOEXEC|O_EXCL, 0666);
++if (fd >= 0) {
++DebugF ("Using O_TMPFILE\n");
++return fd;
++}
+ }
+ ErrorF ("Not using O_TMPFILE\n");
+ #endif
++
++for (int i = 0; i < ARRAY_SIZE(shmdirs); i++) {
++char template[PATH_MAX];
++snprintf(template, ARRAY_SIZE(template), "%s/shmfd-XX", 
shmdirs[i]);
+ #ifdef HAVE_MKOSTEMP
+-fd = mkostemp(template, O_CLOEXEC);
++fd = mkostemp(template, O_CLOEXEC);
+ #else
+-fd = mkstemp(template);
++fd = mkstemp(template);
+ #endif
+-if (fd < 0)
+-return -1;
+-unlink(template);
++if (fd < 0)
++continue;
++unlink(template);
+ #ifndef HAVE_MKOSTEMP
+-int flags = fcntl(fd, F_GETFD);
+-if (flags != -1) {
+-flags |= FD_CLOEXEC;
+-(void) fcntl(fd, F_SETFD, &flags);
+-}
++int flags = fcntl(fd, F_GETFD);
++if (flags != -1) {
++flags |= FD_CLOEXEC;
++(void) fcntl(fd, F_SETFD, &flags);
++}
+ #endif
+-return fd;
+-#else
++return fd;
++}
++
+ return -1;
+-#endif
+ }
+ 
+ static int
+diff --git a/configure.ac b/configure.ac
+index 359b62cb5..57a233102 100644
+--- a/configure.ac
 b/configure.ac
+@@ -1115,49 +1115,6 @@ case "$DRI2,$HAVE_DRI2PROTO" in
+ esac
+ AM_CONDITIONAL(DRI2, test "x$DRI2" = xyes)
+ 
+-dnl
+-dnl Locate a suitable tmp file system for creating shared memeory files
+-dnl
+-
+-AC_ARG_WITH(shared-memory-dir, 
AS_HELP_STRING([--with-shared-memory-dir=PATH], [Path to directory in a 
world-wr

[gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/files/, x11-base/xorg-server/

2018-05-05 Thread Nick Sarnie
commit: 6d0297870ace46f17905f7440cee1614ce2ffb9b
Author: Nick Sarnie  gentoo  org>
AuthorDate: Sat May  5 18:55:53 2018 +
Commit: Nick Sarnie  gentoo  org>
CommitDate: Sat May  5 19:04:06 2018 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6d029787

x11-base/xorg-server: Backport patch to fix colors on Intel GPUs

Colors are broken on Intel GPUs with Mesa 18.0, let's backport the fix

Bug: https://bugs.gentoo.org/653688
Package-Manager: Portage-2.3.36, Repoman-2.3.9

 ...t-pick-sRGB-config-for-32-bit-RGBA-visual.patch |  39 
 x11-base/xorg-server/xorg-server-1.19.5-r2.ebuild  | 251 +
 2 files changed, 290 insertions(+)

diff --git 
a/x11-base/xorg-server/files/xorg-server-1.19.5-glx-do-not-pick-sRGB-config-for-32-bit-RGBA-visual.patch
 
b/x11-base/xorg-server/files/xorg-server-1.19.5-glx-do-not-pick-sRGB-config-for-32-bit-RGBA-visual.patch
new file mode 100644
index 000..d7e5e511e5d
--- /dev/null
+++ 
b/x11-base/xorg-server/files/xorg-server-1.19.5-glx-do-not-pick-sRGB-config-for-32-bit-RGBA-visual.patch
@@ -0,0 +1,39 @@
+From c2954b16c8730c7ed8441fd8dba25900f3aed265 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tapani=20P=C3=A4lli?= 
+Date: Tue, 28 Nov 2017 09:23:29 +0200
+Subject: [PATCH] glx: do not pick sRGB config for 32-bit RGBA visual
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+This fixes blending issues seen with kwin and gnome-shell when
+32bit visual has sRGB capability set.
+
+Reviewed-by: Adam Jackson 
+Signed-off-by: Tapani Pälli 
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103699
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103646
+Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103655
+---
+ glx/glxscreens.c | 5 +
+ 1 file changed, 5 insertions(+)
+
+diff --git a/glx/glxscreens.c b/glx/glxscreens.c
+index 73444152a..596d972e0 100644
+--- a/glx/glxscreens.c
 b/glx/glxscreens.c
+@@ -271,6 +271,11 @@ pickFBConfig(__GLXscreen * pGlxScreen, VisualPtr visual)
+ /* If it's the 32-bit RGBA visual, demand a 32-bit fbconfig. */
+ if (visual->nplanes == 32 && config->rgbBits != 32)
+ continue;
++/* If it's the 32-bit RGBA visual, do not pick sRGB capable config.
++ * This can cause issues with compositors that are not sRGB aware.
++ */
++if (visual->nplanes == 32 && config->sRGBCapable == GL_TRUE)
++continue;
+ /* Can't use the same FBconfig for multiple X visuals.  I think. */
+ if (config->visualID != 0)
+ continue;
+-- 
+2.17.0
+

diff --git a/x11-base/xorg-server/xorg-server-1.19.5-r2.ebuild 
b/x11-base/xorg-server/xorg-server-1.19.5-r2.ebuild
new file mode 100644
index 000..4b366b21c80
--- /dev/null
+++ b/x11-base/xorg-server/xorg-server-1.19.5-r2.ebuild
@@ -0,0 +1,251 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+XORG_DOC=doc
+inherit xorg-2 multilib versionator flag-o-matic
+EGIT_REPO_URI="https://anongit.freedesktop.org/git/xorg/xserver.git";
+
+DESCRIPTION="X.Org X servers"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh 
~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux"
+
+IUSE_SERVERS="dmx kdrive wayland xephyr xnest xorg xvfb"
+IUSE="${IUSE_SERVERS} debug +glamor ipv6 libressl minimal selinux +suid 
systemd tslib +udev unwind xcsecurity"
+
+CDEPEND=">=app-eselect/eselect-opengl-1.3.0
+   !libressl? ( dev-libs/openssl:0= )
+   libressl? ( dev-libs/libressl:0= )
+   >=x11-apps/iceauth-1.0.2
+   >=x11-apps/rgb-1.0.3
+   >=x11-apps/xauth-1.0.3
+   x11-apps/xkbcomp
+   >=x11-libs/libdrm-2.4.46
+   >=x11-libs/libpciaccess-0.12.901
+   >=x11-libs/libXau-1.0.4
+   >=x11-libs/libXdmcp-1.0.2
+   >=x11-libs/libXfont2-2.0.1
+   >=x11-libs/libxkbfile-1.0.4
+   >=x11-libs/libxshmfence-1.1
+   >=x11-libs/pixman-0.27.2
+   >=x11-libs/xtrans-1.3.5
+   >=x11-misc/xbitmaps-1.0.1
+   >=x11-misc/xkeyboard-config-2.4.1-r3
+   dmx? (
+   x11-libs/libXt
+   >=x11-libs/libdmx-1.0.99.1
+   >=x11-libs/libX11-1.1.5
+   >=x11-libs/libXaw-1.0.4
+   >=x11-libs/libXext-1.0.99.4
+   >=x11-libs/libXfixes-5.0
+   >=x11-libs/libXi-1.2.99.1
+   >=x11-libs/libXmu-1.0.3
+   x11-libs/libXrender
+   >=x11-libs/libXres-1.0.3
+   >=x11-libs/libXtst-1.0.99.2
+   )
+   glamor? (
+   media-libs/libepoxy[X]
+   >=media-libs/mesa-10.3.4-r1[egl,gbm]
+   !x11-libs/glamor
+   )
+   kdrive? (
+   >=x11-libs/libXext-1.0.5
+   x11-libs/libXv
+   )
+   xephyr? (
+   x11-libs/libxcb[xkb]
+   x11-libs/xcb-util
+   x11-libs/xcb

[gentoo-commits] repo/gentoo:master commit in: x11-base/xorg-server/files/, x11-base/xorg-server/

2018-03-06 Thread Matt Turner
commit: bbf0927bb971152a4d7e18b7fa3f3c40c186a569
Author: Matt Turner  gentoo  org>
AuthorDate: Tue Mar  6 20:23:08 2018 +
Commit: Matt Turner  gentoo  org>
CommitDate: Tue Mar  6 20:25:20 2018 +
URL:https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bbf0927b

x11-base/xorg-server: Add upstream patch to fix crash

Closes: https://bugs.gentoo.org/649392

 .../xorg-server-1.19.99.901-randr-fix-crash.patch  | 44 ++
 ...01.ebuild => xorg-server-1.19.99.901-r1.ebuild} |  1 +
 2 files changed, 45 insertions(+)

diff --git 
a/x11-base/xorg-server/files/xorg-server-1.19.99.901-randr-fix-crash.patch 
b/x11-base/xorg-server/files/xorg-server-1.19.99.901-randr-fix-crash.patch
new file mode 100644
index 000..bcaaf867c7a
--- /dev/null
+++ b/x11-base/xorg-server/files/xorg-server-1.19.99.901-randr-fix-crash.patch
@@ -0,0 +1,44 @@
+From 2af0a50a4bb9be9f58681d417ceb9a7029caaf3b Mon Sep 17 00:00:00 2001
+From: Adam Jackson 
+Date: Wed, 28 Feb 2018 11:23:41 -0500
+Subject: [PATCH] randr: Fix a crash on initialization with GPU screens
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+RRSetChanged (immediately above) was immune to screens with no master,
+but RRTellChanged was not:
+
+Thread 1 "X" received signal SIGSEGV, Segmentation fault.
+RRTellChanged (pScreen=) at ../../randr/randr.c:576
+576 mastersp = rrGetScrPriv(master);
+(gdb) bt
+#0  RRTellChanged (pScreen=) at ../../randr/randr.c:576
+#1  0x5566f1e9 in RRNoticePropertyChange (value=0x55bfbf28, 
property=70, output=0x55bfef10) at ../../randr/rrproperty.c:153
+#2  RRChangeOutputProperty (output=output@entry=0x55bfef10, 
property=, type=type@entry=19, format=format@entry=32, 
mode=, mode@entry=0, len=len@entry=1, value=0x7fffe77c, 
sendevent=1, pending=0)
+at ../../randr/rrproperty.c:263
+#3  0x5566dba5 in RROutputSetNonDesktop 
(output=output@entry=0x55bfef10, nonDesktop=nonDesktop@entry=0) at 
../../randr/rroutput.c:333
+...
+
+Reported-by: Michel Dänzer 
+Signed-off-by: Adam Jackson 
+---
+ randr/randr.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/randr/randr.c b/randr/randr.c
+index 339ad3ece..feb54bcc8 100644
+--- a/randr/randr.c
 b/randr/randr.c
+@@ -602,6 +602,8 @@ RRTellChanged(ScreenPtr pScreen)
+ 
+ if (pScreen->isGPU) {
+ master = pScreen->current_master;
++if (!master)
++return;
+ mastersp = rrGetScrPriv(master);
+ }
+ else {
+-- 
+2.16.1
+

diff --git a/x11-base/xorg-server/xorg-server-1.19.99.901.ebuild 
b/x11-base/xorg-server/xorg-server-1.19.99.901-r1.ebuild
similarity index 99%
rename from x11-base/xorg-server/xorg-server-1.19.99.901.ebuild
rename to x11-base/xorg-server/xorg-server-1.19.99.901-r1.ebuild
index 37491c682e6..19c536df784 100644
--- a/x11-base/xorg-server/xorg-server-1.19.99.901.ebuild
+++ b/x11-base/xorg-server/xorg-server-1.19.99.901-r1.ebuild
@@ -117,6 +117,7 @@ PATCHES=(
"${FILESDIR}"/${PN}-1.12-unloadsubmodule.patch
# needed for new eselect-opengl, bug #541232
"${FILESDIR}"/${PN}-1.18-support-multiple-Files-sections.patch
+   "${FILESDIR}"/${P}-randr-fix-crash.patch
 )
 
 pkg_pretend() {