All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5
@ 2013-10-07 19:00 Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCH 01/12] arago-dylan-config: add meta-qt5/master and dependency on meta-ruby from meta-oe Denys Dmytriyenko
                   ` (12 more replies)
  0 siblings, 13 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2013-10-07 19:00 UTC (permalink / raw)
  To: meta-arago

From: Denys Dmytriyenko <denys@ti.com>

This patchset adds Qt5 integration with easy switching between Qt4 and Qt5,
as well as updates matrix-gui-browser to be built against one or another
version of Qt. Additional apps will be updated soon to build with Qt4/Qt5 and
utilize provided classes.

It is version 2 of the patchset with one patch that set Qt5 as default dropped
completely and patches #2, 3, 6, 12 addressing comments from the first set -
they are marked with [PATCHv2] prefix.

The goal is to get the base integration of Qt5 into meta-arago/master ASAP to
enable further development and updating recipes and packagegroups to use Qt5.

Denys Dmytriyenko (11):
  matrix-gui-browser: replace ${S} with ${B} in do_install()
  icu: overlay the latest version from oe-core/master
  icu: disable LDFLAGSICUDT that prevents loading libicudata.so
  qtbase: configure and patch Qt5 qtbase for use with SGX in Arago
  qtwebkit: add WebGL on eglfs patches
  webkit-examples: enable building and packaging of examples
  qt5.bbclass: add new class similar to existing qt4e for configuring
    recipes
  qt-provider.bbclass: class to allow seamless switching between Qt4 and
    Qt5
  arago-prefs: load up Qt5 preferred versions
  matrix-gui-browser: update recipe to be Qt4 and Qt5 compatible
  arago-qt5-test-image: add test minimal image for testing Qt5 migration

 meta-arago-distro/classes/qt-provider.bbclass      |  19 ++
 meta-arago-distro/classes/qt5.bbclass              |  20 ++
 .../conf/distro/include/arago-prefs.inc            |   3 +
 .../recipes-core/images/arago-qt5-test-image.bb    |  16 ++
 .../qt5/qtbase/0001-qeglfswindow.cpp.patch         |  56 +++++
 .../qt5/qtbase/0002-qeglfswindow.cpp.patch         |  34 +++
 .../recipes-qt/qt5/qtbase_5.1.0.bbappend           |  10 +
 .../qt5/qtwebkit-examples/examples-build.patch     |   9 +
 .../qt5/qtwebkit-examples_5.1.0.bbappend           |   5 +
 .../qt5/qtwebkit/GraphicsContext3DQt.cpp.patch     |  26 ++
 .../qt5/qtwebkit/GraphicsSurfaceGL_NoX.cpp.patch   | 270 +++++++++++++++++++++
 .../qt5/qtwebkit/GraphicsSurfaceToken.h.patch      |  33 +++
 .../recipes-qt/qt5/qtwebkit/OpenGLShims.cpp.patch  |  24 ++
 .../recipes-qt/qt5/qtwebkit/Target.pri.patch       |  24 ++
 .../recipes-qt/qt5/qtwebkit/WebCore.pri.patch      |  25 ++
 .../recipes-qt/qt5/qtwebkit/features.prf.patch     |  20 ++
 .../qt5/qtwebkit/qttestbrowser.cpp.patch           |  24 ++
 .../recipes-qt/qt5/qtwebkit_5.1.0.bbappend         |  14 ++
 .../icu/icu-51.2/disable-ldflagsicudt.patch        |  12 +
 .../icu/icu-51.2/icu-pkgdata-large-cmd.patch       |  29 +++
 meta-arago-distro/recipes-support/icu/icu.inc      |  55 +++++
 meta-arago-distro/recipes-support/icu/icu_51.2.bb  |  14 ++
 .../matrix-gui-browser/qt5-gui-widgets-move.patch  |  12 +
 .../matrix/matrix-gui-browser/qt5-webkit.patch     |  12 +
 .../recipes-core/matrix/matrix-gui-browser_2.0.bb  |  14 +-
 26 files changed, 777 insertions(+), 7 deletions(-)
 create mode 100644 meta-arago-distro/classes/qt-provider.bbclass
 create mode 100644 meta-arago-distro/classes/qt5.bbclass
 create mode 100644 meta-arago-distro/recipes-core/images/arago-qt5-test-image.bb
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtbase/0001-qeglfswindow.cpp.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtbase/0002-qeglfswindow.cpp.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtbase_5.1.0.bbappend
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit-examples/examples-build.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit-examples_5.1.0.bbappend
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsContext3DQt.cpp.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsSurfaceGL_NoX.cpp.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsSurfaceToken.h.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/OpenGLShims.cpp.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/Target.pri.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/WebCore.pri.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/features.prf.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/qttestbrowser.cpp.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit_5.1.0.bbappend
 create mode 100644 meta-arago-distro/recipes-support/icu/icu-51.2/disable-ldflagsicudt.patch
 create mode 100644 meta-arago-distro/recipes-support/icu/icu-51.2/icu-pkgdata-large-cmd.patch
 create mode 100644 meta-arago-distro/recipes-support/icu/icu.inc
 create mode 100644 meta-arago-distro/recipes-support/icu/icu_51.2.bb
 create mode 100644 meta-arago-extras/recipes-core/matrix/matrix-gui-browser/qt5-gui-widgets-move.patch
 create mode 100644 meta-arago-extras/recipes-core/matrix/matrix-gui-browser/qt5-webkit.patch

-- 
1.8.3.2



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 01/12] arago-dylan-config: add meta-qt5/master and dependency on meta-ruby from meta-oe
  2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
@ 2013-10-07 19:00 ` Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCHv2 02/12] matrix-gui-browser: replace ${S} with ${B} in do_install() Denys Dmytriyenko
                   ` (11 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2013-10-07 19:00 UTC (permalink / raw)
  To: meta-arago

From: Denys Dmytriyenko <denys@ti.com>

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
---
 configs/arago-dylan-config.txt | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/configs/arago-dylan-config.txt b/configs/arago-dylan-config.txt
index 59055bd..f5fb666 100644
--- a/configs/arago-dylan-config.txt
+++ b/configs/arago-dylan-config.txt
@@ -3,7 +3,8 @@
 
 bitbake,git://git.openembedded.org/bitbake,master,bbb4fa427739912ff3b87379bf629066f6662458,layers=
 meta-arago,git://arago-project.org/git/meta-arago.git,master,HEAD,layers=meta-arago-distro:meta-arago-extras
-meta-openembedded,git://git.openembedded.org/meta-openembedded,dylan,HEAD,layers=toolchain-layer:meta-networking:meta-oe
+meta-qt5,git://github.com/meta-qt5/meta-qt5.git,master,HEAD,layers=
+meta-openembedded,git://git.openembedded.org/meta-openembedded,dylan,HEAD,layers=toolchain-layer:meta-networking:meta-ruby:meta-oe
 meta-ti,git://arago-project.org/git/meta-ti.git,dylan,HEAD,layers=
 meta-linaro,git://git.linaro.org/openembedded/meta-linaro.git,dylan,HEAD,layers=meta-linaro-toolchain
 oe-core,git://git.openembedded.org/openembedded-core,dylan,HEAD,layers=meta
-- 
1.8.3.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCHv2 02/12] matrix-gui-browser: replace ${S} with ${B} in do_install()
  2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCH 01/12] arago-dylan-config: add meta-qt5/master and dependency on meta-ruby from meta-oe Denys Dmytriyenko
@ 2013-10-07 19:00 ` Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCHv2 03/12] icu: overlay the latest version from oe-core/master Denys Dmytriyenko
                   ` (10 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2013-10-07 19:00 UTC (permalink / raw)
  To: meta-arago

From: Denys Dmytriyenko <denys@ti.com>

Replace ${S}ource with ${B}uild directory when installing the binary.
Normally B == S when the build output is in the same directory where sources
are, but it's better to use B for when build output is in a different location.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
---
v2 - typo in the description fixed

 meta-arago-extras/recipes-core/matrix/matrix-gui-browser_2.0.bb | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/meta-arago-extras/recipes-core/matrix/matrix-gui-browser_2.0.bb b/meta-arago-extras/recipes-core/matrix/matrix-gui-browser_2.0.bb
index ecb97c2..0e508a0 100644
--- a/meta-arago-extras/recipes-core/matrix/matrix-gui-browser_2.0.bb
+++ b/meta-arago-extras/recipes-core/matrix/matrix-gui-browser_2.0.bb
@@ -7,7 +7,7 @@ SECTION = "multimedia"
 # Make sure that QT font libraries have been installed
 RDEPENDS_${PN} += "qt4-embedded-fonts"
 
-PR = "r1"
+PR = "r2"
 
 SRCREV = "db2e6b10e5a14358b6120a4a28de2f9d591bc55c"
 BRANCH ?= "master"
@@ -20,5 +20,5 @@ inherit qt4e
 
 do_install() {
 	install -d ${D}/${bindir}
-	install -m 0755 ${S}/matrix_browser ${D}/${bindir}
+	install -m 0755 ${B}/matrix_browser ${D}/${bindir}
 }
-- 
1.8.3.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCHv2 03/12] icu: overlay the latest version from oe-core/master
  2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCH 01/12] arago-dylan-config: add meta-qt5/master and dependency on meta-ruby from meta-oe Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCHv2 02/12] matrix-gui-browser: replace ${S} with ${B} in do_install() Denys Dmytriyenko
@ 2013-10-07 19:00 ` Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCH 04/12] icu: disable LDFLAGSICUDT that prevents loading libicudata.so Denys Dmytriyenko
                   ` (9 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2013-10-07 19:00 UTC (permalink / raw)
  To: meta-arago

From: Denys Dmytriyenko <denys@ti.com>

The latest version from oe-core/master is overlayed due to existing fixes and
in order to apply additional fix for LDFLAGSICUDT on ARM. Can be removed once
migrated to Dora code base.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
---
v2 - provide description with reasons for overlaying

 .../icu/icu-51.2/icu-pkgdata-large-cmd.patch       | 29 ++++++++++++
 meta-arago-distro/recipes-support/icu/icu.inc      | 55 ++++++++++++++++++++++
 meta-arago-distro/recipes-support/icu/icu_51.2.bb  | 13 +++++
 3 files changed, 97 insertions(+)
 create mode 100644 meta-arago-distro/recipes-support/icu/icu-51.2/icu-pkgdata-large-cmd.patch
 create mode 100644 meta-arago-distro/recipes-support/icu/icu.inc
 create mode 100644 meta-arago-distro/recipes-support/icu/icu_51.2.bb

diff --git a/meta-arago-distro/recipes-support/icu/icu-51.2/icu-pkgdata-large-cmd.patch b/meta-arago-distro/recipes-support/icu/icu-51.2/icu-pkgdata-large-cmd.patch
new file mode 100644
index 0000000..6e40659
--- /dev/null
+++ b/meta-arago-distro/recipes-support/icu/icu-51.2/icu-pkgdata-large-cmd.patch
@@ -0,0 +1,29 @@
+pkgdata.cpp: use LARGE_BUFFER_MAX_SIZE for cmd
+
+Use LARGE_BUFFER_MAX_SIZE for cmd rather than SMALL_BUFFER_MAX_SIZE,
+otherwise there was a Segmentation fault error when the command line is
+long, this should be a misplay since other cmd uses
+LARGE_BUFFER_MAX_SIZE.
+
+Upstream-Status: Pending
+
+Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
+---
+ tools/pkgdata/pkgdata.cpp |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tools/pkgdata/pkgdata.cpp b/tools/pkgdata/pkgdata.cpp
+--- a/tools/pkgdata/pkgdata.cpp
++++ b/tools/pkgdata/pkgdata.cpp
+@@ -1019,7 +1019,7 @@ normal_symlink_mode:
+ 
+ static int32_t pkg_installLibrary(const char *installDir, const char *targetDir, UBool noVersion) {
+     int32_t result = 0;
+-    char cmd[SMALL_BUFFER_MAX_SIZE];
++    char cmd[LARGE_BUFFER_MAX_SIZE];
+ 
+     sprintf(cmd, "cd %s && %s %s %s%s%s",
+             targetDir,
+-- 
+1.7.10.4
+
diff --git a/meta-arago-distro/recipes-support/icu/icu.inc b/meta-arago-distro/recipes-support/icu/icu.inc
new file mode 100644
index 0000000..e3944cd
--- /dev/null
+++ b/meta-arago-distro/recipes-support/icu/icu.inc
@@ -0,0 +1,55 @@
+SUMMARY = "International Component for Unicode libraries"
+DESCRIPTION = "The International Component for Unicode (ICU) is a mature, portable set of C/C++ and Java libraries for Unicode support, software internationalization (I18N) and globalization (G11N), giving applications the same results on all platforms."
+HOMEPAGE = "http://site.icu-project.org/"
+
+LICENSE = "ICU"
+DEPENDS = "icu-native"
+DEPENDS_class-native = ""
+
+S = "${WORKDIR}/icu/source"
+STAGING_ICU_DIR_NATIVE = "${STAGING_DATADIR_NATIVE}/${BPN}/${PV}"
+
+PARALLEL_MAKE = ""
+CPPFLAGS_append_libc-uclibc = " -DU_TIMEZONE=0"
+
+inherit autotools pkgconfig binconfig
+
+# ICU needs the native build directory as an argument to its --with-cross-build option when
+# cross-compiling. Taken the situation that different builds may share a common sstate-cache
+# into consideration, the native build directory needs to be staged.
+EXTRA_OECONF = "--with-cross-build=${STAGING_ICU_DIR_NATIVE}"
+EXTRA_OECONF_class-native = ""
+
+# ICU puts custom m4 autoconf functions in aclocal.m4.
+# However, this file is deleted in our build system. 
+# To make it work, we copy aclocal.m4 to acinclude.m4.
+# This is a bug of ICU. See bug reference:
+# http://bugs.icu-project.org/trac/ticket/9790
+do_configure_prepend() {
+    [ -f ${S}/acinclude.m4 ] || cp ${S}/aclocal.m4 ${S}/acinclude.m4
+}
+
+do_install_append_class-native() {
+	mkdir -p ${D}/${STAGING_ICU_DIR_NATIVE}/config
+	cp -r ${B}/config/icucross.mk ${D}/${STAGING_ICU_DIR_NATIVE}/config
+        cp -r ${B}/config/icucross.inc ${D}/${STAGING_ICU_DIR_NATIVE}/config
+	cp -r ${B}/lib ${D}/${STAGING_ICU_DIR_NATIVE}
+	cp -r ${B}/bin ${D}/${STAGING_ICU_DIR_NATIVE}
+	cp -r ${B}/tools ${D}/${STAGING_ICU_DIR_NATIVE}
+
+}
+
+PACKAGES =+ "libicudata libicuuc libicui18n libicule libiculx libicutu libicuio"
+
+FILES_${PN}-dev += "${libdir}/${BPN}/"
+
+FILES_libicudata = "${libdir}/libicudata.so.*"
+FILES_libicuuc = "${libdir}/libicuuc.so.*"
+FILES_libicui18n = "${libdir}/libicui18n.so.*"
+FILES_libicule = "${libdir}/libicule.so.*"
+FILES_libiculx = "${libdir}/libiculx.so.*"
+FILES_libicutu = "${libdir}/libicutu.so.*"
+FILES_libicuio = "${libdir}/libicuio.so.*"
+
+BBCLASSEXTEND = "native"
+
diff --git a/meta-arago-distro/recipes-support/icu/icu_51.2.bb b/meta-arago-distro/recipes-support/icu/icu_51.2.bb
new file mode 100644
index 0000000..1278d22
--- /dev/null
+++ b/meta-arago-distro/recipes-support/icu/icu_51.2.bb
@@ -0,0 +1,13 @@
+require icu.inc
+
+LIC_FILES_CHKSUM = "file://../license.html;md5=443a74288a72fad9069a74e7637192c1"
+
+PR = "r0"
+
+BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-51_2-src.tgz"
+SRC_URI = "${BASE_SRC_URI} \
+           file://icu-pkgdata-large-cmd.patch \
+          "
+
+SRC_URI[md5sum] = "072e501b87065f3a0ca888f1b5165709"
+SRC_URI[sha256sum] = "deb027a05f1b3bec03298b96fb93b28c84e9683c22e6f94effa67fdc7bd704cc"
-- 
1.8.3.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 04/12] icu: disable LDFLAGSICUDT that prevents loading libicudata.so
  2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
                   ` (2 preceding siblings ...)
  2013-10-07 19:00 ` [PATCHv2 03/12] icu: overlay the latest version from oe-core/master Denys Dmytriyenko
@ 2013-10-07 19:00 ` Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCH 05/12] qtbase: configure and patch Qt5 qtbase for use with SGX in Arago Denys Dmytriyenko
                   ` (8 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2013-10-07 19:00 UTC (permalink / raw)
  To: meta-arago

From: Denys Dmytriyenko <denys@ti.com>

It seems there is a problem loading libicudata.so library (on ARM?) when it's
built with default -nodefaultlibs and -nostdlib LDFLAGS, disable them.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Franklin S. Cooper Jr <fcooper@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
---
 .../recipes-support/icu/icu-51.2/disable-ldflagsicudt.patch  | 12 ++++++++++++
 meta-arago-distro/recipes-support/icu/icu_51.2.bb            |  3 ++-
 2 files changed, 14 insertions(+), 1 deletion(-)
 create mode 100644 meta-arago-distro/recipes-support/icu/icu-51.2/disable-ldflagsicudt.patch

diff --git a/meta-arago-distro/recipes-support/icu/icu-51.2/disable-ldflagsicudt.patch b/meta-arago-distro/recipes-support/icu/icu-51.2/disable-ldflagsicudt.patch
new file mode 100644
index 0000000..b26d388
--- /dev/null
+++ b/meta-arago-distro/recipes-support/icu/icu-51.2/disable-ldflagsicudt.patch
@@ -0,0 +1,12 @@
+diff -uNr icu-orig/config/mh-linux icu/config/mh-linux
+--- icu-orig/config/mh-linux	2013-05-23 16:02:40.000000000 -0400
++++ icu/config/mh-linux	2013-09-30 00:19:13.772269345 -0400
+@@ -21,7 +21,7 @@
+ LD_RPATH_PRE = -Wl,-rpath,
+ 
+ ## These are the library specific LDFLAGS
+-LDFLAGSICUDT=-nodefaultlibs -nostdlib
++#LDFLAGSICUDT=-nodefaultlibs -nostdlib
+ 
+ ## Compiler switch to embed a library name
+ # The initial tab in the next line is to prevent icu-config from reading it.
diff --git a/meta-arago-distro/recipes-support/icu/icu_51.2.bb b/meta-arago-distro/recipes-support/icu/icu_51.2.bb
index 1278d22..9a6fd70 100644
--- a/meta-arago-distro/recipes-support/icu/icu_51.2.bb
+++ b/meta-arago-distro/recipes-support/icu/icu_51.2.bb
@@ -2,11 +2,12 @@ require icu.inc
 
 LIC_FILES_CHKSUM = "file://../license.html;md5=443a74288a72fad9069a74e7637192c1"
 
-PR = "r0"
+PR = "r1"
 
 BASE_SRC_URI = "http://download.icu-project.org/files/icu4c/${PV}/icu4c-51_2-src.tgz"
 SRC_URI = "${BASE_SRC_URI} \
            file://icu-pkgdata-large-cmd.patch \
+           file://disable-ldflagsicudt.patch \
           "
 
 SRC_URI[md5sum] = "072e501b87065f3a0ca888f1b5165709"
-- 
1.8.3.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 05/12] qtbase: configure and patch Qt5 qtbase for use with SGX in Arago
  2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
                   ` (3 preceding siblings ...)
  2013-10-07 19:00 ` [PATCH 04/12] icu: disable LDFLAGSICUDT that prevents loading libicudata.so Denys Dmytriyenko
@ 2013-10-07 19:00 ` Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCHv2 06/12] qtwebkit: add WebGL on eglfs patches Denys Dmytriyenko
                   ` (7 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2013-10-07 19:00 UTC (permalink / raw)
  To: meta-arago

From: Denys Dmytriyenko <denys@ti.com>

* Enable gles2/eglfs and icu features
* Add slightly modified eglfs patches from Prabu

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Franklin S. Cooper Jr <fcooper@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
---
 .../qt5/qtbase/0001-qeglfswindow.cpp.patch         | 56 ++++++++++++++++++++++
 .../qt5/qtbase/0002-qeglfswindow.cpp.patch         | 34 +++++++++++++
 .../recipes-qt/qt5/qtbase_5.1.0.bbappend           | 10 ++++
 3 files changed, 100 insertions(+)
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtbase/0001-qeglfswindow.cpp.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtbase/0002-qeglfswindow.cpp.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtbase_5.1.0.bbappend

diff --git a/meta-arago-distro/recipes-qt/qt5/qtbase/0001-qeglfswindow.cpp.patch b/meta-arago-distro/recipes-qt/qt5/qtbase/0001-qeglfswindow.cpp.patch
new file mode 100644
index 0000000..b95b98e
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtbase/0001-qeglfswindow.cpp.patch
@@ -0,0 +1,56 @@
+--- qtbase/src/plugins/platforms/eglfs/qeglfswindow.cpp.orig	2013-08-09 23:29:18.253037952 +0530
++++ qtbase/src/plugins/platforms/eglfs/qeglfswindow.cpp	2013-08-09 23:41:18.509018405 +0530
+@@ -61,23 +61,32 @@ QEglFSWindow::QEglFSWindow(QWindow *w)
+ #endif
+ }
+ 
+ QEglFSWindow::~QEglFSWindow()
+ {
+     destroy();
+ }
+ 
++static EGLSurface __singleWindowSurface;
+ void QEglFSWindow::create()
+ {
+     if (m_window)
+         return;
+ 
+     setWindowState(Qt::WindowFullScreen);
+ 
++    if(QEglFSHooks::hooks() && !QEglFSHooks::hooks()->hasCapability(QPlatformIntegration::Capability::MultipleWindows) && __singleWindowSurface)
++    {
++        m_surface = __singleWindowSurface;
++#ifdef QEGL_EXTRA_DEBUG
++    qWarning("Surface recreate request, re-using %x\n", m_surface);
++#endif
++       return;
++    }
+     if (window()->type() == Qt::Desktop) {
+         QRect rect(QPoint(), QEglFSHooks::hooks()->screenSize());
+         QPlatformWindow::setGeometry(rect);
+         QWindowSystemInterface::handleGeometryChange(window(), rect);
+         return;
+     }
+ 
+     EGLDisplay display = (static_cast<QEglFSScreen *>(window()->screen()->handle()))->display();
+@@ -104,16 +113,20 @@ void QEglFSWindow::resetSurface()
+ 
+     m_window = QEglFSHooks::hooks()->createNativeWindow(QEglFSHooks::hooks()->screenSize(), m_format);
+     m_surface = eglCreateWindowSurface(display, m_config, m_window, NULL);
+     if (m_surface == EGL_NO_SURFACE) {
+         EGLint error = eglGetError();
+         eglTerminate(display);
+         qFatal("EGL Error : Could not create the egl surface: error = 0x%x\n", error);
+     }
++    if(QEglFSHooks::hooks() && !QEglFSHooks::hooks()->hasCapability(QPlatformIntegration::Capability::MultipleWindows))
++    {
++        __singleWindowSurface = m_surface;
++    }
+ }
+ 
+ void QEglFSWindow::destroy()
+ {
+     if (m_surface) {
+         EGLDisplay display = static_cast<QEglFSScreen *>(screen())->display();
+         eglDestroySurface(display, m_surface);
+         m_surface = 0;
diff --git a/meta-arago-distro/recipes-qt/qt5/qtbase/0002-qeglfswindow.cpp.patch b/meta-arago-distro/recipes-qt/qt5/qtbase/0002-qeglfswindow.cpp.patch
new file mode 100644
index 0000000..8d17348
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtbase/0002-qeglfswindow.cpp.patch
@@ -0,0 +1,34 @@
+--- qtbase/src/plugins/platforms/eglfs/qeglfswindow.cpp.old	2013-09-09 23:09:24.433774489 +0530
++++ qtbase/src/plugins/platforms/eglfs/qeglfswindow.cpp	2013-09-09 23:12:22.105766689 +0530
+@@ -54,30 +54,30 @@ QEglFSWindow::QEglFSWindow(QWindow *w)
+     , m_surface(0)
+     , m_window(0)
+ {
+     static int serialNo = 0;
+     m_winid  = ++serialNo;
+ #ifdef QEGL_EXTRA_DEBUG
+     qWarning("QEglWindow %p: %p 0x%x\n", this, w, uint(m_winid));
+ #endif
++    setWindowState(Qt::WindowFullScreen);
+ }
+ 
+ QEglFSWindow::~QEglFSWindow()
+ {
+     destroy();
+ }
+ 
+ static EGLSurface __singleWindowSurface;
+ void QEglFSWindow::create()
+ {
+     if (m_window)
+         return;
+ 
+-    setWindowState(Qt::WindowFullScreen);
+ 
+     if(QEglFSHooks::hooks() && !QEglFSHooks::hooks()->hasCapability(QPlatformIntegration::Capability::MultipleWindows) && __singleWindowSurface)
+     {
+         m_surface = __singleWindowSurface;
+ #ifdef QEGL_EXTRA_DEBUG
+     qWarning("Surface recreate request, re-using %x\n", m_surface);
+ #endif
+        return;
diff --git a/meta-arago-distro/recipes-qt/qt5/qtbase_5.1.0.bbappend b/meta-arago-distro/recipes-qt/qt5/qtbase_5.1.0.bbappend
new file mode 100644
index 0000000..8ae7706
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtbase_5.1.0.bbappend
@@ -0,0 +1,10 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+PACKAGECONFIG_GL = "gles2 icu"
+
+SRC_URI += " \
+	file://0001-qeglfswindow.cpp.patch \
+	file://0002-qeglfswindow.cpp.patch \
+"
+
+PR_append = "-arago0"
-- 
1.8.3.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCHv2 06/12] qtwebkit: add WebGL on eglfs patches
  2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
                   ` (4 preceding siblings ...)
  2013-10-07 19:00 ` [PATCH 05/12] qtbase: configure and patch Qt5 qtbase for use with SGX in Arago Denys Dmytriyenko
@ 2013-10-07 19:00 ` Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCH 07/12] webkit-examples: enable building and packaging of examples Denys Dmytriyenko
                   ` (6 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2013-10-07 19:00 UTC (permalink / raw)
  To: meta-arago

From: Denys Dmytriyenko <denys@ti.com>

Add additional patches to enable WebGL on eglfs from Prabu. For more details:
http://qt-project.org/forums/viewthread/23323
https://bugreports.qt-project.org/browse/QTBUG-33413

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
---
v2 - provide links where these patches are discussed and submitted upstream

 .../qt5/qtwebkit/GraphicsContext3DQt.cpp.patch     |  26 ++
 .../qt5/qtwebkit/GraphicsSurfaceGL_NoX.cpp.patch   | 270 +++++++++++++++++++++
 .../qt5/qtwebkit/GraphicsSurfaceToken.h.patch      |  33 +++
 .../recipes-qt/qt5/qtwebkit/OpenGLShims.cpp.patch  |  24 ++
 .../recipes-qt/qt5/qtwebkit/Target.pri.patch       |  24 ++
 .../recipes-qt/qt5/qtwebkit/WebCore.pri.patch      |  25 ++
 .../recipes-qt/qt5/qtwebkit/features.prf.patch     |  20 ++
 .../qt5/qtwebkit/qttestbrowser.cpp.patch           |  24 ++
 .../recipes-qt/qt5/qtwebkit_5.1.0.bbappend         |  14 ++
 9 files changed, 460 insertions(+)
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsContext3DQt.cpp.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsSurfaceGL_NoX.cpp.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsSurfaceToken.h.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/OpenGLShims.cpp.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/Target.pri.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/WebCore.pri.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/features.prf.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit/qttestbrowser.cpp.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit_5.1.0.bbappend

diff --git a/meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsContext3DQt.cpp.patch b/meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsContext3DQt.cpp.patch
new file mode 100644
index 0000000..aa752bb
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsContext3DQt.cpp.patch
@@ -0,0 +1,26 @@
+--- qtwebkit/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp.orig	2013-09-07 13:41:19.946858466 +0530
++++ qtwebkit/Source/WebCore/platform/graphics/qt/GraphicsContext3DQt.cpp	2013-09-07 17:48:13.958979770 +0530
+@@ -383,21 +383,23 @@ GraphicsContext3D::GraphicsContext3D(Gra
+     , m_boundTexture0(0)
+     , m_multisampleFBO(0)
+     , m_multisampleDepthStencilBuffer(0)
+     , m_multisampleColorBuffer(0)
+     , m_private(adoptPtr(new GraphicsContext3DPrivate(this, hostWindow, renderStyle)))
+ {
+     validateAttributes();
+ 
++#if USE(GLX)
+     if (!m_private->m_surface || !m_private->m_platformContext) {
+         LOG_ERROR("GraphicsContext3D: GL context creation failed.");
+         m_private = nullptr;
+         return;
+     }
++#endif
+ 
+     static bool initialized = false;
+     static bool success = true;
+     if (!initialized) {
+         success = initializeOpenGLShims();
+         initialized = true;
+     }
+     if (!success) {
diff --git a/meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsSurfaceGL_NoX.cpp.patch b/meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsSurfaceGL_NoX.cpp.patch
new file mode 100644
index 0000000..46c93f7
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsSurfaceGL_NoX.cpp.patch
@@ -0,0 +1,270 @@
+diff -Nurp8 Source/WebCore/platform/graphics/surfaces/qt/GraphicsSurfaceGL_NoX.cpp Source/WebCore/platform/graphics/surfaces/qt_new/GraphicsSurfaceGL_NoX.cpp
+--- qtwebkit/Source/WebCore/platform/graphics/surfaces/qt/GraphicsSurfaceGL_NoX.cpp	1970-01-01 05:30:00.000000000 +0530
++++ qtwebkit/Source/WebCore/platform/graphics/surfaces/qt_new/GraphicsSurfaceGL_NoX.cpp	2013-09-07 13:43:55.186851650 +0530
+@@ -0,0 +1,266 @@
++/*
++ Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies)
++
++ This library is free software; you can redistribute it and/or
++ modify it under the terms of the GNU Library General Public
++ License as published by the Free Software Foundation; either
++ version 2 of the License, or (at your option) any later version.
++
++ This library is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
++ Library General Public License for more details.
++
++ You should have received a copy of the GNU Library General Public License
++ along with this library; see the file COPYING.LIB.  If not, write to
++ the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
++ Boston, MA 02110-1301, USA.
++ */
++
++#include "config.h"
++#include "GraphicsSurface.h"
++
++#if USE(GRAPHICS_SURFACE)
++
++#include "NotImplemented.h"
++#include "TextureMapperGL.h"
++
++#if PLATFORM(QT)
++// Qt headers must be included before gl headers.
++#include <QGuiApplication>
++#include <QOpenGLContext>
++#include <qpa/qplatformnativeinterface.h>
++#elif PLATFORM(EFL)
++#include <GL/gl.h>
++#endif
++
++ #include <GLES2/gl2.h>
++
++namespace WebCore {
++
++class OffScreenRootWindow {
++public:
++    OffScreenRootWindow()
++    {
++        ++m_refCount;
++    }
++
++    ~OffScreenRootWindow()
++    {
++        if (--m_refCount)
++            return;
++    }
++
++private:
++    static int m_refCount;
++};
++
++int OffScreenRootWindow::m_refCount = 0;
++
++
++struct GraphicsSurfacePrivate {
++    GraphicsSurfacePrivate(const PlatformGraphicsContext3D shareContext = 0)
++        : m_textureIsYInverted(false)
++        , m_hasAlpha(false)
++        , m_isReceiver(false)
++    {
++
++#if PLATFORM(QT)
++        if (shareContext) {
++#if 0
++            // This code path requires QXcbNativeInterface::nativeResourceForContext() which is not availble in Qt5 on the build bots yet.
++            QPlatformNativeInterface* nativeInterface = QGuiApplication::platformNativeInterface();
++            shareContextObject = static_cast<GLXContext>(nativeInterface->nativeResourceForContext(QByteArrayLiteral("glxcontext"), shareContext));
++            if (!shareContextObject)
++                return;
++#else
++            // This code path should be removed as soon as QXcbNativeInterface::nativeResourceForContext() can provide the GLXContext.
++            QOpenGLContext* previousContext = QOpenGLContext::currentContext();
++            QSurface* previousSurface = previousContext->surface();
++            QSurface* currentSurface = shareContext->surface();
++            shareContext->makeCurrent(currentSurface);
++
++
++            previousContext->makeCurrent(previousSurface);
++#endif
++        }
++#else
++        UNUSED_PARAM(shareContext);
++#endif
++
++
++    }
++
++    GraphicsSurfacePrivate(uint32_t winId)
++        : m_textureIsYInverted(false)
++        , m_hasAlpha(false)
++        , m_isReceiver(true)
++    { }
++
++    ~GraphicsSurfacePrivate()
++    {
++    }
++
++    uint32_t createSurface(const IntSize& size)
++    {
++        return 0;
++    }
++
++    void createPixmap(uint32_t winId)
++    {
++    }
++
++    bool textureIsYInverted()
++    {
++        return m_textureIsYInverted;
++    }
++
++    void makeCurrent()
++    {
++    }
++
++    void doneCurrent()
++    {
++    }
++
++    void swapBuffers()
++    {
++    }
++
++    void copyFromTexture(uint32_t texture, const IntRect& sourceRect)
++    {
++        makeCurrent();
++
++        swapBuffers();
++        doneCurrent();
++    }
++
++    void* display() const { return 0; }
++
++    IntSize size() const
++    {
++        return IntSize(0, 0);
++    }
++
++private:
++    OffScreenRootWindow m_offScreenWindow;
++    IntSize m_size;
++    bool m_textureIsYInverted;
++    bool m_hasAlpha;
++    bool m_isReceiver;
++};
++
++static bool resolveGLMethods()
++{
++    return true;
++}
++
++GraphicsSurfaceToken GraphicsSurface::platformExport()
++{
++    return GraphicsSurfaceToken();
++}
++
++uint32_t GraphicsSurface::platformGetTextureID()
++{
++    return 0;
++}
++
++void GraphicsSurface::platformCopyToGLTexture(uint32_t /*target*/, uint32_t /*id*/, const IntRect& /*targetRect*/, const IntPoint& /*offset*/)
++{
++    // This is not supported by NoX
++}
++
++void GraphicsSurface::platformCopyFromTexture(uint32_t texture, const IntRect& sourceRect)
++{
++    m_private->copyFromTexture(texture, sourceRect);
++}
++
++
++void GraphicsSurface::platformPaintToTextureMapper(TextureMapper* textureMapper, const FloatRect& targetRect, const TransformationMatrix& transform, float opacity, BitmapTexture* mask)
++{
++    TextureMapperGL* texMapGL = static_cast<TextureMapperGL*>(textureMapper);
++    TransformationMatrix adjustedTransform = transform;
++    adjustedTransform.multiply(TransformationMatrix::rectToRect(FloatRect(FloatPoint::zero(), m_private->size()), targetRect));
++    TextureMapperGL::Flags flags = m_private->textureIsYInverted() ? TextureMapperGL::ShouldFlipTexture : 0;
++    flags |= TextureMapperGL::SupportsBlending;
++    texMapGL->drawTexture(platformGetTextureID(), flags, m_private->size(), targetRect, adjustedTransform, opacity, mask);
++}
++
++uint32_t GraphicsSurface::platformFrontBuffer() const
++{
++    return 0;
++}
++
++uint32_t GraphicsSurface::platformSwapBuffers()
++{
++    m_private->swapBuffers();
++    return 0;
++}
++
++IntSize GraphicsSurface::platformSize() const
++{
++    return m_private->size();
++}
++
++PassRefPtr<GraphicsSurface> GraphicsSurface::platformCreate(const IntSize& size, Flags flags, const PlatformGraphicsContext3D shareContext)
++{
++    if (flags & SupportsCopyToTexture || flags & SupportsSingleBuffered)
++        return PassRefPtr<GraphicsSurface>();
++
++    RefPtr<GraphicsSurface> surface = adoptRef(new GraphicsSurface(size, flags));
++
++    surface->m_private = new GraphicsSurfacePrivate(shareContext);
++    if (!resolveGLMethods())
++        return PassRefPtr<GraphicsSurface>();
++
++    surface->m_platformSurface = surface->m_private->createSurface(size);
++
++    return surface;
++}
++
++PassRefPtr<GraphicsSurface> GraphicsSurface::platformImport(const IntSize& size, Flags flags, const GraphicsSurfaceToken& token)
++{
++    if (flags & SupportsCopyToTexture || flags & SupportsSingleBuffered)
++        return PassRefPtr<GraphicsSurface>();
++
++    RefPtr<GraphicsSurface> surface = adoptRef(new GraphicsSurface(size, flags));
++    surface->m_platformSurface = token.frontBufferHandle;
++
++    surface->m_private = new GraphicsSurfacePrivate(surface->m_platformSurface);
++    if (!resolveGLMethods())
++        return PassRefPtr<GraphicsSurface>();
++
++    return surface;
++}
++
++char* GraphicsSurface::platformLock(const IntRect&, int* /*outputStride*/, LockOptions)
++{
++    // GraphicsSurface is currently only being used for WebGL, which does not require this locking mechanism.
++    return 0;
++}
++
++void GraphicsSurface::platformUnlock()
++{
++    // GraphicsSurface is currently only being used for WebGL, which does not require this locking mechanism.
++}
++
++void GraphicsSurface::platformDestroy()
++{
++    m_private = 0;
++}
++
++#if !PLATFORM(QT)
++PassOwnPtr<GraphicsContext> GraphicsSurface::platformBeginPaint(const IntSize&, char*, int)
++{
++    notImplemented();
++    return nullptr;
++}
++
++PassRefPtr<Image> GraphicsSurface::createReadOnlyImage(const IntRect&)
++{
++    notImplemented();
++    return 0;
++}
++#endif
++}
++#endif
diff --git a/meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsSurfaceToken.h.patch b/meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsSurfaceToken.h.patch
new file mode 100644
index 0000000..722df39
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtwebkit/GraphicsSurfaceToken.h.patch
@@ -0,0 +1,33 @@
+--- qtwebkit/Source/WebCore/platform/graphics/surfaces/GraphicsSurfaceToken.h.orig	2013-09-07 13:44:47.906849335 +0530
++++ qtwebkit/Source/WebCore/platform/graphics/surfaces/GraphicsSurfaceToken.h	2013-09-07 13:46:12.554845618 +0530
+@@ -50,17 +50,30 @@ struct GraphicsSurfaceToken {
+     {
+         return frontBufferHandle != rhs.frontBufferHandle;
+     }
+ 
+     bool isValid() const
+     {
+         return frontBufferHandle;
+     }
++#elif PLATFORM(QT)
++    GraphicsSurfaceToken(uint32_t windowID = 0)
++         : frontBufferHandle(windowID)
++    { }
++
++     bool operator!=(const GraphicsSurfaceToken &rhs) const
++     {
++         return frontBufferHandle != rhs.frontBufferHandle;
++     }
+ 
++     bool isValid() const
++     {
++         return frontBufferHandle;
++     }
+ #endif
+ 
+ #if OS(DARWIN) || OS(WINDOWS)
+     GraphicsSurfaceToken(BufferHandle frontBuffer = 0, BufferHandle backBuffer = 0)
+         : frontBufferHandle(frontBuffer)
+         , backBufferHandle(backBuffer)
+     { }
+ 
diff --git a/meta-arago-distro/recipes-qt/qt5/qtwebkit/OpenGLShims.cpp.patch b/meta-arago-distro/recipes-qt/qt5/qtwebkit/OpenGLShims.cpp.patch
new file mode 100644
index 0000000..9261bed
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtwebkit/OpenGLShims.cpp.patch
@@ -0,0 +1,24 @@
+--- qtwebkit/Source/WebCore/platform/graphics/OpenGLShims.cpp.orig	2013-09-07 13:46:41.614844342 +0530
++++ qtwebkit/Source/WebCore/platform/graphics/OpenGLShims.cpp	2013-09-07 13:47:39.602841796 +0530
+@@ -35,17 +35,20 @@ OpenGLFunctionTable* openGLFunctionTable
+ {
+     static OpenGLFunctionTable table;
+     return &table;
+ }
+ 
+ #if PLATFORM(QT)
+ static void* getProcAddress(const char* procName)
+ {
+-    return reinterpret_cast<void*>(QOpenGLContext::currentContext()->getProcAddress(procName));
++    if(QOpenGLContext::currentContext())
++        return reinterpret_cast<void*>(QOpenGLContext::currentContext()->getProcAddress(procName));
++    else
++        return NULL;
+ }
+ #else
+ typedef void* (*glGetProcAddressType) (const char* procName);
+ static void* getProcAddress(const char* procName)
+ {
+     static bool initialized = false;
+     static glGetProcAddressType getProcAddressFunction = 0;
+ 
diff --git a/meta-arago-distro/recipes-qt/qt5/qtwebkit/Target.pri.patch b/meta-arago-distro/recipes-qt/qt5/qtwebkit/Target.pri.patch
new file mode 100644
index 0000000..fcd7658
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtwebkit/Target.pri.patch
@@ -0,0 +1,24 @@
+--- qtwebkit/Source/WebCore/Target.pri.orig	2013-09-07 13:48:04.030840724 +0530
++++ qtwebkit/Source/WebCore/Target.pri	2013-09-07 13:49:01.714838191 +0530
+@@ -4095,16 +4095,21 @@ use?(GRAPHICS_SURFACE) {
+         INCLUDEPATH += /System/Library/Frameworks/CoreFoundation.framework/Headers
+     }
+     win32 {
+         SOURCES += platform/graphics/surfaces/win/GraphicsSurfaceWin.cpp
+     }
+     have?(XCOMPOSITE) {
+         SOURCES += platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp
+     }
++    contains(QT_CONFIG, opengles2) {
++        SOURCES -= platform/graphics/surfaces/qt/GraphicsSurfaceGLX.cpp
++        SOURCES += platform/graphics/surfaces/qt/GraphicsSurfaceGL_NoX.cpp
++    }
++
+ }
+ 
+ build?(qttestsupport) {
+     HEADERS += platform/qt/QtTestSupport.h
+     SOURCES += platform/qt/QtTestSupport.cpp
+ }
+ 
+ ALL_IN_ONE_SOURCES += \
diff --git a/meta-arago-distro/recipes-qt/qt5/qtwebkit/WebCore.pri.patch b/meta-arago-distro/recipes-qt/qt5/qtwebkit/WebCore.pri.patch
new file mode 100644
index 0000000..050d301
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtwebkit/WebCore.pri.patch
@@ -0,0 +1,25 @@
+--- qtwebkit/Source/WebCore/WebCore.pri.orig	2013-09-08 14:18:22.315635577 +0530
++++ qtwebkit/Source/WebCore/WebCore.pri	2013-09-08 14:18:44.271634981 +0530
+@@ -213,18 +213,20 @@ use?(3D_GRAPHICS) {
+     } else {
+         contains(QT_CONFIG, opengles2): CONFIG += egl
+     }
+ }
+ 
+ use?(GRAPHICS_SURFACE) {
+     mac: LIBS += -framework IOSurface -framework CoreFoundation
+     linux-*: {
+-        LIBS += -lXcomposite -lXrender
+-        CONFIG *= x11
++        xlibAvailable() {
++            LIBS += -lXcomposite -lXrender
++            CONFIG *= x11
++	}
+     }
+ }
+ 
+ have?(sqlite3) {
+     mac {
+         LIBS += -lsqlite3
+     } else {
+         PKGCONFIG += sqlite3
diff --git a/meta-arago-distro/recipes-qt/qt5/qtwebkit/features.prf.patch b/meta-arago-distro/recipes-qt/qt5/qtwebkit/features.prf.patch
new file mode 100644
index 0000000..288f116
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtwebkit/features.prf.patch
@@ -0,0 +1,20 @@
+--- qtwebkit/Tools/qmake/mkspecs/features/features.prf.orig	2013-09-07 13:49:38.210836589 +0530
++++ qtwebkit/Tools/qmake/mkspecs/features/features.prf	2013-09-07 13:50:13.574835036 +0530
+@@ -127,16 +127,17 @@ defineTest(detectFeatures) {
+     packagesExist(libudev): WEBKIT_CONFIG += gamepad
+ 
+     # Support for Graphics Surface
+     # GraphicsSurface requires GraphicsContext3D and hence use_3d_graphics
+     use?(3d_graphics) {
+         mac: WEBKIT_CONFIG += use_graphics_surface
+         win32:contains(QT_CONFIG, opengles2): WEBKIT_CONFIG += use_graphics_surface
+         linux-*:contains(WEBKIT_CONFIG, have_glx):contains(WEBKIT_CONFIG, have_xcomposite):contains(WEBKIT_CONFIG, have_xrender): WEBKIT_CONFIG += use_graphics_surface
++        linux-*:contains(QT_CONFIG, opengles2): WEBKIT_CONFIG += use_graphics_surface
+     }
+ 
+     # Slider Touch is sensible to use when compiling WebKit2
+     enable?(touch_events): WEBKIT_CONFIG += touch_slider
+ 
+ 
+     # Minibrowser must be able to query for QtTestSupport
+     build?(qttestsupport): WEBKIT_CONFIG += have_qttestsupport
diff --git a/meta-arago-distro/recipes-qt/qt5/qtwebkit/qttestbrowser.cpp.patch b/meta-arago-distro/recipes-qt/qt5/qtwebkit/qttestbrowser.cpp.patch
new file mode 100644
index 0000000..9a57be2
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtwebkit/qttestbrowser.cpp.patch
@@ -0,0 +1,24 @@
+--- qtwebkit/Tools/QtTestBrowser/qttestbrowser.cpp.orig	2013-09-08 17:28:48.633593482 +0530
++++ qtwebkit/Tools/QtTestBrowser/qttestbrowser.cpp	2013-09-08 17:29:07.713592964 +0530
+@@ -235,19 +235,20 @@ void LauncherApplication::handleUserOpti
+     }
+ 
+     if (args.contains("-webgl")) {
+         requiresGraphicsView("-webgl");
+         windowOptions.useWebGL = true;
+     }
+ #endif
+ 
++#if 0
+     if (args.contains("-use-test-fonts"))
+         WebKit::QtTestSupport::initializeTestFonts();
+-
++#endif
+     if (args.contains("-print-loaded-urls"))
+         windowOptions.printLoadedUrls = true;
+ 
+     QString inspectorUrlArg("-inspector-url");
+     int inspectorUrlIndex = args.indexOf(inspectorUrlArg);
+     if (inspectorUrlIndex != -1)
+        windowOptions.inspectorUrl = takeOptionValue(&args, inspectorUrlIndex);
+ 
diff --git a/meta-arago-distro/recipes-qt/qt5/qtwebkit_5.1.0.bbappend b/meta-arago-distro/recipes-qt/qt5/qtwebkit_5.1.0.bbappend
new file mode 100644
index 0000000..aed6b51
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtwebkit_5.1.0.bbappend
@@ -0,0 +1,14 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += " \
+	file://features.prf.patch \
+	file://GraphicsContext3DQt.cpp.patch \
+	file://GraphicsSurfaceGL_NoX.cpp.patch \
+	file://GraphicsSurfaceToken.h.patch \
+	file://OpenGLShims.cpp.patch \
+	file://qttestbrowser.cpp.patch \
+	file://Target.pri.patch \
+	file://WebCore.pri.patch \
+"
+
+PR_append = "-arago0"
-- 
1.8.3.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 07/12] webkit-examples: enable building and packaging of examples
  2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
                   ` (5 preceding siblings ...)
  2013-10-07 19:00 ` [PATCHv2 06/12] qtwebkit: add WebGL on eglfs patches Denys Dmytriyenko
@ 2013-10-07 19:00 ` Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCH 08/12] qt5.bbclass: add new class similar to existing qt4e for configuring recipes Denys Dmytriyenko
                   ` (5 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2013-10-07 19:00 UTC (permalink / raw)
  To: meta-arago

From: Denys Dmytriyenko <denys@ti.com>

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
---
 .../recipes-qt/qt5/qtwebkit-examples/examples-build.patch        | 9 +++++++++
 .../recipes-qt/qt5/qtwebkit-examples_5.1.0.bbappend              | 5 +++++
 2 files changed, 14 insertions(+)
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit-examples/examples-build.patch
 create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit-examples_5.1.0.bbappend

diff --git a/meta-arago-distro/recipes-qt/qt5/qtwebkit-examples/examples-build.patch b/meta-arago-distro/recipes-qt/qt5/qtwebkit-examples/examples-build.patch
new file mode 100644
index 0000000..d7dc6ae
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtwebkit-examples/examples-build.patch
@@ -0,0 +1,9 @@
+diff -uNr qtwebkit-examples-opensource-src-5.1.0-orig/qtwebkit-examples.pro qtwebkit-examples-opensource-src-5.1.0/qtwebkit-examples.pro
+--- qtwebkit-examples-opensource-src-5.1.0-orig/qtwebkit-examples.pro	2013-07-02 03:10:27.000000000 -0400
++++ qtwebkit-examples-opensource-src-5.1.0/qtwebkit-examples.pro	2013-09-29 21:31:10.761137146 -0400
+@@ -2,4 +2,4 @@
+ 
+ load(qt_parts)
+ 
+-SUBDIRS += doc
++SUBDIRS += doc examples
diff --git a/meta-arago-distro/recipes-qt/qt5/qtwebkit-examples_5.1.0.bbappend b/meta-arago-distro/recipes-qt/qt5/qtwebkit-examples_5.1.0.bbappend
new file mode 100644
index 0000000..7e41331
--- /dev/null
+++ b/meta-arago-distro/recipes-qt/qt5/qtwebkit-examples_5.1.0.bbappend
@@ -0,0 +1,5 @@
+FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
+
+SRC_URI += "file://examples-build.patch"
+
+PR_append = "-arago0"
-- 
1.8.3.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 08/12] qt5.bbclass: add new class similar to existing qt4e for configuring recipes
  2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
                   ` (6 preceding siblings ...)
  2013-10-07 19:00 ` [PATCH 07/12] webkit-examples: enable building and packaging of examples Denys Dmytriyenko
@ 2013-10-07 19:00 ` Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCH 09/12] qt-provider.bbclass: class to allow seamless switching between Qt4 and Qt5 Denys Dmytriyenko
                   ` (4 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2013-10-07 19:00 UTC (permalink / raw)
  To: meta-arago

From: Denys Dmytriyenko <denys@ti.com>

The base class to set everything for recipes to build against Qt5.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Franklin S. Cooper Jr <fcooper@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
---
 meta-arago-distro/classes/qt5.bbclass | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)
 create mode 100644 meta-arago-distro/classes/qt5.bbclass

diff --git a/meta-arago-distro/classes/qt5.bbclass b/meta-arago-distro/classes/qt5.bbclass
new file mode 100644
index 0000000..8669ea4
--- /dev/null
+++ b/meta-arago-distro/classes/qt5.bbclass
@@ -0,0 +1,20 @@
+# Class to mimic the old qt4e to prep recipe for use with Qt5 libraries
+
+QT5EDEPENDS ?= "qtbase "
+DEPENDS_prepend = "${QT5EDEPENDS}"
+
+inherit qmake5
+
+# we don't want conflicts with qt4
+OE_QMAKE_PATH_HEADERS = "${OE_QMAKE_PATH_QT_HEADERS}"
+OE_QMAKE_PATH_ARCHDATA = "${OE_QMAKE_PATH_QT_ARCHDATA}"
+OE_QMAKE_PATH_DATA = "${OE_QMAKE_PATH_QT_DATA}"
+OE_QMAKE_PATH_BINS = "${OE_QMAKE_PATH_QT_BINS}"
+OE_QMAKE_PATH_TRANSLATIONS = "${OE_QMAKE_PATH_QT_TRANSLATIONS}"
+OE_QMAKE_PATH_DOCS = "${OE_QMAKE_PATH_QT_DOCS}"
+OE_QMAKE_PATH_SETTINGS = "${OE_QMAKE_PATH_QT_SETTINGS}"
+OE_QMAKE_PATH_EXAMPLES = "${OE_QMAKE_PATH_QT_EXAMPLES}"
+OE_QMAKE_PATH_TESTS = "${OE_QMAKE_PATH_QT_TESTS}"
+
+# Qt uses atomic instructions not supported in thumb mode
+ARM_INSTRUCTION_SET = "arm"
-- 
1.8.3.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 09/12] qt-provider.bbclass: class to allow seamless switching between Qt4 and Qt5
  2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
                   ` (7 preceding siblings ...)
  2013-10-07 19:00 ` [PATCH 08/12] qt5.bbclass: add new class similar to existing qt4e for configuring recipes Denys Dmytriyenko
@ 2013-10-07 19:00 ` Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCH 10/12] arago-prefs: load up Qt5 preferred versions Denys Dmytriyenko
                   ` (3 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2013-10-07 19:00 UTC (permalink / raw)
  To: meta-arago

From: Denys Dmytriyenko <denys@ti.com>

Recipes that need to compile against either Qt4 or Qt5 should inherit this class
instead of "inherit qt4e" or "inherit qt5" directly. Setting global QT_PROVIDER
to either "qt4e" or "qt5" will configure those recipes automatically.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Franklin S. Cooper Jr <fcooper@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
---
 meta-arago-distro/classes/qt-provider.bbclass | 19 +++++++++++++++++++
 1 file changed, 19 insertions(+)
 create mode 100644 meta-arago-distro/classes/qt-provider.bbclass

diff --git a/meta-arago-distro/classes/qt-provider.bbclass b/meta-arago-distro/classes/qt-provider.bbclass
new file mode 100644
index 0000000..444c76a
--- /dev/null
+++ b/meta-arago-distro/classes/qt-provider.bbclass
@@ -0,0 +1,19 @@
+# Class to handle switching between Qt4 and Qt5
+# Usage:
+# 1. Set QT_PROVIDER in distro config to either "qt4e" or "qt5"
+#    It defaults to "qt4e" when not set
+#    Hasn't been tested with "qt4x11" but should theoretically work
+# 2. Update recipes to inherit qt-provider instead of qt4e directly
+# 3. May need to use below QT_DEPENDS_* and QT_RDEPENDS_* variables
+#    instead of the actual Qt-version specific values
+
+QT_PROVIDER ?= "qt4e"
+
+inherit ${QT_PROVIDER}
+
+# Build-time dependencies
+QT_DEPENDS_BASE = "${@base_conditional('QT_PROVIDER', 'qt5', 'qtbase', 'qt4-embedded', d)}"
+QT_DEPENDS_WEBKIT = "${@base_conditional('QT_PROVIDER', 'qt5', 'qtwebkit', '', d)}"
+
+# Run-time dependencies
+QT_RDEPENDS_FONTS = "${@base_conditional('QT_PROVIDER', 'qt5', 'qtbase-fonts', 'qt4-embedded-fonts', d)}"
-- 
1.8.3.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 10/12] arago-prefs: load up Qt5 preferred versions
  2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
                   ` (8 preceding siblings ...)
  2013-10-07 19:00 ` [PATCH 09/12] qt-provider.bbclass: class to allow seamless switching between Qt4 and Qt5 Denys Dmytriyenko
@ 2013-10-07 19:00 ` Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCH 11/12] matrix-gui-browser: update recipe to be Qt4 and Qt5 compatible Denys Dmytriyenko
                   ` (2 subsequent siblings)
  12 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2013-10-07 19:00 UTC (permalink / raw)
  To: meta-arago

From: Denys Dmytriyenko <denys@ti.com>

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
---
 meta-arago-distro/conf/distro/include/arago-prefs.inc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/meta-arago-distro/conf/distro/include/arago-prefs.inc b/meta-arago-distro/conf/distro/include/arago-prefs.inc
index 1f3d9ed..24f3785 100644
--- a/meta-arago-distro/conf/distro/include/arago-prefs.inc
+++ b/meta-arago-distro/conf/distro/include/arago-prefs.inc
@@ -1,3 +1,6 @@
+# Set preferred Qt5 versions. Different namespace from Qt4, so no conflict
+include conf/distro/include/qt5-versions.inc
+
 # Use the latest version of ltp-ddt for kernel versions 3.8+
 PREFERRED_PROVIDER_ltp-ddt = "ltp-ddt"
 
-- 
1.8.3.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 11/12] matrix-gui-browser: update recipe to be Qt4 and Qt5 compatible
  2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
                   ` (9 preceding siblings ...)
  2013-10-07 19:00 ` [PATCH 10/12] arago-prefs: load up Qt5 preferred versions Denys Dmytriyenko
@ 2013-10-07 19:00 ` Denys Dmytriyenko
  2013-10-07 19:00 ` [PATCHv2 12/12] arago-qt5-test-image: add test minimal image for testing Qt5 migration Denys Dmytriyenko
  2013-10-08 14:11 ` [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Maupin, Chase
  12 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2013-10-07 19:00 UTC (permalink / raw)
  To: meta-arago

From: Denys Dmytriyenko <denys@ti.com>

Uses qt-provider class to build against either Qt4 or Qt5 depending on global
distro variable QT_PROVIDER.

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
Acked-by: Franklin S. Cooper Jr <fcooper@ti.com>
Acked-by: Chase Maupin <chase.maupin@ti.com>
---
 .../matrix/matrix-gui-browser/qt5-gui-widgets-move.patch     | 12 ++++++++++++
 .../recipes-core/matrix/matrix-gui-browser/qt5-webkit.patch  | 12 ++++++++++++
 .../recipes-core/matrix/matrix-gui-browser_2.0.bb            | 12 ++++++++----
 3 files changed, 32 insertions(+), 4 deletions(-)
 create mode 100644 meta-arago-extras/recipes-core/matrix/matrix-gui-browser/qt5-gui-widgets-move.patch
 create mode 100644 meta-arago-extras/recipes-core/matrix/matrix-gui-browser/qt5-webkit.patch

diff --git a/meta-arago-extras/recipes-core/matrix/matrix-gui-browser/qt5-gui-widgets-move.patch b/meta-arago-extras/recipes-core/matrix/matrix-gui-browser/qt5-gui-widgets-move.patch
new file mode 100644
index 0000000..82e2728
--- /dev/null
+++ b/meta-arago-extras/recipes-core/matrix/matrix-gui-browser/qt5-gui-widgets-move.patch
@@ -0,0 +1,12 @@
+diff -uNr git-orig/main.cpp git/main.cpp
+--- git-orig/main.cpp	2013-09-29 20:06:36.000000000 -0400
++++ git/main.cpp	2013-09-29 20:11:52.762449142 -0400
+@@ -36,7 +36,7 @@
+  *
+ */
+ 
+-#include <QtGui>
++#include <QtWidgets>
+ #include <QWebView>
+ #include <QGraphicsWebView>
+ #include <iostream> 
diff --git a/meta-arago-extras/recipes-core/matrix/matrix-gui-browser/qt5-webkit.patch b/meta-arago-extras/recipes-core/matrix/matrix-gui-browser/qt5-webkit.patch
new file mode 100644
index 0000000..abbbcc8
--- /dev/null
+++ b/meta-arago-extras/recipes-core/matrix/matrix-gui-browser/qt5-webkit.patch
@@ -0,0 +1,12 @@
+diff -uNr git-orig/matrix_browser.pro git/matrix_browser.pro
+--- git-orig/matrix_browser.pro	2013-09-29 18:43:16.000000000 -0400
++++ git/matrix_browser.pro	2013-09-29 19:00:24.182913775 -0400
+@@ -6,7 +6,7 @@
+ TARGET = matrix_browser
+ DEPENDPATH += .
+ INCLUDEPATH += .
+-QT       +=   webkit
++QT       +=   webkitwidgets
+ # Input
+ SOURCES += main.cpp
+ 
diff --git a/meta-arago-extras/recipes-core/matrix/matrix-gui-browser_2.0.bb b/meta-arago-extras/recipes-core/matrix/matrix-gui-browser_2.0.bb
index 0e508a0..329b65a 100644
--- a/meta-arago-extras/recipes-core/matrix/matrix-gui-browser_2.0.bb
+++ b/meta-arago-extras/recipes-core/matrix/matrix-gui-browser_2.0.bb
@@ -4,19 +4,23 @@ LICENSE = "BSD"
 LIC_FILES_CHKSUM = "file://main.cpp;beginline=9;endline=37;md5=884b90f5bf0d711fe32c4f04b5276496"
 SECTION = "multimedia"
 
+inherit qt-provider
+
 # Make sure that QT font libraries have been installed
-RDEPENDS_${PN} += "qt4-embedded-fonts"
+RDEPENDS_${PN} += "${QT_RDEPENDS_FONTS}"
+
+DEPENDS += "${QT_DEPENDS_WEBKIT}"
 
-PR = "r2"
+PR = "r3"
 
 SRCREV = "db2e6b10e5a14358b6120a4a28de2f9d591bc55c"
 BRANCH ?= "master"
 
 SRC_URI = "git://gitorious.org/matrix-gui-v2/matrix_browser.git;protocol=git;branch=${BRANCH}"
 
-S = "${WORKDIR}/git"
+SRC_URI += "${@base_conditional('QT_PROVIDER', 'qt5', 'file://qt5-webkit.patch file://qt5-gui-widgets-move.patch', '', d)}"
 
-inherit qt4e
+S = "${WORKDIR}/git"
 
 do_install() {
 	install -d ${D}/${bindir}
-- 
1.8.3.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCHv2 12/12] arago-qt5-test-image: add test minimal image for testing Qt5 migration
  2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
                   ` (10 preceding siblings ...)
  2013-10-07 19:00 ` [PATCH 11/12] matrix-gui-browser: update recipe to be Qt4 and Qt5 compatible Denys Dmytriyenko
@ 2013-10-07 19:00 ` Denys Dmytriyenko
  2013-10-08 14:11 ` [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Maupin, Chase
  12 siblings, 0 replies; 15+ messages in thread
From: Denys Dmytriyenko @ 2013-10-07 19:00 UTC (permalink / raw)
  To: meta-arago

From: Denys Dmytriyenko <denys@ti.com>

This is a temporary image for testing Qt5 integration

Signed-off-by: Denys Dmytriyenko <denys@ti.com>
---
v2 - update image name and provide comment and description

 .../recipes-core/images/arago-qt5-test-image.bb          | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)
 create mode 100644 meta-arago-distro/recipes-core/images/arago-qt5-test-image.bb

diff --git a/meta-arago-distro/recipes-core/images/arago-qt5-test-image.bb b/meta-arago-distro/recipes-core/images/arago-qt5-test-image.bb
new file mode 100644
index 0000000..cd5c054
--- /dev/null
+++ b/meta-arago-distro/recipes-core/images/arago-qt5-test-image.bb
@@ -0,0 +1,16 @@
+# Arago Qt5 test image
+# gives you an image with Qt5 for basic testing purposes.
+
+require arago-image.inc
+inherit remove-net-rules
+
+IMAGE_INSTALL += "\
+    packagegroup-arago-base \
+    packagegroup-arago-console \
+    packagegroup-arago-base-tisdk \
+    matrix-gui-browser \
+    qtwebkit-examples-examples \
+    qtbase-plugins \
+    "
+
+export IMAGE_BASENAME = "arago-qt5-test-image"
-- 
1.8.3.2



^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5
  2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
                   ` (11 preceding siblings ...)
  2013-10-07 19:00 ` [PATCHv2 12/12] arago-qt5-test-image: add test minimal image for testing Qt5 migration Denys Dmytriyenko
@ 2013-10-08 14:11 ` Maupin, Chase
  2013-10-08 15:31   ` Cooper Jr., Franklin
  12 siblings, 1 reply; 15+ messages in thread
From: Maupin, Chase @ 2013-10-08 14:11 UTC (permalink / raw)
  To: Denys Dmytriyenko, meta-arago

This series is OK with me:

Acked-by: Chase Maupin <chase.maupin@ti.com>


>-----Original Message-----
>From: meta-arago-bounces@arago-project.org [mailto:meta-arago-
>bounces@arago-project.org] On Behalf Of Denys Dmytriyenko
>Sent: Monday, October 07, 2013 2:00 PM
>To: meta-arago@arago-project.org
>Subject: [meta-arago] [PATCHv2 00/12] Add Qt5 support and update
>matrix-browser to use either Qt4 or Qt5
>
>From: Denys Dmytriyenko <denys@ti.com>
>
>This patchset adds Qt5 integration with easy switching between Qt4
>and Qt5,
>as well as updates matrix-gui-browser to be built against one or
>another
>version of Qt. Additional apps will be updated soon to build with
>Qt4/Qt5 and
>utilize provided classes.
>
>It is version 2 of the patchset with one patch that set Qt5 as
>default dropped
>completely and patches #2, 3, 6, 12 addressing comments from the
>first set -
>they are marked with [PATCHv2] prefix.
>
>The goal is to get the base integration of Qt5 into meta-
>arago/master ASAP to
>enable further development and updating recipes and packagegroups
>to use Qt5.
>
>Denys Dmytriyenko (11):
>  matrix-gui-browser: replace ${S} with ${B} in do_install()
>  icu: overlay the latest version from oe-core/master
>  icu: disable LDFLAGSICUDT that prevents loading libicudata.so
>  qtbase: configure and patch Qt5 qtbase for use with SGX in Arago
>  qtwebkit: add WebGL on eglfs patches
>  webkit-examples: enable building and packaging of examples
>  qt5.bbclass: add new class similar to existing qt4e for
>configuring
>    recipes
>  qt-provider.bbclass: class to allow seamless switching between
>Qt4 and
>    Qt5
>  arago-prefs: load up Qt5 preferred versions
>  matrix-gui-browser: update recipe to be Qt4 and Qt5 compatible
>  arago-qt5-test-image: add test minimal image for testing Qt5
>migration
>
> meta-arago-distro/classes/qt-provider.bbclass      |  19 ++
> meta-arago-distro/classes/qt5.bbclass              |  20 ++
> .../conf/distro/include/arago-prefs.inc            |   3 +
> .../recipes-core/images/arago-qt5-test-image.bb    |  16 ++
> .../qt5/qtbase/0001-qeglfswindow.cpp.patch         |  56 +++++
> .../qt5/qtbase/0002-qeglfswindow.cpp.patch         |  34 +++
> .../recipes-qt/qt5/qtbase_5.1.0.bbappend           |  10 +
> .../qt5/qtwebkit-examples/examples-build.patch     |   9 +
> .../qt5/qtwebkit-examples_5.1.0.bbappend           |   5 +
> .../qt5/qtwebkit/GraphicsContext3DQt.cpp.patch     |  26 ++
> .../qt5/qtwebkit/GraphicsSurfaceGL_NoX.cpp.patch   | 270
>+++++++++++++++++++++
> .../qt5/qtwebkit/GraphicsSurfaceToken.h.patch      |  33 +++
> .../recipes-qt/qt5/qtwebkit/OpenGLShims.cpp.patch  |  24 ++
> .../recipes-qt/qt5/qtwebkit/Target.pri.patch       |  24 ++
> .../recipes-qt/qt5/qtwebkit/WebCore.pri.patch      |  25 ++
> .../recipes-qt/qt5/qtwebkit/features.prf.patch     |  20 ++
> .../qt5/qtwebkit/qttestbrowser.cpp.patch           |  24 ++
> .../recipes-qt/qt5/qtwebkit_5.1.0.bbappend         |  14 ++
> .../icu/icu-51.2/disable-ldflagsicudt.patch        |  12 +
> .../icu/icu-51.2/icu-pkgdata-large-cmd.patch       |  29 +++
> meta-arago-distro/recipes-support/icu/icu.inc      |  55 +++++
> meta-arago-distro/recipes-support/icu/icu_51.2.bb  |  14 ++
> .../matrix-gui-browser/qt5-gui-widgets-move.patch  |  12 +
> .../matrix/matrix-gui-browser/qt5-webkit.patch     |  12 +
> .../recipes-core/matrix/matrix-gui-browser_2.0.bb  |  14 +-
> 26 files changed, 777 insertions(+), 7 deletions(-)
> create mode 100644 meta-arago-distro/classes/qt-provider.bbclass
> create mode 100644 meta-arago-distro/classes/qt5.bbclass
> create mode 100644 meta-arago-distro/recipes-core/images/arago-
>qt5-test-image.bb
> create mode 100644 meta-arago-distro/recipes-qt/qt5/qtbase/0001-
>qeglfswindow.cpp.patch
> create mode 100644 meta-arago-distro/recipes-qt/qt5/qtbase/0002-
>qeglfswindow.cpp.patch
> create mode 100644 meta-arago-distro/recipes-
>qt/qt5/qtbase_5.1.0.bbappend
> create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit-
>examples/examples-build.patch
> create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit-
>examples_5.1.0.bbappend
> create mode 100644 meta-arago-distro/recipes-
>qt/qt5/qtwebkit/GraphicsContext3DQt.cpp.patch
> create mode 100644 meta-arago-distro/recipes-
>qt/qt5/qtwebkit/GraphicsSurfaceGL_NoX.cpp.patch
> create mode 100644 meta-arago-distro/recipes-
>qt/qt5/qtwebkit/GraphicsSurfaceToken.h.patch
> create mode 100644 meta-arago-distro/recipes-
>qt/qt5/qtwebkit/OpenGLShims.cpp.patch
> create mode 100644 meta-arago-distro/recipes-
>qt/qt5/qtwebkit/Target.pri.patch
> create mode 100644 meta-arago-distro/recipes-
>qt/qt5/qtwebkit/WebCore.pri.patch
> create mode 100644 meta-arago-distro/recipes-
>qt/qt5/qtwebkit/features.prf.patch
> create mode 100644 meta-arago-distro/recipes-
>qt/qt5/qtwebkit/qttestbrowser.cpp.patch
> create mode 100644 meta-arago-distro/recipes-
>qt/qt5/qtwebkit_5.1.0.bbappend
> create mode 100644 meta-arago-distro/recipes-support/icu/icu-
>51.2/disable-ldflagsicudt.patch
> create mode 100644 meta-arago-distro/recipes-support/icu/icu-
>51.2/icu-pkgdata-large-cmd.patch
> create mode 100644 meta-arago-distro/recipes-support/icu/icu.inc
> create mode 100644 meta-arago-distro/recipes-
>support/icu/icu_51.2.bb
> create mode 100644 meta-arago-extras/recipes-core/matrix/matrix-
>gui-browser/qt5-gui-widgets-move.patch
> create mode 100644 meta-arago-extras/recipes-core/matrix/matrix-
>gui-browser/qt5-webkit.patch
>
>--
>1.8.3.2
>
>_______________________________________________
>meta-arago mailing list
>meta-arago@arago-project.org
>http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago


^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5
  2013-10-08 14:11 ` [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Maupin, Chase
@ 2013-10-08 15:31   ` Cooper Jr., Franklin
  0 siblings, 0 replies; 15+ messages in thread
From: Cooper Jr., Franklin @ 2013-10-08 15:31 UTC (permalink / raw)
  To: Maupin, Chase, Denys Dmytriyenko, meta-arago

Acked-by: Franklin Cooper Jr. <fcooper@ti.com>

> -----Original Message-----
> From: meta-arago-bounces@arago-project.org [mailto:meta-arago-
> bounces@arago-project.org] On Behalf Of Maupin, Chase
> Sent: Tuesday, October 08, 2013 9:12 AM
> To: Denys Dmytriyenko; meta-arago@arago-project.org
> Subject: Re: [meta-arago] [PATCHv2 00/12] Add Qt5 support and update
> matrix-browser to use either Qt4 or Qt5
> 
> This series is OK with me:
> 
> Acked-by: Chase Maupin <chase.maupin@ti.com>
> 
> 
> >-----Original Message-----
> >From: meta-arago-bounces@arago-project.org [mailto:meta-arago-
> >bounces@arago-project.org] On Behalf Of Denys Dmytriyenko
> >Sent: Monday, October 07, 2013 2:00 PM
> >To: meta-arago@arago-project.org
> >Subject: [meta-arago] [PATCHv2 00/12] Add Qt5 support and update
> >matrix-browser to use either Qt4 or Qt5
> >
> >From: Denys Dmytriyenko <denys@ti.com>
> >
> >This patchset adds Qt5 integration with easy switching between Qt4 and
> >Qt5, as well as updates matrix-gui-browser to be built against one or
> >another version of Qt. Additional apps will be updated soon to build
> >with
> >Qt4/Qt5 and
> >utilize provided classes.
> >
> >It is version 2 of the patchset with one patch that set Qt5 as default
> >dropped completely and patches #2, 3, 6, 12 addressing comments from
> >the first set - they are marked with [PATCHv2] prefix.
> >
> >The goal is to get the base integration of Qt5 into meta- arago/master
> >ASAP to enable further development and updating recipes and
> >packagegroups to use Qt5.
> >
> >Denys Dmytriyenko (11):
> >  matrix-gui-browser: replace ${S} with ${B} in do_install()
> >  icu: overlay the latest version from oe-core/master
> >  icu: disable LDFLAGSICUDT that prevents loading libicudata.so
> >  qtbase: configure and patch Qt5 qtbase for use with SGX in Arago
> >  qtwebkit: add WebGL on eglfs patches
> >  webkit-examples: enable building and packaging of examples
> >  qt5.bbclass: add new class similar to existing qt4e for configuring
> >    recipes
> >  qt-provider.bbclass: class to allow seamless switching between
> >Qt4 and
> >    Qt5
> >  arago-prefs: load up Qt5 preferred versions
> >  matrix-gui-browser: update recipe to be Qt4 and Qt5 compatible
> >  arago-qt5-test-image: add test minimal image for testing Qt5
> >migration
> >
> > meta-arago-distro/classes/qt-provider.bbclass      |  19 ++
> > meta-arago-distro/classes/qt5.bbclass              |  20 ++
> > .../conf/distro/include/arago-prefs.inc            |   3 +
> > .../recipes-core/images/arago-qt5-test-image.bb    |  16 ++
> > .../qt5/qtbase/0001-qeglfswindow.cpp.patch         |  56 +++++
> > .../qt5/qtbase/0002-qeglfswindow.cpp.patch         |  34 +++
> > .../recipes-qt/qt5/qtbase_5.1.0.bbappend           |  10 +
> > .../qt5/qtwebkit-examples/examples-build.patch     |   9 +
> > .../qt5/qtwebkit-examples_5.1.0.bbappend           |   5 +
> > .../qt5/qtwebkit/GraphicsContext3DQt.cpp.patch     |  26 ++
> > .../qt5/qtwebkit/GraphicsSurfaceGL_NoX.cpp.patch   | 270
> >+++++++++++++++++++++
> > .../qt5/qtwebkit/GraphicsSurfaceToken.h.patch      |  33 +++
> > .../recipes-qt/qt5/qtwebkit/OpenGLShims.cpp.patch  |  24 ++
> > .../recipes-qt/qt5/qtwebkit/Target.pri.patch       |  24 ++
> > .../recipes-qt/qt5/qtwebkit/WebCore.pri.patch      |  25 ++
> > .../recipes-qt/qt5/qtwebkit/features.prf.patch     |  20 ++
> > .../qt5/qtwebkit/qttestbrowser.cpp.patch           |  24 ++
> > .../recipes-qt/qt5/qtwebkit_5.1.0.bbappend         |  14 ++
> > .../icu/icu-51.2/disable-ldflagsicudt.patch        |  12 +
> > .../icu/icu-51.2/icu-pkgdata-large-cmd.patch       |  29 +++
> > meta-arago-distro/recipes-support/icu/icu.inc      |  55 +++++
> > meta-arago-distro/recipes-support/icu/icu_51.2.bb  |  14 ++
> >.../matrix-gui-browser/qt5-gui-widgets-move.patch  |  12 +
> > .../matrix/matrix-gui-browser/qt5-webkit.patch     |  12 +
> > .../recipes-core/matrix/matrix-gui-browser_2.0.bb  |  14 +-
> > 26 files changed, 777 insertions(+), 7 deletions(-)  create mode
> >100644 meta-arago-distro/classes/qt-provider.bbclass
> > create mode 100644 meta-arago-distro/classes/qt5.bbclass
> > create mode 100644 meta-arago-distro/recipes-core/images/arago-
> >qt5-test-image.bb
> > create mode 100644 meta-arago-distro/recipes-qt/qt5/qtbase/0001-
> >qeglfswindow.cpp.patch
> > create mode 100644 meta-arago-distro/recipes-qt/qt5/qtbase/0002-
> >qeglfswindow.cpp.patch
> > create mode 100644 meta-arago-distro/recipes-
> >qt/qt5/qtbase_5.1.0.bbappend  create mode 100644
> >meta-arago-distro/recipes-qt/qt5/qtwebkit-
> >examples/examples-build.patch
> > create mode 100644 meta-arago-distro/recipes-qt/qt5/qtwebkit-
> >examples_5.1.0.bbappend
> > create mode 100644 meta-arago-distro/recipes-
> >qt/qt5/qtwebkit/GraphicsContext3DQt.cpp.patch
> > create mode 100644 meta-arago-distro/recipes-
> >qt/qt5/qtwebkit/GraphicsSurfaceGL_NoX.cpp.patch
> > create mode 100644 meta-arago-distro/recipes-
> >qt/qt5/qtwebkit/GraphicsSurfaceToken.h.patch
> > create mode 100644 meta-arago-distro/recipes-
> >qt/qt5/qtwebkit/OpenGLShims.cpp.patch
> > create mode 100644 meta-arago-distro/recipes-
> >qt/qt5/qtwebkit/Target.pri.patch  create mode 100644
> >meta-arago-distro/recipes- qt/qt5/qtwebkit/WebCore.pri.patch  create
> >mode 100644 meta-arago-distro/recipes-
> >qt/qt5/qtwebkit/features.prf.patch
> > create mode 100644 meta-arago-distro/recipes-
> >qt/qt5/qtwebkit/qttestbrowser.cpp.patch
> > create mode 100644 meta-arago-distro/recipes-
> >qt/qt5/qtwebkit_5.1.0.bbappend  create mode 100644
> >meta-arago-distro/recipes-support/icu/icu-
> >51.2/disable-ldflagsicudt.patch
> > create mode 100644 meta-arago-distro/recipes-support/icu/icu-
> >51.2/icu-pkgdata-large-cmd.patch
> > create mode 100644 meta-arago-distro/recipes-support/icu/icu.inc
> > create mode 100644 meta-arago-distro/recipes- support/icu/icu_51.2.bb
> >create mode 100644 meta-arago-extras/recipes-core/matrix/matrix-
> >gui-browser/qt5-gui-widgets-move.patch
> > create mode 100644 meta-arago-extras/recipes-core/matrix/matrix-
> >gui-browser/qt5-webkit.patch
> >
> >--
> >1.8.3.2
> >
> >_______________________________________________
> >meta-arago mailing list
> >meta-arago@arago-project.org
> >http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago
> _______________________________________________
> meta-arago mailing list
> meta-arago@arago-project.org
> http://arago-project.org/cgi-bin/mailman/listinfo/meta-arago


^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2013-10-08 15:31 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-07 19:00 [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Denys Dmytriyenko
2013-10-07 19:00 ` [PATCH 01/12] arago-dylan-config: add meta-qt5/master and dependency on meta-ruby from meta-oe Denys Dmytriyenko
2013-10-07 19:00 ` [PATCHv2 02/12] matrix-gui-browser: replace ${S} with ${B} in do_install() Denys Dmytriyenko
2013-10-07 19:00 ` [PATCHv2 03/12] icu: overlay the latest version from oe-core/master Denys Dmytriyenko
2013-10-07 19:00 ` [PATCH 04/12] icu: disable LDFLAGSICUDT that prevents loading libicudata.so Denys Dmytriyenko
2013-10-07 19:00 ` [PATCH 05/12] qtbase: configure and patch Qt5 qtbase for use with SGX in Arago Denys Dmytriyenko
2013-10-07 19:00 ` [PATCHv2 06/12] qtwebkit: add WebGL on eglfs patches Denys Dmytriyenko
2013-10-07 19:00 ` [PATCH 07/12] webkit-examples: enable building and packaging of examples Denys Dmytriyenko
2013-10-07 19:00 ` [PATCH 08/12] qt5.bbclass: add new class similar to existing qt4e for configuring recipes Denys Dmytriyenko
2013-10-07 19:00 ` [PATCH 09/12] qt-provider.bbclass: class to allow seamless switching between Qt4 and Qt5 Denys Dmytriyenko
2013-10-07 19:00 ` [PATCH 10/12] arago-prefs: load up Qt5 preferred versions Denys Dmytriyenko
2013-10-07 19:00 ` [PATCH 11/12] matrix-gui-browser: update recipe to be Qt4 and Qt5 compatible Denys Dmytriyenko
2013-10-07 19:00 ` [PATCHv2 12/12] arago-qt5-test-image: add test minimal image for testing Qt5 migration Denys Dmytriyenko
2013-10-08 14:11 ` [PATCHv2 00/12] Add Qt5 support and update matrix-browser to use either Qt4 or Qt5 Maupin, Chase
2013-10-08 15:31   ` Cooper Jr., Franklin

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.