summaryrefslogtreecommitdiff
path: root/packages/x11-dri/mesa/files
diff options
context:
space:
mode:
Diffstat (limited to 'packages/x11-dri/mesa/files')
-rw-r--r--packages/x11-dri/mesa/files/0001-build-fix-building-vdpau-va.patch42
-rw-r--r--packages/x11-dri/mesa/files/045f38a50759bb225cb179703bc7050f6de752b1.patch42
-rw-r--r--packages/x11-dri/mesa/files/1d01b52d761227c9675b2785cc242ec51e803e84.patch36
-rw-r--r--packages/x11-dri/mesa/files/3c288da5eec81ee58b85927df18d9194ead8f5c2.patch27
-rw-r--r--packages/x11-dri/mesa/files/c5a97d658ec19cc02719d7f86c1b0715e3d9ffc4.patch39
-rw-r--r--packages/x11-dri/mesa/files/fix-build-without-dri.patch29
-rw-r--r--packages/x11-dri/mesa/files/mesa-11.1-musl.patch27
-rw-r--r--packages/x11-dri/mesa/files/mesa-12.0-musl.patch28
-rw-r--r--packages/x11-dri/mesa/files/mesa-13.0-musl.patch28
-rw-r--r--packages/x11-dri/mesa/files/mesa-17.1.1-musl.patch20
-rw-r--r--packages/x11-dri/mesa/files/mesa-add-NDEBUG-without-rtti.patch21
-rw-r--r--packages/x11-dri/mesa/files/mesa-configure.ac-Add-with-wayland-scanner-path-17.2.patch40
-rw-r--r--packages/x11-dri/mesa/files/mesa-configure.ac-Add-with-wayland-scanner-path.patch60
13 files changed, 439 insertions, 0 deletions
diff --git a/packages/x11-dri/mesa/files/0001-build-fix-building-vdpau-va.patch b/packages/x11-dri/mesa/files/0001-build-fix-building-vdpau-va.patch
new file mode 100644
index 0000000..e08b607
--- /dev/null
+++ b/packages/x11-dri/mesa/files/0001-build-fix-building-vdpau-va.patch
@@ -0,0 +1,42 @@
+From a578f009d13ef004ba28c14ba9d9b3733175c3ef Mon Sep 17 00:00:00 2001
+From: Rasmus Thomsen <cogitri@exherbo.org>
+Date: Thu, 26 Apr 2018 20:45:48 +0200
+Subject: [PATCH] build: fix building vdpau&va
+Upstream: No, this most likely isn't the correct way to fix this. However, Mesa's
+build system is massive, so I'll file a bug an see what upstream does about it :)
+
+In some situations underlinking occurs. We have to link to xcb-xfixes.
+---
+ src/gallium/targets/va/meson.build | 2 +-
+ src/gallium/targets/vdpau/meson.build | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/gallium/targets/va/meson.build b/src/gallium/targets/va/meson.build
+index 57d267e..1bd544f 100644
+--- a/src/gallium/targets/va/meson.build
++++ b/src/gallium/targets/va/meson.build
+@@ -46,7 +46,7 @@ libva_gallium = shared_library(
+ libpipe_loader_static, libws_null, libwsw, libswdri, libswkmsdri,
+ ],
+ dependencies : [
+- dep_libdrm, dep_thread, driver_r600, driver_radeonsi, driver_nouveau,
++ dep_libdrm, dep_thread, driver_r600, driver_radeonsi, driver_nouveau, dep_xcb_xfixes,
+ ],
+ link_depends : va_link_depends,
+ install : true,
+diff --git a/src/gallium/targets/vdpau/meson.build b/src/gallium/targets/vdpau/meson.build
+index 93969d8..9caffc2 100644
+--- a/src/gallium/targets/vdpau/meson.build
++++ b/src/gallium/targets/vdpau/meson.build
+@@ -51,7 +51,7 @@ libvdpau_gallium = shared_library(
+ libpipe_loader_static, libws_null, libwsw, libswdri, libswkmsdri,
+ ],
+ dependencies : [
+- dep_thread, driver_r300, driver_r600, driver_radeonsi, driver_nouveau,
++ dep_thread, driver_r300, driver_r600, driver_radeonsi, driver_nouveau, dep_xcb_xfixes,
+ ],
+ link_depends : vdpau_link_depends,
+ )
+--
+2.17.0
+
diff --git a/packages/x11-dri/mesa/files/045f38a50759bb225cb179703bc7050f6de752b1.patch b/packages/x11-dri/mesa/files/045f38a50759bb225cb179703bc7050f6de752b1.patch
new file mode 100644
index 0000000..d39901e
--- /dev/null
+++ b/packages/x11-dri/mesa/files/045f38a50759bb225cb179703bc7050f6de752b1.patch
@@ -0,0 +1,42 @@
+Source/Upstream: Git master, https://cgit.freedesktop.org/mesa/mesa/commit/?id=045f38a50759bb225cb179703bc7050f6de752b1
+Reason: Collides with files installed by vulkan-loader: https://github.com/KhronosGroup/Vulkan-LoaderAndValidationLayers/
+
+From 045f38a50759bb225cb179703bc7050f6de752b1 Mon Sep 17 00:00:00 2001
+From: Matt Turner <mattst88@gmail.com>
+Date: Mon, 23 Jan 2017 16:48:01 -0800
+Subject: vulkan: Don't install vk_platform.h or vulkan.h.
+
+These files belong to the vulkan loader.
+
+Reviewed-by: Emil Velikov <emil.velikov@collabora.com>
+
+diff --git a/src/intel/vulkan/Makefile.am b/src/intel/vulkan/Makefile.am
+index fba3d66..95f276e 100644
+--- a/src/intel/vulkan/Makefile.am
++++ b/src/intel/vulkan/Makefile.am
+@@ -23,9 +23,11 @@ include Makefile.sources
+
+ vulkan_includedir = $(includedir)/vulkan
+
+-vulkan_include_HEADERS = \
++noinst_HEADERS = \
+ $(top_srcdir)/include/vulkan/vk_platform.h \
+- $(top_srcdir)/include/vulkan/vulkan.h \
++ $(top_srcdir)/include/vulkan/vulkan.h
++
++vulkan_include_HEADERS = \
+ $(top_srcdir)/include/vulkan/vulkan_intel.h
+
+ lib_LTLIBRARIES = libvulkan_intel.la
+@@ -189,7 +191,7 @@ libvulkan_test_la_LIBADD = $(VULKAN_LIB_DEPS)
+
+ include $(top_srcdir)/install-lib-links.mk
+
+-noinst_HEADERS = \
++noinst_HEADERS += \
+ tests/state_pool_test_helper.h
+
+ LDADD = \
+--
+cgit v0.10.2
+
diff --git a/packages/x11-dri/mesa/files/1d01b52d761227c9675b2785cc242ec51e803e84.patch b/packages/x11-dri/mesa/files/1d01b52d761227c9675b2785cc242ec51e803e84.patch
new file mode 100644
index 0000000..a81d32f
--- /dev/null
+++ b/packages/x11-dri/mesa/files/1d01b52d761227c9675b2785cc242ec51e803e84.patch
@@ -0,0 +1,36 @@
+Upstream: Yes
+From 1d01b52d761227c9675b2785cc242ec51e803e84 Mon Sep 17 00:00:00 2001
+From: Dylan Baker <dylan@pnwbakers.com>
+Date: Tue, 24 Apr 2018 14:15:47 -0700
+Subject: meson: Fix no-rtti in llvm detection
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Because I clearly wasn't thinking and clearly didn't do a good job
+testing. Sigh
+
+Fixes: c5a97d658ec19cc02719d7f86c1b0715e3d9ffc4
+ ("meson: fix builds against LLVM built without rtti")
+Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
+Reviewed-by: Marek Olšák <marek.olsak@amd.com>
+---
+ meson.build | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/meson.build b/meson.build
+index 590ac40..52a1075 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1149,7 +1149,7 @@ if with_llvm
+ # programs, so we need to build all C++ code in mesa without rtti as well to
+ # ensure that linking works.
+ if dep_llvm.get_configtool_variable('has-rtti') == 'NO'
+- cpp_args('-fno-rtti')
++ cpp_args += '-fno-rtti'
+ endif
+ elif with_amd_vk or with_gallium_radeonsi or with_gallium_swr
+ error('The following drivers require LLVM: Radv, RadeonSI, SWR. One of these is enabled, but LLVM is disabled.')
+--
+cgit v1.1
+
diff --git a/packages/x11-dri/mesa/files/3c288da5eec81ee58b85927df18d9194ead8f5c2.patch b/packages/x11-dri/mesa/files/3c288da5eec81ee58b85927df18d9194ead8f5c2.patch
new file mode 100644
index 0000000..4850c97
--- /dev/null
+++ b/packages/x11-dri/mesa/files/3c288da5eec81ee58b85927df18d9194ead8f5c2.patch
@@ -0,0 +1,27 @@
+Upstream: yes
+
+From 3c288da5eec81ee58b85927df18d9194ead8f5c2 Mon Sep 17 00:00:00 2001
+From: Ross Burton <ross.burton@intel.com>
+Date: Tue, 12 Jun 2018 11:59:01 +0100
+Subject: [PATCH] drivers/dri/i965: add missing #include
+
+brw_bufmgr.h uses time_t without include time.h, so the build fails under musl.
+
+Reviewed-by: Eric Engestrom <eric.engestrom@intel.com>
+---
+ src/mesa/drivers/dri/i965/brw_bufmgr.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/src/mesa/drivers/dri/i965/brw_bufmgr.h b/src/mesa/drivers/dri/i965/brw_bufmgr.h
+index 8cdf944e3da..32fc7a553c9 100644
+--- a/src/mesa/drivers/dri/i965/brw_bufmgr.h
++++ b/src/mesa/drivers/dri/i965/brw_bufmgr.h
+@@ -37,6 +37,8 @@
+ #include <stdbool.h>
+ #include <stdint.h>
+ #include <stdio.h>
++#include <time.h>
++
+ #include "util/u_atomic.h"
+ #include "util/list.h"
+
diff --git a/packages/x11-dri/mesa/files/c5a97d658ec19cc02719d7f86c1b0715e3d9ffc4.patch b/packages/x11-dri/mesa/files/c5a97d658ec19cc02719d7f86c1b0715e3d9ffc4.patch
new file mode 100644
index 0000000..18f7b00
--- /dev/null
+++ b/packages/x11-dri/mesa/files/c5a97d658ec19cc02719d7f86c1b0715e3d9ffc4.patch
@@ -0,0 +1,39 @@
+Upstream: Yes
+From c5a97d658ec19cc02719d7f86c1b0715e3d9ffc4 Mon Sep 17 00:00:00 2001
+From: Dylan Baker <dylan@pnwbakers.com>
+Date: Mon, 16 Apr 2018 14:47:58 -0700
+Subject: meson: fix builds against LLVM built without rtti
+
+Building without rtti is a frought with peril, but it's something that
+autotools supports so we need to support it too.
+
+Since we've moved to version 0.44 as a whole we can use the meson
+functionality for accessing random llvm-config options we can check for
+rtti and add -fno-rtti to all C++ code accordingly.
+
+Signed-off-by: Dylan Baker <dylan.c.baker@intel.com>
+---
+ meson.build | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/meson.build b/meson.build
+index 2e10ed7..4019b21 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1143,6 +1143,13 @@ if with_llvm
+ '-DHAVE_LLVM=0x0@0@0@1@'.format(_llvm_version[0], _llvm_version[1]),
+ '-DMESA_LLVM_VERSION_PATCH=@0@'.format(_llvm_patch),
+ ]
++
++ # LLVM can be built without rtti, turning off rtti changes the ABI of C++
++ # programs, so we need to build all C++ code in mesa without rtti as well to
++ # ensure that linking works.
++ if dep_llvm.get_configtool_variable('has-rtti') == 'NO'
++ cpp_args('-fno-rtti')
++ endif
+ elif with_amd_vk or with_gallium_radeonsi or with_gallium_swr
+ error('The following drivers require LLVM: Radv, RadeonSI, SWR. One of these is enabled, but LLVM is disabled.')
+ endif
+--
+cgit v1.1
+
diff --git a/packages/x11-dri/mesa/files/fix-build-without-dri.patch b/packages/x11-dri/mesa/files/fix-build-without-dri.patch
new file mode 100644
index 0000000..d6ab841
--- /dev/null
+++ b/packages/x11-dri/mesa/files/fix-build-without-dri.patch
@@ -0,0 +1,29 @@
+Author: Rasmus Thomsen <cogitri@exherbo.org>
+Reason: Fix build without dri
+Upstream: No, not yet
+diff --git a/src/gallium/auxiliary/pipe-loader/meson.build b/src/gallium/auxiliary/pipe-loader/meson.build
+index 32e8188..31b3e7e 100644
+--- a/src/gallium/auxiliary/pipe-loader/meson.build
++++ b/src/gallium/auxiliary/pipe-loader/meson.build
+@@ -35,6 +35,12 @@ if with_gallium_drisw_kms
+ libpipe_loader_defines += '-DHAVE_PIPE_LOADER_KMS'
+ endif
+
++if with_dri == true
++ dri_args = '-DHAVE_PIPE_LOADER_DRI=1'
++else
++ dri_args = [ ]
++endif
++
+ libpipe_loader_static = static_library(
+ 'pipe_loader_static',
+ [files_pipe_loader, xmlpool_options_h],
+@@ -43,7 +49,7 @@ libpipe_loader_static = static_library(
+ inc_gallium_winsys,
+ ],
+ c_args : [
+- c_vis_args, '-DHAVE_PIPE_LOADER_DRI', '-DGALLIUM_STATIC_TARGETS=1',
++ c_vis_args, dri_args , '-DGALLIUM_STATIC_TARGETS=1',
+ libpipe_loader_defines,
+ ],
+ link_with : [libloader, libxmlconfig],
diff --git a/packages/x11-dri/mesa/files/mesa-11.1-musl.patch b/packages/x11-dri/mesa/files/mesa-11.1-musl.patch
new file mode 100644
index 0000000..596f6eb
--- /dev/null
+++ b/packages/x11-dri/mesa/files/mesa-11.1-musl.patch
@@ -0,0 +1,27 @@
+Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=93059
+From 09d5b4c04356c7bd56089605aed7742be89644c1 Mon Sep 17 00:00:00 2001
+From: Kylie McClain <somasis@exherbo.org>
+Date: Sat, 21 Nov 2015 16:39:20 -0500
+Subject: [PATCH] i965: don't underlink i965_dri.so, causes miserable failure
+ on musl libc
+
+---
+ src/mesa/drivers/dri/i965/Makefile.am | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/mesa/drivers/dri/i965/Makefile.am b/src/mesa/drivers/dri/i965/Makefile.am
+index 9d003e4..8797431 100644
+--- a/src/mesa/drivers/dri/i965/Makefile.am
++++ b/src/mesa/drivers/dri/i965/Makefile.am
+@@ -44,7 +44,7 @@ AM_CXXFLAGS = $(AM_CFLAGS)
+
+ noinst_LTLIBRARIES = libi965_dri.la libi965_compiler.la
+ libi965_dri_la_SOURCES = $(i965_FILES)
+-libi965_dri_la_LIBADD = libi965_compiler.la $(INTEL_LIBS)
++libi965_dri_la_LIBADD = libi965_compiler.la $(INTEL_LIBS) $(top_builddir)/src/mapi/shared-glapi/libglapi.la
+
+ libi965_compiler_la_SOURCES = $(i965_compiler_FILES)
+
+--
+2.6.3
+
diff --git a/packages/x11-dri/mesa/files/mesa-12.0-musl.patch b/packages/x11-dri/mesa/files/mesa-12.0-musl.patch
new file mode 100644
index 0000000..1893d87
--- /dev/null
+++ b/packages/x11-dri/mesa/files/mesa-12.0-musl.patch
@@ -0,0 +1,28 @@
+Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=93059
+From 553b874eefbdafb0b1f509cd39f861f5c3b98efe Mon Sep 17 00:00:00 2001
+From: Kylie McClain <somasis@exherbo.org>
+Date: Sat, 21 Nov 2015 16:39:20 -0500
+Subject: [PATCH] i965: don't underlink i965_dri.so, causes miserable failure
+ on musl libc
+
+---
+ src/mesa/drivers/dri/i965/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/mesa/drivers/dri/i965/Makefile.am b/src/mesa/drivers/dri/i965/Makefile.am
+index 0a5222e..0a88ec5 100644
+--- a/src/mesa/drivers/dri/i965/Makefile.am
++++ b/src/mesa/drivers/dri/i965/Makefile.am
+@@ -52,7 +52,8 @@ libi965_dri_la_SOURCES = $(i965_FILES)
+ libi965_dri_la_LIBADD = \
+ $(top_builddir)/src/intel/isl/libisl.la \
+ libi965_compiler.la \
+- $(INTEL_LIBS)
++ $(INTEL_LIBS) \
++ $(top_builddir)/src/mapi/shared-glapi/libglapi.la
+
+ libi965_compiler_la_SOURCES = \
+ $(i965_compiler_FILES) \
+--
+2.8.3
+
diff --git a/packages/x11-dri/mesa/files/mesa-13.0-musl.patch b/packages/x11-dri/mesa/files/mesa-13.0-musl.patch
new file mode 100644
index 0000000..5b898cd
--- /dev/null
+++ b/packages/x11-dri/mesa/files/mesa-13.0-musl.patch
@@ -0,0 +1,28 @@
+Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=93059
+From 8c30dacc9d7f1e47f2519ab0e998a5e33f3cf75a Mon Sep 17 00:00:00 2001
+From: Kylie McClain <somasis@exherbo.org>
+Date: Sat, 21 Nov 2015 16:39:20 -0500
+Subject: [PATCH] i965: don't underlink i965_dri.so, causes miserable failure
+ on musl libc
+
+---
+ src/mesa/drivers/dri/i965/Makefile.am | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/src/mesa/drivers/dri/i965/Makefile.am b/src/mesa/drivers/dri/i965/Makefile.am
+index a192fc0..dd3c7b1 100644
+--- a/src/mesa/drivers/dri/i965/Makefile.am
++++ b/src/mesa/drivers/dri/i965/Makefile.am
+@@ -83,7 +83,8 @@ libi965_dri_la_LIBADD = \
+ libi965_compiler.la \
+ $(top_builddir)/src/intel/blorp/libblorp.la \
+ $(I965_PERGEN_LIBS) \
+- $(INTEL_LIBS)
++ $(INTEL_LIBS) \
++ $(top_builddir)/src/mapi/shared-glapi/libglapi.la
+
+ libi965_compiler_la_SOURCES = \
+ $(i965_compiler_FILES) \
+--
+2.10.2
+
diff --git a/packages/x11-dri/mesa/files/mesa-17.1.1-musl.patch b/packages/x11-dri/mesa/files/mesa-17.1.1-musl.patch
new file mode 100644
index 0000000..50c2d8b
--- /dev/null
+++ b/packages/x11-dri/mesa/files/mesa-17.1.1-musl.patch
@@ -0,0 +1,20 @@
+Upstream: https://bugs.freedesktop.org/show_bug.cgi?id=93059
+From 8c30dacc9d7f1e47f2519ab0e998a5e33f3cf75a Mon Sep 17 00:00:00 2001
+From: Kylie McClain <somasis@exherbo.org>
+Date: Sat, 21 Nov 2015 16:39:20 -0500
+Subject: [PATCH] i965: don't underlink i965_dri.so, causes miserable failure
+ on musl libc
+
+diff -Naur mesa-17.1.1/src/mesa/drivers/dri/i965/Makefile.am mesa-17.1.1.new/src/mesa/drivers/dri/i965/Makefile.am
+--- mesa-17.1.1/src/mesa/drivers/dri/i965/Makefile.am 2017-05-25 09:13:13.000000000 +0200
++++ mesa-17.1.1.new/src/mesa/drivers/dri/i965/Makefile.am 2017-05-29 18:12:35.469258076 +0200
+@@ -41,7 +41,8 @@
+ $(DEFINES) \
+ $(VISIBILITY_CFLAGS) \
+ $(LIBDRM_CFLAGS) \
+- $(VALGRIND_CFLAGS)
++ $(VALGRIND_CFLAGS) \
++ $(top_builddir)/src/mapi/shared-glapi/libglapi.la
+
+ AM_CXXFLAGS = $(AM_CFLAGS)
+
diff --git a/packages/x11-dri/mesa/files/mesa-add-NDEBUG-without-rtti.patch b/packages/x11-dri/mesa/files/mesa-add-NDEBUG-without-rtti.patch
new file mode 100644
index 0000000..47403cf
--- /dev/null
+++ b/packages/x11-dri/mesa/files/mesa-add-NDEBUG-without-rtti.patch
@@ -0,0 +1,21 @@
+Author: Rasmus Thomsen <cogitri@exherbo.org>
+Reason: Mesa's meson build system doesn't pass
+NDEBUG to the cppargs when building with LLVM
+without RTTI support enabled. This causes the
+build to fail because some parts of debugging
+need RTTI support.
+Upstream: Created bug for it, https://bugs.freedesktop.org/show_bug.cgi?id=106391
+diff --git a/meson.build b/meson.build
+index 6e61766809..269b5bd3b9 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1150,6 +1150,9 @@ if with_llvm
+ # ensure that linking works.
+ if dep_llvm.get_configtool_variable('has-rtti') == 'NO'
+ cpp_args += '-fno-rtti'
++ pre_args += [
++ '-DNDEBUG',
++ ]
+ endif
+ elif with_amd_vk or with_gallium_radeonsi or with_gallium_swr
+ error('The following drivers require LLVM: Radv, RadeonSI, SWR. One of these is enabled, but LLVM is disabled.')
diff --git a/packages/x11-dri/mesa/files/mesa-configure.ac-Add-with-wayland-scanner-path-17.2.patch b/packages/x11-dri/mesa/files/mesa-configure.ac-Add-with-wayland-scanner-path-17.2.patch
new file mode 100644
index 0000000..bce9bf7
--- /dev/null
+++ b/packages/x11-dri/mesa/files/mesa-configure.ac-Add-with-wayland-scanner-path-17.2.patch
@@ -0,0 +1,40 @@
+Source: See below, slightly modified for 17.2.0
+Upstream: under review, https://patchwork.freedesktop.org/patch/157889/
+Reason: Fix cross compiling
+
+diff --git a/configure.ac b/configure.ac
+index 0bd9650..c5dc8da 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1696,12 +1696,18 @@ if test "x$with_platforms" = xauto; then
+ with_platforms=$with_egl_platforms
+ fi
+
+-PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner],
++AC_ARG_WITH([wayland-scanner-path],
++ [AS_HELP_STRING([--with-wayland-scanner-path=PATH],
++ [Path to wayland-scanner (by default the path from
++ 'pkg-config --variable=wayland_scanner wayland-scanner' is used)])],
++ [WAYLAND_SCANNER="$withval"],
++ [WAYLAND_SCANNER="auto"])
++if test x$WAYLAND_SCANNER = xauto; then
++ PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner],
+ WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`,
+- WAYLAND_SCANNER='')
+-if test "x$WAYLAND_SCANNER" = x; then
+- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:])
++ WAYLAND_SCANNER=":")
+ fi
++AC_SUBST(WAYLAND_SCANNER)
+
+ PKG_CHECK_EXISTS([wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED], [have_wayland_protocols=yes], [have_wayland_protocols=no])
+ if test "x$have_wayland_protocols" = xyes; then
+@@ -1718,7 +1724,7 @@ for plat in $platforms; do
+ PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED])
+
+ if test "x$WAYLAND_SCANNER" = "x:"; then
+- AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform])
++ AC_MSG_ERROR([wayland-scanner is needed by Wayland platform but it could not be found and --with-wayland-scanner-path was not used])
+ fi
+ if test "x$have_wayland_protocols" = xno; then
+ AC_MSG_ERROR([wayland-protocols >= $WAYLAND_PROTOCOLS_REQUIRED is needed to compile the wayland platform])
diff --git a/packages/x11-dri/mesa/files/mesa-configure.ac-Add-with-wayland-scanner-path.patch b/packages/x11-dri/mesa/files/mesa-configure.ac-Add-with-wayland-scanner-path.patch
new file mode 100644
index 0000000..a80f11a
--- /dev/null
+++ b/packages/x11-dri/mesa/files/mesa-configure.ac-Add-with-wayland-scanner-path.patch
@@ -0,0 +1,60 @@
+Upstream: under review, https://patchwork.freedesktop.org/patch/157889/
+Reason: Fix cross compiling
+
+From b9f3b1cd55ef45e196dfa9c4f9469c7a7fa7f91d Mon Sep 17 00:00:00 2001
+From: Jussi Kukkonen <jussi.kukkonen@intel.com>
+Date: Tue, 23 May 2017 11:13:57 +0300
+Subject: [PATCH] configure.ac: Add --with-wayland-scanner-path
+
+Modify wayland-scanner lookup: Use the path given by pkg-config
+but offer an option to override the path with
+"--with-wayland-scanner-path=PATH". The latter is useful for
+cross-compile situations.
+
+AC_PATH_PROG is no longer used (if the scanner is installed it should
+get found by pkg-config). AC_SUBST is added so the output variable is
+created when only the configure option is used.
+---
+ configure.ac | 17 ++++++++++++-----
+ 1 file changed, 12 insertions(+), 5 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index b069f54155..5bd8dc76ab 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -1661,12 +1661,19 @@ if test "x$with_platforms" = xauto; then
+ with_platforms=$with_egl_platforms
+ fi
+
+-PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner],
++
++AC_ARG_WITH([wayland-scanner-path],
++ [AS_HELP_STRING([--with-wayland-scanner-path=PATH],
++ [Path to wayland-scanner (by default the path from
++ 'pkg-config --variable=wayland_scanner wayland-scanner' is used)])],
++ [WAYLAND_SCANNER="$withval"],
++ [WAYLAND_SCANNER="auto"])
++if test x$WAYLAND_SCANNER = xauto; then
++ PKG_CHECK_MODULES([WAYLAND_SCANNER], [wayland-scanner],
+ WAYLAND_SCANNER=`$PKG_CONFIG --variable=wayland_scanner wayland-scanner`,
+- WAYLAND_SCANNER='')
+-if test "x$WAYLAND_SCANNER" = x; then
+- AC_PATH_PROG([WAYLAND_SCANNER], [wayland-scanner], [:])
++ WAYLAND_SCANNER=":")
+ fi
++AC_SUBST(WAYLAND_SCANNER)
+
+ # Do per platform setups and checks
+ platforms=`IFS=', '; echo $with_platforms`
+@@ -1677,7 +1684,7 @@ for plat in $platforms; do
+ PKG_CHECK_MODULES([WAYLAND], [wayland-client >= $WAYLAND_REQUIRED wayland-server >= $WAYLAND_REQUIRED])
+
+ if test "x$WAYLAND_SCANNER" = "x:"; then
+- AC_MSG_ERROR([wayland-scanner is needed to compile the wayland platform])
++ AC_MSG_ERROR([wayland-scanner is needed by Wayland platform but it could not be found and --with-wayland-scanner-path was not used])
+ fi
+ DEFINES="$DEFINES -DHAVE_WAYLAND_PLATFORM"
+ ;;
+--
+2.13.2
+