From f5ab37d4799637c87d78d92b851286f307b24863 Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Fri, 2 Mar 2018 18:22:31 +0000
Subject: wayland: update to 1.14.0

---
 abs/core/libdrm/PKGBUILD                           | 44 ++++++++++++++--------
 ...x_mistake_in_initial_hole_size_calculation.diff | 39 +++++++++++++++++++
 abs/core/libdrm/no-drmdevice-test.diff             |  9 +++++
 abs/extra/wayland/PKGBUILD                         |  6 +--
 4 files changed, 80 insertions(+), 18 deletions(-)
 create mode 100644 abs/core/libdrm/fix_mistake_in_initial_hole_size_calculation.diff
 create mode 100644 abs/core/libdrm/no-drmdevice-test.diff

diff --git a/abs/core/libdrm/PKGBUILD b/abs/core/libdrm/PKGBUILD
index 964dc57..59dd0ab 100644
--- a/abs/core/libdrm/PKGBUILD
+++ b/abs/core/libdrm/PKGBUILD
@@ -2,20 +2,24 @@
 # Maintainer: Jan de Groot <jgc@archlinux.org>
 
 pkgname=libdrm
-pkgver=2.4.81
-pkgrel=1
+pkgver=2.4.90
+pkgrel=3
 pkgdesc="Userspace interface to kernel DRM services"
-arch=(i686 x86_64)
+url="https://dri.freedesktop.org/"
+arch=(x86_64)
 license=('custom')
 depends=('libpciaccess')
-makedepends=('valgrind' 'xorg-util-macros' 'libxslt' 'docbook-xsl')
+makedepends=('valgrind' 'libxslt' 'docbook-xsl' 'meson')
 checkdepends=('cairo')
 replaces=('libdrm-new' 'libdrm-nouveau')
-url="http://dri.freedesktop.org/"
 source=(https://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig}
+        no-drmdevice-test.diff
+        fix_mistake_in_initial_hole_size_calculation.diff
         COPYING)
-sha512sums=('5f7a1524acad59890d3f890bed90a660a424e18a88d587ca356223bde4a7446d1c540f97ec11cb10d2e7ed1b4ae86127957634354a1be6d04199295ab24782e5'
+sha512sums=('3d32d60c44ffdcb58667d0926e6af8d375332add1f243d8b2d37567aeef4e4b26d786294aeecf46c3dea94fc002fb73756567c457300703acfc21e32ffbd458c'
             'SKIP'
+            'f1dd5d8c2270c092ccb8e4f92a0da9ab27706dfa22dcedd3fb2414b968ced9333c8bf62baf0219b822e43dce0d804d1dd5cc27d09b0afe8c01967c1784d4a4bb'
+            '679ba7ef4f29cc4d511d5fbb7b505d8eade4cd3fc16eceaed2d1aa47947ebf31bac113ead5f2a1db8f5626ba290e9e1ffeab28c2abb924d0c85efe816c1201f8'
             'b0ca349b882a4326b19f81f22804fabdb6fb7aef31cdc7b16b0a7ae191bfbb50c7daddb2fc4e6c33f1136af06d060a273de36f6f3412ea326f16fa4309fda660')
 validpgpkeys=('B97BD6A80CAC4981091AE547FE558C72A67013C3') # Maarten Lankhorst <maarten.lankhorst@canonical.com>
 validpgpkeys+=('215DEE688925CCB965BE5DA97C03D7797B6E1AE2') # Damien Lespiau <damien.lespiau@intel.com>
@@ -28,21 +32,31 @@ validpgpkeys+=('3BB639E56F861FA2E86505690FDD682D974CA72A') # Matt Turner <mattst
 validpgpkeys+=('C20F5C4490D7D64B4C9A09998CD1DF552975297B') # Robert Bragg <robert@sixbynine.org>
 validpgpkeys+=('CD47C5341A375F33BEF7BAFAFDD15D5ACEF0F2B1') # Marek Olšák <maraeo@gmail.com>
 validpgpkeys+=('A66D805F7C9329B4C5D82767CCC4F07FAC641EFF') # Daniel Stone <daniels@collabora.com>
+validpgpkeys+=('CFD0E654BCBE5DD2D030D222CFCC297C6D0A120B') # Lucas Stach <l.stach@pengutronix.de>
 
-build() {
+prepare() {
   cd $pkgname-$pkgver
-  ./configure --prefix=/usr --enable-udev
-  make
+
+  # Fix version
+  sed -i 's/2\.4\.89/2.4.90/' meson.build
+
+  # Fails in a container; autotools skipped this one already
+  patch -Np1 -i ../no-drmdevice-test.diff
+  # FS#57576; fix amdgpu cards
+  patch -Np1 -i ../fix_mistake_in_initial_hole_size_calculation.diff
+}
+
+build() {
+  arch-meson $pkgname-$pkgver build -Dudev=true
+  ninja -C build
 }
 
 check() {
-  cd $pkgname-$pkgver
-  make -k check
+  cd build
+  meson test
 }
 
 package() {
-  cd $pkgname-$pkgver
-  make DESTDIR="$pkgdir" install
-  install -m755 -d "$pkgdir/usr/share/licenses/$pkgname"
-  install -m644 ../COPYING "$pkgdir/usr/share/licenses/$pkgname/"
+  DESTDIR="$pkgdir" ninja -C build install
+  install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 COPYING
 }
diff --git a/abs/core/libdrm/fix_mistake_in_initial_hole_size_calculation.diff b/abs/core/libdrm/fix_mistake_in_initial_hole_size_calculation.diff
new file mode 100644
index 0000000..8998e45
--- /dev/null
+++ b/abs/core/libdrm/fix_mistake_in_initial_hole_size_calculation.diff
@@ -0,0 +1,39 @@
+From 33a2851ab9bc3cd8a68bedf4cf0fdc549b0f3596 Mon Sep 17 00:00:00 2001
+From: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
+Date: Mon, 19 Feb 2018 02:18:36 -0500
+Subject: amdgpu: Fix mistake in initial hole size calculation.
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Andrey Grodzovsky <andrey.grodzovsky@amd.com>
+Acked-by: Christian König <christian.koenig@amd.com>
+---
+ amdgpu/amdgpu_vamgr.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/amdgpu/amdgpu_vamgr.c b/amdgpu/amdgpu_vamgr.c
+index 722067f..5840042 100644
+--- a/amdgpu/amdgpu_vamgr.c
++++ b/amdgpu/amdgpu_vamgr.c
+@@ -57,7 +57,7 @@ drm_private void amdgpu_vamgr_init(struct amdgpu_bo_va_mgr *mgr, uint64_t start,
+ 	pthread_mutex_init(&mgr->bo_va_mutex, NULL);
+ 	pthread_mutex_lock(&mgr->bo_va_mutex);
+ 	n = calloc(1, sizeof(struct amdgpu_bo_va_hole));
+-	n->size = mgr->va_max;
++	n->size = mgr->va_max - start;
+ 	n->offset = start;
+ 	list_add(&n->list, &mgr->va_holes);
+ 	pthread_mutex_unlock(&mgr->bo_va_mutex);
+@@ -80,6 +80,7 @@ amdgpu_vamgr_find_va(struct amdgpu_bo_va_mgr *mgr, uint64_t size,
+ 	struct amdgpu_bo_va_hole *hole, *n;
+ 	uint64_t offset = 0, waste = 0;
+ 
++
+ 	alignment = MAX2(alignment, mgr->va_alignment);
+ 	size = ALIGN(size, mgr->va_alignment);
+ 
+-- 
+cgit v1.1
+
+
diff --git a/abs/core/libdrm/no-drmdevice-test.diff b/abs/core/libdrm/no-drmdevice-test.diff
new file mode 100644
index 0000000..f60df04
--- /dev/null
+++ b/abs/core/libdrm/no-drmdevice-test.diff
@@ -0,0 +1,9 @@
+diff --git i/tests/meson.build w/tests/meson.build
+index fdf950b7..a6a2f1f1 100644
+--- i/tests/meson.build
++++ w/tests/meson.build
+@@ -83,4 +83,3 @@ drmdevice = executable(
+ test('random', random, timeout : 240)
+ test('hash', hash)
+ test('drmsl', drmsl)
+-test('drmdevice', drmdevice)
diff --git a/abs/extra/wayland/PKGBUILD b/abs/extra/wayland/PKGBUILD
index 2bb1829..48713fd 100644
--- a/abs/extra/wayland/PKGBUILD
+++ b/abs/extra/wayland/PKGBUILD
@@ -4,16 +4,16 @@
 # Contributor: Joel Teichroeb <joel@teichroeb.net>
 
 pkgname=wayland
-pkgver=1.13.0
+pkgver=1.14.0
 pkgrel=1
 pkgdesc='A computer display server protocol'
-arch=('i686' 'x86_64')
+arch=('x86_64')
 url='https://wayland.freedesktop.org/'
 license=('MIT')
 depends=('glibc' 'libffi' 'expat' 'libxml2')
 validpgpkeys=('C7223EBE4EF66513B892598911A30156E0E67611') # Bryce Harrington
 source=("https://wayland.freedesktop.org/releases/$pkgname-$pkgver.tar.xz"{,.sig})
-sha1sums=('a8575325ed2885948624043c71629310df928312'
+sha1sums=('53a443be3bafe73209bbc49ef2cb134ed16e0141'
           'SKIP')
 
 build() {
-- 
cgit v0.12

