Skip to contentSkip to conversation

gtk+-directfb: The patches to run gtk over directfb

PATCH In review Xiaofeng Yan 4 participants 17 messages Dec 7, 2011 – Dec 8, 2011

lore
Share & tools
lore
#0 lore raw

cover gtk+-directfb: The patches to run gtk over directfb

From: Xiaofeng Yan <[email protected]>

I re-split up gtk.inc to two patches according to Saul's suggestion.

The previous description:

I got many comments about previous submitting patches to run gtk+ over directfb. thank koen to give me many suggestions. The main problem query is as follow:
Question:
Why removing x11 for running gtk over directfb? x11 doesn't infect directfb and they can co-exist in the same image. also if have x11 in image, it could be better in many respects. Answer:
Yes, it is. Both x11 and directfb can co-exist in an image. gtk can run in an image including x11. I also test gtk over directfb in an image based on x11. it can work well.

As far as I know many engineers make Directfb part of their product in embedded field. It is enough for person to finish their designing with directfb because they don't need complicated graphic and perhaps it is more important for them to save more memory. So x11 is not neccessary in these products if have directfb.

So removing x11 in an image based on directfb can meet some engineers' requirement. They can get this image without wasting too much time if they want to develop their product with Yocto. Also there is still no test program and application for directfb at current status. If have this image, directfb can be tested by directfb-example. gtk-demo based on directfb will be a good application.

More description:
x11 and directfb can't be set in DISTRO_FEATURES at the same time. They are mutually exclusive in DISTRO_FEATURES because gtk run over either x11 or directfb in current version. But if x11 is defined in DISTRO_FEATURES, then directfb can be compiled by other methods. for example, directfb can be compiled by dependence relationships or be included in a task list like task-core-sato.bb. They can co-exist in an image with above methods.

Moore:
X11 and directfb are exclusive since only one backend is enabled at a time. at 3.0 version of gtk they could co-exist by setting --enable-x11-backend and --enable-directfb-backend (Thank Phil ). So the configuration is either --with-gdktarget=x11 or --with-gdktarget=directfb at current version. I will modify configuration when gtk is updated to 3.0.

Pull URL: git://git.pokylinux.org/poky-contrib.git
Branch: xiaofeng/gtk-directfb
Browse: http://git.pokylinux.org/cgit.cgi/poky-contrib/log/?h=xiaofeng/gtk-directfb

Thanks,
Xiaofeng Yan <[email protected]>
---

Xiaofeng Yan (10):
qemu-config: Disable dbus-x11 when no x11 in DISTRO_FEATURES
gconf: Disable dbus-x11 when x11 isn't in DISTRO_FEATURES gtk.inc: ship gtk-demo to independent package
gtk.inc: add feature based on directfb
gtk: add demos to the configuation of gtk+
cairo: add directfb DISTRO_FEATURE
pango: add directfb DISTRO_FEATURE
directfb-examples: add package directfb-examples to OE-core task-core-gtk-directfb.bb: Add task list to run gtk over directfb core-image-gtk-directfb.bb: add an image for gtk over directfb

 meta/recipes-bsp/qemu-config/qemu-config.bb        |    4 +-
 meta/recipes-gnome/gnome/gconf_3.2.3.bb            |    6 +++-
 meta/recipes-gnome/gtk+/gtk+.inc                   |   20 ++++++++++++---
 meta/recipes-gnome/gtk+/gtk+_2.24.8.bb             |    6 +++-
 meta/recipes-graphics/cairo/cairo.inc              |    9 +++++-
 .../directfb/directfb-examples_1.2.0.bb            |   20 +++++++++++++++
 .../images/core-image-gtk-directfb.bb              |   21 ++++++++++++++++
 meta/recipes-graphics/pango/pango.inc              |   20 ++++++++++++---
 .../tasks/task-core-gtk-directfb.bb                |   26 ++++++++++++++++++++
 9 files changed, 116 insertions(+), 16 deletions(-)
 create mode 100644 meta/recipes-graphics/directfb/directfb-examples_1.2.0.bb
 create mode 100644 meta/recipes-graphics/images/core-image-gtk-directfb.bb
 create mode 100644 meta/recipes-graphics/tasks/task-core-gtk-directfb.bb
#1 lore raw

PATCH 1/10 qemu-config: Disable dbus-x11 when no x11 in DISTRO_FEATURES

From: Xiaofeng Yan <[email protected]>

dbus-x11 could be not needed by an image without x11.
So I modified this bb file to enable dbus-x11 when x11 is in DISTRO_FEATURES and disable \
dbus-x11 without x11 feature.

[YOCTO #1674]

---
 meta/recipes-bsp/qemu-config/qemu-config.bb |    4 ++--
 1 files changed, 2 insertions(+), 2 deletions(-)
meta/recipes-bsp/qemu-config/qemu-config.bb +2 -2
index ebf957a..62f4700 100644
@@ -5,7 +5,7 @@ LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYING.GPL;md5=751419260aa954499f7abaabaa
 
 COMPATIBLE_MACHINE = "(qemuarm|qemux86|qemumips|qemuppc)"
 
-PR = "r22"
+PR = "r23"
 
 SRC_URI = "file://distcc.sh \
            file://anjuta-remote-run \
@@ -37,7 +37,7 @@ pkg_postinst_${PN} () {
         sed -i $D${datadir}/applications/shutdown.desktop -e 's/^Exec=halt/Exec=reboot/'
 }
 
-RDEPENDS_${PN} = "distcc dbus-x11 task-core-nfs-server oprofileui-server rsync bash"
+RDEPENDS_${PN} = "distcc ${@base_contains('DISTRO_FEATURES', 'x11', 'dbus-x11', '', d)} task-core-nfs-server oprofileui-server rsync bash"
 
 inherit update-rc.d allarch
 
Signature · 1 line
1.7.0.4
#2 lore raw

PATCH 2/10 gconf: Disable dbus-x11 when x11 isn't in DISTRO_FEATURES

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

If x11 isn't in DISTRO_FEATURES, then an error information "no providers ..." will \
arise. I modified this bb file to disable "dbus-x11" when no x11 in DISTRO_FEATURES.

[YOCTO #1674]

---
 meta/recipes-gnome/gnome/gconf_3.2.3.bb |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
meta/recipes-gnome/gnome/gconf_3.2.3.bb +4 -2
index cdc7a35..9d327fc 100644
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605"
 DEPENDS = "glib-2.0 dbus dbus-glib libxml2 intltool-native polkit"
 DEPENDS_virtclass-native = "glib-2.0-native dbus-native dbus-glib-native libxml2-native intltool-native gnome-common-native"
 
-PR = "r2"
+PR = "r3"
 
 inherit gnomebase
 
@@ -37,7 +37,9 @@ do_install_append() {
 	rm ${D}${libdir}/gio/*/*.*a
 }
 
-RDEPENDS_${PN} += "dbus-x11"
+# disable dbus-x11 when x11 isn't in DISTRO_FEATURES
+RDEPENDS_${PN} += "${@base_contains('DISTRO_FEATURES', 'x11', 'dbus-x11', '', d)}"
+
 FILES_${PN} += "${libdir}/GConf/* \
 	        ${libdir}/gio/*/*.so \
 		${datadir}/polkit* \
Signature · 1 line
1.7.0.4
#3 lore raw

PATCH 3/10 gtk.inc: ship gtk-demo to independent package

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

gtk-demo can test gtk over directfb

[YOCTO #1674]

---
 meta/recipes-gnome/gtk+/gtk+.inc |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)
meta/recipes-gnome/gtk+/gtk+.inc +6 -1
index 0e5c45c..1d8f4a6 100644
@@ -15,7 +15,7 @@ DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor \
 
 inherit autotools pkgconfig
 
-PACKAGES += "libgail"
+PACKAGES += "libgail gtk-demo"
 
 FILES_${PN} = "${bindir}/gtk-update-icon-cache \
 	${bindir}/gtk-query-immodules-2.0 \
@@ -40,6 +40,11 @@ FILES_${PN}-dbg += " \
 	${libdir}/gtk-2.0/${LIBV}/engines/.debug/* \
 	${libdir}/gtk-2.0/${LIBV}/printbackends/.debug/*"
 
+FILES_gtk-demo = " \
+ ${datadir}/gtk-2.0/demo/* \
+ ${bindir}/gtk-demo \
+ "
+
 FILES_libgail = " \
 	${libdir}/gtk-2.0/modules/libgail.so \
 	${libdir}/gtk-2.0/modules/libferret.so \
Signature · 1 line
1.7.0.4
#4 lore raw

PATCH 4/10 gtk.inc: add feature based on directfb

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

gtk run over x11 at current OE-core. If gtk want to run over directfb, then \
the configuration related to x11 should be disabled and directfb should be enabled.

[YOCTO #1674]

---
 meta/recipes-gnome/gtk+/gtk+.inc |   13 ++++++++++---
 1 files changed, 10 insertions(+), 3 deletions(-)
meta/recipes-gnome/gtk+/gtk+.inc +10 -3
index 1d8f4a6..0319916 100644
@@ -9,9 +9,16 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
 LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
 
 SECTION = "libs"
-DEPENDS = "glib-2.0 pango atk jpeg libpng libxext libxcursor \
-           gtk-doc-native docbook-utils-native libxrandr libgcrypt \
-           libxdamage libxrender libxcomposite cairo gdk-pixbuf"
+
+X11DEPENDS = "virtual/libx11 libxext libxcursor libxrandr libxdamage libxrender libxcomposite"
+DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \
+ libgcrypt cairo gdk-pixbuf"
+
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+ ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
+
+PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}"
+PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb"
 
 inherit autotools pkgconfig
 
Signature · 1 line
1.7.0.4
#5 lore raw

Re: [PATCH 04/10] gtk.inc: add feature based on directfb

Op 7 dec. 2011, om 09:58 heeft Xiaofeng Yan het volgende geschreven:

Quoted 4 lines

From: Xiaofeng Yan <[email protected]>

gtk run over x11 at current OE-core. If gtk want to run over directfb, then \
the configuration related to x11 should be disabled and directfb should be enabled.

So what happens when I put both directfb and x11 in DISTRO_FEATURES?

#6 lore raw

PATCH 5/10 gtk: add demos to the configuation of gtk+

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

Add demos for checking whether gtk+ run over directfb successfully or not.

[YOCTO #1674]

---
 meta/recipes-gnome/gtk+/gtk+_2.24.8.bb |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)
meta/recipes-gnome/gtk+/gtk+_2.24.8.bb +4 -2
index fb88979..9119d16 100644
@@ -9,12 +9,14 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \
            file://run-iconcache.patch \
            file://configure-nm.patch \
            file://hardcoded_libtool.patch \
-           file://no-demos.patch \
+           ${@base_contains('DISTRO_FEATURES', 'directfb', '','${NODEMOS_SRC_URI}', d)} \
            file://cellrenderer-cairo.patch;striplevel=0 \
            file://toggle-font.diff;striplevel=0 \
            file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \
            file://doc-fixes.patch \
 	  "
+NODEMOS_SRC_URI = "file://no-demos.patch"
+
 # TO MERGE
 #           file://entry-cairo.patch;striplevel=0
 #           file://filesystem-volumes.patch
@@ -27,7 +29,7 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \
 #        file://combo-arrow-size.patch;striplevel=0
 #            file://configurefix.patch
 
-PR = "r0"
+PR = "r1"
 
 SRC_URI[md5sum] = "0413187f7e596aef00ccd1b54776ff03"
 SRC_URI[sha256sum] = "ac2325a65312922a6722a7c02a389f3f4072d79e13131485cc7b7226e2537043"
Signature · 1 line
1.7.0.4
#7 lore raw

PATCH 6/10 cairo: add directfb DISTRO_FEATURE

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

cairo run over x11 at current OE-core. If cairo want to run over directfb, then \
the configuration related to x11 should be disabled and directfb should be enabled.

[YOCTO #1674]

---
 meta/recipes-graphics/cairo/cairo.inc |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)
meta/recipes-graphics/cairo/cairo.inc +7 -2
index 876acad..411ef58 100644
@@ -11,13 +11,18 @@ BUGTRACKER = "http://bugs.freedesktop.org"
 SECTION = "libs"
 LICENSE = "MPL-1 & LGPLv2.1"
 X11DEPENDS = "virtual/libx11 libsm libxrender"
-DEPENDS = "libpng fontconfig pixman glib-2.0 ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
+DEPENDS = "libpng fontconfig pixman glib-2.0"
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+           ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
+PACKAGECONFIG[x11] = "--with-x=yes,--without-x,${X11DEPENDS}"
+PACKAGECONFIG[directfb] = "--enable-directfb=yes,,directfb"
 
 #check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points 
 require cairo-fpu.inc
 EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} ${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
 
+
 inherit autotools pkgconfig
 
 # We don't depend on binutils so we need to disable this
-export ac_cv_lib_bfd_bfd_openr=no
\ No newline at end of file
+export ac_cv_lib_bfd_bfd_openr=no
Signature · 1 line
1.7.0.4
#8 lore raw

PATCH 7/10 pango: add directfb DISTRO_FEATURE

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

pango run over x11 at current OE-core. If pango want to run over directfb, then \
the configuration related to x11 should be disabled and directfb should be enabled.

[YOCTO #1674]

---
 meta/recipes-graphics/pango/pango.inc |   20 ++++++++++++++++----
 1 files changed, 16 insertions(+), 4 deletions(-)
meta/recipes-graphics/pango/pango.inc +16 -4
index 6d94e02..4df6850 100644
@@ -10,13 +10,24 @@ SECTION = "libs"
 LICENSE = "LGPL"
 
 X11DEPENDS = "virtual/libx11 libxft"
-DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv gtk-doc-native cairo ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)}"
+DEPENDS = "glib-2.0 fontconfig freetype zlib virtual/libiconv gtk-doc-native cairo "
+
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+           ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
+PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}"
+PACKAGECONFIG[directfb] = ",,directfb"
+
 
 PACKAGES_DYNAMIC = "pango-module-*"
 
 RRECOMMENDS_${PN} = "${@base_contains('DISTRO_FEATURES', 'x11', 'pango-module-basic-x', '', d)} pango-module-basic-fc" 
 
 inherit gnome
+# Create a pango-modules package
+ALLOW_EMPTY_${BPN}-modules = "1"
+PACKAGES += "${BPN}-modules"
+RRECOMMENDS_${BPN}-modules =  "${@" ".join([p for p in d.getVar('PACKAGES', True).split() if p.find("pango-module") != -1])}"
+
 
 EXTRA_AUTORECONF = ""
 
@@ -25,17 +36,18 @@ FULL_OPTIMIZATION_arm = "-O2"
 
 EXTRA_OECONF = "--disable-glibtest \
 		--enable-explicit-deps=no \
-	        --disable-debug \
-		${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
+	        --disable-debug"
 
 LEAD_SONAME = "libpango-1.0*"
 LIBV = "1.6.0"
 
+# No "etc" in "${D}" except for "usr", So add "/etc/pango" in the following function. \
+# Because "prologue + 'pango-querymodules > /etc/pango/pango.modules'" use this 
 postinst_prologue() {
 if [ "x$D" != "x" ]; then
   exit 1
 fi
-
+	[ ! -d "/etc/pango" ] && mkdir -p /etc/pango/
 }
 
 python populate_packages_prepend () {
Signature · 1 line
1.7.0.4
#9 lore raw

Re: [PATCH 07/10] pango: add directfb DISTRO_FEATURE

meta/recipes-graphics/pango/pango.inc SECTION = "libs" · line 18

Quoted 4 lines · Xiaofeng Yan
meta/recipes-graphics/pango/pango.inc +4 -0
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+           ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
+PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}"
+PACKAGECONFIG[directfb] = ",,directfb"

Hm, really? I didn't think pango had any inbuilt support for DirectFB. Does this really accomplish anything?

Quoted 1 line

+ [ ! -d "/etc/pango" ] && mkdir -p /etc/pango/

That will fail with a read-only rootfs, and I think it will also give an error if /etc/pango already exists. It would be better to just ship this directory in the package. (Also, it should be ${sysconfdir}.)

p.

#10 lore raw

Re: [PATCH 07/10] pango: add directfb DISTRO_FEATURE

Quoted 8 lines · Phil Blundell

meta/recipes-graphics/pango/pango.inc SECTION = "libs" · line 18

Quoted 4 lines · Xiaofeng Yan
meta/recipes-graphics/pango/pango.inc +4 -0
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+           ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
+PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}"
+PACKAGECONFIG[directfb] = ",,directfb"

Hm, really? I didn't think pango had any inbuilt support for DirectFB. Does this really accomplish anything?

pango hadn't any inbuilt support for DirectFB.
PACKAGECONFIG[directfb] = ",,directfb" just express that directfb is built by dependence relationship when building an image based on directfb.

Quoted 1 line
Quoted 1 line

+ [ ! -d "/etc/pango" ]&& mkdir -p /etc/pango/

Thanks, I will fix my patches according to your suggestion.

Quoted 13 lines

That will fail with a read-only rootfs, and I think it will also give an error if /etc/pango already exists. It would be better to just ship this directory in the package. (Also, it should be ${sysconfdir}.)

p.

_______________________________________________
Openembedded-core mailing list
[email protected]
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core

#11 lore raw

Re: [PATCH 07/10] pango: add directfb DISTRO_FEATURE

Quoted 9 lines · Xiaofeng Yan
Quoted 8 lines · Phil Blundell

meta/recipes-graphics/pango/pango.inc SECTION = "libs" · line 18

Quoted 4 lines · Xiaofeng Yan
meta/recipes-graphics/pango/pango.inc +4 -0
+PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)} \
+           ${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)}"
+PACKAGECONFIG[x11] = "--with-x,--without-x,${X11DEPENDS}"
+PACKAGECONFIG[directfb] = ",,directfb"

Hm, really? I didn't think pango had any inbuilt support for DirectFB. Does this really accomplish anything?

Quoted 3 lines

pango hadn't any inbuilt support for DirectFB. PACKAGECONFIG[directfb] = ",,directfb" just express that directfb is built by dependence relationship when building an image based on directfb.

Well, right, but if pango isn't using directfb itself then it doesn't need directfb in its DEPENDS any more than, say, busybox does. DirectFB will be brought in by the dependency chains for gtk, cairo or whatever other recipes are actually using it.

p.

#12 lore raw

PATCH 8/10 directfb-examples: add package directfb-examples to OE-core

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

Add this package for checking whether directfb run rightly or not. It also is an useful tool to test directfb.

[YOCTO #1674]

---
 .../directfb/directfb-examples_1.2.0.bb            |   20 ++++++++++++++++++++
 1 files changed, 20 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-graphics/directfb/directfb-examples_1.2.0.bb
meta/recipes-graphics/directfb/directfb-examples_1.2.0.bb new file +20 -0
new file mode 100644
index 0000000..215426e
@@ -0,0 +1,20 @@
+DESCRIPTION = "The DirectFB-examples package contains a set of simple DirectFB \
+      applications that can be used to test and demonstrate various DirectFB \
+      features"
+DEPENDS = "directfb"
+SECTION = "libs"
+LICENSE = "MIT"
+PR = "r0"
+
+SRC_URI = " \
+           http://www.directfb.org/downloads/Extras/DirectFB-examples-${PV}.tar.gz \
+          "
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=ecf6fd2b19915afc4da56043926ca18f"
+
+S = "${WORKDIR}/DirectFB-examples-${PV}"
+
+inherit autotools
+
+SRC_URI[md5sum] = "ce018f681b469a1d72ffc32650304b98"
+SRC_URI[sha256sum] = "830a1bd6775d8680523596a88a72fd8e4c6a74bf886d3e169b06d234a5cf7e3e"
Signature · 1 line
1.7.0.4
#13 lore raw

PATCH 9/10 task-core-gtk-directfb.bb: Add task list to run gtk over directfb

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

Add task-core-gtk-directfb.bb to OE core for running gtk over directfb.

[YOCTO #1674]

---
 .../tasks/task-core-gtk-directfb.bb                |   26 ++++++++++++++++++++
 1 files changed, 26 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-graphics/tasks/task-core-gtk-directfb.bb
meta/recipes-graphics/tasks/task-core-gtk-directfb.bb new file +26 -0
new file mode 100644
index 0000000..239e0c1
@@ -0,0 +1,26 @@
+DESCRIPTION = "gkt+ over directfb without x11"
+PR = "r0"
+LICENSE = "MIT"
+
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+                    file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+inherit task
+
+TOUCH = ' ${@base_contains("MACHINE_FEATURES", "touchscreen", "tslib tslib-calibrate tslib-tests", "",d)}'
+
+PACKAGES += " \
+	${PN}-base \
+"
+
+RDEPENDS_${PN}-base = " \
+		directfb \
+		directfb-examples \
+		pango \
+		pango-modules \
+		fontconfig \
+		gtk+ \
+		gtk-demo \
+		dropbear \
+		${TOUCH} \
+"
Signature · 1 line
1.7.0.4
#14 lore raw

PATCH 10/10 core-image-gtk-directfb.bb: add an image for gtk over directfb

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

This file can make an image to run gtk over directfb.

[YOCTO #1674]

---
 .../images/core-image-gtk-directfb.bb              |   21 ++++++++++++++++++++
 1 files changed, 21 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-graphics/images/core-image-gtk-directfb.bb
meta/recipes-graphics/images/core-image-gtk-directfb.bb new file +21 -0
new file mode 100644
index 0000000..b0ae469
@@ -0,0 +1,21 @@
+LICENSE = "MIT"
+PR="r0"
+
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+                    file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+
+DEPENDS += "task-core-gtk-directfb"
+
+RDEPENDS_${PN} += " \
+	task-core-gtk-directfb-base \
+	"
+
+inherit core-image
+
+IMAGE_INSTALL += "\
+	${POKY_BASE_INSTALL} \
+	task-core-basic \
+	module-init-tools \
+	task-core-gtk-directfb-base \
+"
Signature · 1 line
1.7.0.4
#15 lore raw
In reply to Xiaofeng Yan
Quoted 6 lines · Xiaofeng Yan

X11 and directfb are exclusive since only one backend is enabled at a time. at 3.0 version of gtk they could co-exist by setting --enable-x11-backend and --enable-directfb-backend (Thank Phil ). So the configuration is either --with-gdktarget=x11 or --with-gdktarget=directfb at current version. I will modify configuration when gtk is updated to 3.0.

I guess the other thing to bear in mind about this is that, as of GTK 3.0 or thereabouts, the directfb backend has actually been removed. So there probably isn't too much point in planning for the future in that respect.

p.

#16 lore raw
In reply to Xiaofeng Yan

Just to summarise where we are with this patch set:

Quoted 4 lines · Xiaofeng Yan

Xiaofeng Yan (10):
qemu-config: Disable dbus-x11 when no x11 in DISTRO_FEATURES
gconf: Disable dbus-x11 when x11 isn't in DISTRO_FEATURES gtk.inc: ship gtk-demo to independent package

I pulled in the first three of these patches since they look fine.

Quoted 1 line

gtk.inc: add feature based on directfb

I think this one is ready to go in, I'm just going to wait a few hours to see if there is any further discussion.

Quoted 1 line

gtk: add demos to the configuation of gtk+

I had a question on this one.

Quoted 1 line

cairo: add directfb DISTRO_FEATURE

This is fine to go in (but why the added whitespace?)

Quoted 1 line

pango: add directfb DISTRO_FEATURE

Phil had some comments on this, I agree we don't need directfb there.

Quoted 1 line

directfb-examples: add package directfb-examples to OE-core

This is fine to go in.

Quoted 1 line

task-core-gtk-directfb.bb: Add task list to run gtk over directfb

dropbear looks out of place here

Quoted 1 line

core-image-gtk-directfb.bb: add an image for gtk over directfb

This is probably ok.

Cheers,

Richard