summaryrefslogtreecommitdiffstats
path: root/abs/core
diff options
context:
space:
mode:
Diffstat (limited to 'abs/core')
-rw-r--r--abs/core/libdrm/PKGBUILD44
-rw-r--r--abs/core/libdrm/fix_mistake_in_initial_hole_size_calculation.diff39
-rw-r--r--abs/core/libdrm/no-drmdevice-test.diff9
3 files changed, 77 insertions, 15 deletions
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)