From 243e13e87ac954b4197d53d6694f6335291651d5 Mon Sep 17 00:00:00 2001 From: akuster Date: Mon, 28 Sep 2020 12:10:51 -0700 Subject: [PATCH] libdrm: fix build failure Failure seen on my CentOS7 build host Signed-off-by: akuster Signed-off-by: Richard Purdie --- .../0001-xf86drm.c-fix-build-failure.patch | 87 +++++++++++++++++++ meta/recipes-graphics/drm/libdrm_2.4.102.bb | 4 +- 2 files changed, 90 insertions(+), 1 deletion(-) create mode 100644 meta/recipes-graphics/drm/files/0001-xf86drm.c-fix-build-failure.patch diff --git a/meta/recipes-graphics/drm/files/0001-xf86drm.c-fix-build-failure.patch b/meta/recipes-graphics/drm/files/0001-xf86drm.c-fix-build-failure.patch new file mode 100644 index 0000000000..60c996ca85 --- /dev/null +++ b/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 +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 + +Upstream-Status: Backport +Signed-off-by: Armin Kuster + +--- + 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 + diff --git a/meta/recipes-graphics/drm/libdrm_2.4.102.bb b/meta/recipes-graphics/drm/libdrm_2.4.102.bb index fb9a94207f..ad512d14a9 100644 --- a/meta/recipes-graphics/drm/libdrm_2.4.102.bb +++ b/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 -- 2.40.1