Skip to contentSkip to conversation

gtk+ over directfb: Fix bug 1674

PATCH In review Xiaofeng Yan 4 participants 15 messages Nov 8, 2011

lore
Share & tools
lore
#0 lore raw

cover gtk+ over directfb: Fix bug 1674

From: Xiaofeng Yan <[email protected]>

Image "gtk+ over directfb" without x11 depends on gtk+ and directfb. Someone can develop software based on directfb or gtk+ without x11 in their project. So I added and modified some recipes for getting this image.

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 (7):
qemu-config.bb: Fix bug 1674
gtk+: Fix bug 1674
cairo: Fix bug 1674
directfb-examples: Fix bug 1674
core-image-gtk-directfb-sdk: Fix bug 1674
core-image-gtk-directfb: Fix bug 1674
pango: Fix bug 1674

 meta/recipes-bsp/qemu-config/qemu-config.bb        |    4 +-
 meta/recipes-gnome/gtk+/gtk+.inc                   |   18 ++++++++++---
 meta/recipes-gnome/gtk+/gtk+_2.24.6.bb             |   17 ++++++++---
 meta/recipes-graphics/cairo/cairo.inc              |    9 +++++-
 .../directfb/directfb-examples_1.2.0.bb            |   18 ++++++++++++
 .../images/core-image-gtk-directfb-sdk.bb          |   23 ++++++++++++++++
 .../images/core-image-gtk-directfb.bb              |   21 +++++++++++++++
 meta/recipes-graphics/pango/pango.inc              |   16 ++++++++---
 meta/recipes-graphics/tasks/task-gtk-directfb.bb   |   28 ++++++++++++++++++++
 9 files changed, 136 insertions(+), 18 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-sdk.bb
 create mode 100644 meta/recipes-graphics/images/core-image-gtk-directfb.bb
 create mode 100644 meta/recipes-graphics/tasks/task-gtk-directfb.bb
#1 lore raw

PATCH 1/7 qemu-config.bb: Fix bug 1674

From: Xiaofeng Yan <[email protected]>

[YOCTO #1674]
qemu-config.bb: An image without x11 doesn't need dbus-x11
"gtk over directfb" don't depend on x11, so remove x11 here when compiling gtk+-directfb.

---
 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..deaf3a5 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/7 gtk+: Fix bug 1674

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

[YOCTO #1674]
Image "gtk+ over directfb" doesn't need "x11".
So I add "directfb" on configuration and gtk-demo to image for check \
whether image based on gtk+-directfb work successfully.

---
 meta/recipes-gnome/gtk+/gtk+.inc       |   18 ++++++++++++++----
 meta/recipes-gnome/gtk+/gtk+_2.24.6.bb |   17 ++++++++++++-----
 2 files changed, 26 insertions(+), 9 deletions(-)
meta/recipes-gnome/gtk+/gtk+.inc +14 -4
index 0e5c45c..6ec5906 100644
@@ -9,13 +9,18 @@ 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"
+DIRECTFBDEPENDS = "directfb"
+
+DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \
+           libgcrypt cairo gdk-pixbuf \
+           ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} \
+           ${@base_contains('DISTRO_FEATURES', 'directfb', '${DIRECTFBDEPENDS}', '', d)}"
+
 
 inherit autotools pkgconfig
 
-PACKAGES += "libgail"
+PACKAGES += "libgail gtk+-demo"
 
 FILES_${PN} = "${bindir}/gtk-update-icon-cache \
 	${bindir}/gtk-query-immodules-2.0 \
@@ -40,6 +45,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 \
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +12 -5
index 01f4a11..5a9dc5e 100644
@@ -8,7 +8,6 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \
            file://xsettings.patch \
            file://run-iconcache.patch \
            file://hardcoded_libtool.patch \
-           file://no-demos.patch \
            file://cellrenderer-cairo.patch;striplevel=0 \
            file://toggle-font.diff;striplevel=0 \
            file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \
@@ -25,13 +24,21 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \
 #           file://menu-deactivate.patch
 #        file://combo-arrow-size.patch;striplevel=0
 #            file://configurefix.patch
+#           file://no-demos.patch 
 
-PR = "r1"
+PR = "r2"
 
-SRC_URI[md5sum] = "421100f6597e613234f8dead6091a9fe"
-SRC_URI[sha256sum] = "6f45bdbf9ea27eb3b5f977d7ee2365dede0d0ce454985680c26e5210163bbf37"
+SRC_URI[md5sum] = "4e977cb6a4530e9d4fe54d6ba70831c4"
+SRC_URI[sha256sum] = "9aade52339dca563780bca5c83b0fb02284393221bda4f55cb9ec7eae1661a1d"
+
+CONF_directfb=" --with-x=no --with-gdktarget=directfb"
+CONF_xorg=" --with-x=yes --with-gdktarget=x11"
+
+EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'directfb', \
+ '${CONF_directfb}', '${CONF_xorg}', d)} \
+ --without-libtiff --without-libjasper --enable-xkb \
+ --disable-glibtest --disable-cups --disable-xinerama"
 
-EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups --disable-xinerama"
 
 LIBV = "2.10.0"
 
Signature · 1 line
1.7.0.4
#3 lore raw

Re: [PATCH 2/7] gtk+: Fix bug 1674

Please mention what you fixed in the first line, e.g.

gtk+: add directfb DISTRO_FEATURE

instead of

gtk+: Fix bug 1674

Op 8 nov. 2011, om 12:15 heeft Xiaofeng Yan het volgende geschreven:

Quoted 98 lines

From: Xiaofeng Yan <[email protected]>

[YOCTO #1674]
Image "gtk+ over directfb" doesn't need "x11".
So I add "directfb" on configuration and gtk-demo to image for check \
whether image based on gtk+-directfb work successfully.

---

meta/recipes-gnome/gtk+/gtk+.inc       |   18 ++++++++++++++----
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb |   17 ++++++++++++-----
2 files changed, 26 insertions(+), 9 deletions(-)
meta/recipes-gnome/gtk+/gtk+.inc +0 -0
index 0e5c45c..6ec5906 100644
@@ -9,13 +9,18 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"

LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"

SECTION = "libs"

meta/recipes-gnome/gtk+/gtk+.inc +8 -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"
+DIRECTFBDEPENDS = "directfb"
+
+DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \
+           libgcrypt cairo gdk-pixbuf \
+           ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} \
+           ${@base_contains('DISTRO_FEATURES', 'directfb', '${DIRECTFBDEPENDS}', '', d)}"
+

inherit autotools pkgconfig

meta/recipes-gnome/gtk+/gtk+.inc +1 -1
-PACKAGES += "libgail"
+PACKAGES += "libgail gtk+-demo"
FILES_${PN} = "${bindir}/gtk-update-icon-cache \
	${bindir}/gtk-query-immodules-2.0 \
meta/recipes-gnome/gtk+/gtk+.inc +5 -0
@@ -40,6 +45,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 \
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +12 -5
index 01f4a11..5a9dc5e 100644
@@ -8,7 +8,6 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \
           file://xsettings.patch \
           file://run-iconcache.patch \
           file://hardcoded_libtool.patch \
-           file://no-demos.patch \
           file://cellrenderer-cairo.patch;striplevel=0 \
           file://toggle-font.diff;striplevel=0 \
           file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \
@@ -25,13 +24,21 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \
 #           file://menu-deactivate.patch
 #        file://combo-arrow-size.patch;striplevel=0
 #            file://configurefix.patch
+#           file://no-demos.patch 
 
-PR = "r1"
+PR = "r2"
 
-SRC_URI[md5sum] = "421100f6597e613234f8dead6091a9fe"
-SRC_URI[sha256sum] = "6f45bdbf9ea27eb3b5f977d7ee2365dede0d0ce454985680c26e5210163bbf37"
+SRC_URI[md5sum] = "4e977cb6a4530e9d4fe54d6ba70831c4"
+SRC_URI[sha256sum] = "9aade52339dca563780bca5c83b0fb02284393221bda4f55cb9ec7eae1661a1d"
+
+CONF_directfb=" --with-x=no --with-gdktarget=directfb"
+CONF_xorg=" --with-x=yes --with-gdktarget=x11"
+
+EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'directfb', \
+ '${CONF_directfb}', '${CONF_xorg}', d)} \
+ --without-libtiff --without-libjasper --enable-xkb \
+ --disable-glibtest --disable-cups --disable-xinerama"
 
-EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups --disable-xinerama"
 

LIBV = "2.10.0"

Signature · 7 lines
1.7.0.4


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

Re: [PATCH 2/7] gtk+: Fix bug 1674

In reply to Xiaofeng Yan
Quoted 77 lines · Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

[YOCTO #1674]
Image "gtk+ over directfb" doesn't need "x11".
So I add "directfb" on configuration and gtk-demo to image for check \
whether image based on gtk+-directfb work successfully.

---
 meta/recipes-gnome/gtk+/gtk+.inc       |   18 ++++++++++++++----
 meta/recipes-gnome/gtk+/gtk+_2.24.6.bb |   17 ++++++++++++-----
 2 files changed, 26 insertions(+), 9 deletions(-)
meta/recipes-gnome/gtk+/gtk+.inc +14 -4
index 0e5c45c..6ec5906 100644
@@ -9,13 +9,18 @@ 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"
+DIRECTFBDEPENDS = "directfb"
+
+DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \
+           libgcrypt cairo gdk-pixbuf \
+           ${@base_contains('DISTRO_FEATURES', 'x11', '', '', d)} \
+           ${@base_contains('DISTRO_FEATURES', 'directfb', '${DIRECTFBDEPENDS}', '', d)}"
+
 
 inherit autotools pkgconfig
 
-PACKAGES += "libgail"
+PACKAGES += "libgail gtk+-demo"
 
 FILES_${PN} = "${bindir}/gtk-update-icon-cache \
 	${bindir}/gtk-query-immodules-2.0 \
@@ -40,6 +45,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 \
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +4 -4
index 01f4a11..5a9dc5e 100644
@@ -8,7 +8,6 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \
            file://xsettings.patch \
            file://run-iconcache.patch \
            file://hardcoded_libtool.patch \
-           file://no-demos.patch \
            file://cellrenderer-cairo.patch;striplevel=0 \
            file://toggle-font.diff;striplevel=0 \
            file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \
@@ -25,13 +24,21 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \
 #           file://menu-deactivate.patch
 #        file://combo-arrow-size.patch;striplevel=0
 #            file://configurefix.patch
+#           file://no-demos.patch 
 
-PR = "r1"
+PR = "r2"
 
-SRC_URI[md5sum] = "421100f6597e613234f8dead6091a9fe"
-SRC_URI[sha256sum] = "6f45bdbf9ea27eb3b5f977d7ee2365dede0d0ce454985680c26e5210163bbf37"
+SRC_URI[md5sum] = "4e977cb6a4530e9d4fe54d6ba70831c4"
+SRC_URI[sha256sum] = "9aade52339dca563780bca5c83b0fb02284393221bda4f55cb9ec7eae1661a1d"

meta/recipes-gnome/gtk+/gtk+_2.24.6.bb SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ · line 34

Quoted 10 lines
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +8 -1
+
+CONF_directfb=" --with-x=no --with-gdktarget=directfb"
+CONF_xorg=" --with-x=yes --with-gdktarget=x11"
+
+EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'directfb', \
+ '${CONF_directfb}', '${CONF_xorg}', d)} \
+ --without-libtiff --without-libjasper --enable-xkb \
+ --disable-glibtest --disable-cups --disable-xinerama"
 
-EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups --disable-xinerama"

This is a horrible mess and its just going to get worse. We started adding PACKAGECONFIG to try and help with things like this problem. Instead of the above you should be able to do something like:

PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)} \
                   ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"

PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb" PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}"

This commit also applies to the other places you're changing config options.

Also some style issues:

a) please put a decent one line summary at the start of commits
b) mention the bug number a the end of the commit message in the for [YOCTO #1674]
c) Please mention other details the patch changes. The patch above changes the checksums (why?)

Cheers,

Richard

#5 lore raw

Re: [PATCH 2/7] gtk+: Fix bug 1674

Op 8 nov. 2011, om 14:18 heeft Richard Purdie het volgende geschreven:

Quoted 93 lines · Xiaofeng Yan
Quoted 77 lines

From: Xiaofeng Yan <[email protected]>

[YOCTO #1674]
Image "gtk+ over directfb" doesn't need "x11".
So I add "directfb" on configuration and gtk-demo to image for check \
whether image based on gtk+-directfb work successfully.

---

meta/recipes-gnome/gtk+/gtk+.inc       |   18 ++++++++++++++----
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb |   17 ++++++++++++-----
2 files changed, 26 insertions(+), 9 deletions(-)
meta/recipes-gnome/gtk+/gtk+.inc +0 -0
index 0e5c45c..6ec5906 100644
@@ -9,13 +9,18 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"

LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"

SECTION = "libs"

meta/recipes-gnome/gtk+/gtk+.inc +8 -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"
+DIRECTFBDEPENDS = "directfb"
+
+DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \
+           libgcrypt cairo gdk-pixbuf \
+           ${@base_contains('DISTRO_FEATURES', 'x11', '', '', d)} \
+           ${@base_contains('DISTRO_FEATURES', 'directfb', '${DIRECTFBDEPENDS}', '', d)}"
+

inherit autotools pkgconfig

meta/recipes-gnome/gtk+/gtk+.inc +1 -1
-PACKAGES += "libgail"
+PACKAGES += "libgail gtk+-demo"
FILES_${PN} = "${bindir}/gtk-update-icon-cache \
	${bindir}/gtk-query-immodules-2.0 \
meta/recipes-gnome/gtk+/gtk+.inc +5 -0
@@ -40,6 +45,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 \
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +4 -4
index 01f4a11..5a9dc5e 100644
@@ -8,7 +8,6 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \
           file://xsettings.patch \
           file://run-iconcache.patch \
           file://hardcoded_libtool.patch \
-           file://no-demos.patch \
           file://cellrenderer-cairo.patch;striplevel=0 \
           file://toggle-font.diff;striplevel=0 \
           file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \
@@ -25,13 +24,21 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \
 #           file://menu-deactivate.patch
 #        file://combo-arrow-size.patch;striplevel=0
 #            file://configurefix.patch
+#           file://no-demos.patch 
 
-PR = "r1"
+PR = "r2"
 
-SRC_URI[md5sum] = "421100f6597e613234f8dead6091a9fe"
-SRC_URI[sha256sum] = "6f45bdbf9ea27eb3b5f977d7ee2365dede0d0ce454985680c26e5210163bbf37"
+SRC_URI[md5sum] = "4e977cb6a4530e9d4fe54d6ba70831c4"
+SRC_URI[sha256sum] = "9aade52339dca563780bca5c83b0fb02284393221bda4f55cb9ec7eae1661a1d"

meta/recipes-gnome/gtk+/gtk+_2.24.6.bb SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ · line 34

Quoted 10 lines
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +8 -1
+
+CONF_directfb=" --with-x=no --with-gdktarget=directfb"
+CONF_xorg=" --with-x=yes --with-gdktarget=x11"
+
+EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'directfb', \
+ '${CONF_directfb}', '${CONF_xorg}', d)} \
+ --without-libtiff --without-libjasper --enable-xkb \
+ --disable-glibtest --disable-cups --disable-xinerama"
 
-EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups --disable-xinerama"

This is a horrible mess and its just going to get worse. We started adding PACKAGECONFIG to try and help with things like this problem. Instead of the above you should be able to do something like:

Quoted 4 lines
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)} \
                  ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"

PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb" PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}"

What happens when I have both directfb and x11 in DISTRO_FEATURES?

regards,

Koen

#6 lore raw

Re: [PATCH 2/7] gtk+: Fix bug 1674

Quoted 95 lines · Koen Kooi

Op 8 nov. 2011, om 14:18 heeft Richard Purdie het volgende geschreven:

Quoted 93 lines · Xiaofeng Yan
Quoted 77 lines

From: Xiaofeng Yan <[email protected]>

[YOCTO #1674]
Image "gtk+ over directfb" doesn't need "x11".
So I add "directfb" on configuration and gtk-demo to image for check \
whether image based on gtk+-directfb work successfully.

---

meta/recipes-gnome/gtk+/gtk+.inc       |   18 ++++++++++++++----
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb |   17 ++++++++++++-----
2 files changed, 26 insertions(+), 9 deletions(-)
meta/recipes-gnome/gtk+/gtk+.inc +0 -0
index 0e5c45c..6ec5906 100644
@@ -9,13 +9,18 @@ LICENSE = "LGPLv2 & LGPLv2+ & LGPLv2.1+"

LIC_FILES_CHKSUM = "file://COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"

SECTION = "libs"

meta/recipes-gnome/gtk+/gtk+.inc +8 -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"
+DIRECTFBDEPENDS = "directfb"
+
+DEPENDS = "glib-2.0 pango atk jpeg libpng gtk-doc-native gdk-pixbuf-native docbook-utils-native \
+           libgcrypt cairo gdk-pixbuf \
+           ${@base_contains('DISTRO_FEATURES', 'x11', '', '', d)} \
+           ${@base_contains('DISTRO_FEATURES', 'directfb', '${DIRECTFBDEPENDS}', '', d)}"
+

inherit autotools pkgconfig

meta/recipes-gnome/gtk+/gtk+.inc +1 -1
-PACKAGES += "libgail"
+PACKAGES += "libgail gtk+-demo"
FILES_${PN} = "${bindir}/gtk-update-icon-cache \
	${bindir}/gtk-query-immodules-2.0 \
meta/recipes-gnome/gtk+/gtk+.inc +5 -0
@@ -40,6 +45,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 \
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +4 -4
index 01f4a11..5a9dc5e 100644
@@ -8,7 +8,6 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \
           file://xsettings.patch \
           file://run-iconcache.patch \
           file://hardcoded_libtool.patch \
-           file://no-demos.patch \
           file://cellrenderer-cairo.patch;striplevel=0 \
           file://toggle-font.diff;striplevel=0 \
           file://0001-bgo-584832-Duplicate-the-exec-string-returned-by-gtk.patch \
@@ -25,13 +24,21 @@ SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \
 #           file://menu-deactivate.patch
 #        file://combo-arrow-size.patch;striplevel=0
 #            file://configurefix.patch
+#           file://no-demos.patch 
 
-PR = "r1"
+PR = "r2"
 
-SRC_URI[md5sum] = "421100f6597e613234f8dead6091a9fe"
-SRC_URI[sha256sum] = "6f45bdbf9ea27eb3b5f977d7ee2365dede0d0ce454985680c26e5210163bbf37"
+SRC_URI[md5sum] = "4e977cb6a4530e9d4fe54d6ba70831c4"
+SRC_URI[sha256sum] = "9aade52339dca563780bca5c83b0fb02284393221bda4f55cb9ec7eae1661a1d"

meta/recipes-gnome/gtk+/gtk+_2.24.6.bb SRC_URI = "http://download.gnome.org/sources/gtk+/2.24/gtk+-${PV}.tar.bz2 \ · line 34

Quoted 10 lines
meta/recipes-gnome/gtk+/gtk+_2.24.6.bb +8 -1
+
+CONF_directfb=" --with-x=no --with-gdktarget=directfb"
+CONF_xorg=" --with-x=yes --with-gdktarget=x11"
+
+EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'directfb', \
+ '${CONF_directfb}', '${CONF_xorg}', d)} \
+ --without-libtiff --without-libjasper --enable-xkb \
+ --disable-glibtest --disable-cups --disable-xinerama"
 
-EXTRA_OECONF = "--without-libtiff --without-libjasper --enable-xkb --disable-glibtest --disable-cups --disable-xinerama"

This is a horrible mess and its just going to get worse. We started adding PACKAGECONFIG to try and help with things like this problem. Instead of the above you should be able to do something like:

Quoted 6 lines
Quoted 4 lines
PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'directfb', 'directfb', '', d)} \
                  ${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"

PACKAGECONFIG[directfb] = "--with-gdktarget=directfb,,directfb" PACKAGECONFIG[x11] = "--with-x=yes --with-gdktarget=x11,--with-x=no,${X11DEPENDS}"

What happens when I have both directfb and x11 in DISTRO_FEATURES?

That would cause problems. The grand plan is to flag incompatible options and error but don't have code for that yet...

Cheers,

Richard

#7 lore raw

PATCH 3/7 cairo: Fix bug 1674

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

[YOCTO #1674]
Image "gtk+ over directfb" doesn't need "x11".
cairo should be compiled without x11 when compiling an image based on directfb.

---
 meta/recipes-graphics/cairo/cairo.inc |    9 +++++++--
 1 files changed, 7 insertions(+), 2 deletions(-)
meta/recipes-graphics/cairo/cairo.inc +7 -2
index 876acad..d1fc48c 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)}"
+DIRECTFBDEPENDS = "directfb"
+DEPENDS = "libpng fontconfig pixman glib-2.0 ${@base_contains('DISTRO_FEATURES', 'x11', '${X11DEPENDS}', '', d)} ${@base_contains('DISTRO_FEATURES', 'directfb', '${DIRECTFBDEPENDS}', '', d)}"
 
 #check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points 
 require cairo-fpu.inc
+CONF_directfb="--with-x=no --enable-xcb=no --enable-directfb=yes"
+CONF_xorg="--with-x=yes --enable-xcb=no --enable-directfb=no"
+
 EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} ${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
+EXTRA_OECONF += " ${@base_contains('DISTRO_FEATURES', 'directfb', '${CONF_directfb}', '${CONF_xorg}', 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

Re: [PATCH 3/7] cairo: Fix bug 1674

meta/recipes-graphics/cairo/cairo.inc BUGTRACKER = "http://bugs.freedesktop.org" · line 23

Quoted 7 lines · Xiaofeng Yan

#check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points require cairo-fpu.inc

meta/recipes-graphics/cairo/cairo.inc +4 -0
+CONF_directfb="--with-x=no --enable-xcb=no --enable-directfb=yes"
+CONF_xorg="--with-x=yes --enable-xcb=no --enable-directfb=no"
+
 EXTRA_OECONF += "${@get_cairo_fpu_setting(bb, d)} ${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
+EXTRA_OECONF += " ${@base_contains('DISTRO_FEATURES', 'directfb', '${CONF_directfb}', '${CONF_xorg}', d)}"

I don't think this can be correct. That will force X11 on for anybody who isn't using DirectFB, right? I think you need to preserve the previous semantics for building without X.

p.

#9 lore raw

PATCH 4/7 directfb-examples: Fix bug 1674

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

[YOCTO #1674]

Add this package to OE-core for checking whether directfb work right or not.

---
 .../directfb/directfb-examples_1.2.0.bb            |   18 ++++++++++++++++++
 1 files changed, 18 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 +18 -0
new file mode 100644
index 0000000..08cdc8f
@@ -0,0 +1,18 @@
+DESCRIPTION = "DirectFB extra providers"
+DEPENDS = "directfb"
+SECTION = "libs"
+LICENSE = "GPL"
+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
#10 lore raw

PATCH 5/7 core-image-gtk-directfb-sdk: Fix bug 1674

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

[YOCTO #1674]
Add this recipe for developing software on image based on gtk+-direcfb easily.

---
 .../images/core-image-gtk-directfb-sdk.bb          |   23 ++++++++++++++++++++
 1 files changed, 23 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-graphics/images/core-image-gtk-directfb-sdk.bb
meta/recipes-graphics/images/core-image-gtk-directfb-sdk.bb new file +23 -0
new file mode 100644
index 0000000..17f677a
@@ -0,0 +1,23 @@
+IMAGE_FEATURES += "tools-sdk dev-pkgs"
+
+LICENSE = "MIT"
+PR="r0"
+
+LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58 \
+                    file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
+
+
+DEPENDS += "task-gtk-directfb"
+
+RDEPENDS_${PN} += " \
+	task-gtk-directfb-base \
+	"
+
+inherit core-image
+
+IMAGE_INSTALL += "\
+	${POKY_BASE_INSTALL} \
+	task-core-basic \
+	module-init-tools \
+	task-gtk-directfb-base \
+"
Signature · 1 line
1.7.0.4
#11 lore raw

PATCH 6/7 core-image-gtk-directfb: Fix bug 1674

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

[YOCTO #1674]
Two recipes can build an image based on gtk+directfb

---
 .../images/core-image-gtk-directfb.bb              |   21 +++++++++++++++
 meta/recipes-graphics/tasks/task-gtk-directfb.bb   |   28 ++++++++++++++++++++
 2 files changed, 49 insertions(+), 0 deletions(-)
 create mode 100644 meta/recipes-graphics/images/core-image-gtk-directfb.bb
 create mode 100644 meta/recipes-graphics/tasks/task-gtk-directfb.bb
meta/recipes-graphics/images/core-image-gtk-directfb.bb new file +21 -0
new file mode 100644
index 0000000..00ba5cf
@@ -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-gtk-directfb"
+
+RDEPENDS_${PN} += " \
+	task-gtk-directfb-base \
+	"
+
+inherit core-image
+
+IMAGE_INSTALL += "\
+	${POKY_BASE_INSTALL} \
+	task-core-basic \
+	module-init-tools \
+	task-gtk-directfb-base \
+"
meta/recipes-graphics/tasks/task-gtk-directfb.bb new file +28 -0
new file mode 100644
index 0000000..991b179
@@ -0,0 +1,28 @@
+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
#12 lore raw

PATCH 7/7 pango: Fix bug 1674

In reply to Xiaofeng Yan

From: Xiaofeng Yan <[email protected]>

[YOCTO #1674]
Support to compile pango based on directfb besides x11.
Add pango-modules because it is needed by gtk+-directfb.
If no pango-modules, then missing codes will appear on screen when running gtk-demo.

---
 meta/recipes-graphics/pango/pango.inc |   16 +++++++++++-----
 1 files changed, 11 insertions(+), 5 deletions(-)
meta/recipes-graphics/pango/pango.inc +11 -5
index a8e99e2..9237626 100644
@@ -18,6 +18,11 @@ RRECOMMENDS_${PN} = "${@base_contains('DISTRO_FEATURES', 'x11', 'pango-module-ba
 
 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 = ""
 
 # seems to go wrong with default cflags
@@ -26,16 +31,17 @@ FULL_OPTIMIZATION_arm = "-O2"
 EXTRA_OECONF = "--disable-glibtest \
 		--enable-explicit-deps=no \
 	        --disable-debug \
-		${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
+		${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)} \
+                ${@base_contains('DISTRO_FEATURES', 'directfb', '--with-x=no', '--with-x=yes', d)}"
 
 LEAD_SONAME = "libpango-1.0*"
 LIBV = "1.6.0"
 
 postinst_prologue() {
-if [ "x$D" != "x" ]; then
-  exit 1
-fi
-
+    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
#13 lore raw

Re: [PATCH 7/7] pango: Fix bug 1674

meta/recipes-graphics/pango/pango.inc FULL_OPTIMIZATION_arm = "-O2" · line 35

Quoted 3 lines · Xiaofeng Yan
meta/recipes-graphics/pango/pango.inc +2 -1
-		${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)}"
+		${@base_contains('DISTRO_FEATURES', 'x11', '--with-x', '--without-x', d)} \
+                ${@base_contains('DISTRO_FEATURES', 'directfb', '--with-x=no', '--with-x=yes', d)}"

That last line looks fairly wrong. If I am understanding this right then someone with neither x11 nor directfb set would get "--without-x --with-x=yes", and someone with directfb but not X would get "--without-x --with-x=no" which surely can't be what's wanted. Did you test this patchset?

Quoted 1 line

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

Why can't you just ship this folder in the package rather than creating it in the postinst? Also, this should probably be ${sysconfdir} rather than hardcoded.

p.

#14 lore raw
In reply to Xiaofeng Yan

Op 8 nov. 2011, om 12:15 heeft Xiaofeng Yan het volgende geschreven:

Quoted 14 lines

From: Xiaofeng Yan <[email protected]>

Image "gtk+ over directfb" without x11 depends on gtk+ and directfb. Someone can develop software based on directfb or gtk+ without x11 in their project. So I added and modified some recipes for getting this image.

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]>
---

Quoted 8 lines

Xiaofeng Yan (7):
qemu-config.bb: Fix bug 1674
gtk+: Fix bug 1674
cairo: Fix bug 1674
directfb-examples: Fix bug 1674
core-image-gtk-directfb-sdk: Fix bug 1674
core-image-gtk-directfb: Fix bug 1674
pango: Fix bug 1674

Please use a more descriptive summary for the commit message, people looking at 'git shortlog' would appreciate that very much.

regards,

Koen