summaryrefslogtreecommitdiffstats
path: root/meta/recipes-graphics/mesa
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-graphics/mesa')
-rw-r--r--meta/recipes-graphics/mesa/mesa-common.inc24
-rw-r--r--meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.8.2.bb24
-rw-r--r--meta/recipes-graphics/mesa/mesa-dri/cross2.patch44
-rw-r--r--meta/recipes-graphics/mesa/mesa-dri/crossfix.patch16
-rw-r--r--meta/recipes-graphics/mesa/mesa-dri/i586/matypes.h162
-rw-r--r--meta/recipes-graphics/mesa/mesa-dri_7.5.bb48
-rw-r--r--meta/recipes-graphics/mesa/mesa-dri_7.7.bb49
-rw-r--r--meta/recipes-graphics/mesa/mesa-dri_7.8.2.bb53
-rw-r--r--meta/recipes-graphics/mesa/mesa-dri_git.bb59
-rw-r--r--meta/recipes-graphics/mesa/mesa-xlib_7.8.2.bb22
-rw-r--r--meta/recipes-graphics/mesa/qemugl/versionfix.patch30
-rw-r--r--meta/recipes-graphics/mesa/qemugl_git.bb37
12 files changed, 568 insertions, 0 deletions
diff --git a/meta/recipes-graphics/mesa/mesa-common.inc b/meta/recipes-graphics/mesa/mesa-common.inc
new file mode 100644
index 0000000..240f956
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-common.inc
@@ -0,0 +1,24 @@
+DESCRIPTION = "An open source implementation of the OpenGL spec"
+HOMEPAGE = "http://mesa3d.org"
+BUGTRACKER = "https://bugs.freedesktop.org"
+SECTION = "x11"
+LICENSE = "MIT"
+
+SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2 \
+ ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaDemos-${PV}.tar.bz2 "
+
+S = "${WORKDIR}/Mesa-${PV}"
+
+PROVIDES = "virtual/libgl"
+
+inherit autotools pkgconfig
+
+EXTRA_OECONF = "--disable-glu \
+ --disable-glw \
+ --disable-glut \
+ --enable-glx-tls"
+
+# Multiple virtual/gl providers being built breaks staging
+EXCLUDE_FROM_WORLD = "1"
+
+
diff --git a/meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.8.2.bb b/meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.8.2.bb
new file mode 100644
index 0000000..f6121c1
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-dri-glsl-native_7.8.2.bb
@@ -0,0 +1,24 @@
+DESCRIPTION = "gl shader language specific build from mesa-dri"
+HOMEPAGE = "http://mesa3d.org"
+BUGTRACKER = "https://bugs.freedesktop.org"
+SECTION = "x11"
+LICENSE = "MIT"
+PR = "r0"
+
+DEPENDS = "makedepend-native"
+
+SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2"
+
+S = "${WORKDIR}/Mesa-7.8.2/src/glsl/"
+
+inherit native
+
+# use default config for native build
+do_configure_prepend() {
+ ln -s ${S}/../../configs/default ${S}/../../configs/current
+}
+
+do_install() {
+ install -d ${D}/${bindir}
+ install -m 755 ${S}/apps/compile ${D}/${bindir}/glsl-compile
+}
diff --git a/meta/recipes-graphics/mesa/mesa-dri/cross2.patch b/meta/recipes-graphics/mesa/mesa-dri/cross2.patch
new file mode 100644
index 0000000..d214791
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-dri/cross2.patch
@@ -0,0 +1,44 @@
+Index: git/configure.ac
+===================================================================
+--- git.orig/configure.ac 2009-09-01 16:38:26.000000000 +0100
++++ git/configure.ac 2009-09-01 16:38:47.000000000 +0100
+@@ -269,15 +269,6 @@
+ GLAPI_ASM_SOURCES=""
+ AC_MSG_CHECKING([whether to enable assembly])
+ test "x$enable_asm" = xno && AC_MSG_RESULT([no])
+-# disable if cross compiling on x86/x86_64 since we must run gen_matypes
+-if test "x$enable_asm" = xyes && test "x$cross_compiling" = xyes; then
+- case "$host_cpu" in
+- i?86 | x86_64)
+- enable_asm=no
+- AC_MSG_RESULT([no, cross compiling])
+- ;;
+- esac
+-fi
+ # check for supported arches
+ if test "x$enable_asm" = xyes; then
+ case "$host_cpu" in
+Index: git/src/mesa/x86/Makefile
+===================================================================
+--- git.orig/src/mesa/x86/Makefile 2009-09-01 16:40:02.000000000 +0100
++++ git/src/mesa/x86/Makefile 2009-09-01 16:40:13.000000000 +0100
+@@ -14,19 +14,6 @@
+ -I../tnl
+
+
+-default: gen_matypes matypes.h
+-
+-clean:
+- -rm -f matypes.h gen_matypes
+-
+-
+-gen_matypes: gen_matypes.c
+- $(HOST_CC) $(ARCH_FLAGS) $(INCLUDE_DIRS) $(HOST_CFLAGS) gen_matypes.c -o gen_matypes
+-
+-# need some special rules here, unfortunately
+-matypes.h: ../main/mtypes.h ../tnl/t_context.h gen_matypes
+- ./gen_matypes > matypes.h
+-
+ common_x86_asm.o: matypes.h
+ 3dnow_normal.o: matypes.h
+ 3dnow_xform1.o: matypes.h
diff --git a/meta/recipes-graphics/mesa/mesa-dri/crossfix.patch b/meta/recipes-graphics/mesa/mesa-dri/crossfix.patch
new file mode 100644
index 0000000..84be428
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-dri/crossfix.patch
@@ -0,0 +1,16 @@
+Index: Mesa-7.5/bin/mklib
+===================================================================
+--- Mesa-7.5.orig/bin/mklib 2009-08-12 13:01:34.000000000 +0100
++++ Mesa-7.5/bin/mklib 2009-08-12 13:04:19.000000000 +0100
+@@ -234,9 +234,9 @@
+ if [ "x$LINK" = "x" ] ; then
+ # -linker was not specified so set default link command now
+ if [ $CPLUSPLUS = 1 ] ; then
+- LINK=g++
++ LINK=$CXX
+ else
+- LINK=gcc
++ LINK=$CC
+ fi
+ fi
+
diff --git a/meta/recipes-graphics/mesa/mesa-dri/i586/matypes.h b/meta/recipes-graphics/mesa/mesa-dri/i586/matypes.h
new file mode 100644
index 0000000..98d2188
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-dri/i586/matypes.h
@@ -0,0 +1,162 @@
+/*
+ * This file is automatically generated from the Mesa internal type
+ * definitions. Do not edit directly.
+ */
+
+#ifndef __ASM_TYPES_H__
+#define __ASM_TYPES_H__
+
+
+
+/* =============================================================
+ * Offsets for GLcontext
+ */
+
+#define CTX_DRIVER_CTX 996
+
+#define CTX_LIGHT_ENABLED 39404
+#define CTX_LIGHT_SHADE_MODEL 39408
+#define CTX_LIGHT_COLOR_MAT_FACE 39412
+#define CTX_LIGHT_COLOR_MAT_MODE 39416
+#define CTX_LIGHT_COLOR_MAT_MASK 39420
+#define CTX_LIGHT_COLOR_MAT_ENABLED 39424
+#define CTX_LIGHT_ENABLED_LIST 39432
+#define CTX_LIGHT_NEED_VERTS 43793
+#define CTX_LIGHT_FLAGS 43796
+#define CTX_LIGHT_BASE_COLOR 43800
+
+
+/* =============================================================
+ * Offsets for struct vertex_buffer
+ */
+
+#define VB_SIZE 0
+#define VB_COUNT 4
+
+#define VB_ELTS 8
+#define VB_OBJ_PTR 12
+#define VB_EYE_PTR 16
+#define VB_CLIP_PTR 20
+#define VB_PROJ_CLIP_PTR 24
+#define VB_CLIP_OR_MASK 28
+#define VB_CLIP_MASK 32
+#define VB_NORMAL_PTR 36
+#define VB_EDGE_FLAG 44
+#define VB_TEX0_COORD_PTR 48
+#define VB_TEX1_COORD_PTR 52
+#define VB_TEX2_COORD_PTR 56
+#define VB_TEX3_COORD_PTR 60
+#define VB_INDEX_PTR 80
+#define VB_COLOR_PTR 88
+#define VB_SECONDARY_COLOR_PTR 96
+#define VB_FOG_COORD_PTR 104
+#define VB_PRIMITIVE 108
+
+
+/*
+ * Flags for struct vertex_buffer
+ */
+
+#define VERT_BIT_OBJ 0x1
+#define VERT_BIT_NORM 0x4
+#define VERT_BIT_RGBA 0x8
+#define VERT_BIT_SPEC_RGB 0x10
+#define VERT_BIT_FOG_COORD 0x20
+#define VERT_BIT_TEX0 0x100
+#define VERT_BIT_TEX1 0x200
+#define VERT_BIT_TEX2 0x400
+#define VERT_BIT_TEX3 0x800
+
+
+/* =============================================================
+ * Offsets for GLvector4f
+ */
+
+#define V4F_DATA 0
+#define V4F_START 4
+#define V4F_COUNT 8
+#define V4F_STRIDE 12
+#define V4F_SIZE 16
+#define V4F_FLAGS 20
+
+/*
+ * Flags for GLvector4f
+ */
+
+#define VEC_MALLOC 0x10
+#define VEC_NOT_WRITEABLE 0x40
+#define VEC_BAD_STRIDE 0x100
+
+#define VEC_SIZE_1 0x1
+#define VEC_SIZE_2 0x3
+#define VEC_SIZE_3 0x7
+#define VEC_SIZE_4 0xf
+
+
+/* =============================================================
+ * Offsets for GLmatrix
+ */
+
+#define MATRIX_DATA 0
+#define MATRIX_INV 4
+#define MATRIX_FLAGS 8
+#define MATRIX_TYPE 12
+
+
+/* =============================================================
+ * Offsets for struct gl_light
+ */
+
+#define LIGHT_NEXT 0
+#define LIGHT_PREV 4
+
+#define LIGHT_AMBIENT 8
+#define LIGHT_DIFFUSE 24
+#define LIGHT_SPECULAR 40
+#define LIGHT_EYE_POSITION 56
+#define LIGHT_SPOT_DIRECTION 72
+#define LIGHT_SPOT_EXPONENT 88
+#define LIGHT_SPOT_CUTOFF 92
+#define LIGHT_COS_CUTOFF 100
+#define LIGHT_CONST_ATTEN 104
+#define LIGHT_LINEAR_ATTEN 108
+#define LIGHT_QUADRATIC_ATTEN 112
+#define LIGHT_ENABLED 116
+
+#define LIGHT_FLAGS 120
+
+#define LIGHT_POSITION 124
+#define LIGHT_VP_INF_NORM 140
+#define LIGHT_H_INF_NORM 152
+#define LIGHT_NORM_DIRECTION 164
+#define LIGHT_VP_INF_SPOT_ATTEN 180
+
+#define LIGHT_SPOT_EXP_TABLE 184
+#define LIGHT_MAT_AMBIENT 4280
+#define LIGHT_MAT_DIFFUSE 4304
+#define LIGHT_MAT_SPECULAR 4328
+
+#define SIZEOF_GL_LIGHT 4360
+
+/*
+ * Flags for struct gl_light
+ */
+
+#define LIGHT_SPOT 0x1
+#define LIGHT_LOCAL_VIEWER 0x2
+#define LIGHT_POSITIONAL 0x4
+
+#define LIGHT_NEED_VERTICES 0x6
+
+
+/* =============================================================
+ * Offsets for struct gl_lightmodel
+ */
+
+#define LIGHT_MODEL_AMBIENT 0
+#define LIGHT_MODEL_LOCAL_VIEWER 16
+#define LIGHT_MODEL_TWO_SIDE 17
+#define LIGHT_MODEL_COLOR_CONTROL 20
+
+
+#endif /* __ASM_TYPES_H__ */
diff --git a/meta/recipes-graphics/mesa/mesa-dri_7.5.bb b/meta/recipes-graphics/mesa/mesa-dri_7.5.bb
new file mode 100644
index 0000000..6e9cdc9
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-dri_7.5.bb
@@ -0,0 +1,48 @@
+include mesa-common.inc
+
+SRC_URI += "file://crossfix.patch;patch=1"
+# file://mesa-DRI2Swapbuffer.patch;patch=1
+
+PROTO_DEPS = "xf86driproto glproto dri2proto"
+LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes expat"
+
+DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
+
+PR = "r11"
+
+# most of our targets do not have DRI so will use mesa-xlib
+DEFAULT_PREFERENCE = "-1"
+
+# Netbooks have DRI support so use mesa-dri by default
+DEFAULT_PREFERENCE_netbook = "1"
+
+PACKAGES =+ "${PN}-xprogs"
+PACKAGES_DYNAMIC = "mesa-dri-driver-*"
+
+FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
+FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
+
+LEAD_SONAME = "libGL.so.1"
+
+EXTRA_OECONF += "--with-driver=dri --disable-egl --disable-gallium"
+
+do_install_append () {
+ install -d ${D}/usr/bin
+ install -m 0755 ${S}/progs/xdemos/{glxdemo,glxgears,glxheads,glxinfo} ${D}/usr/bin/
+}
+
+python populate_packages_prepend() {
+ import os.path
+
+ dri_drivers_root = os.path.join(bb.data.getVar('libdir', d, 1), "dri")
+
+ do_split_packages(d, dri_drivers_root, '^(.*)_dri\.so$', 'mesa-dri-driver-%s', 'Mesa %s DRI driver', extra_depends='')
+}
+
+COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
+
+
+#
+# Header generated by i586-poky-linux-gcc gen_matypes.c -o gen_matypes -I ../../../include/GL -I ../../../include -I .. -I ../main/ -I ../math -I ../glapi/ -I ../tnl
+# then run gen_matypes > matypes.h on device
+# \ No newline at end of file
diff --git a/meta/recipes-graphics/mesa/mesa-dri_7.7.bb b/meta/recipes-graphics/mesa/mesa-dri_7.7.bb
new file mode 100644
index 0000000..a5899f3
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-dri_7.7.bb
@@ -0,0 +1,49 @@
+include mesa-common.inc
+
+SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/7.7/MesaLib-${PV}.tar.bz2 \
+ ftp://ftp.freedesktop.org/pub/mesa/7.7/MesaDemos-${PV}.tar.bz2 \
+ file://crossfix.patch;patch=1"
+
+PROTO_DEPS = "xf86driproto glproto dri2proto"
+LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes expat"
+
+DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
+
+PR = "r11"
+
+# most of our targets do not have DRI so will use mesa-xlib
+DEFAULT_PREFERENCE = "-1"
+
+# Netbooks have DRI support so use mesa-dri by default
+DEFAULT_PREFERENCE_netbook = "1"
+
+PACKAGES =+ "${PN}-xprogs"
+PACKAGES_DYNAMIC = "mesa-dri-driver-*"
+
+FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
+FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
+
+LEAD_SONAME = "libGL.so.1"
+
+EXTRA_OECONF += "--with-driver=dri --disable-egl --disable-gallium"
+
+do_install_append () {
+ install -d ${D}/usr/bin
+ install -m 0755 ${S}/progs/xdemos/{glxdemo,glxgears,glxheads,glxinfo} ${D}/usr/bin/
+}
+
+python populate_packages_prepend() {
+ import os.path
+
+ dri_drivers_root = os.path.join(bb.data.getVar('libdir', d, 1), "dri")
+
+ do_split_packages(d, dri_drivers_root, '^(.*)_dri\.so$', 'mesa-dri-driver-%s', 'Mesa %s DRI driver', extra_depends='')
+}
+
+COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
+
+
+#
+# Header generated by i586-poky-linux-gcc gen_matypes.c -o gen_matypes -I ../../../include/GL -I ../../../include -I .. -I ../main/ -I ../math -I ../glapi/ -I ../tnl
+# then run gen_matypes > matypes.h on device
+# \ No newline at end of file
diff --git a/meta/recipes-graphics/mesa/mesa-dri_7.8.2.bb b/meta/recipes-graphics/mesa/mesa-dri_7.8.2.bb
new file mode 100644
index 0000000..ffd885f
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-dri_7.8.2.bb
@@ -0,0 +1,53 @@
+include mesa-common.inc
+
+LIC_FILES_CHKSUM = "file://docs/license.html;md5=7a3373c039b6b925c427755a4f779c1d"
+
+PROTO_DEPS = "xf86driproto glproto dri2proto"
+LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes expat"
+
+DEPENDS = "${PROTO_DEPS} ${LIB_DEPS} mesa-dri-glsl-native"
+
+PR = "r1"
+
+SRC_URI += "file://crossfix.patch"
+
+# most of our targets do not have DRI so will use mesa-xlib
+DEFAULT_PREFERENCE = "-1"
+
+# Netbooks have DRI support so use mesa-dri by default
+DEFAULT_PREFERENCE_netbook = "1"
+
+LEAD_SONAME = "libGL.so.1"
+
+EXTRA_OECONF += "--with-driver=dri --disable-egl --disable-gallium"
+
+# We need glsl-compile built for buildhost arch instead of target (is provided by mesa-dri-glsl-native)"
+do_configure_prepend() {
+ sed -i "s#^GLSL_CL = .*\$#GLSL_CL = ${STAGING_BINDIR_NATIVE}/glsl-compile#g" ${S}/src/mesa/shader/slang/library/Makefile
+}
+
+do_install_append () {
+ install -d ${D}/usr/bin
+ install -m 0755 ${S}/progs/xdemos/{glxdemo,glxgears,glxheads,glxinfo} ${D}/usr/bin/
+}
+
+python populate_packages_prepend() {
+ import os.path
+
+ dri_drivers_root = os.path.join(bb.data.getVar('libdir', d, 1), "dri")
+
+ do_split_packages(d, dri_drivers_root, '^(.*)_dri\.so$', 'mesa-dri-driver-%s', 'Mesa %s DRI driver', extra_depends='')
+}
+
+COMPATIBLE_HOST = '(i.86.*-linux|x86_64.*-linux)'
+
+PACKAGES =+ "${PN}-xprogs"
+PACKAGES_DYNAMIC = "mesa-dri-driver-*"
+
+FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
+FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
+
+#
+# Header generated by i586-poky-linux-gcc gen_matypes.c -o gen_matypes -I ../../../include/GL -I ../../../include -I .. -I ../main/ -I ../math -I ../glapi/ -I ../tnl
+# then run gen_matypes > matypes.h on device
+#
diff --git a/meta/recipes-graphics/mesa/mesa-dri_git.bb b/meta/recipes-graphics/mesa/mesa-dri_git.bb
new file mode 100644
index 0000000..fa0a7c8
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-dri_git.bb
@@ -0,0 +1,59 @@
+include mesa-common.inc
+
+SRC_URI = "git://anongit.freedesktop.org/git/mesa/mesa;protocol=git \
+ file://cross2.patch;patch=1 \
+ file://matypes.h"
+# file://mesa-DRI2Swapbuffer.patch;patch=1 "
+S = "${WORKDIR}/git"
+
+PROTO_DEPS = "xf86driproto glproto dri2proto"
+LIB_DEPS = "libdrm virtual/libx11 libxext libxxf86vm libxdamage libxfixes expat"
+
+DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
+
+PV = "7.7+git${SRCPV}"
+PR = "r0"
+
+# most of our targets do not have DRI so will use mesa-xlib
+DEFAULT_PREFERENCE = "-1"
+
+# Netbooks have DRI support so use mesa-dri by default
+DEFAULT_PREFERENCE_netbook = "1"
+
+PACKAGES =+ "${PN}-xprogs"
+PACKAGES_DYNAMIC = "mesa-dri-driver-*"
+
+FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
+FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
+
+LEAD_SONAME = "libGL.so.1"
+
+EXTRA_OECONF += "--with-driver=dri --disable-egl --disable-gallium"
+
+do_configure_prepend () {
+ cp ${WORKDIR}/matypes.h ${S}/src/mesa/x86
+ touch ${S}/src/mesa/x86/matypes.h
+}
+
+do_compile () {
+ oe_runmake clean
+ oe_runmake -C src/glsl CC='${BUILD_CC}' CFLAGS=""
+ mv ${S}/src/glsl/apps/compile ${S}/host_compile
+ oe_runmake clean
+ oe_runmake GLSL_CL="${S}/host_compile"
+}
+
+do_install_append () {
+ install -d ${D}/usr/bin
+ install -m 0755 ${S}/progs/xdemos/{glxdemo,glxgears,glxheads,glxinfo} ${D}/usr/bin/
+}
+
+python populate_packages_prepend() {
+ import os.path
+
+ dri_drivers_root = os.path.join(bb.data.getVar('libdir', d, 1), "dri")
+
+ do_split_packages(d, dri_drivers_root, '^(.*)_dri\.so$', 'mesa-dri-driver-%s', 'Mesa %s DRI driver', extra_depends='')
+}
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
diff --git a/meta/recipes-graphics/mesa/mesa-xlib_7.8.2.bb b/meta/recipes-graphics/mesa/mesa-xlib_7.8.2.bb
new file mode 100644
index 0000000..093ad6e
--- /dev/null
+++ b/meta/recipes-graphics/mesa/mesa-xlib_7.8.2.bb
@@ -0,0 +1,22 @@
+include mesa-common.inc
+
+LIC_FILES_CHKSUM = "file://docs/license.html;md5=7a3373c039b6b925c427755a4f779c1d"
+
+PROTO_DEPS = "xf86driproto glproto"
+LIB_DEPS = "virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
+
+DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
+
+PE = "1"
+PR = "r0"
+
+EXTRA_OECONF += "--with-driver=xlib"
+
+do_install_append () {
+ install -d ${D}/${bindir}
+ install -m 0755 ${S}/progs/xdemos/{glxdemo,glxgears,glxheads,glxinfo} ${D}/${bindir}
+}
+
+PACKAGES =+ "${PN}-xprogs"
+
+FILES_${PN}-xprogs = "${bindir}/glxdemo ${bindir}/glxgears ${bindir}/glxheads ${bindir}/glxinfo"
diff --git a/meta/recipes-graphics/mesa/qemugl/versionfix.patch b/meta/recipes-graphics/mesa/qemugl/versionfix.patch
new file mode 100644
index 0000000..a3d33e8
--- /dev/null
+++ b/meta/recipes-graphics/mesa/qemugl/versionfix.patch
@@ -0,0 +1,30 @@
+Index: git/Makefile
+===================================================================
+--- git.orig/Makefile 2009-01-19 23:37:36.000000000 +0000
++++ git/Makefile 2009-06-09 20:30:37.000000000 +0100
+@@ -1,9 +1,9 @@
+ GL_CFLAGS := -Wall -g -O2 -fno-strict-aliasing
+
+-all: libGL.so
++all: libGL.so.1.2
+
+-libGL.so: client_stub.c opengl_client.c glgetv_cst.h opengl_func.h opengl_utils.h opengl_client_xfonts.c mesa_gl.h mesa_glext.h mesa_glx.h mesa_glxext.h
+- $(CC) -fPIC $(GL_CFLAGS) opengl_client.c -shared -o libGL.so -lX11 -lXfixes -lm -L$(D)/usr/X11R6/lib -lpthread -I.
++libGL.so.1.2: client_stub.c opengl_client.c glgetv_cst.h opengl_func.h opengl_utils.h opengl_client_xfonts.c mesa_gl.h mesa_glext.h mesa_glx.h mesa_glxext.h
++ $(CC) -fPIC $(GL_CFLAGS) opengl_client.c -shared -o libGL.so.1.2 -lX11 -lXfixes -lm -L$(D)/usr/X11R6/lib -lpthread -I.
+
+ opengl_func.h: gl_func.h
+
+Index: git/opengl_client.c
+===================================================================
+--- git.orig/opengl_client.c 2009-06-09 21:07:15.000000000 +0100
++++ git/opengl_client.c 2009-06-09 21:07:33.000000000 +0100
+@@ -11578,7 +11578,7 @@
+ tab_assoc = calloc(tabSize, sizeof(AssocProcAdress));
+
+ #ifndef WIN32
+- handle = dlopen(getenv("REAL_LIBGL") ? getenv("REAL_LIBGL") : "libGL.so" ,RTLD_LAZY);
++ handle = dlopen(getenv("REAL_LIBGL") ? getenv("REAL_LIBGL") : "libGL.so.1.2" ,RTLD_LAZY);
+ if (!handle) {
+ log_gl("%s\n", dlerror());
+ exit(1);
diff --git a/meta/recipes-graphics/mesa/qemugl_git.bb b/meta/recipes-graphics/mesa/qemugl_git.bb
new file mode 100644
index 0000000..184c782
--- /dev/null
+++ b/meta/recipes-graphics/mesa/qemugl_git.bb
@@ -0,0 +1,37 @@
+DESCRIPTION = "QEMU i386 OpenGL passtrough"
+HOMEPAGE = "http://savannah.nongnu.org/projects/qemugl"
+SECTION = "x11/drivers"
+LICENSE = "GPL"
+
+DEPENDS = "virtual/libx11 xproto glproto libxfixes"
+
+COMPATIBLE_HOST = '(x86_64.*|i.86.*)-(linux|freebsd.*)'
+
+SRC_URI = "git://git.o-hand.com/qemugl.git;protocol=git \
+ file://versionfix.patch"
+S = "${WORKDIR}/git"
+
+PV = "0.0+git${SRCPV}"
+PR = "r6"
+
+DEFAULT_PREFERENCE = "-1"
+
+do_install () {
+ install -d ${D}${libdir}/
+ if [ "${PN}" != "qemugl-nativesdk" ]; then
+ install -m 0755 ${S}/libGL.so.1.2 ${D}${libdir}/libGL-qemu.so.1.2
+ else
+ install -m 0755 ${S}/libGL.so.1.2 ${D}${libdir}/libGL.so.1.2
+ ln -s libGL.so.1.2 ${D}${libdir}/libGL.so.1
+ ln -s libGL.so.1 ${D}${libdir}/libGL.so
+ fi
+}
+
+pkg_postinst_${PN} () {
+ if [ "${PN}" != "qemugl-nativesdk" ]; then
+ rm -f $D${libdir}/libGL.so.1.2
+ ln -s libGL-qemu.so.1.2 $D${libdir}/libGL.so.1.2
+ fi
+}
+
+BBCLASSEXTEND = "nativesdk"
OpenPOWER on IntegriCloud