summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatt Turner <mattst88@gentoo.org>2020-03-19 14:13:07 -0700
committerMatt Turner <mattst88@gentoo.org>2020-03-19 14:50:43 -0700
commitff6b355183abf835dc5355e01e6ca742eaff3a12 (patch)
tree0185dafd07c66a56ca731a91c60e3602bf0bbe2d
parentapp-office/libreoffice{,-l10n}: Re-add KEYWORDS for 6.4.2.2 (diff)
downloadgentoo-ff6b355183abf835dc5355e01e6ca742eaff3a12.tar.gz
gentoo-ff6b355183abf835dc5355e01e6ca742eaff3a12.tar.bz2
gentoo-ff6b355183abf835dc5355e01e6ca742eaff3a12.zip
x11-base/xorg-server: Add patch to build with -fno-common
Closes: https://bugs.gentoo.org/705880 Signed-off-by: Matt Turner <mattst88@gentoo.org>
-rw-r--r--x11-base/xorg-server/files/xorg-server-1.20.7-Fix-building-with-fno-common.patch254
-rw-r--r--x11-base/xorg-server/xorg-server-1.20.7.ebuild1
2 files changed, 255 insertions, 0 deletions
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 00000000000..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 <soap@gentoo.org>
+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 <mattst88@gmail.com>
+---
+ 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 <X11/extensions/xf86vmproto.h>
+-_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/protocol-common.h
+index 8490529ad..742ce348f 100644
+--- a/test/xi2/protocol-common.h
++++ b/test/xi2/protocol-common.h
+@@ -99,7 +99,7 @@ extern void *global_userdata;
+ * The reply handler called from WriteToClient. Set this handler if you need
+ * to check the reply values.
+ */
+-void (*reply_handler) (ClientPtr client, int len, char *data, void *userdata);
++extern void (*reply_handler) (ClientPtr client, int len, char *data, void *userdata);
+
+ /**
+ * The default screen used for the windows. Initialized by init_simple().
+diff --git a/test/xi2/protocol-xigetclientpointer.c b/test/xi2/protocol-xigetclientpointer.c
+index 9c38bd720..244e8438f 100644
+--- a/test/xi2/protocol-xigetclientpointer.c
++++ b/test/xi2/protocol-xigetclientpointer.c
+@@ -46,7 +46,7 @@ static struct {
+ int win;
+ } test_data;
+
+-ClientRec client_window;
++extern ClientRec client_window;
+ static ClientRec client_request;
+
+ static void
+diff --git a/test/xi2/protocol-xigetselectedevents.c b/test/xi2/protocol-xigetselectedevents.c
+index 9a0fac5d4..b14100224 100644
+--- a/test/xi2/protocol-xigetselectedevents.c
++++ b/test/xi2/protocol-xigetselectedevents.c
+@@ -60,7 +60,7 @@ static struct {
+ int mask_len;
+ } test_data;
+
+-ClientRec client_window;
++extern ClientRec client_window;
+
+ /* AddResource is called from XISetSEventMask, we don't need this */
+ Bool
+diff --git a/test/xi2/protocol-xipassivegrabdevice.c b/test/xi2/protocol-xipassivegrabdevice.c
+index c703a1ee8..142bcecb7 100644
+--- a/test/xi2/protocol-xipassivegrabdevice.c
++++ b/test/xi2/protocol-xipassivegrabdevice.c
+@@ -41,7 +41,7 @@
+
+ #include "protocol-common.h"
+
+-ClientRec client_window;
++extern ClientRec client_window;
+ static ClientRec client_request;
+
+ #define N_MODS 7
+diff --git a/test/xi2/protocol-xiquerydevice.c b/test/xi2/protocol-xiquerydevice.c
+index a068038fd..6ee8a80fc 100644
+--- a/test/xi2/protocol-xiquerydevice.c
++++ b/test/xi2/protocol-xiquerydevice.c
+@@ -54,7 +54,7 @@ struct test_data {
+ int num_devices_in_reply;
+ };
+
+-ClientRec client_window;
++extern ClientRec client_window;
+
+ static void reply_XIQueryDevice_data(ClientPtr client, int len, char *data,
+ void *closure);
+diff --git a/test/xi2/protocol-xiquerypointer.c b/test/xi2/protocol-xiquerypointer.c
+index ed75d7910..0f5a2b57a 100644
+--- a/test/xi2/protocol-xiquerypointer.c
++++ b/test/xi2/protocol-xiquerypointer.c
+@@ -41,7 +41,7 @@
+
+ #include "protocol-common.h"
+
+-ClientRec client_window;
++extern ClientRec client_window;
+ static ClientRec client_request;
+ static void reply_XIQueryPointer_data(ClientPtr client, int len,
+ char *data, void *closure);
+diff --git a/test/xi2/protocol-xiqueryversion.c b/test/xi2/protocol-xiqueryversion.c
+index 3ce758faa..c7ddbfc10 100644
+--- a/test/xi2/protocol-xiqueryversion.c
++++ b/test/xi2/protocol-xiqueryversion.c
+@@ -58,7 +58,7 @@ struct test_data {
+ int minor_expected;
+ };
+
+-ClientRec client_window;
++extern ClientRec client_window;
+
+ static void
+ reply_XIQueryVersion(ClientPtr client, int len, char *data, void *closure)
+diff --git a/test/xi2/protocol-xiselectevents.c b/test/xi2/protocol-xiselectevents.c
+index f136c23d0..06050ade7 100644
+--- a/test/xi2/protocol-xiselectevents.c
++++ b/test/xi2/protocol-xiselectevents.c
+@@ -62,7 +62,7 @@
+
+ static unsigned char *data[4096 * 20]; /* the request data buffer */
+
+-ClientRec client_window;
++extern ClientRec client_window;
+
+ int
+ __real_XISetEventMask(DeviceIntPtr dev, WindowPtr win, ClientPtr client,
+diff --git a/test/xi2/protocol-xisetclientpointer.c b/test/xi2/protocol-xisetclientpointer.c
+index 6584bb9cc..ddc9f0000 100644
+--- a/test/xi2/protocol-xisetclientpointer.c
++++ b/test/xi2/protocol-xisetclientpointer.c
+@@ -48,7 +48,7 @@
+
+ #include "protocol-common.h"
+
+-ClientRec client_window;
++extern ClientRec client_window;
+ static ClientRec client_request;
+
+ static void
+diff --git a/test/xi2/protocol-xiwarppointer.c b/test/xi2/protocol-xiwarppointer.c
+index 8484d54e5..e5c2f31ea 100644
+--- a/test/xi2/protocol-xiwarppointer.c
++++ b/test/xi2/protocol-xiwarppointer.c
+@@ -44,7 +44,7 @@
+ static int expected_x = SPRITE_X;
+ static int expected_y = SPRITE_Y;
+
+-ClientRec client_window;
++extern ClientRec client_window;
+
+ /**
+ * This function overrides the one in the screen rec.
+--
+2.24.1
+
diff --git a/x11-base/xorg-server/xorg-server-1.20.7.ebuild b/x11-base/xorg-server/xorg-server-1.20.7.ebuild
index 794466e2d51..33eb1762fd0 100644
--- a/x11-base/xorg-server/xorg-server-1.20.7.ebuild
+++ b/x11-base/xorg-server/xorg-server-1.20.7.ebuild
@@ -118,6 +118,7 @@ REQUIRED_USE="!minimal? (
xephyr? ( kdrive )"
UPSTREAMED_PATCHES=(
+ "${FILESDIR}"/${P}-Fix-building-with-fno-common.patch
)
PATCHES=(