File u_fix-build-on-ppc64le.patch of Package Mesa
Index: mesa-23.0.0/include/CL/cl_platform.h
===================================================================
--- mesa-23.0.0.orig/include/CL/cl_platform.h
+++ mesa-23.0.0/include/CL/cl_platform.h
@@ -385,7 +385,9 @@ typedef unsigned int cl_GLenum;
/* Define basic vector types */
#if defined( __VEC__ )
#if !defined(__clang__)
+ #ifndef __cplusplus
#include <altivec.h> /* may be omitted depending on compiler. AltiVec spec provides no way to detect whether the header is required. */
+ #endif
#endif
typedef __vector unsigned char __cl_uchar16;
typedef __vector signed char __cl_char16;
Index: mesa-23.0.0/src/gallium/drivers/llvmpipe/lp_rast_tri.c
===================================================================
--- mesa-23.0.0.orig/src/gallium/drivers/llvmpipe/lp_rast_tri.c
+++ mesa-23.0.0/src/gallium/drivers/llvmpipe/lp_rast_tri.c
@@ -488,7 +488,9 @@ lp_rast_triangle_32_3_4(struct lp_raster
#if defined(_ARCH_PWR8) && UTIL_ARCH_LITTLE_ENDIAN
+#ifndef __cplusplus
#include <altivec.h>
+#endif
#include "util/u_pwr8.h"
static inline void
Index: mesa-23.0.0/src/gallium/drivers/llvmpipe/lp_setup_tri.c
===================================================================
--- mesa-23.0.0.orig/src/gallium/drivers/llvmpipe/lp_setup_tri.c
+++ mesa-23.0.0/src/gallium/drivers/llvmpipe/lp_setup_tri.c
@@ -46,7 +46,9 @@
#if DETECT_ARCH_SSE
#include <emmintrin.h>
#elif defined(_ARCH_PWR8) && UTIL_ARCH_LITTLE_ENDIAN
+#ifndef __cplusplus
#include <altivec.h>
+#endif
#include "util/u_pwr8.h"
#endif