瀏覽代碼

libdrm: fix build failure

Failure seen on my CentOS7 build host

Signed-off-by: akuster <akuster@mvista.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
akuster 3 年之前
父節點
當前提交
243e13e87a

+ 87 - 0
meta/recipes-graphics/drm/files/0001-xf86drm.c-fix-build-failure.patch

@@ -0,0 +1,87 @@
+From c7d89412884de2dbfa543720d185027377e62f21 Mon Sep 17 00:00:00 2001
+From: Heiko Thiery <heiko.thiery@gmail.com>
+Date: Fri, 5 Jun 2020 23:46:52 +0200
+Subject: [PATCH] xf86drm.c: fix build failure
+
+./xf86drm.c: In function 'drmNodeIsDRM':
+../xf86drm.c:2825:7: error: "__FreeBSD__" is not defined [-Werror=undef]
+ #elif __FreeBSD__
+       ^
+../xf86drm.c: In function 'drmGetMinorNameForFD':
+../xf86drm.c:2938:7: error: "__FreeBSD__" is not defined [-Werror=undef]
+ #elif __FreeBSD__
+       ^
+../xf86drm.c: In function 'drmParsePciBusInfo':
+../xf86drm.c:3258:7: error: "__FreeBSD__" is not defined [-Werror=undef]
+ #elif __FreeBSD__
+       ^
+../xf86drm.c: In function 'drmParsePciDeviceInfo':
+../xf86drm.c:3427:7: error: "__FreeBSD__" is not defined [-Werror=undef]
+ #elif __FreeBSD__
+       ^
+../xf86drm.c: In function 'drmGetDeviceNameFromFd2':
+../xf86drm.c:4305:7: error: "__FreeBSD__" is not defined [-Werror=undef]
+ #elif __FreeBSD__
+       ^
+
+Signed-off-by: Heiko Thiery <heiko.thiery@gmail.com>
+
+Upstream-Status: Backport
+Signed-off-by: Armin Kuster <akuster@mvista.com>
+
+---
+ xf86drm.c | 10 +++++-----
+ 1 file changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/xf86drm.c b/xf86drm.c
+index 07a18c4..50a6f09 100644
+--- a/xf86drm.c
++++ b/xf86drm.c
+@@ -2822,7 +2822,7 @@ static bool drmNodeIsDRM(int maj, int min)
+     snprintf(path, sizeof(path), "/sys/dev/char/%d:%d/device/drm",
+              maj, min);
+     return stat(path, &sbuf) == 0;
+-#elif __FreeBSD__
++#elif defined(__FreeBSD__)
+     char name[SPECNAMELEN];
+ 
+     if (!devname_r(makedev(maj, min), S_IFCHR, name, sizeof(name)))
+@@ -2935,7 +2935,7 @@ static char *drmGetMinorNameForFD(int fd, int type)
+ 
+     closedir(sysdir);
+     return NULL;
+-#elif __FreeBSD__
++#elif defined(__FreeBSD__)
+     struct stat sbuf;
+     char dname[SPECNAMELEN];
+     const char *mname;
+@@ -3255,7 +3255,7 @@ static int drmParsePciBusInfo(int maj, int min, drmPciBusInfoPtr info)
+     info->func = pinfo.func;
+ 
+     return 0;
+-#elif __FreeBSD__
++#elif defined(__FreeBSD__)
+     return get_sysctl_pci_bus_info(maj, min, info);
+ #else
+ #warning "Missing implementation of drmParsePciBusInfo"
+@@ -3424,7 +3424,7 @@ static int drmParsePciDeviceInfo(int maj, int min,
+     device->subdevice_id = pinfo.subdevice_id;
+ 
+     return 0;
+-#elif __FreeBSD__
++#elif defined(__FreeBSD__)
+     drmPciBusInfo info;
+     struct pci_conf_io pc;
+     struct pci_match_conf patterns[1];
+@@ -4302,7 +4302,7 @@ drm_public char *drmGetDeviceNameFromFd2(int fd)
+     free(value);
+ 
+     return strdup(path);
+-#elif __FreeBSD__
++#elif defined(__FreeBSD__)
+     return drmGetDeviceNameFromFd(fd);
+ #else
+     struct stat      sbuf;
+-- 
+1.8.3.1
+

+ 3 - 1
meta/recipes-graphics/drm/libdrm_2.4.102.bb

@@ -10,7 +10,9 @@ LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c5
 PROVIDES = "drm"
 DEPENDS = "libpthread-stubs"
 
-SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz"
+SRC_URI = "http://dri.freedesktop.org/libdrm/${BP}.tar.xz \ 
+           file://0001-xf86drm.c-fix-build-failure.patch "
+
 SRC_URI[sha256sum] = "8bcbf9336c28e393d76c1f16d7e79e394a7fce8a2e929d52d3ad7ad8525ba05b"
 
 inherit meson pkgconfig manpages