gtk+-directfb: The patches to run gtk over directfb
cover gtk+-directfb: The patches to run gtk over directfb
From: Xiaofeng Yan <[email protected]>
I add "/etc/pango" to FILE_${PN} in pango.inc because this directory is used by other program. Thank Phil
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 | 19 ++++++++++---- .../tasks/task-core-gtk-directfb.bb | 26 ++++++++++++++++++++ 9 files changed, 114 insertions(+), 17 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
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
@@ -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
PATCH 2/10 gconf: Disable dbus-x11 when x11 isn't in DISTRO_FEATURES
In reply to Xiaofeng YanFrom: 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
@@ -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
PATCH 3/10 gtk.inc: ship gtk-demo to independent package
In reply to Xiaofeng YanFrom: 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
@@ -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
PATCH 4/10 gtk.inc: add feature based on directfb
In reply to Xiaofeng YanFrom: 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
@@ -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
Re: [PATCH 04/10] gtk.inc: add feature based on directfb
Op 8 dec. 2011, om 10:34 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.
Since I still can't get an answer to "what happens when you enable both x11 and directfb as distro features", let me ask a different question:
Why don't you do it like we did for gtk-directfb in OE-classic? add a cairo-directfb and a gtk-directfb, done.
Quoted 40 lines
[YOCTO #1674]
Signed-off-by Xiaofeng Yan <[email protected]>---
meta/recipes-gnome/gtk+/gtk+.inc | 13 ++++++++++---1 files changed, 10 insertions(+), 3 deletions(-)meta/recipes-gnome/gtk+/gtk+.inc +0
-0@@ -9,9 +9,16 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"
LIC_FILES_CHKSUM= "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"SECTION = "libs"
meta/recipes-gnome/gtk+/gtk+.inc +10
-3-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 · 7 lines
1.7.0.4 _______________________________________________ Openembedded-core mailing list [email protected] http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
Re: [PATCH 04/10] gtk.inc: add feature based on directfb
Quoted 8 lines · Koen Kooi
Op 8 dec. 2011, om 10:34 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.Since I still can't get an answer to "what happens when you enable both x11 and directfb as distro features",
The answer to that question seems to be that you will get undefined behaviour. Both PACKAGECONFIG flags will match so you'll get the configure options for both of them, but the packageconfig mechanism doesn't appear to guarantee what the ordering will be. (You might expect that it would be the order of the entries in PACKAGECONFIG itself but, from a quick look at the code, that doesn't appear to be the case.)
So, you'll end up with both sets of things in DEPENDS and either:
--with-x=yes --with-gdktarget=x11 --with-gdktarget=directfb
or
--with-gdktarget=directfb --with-x=yes --with-gdktarget=x11
in EXTRA_OECONF but there doesn't seem to be any obvious way to predict which it'll be.
It would be nice if there was a way to declare PACKAGECONFIG options as conflicting with each other so that you'd get a diagnostic if you tried to turn both on. But there's no mechanism to support that at present and it doesn't seem like it would merit ad-hoc python hacks in the gtk+ recipe.
p.
Re: [PATCH 04/10] gtk.inc: add feature based on directfb
In reply to Koen KooiQuoted 7 lines · Koen Kooi
Op 8 dec. 2011, om 10:34 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.
Quoted 6 lines
Since I still can't get an answer to "what happens when you enable both x11 and directfb as distro features", let me ask a different question:
Why don't you do it like we did for gtk-directfb in OE-classic? add a cairo-directfb and a gtk-directfb, done.
This comes down to a policy decision I guess and I'm not sure there is a clear cut answer.
The question is whether it makes sense to have directfb and X based gtk in the same builds and package feeds or not. I can see that it might be desired and that it likely is possible.
My personal take on that is that it depends how ugly the result is and what demand there is for it. I do consider having the separate -directfb recipes to be ugly and if we only need a cairo variant that might be ok, if we need a ton of recipe forks I'd be much less keen. Doing separate recipes like that is error prone and often not done well.
So can anyone tell me for sure exactly how many recipes would need -directfb variants?
Cheers,
Richard
Re: [PATCH 04/10] gtk.inc: add feature based on directfb
Quoted 3 lines · Richard Purdie
The question is whether it makes sense to have directfb and X based gtk in the same builds and package feeds or not. I can see that it might be desired and that it likely is possible.
This is true, though there's nothing to stop a distro that particularly wants this from inventing their own stub recipes which just set PACKAGECONFIG appropriately and then require the generic version. So it's really just a question of what we want to be the default in oe-core.
Also note that, although you can parallel install multiple versions of the gtk+ runtime on the target system, if you want the build system to be deterministic then (in the absence of per-recipe sysroot construction) you need some way to decide which one gets to provide the gtk+-2.0.pc that other recipes will build against. (The different targets have different library sonames so you can't just swap them out at run time: a given binary will remain coupled to the particular Gtk variant that it was compiled against.) And if the two variants could conceivably be different versions of GTK then you also need a way to deconflict ${includedir}/gtk-2.0.
So it isn't quite as simple as just having the two recipes, there is a bit of extra policy involved as well. And of course there would be all the normal overhead in terms of parse time, memory footprint and maintenance burden associated with having more recipes.
So, in light of all the above plus the fact that everything is different with Gtk+3 anyway, my preference for supporting directfb on gtk+2 in oe-core would be to use PACKAGECONFIG and not have separate recipe files.
p.
Re: [PATCH 04/10] gtk.inc: add feature based on directfb
Quoted 22 lines · Phil Blundell
Quoted 3 lines · Richard Purdie
The question is whether it makes sense to have directfb and X based gtk in the same builds and package feeds or not. I can see that it might be desired and that it likely is possible.
This is true, though there's nothing to stop a distro that particularly wants this from inventing their own stub recipes which just set PACKAGECONFIG appropriately and then require the generic version. So it's really just a question of what we want to be the default in oe-core.
Also note that, although you can parallel install multiple versions of the gtk+ runtime on the target system, if you want the build system to be deterministic then (in the absence of per-recipe sysroot construction) you need some way to decide which one gets to provide the gtk+-2.0.pc that other recipes will build against. (The different targets have different library sonames so you can't just swap them out at run time: a given binary will remain coupled to the particular Gtk variant that it was compiled against.) And if the two variants could conceivably be different versions of GTK then you also need a way to deconflict ${includedir}/gtk-2.0.
Quoted 4 lines
So it isn't quite as simple as just having the two recipes, there is a bit of extra policy involved as well. And of course there would be all the normal overhead in terms of parse time, memory footprint and maintenance burden associated with having more recipes.
This is the key detail I was missing. I thought they just might have been a drop in replacement.
That isn't the case so this makes the choice easier, I think separate recipes don't make sense based on this.
Quoted 4 lines
So, in light of all the above plus the fact that everything is different with Gtk+3 anyway, my preference for supporting directfb on gtk+2 in oe-core would be to use PACKAGECONFIG and not have separate recipe files.
Agreed, given the above.
Cheers,
Richard
Re: [PATCH 04/10] gtk.inc: add feature based on directfb
Op 8 dec. 2011, om 22:59 heeft Richard Purdie het volgende geschreven:
Quoted 34 lines · Phil Blundell
Quoted 22 lines · Richard Purdie
Quoted 3 lines
The question is whether it makes sense to have directfb and X based gtk in the same builds and package feeds or not. I can see that it might be desired and that it likely is possible.
This is true, though there's nothing to stop a distro that particularly wants this from inventing their own stub recipes which just set PACKAGECONFIG appropriately and then require the generic version. So it's really just a question of what we want to be the default in oe-core.
Also note that, although you can parallel install multiple versions of the gtk+ runtime on the target system, if you want the build system to be deterministic then (in the absence of per-recipe sysroot construction) you need some way to decide which one gets to provide the gtk+-2.0.pc that other recipes will build against. (The different targets have different library sonames so you can't just swap them out at run time: a given binary will remain coupled to the particular Gtk variant that it was compiled against.) And if the two variants could conceivably be different versions of GTK then you also need a way to deconflict ${includedir}/gtk-2.0.
Quoted 4 lines
So it isn't quite as simple as just having the two recipes, there is a bit of extra policy involved as well. And of course there would be all the normal overhead in terms of parse time, memory footprint and maintenance burden associated with having more recipes.
This is the key detail I was missing. I thought they just might have been a drop in replacement.
That isn't the case so this makes the choice easier, I think separate recipes don't make sense based on this.
Quoted 6 lines
Quoted 4 lines
So, in light of all the above plus the fact that everything is different with Gtk+3 anyway, my preference for supporting directfb on gtk+2 in oe-core would be to use PACKAGECONFIG and not have separate recipe files.
Agreed, given the above.
So to be safe and give other directfb implementations a change, can this PACKAGECONFIG option be named 'gtk-directfb' in DISTRO_FEATURES?
Re: [PATCH 04/10] gtk.inc: add feature based on directfb
Quoted 2 lines · Koen Kooi
So to be safe and give other directfb implementations a change, can this PACKAGECONFIG option be named 'gtk-directfb' in
DISTRO_FEATURES?
I don't think I quite understand what you're saying there. Can you expand on why this would be a good thing?
p.
Re: [PATCH 04/10] gtk.inc: add feature based on directfb
Op 9 dec. 2011, om 11:08 heeft Phil Blundell het volgende geschreven:
Quoted 6 lines · Koen Kooi
Quoted 2 lines
So to be safe and give other directfb implementations a change, can this PACKAGECONFIG option be named 'gtk-directfb' in
DISTRO_FEATURES?I don't think I quite understand what you're saying there. Can you expand on why this would be a good thing?
gtk 2.x is one of the few places where directfb/x11/whatever conflict, so if I want directfb support for sane things (gtk 3.x, qt, etc) the current patch will make me jump through a ton of hoops. Unless OE-core really wants a distro to select either directfb or x11, but not both. In that case it should BBMASK out directfb if 'x11' is in distro features and vice versa.
Re: [PATCH 04/10] gtk.inc: add feature based on directfb
Quoted 3 lines · Koen Kooi
gtk 2.x is one of the few places where directfb/x11/whatever conflict, so if I want directfb support for sane things (gtk 3.x, qt, etc) the current patch will make me jump through a ton of hoops.
Well, you can set:
# support both graphical backends where possible DISTRO_FEATURES = "directfb x11"
# for gtk+ 2.x, have to pick either x11 or directfb not both PACKAGECONFIG_pn-gtk+ = "x11"
in your distro config. I don't think that one extra line really counts as a "ton of hoops", and if you aren't using gtk+ 2.0 then you can just leave it out.
p.
Re: [PATCH 04/10] gtk.inc: add feature based on directfb
In reply to Koen KooiQuoted 41 lines · Koen Kooi
Op 8 dec. 2011, om 22:59 heeft Richard Purdie het volgende geschreven:
Quoted 39 lines · Phil Blundell
Quoted 22 lines · Richard Purdie
Quoted 3 lines
The question is whether it makes sense to have directfb and X based gtk in the same builds and package feeds or not. I can see that it might be desired and that it likely is possible.
This is true, though there's nothing to stop a distro that particularly wants this from inventing their own stub recipes which just set PACKAGECONFIG appropriately and then require the generic version. So it's really just a question of what we want to be the default in oe-core.
Also note that, although you can parallel install multiple versions of the gtk+ runtime on the target system, if you want the build system to be deterministic then (in the absence of per-recipe sysroot construction) you need some way to decide which one gets to provide the gtk+-2.0.pc that other recipes will build against. (The different targets have different library sonames so you can't just swap them out at run time: a given binary will remain coupled to the particular Gtk variant that it was compiled against.) And if the two variants could conceivably be different versions of GTK then you also need a way to deconflict ${includedir}/gtk-2.0.
Quoted 4 lines
So it isn't quite as simple as just having the two recipes, there is a bit of extra policy involved as well. And of course there would be all the normal overhead in terms of parse time, memory footprint and maintenance burden associated with having more recipes.
This is the key detail I was missing. I thought they just might have been a drop in replacement.
That isn't the case so this makes the choice easier, I think separate recipes don't make sense based on this.
Quoted 4 lines
So, in light of all the above plus the fact that everything is different with Gtk+3 anyway, my preference for supporting directfb on gtk+2 in oe-core would be to use PACKAGECONFIG and not have separate recipe files.
Quoted 4 lines
Quoted 1 line
Agreed, given the above.
So to be safe and give other directfb implementations a change, can this PACKAGECONFIG option be named 'gtk-directfb' in
DISTRO_FEATURES?
I think that is reasonable.
Cheers,
Richard
PATCH 5/10 gtk: add demos to the configuation of gtk+
In reply to Xiaofeng YanFrom: 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
@@ -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
Re: [PATCH 05/10] gtk: add demos to the configuation of gtk+
Quoted 10 lines · Xiaofeng Yan
From: Xiaofeng Yan <[email protected]>
Add demos for checking whether gtk+ run over directfb successfully or not.
[YOCTO #1674]
Signed-off-by Xiaofeng Yan <[email protected]>--- meta/recipes-gnome/gtk+/gtk+_2.24.8.bb | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-)
Why can't we build the demos unconditionally? I'd like to think we could just build these everywhere and drop the patch. Does that cause some kind of problem on X?
Cheers,
Richard
Quoted 29 lines
meta/recipes-gnome/gtk+/gtk+_2.24.8.bb +4
-2@@ -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"
PATCH 6/10 cairo: add directfb DISTRO_FEATURE
In reply to Xiaofeng YanFrom: 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
@@ -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 +export ac_cv_lib_bfd_bfd_openr=no
Signature · 1 line
1.7.0.4
PATCH 7/10 pango: add directfb DISTRO_FEATURE
In reply to Xiaofeng YanFrom: 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 | 19 ++++++++++++++----- 1 files changed, 14 insertions(+), 5 deletions(-)
meta/recipes-graphics/pango/pango.inc +14 -5
@@ -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,8 +36,7 @@ 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"
@@ -35,7 +45,6 @@ postinst_prologue() { if [ "x$D" != "x" ]; then exit 1 fi - } python populate_packages_prepend () {
@@ -46,6 +55,6 @@ python populate_packages_prepend () { do_split_packages(d, modules_root, '^pango-(.*)\.so$', 'pango-module-%s', 'Pango module %s', prologue + 'pango-querymodules > /etc/pango/pango.modules') } -FILES_${PN} = "/etc ${bindir}/* ${libdir}/libpango*${SOLIBS}" +FILES_${PN} = "/etc/pango/* ${bindir}/* ${libdir}/libpango*${SOLIBS}" FILES_${PN}-dbg += "${libdir}/pango/${LIBV}/modules/.debug" FILES_${PN}-dev += "${libdir}/pango/${LIBV}/modules/*.la"
Signature · 1 line
1.7.0.4
PATCH 8/10 directfb-examples: add package directfb-examples to OE-core
In reply to Xiaofeng YanFrom: 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
@@ -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
PATCH 9/10 task-core-gtk-directfb.bb: Add task list to run gtk over directfb
In reply to Xiaofeng YanFrom: 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
@@ -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
Re: [PATCH 09/10] task-core-gtk-directfb.bb: Add task list to run gtk over directfb
meta/recipes-graphics/tasks/task-core-gtk-directfb.bb line 26
Quoted 11 lines · Xiaofeng Yan
meta/recipes-graphics/tasks/task-core-gtk-directfb.bb new file +11
-0+RDEPENDS_${PN}-base = " \ + directfb \ + directfb-examples \ + pango \ + pango-modules \ + fontconfig \ + gtk+ \ + gtk-demo \ + dropbear \ + ${TOUCH} \ +"
That looks like it's going to fail in the presence of library renaming. And do you really want dropbear in there?
p.
PATCH 10/10 core-image-gtk-directfb.bb: add an image for gtk over directfb
In reply to Xiaofeng YanFrom: 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
@@ -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
Re: [PATCH 10/10] core-image-gtk-directfb.bb: add an image for gtk over directfb
Hi,
2011/12/8 Xiaofeng Yan <[email protected]>:
[snip]
Quoted 2 lines
+IMAGE_INSTALL += "\
+ ${POKY_BASE_INSTALL} \
I'm just curious, is this a legitimate OE-Core variable?
Signature · 2 lines
Regards Samuel
POKY_BASE_INSTALL was Re: [PATCH 10/10] core-image-gtk-directfb.bb: add an image for gtk over directfb
Quoted 10 lines · Samuel Stirtzel
Hi,
2011/12/8 Xiaofeng Yan<[email protected]>:
[snip]meta/recipes-graphics/images/core-image-gtk-directfb.bb line 17
Quoted 2 lines
meta/recipes-graphics/images/core-image-gtk-directfb.bb new file +2
-0+IMAGE_INSTALL += "\ + ${POKY_BASE_INSTALL} \I'm just curious, is this a legitimate OE-Core variable?
Yes it is, I ran into this yesterday and did some investigation.
POKY_BASE_INSTALL = '\
task-core-boot \
task-base-extended \
\
${@base_contains("IMAGE_FEATURES", "package-management", "",
"${ROOTFS_PKGMANAGE_BOOTSTRAP}",d)} \
\
${POKY_EXTRA_INSTALL} \
'This is defined in core-image.bbclass.
I thought when we made the transition to oe-core that we had caught all of these names, but apparently we missed some.
This is simply a cosmetic bug, it is unintended.
--Mark