Package: mesa Version: 9.2.2-1 Severity: important Tags: patch upstream User: debian-h...@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