Bug#729260: mesa: Add egl/gles packages on hurd-any
Package: mesa
Version: 9.2.2-1
Severity: important
Tags: patch upstream
User: debian-hurd@lists.debian.org
Usertags: hurd
Hello,
Some Debian packages now depend on egl/gles packages, which are not
available on hurd-any. Instead of disabling the dependencies there, we
can actually build them on hurd-any without libdrm support. I have
attached the patch that I have already submitted upstream, and the
debian/ patch that enables the packages.
Samuel
-- System Information:
Debian Release: jessie/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (500, 'stable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.12.0 (SMP w/8 CPU cores)
Locale: LANG=fr_FR.UTF-8, LC_CTYPE=fr_FR.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/bash
--
Samuel
requests.</FONT></SPAN></TD></TR></TBODY></TABLE></DIV></BODY></HTML>agnjo
gj a po mi
shnthdrdcvallus hsx mvgduwolgfwtq
uzuy
s
p
h
-+- spams forever ... -+-
--- src/egl/drivers/dri2/egl_dri2.c.original 2013-11-10 15:27:19.000000000 +0100
+++ src/egl/drivers/dri2/egl_dri2.c 2013-11-10 15:28:25.000000000 +0100
@@ -33,8 +33,10 @@
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
+#ifdef HAVE_DRM_PLATFORM
#include <xf86drm.h>
#include <drm_fourcc.h>
+#endif
#include <GL/gl.h>
#include <GL/internal/dri_interface.h>
#include <sys/types.h>
@@ -1125,6 +1127,7 @@
return dri2_create_image(disp, dri_image);
}
+#ifdef HAVE_DRM_PLATFORM
static _EGLImage *
dri2_create_image_mesa_drm_buffer(_EGLDisplay *disp, _EGLContext *ctx,
EGLClientBuffer buffer, const EGLint *attr_list)
@@ -1169,6 +1172,7 @@
return dri2_create_image(disp, dri_image);
}
+#endif
#ifdef HAVE_WAYLAND_PLATFORM
@@ -1358,8 +1362,10 @@
return dri2_create_image_khr_texture(disp, ctx, target, buffer, attr_list);
case EGL_GL_RENDERBUFFER_KHR:
return dri2_create_image_khr_renderbuffer(disp, ctx, buffer, attr_list);
+#ifdef HAVE_DRM_PLATFORM
case EGL_DRM_BUFFER_MESA:
return dri2_create_image_mesa_drm_buffer(disp, ctx, buffer, attr_list);
+#endif
#ifdef HAVE_WAYLAND_PLATFORM
case EGL_WAYLAND_BUFFER_WL:
return dri2_create_image_wayland_wl_buffer(disp, ctx, buffer, attr_list);
@@ -1384,6 +1390,7 @@
return EGL_TRUE;
}
+#ifdef HAVE_DRM_PLATFORM
static _EGLImage *
dri2_create_drm_image_mesa(_EGLDriver *drv, _EGLDisplay *disp,
const EGLint *attr_list)
@@ -1494,6 +1501,7 @@
return EGL_TRUE;
}
+#endif
#ifdef HAVE_WAYLAND_PLATFORM
@@ -1721,8 +1729,10 @@
dri2_drv->base.API.ReleaseTexImage = dri2_release_tex_image;
dri2_drv->base.API.CreateImageKHR = dri2_create_image_khr;
dri2_drv->base.API.DestroyImageKHR = dri2_destroy_image_khr;
+#ifdef HAVE_DRM_PLATFORM
dri2_drv->base.API.CreateDRMImageMESA = dri2_create_drm_image_mesa;
dri2_drv->base.API.ExportDRMImageMESA = dri2_export_drm_image_mesa;
+#endif
#ifdef HAVE_WAYLAND_PLATFORM
dri2_drv->base.API.BindWaylandDisplayWL = dri2_bind_wayland_display_wl;
dri2_drv->base.API.UnbindWaylandDisplayWL = dri2_unbind_wayland_display_wl;
--- src/egl/drivers/dri2/platform_x11.c.original 2013-11-10 15:41:37.000000000 +0100
+++ src/egl/drivers/dri2/platform_x11.c 2013-11-10 15:46:52.000000000 +0100
@@ -33,7 +33,9 @@
#include <fcntl.h>
#include <errno.h>
#include <unistd.h>
+#ifdef HAVE_DRM_PLATFORM
#include <xf86drm.h>
+#endif
#include <sys/types.h>
#include <sys/stat.h>
@@ -606,6 +608,7 @@
static EGLBoolean
dri2_authenticate(_EGLDisplay *disp)
{
+#ifdef HAVE_DRM_PLATFORM
struct dri2_egl_display *dri2_dpy = dri2_egl_display(disp);
drm_magic_t magic;
@@ -620,6 +623,9 @@
}
return EGL_TRUE;
+#else
+ return EGL_FALSE;
+#endif
}
static EGLBoolean
diff -ur mesa-9.2.2/debian/control ../mesa-9.2.2/debian/control
--- mesa-9.2.2/debian/control 2013-11-10 13:14:22.000000000 +0100
+++ ../mesa-9.2.2/debian/control 2013-11-10 17:36:40.000000000 +0100
@@ -238,7 +238,7 @@
Package: libegl1-mesa
Section: libs
-Architecture: linux-any kfreebsd-any
+Architecture: any
Depends:
${shlibs:Depends},
${misc:Depends},
@@ -260,7 +260,7 @@
Package: libegl1-mesa-dbg
Section: debug
Priority: extra
-Architecture: linux-any kfreebsd-any
+Architecture: any
Depends:
libegl1-mesa (= ${binary:Version}),
${misc:Depends},
@@ -274,7 +274,7 @@
Package: libegl1-mesa-dev
Section: libdevel
-Architecture: linux-any kfreebsd-any
+Architecture: any
Depends:
libegl1-mesa (= ${binary:Version}),
libegl1-mesa-drivers (= ${binary:Version}),
@@ -389,7 +389,7 @@
Package: libgles1-mesa
Section: libs
-Architecture: linux-any kfreebsd-any
+Architecture: any
Depends:
libglapi-mesa (= ${binary:Version}),
${shlibs:Depends},
@@ -410,7 +410,7 @@
Package: libgles1-mesa-dbg
Section: debug
Priority: extra
-Architecture: linux-any kfreebsd-any
+Architecture: any
Depends:
libgles1-mesa (= ${binary:Version}),
${misc:Depends},
@@ -427,7 +427,7 @@
Package: libgles1-mesa-dev
Section: libdevel
-Architecture: linux-any kfreebsd-any
+Architecture: any
Depends:
libgles1-mesa (= ${binary:Version}),
libegl1-mesa-dev,
@@ -445,7 +445,7 @@
Package: libgles2-mesa
Section: libs
-Architecture: linux-any kfreebsd-any
+Architecture: any
Depends:
libglapi-mesa (= ${binary:Version}),
${shlibs:Depends},
@@ -467,7 +467,7 @@
Package: libgles2-mesa-dbg
Section: debug
Priority: extra
-Architecture: linux-any kfreebsd-any
+Architecture: any
Depends:
libgles2-mesa (= ${binary:Version}),
${misc:Depends},
@@ -485,7 +485,7 @@
Package: libgles2-mesa-dev
Section: libdevel
-Architecture: linux-any kfreebsd-any
+Architecture: any
Depends:
libgles2-mesa (= ${binary:Version}),
libegl1-mesa-dev,
diff -ur mesa-9.2.2/debian/rules ../mesa-9.2.2/debian/rules
--- mesa-9.2.2/debian/rules 2013-11-10 13:14:22.000000000 +0100
+++ ../mesa-9.2.2/debian/rules 2013-11-10 15:25:19.000000000 +0100
@@ -54,9 +54,11 @@
# hurd doesn't do direct rendering
ifeq ($(DEB_HOST_ARCH_OS), hurd)
+ EGL_DISPLAYS = x11
confflags_DIRECT_RENDERING = --disable-driglx-direct
- confflags_EGL = --disable-egl
+ confflags_EGL = --with-egl-platforms="$(EGL_DISPLAYS)"
confflags_GALLIUM = --with-gallium-drivers=
+ confflags_GLES = --enable-gles-overlay --enable-gles1 --enable-gles2
DRI_DRIVERS += swrast
else
EGL_DISPLAYS = x11
Reply to: