Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] Add Qt5 packages
@ 2013-02-27 23:25 Thomas Petazzoni
  2013-02-27 23:25 ` [Buildroot] [PATCH 01/30] pcre: add support for 16 bits and 32 bits variants Thomas Petazzoni
                   ` (30 more replies)
  0 siblings, 31 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:25 UTC (permalink / raw)
  To: buildroot

Hello,

Here is a set of patches that add Qt5 support in Buildroot. I have
built a number of different combinations, but there are some many
different possibilities, that I obviously couldn't test all of
them. Some testing will be appreciated, but for sure, only the
autobuilders will really help in getting a good build coverage of all
this.

In short:

 * Patch 1 improves our pcre package to add support for 16 bits and 32
   bits variants, need by Qt5.

 * Patches 2 to 4 bump the version or add new XCB-util packages that
   are needed to build the XCB backend of Qt5.

 * Patches 5 to 7 add virtual packages for OpenGLES, OpenVG and EGL,
   and make rpi-userland provide an implementation of those virtual
   packages.

 * Patch 8 converts the jpeg virtual package to a real package.

 * Patch 9 and 10 adds some basic infrastructure to support the Qt5
   packages.

 * Patch 11 adds the Qt5Base package.

 * Patches 12 to 19 extend the Qt5Base package with various features
   (GUI, OpenSSL, EGL, D-Bus, etc.)

 * Patch 20 creates a common variable to share the Qt5 version between
   all the Qt5 packages.

 * Patches 21 to 30 add more Qt5 libraries: Qt5Svg, Qt5Webkit,
   Qt5Script, and more.

Best regards,

Thomas

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

* [Buildroot] [PATCH 01/30] pcre: add support for 16 bits and 32 bits variants
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
@ 2013-02-27 23:25 ` Thomas Petazzoni
  2013-02-28  0:00   ` Gustavo Zacarias
  2013-02-27 23:25 ` [Buildroot] [PATCH 02/30] x11r7/xcb-util: bump to 0.3.9 Thomas Petazzoni
                   ` (29 subsequent siblings)
  30 siblings, 1 reply; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:25 UTC (permalink / raw)
  To: buildroot

Until now, we have been building only the 8bits PCRE variant. However,
Qt5 requires the 16bits variant. This commit therefore adds support to
build the 16bits and 32bits variants of PCRE. In order to preserve
backward compatibility, the 8bits variant is automatically chosen is
no specific variant is defined.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/pcre/Config.in |   22 ++++++++++++++++++++++
 package/pcre/pcre.mk   |    4 ++++
 2 files changed, 26 insertions(+)

diff --git a/package/pcre/Config.in b/package/pcre/Config.in
index a4e2547..3b77cb2 100644
--- a/package/pcre/Config.in
+++ b/package/pcre/Config.in
@@ -1,6 +1,28 @@
 config BR2_PACKAGE_PCRE
 	bool "pcre"
+	# Ensure at least the default 8-bit library is enabled.
+	select BR2_PACKAGE_PCRE_8 if \
+	       (!BR2_PACKAGE_PCRE_16 && !BR2_PACKAGE_PCRE_32)
 	help
 	  Perl Compatible Regular Expressions
 
 	  http://www.pcre.org/
+
+if BR2_PACKAGE_PCRE
+
+config BR2_PACKAGE_PCRE_8
+	bool "8-bit pcre"
+	help
+	  This option builds the 8-bit pcre library, i.e 'libpcre'
+
+config BR2_PACKAGE_PCRE_16
+	bool "16-bit pcre"
+	help
+	  This option builds the 8-bit pcre library, i.e 'libpcre16'
+
+config BR2_PACKAGE_PCRE_32
+	bool "32-bit pcre"
+	help
+	  This option builds the 8-bit pcre library, i.e 'libpcre32'
+
+endif
diff --git a/package/pcre/pcre.mk b/package/pcre/pcre.mk
index 48266ff..b1339fb 100644
--- a/package/pcre/pcre.mk
+++ b/package/pcre/pcre.mk
@@ -16,4 +16,8 @@ ifneq ($(BR2_INSTALL_LIBSTDCPP),y)
 PCRE_CONF_OPT = --disable-cpp
 endif
 
+PCRE_CONF_OPT += $(if $(BR2_PACKAGE_PCRE_8),--enable-pcre8,--disable-pcre8)
+PCRE_CONF_OPT += $(if $(BR2_PACKAGE_PCRE_16),--enable-pcre16,--disable-pcre16)
+PCRE_CONF_OPT += $(if $(BR2_PACKAGE_PCRE_32),--enable-pcre32,--disable-pcre32)
+
 $(eval $(autotools-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 02/30] x11r7/xcb-util: bump to 0.3.9
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
  2013-02-27 23:25 ` [Buildroot] [PATCH 01/30] pcre: add support for 16 bits and 32 bits variants Thomas Petazzoni
@ 2013-02-27 23:25 ` Thomas Petazzoni
  2013-02-27 23:25 ` [Buildroot] [PATCH 03/30] x11r7/xcb-util-wm: new package Thomas Petazzoni
                   ` (28 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:25 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/x11r7/xcb-util/xcb-util.mk |    2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/x11r7/xcb-util/xcb-util.mk b/package/x11r7/xcb-util/xcb-util.mk
index 5681b72..fcf99ea 100644
--- a/package/x11r7/xcb-util/xcb-util.mk
+++ b/package/x11r7/xcb-util/xcb-util.mk
@@ -3,7 +3,7 @@
 # xcb-util
 #
 #############################################################
-XCB_UTIL_VERSION = 0.3.6
+XCB_UTIL_VERSION = 0.3.9
 XCB_UTIL_SOURCE = xcb-util-$(XCB_UTIL_VERSION).tar.bz2
 XCB_UTIL_SITE = http://xcb.freedesktop.org/dist/
 XCB_UTIL_INSTALL_STAGING = YES
-- 
1.7.9.5

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

* [Buildroot] [PATCH 03/30] x11r7/xcb-util-wm: new package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
  2013-02-27 23:25 ` [Buildroot] [PATCH 01/30] pcre: add support for 16 bits and 32 bits variants Thomas Petazzoni
  2013-02-27 23:25 ` [Buildroot] [PATCH 02/30] x11r7/xcb-util: bump to 0.3.9 Thomas Petazzoni
@ 2013-02-27 23:25 ` Thomas Petazzoni
  2013-02-27 23:25 ` [Buildroot] [PATCH 04/30] x11r7/xcb-util-image: " Thomas Petazzoni
                   ` (27 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:25 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/x11r7/Config.in                  |    1 +
 package/x11r7/xcb-util-wm/Config.in      |   15 +++++++++++++++
 package/x11r7/xcb-util-wm/xcb-util-wm.mk |   13 +++++++++++++
 3 files changed, 29 insertions(+)
 create mode 100644 package/x11r7/xcb-util-wm/Config.in
 create mode 100644 package/x11r7/xcb-util-wm/xcb-util-wm.mk

diff --git a/package/x11r7/Config.in b/package/x11r7/Config.in
index 706574c..2abd593 100644
--- a/package/x11r7/Config.in
+++ b/package/x11r7/Config.in
@@ -16,6 +16,7 @@ if BR2_PACKAGE_XORG7
 		source package/x11r7/mesa3d/Config.in
 		source package/x11r7/xcb-util/Config.in
 		source package/x11r7/xcb-util-keysyms/Config.in
+		source package/x11r7/xcb-util-wm/Config.in
 		source package/x11r7/xlib_libFS/Config.in
 		source package/x11r7/xlib_libICE/Config.in
 		source package/x11r7/xlib_libSM/Config.in
diff --git a/package/x11r7/xcb-util-wm/Config.in b/package/x11r7/xcb-util-wm/Config.in
new file mode 100644
index 0000000..491e7a3
--- /dev/null
+++ b/package/x11r7/xcb-util-wm/Config.in
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_XCB_UTIL_WM
+	bool "xcb-util-wm"
+	help
+	  The XCB util modules provides a number of libraries which sit on top
+	  of libxcb, the core X protocol library, and some of the extension
+	  libraries. These experimental libraries provide convenience functions
+	  and interfaces which make the raw X protocol more usable. Some of the
+	  libraries also provide client-side code which is not strictly part of
+	  the X protocol but which have traditionally been provided by Xlib.
+
+	  XCB util-wm module provides the following libraries:
+	    - ewmh: Both client and window-manager helpers for EWMH.
+	    - icccm: Both client and window-manager helpers for ICCCM.
+
+	  http://xcb.freedesktop.org/
diff --git a/package/x11r7/xcb-util-wm/xcb-util-wm.mk b/package/x11r7/xcb-util-wm/xcb-util-wm.mk
new file mode 100644
index 0000000..a631fa6
--- /dev/null
+++ b/package/x11r7/xcb-util-wm/xcb-util-wm.mk
@@ -0,0 +1,13 @@
+#############################################################
+#
+# xcb-util-wm
+#
+#############################################################
+
+XCB_UTIL_WM_VERSION = 0.3.9
+XCB_UTIL_WM_SITE = http://xcb.freedesktop.org/dist/
+XCB_UTIL_WM_SOURCE = xcb-util-wm-$(XCB_UTIL_WM_VERSION).tar.bz2
+XCB_UTIL_WM_INSTALL_STAGING = YES
+XCB_UTIL_WM_LICENSE = MIT
+
+$(eval $(autotools-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 04/30] x11r7/xcb-util-image: new package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (2 preceding siblings ...)
  2013-02-27 23:25 ` [Buildroot] [PATCH 03/30] x11r7/xcb-util-wm: new package Thomas Petazzoni
@ 2013-02-27 23:25 ` Thomas Petazzoni
  2013-02-27 23:25 ` [Buildroot] [PATCH 05/30] package: create virtual package for libGLES, libOpenVG and libEGL Thomas Petazzoni
                   ` (26 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:25 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/x11r7/Config.in                        |    1 +
 package/x11r7/xcb-util-image/Config.in         |   15 +++++++++++++++
 package/x11r7/xcb-util-image/xcb-util-image.mk |   14 ++++++++++++++
 3 files changed, 30 insertions(+)
 create mode 100644 package/x11r7/xcb-util-image/Config.in
 create mode 100644 package/x11r7/xcb-util-image/xcb-util-image.mk

diff --git a/package/x11r7/Config.in b/package/x11r7/Config.in
index 2abd593..5d0f991 100644
--- a/package/x11r7/Config.in
+++ b/package/x11r7/Config.in
@@ -15,6 +15,7 @@ if BR2_PACKAGE_XORG7
 		source package/x11r7/libxcb/Config.in
 		source package/x11r7/mesa3d/Config.in
 		source package/x11r7/xcb-util/Config.in
+		source package/x11r7/xcb-util-image/Config.in
 		source package/x11r7/xcb-util-keysyms/Config.in
 		source package/x11r7/xcb-util-wm/Config.in
 		source package/x11r7/xlib_libFS/Config.in
diff --git a/package/x11r7/xcb-util-image/Config.in b/package/x11r7/xcb-util-image/Config.in
new file mode 100644
index 0000000..31fc61a
--- /dev/null
+++ b/package/x11r7/xcb-util-image/Config.in
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_XCB_UTIL_IMAGE
+	bool "xcb-util-image"
+	select BR2_PACKAGE_XCB_UTIL
+	help
+	  The XCB util modules provides a number of libraries which sit on top
+	  of libxcb, the core X protocol library, and some of the extension
+	  libraries. These experimental libraries provide convenience functions
+	  and interfaces which make the raw X protocol more usable. Some of the
+	  libraries also provide client-side code which is not strictly part of
+	  the X protocol but which have traditionally been provided by Xlib.
+
+	  XCB util-image module provides the following library:
+	    - image: Port of Xlib's XImage and XShmImage functions.
+
+	  http://xcb.freedesktop.org/
diff --git a/package/x11r7/xcb-util-image/xcb-util-image.mk b/package/x11r7/xcb-util-image/xcb-util-image.mk
new file mode 100644
index 0000000..0309f3b
--- /dev/null
+++ b/package/x11r7/xcb-util-image/xcb-util-image.mk
@@ -0,0 +1,14 @@
+#############################################################
+#
+# xcb-util-image
+#
+#############################################################
+
+XCB_UTIL_IMAGE_VERSION = 0.3.9
+XCB_UTIL_IMAGE_SITE = http://xcb.freedesktop.org/dist/
+XCB_UTIL_IMAGE_SOURCE = xcb-util-image-$(XCB_UTIL_IMAGE_VERSION).tar.bz2
+XCB_UTIL_IMAGE_INSTALL_STAGING = YES
+XCB_UTIL_IMAGE_LICENSE = MIT
+XCB_UTIL_IMAGE_DEPENDENCIES = xcb-util
+
+$(eval $(autotools-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 05/30] package: create virtual package for libGLES, libOpenVG and libEGL
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (3 preceding siblings ...)
  2013-02-27 23:25 ` [Buildroot] [PATCH 04/30] x11r7/xcb-util-image: " Thomas Petazzoni
@ 2013-02-27 23:25 ` Thomas Petazzoni
  2013-02-27 23:25 ` [Buildroot] [PATCH 06/30] rpi-userland: provides OpenGL ES, EGL and OpenVG Thomas Petazzoni
                   ` (25 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:25 UTC (permalink / raw)
  To: buildroot

Those acceleration libraries typically have multiple implementations:
some are free (Mesa), some are proprietary (generally SoC specific).

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/Config.in                     |    1 +
 package/opengl/Config.in              |    8 ++++++++
 package/opengl/libegl/libegl.mk       |   16 ++++++++++++++++
 package/opengl/libgles/libgles.mk     |   16 ++++++++++++++++
 package/opengl/libopenvg/libopenvg.mk |   16 ++++++++++++++++
 package/opengl/opengl.mk              |    1 +
 6 files changed, 58 insertions(+)
 create mode 100644 package/opengl/Config.in
 create mode 100644 package/opengl/libegl/libegl.mk
 create mode 100644 package/opengl/libgles/libgles.mk
 create mode 100644 package/opengl/libopenvg/libopenvg.mk
 create mode 100644 package/opengl/opengl.mk

diff --git a/package/Config.in b/package/Config.in
index 2fad94d..c8b6c1a 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -433,6 +433,7 @@ source "package/librsvg/Config.in"
 source "package/libsvgtiny/Config.in"
 source "package/libungif/Config.in"
 source "package/opencv/Config.in"
+source "package/opengl/Config.in"
 source "package/pango/Config.in"
 source "package/pixman/Config.in"
 source "package/tiff/Config.in"
diff --git a/package/opengl/Config.in b/package/opengl/Config.in
new file mode 100644
index 0000000..81616f9
--- /dev/null
+++ b/package/opengl/Config.in
@@ -0,0 +1,8 @@
+config BR2_PACKAGE_HAS_OPENGL_EGL
+	bool
+
+config BR2_PACKAGE_HAS_OPENGL_ES
+	bool
+
+config BR2_PACKAGE_HAS_OPENVG
+	bool
diff --git a/package/opengl/libegl/libegl.mk b/package/opengl/libegl/libegl.mk
new file mode 100644
index 0000000..56cc8ac
--- /dev/null
+++ b/package/opengl/libegl/libegl.mk
@@ -0,0 +1,16 @@
+#############################################################
+#
+# Virtual package for libEGL
+#
+#############################################################
+
+LIBEGL_SOURCE =
+
+ifeq ($(LIBEGL_DEPENDENCIES),y)
+define LIBEGL_CONFIGURE_CMDS
+	echo "No libEGL implementation selected. Configuration error."
+	exit 1
+endef
+endif
+
+$(eval $(generic-package))
diff --git a/package/opengl/libgles/libgles.mk b/package/opengl/libgles/libgles.mk
new file mode 100644
index 0000000..753f53e
--- /dev/null
+++ b/package/opengl/libgles/libgles.mk
@@ -0,0 +1,16 @@
+#############################################################
+#
+# Virtual package for libGLES
+#
+#############################################################
+
+LIBGLES_SOURCE =
+
+ifeq ($(LIBGLES_DEPENDENCIES),y)
+define LIBGLES_CONFIGURE_CMDS
+	echo "No libGLES implementation selected. Configuration error."
+	exit 1
+endef
+endif
+
+$(eval $(generic-package))
diff --git a/package/opengl/libopenvg/libopenvg.mk b/package/opengl/libopenvg/libopenvg.mk
new file mode 100644
index 0000000..2fcc99f
--- /dev/null
+++ b/package/opengl/libopenvg/libopenvg.mk
@@ -0,0 +1,16 @@
+#############################################################
+#
+# Virtual package for libOpenVG
+#
+#############################################################
+
+LIBOPENVG_SOURCE =
+
+ifeq ($(LIBOPENVG_DEPENDENCIES),y)
+define LIBOPENVG_CONFIGURE_CMDS
+	echo "No libOpenVG implementation selected. Configuration error."
+	exit 1
+endef
+endif
+
+$(eval $(generic-package))
diff --git a/package/opengl/opengl.mk b/package/opengl/opengl.mk
new file mode 100644
index 0000000..68df3b1
--- /dev/null
+++ b/package/opengl/opengl.mk
@@ -0,0 +1 @@
+include package/opengl/*/*.mk
-- 
1.7.9.5

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

* [Buildroot] [PATCH 06/30] rpi-userland: provides OpenGL ES, EGL and OpenVG
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (4 preceding siblings ...)
  2013-02-27 23:25 ` [Buildroot] [PATCH 05/30] package: create virtual package for libGLES, libOpenVG and libEGL Thomas Petazzoni
@ 2013-02-27 23:25 ` Thomas Petazzoni
  2013-02-27 23:25 ` [Buildroot] [PATCH 07/30] rpi-userland: add .pc files for OpenGLESv2 and EGL libs Thomas Petazzoni
                   ` (24 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:25 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/opengl/libegl/libegl.mk       |    4 ++++
 package/opengl/libgles/libgles.mk     |    4 ++++
 package/opengl/libopenvg/libopenvg.mk |    4 ++++
 package/rpi-userland/Config.in        |    3 +++
 4 files changed, 15 insertions(+)

diff --git a/package/opengl/libegl/libegl.mk b/package/opengl/libegl/libegl.mk
index 56cc8ac..c495496 100644
--- a/package/opengl/libegl/libegl.mk
+++ b/package/opengl/libegl/libegl.mk
@@ -6,6 +6,10 @@
 
 LIBEGL_SOURCE =
 
+ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
+LIBEGL_DEPENDENCIES += rpi-userland
+endif
+
 ifeq ($(LIBEGL_DEPENDENCIES),y)
 define LIBEGL_CONFIGURE_CMDS
 	echo "No libEGL implementation selected. Configuration error."
diff --git a/package/opengl/libgles/libgles.mk b/package/opengl/libgles/libgles.mk
index 753f53e..f0d0eec 100644
--- a/package/opengl/libgles/libgles.mk
+++ b/package/opengl/libgles/libgles.mk
@@ -6,6 +6,10 @@
 
 LIBGLES_SOURCE =
 
+ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
+LIBGLES_DEPENDENCIES += rpi-userland
+endif
+
 ifeq ($(LIBGLES_DEPENDENCIES),y)
 define LIBGLES_CONFIGURE_CMDS
 	echo "No libGLES implementation selected. Configuration error."
diff --git a/package/opengl/libopenvg/libopenvg.mk b/package/opengl/libopenvg/libopenvg.mk
index 2fcc99f..573fa78 100644
--- a/package/opengl/libopenvg/libopenvg.mk
+++ b/package/opengl/libopenvg/libopenvg.mk
@@ -6,6 +6,10 @@
 
 LIBOPENVG_SOURCE =
 
+ifeq ($(BR2_PACKAGE_RPI_USERLAND),y)
+LIBOPENVG_DEPENDENCIES += rpi-userland
+endif
+
 ifeq ($(LIBOPENVG_DEPENDENCIES),y)
 define LIBOPENVG_CONFIGURE_CMDS
 	echo "No libOpenVG implementation selected. Configuration error."
diff --git a/package/rpi-userland/Config.in b/package/rpi-userland/Config.in
index 58ea8cb..2c35fb7 100644
--- a/package/rpi-userland/Config.in
+++ b/package/rpi-userland/Config.in
@@ -3,6 +3,9 @@ config BR2_PACKAGE_RPI_USERLAND
 	depends on BR2_arm
 	depends on BR2_INSTALL_LIBSTDCPP
 	depends on BR2_LARGEFILE
+	select BR2_PACKAGE_HAS_OPENGL_EGL
+	select BR2_PACKAGE_HAS_OPENGL_ES
+	select BR2_PACKAGE_HAS_OPENVG
 	help
 	  Raspberry Pi Userland contains the necessary library to use the
 	  VideoCore driver.
-- 
1.7.9.5

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

* [Buildroot] [PATCH 07/30] rpi-userland: add .pc files for OpenGLESv2 and EGL libs
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (5 preceding siblings ...)
  2013-02-27 23:25 ` [Buildroot] [PATCH 06/30] rpi-userland: provides OpenGL ES, EGL and OpenVG Thomas Petazzoni
@ 2013-02-27 23:25 ` Thomas Petazzoni
  2013-02-27 23:25 ` [Buildroot] [PATCH 08/30] jpeg: convert to a real package Thomas Petazzoni
                   ` (23 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:25 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 .../rpi-userland-add-pkgconfig-files.patch         |   53 ++++++++++++++++++++
 1 file changed, 53 insertions(+)
 create mode 100644 package/rpi-userland/rpi-userland-add-pkgconfig-files.patch

diff --git a/package/rpi-userland/rpi-userland-add-pkgconfig-files.patch b/package/rpi-userland/rpi-userland-add-pkgconfig-files.patch
new file mode 100644
index 0000000..0da9afd
--- /dev/null
+++ b/package/rpi-userland/rpi-userland-add-pkgconfig-files.patch
@@ -0,0 +1,53 @@
+Add .pc files for the OpenGLESv2 and EGL libraries
+
+Those pkg-config files make it easier for Qt5 to find those libraries
+and the appropriate link flags.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/interface/khronos/egl/egl.pc.in
+===================================================================
+--- /dev/null
++++ b/interface/khronos/egl/egl.pc.in
+@@ -0,0 +1,10 @@
++prefix=@CMAKE_INSTALL_PREFIX@
++exec_prefix=${prefix}
++libdir=${exec_prefix}/lib
++includedir=${prefix}/include
++
++Name: egl
++Description: RasberryPi implementation of EGL
++Version: 1.0
++Libs: -L${libdir} -lEGL -lGLESv2
++Cflags: -I${includedir}/ -I${includedir}/interface/vcos/pthreads/
+Index: b/interface/khronos/CMakeLists.txt
+===================================================================
+--- a/interface/khronos/CMakeLists.txt
++++ b/interface/khronos/CMakeLists.txt
+@@ -73,3 +73,11 @@
+ 
+ install(TARGETS EGL GLESv2 OpenVG WFC khrn_client DESTINATION lib)
+ install(TARGETS EGL_static GLESv2_static khrn_static DESTINATION lib)
++configure_file("${CMAKE_CURRENT_SOURCE_DIR}/egl/egl.pc.in"
++  "${CMAKE_CURRENT_BINARY_DIR}/egl/egl.pc" @ONLY)
++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/egl/egl.pc"
++  DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
++configure_file("${CMAKE_CURRENT_SOURCE_DIR}/glxx/glesv2.pc.in"
++  "${CMAKE_CURRENT_BINARY_DIR}/glxx/glesv2.pc" @ONLY)
++install(FILES "${CMAKE_CURRENT_BINARY_DIR}/glxx/glesv2.pc"
++  DESTINATION "${CMAKE_INSTALL_PREFIX}/lib/pkgconfig")
+Index: b/interface/khronos/glxx/glesv2.pc.in
+===================================================================
+--- /dev/null
++++ b/interface/khronos/glxx/glesv2.pc.in
+@@ -0,0 +1,10 @@
++prefix=@CMAKE_INSTALL_PREFIX@
++exec_prefix=${prefix}
++libdir=${exec_prefix}/lib
++includedir=${prefix}/include
++
++Name: glesv2
++Description: RasberryPi implementation of OpenGL ESv2
++Version: 2.0
++Libs: -L${libdir} -lGLESv2
++Cflags: -I${includedir}/
-- 
1.7.9.5

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

* [Buildroot] [PATCH 08/30] jpeg: convert to a real package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (6 preceding siblings ...)
  2013-02-27 23:25 ` [Buildroot] [PATCH 07/30] rpi-userland: add .pc files for OpenGLESv2 and EGL libs Thomas Petazzoni
@ 2013-02-27 23:25 ` Thomas Petazzoni
  2013-02-28 22:13   ` Samuel Martin
  2013-02-27 23:26 ` [Buildroot] [PATCH 09/30] qt5: base infrastructure Thomas Petazzoni
                   ` (22 subsequent siblings)
  30 siblings, 1 reply; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:25 UTC (permalink / raw)
  To: buildroot

jpeg is a virtual package, but since it is listed in the dependencies
of other packages, it should obey to all the normal make rules for
packages. Notably, the jpeg-show-depends target is mandatory for the
graph-depends script to work.

Instead to implement such a make target manually, make jpeg a normal
generic-package, except that it doesn't have any source.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/jpeg/jpeg.mk |   22 ++++++++++++++++++----
 1 file changed, 18 insertions(+), 4 deletions(-)

diff --git a/package/jpeg/jpeg.mk b/package/jpeg/jpeg.mk
index 3caacaa..962908d 100644
--- a/package/jpeg/jpeg.mk
+++ b/package/jpeg/jpeg.mk
@@ -1,10 +1,24 @@
 #############################################################
 #
-# jpeg
+# Virtual jpeg package
 #
 #############################################################
 
-jpeg: $(if $(BR2_PACKAGE_JPEG_TURBO),jpeg-turbo,libjpeg)
+JPEG_SOURCE =
 
-host-jpeg: host-libjpeg
-host-jpeg-source: host-libjpeg-source
+ifeq ($(BR2_PACKAGE_JPEG_TURBO),y)
+JPEG_DEPENDENCIES += jpeg-turbo
+endif
+
+ifeq ($(BR2_PACKAGE_LIBJPEG),y)
+JPEG_DEPENDENCIES += libjpeg
+endif
+
+ifeq ($(JPEG_DEPENDENCIES),)
+define JPEG_CONFIGURE_CMDS
+	echo "No JPEG implementation defined. Configuration error"
+	exit 1
+endef
+endif
+
+$(eval $(generic-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 09/30] qt5: base infrastructure
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (7 preceding siblings ...)
  2013-02-27 23:25 ` [Buildroot] [PATCH 08/30] jpeg: convert to a real package Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 10/30] qt5: add macro to fixup Qt5 .la and .prl files Thomas Petazzoni
                   ` (21 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/Config.in |   18 ++++++++++++++++++
 package/qt5/qt5.mk    |    1 +
 2 files changed, 19 insertions(+)
 create mode 100644 package/qt5/Config.in
 create mode 100644 package/qt5/qt5.mk

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
new file mode 100644
index 0000000..0acb89e
--- /dev/null
+++ b/package/qt5/Config.in
@@ -0,0 +1,18 @@
+comment "Qt5 needs a toolchain with WCHAR, IPv6, thread and C++ support"
+	depends on !BR2_INSTALL_LIBSTDCPP || !BR2_USE_WCHAR || !BR2_INET_IPV6 || !BR2_TOOLCHAIN_HAS_THREADS
+
+menuconfig BR2_PACKAGE_QT5
+	bool "Qt5"
+	depends on BR2_INSTALL_LIBSTDCPP
+	depends on BR2_USE_WCHAR
+	depends on BR2_INET_IPV6
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	help
+	  This option enables the Qt5 framework. Sub-options allow to
+	  select which modules should be built.
+
+	  http://qt-project.org
+
+if BR2_PACKAGE_QT5
+
+endif
diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk
new file mode 100644
index 0000000..8b1a7ed
--- /dev/null
+++ b/package/qt5/qt5.mk
@@ -0,0 +1 @@
+include package/qt5/*/*.mk
-- 
1.7.9.5

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

* [Buildroot] [PATCH 10/30] qt5: add macro to fixup Qt5 .la and .prl files
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (8 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 09/30] qt5: base infrastructure Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 11/30] qt5base: new package Thomas Petazzoni
                   ` (20 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/qt5.mk |   10 ++++++++++
 1 file changed, 10 insertions(+)

diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk
index 8b1a7ed..f220508 100644
--- a/package/qt5/qt5.mk
+++ b/package/qt5/qt5.mk
@@ -1 +1,11 @@
 include package/qt5/*/*.mk
+
+define QT5_LA_PRL_FILES_FIXUP
+	for i in $$(find $(STAGING_DIR)/usr/lib* -name "libQt5*.la"); do \
+		$(SED) "s:\(['= ]\)/usr:\\1$(STAGING_DIR)/usr:g" $$i; \
+		$(SED) "/^dependency_libs=/s%-L/usr/lib %%g" $$i ; \
+	done
+	for i in $$(find $(STAGING_DIR)/usr/lib* -name "libQt5*.prl"); do \
+		$(SED) "s%-L/usr/lib%%" $$i; \
+	done
+endef
-- 
1.7.9.5

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

* [Buildroot] [PATCH 11/30] qt5base: new package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (9 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 10/30] qt5: add macro to fixup Qt5 .la and .prl files Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 12/30] qt5base: add GUI support Thomas Petazzoni
                   ` (19 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

This is the beginning of the Qt5 packaging. This commit allows to
build only the qtbase module, which contains QtCore, QtNetwork, QtXml,
QtTest, QtSql and QtConcurrent.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/Config.in                               |    1 +
 package/qt5/Config.in                           |    2 +-
 package/qt5/qt5base/Config.in                   |   56 ++++++++++
 package/qt5/qt5base/qt5base-mkspecs-files.patch |   61 +++++++++++
 package/qt5/qt5base/qt5base-uclibc-no-lfs.patch |   36 +++++++
 package/qt5/qt5base/qt5base.mk                  |  131 +++++++++++++++++++++++
 6 files changed, 286 insertions(+), 1 deletion(-)
 create mode 100644 package/qt5/qt5base/Config.in
 create mode 100644 package/qt5/qt5base/qt5base-mkspecs-files.patch
 create mode 100644 package/qt5/qt5base/qt5base-uclibc-no-lfs.patch
 create mode 100644 package/qt5/qt5base/qt5base.mk

diff --git a/package/Config.in b/package/Config.in
index c8b6c1a..c688eab 100644
--- a/package/Config.in
+++ b/package/Config.in
@@ -148,6 +148,7 @@ source "package/qtuio/Config.in"
 source "package/qwt/Config.in"
 endif
 
+source "package/qt5/Config.in"
 source "package/x11r7/Config.in"
 
 comment "X libraries and helper libraries"
diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index 0acb89e..1c9f8a6 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -14,5 +14,5 @@ menuconfig BR2_PACKAGE_QT5
 	  http://qt-project.org
 
 if BR2_PACKAGE_QT5
-
+source "package/qt5/qt5base/Config.in"
 endif
diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
new file mode 100644
index 0000000..4cd6ce0
--- /dev/null
+++ b/package/qt5/qt5base/Config.in
@@ -0,0 +1,56 @@
+config BR2_PACKAGE_QT5BASE
+	bool "qt5base"
+	select BR2_PACKAGE_ZLIB
+	select BR2_PACKAGE_PCRE
+	select BR2_PACKAGE_PCRE_16
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5base module, which
+	  contains the base Qt libraries: QtCore, QtNetwork, QtGui,
+	  QtWidgets, etc.
+
+	  http://qt-project.org
+
+if BR2_PACKAGE_QT5BASE
+
+config BR2_PACKAGE_QT5BASE_LICENSE_APPROVED
+	bool "Approve free license"
+	help
+	  Select this if you approve one of the available free licenses for the
+	  Qt5 library.
+	  By doing this you will not be asked while the library is compiled.
+	  Please read and understand the license terms before approving this.
+
+	  LGPL v2.1: http://qt-project.org/doc/qt-5.0/qtdoc/lgpl.html
+	  GPL  v3.0: http://qt-project.org/doc/qt-5.0/qtdoc/gpl.html
+
+	  See also http://qt-project.org/doc/qt-5.0/qtdoc/licensing.html
+
+config BR2_PACKAGE_QT5BASE_NETWORK
+	bool "network module"
+	help
+	  This options enables the Qt5Network library.
+
+config BR2_PACKAGE_QT5BASE_CONCURRENT
+	bool "concurrent module"
+	help
+	  This options enables the Qt5Concurrent library.
+
+config BR2_PACKAGE_QT5BASE_SQL
+	bool "sql module"
+	help
+	  This options enables the Qt5Sql library.
+
+config BR2_PACKAGE_QT5BASE_TEST
+	bool "test module"
+	help
+	  This options enables the Qt5Test library.
+
+config BR2_PACKAGE_QT5BASE_XML
+	bool "XML module"
+	help
+	  This options enables the Qt5Xml library.
+
+endif
diff --git a/package/qt5/qt5base/qt5base-mkspecs-files.patch b/package/qt5/qt5base/qt5base-mkspecs-files.patch
new file mode 100644
index 0000000..a86d0b1
--- /dev/null
+++ b/package/qt5/qt5base/qt5base-mkspecs-files.patch
@@ -0,0 +1,61 @@
+Add a Buildroot 'device' to ease cross-compilation
+
+Qt5 has a mechanism to support "device" profiles, so that people can
+specify the compiler, compiler flags and so on for a specific device.
+
+We leverage this mechanism in the Buildroot packaging of qt5 to
+simplify cross-compilation: we have our own "device" definition, which
+allows us to easily pass the cross-compiler paths and flags from our
+qt5.mk.
+
+Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
+
+Index: b/mkspecs/devices/linux-buildroot-g++/qmake.conf
+===================================================================
+--- /dev/null
++++ b/mkspecs/devices/linux-buildroot-g++/qmake.conf
+@@ -0,0 +1,38 @@
++MAKEFILE_GENERATOR      = UNIX
++CONFIG                  += incremental gdb_dwarf_index
++QMAKE_INCREMENTAL_STYLE = sublib
++
++include(../../common/linux.conf)
++include(../../common/gcc-base-unix.conf)
++include(../../common/g++-unix.conf)
++
++load(device_config)
++
++QT_QPA_DEFAULT_PLATFORM = eglfs
++
++CROSS_COMPILE =
++COMPILER_CFLAGS =
++COMPILER_CXXFLAGS =
++
++# modifications to g++.conf
++QMAKE_CC                = $${CROSS_COMPILE}gcc
++QMAKE_CXX               = $${CROSS_COMPILE}g++
++QMAKE_LINK              = $${QMAKE_CXX}
++QMAKE_LINK_SHLIB        = $${QMAKE_CXX}
++
++# modifications to linux.conf
++QMAKE_AR                = $${CROSS_COMPILE}ar cqs
++QMAKE_OBJCOPY           = $${CROSS_COMPILE}objcopy
++QMAKE_STRIP             = $${CROSS_COMPILE}strip
++
++#modifications to gcc-base.conf
++QMAKE_CFLAGS           += $${COMPILER_CFLAGS}
++QMAKE_CXXFLAGS         += $${COMPILER_CXXFLAGS}
++QMAKE_CXXFLAGS_RELEASE += -O3
++
++QMAKE_LIBS             += -lrt -lpthread -ldl
++
++# Sanity check
++deviceSanityCheckCompiler()
++
++load(qt_config)
+Index: b/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
+===================================================================
+--- /dev/null
++++ b/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
+@@ -0,0 +1 @@
++#include "../../linux-g++/qplatformdefs.h"
diff --git a/package/qt5/qt5base/qt5base-uclibc-no-lfs.patch b/package/qt5/qt5base/qt5base-uclibc-no-lfs.patch
new file mode 100644
index 0000000..9772d49
--- /dev/null
+++ b/package/qt5/qt5base/qt5base-uclibc-no-lfs.patch
@@ -0,0 +1,36 @@
+From 6f88b27de256266947a7f6a3e70e18510754aab2 Mon Sep 17 00:00:00 2001
+From: Peter Korsgaard <jacmet@sunsite.dk>
+Date: Sat, 14 Apr 2012 20:36:07 +0200
+Subject: [PATCH] mkspecs/common/posix: fix !largefile builds on uClibc
+
+uClibc doesn't even define O_LARGEFILE when not configured with large file
+support, so ensure this define is only used when Qt is built with
+-largefile, otherwise the build fails with:
+
+io/qtemporaryfile.cpp: In function 'bool createFileFromTemplate(
+        NativeFileHandle&, QFileSystemEntry::NativePath&, size_t, size_t,
+        QSystemError&)':
+io/qtemporaryfile.cpp:197:57: error: 'O_LARGEFILE' was not declared in
+        this scope
+
+Moved to qt5 by Thomas Petazzoni.
+
+Reported-Upstream: https://bugreports.qt-project.org/browse/QTBUG-25321
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+
+Index: b/mkspecs/common/posix/qplatformdefs.h
+===================================================================
+--- a/mkspecs/common/posix/qplatformdefs.h
++++ b/mkspecs/common/posix/qplatformdefs.h
+@@ -123,7 +123,11 @@
+ #define QT_READ                 ::read
+ #define QT_WRITE                ::write
+ 
++#ifdef QT_LARGEFILE_SUPPORT
+ #define QT_OPEN_LARGEFILE       O_LARGEFILE
++#else
++#define QT_OPEN_LARGEFILE       0
++#endif
+ #define QT_OPEN_RDONLY          O_RDONLY
+ #define QT_OPEN_WRONLY          O_WRONLY
+ #define QT_OPEN_RDWR            O_RDWR
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
new file mode 100644
index 0000000..094ded1
--- /dev/null
+++ b/package/qt5/qt5base/qt5base.mk
@@ -0,0 +1,131 @@
+#############################################################
+#
+# qt5base
+#
+#############################################################
+
+QT5BASE_VERSION = 5.0.0
+QT5BASE_SITE = http://releases.qt-project.org/qt5/$(QT5BASE_VERSION)/submodules_tar/
+QT5BASE_SOURCE = qtbase-opensource-src-$(QT5BASE_VERSION).tar.xz
+
+QT5BASE_DEPENDENCIES = host-pkgconf zlib pcre
+QT5BASE_INSTALL_STAGING = YES
+
+# A few comments:
+#  * -no-pch to workaround the issue described at
+#     http://comments.gmane.org/gmane.comp.lib.qt.devel/5933.
+#  * -system-zlib because zlib is mandatory for Qt build, and we
+#     want to use the Buildroot packaged zlib
+#  * -system-pcre because pcre is mandatory to build Qt, and we
+#    want to use the one packaged in Buildroot
+QT5BASE_CONFIGURE_OPTS += \
+	-optimized-qmake \
+	-no-linuxfb \
+	-no-xcb \
+	-no-directfb \
+	-no-eglfs \
+	-no-kms \
+	-no-gui \
+	-no-widgets \
+	-no-opengl \
+	-no-glib \
+	-no-cups \
+	-no-nis \
+	-no-libudev \
+	-no-iconv \
+	-no-openssl \
+	-no-fontconfig \
+	-no-gif \
+	-no-libpng \
+	-no-libjpeg \
+	-no-icu \
+	-no-dbus \
+	-no-gstreamer \
+	-no-gtkstyle \
+	-system-zlib \
+	-system-pcre \
+	-no-pch
+
+ifeq ($(BR2_LARGEFILE),y)
+QT5BASE_CONFIGURE_OPTS += -largefile
+else
+QT5BASE_CONFIGURE_OPTS += -no-largefile
+endif
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5BASE_CONFIGURE_OPTS += -opensource -confirm-license
+QT5BASE_LICENSE = LGPLv2.1 or GPLv3.0
+QT5BASE_LICENSE_FILES = LICENSE.GPL LICENSE.LGPL LGPL_EXCEPTION.txt
+else
+QT5BASE_LICENSE = Commercial license
+QT5BASE_REDISTRIBUTE = NO
+endif
+
+# Build the list of libraries to be installed on the target
+QT5BASE_INSTALL_LIBS_y                                 += Qt5Core
+QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_NETWORK)    += Qt5Network
+QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_CONCURRENT) += Qt5Concurrent
+QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_SQL)        += Qt5Sql
+QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_TEST)       += Qt5Test
+QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_XML)        += Qt5Xml
+
+# Ideally, we could use -device-option to substitute variable values
+# in our linux-buildroot-g++/qmake.config, but this mechanism doesn't
+# nicely support variable values that contain spaces. So we use the
+# good old sed solution here.
+define QT5BASE_CONFIG_SET
+	$(SED) 's%^$(1).*%$(1) = $(2)%g' $(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
+endef
+
+define QT5BASE_CONFIGURE_CMDS
+	$(call QT5BASE_CONFIG_SET,CROSS_COMPILE,$(TARGET_CROSS))
+	$(call QT5BASE_CONFIG_SET,COMPILER_CFLAGS,$(TARGET_CFLAGS))
+	$(call QT5BASE_CONFIG_SET,COMPILER_CXXFLAGS,$(TARGET_CXXFLAGS))
+	(cd $(@D); \
+		PKG_CONFIG="$(PKG_CONFIG_HOST_BINARY)" \
+		PKG_CONFIG_LIBDIR="$(STAGING_DIR)/usr/lib/pkgconfig" \
+		PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
+		MAKEFLAGS="$(MAKEFLAGS) -j$(PARALLEL_JOBS)" \
+		./configure \
+		-v \
+		-prefix /usr \
+		-hostprefix $(HOST_DIR)/usr \
+		-sysroot $(STAGING_DIR) \
+		-plugindir /usr/lib/qt/plugins \
+		-fast \
+		-no-rpath \
+		-nomake examples -nomake demos -nomake tests \
+		-device buildroot \
+		-no-c++11 \
+		$(QT5BASE_CONFIGURE_OPTS) \
+	)
+endef
+
+define QT5BASE_BUILD_CMDS
+	$(MAKE) -C $(@D)
+endef
+
+define QT5BASE_INSTALL_STAGING_CMDS
+	$(MAKE) -C $(@D) install
+	$(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+define QT5BASE_INSTALL_TARGET_LIBS
+	for lib in $(QT5BASE_INSTALL_LIBS_y); do \
+		cp -dpf $(STAGING_DIR)/usr/lib/lib$${lib}.so.* $(TARGET_DIR)/usr/lib ; \
+	done
+endef
+
+define QT5BASE_INSTALL_TARGET_PLUGINS
+	if [ -d $(STAGING_DIR)/usr/lib/qt/plugins/ ] ; then \
+		mkdir -p $(TARGET_DIR)/usr/lib/qt/plugins ; \
+		cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/* $(TARGET_DIR)/usr/lib/qt/plugins ; \
+	fi
+endef
+
+define QT5BASE_INSTALL_TARGET_CMDS
+	$(QT5BASE_INSTALL_TARGET_LIBS)
+	$(QT5BASE_INSTALL_TARGET_PLUGINS)
+endef
+
+$(eval $(generic-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 12/30] qt5base: add GUI support
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (10 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 11/30] qt5base: new package Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 13/30] qt5base: support debug or release modes Thomas Petazzoni
                   ` (18 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/qt5base/Config.in  |   44 ++++++++++++++++++++++++++++++++++++++++
 package/qt5/qt5base/qt5base.mk |   29 +++++++++++++++++++++-----
 2 files changed, 68 insertions(+), 5 deletions(-)

diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index 4cd6ce0..801ef6f 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -53,4 +53,48 @@ config BR2_PACKAGE_QT5BASE_XML
 	help
 	  This options enables the Qt5Xml library.
 
+config BR2_PACKAGE_QT5BASE_GUI
+	bool "gui module"
+	# At least one graphic backend must be enabled, so enable
+	# linuxfb if nothing is enabled.
+	select BR2_PACKAGE_QT5BASE_LINUXFB if \
+	       !BR2_PACKAGE_QT5BASE_DIRECTFB && \
+	       !BR2_PACKAGE_QT5BASE_XCB
+	help
+	  This option enables the Qt5Gui library.
+
+if BR2_PACKAGE_QT5BASE_GUI
+
+config BR2_PACKAGE_QT5BASE_WIDGETS
+	bool "widgets module"
+	help
+	  This option enables the Qt5Widgets library.
+
+config BR2_PACKAGE_QT5BASE_LINUXFB
+	bool "linuxfb support"
+
+config BR2_PACKAGE_QT5BASE_DIRECTFB
+	bool "directfb support"
+	select BR2_PACKAGE_DIRECTFB
+
+config BR2_PACKAGE_QT5BASE_XCB
+	bool "X.org XCB support"
+	depends on BR2_PACKAGE_XORG7
+	select BR2_PACKAGE_LIBX11
+	select BR2_PACKAGE_LIBXCB
+	select BR2_PACKAGE_XCB_UTIL_IMAGE
+	select BR2_PACKAGE_XCB_UTIL_KEYSYMS
+	select BR2_PACKAGE_XCB_UTIL_WM
+
+comment "X.org XCB backend available if X.org is enabled"
+	depends on !BR2_PACKAGE_XORG7
+
+config BR2_PACKAGE_QT5BASE_PRINTSUPPORT
+	bool "print support module"
+	select BR2_PACKAGE_QT5BASE_WIDGETS
+	help
+	  This option enables the Qt5PrintSupport
+
+endif
+
 endif
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 094ded1..7213238 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -20,13 +20,8 @@ QT5BASE_INSTALL_STAGING = YES
 #    want to use the one packaged in Buildroot
 QT5BASE_CONFIGURE_OPTS += \
 	-optimized-qmake \
-	-no-linuxfb \
-	-no-xcb \
-	-no-directfb \
 	-no-eglfs \
 	-no-kms \
-	-no-gui \
-	-no-widgets \
 	-no-opengl \
 	-no-glib \
 	-no-cups \
@@ -61,6 +56,26 @@ QT5BASE_LICENSE = Commercial license
 QT5BASE_REDISTRIBUTE = NO
 endif
 
+# We have to use --enable-linuxfb, otherwise Qt thinks that -linuxfb
+# is to add a link against the "inuxfb" library.
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GUI),-gui,-no-gui)
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_WIDGETS),-widgets,-no-widgets)
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_LINUXFB),--enable-linuxfb,-no-linuxfb)
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),-directfb,-no-directfb)
+QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_DIRECTFB),directfb)
+
+ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
+QT5BASE_CONFIGURE_OPTS += -xcb
+QT5BASE_DEPENDENCIES   += \
+	libxcb \
+	xcb-util-wm \
+	xcb-util-image \
+	xcb-util-keysyms \
+	xlib_libX11
+else
+QT5_BASE_CONFIGURE_OPTS += -no-xcb
+endif
+
 # Build the list of libraries to be installed on the target
 QT5BASE_INSTALL_LIBS_y                                 += Qt5Core
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_NETWORK)    += Qt5Network
@@ -69,6 +84,10 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_SQL)        += Qt5Sql
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_TEST)       += Qt5Test
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_XML)        += Qt5Xml
 
+QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_GUI)          += Qt5Gui
+QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_WIDGETS)      += Qt5Widgets
+QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport
+
 # Ideally, we could use -device-option to substitute variable values
 # in our linux-buildroot-g++/qmake.config, but this mechanism doesn't
 # nicely support variable values that contain spaces. So we use the
-- 
1.7.9.5

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

* [Buildroot] [PATCH 13/30] qt5base: support debug or release modes
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (11 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 12/30] qt5base: add GUI support Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 14/30] qt5base: add OpenSSL support Thomas Petazzoni
                   ` (17 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/qt5base/qt5base.mk |    6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 7213238..41e7779 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -41,6 +41,12 @@ QT5BASE_CONFIGURE_OPTS += \
 	-system-pcre \
 	-no-pch
 
+ifeq ($(BR2_ENABLE_DEBUG),y)
+QT5BASE_CONFIGURE_OPTS += -debug
+else
+QT5BASE_CONFIGURE_OPTS += -release
+endif
+
 ifeq ($(BR2_LARGEFILE),y)
 QT5BASE_CONFIGURE_OPTS += -largefile
 else
-- 
1.7.9.5

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

* [Buildroot] [PATCH 14/30] qt5base: add OpenSSL support
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (12 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 13/30] qt5base: support debug or release modes Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 15/30] qt5base: add eglfs graphics backend Thomas Petazzoni
                   ` (16 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/qt5base/Config.in  |    8 ++++++++
 package/qt5/qt5base/qt5base.mk |    4 +++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index 801ef6f..540c8b2 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -33,6 +33,14 @@ config BR2_PACKAGE_QT5BASE_NETWORK
 	help
 	  This options enables the Qt5Network library.
 
+config BR2_PACKAGE_QT5BASE_NETWORK_OPENSSL
+	bool "OpenSSL support"
+	select BR2_PACKAGE_OPENSSL
+	depends on BR2_PACKAGE_QT5BASE_NETWORK
+	help
+	  This option enables the OpenSSL support in the Qt5Network
+	  library.
+
 config BR2_PACKAGE_QT5BASE_CONCURRENT
 	bool "concurrent module"
 	help
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 41e7779..79cbc48 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -28,7 +28,6 @@ QT5BASE_CONFIGURE_OPTS += \
 	-no-nis \
 	-no-libudev \
 	-no-iconv \
-	-no-openssl \
 	-no-fontconfig \
 	-no-gif \
 	-no-libpng \
@@ -82,6 +81,9 @@ else
 QT5_BASE_CONFIGURE_OPTS += -no-xcb
 endif
 
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_OPENSSL),-openssl,-no-openssl)
+QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_OPENSSL),openssl)
+
 # Build the list of libraries to be installed on the target
 QT5BASE_INSTALL_LIBS_y                                 += Qt5Core
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_NETWORK)    += Qt5Network
-- 
1.7.9.5

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

* [Buildroot] [PATCH 15/30] qt5base: add eglfs graphics backend
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (13 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 14/30] qt5base: add OpenSSL support Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 16/30] qt5base: add support for fontconfig, png, jpeg, gif Thomas Petazzoni
                   ` (15 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/qt5base/Config.in                      |   11 ++++++-
 ...nce-add-egl-to-CONFIG-to-get-correct-incl.patch |   32 ++++++++++++++++++++
 package/qt5/qt5base/qt5base.mk                     |    9 ++++--
 3 files changed, 49 insertions(+), 3 deletions(-)
 create mode 100644 package/qt5/qt5base/qt5base-eglconvenience-add-egl-to-CONFIG-to-get-correct-incl.patch

diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index 540c8b2..e91c405 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -67,7 +67,8 @@ config BR2_PACKAGE_QT5BASE_GUI
 	# linuxfb if nothing is enabled.
 	select BR2_PACKAGE_QT5BASE_LINUXFB if \
 	       !BR2_PACKAGE_QT5BASE_DIRECTFB && \
-	       !BR2_PACKAGE_QT5BASE_XCB
+	       !BR2_PACKAGE_QT5BASE_XCB && \
+	       !BR2_PACKAGE_QT5BASE_EGLFS
 	help
 	  This option enables the Qt5Gui library.
 
@@ -97,6 +98,14 @@ config BR2_PACKAGE_QT5BASE_XCB
 comment "X.org XCB backend available if X.org is enabled"
 	depends on !BR2_PACKAGE_XORG7
 
+config BR2_PACKAGE_QT5BASE_EGLFS
+	bool "eglfs support"
+	depends on BR2_PACKAGE_HAS_OPENGL_EGL
+	depends on BR2_PACKAGE_HAS_OPENGL_ES
+
+comment "eglfs backend available if OpenGLES and EGL are enabled"
+	depends on !BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_ES
+
 config BR2_PACKAGE_QT5BASE_PRINTSUPPORT
 	bool "print support module"
 	select BR2_PACKAGE_QT5BASE_WIDGETS
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
new file mode 100644
index 0000000..a85a5aa
--- /dev/null
+++ b/package/qt5/qt5base/qt5base-eglconvenience-add-egl-to-CONFIG-to-get-correct-incl.patch
@@ -0,0 +1,32 @@
+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.mk b/package/qt5/qt5base/qt5base.mk
index 79cbc48..3e8bde1 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -20,9 +20,7 @@ QT5BASE_INSTALL_STAGING = YES
 #    want to use the one packaged in Buildroot
 QT5BASE_CONFIGURE_OPTS += \
 	-optimized-qmake \
-	-no-eglfs \
 	-no-kms \
-	-no-opengl \
 	-no-glib \
 	-no-cups \
 	-no-nis \
@@ -81,6 +79,13 @@ else
 QT5_BASE_CONFIGURE_OPTS += -no-xcb
 endif
 
+ifeq ($(BR2_PACKAGE_QT5BASE_EGLFS),y)
+QT5BASE_CONFIGURE_OPTS += -opengl es2 -eglfs
+QT5BASE_DEPENDENCIES   += libgles libegl
+else
+QT5BASE_CONFIGURE_OPTS += -no-opengl -no-eglfs
+endif
+
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_OPENSSL),-openssl,-no-openssl)
 QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_OPENSSL),openssl)
 
-- 
1.7.9.5

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

* [Buildroot] [PATCH 16/30] qt5base: add support for fontconfig, png, jpeg, gif
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (14 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 15/30] qt5base: add eglfs graphics backend Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 17/30] qt5base: add D-Bus support Thomas Petazzoni
                   ` (14 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/qt5base/Config.in  |   26 ++++++++++++++++++++++++++
 package/qt5/qt5base/qt5base.mk |   12 ++++++++----
 2 files changed, 34 insertions(+), 4 deletions(-)

diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index e91c405..08e3c16 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -112,6 +112,32 @@ config BR2_PACKAGE_QT5BASE_PRINTSUPPORT
 	help
 	  This option enables the Qt5PrintSupport
 
+config BR2_PACKAGE_QT5BASE_FONTCONFIG
+	bool "fontconfig support"
+	select BR2_PACKAGE_FONTCONFIG
+	help
+	  This option enables Fontconfig and Freetype support using
+	  the system fontconfig and freetype2 libraries.
+
+config BR2_PACKAGE_QT5BASE_GIF
+	bool "GIF support"
+	help
+	  This compiles and installs the plugin for GIF reading support.
+
+config BR2_PACKAGE_QT5BASE_JPEG
+	bool "JPEG support"
+	select BR2_PACKAGE_JPEG
+	help
+	  This option enables JPEG support using the system libjpeg
+	  library.
+
+config BR2_PACKAGE_QT5BASE_PNG
+	bool "PNG support"
+	select BR2_PACKAGE_LIBPNG
+	help
+	  This option enables PNG support using the system libpng
+	  library.
+
 endif
 
 endif
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 3e8bde1..ac25f17 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -26,10 +26,6 @@ QT5BASE_CONFIGURE_OPTS += \
 	-no-nis \
 	-no-libudev \
 	-no-iconv \
-	-no-fontconfig \
-	-no-gif \
-	-no-libpng \
-	-no-libjpeg \
 	-no-icu \
 	-no-dbus \
 	-no-gstreamer \
@@ -89,6 +85,14 @@ endif
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_OPENSSL),-openssl,-no-openssl)
 QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_OPENSSL),openssl)
 
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),-fontconfig,-no-fontconfig)
+QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_FONTCONFIG),fontconfig)
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_GIF),,-no-gif)
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_JPEG),-system-libjpeg,-no-libjpeg)
+QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_JPEG),jpeg)
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_PNG),-system-libpng,-no-libpng)
+QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_PNG),libpng)
+
 # Build the list of libraries to be installed on the target
 QT5BASE_INSTALL_LIBS_y                                 += Qt5Core
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_NETWORK)    += Qt5Network
-- 
1.7.9.5

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

* [Buildroot] [PATCH 17/30] qt5base: add D-Bus support
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (15 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 16/30] qt5base: add support for fontconfig, png, jpeg, gif Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 18/30] qt5base: add glib support Thomas Petazzoni
                   ` (13 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/qt5base/Config.in  |    8 ++++++++
 package/qt5/qt5base/qt5base.mk |    6 +++++-
 2 files changed, 13 insertions(+), 1 deletion(-)

diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index 08e3c16..baf471f 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -140,4 +140,12 @@ config BR2_PACKAGE_QT5BASE_PNG
 
 endif
 
+config BR2_PACKAGE_QT5BASE_DBUS
+	bool "DBus module"
+	select BR2_PACKAGE_DBUS
+	depends on BR2_TOOLCHAIN_HAS_THREADS
+	depends on BR2_USE_MMU
+	help
+	  This option enables the D-Bus module.
+
 endif
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index ac25f17..7988ce2 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -27,7 +27,6 @@ QT5BASE_CONFIGURE_OPTS += \
 	-no-libudev \
 	-no-iconv \
 	-no-icu \
-	-no-dbus \
 	-no-gstreamer \
 	-no-gtkstyle \
 	-system-zlib \
@@ -93,6 +92,9 @@ QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_JPEG),jpeg)
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_PNG),-system-libpng,-no-libpng)
 QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_PNG),libpng)
 
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DBUS),-dbus,-no-dbus)
+QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_DBUS),dbus)
+
 # Build the list of libraries to be installed on the target
 QT5BASE_INSTALL_LIBS_y                                 += Qt5Core
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_NETWORK)    += Qt5Network
@@ -105,6 +107,8 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_GUI)          += Qt5Gui
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_WIDGETS)      += Qt5Widgets
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport
 
+QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus
+
 # Ideally, we could use -device-option to substitute variable values
 # in our linux-buildroot-g++/qmake.config, but this mechanism doesn't
 # nicely support variable values that contain spaces. So we use the
-- 
1.7.9.5

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

* [Buildroot] [PATCH 18/30] qt5base: add glib support
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (16 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 17/30] qt5base: add D-Bus support Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 19/30] qt5base: add support to build against ICU Thomas Petazzoni
                   ` (12 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/qt5base/qt5base.mk |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 7988ce2..414410a 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -21,7 +21,6 @@ QT5BASE_INSTALL_STAGING = YES
 QT5BASE_CONFIGURE_OPTS += \
 	-optimized-qmake \
 	-no-kms \
-	-no-glib \
 	-no-cups \
 	-no-nis \
 	-no-libudev \
@@ -95,6 +94,9 @@ QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_PNG),libpng)
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_DBUS),-dbus,-no-dbus)
 QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_DBUS),dbus)
 
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_LIBGLIB2),-glib,-no-glib)
+QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_LIBGLIB2),libglib2)
+
 # Build the list of libraries to be installed on the target
 QT5BASE_INSTALL_LIBS_y                                 += Qt5Core
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_NETWORK)    += Qt5Network
-- 
1.7.9.5

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

* [Buildroot] [PATCH 19/30] qt5base: add support to build against ICU
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (17 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 18/30] qt5base: add glib support Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 20/30] qt5: factor Qt5 version Thomas Petazzoni
                   ` (11 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Qt5Webkit requires Qt5Base to be built with ICU support, so we add
such support.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/qt5base/Config.in  |    7 +++++++
 package/qt5/qt5base/qt5base.mk |    4 +++-
 2 files changed, 10 insertions(+), 1 deletion(-)

diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
index baf471f..71c2ccd 100644
--- a/package/qt5/qt5base/Config.in
+++ b/package/qt5/qt5base/Config.in
@@ -148,4 +148,11 @@ config BR2_PACKAGE_QT5BASE_DBUS
 	help
 	  This option enables the D-Bus module.
 
+config BR2_PACKAGE_QT5BASE_ICU
+	bool "Enable ICU support"
+	select BR2_PACKAGE_ICU
+	help
+	  This option enables ICU support in Qt5. This is for example
+	  needed for Qt5Webkit.
+
 endif
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 414410a..865377f 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -25,7 +25,6 @@ QT5BASE_CONFIGURE_OPTS += \
 	-no-nis \
 	-no-libudev \
 	-no-iconv \
-	-no-icu \
 	-no-gstreamer \
 	-no-gtkstyle \
 	-system-zlib \
@@ -97,6 +96,9 @@ QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_DBUS),dbus)
 QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_LIBGLIB2),-glib,-no-glib)
 QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_LIBGLIB2),libglib2)
 
+QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_QT5BASE_ICU),-icu,-no-icu)
+QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_QT5BASE_ICU),icu)
+
 # Build the list of libraries to be installed on the target
 QT5BASE_INSTALL_LIBS_y                                 += Qt5Core
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_NETWORK)    += Qt5Network
-- 
1.7.9.5

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

* [Buildroot] [PATCH 20/30] qt5: factor Qt5 version
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (18 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 19/30] qt5base: add support to build against ICU Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 21/30] qt5/qt5svg: new package Thomas Petazzoni
                   ` (10 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Since the Qt5 version will be the same for all Qt5 modules, factor it
in qt5/qt5.mk as QT5_VERSION.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/qt5.mk             |    1 +
 package/qt5/qt5base/qt5base.mk |    2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/package/qt5/qt5.mk b/package/qt5/qt5.mk
index f220508..0c6d0f9 100644
--- a/package/qt5/qt5.mk
+++ b/package/qt5/qt5.mk
@@ -1,3 +1,4 @@
+QT5_VERSION = 5.0.0
 include package/qt5/*/*.mk
 
 define QT5_LA_PRL_FILES_FIXUP
diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 865377f..0ea15c2 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -4,7 +4,7 @@
 #
 #############################################################
 
-QT5BASE_VERSION = 5.0.0
+QT5BASE_VERSION = $(QT5_VERSION)
 QT5BASE_SITE = http://releases.qt-project.org/qt5/$(QT5BASE_VERSION)/submodules_tar/
 QT5BASE_SOURCE = qtbase-opensource-src-$(QT5BASE_VERSION).tar.xz
 
-- 
1.7.9.5

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

* [Buildroot] [PATCH 21/30] qt5/qt5svg: new package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (19 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 20/30] qt5: factor Qt5 version Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 22/30] qt5/qt5script: " Thomas Petazzoni
                   ` (9 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/Config.in        |    1 +
 package/qt5/qt5svg/Config.in |   11 ++++++++++
 package/qt5/qt5svg/qt5svg.mk |   47 ++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 59 insertions(+)
 create mode 100644 package/qt5/qt5svg/Config.in
 create mode 100644 package/qt5/qt5svg/qt5svg.mk

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index 1c9f8a6..f4d2b45 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -15,4 +15,5 @@ menuconfig BR2_PACKAGE_QT5
 
 if BR2_PACKAGE_QT5
 source "package/qt5/qt5base/Config.in"
+source "package/qt5/qt5svg/Config.in"
 endif
diff --git a/package/qt5/qt5svg/Config.in b/package/qt5/qt5svg/Config.in
new file mode 100644
index 0000000..27e6b05
--- /dev/null
+++ b/package/qt5/qt5svg/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_QT5SVG
+	bool "qt5svg"
+	select BR2_PACKAGE_QT5BASE
+	select BR2_PACKAGE_QT5BASE_GUI
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5svg module.
+
+	  http://qt-project.org
diff --git a/package/qt5/qt5svg/qt5svg.mk b/package/qt5/qt5svg/qt5svg.mk
new file mode 100644
index 0000000..8db28ba
--- /dev/null
+++ b/package/qt5/qt5svg/qt5svg.mk
@@ -0,0 +1,47 @@
+#############################################################
+#
+# qt5svg
+#
+#############################################################
+
+QT5SVG_VERSION = $(QT5_VERSION)
+QT5SVG_SITE = http://releases.qt-project.org/qt5/$(QT5SVG_VERSION)/submodules_tar/
+QT5SVG_SOURCE = qtsvg-opensource-src-$(QT5SVG_VERSION).tar.xz
+QT5SVG_DEPENDENCIES = qt5base
+QT5SVG_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5SVG_CONFIGURE_OPTS += -opensource -confirm-license
+QT5SVG_LICENSE = LGPLv2.1 or GPLv3.0
+# Here we would like to get license files from qt5base, but qt5base
+# may not be extracted at the time we get the legal-info for qt5svg.
+else
+QT5SVG_LICENSE = Commercial license
+QT5SVG_REDISTRIBUTE = NO
+endif
+
+define QT5SVG_CONFIGURE_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5SVG_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5SVG_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+	$(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+ifeq ($(BR2_PACKAGE_QT5BASE_WIDGETS),y)
+define QT5SVG_INSTALL_ICONENGINES
+	cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/iconengines $(TARGET_DIR)/usr/lib/qt/plugins
+endef
+endif
+define QT5SVG_INSTALL_TARGET_CMDS
+	cp -dpf $(STAGING_DIR)/usr/lib/libQt5Svg*.so.* $(TARGET_DIR)/usr/lib
+	cp -dpf $(STAGING_DIR)/usr/lib/qt/plugins/imageformats/libqsvg.so $(TARGET_DIR)/usr/lib/qt/plugins/imageformats/
+	$(QT5SVG_INSTALL_ICONENGINES)
+endef
+
+$(eval $(generic-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 22/30] qt5/qt5script: new package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (20 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 21/30] qt5/qt5svg: new package Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 23/30] qt5/qt5imageformats: " Thomas Petazzoni
                   ` (8 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/Config.in              |    1 +
 package/qt5/qt5script/Config.in    |   10 +++++++++
 package/qt5/qt5script/qt5script.mk |   41 ++++++++++++++++++++++++++++++++++++
 3 files changed, 52 insertions(+)
 create mode 100644 package/qt5/qt5script/Config.in
 create mode 100644 package/qt5/qt5script/qt5script.mk

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index f4d2b45..3f303e2 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -15,5 +15,6 @@ menuconfig BR2_PACKAGE_QT5
 
 if BR2_PACKAGE_QT5
 source "package/qt5/qt5base/Config.in"
+source "package/qt5/qt5script/Config.in"
 source "package/qt5/qt5svg/Config.in"
 endif
diff --git a/package/qt5/qt5script/Config.in b/package/qt5/qt5script/Config.in
new file mode 100644
index 0000000..3c5d60c
--- /dev/null
+++ b/package/qt5/qt5script/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_QT5SCRIPT
+	bool "qt5script"
+	select BR2_PACKAGE_QT5BASE
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5script module.
+
+	  http://qt-project.org
diff --git a/package/qt5/qt5script/qt5script.mk b/package/qt5/qt5script/qt5script.mk
new file mode 100644
index 0000000..a009402
--- /dev/null
+++ b/package/qt5/qt5script/qt5script.mk
@@ -0,0 +1,41 @@
+#############################################################
+#
+# qt5script
+#
+#############################################################
+
+QT5SCRIPT_VERSION = $(QT5_VERSION)
+QT5SCRIPT_SITE = http://releases.qt-project.org/qt5/$(QT5SCRIPT_VERSION)/submodules_tar/
+QT5SCRIPT_SOURCE = qtscript-opensource-src-$(QT5SCRIPT_VERSION).tar.xz
+QT5SCRIPT_DEPENDENCIES = qt5base
+QT5SCRIPT_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5SCRIPT_CONFIGURE_OPTS += -opensource -confirm-license
+QT5SCRIPT_LICENSE = LGPLv2.1 or GPLv3.0
+# Here we would like to get license files from qt5base, but qt5base
+# may not be extracted at the time we get the legal-info for
+# qt5script.
+else
+QT5SCRIPT_LICENSE = Commercial license
+QT5SCRIPT_REDISTRIBUTE = NO
+endif
+
+define QT5SCRIPT_CONFIGURE_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5SCRIPT_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5SCRIPT_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+	$(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+define QT5SCRIPT_INSTALL_TARGET_CMDS
+	cp -dpf $(STAGING_DIR)/usr/lib/libQt5Script*.so.* $(TARGET_DIR)/usr/lib
+endef
+
+$(eval $(generic-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 23/30] qt5/qt5imageformats: new package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (21 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 22/30] qt5/qt5script: " Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 24/30] qt5/qt5xmlpatterns: " Thomas Petazzoni
                   ` (7 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/Config.in                          |    1 +
 package/qt5/qt5imageformats/Config.in          |   10 ++++++
 package/qt5/qt5imageformats/qt5imageformats.mk |   39 ++++++++++++++++++++++++
 3 files changed, 50 insertions(+)
 create mode 100644 package/qt5/qt5imageformats/Config.in
 create mode 100644 package/qt5/qt5imageformats/qt5imageformats.mk

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index 3f303e2..397f9c2 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -15,6 +15,7 @@ menuconfig BR2_PACKAGE_QT5
 
 if BR2_PACKAGE_QT5
 source "package/qt5/qt5base/Config.in"
+source "package/qt5/qt5imageformats/Config.in"
 source "package/qt5/qt5script/Config.in"
 source "package/qt5/qt5svg/Config.in"
 endif
diff --git a/package/qt5/qt5imageformats/Config.in b/package/qt5/qt5imageformats/Config.in
new file mode 100644
index 0000000..d37e08f
--- /dev/null
+++ b/package/qt5/qt5imageformats/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_QT5IMAGEFORMATS
+	bool "qt5imageformats"
+	select BR2_PACKAGE_QT5BASE
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5imageformats module.
+
+	  http://qt-project.org
diff --git a/package/qt5/qt5imageformats/qt5imageformats.mk b/package/qt5/qt5imageformats/qt5imageformats.mk
new file mode 100644
index 0000000..c40d545
--- /dev/null
+++ b/package/qt5/qt5imageformats/qt5imageformats.mk
@@ -0,0 +1,39 @@
+#############################################################
+#
+# qt5imageformats
+#
+#############################################################
+
+QT5IMAGEFORMATS_VERSION = $(QT5_VERSION)
+QT5IMAGEFORMATS_SITE = http://releases.qt-project.org/qt5/$(QT5IMAGEFORMATS_VERSION)/submodules_tar/
+QT5IMAGEFORMATS_SOURCE = qtimageformats-opensource-src-$(QT5IMAGEFORMATS_VERSION).tar.xz
+QT5IMAGEFORMATS_DEPENDENCIES = qt5base
+QT5IMAGEFORMATS_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5IMAGEFORMATS_CONFIGURE_OPTS += -opensource -confirm-license
+QT5IMAGEFORMATS_LICENSE = LGPLv2.1 or GPLv3.0
+# Here we would like to get license files from qt5base, but qt5base
+# may not be extracted at the time we get the legal-info for qt5svg.
+else
+QT5IMAGEFORMATS_LICENSE = Commercial license
+QT5IMAGEFORMATS_REDISTRIBUTE = NO
+endif
+
+define QT5IMAGEFORMATS_CONFIGURE_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5IMAGEFORMATS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5IMAGEFORMATS_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+endef
+
+define QT5IMAGEFORMATS_INSTALL_TARGET_CMDS
+	cp -dpf $(STAGING_DIR)/usr/lib/qt/plugins/imageformats/*.so $(TARGET_DIR)/usr/lib/qt/plugins/imageformats/
+endef
+
+$(eval $(generic-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 24/30] qt5/qt5xmlpatterns: new package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (22 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 23/30] qt5/qt5imageformats: " Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 25/30] qt5/qt5jsbackend: " Thomas Petazzoni
                   ` (6 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/Config.in                        |    1 +
 package/qt5/qt5xmlpatterns/Config.in         |   10 +++++++
 package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk |   41 ++++++++++++++++++++++++++
 3 files changed, 52 insertions(+)
 create mode 100644 package/qt5/qt5xmlpatterns/Config.in
 create mode 100644 package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index 397f9c2..3979fa5 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -18,4 +18,5 @@ source "package/qt5/qt5base/Config.in"
 source "package/qt5/qt5imageformats/Config.in"
 source "package/qt5/qt5script/Config.in"
 source "package/qt5/qt5svg/Config.in"
+source "package/qt5/qt5xmlpatterns/Config.in"
 endif
diff --git a/package/qt5/qt5xmlpatterns/Config.in b/package/qt5/qt5xmlpatterns/Config.in
new file mode 100644
index 0000000..6ea7466
--- /dev/null
+++ b/package/qt5/qt5xmlpatterns/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_QT5XMLPATTERNS
+	bool "qt5xmlpatterns"
+	select BR2_PACKAGE_QT5BASE
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5xmlpatterns module.
+
+	  http://qt-project.org
diff --git a/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk
new file mode 100644
index 0000000..f1d3a50
--- /dev/null
+++ b/package/qt5/qt5xmlpatterns/qt5xmlpatterns.mk
@@ -0,0 +1,41 @@
+#############################################################
+#
+# qt5xmlpatterns
+#
+#############################################################
+
+QT5XMLPATTERNS_VERSION = $(QT5_VERSION)
+QT5XMLPATTERNS_SITE = http://releases.qt-project.org/qt5/$(QT5XMLPATTERNS_VERSION)/submodules_tar/
+QT5XMLPATTERNS_SOURCE = qtxmlpatterns-opensource-src-$(QT5XMLPATTERNS_VERSION).tar.xz
+QT5XMLPATTERNS_DEPENDENCIES = qt5base
+QT5XMLPATTERNS_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5XMLPATTERNS_CONFIGURE_OPTS += -opensource -confirm-license
+QT5XMLPATTERNS_LICENSE = LGPLv2.1 or GPLv3.0
+# Here we would like to get license files from qt5base, but qt5base
+# may not be extracted at the time we get the legal-info for
+# qt5script.
+else
+QT5XMLPATTERNS_LICENSE = Commercial license
+QT5XMLPATTERNS_REDISTRIBUTE = NO
+endif
+
+define QT5XMLPATTERNS_CONFIGURE_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5XMLPATTERNS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5XMLPATTERNS_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+	$(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+define QT5XMLPATTERNS_INSTALL_TARGET_CMDS
+	cp -dpf $(STAGING_DIR)/usr/lib/libQt5XmlPatterns*.so.* $(TARGET_DIR)/usr/lib
+endef
+
+$(eval $(generic-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 25/30] qt5/qt5jsbackend: new package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (23 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 24/30] qt5/qt5xmlpatterns: " Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 26/30] qt5/qt5declarative: " Thomas Petazzoni
                   ` (5 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/Config.in                    |    1 +
 package/qt5/qt5jsbackend/Config.in       |   10 ++++++++
 package/qt5/qt5jsbackend/qt5jsbackend.mk |   41 ++++++++++++++++++++++++++++++
 3 files changed, 52 insertions(+)
 create mode 100644 package/qt5/qt5jsbackend/Config.in
 create mode 100644 package/qt5/qt5jsbackend/qt5jsbackend.mk

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index 3979fa5..8a4ed53 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -16,6 +16,7 @@ menuconfig BR2_PACKAGE_QT5
 if BR2_PACKAGE_QT5
 source "package/qt5/qt5base/Config.in"
 source "package/qt5/qt5imageformats/Config.in"
+source "package/qt5/qt5jsbackend/Config.in"
 source "package/qt5/qt5script/Config.in"
 source "package/qt5/qt5svg/Config.in"
 source "package/qt5/qt5xmlpatterns/Config.in"
diff --git a/package/qt5/qt5jsbackend/Config.in b/package/qt5/qt5jsbackend/Config.in
new file mode 100644
index 0000000..89d5067
--- /dev/null
+++ b/package/qt5/qt5jsbackend/Config.in
@@ -0,0 +1,10 @@
+config BR2_PACKAGE_QT5JSBACKEND
+	bool "qt5jsbackend"
+	select BR2_PACKAGE_QT5BASE
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5jsbackend module.
+
+	  http://qt-project.org
diff --git a/package/qt5/qt5jsbackend/qt5jsbackend.mk b/package/qt5/qt5jsbackend/qt5jsbackend.mk
new file mode 100644
index 0000000..74c19be
--- /dev/null
+++ b/package/qt5/qt5jsbackend/qt5jsbackend.mk
@@ -0,0 +1,41 @@
+#############################################################
+#
+# qt5jsbackend
+#
+#############################################################
+
+QT5JSBACKEND_VERSION = $(QT5_VERSION)
+QT5JSBACKEND_SITE = http://releases.qt-project.org/qt5/$(QT5JSBACKEND_VERSION)/submodules_tar/
+QT5JSBACKEND_SOURCE = qtjsbackend-opensource-src-$(QT5JSBACKEND_VERSION).tar.xz
+QT5JSBACKEND_DEPENDENCIES = qt5base
+QT5JSBACKEND_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5JSBACKEND_CONFIGURE_OPTS += -opensource -confirm-license
+QT5JSBACKEND_LICENSE = LGPLv2.1 or GPLv3.0
+# Here we would like to get license files from qt5base, but qt5base
+# may not be extracted at the time we get the legal-info for
+# qt5script.
+else
+QT5JSBACKEND_LICENSE = Commercial license
+QT5JSBACKEND_REDISTRIBUTE = NO
+endif
+
+define QT5JSBACKEND_CONFIGURE_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5JSBACKEND_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5JSBACKEND_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+	$(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+define QT5JSBACKEND_INSTALL_TARGET_CMDS
+	cp -dpf $(STAGING_DIR)/usr/lib/libQt5V8*.so.* $(TARGET_DIR)/usr/lib
+endef
+
+$(eval $(generic-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 26/30] qt5/qt5declarative: new package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (24 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 25/30] qt5/qt5jsbackend: " Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 27/30] qt5/qt5graphicaleffects: " Thomas Petazzoni
                   ` (4 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/Config.in                        |    1 +
 package/qt5/qt5declarative/Config.in         |   18 ++++++++++
 package/qt5/qt5declarative/qt5declarative.mk |   48 ++++++++++++++++++++++++++
 3 files changed, 67 insertions(+)
 create mode 100644 package/qt5/qt5declarative/Config.in
 create mode 100644 package/qt5/qt5declarative/qt5declarative.mk

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index 8a4ed53..ff98b9e 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -15,6 +15,7 @@ menuconfig BR2_PACKAGE_QT5
 
 if BR2_PACKAGE_QT5
 source "package/qt5/qt5base/Config.in"
+source "package/qt5/qt5declarative/Config.in"
 source "package/qt5/qt5imageformats/Config.in"
 source "package/qt5/qt5jsbackend/Config.in"
 source "package/qt5/qt5script/Config.in"
diff --git a/package/qt5/qt5declarative/Config.in b/package/qt5/qt5declarative/Config.in
new file mode 100644
index 0000000..f862b94
--- /dev/null
+++ b/package/qt5/qt5declarative/Config.in
@@ -0,0 +1,18 @@
+config BR2_PACKAGE_QT5DECLARATIVE
+	bool "qt5declarative"
+	select BR2_PACKAGE_QT5XMLPATTERNS
+	select BR2_PACKAGE_QT5JSBACKEND
+	select BR2_PACKAGE_QT5BASE
+	select BR2_PACKAGE_QT5BASE_EGLFS
+	depends on BR2_PACKAGE_HAS_OPENGL_EGL
+	depends on BR2_PACKAGE_HAS_OPENGL_ES
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5declarative module.
+
+	  http://qt-project.org
+
+comment "qt5declarative requires an OpenGL-capable backend"
+	depends on !BR2_PACKAGE_HAS_OPENGL_EGL || !BR2_PACKAGE_HAS_OPENGL_ES
diff --git a/package/qt5/qt5declarative/qt5declarative.mk b/package/qt5/qt5declarative/qt5declarative.mk
new file mode 100644
index 0000000..02fae6a
--- /dev/null
+++ b/package/qt5/qt5declarative/qt5declarative.mk
@@ -0,0 +1,48 @@
+#############################################################
+#
+# qt5declarative
+#
+#############################################################
+
+QT5DECLARATIVE_VERSION = $(QT5_VERSION)
+QT5DECLARATIVE_SITE = http://releases.qt-project.org/qt5/$(QT5DECLARATIVE_VERSION)/submodules_tar/
+QT5DECLARATIVE_SOURCE = qtdeclarative-opensource-src-$(QT5DECLARATIVE_VERSION).tar.xz
+QT5DECLARATIVE_DEPENDENCIES = qt5base qt5xmlpatterns qt5jsbackend
+QT5DECLARATIVE_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5DECLARATIVE_CONFIGURE_OPTS += -opensource -confirm-license
+QT5DECLARATIVE_LICENSE = LGPLv2.1 or GPLv3.0
+# Here we would like to get license files from qt5base, but qt5base
+# may not be extracted at the time we get the legal-info for
+# qt5script.
+else
+QT5DECLARATIVE_LICENSE = Commercial license
+QT5DECLARATIVE_REDISTRIBUTE = NO
+endif
+
+define QT5DECLARATIVE_CONFIGURE_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5DECLARATIVE_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+		sub-src-all sub-tools-all
+endef
+
+define QT5DECLARATIVE_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) \
+		sub-src-install_subtargets \
+		sub-tools-install_subtargets
+	$(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+define QT5DECLARATIVE_INSTALL_TARGET_CMDS
+	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 -dpf $(STAGING_DIR)/usr/bin/qml* $(TARGET_DIR)/usr/bin
+	cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/qml* $(TARGET_DIR)/usr/lib/qt/plugins
+	cp -dpfr $(STAGING_DIR)/usr/qml $(TARGET_DIR)/usr
+endef
+
+$(eval $(generic-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 27/30] qt5/qt5graphicaleffects: new package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (25 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 26/30] qt5/qt5declarative: " Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 28/30] qt5/qt5multimedia: " Thomas Petazzoni
                   ` (3 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/Config.in                              |    1 +
 package/qt5/qt5graphicaleffects/Config.in          |   11 ++++++
 .../qt5/qt5graphicaleffects/qt5graphicaleffects.mk |   40 ++++++++++++++++++++
 3 files changed, 52 insertions(+)
 create mode 100644 package/qt5/qt5graphicaleffects/Config.in
 create mode 100644 package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index ff98b9e..59234dd 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -16,6 +16,7 @@ menuconfig BR2_PACKAGE_QT5
 if BR2_PACKAGE_QT5
 source "package/qt5/qt5base/Config.in"
 source "package/qt5/qt5declarative/Config.in"
+source "package/qt5/qt5graphicaleffects/Config.in"
 source "package/qt5/qt5imageformats/Config.in"
 source "package/qt5/qt5jsbackend/Config.in"
 source "package/qt5/qt5script/Config.in"
diff --git a/package/qt5/qt5graphicaleffects/Config.in b/package/qt5/qt5graphicaleffects/Config.in
new file mode 100644
index 0000000..79ca432
--- /dev/null
+++ b/package/qt5/qt5graphicaleffects/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_QT5GRAPHICALEFFECTS
+	bool "qt5graphicaleffects"
+	select BR2_PACKAGE_QT5BASE
+	select BR2_PACKAGE_QT5DECLARATIVE
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5graphicaleffects module.
+
+	  http://qt-project.org
diff --git a/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk
new file mode 100644
index 0000000..c4b7231
--- /dev/null
+++ b/package/qt5/qt5graphicaleffects/qt5graphicaleffects.mk
@@ -0,0 +1,40 @@
+#############################################################
+#
+# qt5graphicaleffects
+#
+#############################################################
+
+QT5GRAPHICALEFFECTS_VERSION = $(QT5_VERSION)
+QT5GRAPHICALEFFECTS_SITE = http://releases.qt-project.org/qt5/$(QT5GRAPHICALEFFECTS_VERSION)/submodules_tar/
+QT5GRAPHICALEFFECTS_SOURCE = qtgraphicaleffects-opensource-src-$(QT5GRAPHICALEFFECTS_VERSION).tar.xz
+QT5GRAPHICALEFFECTS_DEPENDENCIES = qt5base qt5declarative
+QT5GRAPHICALEFFECTS_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5GRAPHICALEFFECTS_CONFIGURE_OPTS += -opensource -confirm-license
+QT5GRAPHICALEFFECTS_LICENSE = LGPLv2.1 or GPLv3.0
+# Here we would like to get license files from qt5base, but qt5base
+# may not be extracted at the time we get the legal-info for
+# qt5script.
+else
+QT5GRAPHICALEFFECTS_LICENSE = Commercial license
+QT5GRAPHICALEFFECTS_REDISTRIBUTE = NO
+endif
+
+define QT5GRAPHICALEFFECTS_CONFIGURE_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5GRAPHICALEFFECTS_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5GRAPHICALEFFECTS_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+endef
+
+define QT5GRAPHICALEFFECTS_INSTALL_TARGET_CMDS
+	cp -dpfr $(STAGING_DIR)/usr/qml/QtGraphicalEffects $(TARGET_DIR)/usr/qml
+endef
+
+$(eval $(generic-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 28/30] qt5/qt5multimedia: new package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (26 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 27/30] qt5/qt5graphicaleffects: " Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 29/30] qt5/qt5quick1: " Thomas Petazzoni
                   ` (2 subsequent siblings)
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/Config.in                      |    1 +
 package/qt5/qt5multimedia/Config.in        |   11 +++++++
 package/qt5/qt5multimedia/qt5multimedia.mk |   43 ++++++++++++++++++++++++++++
 3 files changed, 55 insertions(+)
 create mode 100644 package/qt5/qt5multimedia/Config.in
 create mode 100644 package/qt5/qt5multimedia/qt5multimedia.mk

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index 59234dd..e8e581c 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -19,6 +19,7 @@ source "package/qt5/qt5declarative/Config.in"
 source "package/qt5/qt5graphicaleffects/Config.in"
 source "package/qt5/qt5imageformats/Config.in"
 source "package/qt5/qt5jsbackend/Config.in"
+source "package/qt5/qt5multimedia/Config.in"
 source "package/qt5/qt5script/Config.in"
 source "package/qt5/qt5svg/Config.in"
 source "package/qt5/qt5xmlpatterns/Config.in"
diff --git a/package/qt5/qt5multimedia/Config.in b/package/qt5/qt5multimedia/Config.in
new file mode 100644
index 0000000..8024798
--- /dev/null
+++ b/package/qt5/qt5multimedia/Config.in
@@ -0,0 +1,11 @@
+config BR2_PACKAGE_QT5MULTIMEDIA
+	bool "qt5multimedia"
+	select BR2_PACKAGE_QT5BASE
+	select BR2_PACKAGE_QT5DECLARATIVE
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5multimedia module.
+
+	  http://qt-project.org
diff --git a/package/qt5/qt5multimedia/qt5multimedia.mk b/package/qt5/qt5multimedia/qt5multimedia.mk
new file mode 100644
index 0000000..5248b2e
--- /dev/null
+++ b/package/qt5/qt5multimedia/qt5multimedia.mk
@@ -0,0 +1,43 @@
+#############################################################
+#
+# qt5multimedia
+#
+#############################################################
+
+QT5MULTIMEDIA_VERSION = $(QT5_VERSION)
+QT5MULTIMEDIA_SITE = http://releases.qt-project.org/qt5/$(QT5MULTIMEDIA_VERSION)/submodules_tar/
+QT5MULTIMEDIA_SOURCE = qtmultimedia-opensource-src-$(QT5MULTIMEDIA_VERSION).tar.xz
+QT5MULTIMEDIA_DEPENDENCIES = qt5base qt5declarative
+QT5MULTIMEDIA_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5MULTIMEDIA_CONFIGURE_OPTS += -opensource -confirm-license
+QT5MULTIMEDIA_LICENSE = LGPLv2.1 or GPLv3.0
+# Here we would like to get license files from qt5base, but qt5base
+# may not be extracted at the time we get the legal-info for
+# qt5script.
+else
+QT5MULTIMEDIA_LICENSE = Commercial license
+QT5MULTIMEDIA_REDISTRIBUTE = NO
+endif
+
+define QT5MULTIMEDIA_CONFIGURE_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5MULTIMEDIA_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5MULTIMEDIA_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+	$(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+define QT5MULTIMEDIA_INSTALL_TARGET_CMDS
+	cp -dpf $(STAGING_DIR)/usr/lib/libQt5Multimedia*.so.* $(TARGET_DIR)/usr/lib
+	cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/* $(TARGET_DIR)/usr/lib/qt/plugins
+	cp -dpfr $(STAGING_DIR)/usr/qml/* $(TARGET_DIR)/usr/qml
+endef
+
+$(eval $(generic-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 29/30] qt5/qt5quick1: new package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (27 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 28/30] qt5/qt5multimedia: " Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-02-27 23:26 ` [Buildroot] [PATCH 30/30] qt5/qt5webkit: " Thomas Petazzoni
  2013-03-01  2:26 ` [Buildroot] [PATCH] Add Qt5 packages Floris Bos
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/Config.in              |    1 +
 package/qt5/qt5quick1/Config.in    |   15 ++++++++++++
 package/qt5/qt5quick1/qt5quick1.mk |   45 ++++++++++++++++++++++++++++++++++++
 3 files changed, 61 insertions(+)
 create mode 100644 package/qt5/qt5quick1/Config.in
 create mode 100644 package/qt5/qt5quick1/qt5quick1.mk

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index e8e581c..0db6c45 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -20,6 +20,7 @@ source "package/qt5/qt5graphicaleffects/Config.in"
 source "package/qt5/qt5imageformats/Config.in"
 source "package/qt5/qt5jsbackend/Config.in"
 source "package/qt5/qt5multimedia/Config.in"
+source "package/qt5/qt5quick1/Config.in"
 source "package/qt5/qt5script/Config.in"
 source "package/qt5/qt5svg/Config.in"
 source "package/qt5/qt5xmlpatterns/Config.in"
diff --git a/package/qt5/qt5quick1/Config.in b/package/qt5/qt5quick1/Config.in
new file mode 100644
index 0000000..157038c
--- /dev/null
+++ b/package/qt5/qt5quick1/Config.in
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_QT5QUICK1
+	bool "qt5quick1"
+	select BR2_PACKAGE_QT5BASE
+	select BR2_PACKAGE_QT5SCRIPT
+	select BR2_PACKAGE_QT5XMLPATTERNS
+	select BR2_PACKAGE_QT5DECLARATIVE
+	select BR2_PACKAGE_QT5JSBACKEND
+	select BR2_PACKAGE_QT5WEBKIT
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5quick1 module.
+
+	  http://qt-project.org
diff --git a/package/qt5/qt5quick1/qt5quick1.mk b/package/qt5/qt5quick1/qt5quick1.mk
new file mode 100644
index 0000000..e076123
--- /dev/null
+++ b/package/qt5/qt5quick1/qt5quick1.mk
@@ -0,0 +1,45 @@
+#############################################################
+#
+# qt5quick1
+#
+#############################################################
+
+QT5QUICK1_VERSION = $(QT5_VERSION)
+QT5QUICK1_SITE = http://releases.qt-project.org/qt5/$(QT5QUICK1_VERSION)/submodules_tar/
+QT5QUICK1_SOURCE = qtquick1-opensource-src-$(QT5QUICK1_VERSION).tar.xz
+QT5QUICK1_DEPENDENCIES = qt5base qt5xmlpatterns qt5script qt5declarative qt5jsbackend qt5webkit
+QT5QUICK1_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5QUICK1_CONFIGURE_OPTS += -opensource -confirm-license
+QT5QUICK1_LICENSE = LGPLv2.1 or GPLv3.0
+# Here we would like to get license files from qt5base, but qt5base
+# may not be extracted at the time we get the legal-info for
+# qt5script.
+else
+QT5QUICK1_LICENSE = Commercial license
+QT5QUICK1_REDISTRIBUTE = NO
+endif
+
+define QT5QUICK1_CONFIGURE_CMDS
+	(cd $(@D); $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5QUICK1_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5QUICK1_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+	$(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+define QT5QUICK1_INSTALL_TARGET_CMDS
+	cp -dpf $(STAGING_DIR)/usr/lib/libQt5Declarative.so.* $(TARGET_DIR)/usr/lib
+	cp -dpf $(STAGING_DIR)/usr/bin/qmlviewer $(TARGET_DIR)/usr/bin
+	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/imports $(TARGET_DIR)/usr
+endef
+
+$(eval $(generic-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 30/30] qt5/qt5webkit: new package
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (28 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 29/30] qt5/qt5quick1: " Thomas Petazzoni
@ 2013-02-27 23:26 ` Thomas Petazzoni
  2013-03-01  2:26 ` [Buildroot] [PATCH] Add Qt5 packages Floris Bos
  30 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-27 23:26 UTC (permalink / raw)
  To: buildroot

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 package/qt5/Config.in              |    1 +
 package/qt5/qt5webkit/Config.in    |   12 ++++++++++
 package/qt5/qt5webkit/qt5webkit.mk |   43 ++++++++++++++++++++++++++++++++++++
 3 files changed, 56 insertions(+)
 create mode 100644 package/qt5/qt5webkit/Config.in
 create mode 100644 package/qt5/qt5webkit/qt5webkit.mk

diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index 0db6c45..5662f55 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -23,5 +23,6 @@ source "package/qt5/qt5multimedia/Config.in"
 source "package/qt5/qt5quick1/Config.in"
 source "package/qt5/qt5script/Config.in"
 source "package/qt5/qt5svg/Config.in"
+source "package/qt5/qt5webkit/Config.in"
 source "package/qt5/qt5xmlpatterns/Config.in"
 endif
diff --git a/package/qt5/qt5webkit/Config.in b/package/qt5/qt5webkit/Config.in
new file mode 100644
index 0000000..17ee3ab
--- /dev/null
+++ b/package/qt5/qt5webkit/Config.in
@@ -0,0 +1,12 @@
+config BR2_PACKAGE_QT5WEBKIT
+	bool "qt5webkit"
+	select BR2_PACKAGE_QT5BASE
+	select BR2_PACKAGE_QT5BASE_ICU
+	select BR2_PACKAGE_SQLITE
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5webkit module.
+
+	  http://qt-project.org
diff --git a/package/qt5/qt5webkit/qt5webkit.mk b/package/qt5/qt5webkit/qt5webkit.mk
new file mode 100644
index 0000000..d577cf8
--- /dev/null
+++ b/package/qt5/qt5webkit/qt5webkit.mk
@@ -0,0 +1,43 @@
+#############################################################
+#
+# qt5webkit
+#
+#############################################################
+
+QT5WEBKIT_VERSION = $(QT5_VERSION)
+QT5WEBKIT_SITE = http://releases.qt-project.org/qt5/$(QT5WEBKIT_VERSION)/submodules_tar/
+QT5WEBKIT_SOURCE = qtwebkit-opensource-src-$(QT5WEBKIT_VERSION).tar.xz
+QT5WEBKIT_DEPENDENCIES = qt5base sqlite host-ruby host-gperf
+QT5WEBKIT_INSTALL_STAGING = YES
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5WEBKIT_CONFIGURE_OPTS += -opensource -confirm-license
+QT5WEBKIT_LICENSE = LGPLv2.1 or GPLv3.0
+# Here we would like to get license files from qt5base, but qt5base
+# may not be extracted at the time we get the legal-info for
+# qt5script.
+else
+QT5WEBKIT_LICENSE = Commercial license
+QT5WEBKIT_REDISTRIBUTE = NO
+endif
+
+define QT5WEBKIT_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5WEBKIT_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5WEBKIT_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
+	$(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+define QT5WEBKIT_INSTALL_TARGET_CMDS
+	cp -dpf $(STAGING_DIR)/usr/lib/libQt5WebKit*.so.* $(TARGET_DIR)/usr/lib
+	cp -dpf $(@D)/bin/* $(TARGET_DIR)/usr/bin/
+	cp -dpfr $(STAGING_DIR)/usr/qml/QtWebKit $(TARGET_DIR)/usr/qml/
+endef
+
+$(eval $(generic-package))
-- 
1.7.9.5

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

* [Buildroot] [PATCH 01/30] pcre: add support for 16 bits and 32 bits variants
  2013-02-27 23:25 ` [Buildroot] [PATCH 01/30] pcre: add support for 16 bits and 32 bits variants Thomas Petazzoni
@ 2013-02-28  0:00   ` Gustavo Zacarias
  2013-02-28  8:28     ` Thomas Petazzoni
  0 siblings, 1 reply; 41+ messages in thread
From: Gustavo Zacarias @ 2013-02-28  0:00 UTC (permalink / raw)
  To: buildroot

On 02/27/2013 08:25 PM, Thomas Petazzoni wrote:
> backward compatibility, the 8bits variant is automatically chosen is

s/is/if/ (2nd)

> +config BR2_PACKAGE_PCRE_8
> +	bool "8-bit pcre"
> +	help
> +	  This option builds the 8-bit pcre library, i.e 'libpcre'
> +
> +config BR2_PACKAGE_PCRE_16
> +	bool "16-bit pcre"
> +	help
> +	  This option builds the 8-bit pcre library, i.e 'libpcre16'
> +
> +config BR2_PACKAGE_PCRE_32
> +	bool "32-bit pcre"
> +	help
> +	  This option builds the 8-bit pcre library, i.e 'libpcre32'
> +
> +endif

They're all 8 bits even if they're 16 or 32? :)
Otherwise looking good.
Regards.

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

* [Buildroot] [PATCH 01/30] pcre: add support for 16 bits and 32 bits variants
  2013-02-28  0:00   ` Gustavo Zacarias
@ 2013-02-28  8:28     ` Thomas Petazzoni
  0 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-28  8:28 UTC (permalink / raw)
  To: buildroot

Dear Gustavo Zacarias,

On Wed, 27 Feb 2013 21:00:15 -0300, Gustavo Zacarias wrote:
> On 02/27/2013 08:25 PM, Thomas Petazzoni wrote:
> > backward compatibility, the 8bits variant is automatically chosen is
> 
> s/is/if/ (2nd)
> 
> > +config BR2_PACKAGE_PCRE_8
> > +	bool "8-bit pcre"
> > +	help
> > +	  This option builds the 8-bit pcre library, i.e 'libpcre'
> > +
> > +config BR2_PACKAGE_PCRE_16
> > +	bool "16-bit pcre"
> > +	help
> > +	  This option builds the 8-bit pcre library, i.e
> > 'libpcre16' +
> > +config BR2_PACKAGE_PCRE_32
> > +	bool "32-bit pcre"
> > +	help
> > +	  This option builds the 8-bit pcre library, i.e
> > 'libpcre32' +
> > +endif
> 
> They're all 8 bits even if they're 16 or 32? :)

Thanks, will rework for next version.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH 08/30] jpeg: convert to a real package
  2013-02-27 23:25 ` [Buildroot] [PATCH 08/30] jpeg: convert to a real package Thomas Petazzoni
@ 2013-02-28 22:13   ` Samuel Martin
  2013-02-28 23:13     ` Thomas Petazzoni
  0 siblings, 1 reply; 41+ messages in thread
From: Samuel Martin @ 2013-02-28 22:13 UTC (permalink / raw)
  To: buildroot

Hi Thomas, all,

2013/2/28 Thomas Petazzoni <thomas.petazzoni@free-electrons.com>:
> jpeg is a virtual package, but since it is listed in the dependencies
> of other packages, it should obey to all the normal make rules for
> packages. Notably, the jpeg-show-depends target is mandatory for the
> graph-depends script to work.
>
> Instead to implement such a make target manually, make jpeg a normal
> generic-package, except that it doesn't have any source.
Nice, it also prevents from fault positive match (about the
infrastructure) in the autobuilder stats :)

>
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  package/jpeg/jpeg.mk |   22 ++++++++++++++++++----
>  1 file changed, 18 insertions(+), 4 deletions(-)
>
> diff --git a/package/jpeg/jpeg.mk b/package/jpeg/jpeg.mk
> index 3caacaa..962908d 100644
> --- a/package/jpeg/jpeg.mk
> +++ b/package/jpeg/jpeg.mk
> @@ -1,10 +1,24 @@
>  #############################################################
>  #
> -# jpeg
> +# Virtual jpeg package
>  #
>  #############################################################
>
> -jpeg: $(if $(BR2_PACKAGE_JPEG_TURBO),jpeg-turbo,libjpeg)
> +JPEG_SOURCE =
>
> -host-jpeg: host-libjpeg
Does this change break few packages?
AFAICS, libeet and libevas seem depend on host-jpeg.

> -host-jpeg-source: host-libjpeg-source
> +ifeq ($(BR2_PACKAGE_JPEG_TURBO),y)
> +JPEG_DEPENDENCIES += jpeg-turbo
> +endif
> +
> +ifeq ($(BR2_PACKAGE_LIBJPEG),y)
> +JPEG_DEPENDENCIES += libjpeg
> +endif
> +
> +ifeq ($(JPEG_DEPENDENCIES),)
> +define JPEG_CONFIGURE_CMDS
> +       echo "No JPEG implementation defined. Configuration error"
> +       exit 1
> +endef
> +endif
> +
> +$(eval $(generic-package))
> --

A bit off-topic: this is the first virtual package, it'd be good to
have a clean and known way of handling virtual packages.

Regards,


-- 
Samuel

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

* [Buildroot] [PATCH 08/30] jpeg: convert to a real package
  2013-02-28 22:13   ` Samuel Martin
@ 2013-02-28 23:13     ` Thomas Petazzoni
  0 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-02-28 23:13 UTC (permalink / raw)
  To: buildroot

Dear Samuel Martin,

On Thu, 28 Feb 2013 23:13:03 +0100, Samuel Martin wrote:

> > Instead to implement such a make target manually, make jpeg a normal
> > generic-package, except that it doesn't have any source.
> Nice, it also prevents from fault positive match (about the
> infrastructure) in the autobuilder stats :)

Yes, the point is that by re-using the package infrastructure, we are
much cleaner in terms of integration with the download stuff, the
licensing feature and so on.

> > diff --git a/package/jpeg/jpeg.mk b/package/jpeg/jpeg.mk
> > index 3caacaa..962908d 100644
> > --- a/package/jpeg/jpeg.mk
> > +++ b/package/jpeg/jpeg.mk
> > @@ -1,10 +1,24 @@
> >  #############################################################
> >  #
> > -# jpeg
> > +# Virtual jpeg package
> >  #
> >  #############################################################
> >
> > -jpeg: $(if $(BR2_PACKAGE_JPEG_TURBO),jpeg-turbo,libjpeg)
> > +JPEG_SOURCE =
> >
> > -host-jpeg: host-libjpeg
> Does this change break few packages?
> AFAICS, libeet and libevas seem depend on host-jpeg.

Looks like I miss a $(eval $(host-generic-package)) at the end of the
file, and maybe a few more things. I'll look into this. Good point,
thanks for raising it!

> A bit off-topic: this is the first virtual package, it'd be good to
> have a clean and known way of handling virtual packages.

Yes. I would maybe wait that we have a few of them to see what is the
real pattern between them, but then documenting it will definitely be
useful, of course.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH] Add Qt5 packages
  2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
                   ` (29 preceding siblings ...)
  2013-02-27 23:26 ` [Buildroot] [PATCH 30/30] qt5/qt5webkit: " Thomas Petazzoni
@ 2013-03-01  2:26 ` Floris Bos
  2013-03-01  4:25   ` Daniel Price
  2013-03-01  9:08   ` Thomas Petazzoni
  30 siblings, 2 replies; 41+ messages in thread
From: Floris Bos @ 2013-03-01  2:26 UTC (permalink / raw)
  To: buildroot

On 02/28/2013 12:25 AM, Thomas Petazzoni wrote:
> Here is a set of patches that add Qt5 support in Buildroot. I have
> built a number of different combinations, but there are some many
> different possibilities, that I obviously couldn't test all of
> them. Some testing will be appreciated, but for sure, only the
> autobuilders will really help in getting a good build coverage of all
> this.

Nice job.
Gave it a try, and it seems to work, except some minor issues:

- declarative and webkit depend on gui
- build error when using an ARM buildroot/uClibc toolchain:

../3rdparty/v8/src/platform-linux.cc: In function 'void 
v8::internal::ProfilerSignalHandler(int, siginfo_t*, void*)':
../3rdparty/v8/src/platform-linux.cc:1034:51: error: 'mcontext_t' has no 
member named 'gregs'
../3rdparty/v8/src/platform-linux.cc:1035:51: error: 'mcontext_t' has no 
member named 'gregs'
../3rdparty/v8/src/platform-linux.cc:1036:51: error: 'mcontext_t' has no 
member named 'gregs'
make[3]: *** [.obj/release-shared/platform-linux.o] Error 1

==
#if (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3))
   sample->pc = reinterpret_cast<Address>(mcontext.gregs[R15]);
   sample->sp = reinterpret_cast<Address>(mcontext.gregs[R13]);
   sample->fp = reinterpret_cast<Address>(mcontext.gregs[R11]);
#else
   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))
==

For testing purposes I changed it to #if (0) to let it use 
mcontext.arm_pc and that compiles fine.


- At runtime:

QFontDatabase: Cannot find font directory /usr/lib/fonts - is Qt 
installed correctly?

Seems no fonts installed with Qt.
Selected "liberation" package, but that installs the fonts to 
/usr/share/fonts
Worked around by making a symlink from /usr/lib/fonts to there.


- When building for a Raspberry Pi (eglfs plugin), applications fails to 
start@runtime:

assertion 
failure:/hdd/max/dev/qtbuildroot/buildroot/output/build/rpi-userland-5e9a740a88a889dfc8a18bb1b00c17e5dd9d0108/interface/vmcs_host/vc_vchi_dispmanx.c:84:lock_obtain():dispmanx_client.initialised
Aborted

Library does not seem to get initialised properly.
Looks like there is rPi specific glue code that is supposed to call 
bcm_host_init() in 
qt5base-5.0.0/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp

But it did not compile that file.

buildroot/output/build/qt5base-5.0.0$ find . |grep eglfshooks |grep \\.o
./src/plugins/platforms/eglfs/.obj/release-shared/qeglfshooks_stub.o


Yours sincerely,

Floris Bos

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

* [Buildroot] [PATCH] Add Qt5 packages
  2013-03-01  2:26 ` [Buildroot] [PATCH] Add Qt5 packages Floris Bos
@ 2013-03-01  4:25   ` Daniel Price
  2013-03-01  9:19     ` Thomas Petazzoni
  2013-03-01  9:08   ` Thomas Petazzoni
  1 sibling, 1 reply; 41+ messages in thread
From: Daniel Price @ 2013-03-01  4:25 UTC (permalink / raw)
  To: buildroot

Floris,

That build problem in V8 is exactly the same as the one I had to fix
in my nodejs (which also uses V8) patch, which I posted today.  See
https://code.google.com/p/v8/source/detail?r=12094 for the fix.

Thomas, if we're going to have V8 in multiple places, perhaps it
should be a separate package?  On the flip side, I don't know how
sensitive webkit and nodejs are to version skew in V8.

       -dp

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

* [Buildroot] [PATCH] Add Qt5 packages
  2013-03-01  2:26 ` [Buildroot] [PATCH] Add Qt5 packages Floris Bos
  2013-03-01  4:25   ` Daniel Price
@ 2013-03-01  9:08   ` Thomas Petazzoni
  2013-03-01 16:39     ` Floris Bos
  1 sibling, 1 reply; 41+ messages in thread
From: Thomas Petazzoni @ 2013-03-01  9:08 UTC (permalink / raw)
  To: buildroot

Dear Floris Bos,

On Fri, 01 Mar 2013 03:26:17 +0100, Floris Bos wrote:

> Nice job.
> Gave it a try, and it seems to work, except some minor issues:

Wah, thank you very much for taking the time to test all this. This is
really appreciated, thanks!

> - declarative and webkit depend on gui

Ok.

> - build error when using an ARM buildroot/uClibc toolchain:
> 
> ../3rdparty/v8/src/platform-linux.cc: In function 'void 
> v8::internal::ProfilerSignalHandler(int, siginfo_t*, void*)':
> ../3rdparty/v8/src/platform-linux.cc:1034:51: error: 'mcontext_t' has no 
> member named 'gregs'
> ../3rdparty/v8/src/platform-linux.cc:1035:51: error: 'mcontext_t' has no 
> member named 'gregs'
> ../3rdparty/v8/src/platform-linux.cc:1036:51: error: 'mcontext_t' has no 
> member named 'gregs'
> make[3]: *** [.obj/release-shared/platform-linux.o] Error 1
> 
> ==
> #if (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3))
>    sample->pc = reinterpret_cast<Address>(mcontext.gregs[R15]);
>    sample->sp = reinterpret_cast<Address>(mcontext.gregs[R13]);
>    sample->fp = reinterpret_cast<Address>(mcontext.gregs[R11]);
> #else
>    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))
> ==
> 
> For testing purposes I changed it to #if (0) to let it use 
> mcontext.arm_pc and that compiles fine.

Ok, that's easy enough to fix.

> - At runtime:
> 
> QFontDatabase: Cannot find font directory /usr/lib/fonts - is Qt 
> installed correctly?
> 
> Seems no fonts installed with Qt.
> Selected "liberation" package, but that installs the fonts to 
> /usr/share/fonts
> Worked around by making a symlink from /usr/lib/fonts to there.

I suspect this comes from:

$ cat mkspecs/features/qpa/genericunixfontdatabase.prf 
CONFIG += qpa/basicunixfontdatabase
contains(QT_CONFIG, fontconfig) {
    DEFINES += Q_FONTCONFIGDATABASE
    LIBS += -lfontconfig
} else {
    fonts.path = $$[QT_INSTALL_LIBS]/fonts
    fonts.files = $$QT_SOURCE_TREE/lib/fonts/*
    INSTALLS += fonts
}

So I suspect you didn't had fontconfig support enabled. Is this correct?

If so, then I can include a path that makes fonts.path be
$$[QT_INSTALL_PREFIX]/share/fonts/.

But Qt has some fonts in lib/fonts/, so maybe we should research how to
install them, at least optionally, because they have some fonts in the
special Qt format, which may be useful if you don't have a TTF font
renderer available.

> - When building for a Raspberry Pi (eglfs plugin), applications fails to 
> start at runtime:
> 
> assertion 
> failure:/hdd/max/dev/qtbuildroot/buildroot/output/build/rpi-userland-5e9a740a88a889dfc8a18bb1b00c17e5dd9d0108/interface/vmcs_host/vc_vchi_dispmanx.c:84:lock_obtain():dispmanx_client.initialised
> Aborted
> 
> Library does not seem to get initialised properly.
> Looks like there is rPi specific glue code that is supposed to call 
> bcm_host_init() in 
> qt5base-5.0.0/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp
> 
> But it did not compile that file.
> 
> buildroot/output/build/qt5base-5.0.0$ find . |grep eglfshooks |grep \\.o
> ./src/plugins/platforms/eglfs/.obj/release-shared/qeglfshooks_stub.o

Aah, yes, the platform glue code. That's not easy to handle because the
way I pass the cross-compiler path and al. is by using a custom
"-device buildroot", which works by providing our own
mkspecs/devices/linux-buildroot-g++/qmake.conf and
mkspecs/devices/linux-buildroot-g++/qplatformdefs.h files. But a few
platforms have some custom code in mkspecs/devices/linux-<something>/.
But their qmake.conf often is horrible. For example, the RasberryPi one
hardcodes path to /opt/vc/ for the OpenGL libraries, but Buildroot
installs them in /usr/.

Not sure how to handle this problem... The Qt5 way of doing things
seems really strange to me: it mixes "configuration" (defining where
the libraries are, what are the compiler flags and so on), with the
real code (in this case, the glue code for a particular platform).

Ideas?

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH] Add Qt5 packages
  2013-03-01  4:25   ` Daniel Price
@ 2013-03-01  9:19     ` Thomas Petazzoni
  0 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-03-01  9:19 UTC (permalink / raw)
  To: buildroot

Dear Daniel Price,

On Thu, 28 Feb 2013 20:25:59 -0800, Daniel Price wrote:

> That build problem in V8 is exactly the same as the one I had to fix
> in my nodejs (which also uses V8) patch, which I posted today.  See
> https://code.google.com/p/v8/source/detail?r=12094 for the fix.
> 
> Thomas, if we're going to have V8 in multiple places, perhaps it
> should be a separate package?  On the flip side, I don't know how
> sensitive webkit and nodejs are to version skew in V8.

That would be ideal indeed, but I'm not sure how easy it is to do. The
qt5jsbackend can indeed use an external V8, but it must be an external
V8 *source* tree, not installed V8 libraries/headers in $(STAGING_DIR).
So it's not as easy as "internal png" vs. "external png" for example.

What I would propose is to get Qt5 and NodeJS merged separately, and
then, if we find some time to work on getting the V8 stuff common, then
we'll do it.

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

* [Buildroot] [PATCH] Add Qt5 packages
  2013-03-01  9:08   ` Thomas Petazzoni
@ 2013-03-01 16:39     ` Floris Bos
  2013-03-01 16:54       ` Thomas Petazzoni
  0 siblings, 1 reply; 41+ messages in thread
From: Floris Bos @ 2013-03-01 16:39 UTC (permalink / raw)
  To: buildroot

Hi,

On 03/01/2013 10:08 AM, Thomas Petazzoni wrote:
> So I suspect you didn't had fontconfig support enabled. Is this correct?

Correct

> If so, then I can include a path that makes fonts.path be 
> $$[QT_INSTALL_PREFIX]/share/fonts/. But Qt has some fonts in 
> lib/fonts/, so maybe we should research how to install them, at least 
> optionally, because they have some fonts in the special Qt format, 
> which may be useful if you don't have a TTF font renderer available. 

Sounds good to me.

>> - When building for a Raspberry Pi (eglfs plugin), applications fails to
>> start at runtime:
>>
>> assertion
>> failure:/hdd/max/dev/qtbuildroot/buildroot/output/build/rpi-userland-5e9a740a88a889dfc8a18bb1b00c17e5dd9d0108/interface/vmcs_host/vc_vchi_dispmanx.c:84:lock_obtain():dispmanx_client.initialised
>> Aborted
>>
>> Library does not seem to get initialised properly.
>> Looks like there is rPi specific glue code that is supposed to call
>> bcm_host_init() in
>> qt5base-5.0.0/mkspecs/devices/linux-rasp-pi-g++/qeglfshooks_pi.cpp
>>
>> But it did not compile that file.
>>
>> buildroot/output/build/qt5base-5.0.0$ find . |grep eglfshooks |grep \\.o
>> ./src/plugins/platforms/eglfs/.obj/release-shared/qeglfshooks_stub.o
> Aah, yes, the platform glue code. That's not easy to handle because the
> way I pass the cross-compiler path and al. is by using a custom
> "-device buildroot", which works by providing our own
> mkspecs/devices/linux-buildroot-g++/qmake.conf and
> mkspecs/devices/linux-buildroot-g++/qplatformdefs.h files. But a few
> platforms have some custom code in mkspecs/devices/linux-<something>/.
> But their qmake.conf often is horrible. For example, the RasberryPi one
> hardcodes path to /opt/vc/ for the OpenGL libraries, but Buildroot
> installs them in /usr/.
>
> Not sure how to handle this problem... The Qt5 way of doing things
> seems really strange to me: it mixes "configuration" (defining where
> the libraries are, what are the compiler flags and so on), with the
> real code (in this case, the glue code for a particular platform).

Well, I never really understood the need for the glue code in the first 
place either.
Would rather have seen that they filled a bug report with the GPU 
vendor, and questioned why one needs to call some vendor specific 
function like bcm_host_init(), instead of just the standardized function 
eglInitialize() before
any EGL/OpenGL ES function works...
And used some runtime detection system for vendor specific extras like 
hardware accelerated mouse cursor.
So that ARM Linux distributions could ship universal Qt packages that 
could work on more then one device.

Anyway, just filling in the location of the glue code in the buildroot 
qmake.conf when the rpi-userland package is selected might be the most 
practical solution.
Will submit a sample patch to illustrate shortly.

-- 
Yours sincerely,

Floris Bos

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

* [Buildroot] [PATCH] Add Qt5 packages
  2013-03-01 16:39     ` Floris Bos
@ 2013-03-01 16:54       ` Thomas Petazzoni
  0 siblings, 0 replies; 41+ messages in thread
From: Thomas Petazzoni @ 2013-03-01 16:54 UTC (permalink / raw)
  To: buildroot

Dear Floris Bos,

On Fri, 01 Mar 2013 17:39:52 +0100, Floris Bos wrote:

> > If so, then I can include a path that makes fonts.path be 
> > $$[QT_INSTALL_PREFIX]/share/fonts/. But Qt has some fonts in 
> > lib/fonts/, so maybe we should research how to install them, at least 
> > optionally, because they have some fonts in the special Qt format, 
> > which may be useful if you don't have a TTF font renderer available. 
> 
> Sounds good to me.

Do you plan on researching how to get the fonts bundled with Qt
installed, or you want me to look into that?


> Well, I never really understood the need for the glue code in the first 
> place either.
> Would rather have seen that they filled a bug report with the GPU 
> vendor, and questioned why one needs to call some vendor specific 
> function like bcm_host_init(), instead of just the standardized function 
> eglInitialize() before
> any EGL/OpenGL ES function works...
> And used some runtime detection system for vendor specific extras like 
> hardware accelerated mouse cursor.
> So that ARM Linux distributions could ship universal Qt packages that 
> could work on more then one device.

Indeed.

> Anyway, just filling in the location of the glue code in the buildroot 
> qmake.conf when the rpi-userland package is selected might be the most 
> practical solution.
> Will submit a sample patch to illustrate shortly.

That would be very nice!

Thanks,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

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

end of thread, other threads:[~2013-03-01 16:54 UTC | newest]

Thread overview: 41+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-02-27 23:25 [Buildroot] [PATCH] Add Qt5 packages Thomas Petazzoni
2013-02-27 23:25 ` [Buildroot] [PATCH 01/30] pcre: add support for 16 bits and 32 bits variants Thomas Petazzoni
2013-02-28  0:00   ` Gustavo Zacarias
2013-02-28  8:28     ` Thomas Petazzoni
2013-02-27 23:25 ` [Buildroot] [PATCH 02/30] x11r7/xcb-util: bump to 0.3.9 Thomas Petazzoni
2013-02-27 23:25 ` [Buildroot] [PATCH 03/30] x11r7/xcb-util-wm: new package Thomas Petazzoni
2013-02-27 23:25 ` [Buildroot] [PATCH 04/30] x11r7/xcb-util-image: " Thomas Petazzoni
2013-02-27 23:25 ` [Buildroot] [PATCH 05/30] package: create virtual package for libGLES, libOpenVG and libEGL Thomas Petazzoni
2013-02-27 23:25 ` [Buildroot] [PATCH 06/30] rpi-userland: provides OpenGL ES, EGL and OpenVG Thomas Petazzoni
2013-02-27 23:25 ` [Buildroot] [PATCH 07/30] rpi-userland: add .pc files for OpenGLESv2 and EGL libs Thomas Petazzoni
2013-02-27 23:25 ` [Buildroot] [PATCH 08/30] jpeg: convert to a real package Thomas Petazzoni
2013-02-28 22:13   ` Samuel Martin
2013-02-28 23:13     ` Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 09/30] qt5: base infrastructure Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 10/30] qt5: add macro to fixup Qt5 .la and .prl files Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 11/30] qt5base: new package Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 12/30] qt5base: add GUI support Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 13/30] qt5base: support debug or release modes Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 14/30] qt5base: add OpenSSL support Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 15/30] qt5base: add eglfs graphics backend Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 16/30] qt5base: add support for fontconfig, png, jpeg, gif Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 17/30] qt5base: add D-Bus support Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 18/30] qt5base: add glib support Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 19/30] qt5base: add support to build against ICU Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 20/30] qt5: factor Qt5 version Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 21/30] qt5/qt5svg: new package Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 22/30] qt5/qt5script: " Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 23/30] qt5/qt5imageformats: " Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 24/30] qt5/qt5xmlpatterns: " Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 25/30] qt5/qt5jsbackend: " Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 26/30] qt5/qt5declarative: " Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 27/30] qt5/qt5graphicaleffects: " Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 28/30] qt5/qt5multimedia: " Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 29/30] qt5/qt5quick1: " Thomas Petazzoni
2013-02-27 23:26 ` [Buildroot] [PATCH 30/30] qt5/qt5webkit: " Thomas Petazzoni
2013-03-01  2:26 ` [Buildroot] [PATCH] Add Qt5 packages Floris Bos
2013-03-01  4:25   ` Daniel Price
2013-03-01  9:19     ` Thomas Petazzoni
2013-03-01  9:08   ` Thomas Petazzoni
2013-03-01 16:39     ` Floris Bos
2013-03-01 16:54       ` Thomas Petazzoni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox