I am working on building clutter recipes (clutter / clutter-box2d / clutter-gtk / clutter-gst). Since none of the recipes worked - most crashed already during patching - I decided to rework these recipes and bump to latest stable versions. With clutter / clutter-box2d / clutter-gtk I had success so far but now I am in trouble with clutter-gst.
The modifications I made: ----------------------------------------------------------------------------------------------------------------------------------------- >From 503e5976ff638b278511d232c69058c03e4a2cea Mon Sep 17 00:00:00 2001 From: Andreas Mueller <[email protected]> Date: Tue, 29 Jun 2010 16:25:31 +0200 Subject: [PATCH] Bump clutter recipes to latest stable versions Note: clutter-gst fails during compile at overo environment! Signed-off-by: Andreas Mueller <[email protected]> --- recipes/clutter/clutter-box2d.inc | 2 +- recipes/clutter/clutter-box2d_0.10.0_git.bb | 13 +++++++++++++ recipes/clutter/clutter-gst.inc | 13 +------------ recipes/clutter/clutter-gst_1.0.0.bb | 12 ++++++++++++ recipes/clutter/clutter-gtk_0.10.4.bb | 12 ++++++++++++ recipes/clutter/clutter.inc | 2 +- recipes/clutter/clutter_1.2.10.bb | 18 ++++++++++++++++++ 7 files changed, 58 insertions(+), 14 deletions(-) create mode 100644 recipes/clutter/clutter-box2d_0.10.0_git.bb create mode 100644 recipes/clutter/clutter-gst_1.0.0.bb create mode 100644 recipes/clutter/clutter-gtk_0.10.4.bb create mode 100644 recipes/clutter/clutter_1.2.10.bb diff --git a/recipes/clutter/clutter-box2d.inc b/recipes/clutter/clutter-box2d.inc index 8189d12..bb4f1b6 100644 --- a/recipes/clutter/clutter-box2d.inc +++ b/recipes/clutter/clutter-box2d.inc @@ -5,7 +5,7 @@ LICENSE = "GPLv2" DEPENDS = "clutter" # The main clutter lib is machine specific so we need to be too -PACKAGE_ARCH = "${MACHINE_ARCH}" +#PACKAGE_ARCH = "${MACHINE_ARCH}" inherit autotools pkgconfig gtk-doc diff --git a/recipes/clutter/clutter-box2d_0.10.0_git.bb b/recipes/clutter/clutter-box2d_0.10.0_git.bb new file mode 100644 index 0000000..6417a7d --- /dev/null +++ b/recipes/clutter/clutter-box2d_0.10.0_git.bb @@ -0,0 +1,13 @@ +require clutter-box2d.inc + +SRCREV = "dae84a82efe22b284cba8ca1985ce14bb4e86c99" + +PV = "0.10.0" +PR = "r0" +PR_append = "+git${SRCREV}" + +SRC_URI = "git://git.clutter-project.org/clutter-box2d.git;protocol=git" + +S = "${WORKDIR}/git" + + diff --git a/recipes/clutter/clutter-gst.inc b/recipes/clutter/clutter-gst.inc index fa8f810..262f033 100644 --- a/recipes/clutter/clutter-gst.inc +++ b/recipes/clutter/clutter-gst.inc @@ -7,17 +7,6 @@ DEPENDS = "clutter gstreamer gst-plugins-base" PACKAGES =+ "${PN}-examples" FILES_${PN}-examples = "${bindir}/video-player ${bindir}/video-sink ${bindir}/audio" -inherit autotools pkgconfig +inherit autotools pkgconfig gtk-doc -do_configure_prepend() { - if [ -e ${WORKDIR}/gtk-doc.make ] ; then - cp ${WORKDIR}/gtk-doc.make ${S}/gtk-doc.make - else - touch ${S}/gtk-doc.make - fi -} - -do_stage () { - autotools_stage_all -} diff --git a/recipes/clutter/clutter-gst_1.0.0.bb b/recipes/clutter/clutter-gst_1.0.0.bb new file mode 100644 index 0000000..ef6589f --- /dev/null +++ b/recipes/clutter/clutter-gst_1.0.0.bb @@ -0,0 +1,12 @@ +require clutter-gst.inc + +PR = "r0" + +SRC_URI = "http://source.clutter-project.org/sources/clutter-gst/1.0/clutter-gst-${PV}.tar.bz2 \ + " + +# The main clutter lib is machine specific so we need to be too +PACKAGE_ARCH = "${MACHINE_ARCH}" + +SRC_URI[md5sum] = "673e9548172698ebd48713ebedff500c" +SRC_URI[sha256sum] = "ae6ec048b570157130e9f9069f2495caf0da9eefa8d7f3b1789f3346fb16f696" diff --git a/recipes/clutter/clutter-gtk_0.10.4.bb b/recipes/clutter/clutter-gtk_0.10.4.bb new file mode 100644 index 0000000..8f4e6a8 --- /dev/null +++ b/recipes/clutter/clutter-gtk_0.10.4.bb @@ -0,0 +1,12 @@ +require clutter-gtk.inc + +PR = "r0" + +SRC_URI = "http://source.clutter-project.org/sources/clutter-gtk/0.10/clutter-gtk-${PV}.tar.bz2 \ + " + +DEPENDS = "clutter" + +SRC_URI[md5sum] = "fd015e8080e1212dacc95d0e3d776d0d" +SRC_URI[sha256sum] = "0134a8de202c518e231f340f5f2f3e988350105de9fadd0e849f08d95ac1b912" + diff --git a/recipes/clutter/clutter.inc b/recipes/clutter/clutter.inc index fce3236..8f38419 100644 --- a/recipes/clutter/clutter.inc +++ b/recipes/clutter/clutter.inc @@ -4,7 +4,7 @@ LICENSE = "LGPL" COMPATIBLE_MACHINE = "(zylonite|mx31litekit|omap-3430ldp|omap-3430sdp|mx31ads|qemuarm|qemux86|ipodtouch|am3517-evm|dm3730-am3715-evm|beagleboard|overo|omap3evm| omap5912osk)" -STDDEPENDS = "virtual/libx11 gtk-doc-native pango glib-2.0 libxfixes gtk+" +STDDEPENDS = "virtual/libx11 gtk-doc-native pango glib-2.0 libxfixes gtk+ cairo" BASE_CONF = "--disable-gtk-doc $...@get_clutter_fpu_setting(bb, d)}" DEPENDS = "${STDDEPENDS} virtual/libgl" diff --git a/recipes/clutter/clutter_1.2.10.bb b/recipes/clutter/clutter_1.2.10.bb new file mode 100644 index 0000000..298972d --- /dev/null +++ b/recipes/clutter/clutter_1.2.10.bb @@ -0,0 +1,18 @@ +require clutter.inc + +PR = "${INC_PR}.0" + +SRC_URI = "http://source.clutter-project.org/sources/clutter/1.2/clutter-${PV}.tar.bz2 \ + " + +PARALLEL_MAKE = "" + +do_compile_prepend() { + for i in $(find ${S} -name Makefile) ; do + sed -i -e s:-Werror::g $i + done + ( cd clutter/cogl/gles ; for i in *.glsl ; do sh stringify.sh -h $i ; done ) +} + +SRC_URI[md5sum] = "ca8dbc4a65c55720779872c13eac86ba" +SRC_URI[sha256sum] = "26cdee7a528eb1346553d16ae8d8d87f35a8a46c0a86829eabd227067e84da5d" -- 1.5.3.4 ----------------------------------------------------------------------------------------------------------------------------------------- Some comments of what I did: 1. clutter-box2d does use latest git because the stable version is missing HAVE_INTROSPECTION (see http://git.clutter-project.org/clutter-box2d/commit/?id=dae84a82efe22b284cba8ca1985ce14bb4e86c99) 2. In clutter-box2d.inc I removed PACKAGE_ARCH = "${MACHINE_ARCH}" because I had the feeling that this caused OE build an empty image. 3. To get clutter-gst I did several attempts: - With or without PACKAGE_ARCH = "${MACHINE_ARCH}" - Checked poky recipes - Tried with latest git version All compiling attempts lead to a bunch of warnings like | /home/Superandi/OpenEmbedded/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/gstreamer-0.10/gst/gstmessage.h: In function 'gst_message_ref': | /home/Superandi/OpenEmbedded/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/gstreamer-0.10/gst/gstmessage.h:306: warning: cast increases required alignment of target type | /home/Superandi/OpenEmbedded/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/gstreamer-0.10/gst/gstmessage.h: In function 'gst_message_copy': | /home/Superandi/OpenEmbedded/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/gstreamer-0.10/gst/gstmessage.h:344: warning: cast increases required alignment of target type and ends up in error | ./clutter-gst-video-sink.c:138: error: expected ')' before 'GLUNIFORM1IPROC' | ./clutter-gst-video-sink.c:140: error: expected ')' before 'GLGENPROGRAMSPROC' | ./clutter-gst-video-sink.c:141: error: expected ')' before 'GLBINDPROGRAMPROC' | ./clutter-gst-video-sink.c:142: error: expected ')' before 'GLPROGRAMSTRINGPROC' | ./clutter-gst-video-sink.c:147: error: expected specifier-qualifier-list before 'GLGENPROGRAMSPROC' The code found from clutter-gst-video-sink.c:138 is typedef void (APIENTRYP GLUNIFORM1IPROC)(GLint location, GLint value); /* GL_ARB_fragment_program */ typedef void (APIENTRYP GLGENPROGRAMSPROC)(GLsizei n, GLuint *programs); typedef void (APIENTRYP GLBINDPROGRAMPROC)(GLenum target, GLuint program); typedef void (APIENTRYP GLPROGRAMSTRINGPROC)(GLenum target, GLenum format, GLsizei len, const void *string); I seems that APIENTRYP is not defined. APIENTRYP is found in <OEDir>/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/GL/gl.h the mesa OpenGL header which is not to be included here. The header of interest which is coming from libgles-omap3 in <OEDir>/tmp/sysroots/armv7a-angstrom-linux-gnueabi/usr/include/GLES2/gl2.h does not define APIENTRYP. OK these are the symthoms. What is a good solution? Creating a patch which adds APIENTRYP (and others) to GLES2/gl2.h? I am afraid that this is not the solution because the warnings make me feel that it might leed to a successful build but will the code work as expected? To me it seems that there is some configure/automake option not properly feeded - especially if you take a look on clutter-gst-video-sink.c: It seems there is code to feed shaders (do we have any on omap3?). Is possible that clutter-gst is not suitable for omap3 or did it ever build? I would be very pleased to get some suggestions on this... _______________________________________________ Openembedded-devel mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-devel
