Patchwork [1/5] qt5: bump to 5.1.1

login
register
mail settings
Submitter Fatih Aşıcı
Date Sept. 18, 2013, 6:28 a.m.
Message ID <1379485693-822-2-git-send-email-fatih.asici@gmail.com>
Download mbox | patch
Permalink /patch/275604/
State Superseded
Headers show

Comments

Fatih Aşıcı - Sept. 18, 2013, 6:28 a.m.
Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
---
 package/qt5/qt5.mk                                 |    4 +--
 package/qt5/qt5base/Config.in                      |    2 ++
 ...nce-add-egl-to-CONFIG-to-get-correct-incl.patch |   32 -------------------
 package/qt5/qt5base/qt5base-mkspecs-files.patch    |    5 +--
 ...-Add-egl-cflags-when-opengles2-is-enabled.patch |   29 +++++++++++++++++
 package/qt5/qt5base/qt5base.mk                     |   10 ++++--
 package/qt5/qt5declarative/qt5declarative.mk       |    1 +
 .../qt5/qt5jsbackend/qt5jsbackend-fix-uclibc.patch |   33 --------------------
 package/qt5/qt5quick1/qt5quick1.mk                 |    4 +--
 9 files changed, 45 insertions(+), 75 deletions(-)
 delete mode 100644 package/qt5/qt5base/qt5base-eglconvenience-add-egl-to-CONFIG-to-get-correct-incl.patch
 create mode 100644 package/qt5/qt5base/qt5base-xcb-Add-egl-cflags-when-opengles2-is-enabled.patch
 delete mode 100644 package/qt5/qt5jsbackend/qt5jsbackend-fix-uclibc.patch
Thomas Petazzoni - Sept. 18, 2013, 5:04 p.m.
Dear Fatih Aşıcı,

Nice!

However, I believe this bump is far from being trivial, and the commit
log should therefore give a lot more details about the changes being
made. A few questions below to show the kind of details that I believe
are missing.

On Wed, 18 Sep 2013 09:28:09 +0300, Fatih Aşıcı wrote:
> diff --git a/package/qt5/qt5base/qt5base-eglconvenience-add-egl-to-CONFIG-to-get-correct-incl.patch b/package/qt5/qt5base/qt5base-eglconvenience-add-egl-to-CONFIG-to-get-correct-incl.patch
> deleted file mode 100644
> index a85a5aa..0000000
> --- a/package/qt5/qt5base/qt5base-eglconvenience-add-egl-to-CONFIG-to-get-correct-incl.patch
> +++ /dev/null
> @@ -1,32 +0,0 @@
> -From 588c60d0c3d11e79d19860fa62b03c935658d13a Mon Sep 17 00:00:00 2001
> -From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> -Date: Sun, 13 Jan 2013 14:36:48 +0100
> -Subject: [PATCH qtbase] eglconvenience: add egl to CONFIG to get correct include
> - paths
> -
> -The eglconvenience code includes <EGL/egl.h>. Therefore, it should get
> -the appropriate EGL-specific include paths from QMAKE_INCDIR_EGL,
> -otherwise the build might if the EGL library has its headers in
> -special locations. In order to achieve this, we simply add the "egl"
> -feature to the list of features imported by eglconvenience.
> -
> -Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ----
> - .../eglconvenience/eglconvenience.pri              |    1 +
> - 1 file changed, 1 insertion(+)
> -
> -diff --git a/src/platformsupport/eglconvenience/eglconvenience.pri b/src/platformsupport/eglconvenience/eglconvenience.pri
> -index 188eb1c..8996cea 100644
> ---- a/src/platformsupport/eglconvenience/eglconvenience.pri
> -+++ b/src/platformsupport/eglconvenience/eglconvenience.pri
> -@@ -5,6 +5,7 @@ contains(QT_CONFIG,egl) {
> -     SOURCES += \
> -         $$PWD/qeglconvenience.cpp \
> -         $$PWD/qeglplatformcontext.cpp
> -+    CONFIG += egl
> - 
> -     contains(QT_CONFIG,xlib) {
> -         HEADERS += \
> --- 
> -1.7.9.5
> -

Why is this patch removed? Was this fixed in Qt upstream? I see you're
adding a CONFIG += egl in another patch, but only for the X.org case.

> diff --git a/package/qt5/qt5base/qt5base-mkspecs-files.patch b/package/qt5/qt5base/qt5base-mkspecs-files.patch
> index bfa9c15..e406cfc 100644
> --- a/package/qt5/qt5base/qt5base-mkspecs-files.patch
> +++ b/package/qt5/qt5base/qt5base-mkspecs-files.patch
> @@ -14,9 +14,9 @@ Index: b/mkspecs/devices/linux-buildroot-g++/qmake.conf
>  ===================================================================
>  --- /dev/null
>  +++ b/mkspecs/devices/linux-buildroot-g++/qmake.conf
> -@@ -0,0 +1,43 @@
> +@@ -0,0 +1,44 @@
>  +MAKEFILE_GENERATOR      = UNIX
> -+CONFIG                  += incremental gdb_dwarf_index
> ++CONFIG                 += incremental gdb_dwarf_index

Is this change needed? Seems like white space change only, no?

> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index ddc5574..0106c2c 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -84,13 +84,17 @@ QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),-directfb,-no-dir
>  QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),directfb)
>  
>  ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
> -QT5BASE_CONFIGURE_OPTS += -xcb
> +QT5BASE_CONFIGURE_OPTS += -xcb -system-xkbcommon
>  QT5BASE_DEPENDENCIES   += \
>  	libxcb \
>  	xcb-util-wm \
>  	xcb-util-image \
>  	xcb-util-keysyms \
> -	xlib_libX11
> +	xlib_libX11 \
> +	libxkbcommon
> +ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS),y)
> +QT5BASE_DEPENDENCIES   += xlib_libXext
> +endif
>  else
>  QT5BASE_CONFIGURE_OPTS += -no-xcb
>  endif
> @@ -172,7 +176,7 @@ define QT5BASE_CONFIGURE_CMDS
>  		-sysroot $(STAGING_DIR) \
>  		-plugindir /usr/lib/qt/plugins \
>  		-no-rpath \
> -		-nomake examples -nomake demos -nomake tests \
> +		-nomake examples -nomake tests \

No more demos to disable?

>  		-device buildroot \
>  		-no-c++11 \
>  		$(QT5BASE_CONFIGURE_OPTS) \
> diff --git a/package/qt5/qt5declarative/qt5declarative.mk b/package/qt5/qt5declarative/qt5declarative.mk
> index 603c0e7..943f33d 100644
> --- a/package/qt5/qt5declarative/qt5declarative.mk
> +++ b/package/qt5/qt5declarative/qt5declarative.mk
> @@ -39,6 +39,7 @@ ifeq ($(BR2_PREFER_STATIC_LIB),)
>  define QT5DECLARATIVE_INSTALL_TARGET_LIBS
>  	cp -dpf $(STAGING_DIR)/usr/lib/libQt5Qml*.so.* $(TARGET_DIR)/usr/lib
>  	cp -dpf $(STAGING_DIR)/usr/lib/libQt5Quick*.so.* $(TARGET_DIR)/usr/lib
> +	cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/accessible $(TARGET_DIR)/usr/lib/qt/plugins
>  	cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/qml* $(TARGET_DIR)/usr/lib/qt/plugins
>  endef
>  endif
> diff --git a/package/qt5/qt5jsbackend/qt5jsbackend-fix-uclibc.patch b/package/qt5/qt5jsbackend/qt5jsbackend-fix-uclibc.patch
> deleted file mode 100644
> index 50a6dbc..0000000
> --- a/package/qt5/qt5jsbackend/qt5jsbackend-fix-uclibc.patch
> +++ /dev/null

So this patch was merged upstream? Or is no longer needed?

>  ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
> -QT5QUICK1_CONFIGURE_OPTS += -opensource -confirm-license

Hum why does this gets removed from qt5quick1 but not the other
packages? Maybe it's only needed in qt5base, but in this case, it
should be removed from all other packages, and as a separate patch,
since it's unrelated to the version bump, no?

Thanks a lot!

Thomas

Patch

diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk
index fce0ca3..671a217 100644
--- a/package/qt5/qt5.mk
+++ b/package/qt5/qt5.mk
@@ -1,5 +1,5 @@ 
-QT5_VERSION = 5.0.2
-QT5_SITE = http://download.qt-project.org/archive/qt/5.0/$(QT5_VERSION)/submodules/
+QT5_VERSION = 5.1.1
+QT5_SITE = http://download.qt-project.org/official_releases/qt/5.1/$(QT5_VERSION)/submodules/
 include $(sort $(wildcard package/qt5/*/*.mk))
 
 define QT5_LA_PRL_FILES_FIXUP
diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index 9c7fd15..e433373 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -104,6 +104,7 @@  if BR2_PACKAGE_QT5BASE_GUI
 
 config BR2_PACKAGE_QT5BASE_WIDGETS
 	bool "widgets module"
+	select BR2_PACKAGE_XLIB_LIBXEXT if BR2_PACKAGE_QT5BASE_XCB
 	help
 	  This option enables the Qt5Widgets library.
 
@@ -122,6 +123,7 @@  config BR2_PACKAGE_QT5BASE_XCB
 	select BR2_PACKAGE_XCB_UTIL_IMAGE
 	select BR2_PACKAGE_XCB_UTIL_KEYSYMS
 	select BR2_PACKAGE_XCB_UTIL_WM
+	select BR2_PACKAGE_LIBXKBCOMMON
 
 comment "X.org XCB backend available if X.org is enabled"
 	depends on !BR2_PACKAGE_XORG7
diff --git a/package/qt5/qt5base/qt5base-eglconvenience-add-egl-to-CONFIG-to-get-correct-incl.patch b/package/qt5/qt5base/qt5base-eglconvenience-add-egl-to-CONFIG-to-get-correct-incl.patch
deleted file mode 100644
index a85a5aa..0000000
--- a/package/qt5/qt5base/qt5base-eglconvenience-add-egl-to-CONFIG-to-get-correct-incl.patch
+++ /dev/null
@@ -1,32 +0,0 @@ 
-From 588c60d0c3d11e79d19860fa62b03c935658d13a Mon Sep 17 00:00:00 2001
-From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-Date: Sun, 13 Jan 2013 14:36:48 +0100
-Subject: [PATCH qtbase] eglconvenience: add egl to CONFIG to get correct include
- paths
-
-The eglconvenience code includes <EGL/egl.h>. Therefore, it should get
-the appropriate EGL-specific include paths from QMAKE_INCDIR_EGL,
-otherwise the build might if the EGL library has its headers in
-special locations. In order to achieve this, we simply add the "egl"
-feature to the list of features imported by eglconvenience.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
----
- .../eglconvenience/eglconvenience.pri              |    1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/platformsupport/eglconvenience/eglconvenience.pri b/src/platformsupport/eglconvenience/eglconvenience.pri
-index 188eb1c..8996cea 100644
---- a/src/platformsupport/eglconvenience/eglconvenience.pri
-+++ b/src/platformsupport/eglconvenience/eglconvenience.pri
-@@ -5,6 +5,7 @@ contains(QT_CONFIG,egl) {
-     SOURCES += \
-         $$PWD/qeglconvenience.cpp \
-         $$PWD/qeglplatformcontext.cpp
-+    CONFIG += egl
- 
-     contains(QT_CONFIG,xlib) {
-         HEADERS += \
--- 
-1.7.9.5
-
diff --git a/package/qt5/qt5base/qt5base-mkspecs-files.patch b/package/qt5/qt5base/qt5base-mkspecs-files.patch
index bfa9c15..e406cfc 100644
--- a/package/qt5/qt5base/qt5base-mkspecs-files.patch
+++ b/package/qt5/qt5base/qt5base-mkspecs-files.patch
@@ -14,9 +14,9 @@  Index: b/mkspecs/devices/linux-buildroot-g++/qmake.conf
 ===================================================================
 --- /dev/null
 +++ b/mkspecs/devices/linux-buildroot-g++/qmake.conf
-@@ -0,0 +1,43 @@
+@@ -0,0 +1,44 @@
 +MAKEFILE_GENERATOR      = UNIX
-+CONFIG                  += incremental gdb_dwarf_index
++CONFIG                 += incremental gdb_dwarf_index
 +QMAKE_INCREMENTAL_STYLE = sublib
 +
 +include(../../common/linux.conf)
@@ -41,6 +41,7 @@  Index: b/mkspecs/devices/linux-buildroot-g++/qmake.conf
 +# modifications to linux.conf
 +QMAKE_AR                = $${BUILDROOT_CROSS_COMPILE}ar cqs
 +QMAKE_OBJCOPY           = $${BUILDROOT_CROSS_COMPILE}objcopy
++QMAKE_NM                = $${BUILDROOT_CROSS_COMPILE}nm -P
 +QMAKE_STRIP             = $${BUILDROOT_CROSS_COMPILE}strip
 +
 +#modifications to gcc-base.conf
diff --git a/package/qt5/qt5base/qt5base-xcb-Add-egl-cflags-when-opengles2-is-enabled.patch b/package/qt5/qt5base/qt5base-xcb-Add-egl-cflags-when-opengles2-is-enabled.patch
new file mode 100644
index 0000000..fee66e9
--- /dev/null
+++ b/package/qt5/qt5base/qt5base-xcb-Add-egl-cflags-when-opengles2-is-enabled.patch
@@ -0,0 +1,29 @@ 
+From cbffa1e467a4c8b9e8061364b69e250b23fb7b59 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Fatih=20A=C5=9F=C4=B1c=C4=B1?= <fatih.asici@gmail.com>
+Date: Sun, 15 Sep 2013 11:15:33 +0300
+Subject: [PATCH] xcb: Add egl cflags when opengles2 is enabled
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+Signed-off-by: Fatih Aşıcı <fatih.asici@gmail.com>
+---
+ src/plugins/platforms/xcb/xcb-plugin.pro |    2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/plugins/platforms/xcb/xcb-plugin.pro b/src/plugins/platforms/xcb/xcb-plugin.pro
+index 8299528..bc21afe 100644
+--- a/src/plugins/platforms/xcb/xcb-plugin.pro
++++ b/src/plugins/platforms/xcb/xcb-plugin.pro
+@@ -73,7 +73,7 @@ contains(QT_CONFIG, xcb-render) {
+ contains(QT_CONFIG, opengl) {
+     contains(QT_CONFIG, opengles2) {
+         DEFINES += XCB_USE_EGL
+-        LIBS += -lEGL
++        CONFIG += egl
+         HEADERS += qxcbeglsurface.h
+ 
+         # EGL on MeeGo 1.2 Harmattan needs this macro to map EGLNativeDisplayType
+-- 
+1.7.10.4
+
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index ddc5574..0106c2c 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -84,13 +84,17 @@  QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),-directfb,-no-dir
 QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),directfb)
 
 ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
-QT5BASE_CONFIGURE_OPTS += -xcb
+QT5BASE_CONFIGURE_OPTS += -xcb -system-xkbcommon
 QT5BASE_DEPENDENCIES   += \
 	libxcb \
 	xcb-util-wm \
 	xcb-util-image \
 	xcb-util-keysyms \
-	xlib_libX11
+	xlib_libX11 \
+	libxkbcommon
+ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS),y)
+QT5BASE_DEPENDENCIES   += xlib_libXext
+endif
 else
 QT5BASE_CONFIGURE_OPTS += -no-xcb
 endif
@@ -172,7 +176,7 @@  define QT5BASE_CONFIGURE_CMDS
 		-sysroot $(STAGING_DIR) \
 		-plugindir /usr/lib/qt/plugins \
 		-no-rpath \
-		-nomake examples -nomake demos -nomake tests \
+		-nomake examples -nomake tests \
 		-device buildroot \
 		-no-c++11 \
 		$(QT5BASE_CONFIGURE_OPTS) \
diff --git a/package/qt5/qt5declarative/qt5declarative.mk b/package/qt5/qt5declarative/qt5declarative.mk
index 603c0e7..943f33d 100644
--- a/package/qt5/qt5declarative/qt5declarative.mk
+++ b/package/qt5/qt5declarative/qt5declarative.mk
@@ -39,6 +39,7 @@  ifeq ($(BR2_PREFER_STATIC_LIB),)
 define QT5DECLARATIVE_INSTALL_TARGET_LIBS
 	cp -dpf $(STAGING_DIR)/usr/lib/libQt5Qml*.so.* $(TARGET_DIR)/usr/lib
 	cp -dpf $(STAGING_DIR)/usr/lib/libQt5Quick*.so.* $(TARGET_DIR)/usr/lib
+	cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/accessible $(TARGET_DIR)/usr/lib/qt/plugins
 	cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/qml* $(TARGET_DIR)/usr/lib/qt/plugins
 endef
 endif
diff --git a/package/qt5/qt5jsbackend/qt5jsbackend-fix-uclibc.patch b/package/qt5/qt5jsbackend/qt5jsbackend-fix-uclibc.patch
deleted file mode 100644
index 50a6dbc..0000000
--- a/package/qt5/qt5jsbackend/qt5jsbackend-fix-uclibc.patch
+++ /dev/null
@@ -1,33 +0,0 @@ 
-Fix build on uClibc
-
-Patch taken from https://code.google.com/p/v8/source/detail?r=12094.
-
-Review URL: https://chromiumcodereview.appspot.com/10784012
-Patch from Remi Duraffort <remi.duraffort@st.com>.
-
-Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
-
-Index: qt5jsbackend-5.0.0/src/3rdparty/v8/src/platform-linux.cc
-===================================================================
---- qt5jsbackend-5.0.0.orig/src/3rdparty/v8/src/platform-linux.cc	2012-12-18 20:04:01.000000000 +0100
-+++ qt5jsbackend-5.0.0/src/3rdparty/v8/src/platform-linux.cc	2013-03-03 20:31:46.000000000 +0100
-@@ -1030,7 +1030,8 @@
-   sample->fp = reinterpret_cast<Address>(mcontext.gregs[REG_RBP]);
- #elif V8_HOST_ARCH_ARM
- // An undefined macro evaluates to 0, so this applies to Android's Bionic also.
--#if (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3))
-+#if (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3) && \
-+     !defined(__UCLIBC__))
-   sample->pc = reinterpret_cast<Address>(mcontext.gregs[R15]);
-   sample->sp = reinterpret_cast<Address>(mcontext.gregs[R13]);
-   sample->fp = reinterpret_cast<Address>(mcontext.gregs[R11]);
-@@ -1038,7 +1039,8 @@
-   sample->pc = reinterpret_cast<Address>(mcontext.arm_pc);
-   sample->sp = reinterpret_cast<Address>(mcontext.arm_sp);
-   sample->fp = reinterpret_cast<Address>(mcontext.arm_fp);
--#endif  // (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3))
-+#endif  // (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3) &&
-+        // !defined(__UCLIBC__))
- #elif V8_HOST_ARCH_MIPS
-   sample->pc = reinterpret_cast<Address>(mcontext.pc);
-   sample->sp = reinterpret_cast<Address>(mcontext.gregs[29]);
diff --git a/package/qt5/qt5quick1/qt5quick1.mk b/package/qt5/qt5quick1/qt5quick1.mk
index 9bd36db..f9bb3e8 100644
--- a/package/qt5/qt5quick1/qt5quick1.mk
+++ b/package/qt5/qt5quick1/qt5quick1.mk
@@ -12,7 +12,6 @@  QT5QUICK1_DEPENDENCIES = qt5base qt5xmlpatterns qt5script qt5declarative qt5jsba
 QT5QUICK1_INSTALL_STAGING = YES
 
 ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
-QT5QUICK1_CONFIGURE_OPTS += -opensource -confirm-license
 QT5QUICK1_LICENSE = LGPLv2.1 or GPLv3.0
 QT5QUICK1_LICENSE_FILES = LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt
 else
@@ -35,8 +34,7 @@  endef
 
 define QT5QUICK1_INSTALL_TARGET_CMDS
 	cp -dpf $(STAGING_DIR)/usr/lib/libQt5Declarative.so.* $(TARGET_DIR)/usr/lib
-	cp -dpf $(STAGING_DIR)/usr/lib/qt/plugins/qmltooling/libqmldbg_inspector.so $(TARGET_DIR)/usr/lib/qt/plugins/qmltooling/
-	cp -dpf $(STAGING_DIR)/usr/lib/qt/plugins/qmltooling/libqmldbg_tcp_qtdeclarative.so $(TARGET_DIR)/usr/lib/qt/plugins/qmltooling/
+	cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/qml1tooling $(TARGET_DIR)/usr/lib/qt/plugins/
 	cp -dpfr $(STAGING_DIR)/usr/imports $(TARGET_DIR)/usr
 endef