extra/libdrm to 2.4.71-1.1

This commit is contained in:
Kevin Mihelich 2016-11-14 03:58:12 +00:00
parent c3a18039f4
commit 6469dc1c5b
2 changed files with 42 additions and 3 deletions

View file

@ -0,0 +1,34 @@
From 677cd97dc4a930af508388713f5016baf664ed18 Mon Sep 17 00:00:00 2001
From: Rob Herring <robh@kernel.org>
Date: Fri, 21 Oct 2016 10:07:59 -0700
Subject: [PATCH] Return an -ENODEV from drmGetDevice() when no device was
found.
Fixes crashes in Mesa on platform devices, which expected *device to
have a device when 0 was returned.
(code from a paste by Rob, commit message by anholt)
Signed-off-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
---
xf86drm.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/xf86drm.c b/xf86drm.c
index 9cfca49..9b52889 100644
--- a/xf86drm.c
+++ b/xf86drm.c
@@ -3181,6 +3181,8 @@ int drmGetDevice(int fd, drmDevicePtr *device)
closedir(sysdir);
free(local_devices);
+ if (*device == NULL)
+ return -ENODEV;
return 0;
free_devices:
--
2.10.2

View file

@ -2,12 +2,13 @@
# Maintainer: Jan de Groot <jgc@archlinux.org>
# ALARM: Kevin Mihelich <kevin@archlinuxarm.org>
# - enable omap, exynos, freedreno for v7
# - enable omap, exynos, tegra, etnaviv for v7
# - drop valgrind makdepend for v5 and v6
# - upstream patch to fix glamoregl segfault with Mesa 13.0
pkgname=libdrm
pkgver=2.4.71
pkgrel=1
pkgrel=1.1
pkgdesc="Userspace interface to kernel DRM services"
arch=(i686 x86_64)
license=('custom')
@ -19,9 +20,11 @@ checkdepends=('cairo')
replaces=('libdrm-new' 'libdrm-nouveau')
url="http://dri.freedesktop.org/"
source=(http://dri.freedesktop.org/$pkgname/$pkgname-$pkgver.tar.bz2{,.sig}
0001-Return-an-ENODEV-from-drmGetDevice-when-no-device-wa.patch
COPYING)
sha256sums=('c66287ddeee5f46ea8f8880b94b80acb3bbc33ba6321d17767eef145046df9b8'
'SKIP'
'3b3bf1b68c8f8f8666a6e7ee31609dd255c8d6015561c90049d6510675764aad'
'9631d4f694952e3e6ae5a05534c2e93e994e47d3413677a3a00e45c8cef6db93')
validpgpkeys=('B97BD6A80CAC4981091AE547FE558C72A67013C3') # Maarten Lankhorst <maarten.lankhorst@canonical.com>
validpgpkeys+=('215DEE688925CCB965BE5DA97C03D7797B6E1AE2') # Damien Lespiau <damien.lespiau@intel.com>
@ -34,6 +37,8 @@ validpgpkeys+=('FC9BAE1435A9F7F664B82057B5D62936D1FC9EE8') # Eric Anholt <eric@a
prepare() {
cd $pkgname-$pkgver
patch -p1 -i ../0001-Return-an-ENODEV-from-drmGetDevice-when-no-device-wa.patch
# pthread is useless in Linux
sed -i "/pthread-stubs/d" configure.ac
autoreconf --force --install
@ -42,7 +47,7 @@ prepare() {
build() {
cd $pkgname-$pkgver
[[ "$CARCH" == "armv7h" ]] && CONFIG="--enable-omap-experimental-api --enable-exynos-experimental-api --enable-tegra-experimental-api"
[[ "$CARCH" == "armv7h" ]] && CONFIG="--enable-omap-experimental-api --enable-exynos-experimental-api --enable-tegra-experimental-api --enable-etnaviv-experimental-api"
./configure --prefix=/usr --enable-udev $CONFIG
make
}