From 77a36f184e699a16cc0b213816c0b951cd69729d Mon Sep 17 00:00:00 2001
From: obarun <eric@obarun.org>
Date: Mon, 11 Jun 2018 19:43:37 +1100
Subject: [PATCH] upgrel : 1.20.0-8

---
 0002-fix-libshadow-2.patch                    | 23 +++++++++++++
 ...Format_for_source-only_picture_format.diff | 32 +++++++++++++++++++
 PKGBUILD                                      | 20 +++++++++---
 3 files changed, 71 insertions(+), 4 deletions(-)
 create mode 100644 0002-fix-libshadow-2.patch
 create mode 100644 0003_Use_PictureMatchFormat_for_source-only_picture_format.diff

diff --git a/0002-fix-libshadow-2.patch b/0002-fix-libshadow-2.patch
new file mode 100644
index 0000000..b0b0440
--- /dev/null
+++ b/0002-fix-libshadow-2.patch
@@ -0,0 +1,23 @@
+From 9ed4ae9cf207360000742c09007a32ad144b52db Mon Sep 17 00:00:00 2001
+From: fafryd <dz1125.bug.tracker@gmail.com>
+Date: Fri, 25 May 2018 20:17:35 +0200
+Subject: [PATCH] fix libshadow
+
+---
+ hw/xfree86/dixmods/meson.build | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/hw/xfree86/dixmods/meson.build b/hw/xfree86/dixmods/meson.build
+index 835d23215..6bd8029b6 100644
+--- a/hw/xfree86/dixmods/meson.build
++++ b/hw/xfree86/dixmods/meson.build
+@@ -38,6 +38,7 @@ shared_module(
+ 
+     install: true,
+     install_dir: module_dir,
++    install_rpath: '$ORIGIN/./',
+ )
+ 
+ if build_glx
+-- 
+2.17.0
diff --git a/0003_Use_PictureMatchFormat_for_source-only_picture_format.diff b/0003_Use_PictureMatchFormat_for_source-only_picture_format.diff
new file mode 100644
index 0000000..b9f92e2
--- /dev/null
+++ b/0003_Use_PictureMatchFormat_for_source-only_picture_format.diff
@@ -0,0 +1,32 @@
+From 3ebef6ab850675e1091df2125ebdfbb147436e6c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Michel=20D=C3=A4nzer?= <michel.daenzer@amd.com>
+Date: Fri, 1 Jun 2018 11:57:15 +0200
+Subject: exa: Use PictureMatchFormat for source-only picture format
+ description
+
+Their pFormat member is NULL, which resulted in a crash in
+miRenderColorToPixel.
+
+Fixes: 8171d4c2d67b "render: Store and use all 16bpc of precision for
+                     solid pixels (v2.1)"
+Reviewed-by: Adam Jackson <ajax@redhat.com>
+---
+ exa/exa_render.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/exa/exa_render.c b/exa/exa_render.c
+index 50a9a65..9fbfdfc 100644
+--- a/exa/exa_render.c
++++ b/exa/exa_render.c
+@@ -291,7 +291,8 @@ exaTryDriverSolidFill(PicturePtr pSrc,
+         pixel = exaGetPixmapFirstPixel(pSrcPix);
+     }
+     else
+-        miRenderColorToPixel(pSrc->pFormat,
++        miRenderColorToPixel(PictureMatchFormat(pDst->pDrawable->pScreen, 32,
++                                                pSrc->format),
+                              &pSrc->pSourcePict->solidFill.fullcolor,
+                              &pixel);
+ 
+-- 
+cgit v1.1
diff --git a/PKGBUILD b/PKGBUILD
index d90328e..45da940 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -7,7 +7,7 @@ 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.20.0
-pkgrel=6
+pkgrel=8
 arch=('x86_64')
 license=('custom')
 groups=('xorg')
@@ -28,7 +28,9 @@ source=(https://xorg.freedesktop.org/releases/individual/xserver/${pkgbase}-${pk
         xvfb-run.1
         xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch
         xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch
-        0001-v2-FS-58644.patch)
+        0001-v2-FS-58644.patch
+        0002-fix-libshadow-2.patch
+        0003_Use_PictureMatchFormat_for_source-only_picture_format.diff)
 validpgpkeys=('7B27A3F1A6E18CD9588B4AE8310180050905E40C'
               'C383B778255613DFDB409D91DB221A6900000011'
               'DD38563A8A8224537D1F90E45B8A2D50A0ECD0D3'
@@ -38,7 +40,11 @@ sha512sums=('1489e8511c9da682ef0460182dfeeddd241c72d4ef4d206d9706f1e39572c09953d
             'd84f4d63a502b7af76ea49944d1b21e2030dfd250ac1e82878935cf631973310ac9ba1f0dfedf10980ec6c7431d61b7daa4b7bbaae9ee477b2c19812c1661a22'
             '55bbf520333f6e818b0125b37179a7039b69a0d3d2242b80a08da003d94cbf6c1fb912d880abcce318a85d7947e3eff8fbc4cdf57d7118572e8ebc56c4569af6'
             'de5e2cb3c6825e6cf1f07ca0d52423e17f34d70ec7935e9dd24be5fb9883bf1e03b50ff584931bd3b41095c510ab2aa44d2573fd5feaebdcb59363b65607ff22'
-            'f05c18354a3cf5b5b0fa97c4a887cfd688297e39d7ddc93b5900357119a689a060321019aeec9ca9c1366ea4b65b7875b2a9cadb84e46d2c193c15e6df22fcd8')
+            'a8f65ca23ae52865147bdc1bc059b1265ba4bc61527992cf054fe76a0396ef5dfd2386782be371e926184a63def3be7333bb37fc429627d4e6fa159d263f40f7'
+            'fc259a0a4acb7b70209fc599b0f4bc94942316bbc8c6995f783026b7cd455900bcb7527615d76c99bd2e0155e0035cbd619939a1f7ddf3af32ed854afe45b631'
+            'f05c18354a3cf5b5b0fa97c4a887cfd688297e39d7ddc93b5900357119a689a060321019aeec9ca9c1366ea4b65b7875b2a9cadb84e46d2c193c15e6df22fcd8'
+            '9cb9a979dfc2de4fac384a1044b368bb97c8b0b524523aa2a96ef55c673ab5350c50cc79ad103655f40c2e0002cdcc2e1646fade3ac78641616d182e7c500be7'
+            'b85a109e8bdfad04d1ba9a9dce3607bb12f014b63d24b95b2659658b1547b5391efdf816a74f36591a23c28fb75773edcc270a379b5b4032c1baa98aa5e890d2')
 
 prepare() {
   cp xwayland-config.h.meson.in ${pkgbase}-${pkgver}/include/
@@ -56,7 +62,13 @@ prepare() {
   # https://patchwork.freedesktop.org/series/43618/
   patch -Np1 -i ../xserver-1-2-glamor-Always-return-0-from-glamor_fds_from_pixmap-on-error.patch
   patch -Np1 -i ../xserver-2-2-glamor-Propagate-glamor_fds_from_pixmap-error-in-glamor_fd_from_pixmap.patch
-
+	
+  # Fix libshadow.so: libfb.so => not found - FS#58731
+  # https://bugs.freedesktop.org/show_bug.cgi?id=106656
+  patch -Np1 -i ../0002-fix-libshadow-2.patch
+  
+  # FS#i58662
+  patch -Np1 -i ../0003_Use_PictureMatchFormat_for_source-only_picture_format.diff
 }
 
 build() {
-- 
GitLab