summaryrefslogtreecommitdiff
path: root/source/x/x11/patch
diff options
context:
space:
mode:
Diffstat (limited to 'source/x/x11/patch')
-rw-r--r--source/x/x11/patch/xf86-input-mouse.patch2
-rw-r--r--source/x/x11/patch/xf86-input-mouse/3c8f243b750a92d5837a449d344ff884dbd02b57.patch42
-rw-r--r--source/x/x11/patch/xf86-video-intel.patch6
-rw-r--r--source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-F28-and-later.patch101
-rw-r--r--source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-i686.patch49
-rw-r--r--source/x/x11/patch/xf86-video-intel/0001-sna-Avoid-clobbering-output-physical-size-with-xf86O.patch47
-rw-r--r--source/x/x11/patch/xf86-video-intel/intel-gcc-pr65873.patch12
-rw-r--r--source/x/x11/patch/xf86-video-sisusb.patch7
-rw-r--r--source/x/x11/patch/xf86-video-vmware.patch7
-rw-r--r--source/x/x11/patch/xinit/xinit.remove.systemd.kludge.diff25
-rw-r--r--source/x/x11/patch/xpyb.patch1
-rw-r--r--source/x/x11/patch/xpyb/xpyb-1.3.1-xcbproto-1.13.patch12
12 files changed, 284 insertions, 27 deletions
diff --git a/source/x/x11/patch/xf86-input-mouse.patch b/source/x/x11/patch/xf86-input-mouse.patch
new file mode 100644
index 00000000..e54c5190
--- /dev/null
+++ b/source/x/x11/patch/xf86-input-mouse.patch
@@ -0,0 +1,2 @@
+zcat $CWD/patch/xf86-input-mouse/3c8f243b750a92d5837a449d344ff884dbd02b57.patch.gz \
+ | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/x/x11/patch/xf86-input-mouse/3c8f243b750a92d5837a449d344ff884dbd02b57.patch b/source/x/x11/patch/xf86-input-mouse/3c8f243b750a92d5837a449d344ff884dbd02b57.patch
new file mode 100644
index 00000000..5726c50a
--- /dev/null
+++ b/source/x/x11/patch/xf86-input-mouse/3c8f243b750a92d5837a449d344ff884dbd02b57.patch
@@ -0,0 +1,42 @@
+From 3c8f243b750a92d5837a449d344ff884dbd02b57 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Thu, 16 Feb 2017 09:21:21 -0500
+Subject: Adapt to removal of xf86GetOS
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+ src/mouse.c | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/src/mouse.c b/src/mouse.c
+index dae98aa..40d97a9 100644
+--- a/src/mouse.c
++++ b/src/mouse.c
+@@ -794,7 +794,6 @@ InitProtocols(void)
+ {
+ int classes;
+ int i;
+- const char *osname = NULL;
+
+ if (osInfo)
+ return TRUE;
+@@ -821,11 +820,11 @@ InitProtocols(void)
+ mouseProtocols[i].id = PROT_UNSUP;
+
+ /* NetBSD uses PROT_BM for "PS/2". */
+- xf86GetOS(&osname, NULL, NULL, NULL);
+- if (osname && xf86NameCmp(osname, "netbsd") == 0)
+- for (i = 0; mouseProtocols[i].name; i++)
+- if (mouseProtocols[i].id == PROT_PS2)
+- mouseProtocols[i].id = PROT_BM;
++#if defined(__NetBSD__)
++ for (i = 0; mouseProtocols[i].name; i++)
++ if (mouseProtocols[i].id == PROT_PS2)
++ mouseProtocols[i].id = PROT_BM;
++#endif
+
+ return TRUE;
+ }
+--
+cgit v1.1
+
diff --git a/source/x/x11/patch/xf86-video-intel.patch b/source/x/x11/patch/xf86-video-intel.patch
index dab2d0d3..30c63796 100644
--- a/source/x/x11/patch/xf86-video-intel.patch
+++ b/source/x/x11/patch/xf86-video-intel.patch
@@ -1,3 +1,9 @@
# Disable this patch. Latest git should support gen9 properly.
#zcat $CWD/patch/xf86-video-intel/0001-sna-Let-modestting-glamor-handle-gen9.patch.gz \
# | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+
+# Some patches from Fedora's SRPM:
+zcat $CWD/patch/xf86-video-intel/0001-Fix-build-on-F28-and-later.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xf86-video-intel/0001-Fix-build-on-i686.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xf86-video-intel/0001-sna-Avoid-clobbering-output-physical-size-with-xf86O.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
+zcat $CWD/patch/xf86-video-intel/intel-gcc-pr65873.patch.gz | patch -p1 --verbose || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-F28-and-later.patch b/source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-F28-and-later.patch
new file mode 100644
index 00000000..ca525ecc
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-F28-and-later.patch
@@ -0,0 +1,101 @@
+From 9c1151b4d65c356f0d25d952fe1a10c89fdb834a Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Mon, 5 Mar 2018 11:03:18 -0500
+Subject: [PATCH] Fix build on F28 and later
+
+Newer gcc complains that it doesn't know how to always-inline memcpy():
+
+ /usr/include/bits/string_fortified.h:31:1: error: inlining failed in
+ call to always_inline 'memcpy': target specific option mismatch
+
+This is because we need to wrap our declaration of memcpy() in the
+options we're trying to push at the top of blt.c. So: include compiler.h
+to define sse2, then push options, then include everything else.
+
+However if you do that, the word 'nonnull' collides with the usage in
+<X11/Xfuncproto.h>. I'm too lazy to fix that properly, just expand it to
+the __attribute__ form in the few places we say it.
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+---
+ src/sna/blt.c | 6 ++++--
+ src/sna/compiler.h | 2 --
+ src/sna/gen6_common.h | 6 +++---
+ 3 files changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/src/sna/blt.c b/src/sna/blt.c
+index cb90437a..fb357d35 100644
+--- a/src/sna/blt.c
++++ b/src/sna/blt.c
+@@ -29,13 +29,15 @@
+ #include "config.h"
+ #endif
+
+-#include "sna.h"
+-#include <pixman.h>
++#include "compiler.h"
+
+ #if defined(sse2)
+ #pragma GCC push_options
+ #pragma GCC target("sse2,inline-all-stringops,fpmath=sse")
+ #pragma GCC optimize("Ofast")
++
++#include <pixman.h>
++#include "sna.h"
+ #include <xmmintrin.h>
+
+ #if __x86_64__
+diff --git a/src/sna/compiler.h b/src/sna/compiler.h
+index 0f3775ec..3c176a16 100644
+--- a/src/sna/compiler.h
++++ b/src/sna/compiler.h
+@@ -39,7 +39,6 @@
+ #define pure __attribute__((pure))
+ #define tightly_packed __attribute__((__packed__))
+ #define flatten __attribute__((flatten))
+-#define nonnull __attribute__((nonnull))
+ #define page_aligned __attribute__((aligned(4096)))
+ #else
+ #define likely(expr) (expr)
+@@ -52,7 +51,6 @@
+ #define pure
+ #define tighly_packed
+ #define flatten
+-#define nonnull
+ #define page_aligned
+ #endif
+
+diff --git a/src/sna/gen6_common.h b/src/sna/gen6_common.h
+index b53ec0c9..119a2d5d 100644
+--- a/src/sna/gen6_common.h
++++ b/src/sna/gen6_common.h
+@@ -133,7 +133,7 @@ inline static bool force_blt_ring(struct sna *sna, struct kgem_bo *bo)
+ return false;
+ }
+
+-nonnull inline static bool
++__attribute__((nonnull)) inline static bool
+ prefer_blt_ring(struct sna *sna, struct kgem_bo *bo, unsigned flags)
+ {
+ if (PREFER_RENDER)
+@@ -148,7 +148,7 @@ prefer_blt_ring(struct sna *sna, struct kgem_bo *bo, unsigned flags)
+ return can_switch_to_blt(sna, bo, flags);
+ }
+
+-nonnull inline static bool
++__attribute__((nonnull)) inline static bool
+ prefer_render_ring(struct sna *sna, struct kgem_bo *bo)
+ {
+ if (sna->kgem.ring == KGEM_RENDER)
+@@ -191,7 +191,7 @@ prefer_blt_composite(struct sna *sna, struct sna_composite_op *tmp)
+ return prefer_blt_bo(sna, tmp->src.bo, tmp->dst.bo);
+ }
+
+-nonnull static inline bool
++__attribute__((nonnull)) static inline bool
+ prefer_blt_fill(struct sna *sna, struct kgem_bo *bo, unsigned flags)
+ {
+ if (PREFER_RENDER)
+--
+2.16.2
+
diff --git a/source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-i686.patch b/source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-i686.patch
new file mode 100644
index 00000000..0851fbe4
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-intel/0001-Fix-build-on-i686.patch
@@ -0,0 +1,49 @@
+From a414d4e24461da1cb4cef8ee910bc57bab360ceb Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 6 Mar 2018 12:07:46 -0500
+Subject: [PATCH] Fix build on i686
+
+Presumably this only matters for i686 because amd64 implies sse2, but:
+
+BUILDSTDERR: In file included from gen4_vertex.c:34:
+BUILDSTDERR: gen4_vertex.c: In function 'emit_vertex':
+BUILDSTDERR: sna_render_inline.h:40:26: error: inlining failed in call to always_inline 'vertex_emit_2s': target specific option mismatch
+BUILDSTDERR: static force_inline void vertex_emit_2s(struct sna *sna, int16_t x, int16_t y)
+BUILDSTDERR: ^~~~~~~~~~~~~~
+BUILDSTDERR: gen4_vertex.c:308:25: note: called from here
+BUILDSTDERR: #define OUT_VERTEX(x,y) vertex_emit_2s(sna, x,y) /* XXX assert(!too_large(x, y)); */
+BUILDSTDERR: ^~~~~~~~~~~~~~~~~~~~~~~~
+BUILDSTDERR: gen4_vertex.c:360:2: note: in expansion of macro 'OUT_VERTEX'
+BUILDSTDERR: OUT_VERTEX(dstX, dstY);
+BUILDSTDERR: ^~~~~~~~~~
+
+The bug here appears to be that emit_vertex() is declared 'sse2' but
+vertex_emit_2s is merely always_inline. gcc8 decides that since you said
+always_inline you need to have explicitly cloned it for every
+permutation of targets. Merely saying inline seems to do the job of
+cloning vertex_emit_2s as much as necessary.
+
+So to reiterate: if you say always-inline, it won't, but if you just say
+maybe inline, it will. Thanks gcc, that's helpful.
+
+- ajax
+---
+ src/sna/compiler.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/sna/compiler.h b/src/sna/compiler.h
+index 3c176a16..bc447c7a 100644
+--- a/src/sna/compiler.h
++++ b/src/sna/compiler.h
+@@ -32,7 +32,7 @@
+ #define likely(expr) (__builtin_expect (!!(expr), 1))
+ #define unlikely(expr) (__builtin_expect (!!(expr), 0))
+ #define noinline __attribute__((noinline))
+-#define force_inline inline __attribute__((always_inline))
++#define force_inline inline
+ #define fastcall __attribute__((regparm(3)))
+ #define must_check __attribute__((warn_unused_result))
+ #define constant __attribute__((const))
+--
+2.16.2
+
diff --git a/source/x/x11/patch/xf86-video-intel/0001-sna-Avoid-clobbering-output-physical-size-with-xf86O.patch b/source/x/x11/patch/xf86-video-intel/0001-sna-Avoid-clobbering-output-physical-size-with-xf86O.patch
new file mode 100644
index 00000000..cb279a78
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-intel/0001-sna-Avoid-clobbering-output-physical-size-with-xf86O.patch
@@ -0,0 +1,47 @@
+From 09bf64d69d97172f22fe08eb495bf50f920ae9ec Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com>
+Date: Tue, 31 May 2016 11:11:21 +0300
+Subject: [PATCH] sna: Avoid clobbering output physical size with
+ xf86OutputSetEDID()
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
+---
+ src/sna/sna_display.c | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/src/sna/sna_display.c b/src/sna/sna_display.c
+index 10d33f2..57de410 100644
+--- a/src/sna/sna_display.c
++++ b/src/sna/sna_display.c
+@@ -3576,6 +3576,7 @@ sna_output_attach_edid(xf86OutputPtr output)
+ {
+ struct sna *sna = to_sna(output->scrn);
+ struct sna_output *sna_output = output->driver_private;
++ unsigned old_mm_width, old_mm_height;
+ struct drm_mode_get_blob blob;
+ void *old, *raw = NULL;
+ xf86MonPtr mon = NULL;
+@@ -3678,12 +3679,17 @@ skip_read:
+ }
+
+ done:
++ output = sna_output->base;
++ old_mm_width = output->mm_width;
++ old_mm_height = output->mm_height;
+ sna_output_set_parsed_edid(output, mon);
+ if (raw) {
+ sna_output->edid_raw = raw;
+ sna_output->edid_len = blob.length;
+ sna_output->edid_blob_id = blob.blob_id;
+ }
++ output->mm_width = old_mm_width;
++ output->mm_height = old_mm_height;
+ }
+
+ static void
+--
+2.7.4
+
diff --git a/source/x/x11/patch/xf86-video-intel/intel-gcc-pr65873.patch b/source/x/x11/patch/xf86-video-intel/intel-gcc-pr65873.patch
new file mode 100644
index 00000000..ed05bce9
--- /dev/null
+++ b/source/x/x11/patch/xf86-video-intel/intel-gcc-pr65873.patch
@@ -0,0 +1,12 @@
+diff -up xf86-video-intel-20150520/src/sna/compiler.h.jx xf86-video-intel-20150520/src/sna/compiler.h
+--- xf86-video-intel-20150520/src/sna/compiler.h.jx 2015-05-19 07:44:26.000000000 -0400
++++ xf86-video-intel-20150520/src/sna/compiler.h 2015-05-20 12:53:54.797918726 -0400
+@@ -64,7 +64,7 @@
+ #endif
+
+ #if HAS_GCC(4, 6) && defined(__OPTIMIZE__)
+-#define fast __attribute__((optimize("Ofast")))
++#define fast __attribute__((optimize("O3")))
+ #else
+ #define fast
+ #endif
diff --git a/source/x/x11/patch/xf86-video-sisusb.patch b/source/x/x11/patch/xf86-video-sisusb.patch
deleted file mode 100644
index 17d7e829..00000000
--- a/source/x/x11/patch/xf86-video-sisusb.patch
+++ /dev/null
@@ -1,7 +0,0 @@
-# Remove obsolete references to mibstore.h and miInitializeBackingStore():
-grep -r -l '#include "mibstore.h"' * | while read file ; do
- sed -i "s/#include \"mibstore.h\"//g" $file
-done
-grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
- sed -i "s/miInitializeBackingStore(pScreen);//g" $file
-done
diff --git a/source/x/x11/patch/xf86-video-vmware.patch b/source/x/x11/patch/xf86-video-vmware.patch
deleted file mode 100644
index 17d7e829..00000000
--- a/source/x/x11/patch/xf86-video-vmware.patch
+++ /dev/null
@@ -1,7 +0,0 @@
-# Remove obsolete references to mibstore.h and miInitializeBackingStore():
-grep -r -l '#include "mibstore.h"' * | while read file ; do
- sed -i "s/#include \"mibstore.h\"//g" $file
-done
-grep -r -l 'miInitializeBackingStore(pScreen);' | while read file ; do
- sed -i "s/miInitializeBackingStore(pScreen);//g" $file
-done
diff --git a/source/x/x11/patch/xinit/xinit.remove.systemd.kludge.diff b/source/x/x11/patch/xinit/xinit.remove.systemd.kludge.diff
index f51e4628..79223807 100644
--- a/source/x/x11/patch/xinit/xinit.remove.systemd.kludge.diff
+++ b/source/x/x11/patch/xinit/xinit.remove.systemd.kludge.diff
@@ -1,19 +1,18 @@
---- ./startx.cpp.orig 2014-09-11 12:31:42.000000000 -0500
-+++ ./startx.cpp 2015-03-29 23:35:06.133875707 -0500
-@@ -192,10 +192,12 @@
+--- ./startx.cpp.orig 2018-03-11 16:07:52.205154560 -0500
++++ ./startx.cpp 2018-03-11 16:09:46.094163992 -0500
+@@ -201,6 +201,7 @@
+ server=$defaultserver
+
+ #ifdef __linux__
++ if [ -x /usr/lib/systemd/systemd -o -x /lib/systemd/systemd ]; then
XCOMM When starting the defaultserver start X on the current tty to avoid
XCOMM the startx session being seen as inactive:
XCOMM "https://bugzilla.redhat.com/show_bug.cgi?id=806491"
-- tty=$(tty)
-- if expr match "$tty" '^/dev/tty[0-9]\+$' > /dev/null; then
-- tty_num=$(echo "$tty" | grep -oE '[0-9]+$')
-- vtarg="vt$tty_num"
-+ if [ -x /usr/lib/systemd/systemd -o -x /lib/systemd/systemd ]; then
-+ tty=$(tty)
-+ if expr match "$tty" '^/dev/tty[0-9]\+$' > /dev/null; then
-+ tty_num=$(echo "$tty" | grep -oE '[0-9]+$')
-+ vtarg="vt$tty_num"
-+ fi
+@@ -209,6 +210,7 @@
+ tty_num=$(echo "$tty" | grep -oE '[0-9]+$')
+ vtarg="vt$tty_num -keeptty"
fi
++ fi
#endif
+ XCOMM For compatibility reasons, only use xserverrc if there were no server command line arguments
diff --git a/source/x/x11/patch/xpyb.patch b/source/x/x11/patch/xpyb.patch
new file mode 100644
index 00000000..30ec5dd8
--- /dev/null
+++ b/source/x/x11/patch/xpyb.patch
@@ -0,0 +1 @@
+zcat $CWD/patch/xpyb/xpyb-1.3.1-xcbproto-1.13.patch.gz | patch -p1 || { touch ${SLACK_X_BUILD_DIR}/${PKGNAME}.failed ; continue ; }
diff --git a/source/x/x11/patch/xpyb/xpyb-1.3.1-xcbproto-1.13.patch b/source/x/x11/patch/xpyb/xpyb-1.3.1-xcbproto-1.13.patch
new file mode 100644
index 00000000..8227aa05
--- /dev/null
+++ b/source/x/x11/patch/xpyb/xpyb-1.3.1-xcbproto-1.13.patch
@@ -0,0 +1,12 @@
+--- ./src/py_client.py.orig 2012-03-23 16:24:40.000000000 -0500
++++ ./src/py_client.py 2018-03-11 14:24:54.540483549 -0500
+@@ -585,7 +585,8 @@
+ 'union' : py_union,
+ 'request' : py_request,
+ 'event' : py_event,
+- 'error' : py_error
++ 'error' : py_error,
++ 'eventstruct' : lambda *a, **k: None
+ }
+
+ # Boilerplate below this point