[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: