diff options
Diffstat (limited to 'source/x/x11/patch')
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 |