Commit Graph

376 Commits

Author SHA1 Message Date
Thomas Petazzoni
1b51fa44d0 package/*/Config.in: fix consecutive lines check-package warnings
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-18 09:25:24 +01:00
Thomas Petazzoni
1610200e78 package/*/Config.in: fix property order warning of check-package
This commit fixes the ordering of the Config.in option properties, as
reported by check-package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-18 09:24:38 +01:00
Thomas Petazzoni
2277fdeca8 package/*/Config.in: fix help text check-package warnings
This commit fixes the warnings reported by check-package on the help
text of all package Config.in files, related to the formatting of the
help text: should start with a tab, then 2 spaces, then at most 62
characters.

The vast majority of warnings fixed were caused by too long lines. A
few warnings were related to spaces being used instead of a tab to
indent the help text.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-18 09:22:54 +01:00
Bartosz Bilas
ef298d9b1d package/qt5/qt5scxml: new package
Signed-off-by: Bartosz Bilas <b.bilas@grinn-global.com>
[Thomas: add entry to DEVELOPERS file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-13 14:22:52 +01:00
Peter Seiderer
4b09fe60d9 qt5charts: fix qt5base widgets/gui selection
Selection of BR2_PACKAGE_QT5BASE_WIDGETS needs BR2_PACKAGE_QT5BASE_GUI too.

Fixes qt5base configure failure ([1]):

  ERROR: Feature 'widgets' was enabled, but the pre-condition 'features.gui' failed.
[1] http://autobuild.buildroot.net/results/69c4385b2fd484d16f749b4cde6967f5cabea8b2

and buildroot warning:

  warning: (... && BR2_PACKAGE_QT5CHARTS && ...) selects BR2_PACKAGE_QT5BASE_WIDGETS
  which has unmet direct dependencies (BR2_PACKAGE_QT5 && BR2_PACKAGE_QT5BASE && BR2_PACKAGE_QT5BASE_GUI)

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Acked-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-12 07:12:38 +01:00
Sébastien Szymanski
f0066a215d qt5charts: new package
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
[Thomas: add entry to DEVELOPERS file, update to Qt 5.9.3.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-03 23:47:12 +01:00
Peter Seiderer
573a4a0bc8 qt5quickcontrols2: fix examples compile without Qt widgets module
Add upstream suggested patch to fix flatstyle example configure
(needs widgets module).

Fixes:

  cd flatstyle/ && ( test -e Makefile || .../host/bin/qmake -o Makefile .../build/qt5quickcontrols2-5.9.2/examples/quickcontrols2/flatstyle/flatstyle.pro ) && make -f Makefile
  Project ERROR: Unknown module(s) in QT: widgets
  make[1]: *** [Makefile:202: sub-flatstyle-make_first] Error 3
  make[1]: Leaving directory '.../build/qt5quickcontrols2-5.9.2/examples/quickcontrols2'
  make: *** [Makefile:45: sub-quickcontrols2-make_first] Error 2

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[Thomas: move patch to 5.9.3 directory, since we've bumped
qtquickcontrols2 since then.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-01 23:24:54 +01:00
Joshua Henderson
5eb43c83c1 qt5: remove Qt Quick dependency on opengl
Qt Quick should no longer depend on opengl, and instead fallback to
the limited functionality software renderer as a replacement [1] when
not available.

[1] http://blog.qt.io/blog/2016/08/15/the-qt-quick-graphics-stack-in-qt-5-8/

Cc: Peter Seiderer <ps.report@gmx.net>
Cc: Julien Corjon <corjon.j@ecagroup.com>
Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
Signed-off-by: Sébastien Szymanski <sebastien.szymanski@armadeus.com>
Tested-by: Peter Seiderer <ps.report@gmx.net>
[Thomas: drop qt5declarative patch, since we have bumped to 5.9.3,
which contains the patch.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-01 23:12:01 +01:00
Peter Seiderer
914f55e2b1 qt5: bump latest version to 5.9.3
qt5connectivity:
 - moved 0001-Example-heartrate-server-needs-only-core-and-bluetoo.patch
   to 5.9.3

qt5declarative:
 - removed 0001-Fix-no-opengl-builds.patch to 5.9.3 (upstream committed,
   see [1])

qt5webengine:
 - keep 0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch
   (upstream committed, see [2], but reverted afterwards, see [3])

[1] https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=fa52bb665d6beb77a951c14c8edcba3541850afc
[2] https://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=d4c621f6a6b87f2a86069fa393b9f7c4f9e7b9ad
[3] https://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=c11c2c8981e647c1eb2c6753ce77d436b92fff87

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-01 23:02:22 +01:00
Thomas Petazzoni
99809a0ae8 qt5webkit: fix typo in the <pkg>_DEPENDENCIES declaration
This commit fixes a typo introduced in commit
43e1d099b4 ("Revert
"package/qt5webkit-examples: remove obsolete package""), which caused
qt5declarative to not be added as a dependency for the correct
package.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-01 22:58:13 +01:00
Thomas Petazzoni
1c8dda3e43 Merge branch 'next'
This merges the next branch accumulated during the 2017.11 release
cycle back into the master branch.

A few conflicts had to be resolved:

 - In the DEVELOPERS file, because Fabrice Fontaine was added as a
   developer for libupnp in master, and for libupnp18 in
   next. Resolution is simple: add him for both.

 - linux/Config.in, because we updated the 4.13.x release used by
   default in master, while we moved to 4.14 in next. Resolution: use
   4.14.

 - package/libupnp/libupnp.hash: a hash for the license file was added
   in master, while the package was bumped into next. Resolution: keep
   the hash for the license file, and keep the hash for the newest
   version of libupnp.

 - package/linux-headers/Config.in.host: default version of the kernel
   headers for 4.13 was bumped to the latest 4.13.x in master, but was
   changed to 4.14 in next. Resolution: use 4.14.

 - package/samba4/: samba was bumped to 4.6.11 in master for security
   reasons, but was bumped to 4.7.3 in next. Resolution: keep 4.7.3.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-12-01 21:56:44 +01:00
Gaël PORTAY
43e1d099b4 Revert "package/qt5webkit-examples: remove obsolete package"
This reverts commit 940bfe2f43 with the
following changes:

 - new hashes for 5.6.3 and 5.9.1 (there is no 5.9.2).
 - BR2_PACKAGE_QT5BASE_LICENSE_APPROVED has been removed
 - add GPL-3 to licences
 - uses SPDX identifier for licences
 - add missing dependencies (qt5base, qt5webkit, qt5declarative)
 - removes /usr when qmake host-tools is invoked at configure

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
[Thomas: add entry in the DEVELOPERS file.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-29 22:22:14 +01:00
Gaël PORTAY
b865c38ea6 package/qt5: simplify and cleanup _SITE variables
The variable QT5_SNAPSHOTS_SITE was introduced in commit 9d5ac9698 to
fetch sources of obsolete modules. It was used to download qt5webkit
tarballs.

The variable is not referenced anymore since the qt5webkit tarballs are
downloaded from the Qt community release site.

Since the introduction of qt-5.9 in aa1c40ba3, the QT5_SITE variable
was duplicated for no good reason.

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Acked-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-29 21:46:29 +01:00
Gaël PORTAY
00012bf9d5 qt5webengine: enable build for 5.6.3
The build was broken in 5.6.2 and was disabled.

It compiles fine since 5.6.3.

The two additional patches are useful at run-time.

The first one avoid the need to specify the path to the SSL certificate
directory (using an additional environment variable).

The second one is the same used in 5.9.x (plus resolved conflicts). It uses the
process's context to get handles on EGL and GLESv2 libraries. Those libraries
are linked to Qt WebEngine at compile time.

The patch is particularly usefull for RPI boards since the raspberrypi userland
package does not provide the libEGLv2.so.2 and libGLES.so.1 symlinks. Both
library paths are hardcoded in Qt WebEngine.

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-27 21:42:12 +01:00
Gaël PORTAY
7780cef535 qt5webkit: fix URL for 5.6 download
The Qt community releases are not stored under submodules path
component.

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-25 12:01:05 +01:00
Peter Seiderer
553a736ebb qt5connectivity: fix examples compile without Qt gui module
Add upstream suggested patch to fix heartrate-server (needs only
core and bluetooth modules).

Fixes [1]:

  make[3]: Entering directory `.../build/qt5connectivity-5.9.2/examples/bluetooth'
  cd heartrate-server/ && ( test -e Makefile || .../output/host/bin/qmake -o Makefile .../build/qt5connectivity-5.9.2/examples/bluetooth/heartrate-server/heartrate-server.pro ) && /usr/bin/make -f Makefile
  Project ERROR: Unknown module(s) in QT: gui
  make[3]: *** [sub-heartrate-server-make_first] Error 3
  make[3]: Leaving directory `.../build/qt5connectivity-5.9.2/examples/bluetooth'

[1] http://autobuild.buildroot.net/results/387a21fe7fc672e5668b0afddc138cbb7197d234

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
[Thomas: move patch to 5.9.2 subfolder, since it only applies to 5.9.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-22 22:11:41 +01:00
Peter Seiderer
5e7ddc54df qt5declarative: fix examples compile without OpenGL support
Add upstream patch to fix examples compile without OpenGL support, in
the Qt 5.9 version of qt5declarative.

Fixes [1]:

  In file included from fbitem.h:49:0,
                   from mainwindow.cpp:42:
  logo.h:52:11: error: 'GLfloat' does not name a type
       const GLfloat *constData() const { return m_data.constData(); }
             ^
  logo.h:57:15: error: 'GLfloat' has not been declared
       void quad(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2, GLfloat x3, GLfloat y3, GLfloat x4, GLfloat y4);
                 ^
  [...]
  Makefile:610: recipe for target '.obj/mainwindow.o' failed
  make[5]: *** [.obj/mainwindow.o] Error 1
  make[5]: Leaving directory '.../build/qt5declarative-5.9.2/examples/quick/quickwidgets/qquickviewcomparison'
  Makefile:70: recipe for target 'sub-qquickviewcomparison-make_first' failed
  make[4]: *** [sub-qquickviewcomparison-make_first] Error 2
  make[4]: *** Waiting for unfinished jobs....

[1] http://autobuild.buildroot.net/results/cef4abbe043f3aaad03c73e07cfab9d24c3d0fc9

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-11-22 21:56:54 +01:00
Peter Korsgaard
cab0d0a8ac qt5webkit: backport upstream icu-59 fix from 5.9 branch to 5.6.3
icu-59.x slightly changed the API, breaking qt5webkit builds. For details, see:

https://bugreports.qt.io/browse/QTBUG-60532

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-17 10:31:58 +01:00
Peter Korsgaard
d4a119ccc4 qt5webkit: correct download URL and hash for 5.6 variant
Commit 06a4975d4b (qt5: bump LTS version to 5.6.3) added an empty hash
for the 5.6.3 variant of qt5webkit, causing failures.

It also forgot to adjust the download URL as the qt5webkit tarballs are no
longer available under official_releases/ like the other submodules, but only
under community_releases/.

Fix both issues.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-17 10:31:55 +01:00
Gary Bisson
0c219ddb8a qt5base: add qmake.conf fixup for i.MX platforms
As stated in QTBUG-61156 [1], since Qt5.9 all the Qt apps fail to start
on i.MX platforms.

The reason is that the qmake.conf should apparently now specify which
eglfs backend to use.

It can be seen in the qmake.conf example for i.MX [2].

It has also been integrated into the Yocto meta-freescale layer [3].

Although this issue can be worked around by exporting a variable
(QT_QPA_EGLFS_INTEGRATION=eglfs_viv), this patch aims at providing
a more user-friendly approach by modifying qmake.conf when created.

[1]: https://bugreports.qt.io/browse/QTBUG-61156
[2]: https://github.com/qt/qtbase/blob/5.9/mkspecs/devices/linux-imx6-g%2B%2B/qmake.conf#L35
[3]: https://github.com/Freescale/meta-freescale/blob/master/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0015-Add-eglfs-to-IMX-GPU.patch

[Peter: simplify conditional, add comment explaining why]
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Tested-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-11-06 18:41:22 +01:00
Peter Korsgaard
315f2a7d16 qt5webengine: only available on x86(-64) hosts
The -m32 compiler flag is used for 32bit builds and the host tools have
limited architecture support. It may work in some situations (e.g.
on aarch64 host when building a 64-bit target), but it's equally likely
that it breaks and those situations are not tested. So just limit to
x86(-64) hosts.

Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
[Arnout: explain that it may work in some situations]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-11-05 16:58:12 +01:00
Peter Seiderer
8fbff9651b qt5base: add 3rdparty/harfbuzz-ng license file hash
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-11-05 15:52:25 +01:00
Joshua Henderson
f2b022893f qt5wayland: fix config option indentation
Reorganize so the optional composer option for the qt5wayland package shows up
as an indented option.

Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-10-28 09:11:25 +02:00
Peter Seiderer
e7e71c0124 qt5base: make harfbuzz support selectable
If selected use:

 - system/buildroot harfbuzz in case __sync for 4 bytes is supported
 - qt harfbuzz otherwise (using QAtomic instead)

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-10-21 21:37:28 +02:00
Peter Seiderer
06a4975d4b qt5: bump LTS version to 5.6.3
qt5base:
  - move hash file to 5.6.3
  - move 0001-eglfs-rasp-pi-header-inclusion.patch to 5.6.3
  - remove 0002-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch (upstream committed [1])

qt5declarative:
  - move patches to 5.6.3

qt5quickcontrols2:
  - move hash file to 5.6.3

qt5webkit:
  - move patches to 5.6.3

[1] http://code.qt.io/cgit/qt/qtbase.git/commit/?h=5.6&id=f1b4bd4790860e1ff5afcec111a359bc3a91cfda

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-10-21 09:55:51 +02:00
Peter Seiderer
64f4f6de0c qt5: bump latest version to 5.9.2
qt5base:
  - removed 0001-Fix-error-attribute-target-crc-is-unknown.patch
    (upstream committed, see [1])
  - removed 0002-examples-fix-compile-without-opengl-support.patch
    (upstream committed, see [2])

qt5declarative:
  - removed 0001-Fix-alignment-issue-on-ARMv7.patch
    (upstream committed, see [3])
  - moved 0001-examples-photoviewer-needs-widgets-support.patch to 5.6.2
    only (upstream 5.9.2 committed, see [4])
  - moved 0002-examples-qquickviewcomparison-and-quickwidget-needs-.patch
    to 5.6.2 only (similare patch upstream committed, see [5])

qt5location:
  - removed 0001-Fix-plugins-build-dependency.patch
    (upstream committed, see [6])

qt5webchannel:
 - fix webchannel.js installation to target (the locatinon of the
   file webchannel.js changed from src/webchannel/qwebchannel.js
   to examples/webchannel/shared/qwebchannel.js, see commit [7])

qt5webengine:
  - removed 0001-Always-compile-QWebEnginePage-print.patch
    (upstream committed, see [8])
  - keep 0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch
    (upstream committed, see [9], but reverted afterwards, see [10])

qt5webkit:
 - fall back to 5.9.1 (no 5.9.2 package provided, see [11] and [12]).

[1] http://code.qt.io/cgit/qt/qtbase.git/commit/?id=b7722c251c3a0938c7c71fc3da47fdbe920060b7
[2] http://code.qt.io/cgit/qt/qtbase.git/commit/?id=6ce4b680cdde7827a6ed4d00dbeb7e7e91569433
[3] http://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=03c2661b1243cc529fc3d8cfa65073f1da420307
[4] http://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=452a78d0ac4a1579733a8ab641be24c9b7c0dd96
[5] http://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=fa52bb665d6beb77a951c14c8edcba3541850afc
[6] http://code.qt.io/cgit/qt/qtlocation.git/commit/?id=3ac051c4549575634cecc706175b019f4ed4c3bf
[7] https://code.qt.io/cgit/qt/qtwebchannel.git/commit/?id=e7f150abaa8e81d3e404e9631a49341a7f7623d1
[8] http://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=085c2c529473bbe9dd7c8c5698a45053520cc423
[9] http://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=d4c621f6a6b87f2a86069fa393b9f7c4f9e7b9ad
[10] http://code.qt.io/cgit/qt/qtwebengine.git/commit/?id=c11c2c8981e647c1eb2c6753ce77d436b92fff87
[11] https://blog.qt.io/blog/2017/10/06/qt-5-9-2-released/#comment-1200724
[12] https://blog.qt.io/blog/2017/10/06/qt-5-9-2-released/#comment-1200746

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Tested-by: Joshua Henderson <joshua.henderson@microchip.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-10-17 23:05:04 +02:00
Joshua Henderson
42306114c3 qt5: add license file hashes for all submodules
Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
Reviewed-by: Peter Seiderer <ps.report@gmx.net>
----
Changes v2 --> v3:
  - use 'Hashes for license files:' instead of repeated
    'Hash for license file' (suggested by Thomas Petazzoni)

Changes v2:
  - add reviewed-by and minor commit title change (removed package prefix)
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-10-17 23:05:01 +02:00
Gaël PORTAY
89080bac9b qt5webengine: new package
This patch is based on works [1] and [2].

With this patch, one can run the Qt5 WebEngine quicknanobrowser sample
with the following options.

	BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" and
	BR2_TOOLCHAIN_BUILDROOT_CXX (Qt 5 needs a toolchain w/ wchar, NPTL, C++,
	dynamic library; for now it builds only with glibc)
	BR2_PACKAGE_LIBERATION (Qt needs at least one font)
	BR2_PACKAGE_QT5BASE_EXAMPLES (to install quicknanobrowser sample)
	BR2_PACKAGE_QT5BASE_GIF (do display gif)
	BR2_PACKAGE_QT5BASE_JPEG (do display jpeg)
	BR2_PACKAGE_QT5BASE_PNG (do display png)
	BR2_PACKAGE_QT5QUICKCONTROLS (needed by webengine)
	BR2_PACKAGE_QT5QUICKCONTROLS2 (needed by webengine)
	BR2_PACKAGE_QT5WEBENGINE (because it is what we want)

Qt WebEngine requires an Open(E)GL-capable backend. As an example, the
package rpi-userland must be enabled to build for a rpi.

	BR2_PACKAGE_RPI_USERLAND (to enable OpenGL ES backend)

To browse for HTTPS websites, please consider adding the following
options as well for SSL/TLS.

	BR2_PACKAGE_CA_CERT (for certificates)
	BR2_PACKAGE_NTPD (to sync date for certificates)

Since version 5.9, chromium requires udev at runtime (see note 4).

	BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV (input backend)

To run quicknanobrowser

	# cd /usr/lib/qt/examples/webengine/quicknanobrowser/
	# ./quicknanobrowser https://www.buildroot.org/

Note: The chromium.inc has been generated using the following command.

	( echo 'CHROMIUM_LICENSE_FILES = \' &&
	  cd output/build/qt5webengine-5.9.1/ && \
	  find "src/3rdparty/chromium/" -type f -iname "*LICENSE*" -o -iname "*COPYING*" -o -iname "*GPL*" | \
	  sed -e '/\.asm$/d' \
	      -e '/\.h$/d' \
	      -e '/\.c$/d' \
	      -e '/\.cc$/d' \
	      -e '/\.cpp$/d' \
	      -e '/\.pyc\?$/d' \
	      -e '/\.pl$/d' \
	      -e '/\.sha1$/d' \
	      -e '/\.patch$/d' \
	      -e '/licensecheck/d' \
	      -e 's,^,\t,' \
	      -e 's,$, \\,' | \
	  sort && \
	  echo '' ) >package/qt5/qt5webengine/chromium.inc

Note 2: Since 5.9.1, the chromium's copy of opus fails with neon [3].
Qt WebEngine can uses buildroot ffmpeg copy which compiles fine (using
qmake flag WEBENGINE_CONFIG+=use_system_ffmpeg). It implies selecting
the following options.

	BR2_PACKAGE_FFMPEG
	BR2_PACKAGE_OPUS
	BR2_PACKAGE_LIBVPX
	BR2_PACKAGE_WEBP
	BR2_PACKAGE_WEBP_DEMUX

	In file included from ../../3rdparty/chromium/third_party/opus/src/silk/arm/NSQ_neon.c:31:0:
	/home/gportay/src/buildroot/output-rpi3-qt5.9/host/lib/gcc/arm-buildroot-linux-gnueabihf/6.4.0/include/arm_neon.h:8997:1: error: inlining failed in call to always_inline ‘vld1q_s32’: target specific option mismatch
	 vld1q_s32 (const int32_t * __a)
	 ^~~~~~~~~
	../../3rdparty/chromium/third_party/opus/src/silk/arm/NSQ_neon.c:40:15: note: called from here
	     int32x4_t coef0 = vld1q_s32(coef32);
		       ^~~~~
	../../3rdparty/chromium/third_party/opus/src/silk/arm/NSQ_neon.c: At top level:
	cc1: warning: unrecognized command line option ‘-Wno-#pragma-messages’

Note 3: Version 5.6.2 causes a build issue while building chromium. The
build against this version is disabled until the release 5.6.3 is out.

Note 4: Here is trace when udev does not run

	# cd /usr/lib/qt/examples/webengine/quicknanobrowser
	# ./quicknanobrowser
	QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
	Unable to query physical screen size, defaulting to 100 dpi.
	To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
	[0101/000248.161973:WARNING:resource_bundle_qt.cpp(114)] locale_file_path.empty() for locale
	[0101/000248.384693:WARNING:resource_bundle_qt.cpp(114)] locale_file_path.empty() for locale
	[202:223:0101/000248.484954:FATAL:udev_loader.cc(38)] Check failed: false.
	#0 0x0000742b93de <unknown>
	#1 0x0000742c3c38 <unknown>
	#2 0x000073e1e1aa <unknown>
	#3 0x000073e1d96e <unknown>
	#4 0x000073e1defa <unknown>
	#5 0x000074af6364 <unknown>
	#6 0x000074302878 <unknown>
	#7 0x0000742c8fee <unknown>
	#8 0x0000742c9f44 <unknown>
	#9 0x0000742ca21e <unknown>
	#10 0x0000742cac4c <unknown>
	#11 0x0000742c87b2 <unknown>
	#12 0x0000742da4f6 <unknown>
	#13 0x000073ed9d38 <unknown>
	#14 0x000073eda03c <unknown>
	#15 0x0000742e9aec <unknown>
	#16 0x0000742e71dc <unknown>

	Aborted

Note 5: On rpi and depending on what is insinde the .config, more GPU
memory should be allocated to run properly qt samples.

	#0 0x0000742c63de <unknown>
	#1 0x0000742d0c38 <unknown>
	#2 0x0000749d7bde <unknown>
	#3 0x0000749e3c70 <unknown>
	#4 0x00007530227c <unknown>
	#5 0x000075302480 <unknown>
	#6 0x0000752fb1e4 <unknown>
	#7 0x00007430f878 <unknown>
	#8 0x0000742d5fee <unknown>
	#9 0x0000742d6f44 <unknown>
	#10 0x0000742d721e <unknown>
	#11 0x0000742d7ad6 <unknown>
	#12 0x0000742d57b2 <unknown>
	#13 0x0000742e74f6 <unknown>
	#14 0x0000742f6a74 <unknown>
	#15 0x0000742f41dc <unknown>

	Received signal 6
	#0 0x0000742c63de <unknown>
	#1 0x0000742c66a0 <unknown>
	#2 0x0000725b5d10 <unknown>
	[end of stack trace]
	qml: Render process exited with code 256 (abnormal exit)

	# mount /dev/mmcblk0p1 /mnt
	# sed '/^gpu_mem_/s,=.*,=200,' -i /mnt/config.txt
	# umount /mnt

Note 6: The first patch fixes a build issue when samples are compiled
without the support of printing [4]. This patch is already merged in
branch 5.9 [5] and concerns only 5.9.1.

	085c2c52 Always compile QWebEnginePage::print

It fixes the error below.

	.obj/browsermainwindow.o: In function `BrowserMainWindow::printRequested(QWebEnginePage*)': browsermainwindow.cpp:(.text+0x2cc0): undefined reference to `QWebEnginePage::print(QPrinter*, QWebEngineCallback<bool> const&)'

The second patch loads both libEGL and libGLESv2 symbols implicitly
instead of loading them with explicitly using hard-coded locations. It
fixes a bug when providers of lib*GL does not create libraries named
libEGL.so.1 and libGLESv2.s2 [6]. This patch is already merged in branch
5.9 [7].

	d4c621f6 Load libEGL and libGLES2 symbols implicitly

It fixes the error below.

	[327:347:1221/085837:ERROR:surface_factory_qt.cpp(68)] Failed to load /usr/lib/libGLESv2.so.2: /usr/lib/libGLESv2.so.2: cannot open shared object file: No such file or directory

[1]: http://lists.busybox.net/pipermail/buildroot/2015-July/132010.html
[2]: https://patchwork.ozlabs.org/patch/640633/
[3]: https://patchwork.ozlabs.org/patch/791332/
[4]: https://bugreports.qt.io/browse/QTBUG-61510
[5]: https://codereview.qt-project.org/#/c/198041/
[6]: https://bugreports.qt.io/browse/QTBUG-57761
[7]: https://codereview.qt-project.org/#/c/199554/

Cc: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
Cc: Julien Corjon <corjon.j@ecagroup.com>
Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
[Arnout:
 - move more dependencies to _ARCH_DEPENDS;
 - mention all toolchain dependencies in the comments]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-09-23 22:00:02 +02:00
Thomas Petazzoni
29ace1e216 Merge branch 'next' 2017-09-02 15:10:48 +02:00
Joshua Henderson
e8d2188db3 package/qt5base: only build libgtk3 support for X11 backend
libgtk3 can conditionally be build with or without the X11 backend
unlike libgtk2. If libgtk3 is enabled and the X11 backend is not enabled
for BR2_PACKAGE_QT5_VERSION_LATEST, QT_EGL_NO_X11 or
MESA_EGL_NO_X11_HEADERS needs to be defined.

The proper way is to patch Qt to use pkg-config to fetch the correct
flags [1], or to add it to arch.conf like is done in commit 7d286be4f9.
For now, however, just disable libgtk3 support unless the X11 backend
is used.

Fixes http://autobuild.buildroot.net/results/6f3c2fcb0a44cd13ef4c73822d4d08f923291099

[1] https://codereview.qt-project.org/#/c/198906/

Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
Cc: Julien Corjon <corjon.j@ecagroup.com>
Cc: Brent Sink <brents_3@hotmail.com>
Cc: Naoki Matsumoto <n-matsumoto@melcoinc.co.jp>
[Arnout:
- extend commit message
- improve comment
- also pass -no-gtk if libgtk3 is not selected]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-08-11 14:01:12 +02:00
Arnout Vandecappelle (Essensium/Mind)
4c5b02e571 Merge branch 'master' into next
This is in preparation of bumping the stella package, which is also
modified in master.
2017-08-10 00:32:51 +02:00
Peter Seiderer
2d29f050d5 qt5base: fix examples compile without opengl support
Fixes [1]:

  make[1]: Entering directory '.../build/qt5base-5.9.1/examples/opengl'
  cd hellowindow/ && ( test -e Makefile || .../build/qt5base-5.9.1/bin/qmake -o Makefile .../build/qt5base-5.9.1/examples/opengl/hellowindow/hellowindow.pro ) && make -f Makefile
  make[2]: Entering directory '.../build/qt5base-5.9.1/examples/opengl/hellowindow'
  .../host/bin/sparc-linux-g++ -c -pipe -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Os --sysroot=.../host/sparc-buildroot-linux-uclibc/sysroot -O2 -O3 -fno-exceptions -Wall -W -D_REENTRANT -fPIC -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -I. -I../../../include/QtGui/5.9.1 -I../../../include/QtGui/5.9.1/QtGui -I../../../include -I../../../include/QtGui -I../../../include/QtCore/5.9.1 -I../../../include/QtCore/5.9.1/QtCore -I../../../include/QtCore -I.moc -I../../../mkspecs/devices/linux-buildroot-g++ -o .obj/hellowindow.o hellowindow.cpp
  In file included from hellowindow.cpp:51:0:
  hellowindow.h:96:5: error: ‘QOpenGLShaderProgram’ does not name a type
       QOpenGLShaderProgram *m_program;
       ^~~~~~~~~~~~~~~~~~~~
  hellowindow.h:97:5: error: ‘QOpenGLBuffer’ does not name a type
       QOpenGLBuffer m_vbo;
       ^~~~~~~~~~~~~
  hellowindow.cpp: In constructor ‘Renderer::Renderer(const QSurfaceFormat&, Renderer*, QScreen*)’:
  hellowindow.cpp:62:40: error: invalid use of incomplete type ‘class QOpenGLContext’
       m_context = new QOpenGLContext(this);
                                          ^
  In file included from ../../../include/QtGui/qsurfaceformat.h:1:0,
                   from ../../../include/QtGui/../../src/gui/kernel/qsurface.h:45,
                   from ../../../include/QtGui/qsurface.h:1,
                   from ../../../include/QtGui/../../src/gui/kernel/qwindow.h:51,
                   from ../../../include/QtGui/qwindow.h:1,
                   from ../../../include/QtGui/QWindow:1,
                   from hellowindow.h:51,
                   from hellowindow.cpp:51:

[1] http://autobuild.buildroot.net/results/001/001bc930014fca8c2a8b7a390350b4e1a15fa375/build-end.log

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-08-08 17:09:14 +02:00
Joshua Henderson
4073fd0377 qt5wayland: new package
QtWayland is a Qt 5 module that wraps the functionality of Wayland.

Cc: Julien Corjon <corjon.j@ecagroup.com>
Cc: Brent Sink <brents_3@hotmail.com>
Cc: Naoki Matsumoto <n-matsumoto@melcoinc.co.jp>
Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
[Arnout:
 - select wayland instead of depending on it;
 - propagate jscore dependency from qt5declarative
 - re-order select/depends statements
 - rewrite comment to only refer to GL backend (jscore is an arch
   dependency)
 - rewrap help text of BR2_PACKAGE_QT5WAYLAND_COMPOSITOR]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-08-03 00:16:41 +02:00
Petar Koretic
25a7a93a50 qt5declarative: backport 'Fix alignment issue on ARMv7' patch to 5.9.1
This resolves a QML issues reported in
https://bugreports.qt.io/browse/QTBUG-61522 that will be fixed in the
5.9.2.

Signed-off-by: Petar Koretic <petar.koretic@qaap.io>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-31 22:58:58 +02:00
Joshua Henderson
2697543f9e package/qt5location: isolate patch to qt5location 5.9.1
The patch only applies to the 5.9.1 version, not 5.6.*.  This moves the
patch into the appropriate directory.

Fixes:
http://autobuild.buildroot.net/results/676abe008c9c4bddfddd7b041d8db9999e9e899d

Cc: Julien Corjon <corjon.j@ecagroup.com>
Cc: Peter Seiderer <ps.report@gmx.net>
Cc: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
Reviewed-by: Peter Seiderer <ps.report@gmx.net>
[Arnout: slightly edit commit message]
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2017-07-29 00:06:43 +02:00
Peter Seiderer
52995092e1 qt5location: fix plugins build dependency
Do not build the plugins before the dependency on module positioning for
the plugin subdir position is available (add Add upstream patch
0001-Fix-plugins-build-dependency.patch [1]).

Fixes [2]:

  cp -dpfr .../output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/qt/plugins/position .../output/target/usr/lib/qt/plugins/
  cp: cannot stat '.../output/host/aarch64-buildroot-linux-gnu/sysroot/usr/lib/qt/plugins/position': No such file or directory

[1] https://code.qt.io/cgit/qt/qtlocation.git/patch/?id=3ac051c4549575634cecc706175b019f4ed4c3bf
[2] http://autobuild.buildroot.net/results/bc1/bc13abf3bb2fe1c991aec2334ee658c9641d1fd5

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-25 21:50:46 +02:00
Wolfgang Grandegger
3aaea7ace2 package/qt5base: provide "qt.conf" to make "qmake" relocatable
The file "qt.conf" can be used to override the hard-coded paths that
are compiled into the Qt library. This is required to make "qmake"
relocatable. Actually, we need to specify all variables to overwrite
the compiled in values.

CC: Julien Corjon <corjon.j@ecagroup.com>
CC: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-20 23:02:46 +02:00
Peter Seiderer
6d64451b63 qt5base: add sob and upstream url to 5.9.1/0001-Fix-error-attribute-target-crc-is-unknown.patch
Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-20 22:25:16 +02:00
Joshua Henderson
854b933705 package/qt5: bump latest version to 5.9.1
Qt 5.9 is a Long Term Support version [1]. Some license file changes are
involved, a new dependency on pcre2, and some filename changes.  qt5webkit
popped back into the picture for 5.9.1 after being absent for 5.9.0
"officially." QT5_SNAPSHOTS_SITE is removed with this commit as it is not used
for qtwebkit anymore.

This removes the following patches that have been upstreamed for 5.9.1:

- qt5base/5.8.0/0001-fix-parallel-builds-with-qt-freetype-system-libpng.patch [2]
- qt5base/5.8.0/0002-fix-VNC-platform-plugin-build-on-big-endian-machines.patch [3]
- qt5base/5.8.0/0003-QAtomic-pass-explicit-failure-mode-to-std-atomic-com.patch [4]
- qt5base/5.8.0/0003-eglfs-fix-x11-header-related-compile-failure.patch [5]
- qt5base/5.8.0/0004-examples-fix-compile-without-gui-module.patch [6]
- qt5webkit/0003-Exclude-backtrace-API-for-non-glibc-libraries.patch [7]

The qt5webkit patches no longer apply to both the LTS and latest
version, so they are moved to per-version directories.

[1] https://www.qt.io/qt5-9/
[2] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4dcfd90e4fd7d4c49138038dbbcbda8794a9fbff
[3] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=6f64bfa654fb7e20bb75ec3b0544b81482babb44
[4] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=5cc0de2e084cb887a75b076b82cf470ecdcd4dd3
[5] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e9a7739e77f79baeb5452189b6d17e63de5b341d
[6] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=18d49808db46add078d9d4bcffaac5361d5c7269
[7] https://code.qt.io/cgit/qt/qtwebkit.git/commit/?id=548380af096f8277e460383c81a4ecdf2b77523f

Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com>
Cc: Julien Corjon <corjon.j@ecagroup.com>
Cc: Brent Sink <brents_3@hotmail.com>
Cc: Naoki Matsumoto <n-matsumoto@melcoinc.co.jp>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-20 09:33:12 +02:00
Peter Seiderer
a9e053b5a8 qt5base: fix qthash error attribute(target("+crc")) is unknown
Add patch 0005-Fix-error-attribute-target-crc-is-unknown.patch.

Upstream: https://codereview.qt-project.org/200171

Fixes buildroot Bug 9916 ([1]).

[1] https://bugs.busybox.net/show_bug.cgi?id=9916

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-16 09:49:55 +02:00
Arnout Vandecappelle
685f44de98 Globally replace $(HOST_DIR)/usr with $(HOST_DIR)
Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

This is a mechanical change with
git grep -l '\$(HOST_DIR)/usr' | xargs sed -i 's%\$(HOST_DIR)/usr%$(HOST_DIR)%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-05 15:22:29 +02:00
Arnout Vandecappelle
0f9c0bf3d5 Globally replace $(HOST_DIR)/usr/bin with $(HOST_DIR)/bin
Since things are no longer installed in $(HOST_DIR)/usr, the callers
should also not refer to it.

This is a mechanical change with
git grep -l '$(HOST_DIR)/usr/bin' | xargs sed -i 's%$(HOST_DIR)/usr/bin%$(HOST_DIR)/bin%g'

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-05 15:19:29 +02:00
Thomas Petazzoni
6858e21b52 Revert "package/qt5base: provide "qt.conf" to make "qmake" relocatable"
This reverts commit a2efb84dec, as it
causes files to be installed in an invalid location, causing build
failures.

Fixes:

  http://autobuild.buildroot.net/results/a1a9eeb7fec07a2f9f0d05e6c1900ad7cffb6656/

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-05 11:28:23 +02:00
Wolfgang Grandegger
a2efb84dec package/qt5base: provide "qt.conf" to make "qmake" relocatable
The file "qt.conf" can be used to override the hard-coded paths that are
compiled into the Qt library. We need it to make "qmake" relocatable.

CC: Julien Corjon <corjon.j@ecagroup.com>
CC: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Wolfgang Grandegger <wg@grandegger.com>
[Thomas:
 - use | instead of \ as sed separator, suggested by Arnout.
 - fix indentation, suggested by Arnout.]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-04 18:05:17 +02:00
Gaël PORTAY
3529ee59d1 qt5virtualkeyboard: new package
This patch adds the Qt virtualkeyboard package.

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Reviewed-by: Peter Seiderer <ps.report@gmx.net>
[Thomas:
 - use SDPX license codes
 - add entry to DEVELOPERS file
 - drop BR2_PACKAGE_QT5BASE_LICENSE_APPROVED logic, since we removed this option
 - select BR2_PACKAGE_QT5DECLARATIVE and
   BR2_PACKAGE_QT5DECLARATIVE_QUICK instead of using a "depends on"
   and propagate the appropriate dependencies]
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-03 00:36:01 +02:00
Bartosz Golaszewski
8d7dd837e5 qt5multimedia: conditionally add alsa-lib to dependencies
Qt5Multimedia builds the alsa plugin if it detects libasound in the
system. Add alsa-lib to dependencies if BR2_PACKAGE_ALSA_LIB is
selected.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Reviewed-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-01 19:04:28 +02:00
Bartosz Golaszewski
ac8044fc32 qt5multimedia: conditionally add pulseaudio & libglib2 to dependencies
Qt5Multimedia includes support for pulseaudio if it detects libpulse
and libpulse-mainloop-glib in the system at build-time. We need to
depend on pulseaudio and libglib2 if it is selected.

Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Reviewed-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-01 19:02:16 +02:00
Martin Kepplinger
23e8630fd5 package/qt5base: enable static build for BR2_PACKAGE_QT5BASE_TSLIB
The dependency on !BR2_STATIC_LIBS was here because of tslib not
supporting static builds. But since

   commit 05fadfea1 ("package/tslib: enable statically linked building")

it does and we can remove this dependecy.

Signed-off-by: Martin Kepplinger <martin.kepplinger@ginzinger.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-06-11 15:53:06 +02:00
Bernd Kuhls
72135aa2c0 package/qt5/qt5webkit: needs host gcc >= 4.8 for icu support
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-06-10 23:06:59 +02:00
Bernd Kuhls
03f7e6d1be package/qt5/qt5base: needs host gcc >= 4.8 for icu support
Signed-off-by: Bernd Kuhls <bernd.kuhls@t-online.de>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-06-10 23:06:24 +02:00