diff --git a/gnu/local.mk b/gnu/local.mk index adccab313e..f754801613 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -693,6 +693,7 @@ dist_patch_DATA = \ %D%/packages/patches/mcrypt-CVE-2012-4409.patch \ %D%/packages/patches/mcrypt-CVE-2012-4426.patch \ %D%/packages/patches/mcrypt-CVE-2012-4527.patch \ + %D%/packages/patches/mesa-wayland-egl-symbols-check-mips.patch \ %D%/packages/patches/metabat-remove-compilation-date.patch \ %D%/packages/patches/mhash-keygen-test-segfault.patch \ %D%/packages/patches/mpc123-initialize-ao.patch \ diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 54ffb386e0..3b5c955ab2 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -203,7 +203,15 @@ also known as DXTn or DXTC) for Mesa.") version "/mesa-" version ".tar.xz")) (sha256 (base32 - "12b3i59xdn2in2hchrkgh4fwij8zhznibx976l3pdj3qkyvlzcms")))) + "12b3i59xdn2in2hchrkgh4fwij8zhznibx976l3pdj3qkyvlzcms")) + (patches + ;; XXX To prevent a large number of rebuilds on other systems, + ;; apply the following patch on MIPS systems only. In the next + ;; core-updates cycle, this patch could be applied on all platforms. + (if (string-prefix? "mips" (or (%current-target-system) + (%current-system))) + (search-patches "mesa-wayland-egl-symbols-check-mips.patch") + '())))) (build-system gnu-build-system) (propagated-inputs `(("glproto" ,glproto) diff --git a/gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch b/gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch new file mode 100644 index 0000000000..aa2278697e --- /dev/null +++ b/gnu/packages/patches/mesa-wayland-egl-symbols-check-mips.patch @@ -0,0 +1,15 @@ +Fix 'wayland-egl-symbols-check' on mips64el-linux, where an additional symbol +(_ftext) is present in libwayland-egl.so. + +Patch by Mark H Weaver + +--- mesa-12.0.1/src/egl/wayland/wayland-egl/wayland-egl-symbols-check.orig 2016-01-18 02:39:25.000000000 -0500 ++++ mesa-12.0.1/src/egl/wayland/wayland-egl/wayland-egl-symbols-check 2016-10-24 16:25:07.110721426 -0400 +@@ -7,6 +7,7 @@ + wl_egl_window_destroy + wl_egl_window_get_attached_size + _fini ++_ftext + _init + EOF + done)