kumquat-buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk

125 lines
4.6 KiB
Makefile
Raw Normal View History

################################################################################
#
# qt5virtualkeyboard
#
################################################################################
# Module does not follow Qt versionning for 5.6
ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
QT5VIRTUALKEYBOARD_VERSION = $(QT5_VERSION)
else
QT5VIRTUALKEYBOARD_VERSION = 2.0
endif
QT5VIRTUALKEYBOARD_SITE = $(QT5_SITE)
qt5: bump latest version to 5.10.1 The tarball filename has changed since 5.10. The module suffix *opensource-src* has changed to *everywhere-src*. I introduced the *QT5_SOURCE_TARBALL_PREFIX* variable to set the right filename according to the Qt version. qtwebengine: Select libnss. It is a requirement[1] because OpenSSL certificate validation[2] and NSS bundle[3] was dropped. Add host-libnss and host-libpng to satisfy new requirement to build an internal host-tool. Set ninja host pkg-config tool using environment variable $GN_PKG_CONFIG_HOST[4]. The build system uses pkg-config to get package data for both host and target architectures. Using the same call to pkg-config for both target and host leads to build mismatches: it tries to link a host-tool using target libraries. qt5base: sqlite plugin now uses sqlite3_column_table_name16() so select BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA to make sure it is available. qt5multimedia: libqgsttools was renamed to libQtMultimediaGstTools. The latter name matches the libQt5Multimedia*.so.* pattern so no additional copy command is needed for it anymore. qt5xmlpatterns: Names of the license files have changed: LICENSE.(L)GPLv3 -> LICENSE.(L)GPL3. The new files in fact already existed in 5.9.4 but the old ones were not removed yet. The new files are slightly different: there used to be a Qt header in front of it which is now removed. Also LICENSE.LGPL3 is rewrapped. qt5location, qt5quickcontrols, qt5serialport: Same license files issue, and for LICENSE.GPLv2 as well. LICENSE.GPL2 has the "How to Apply These Terms to Your New Programs" text appended to it. qt5script: Similar license file issues, but the new license files were not present yet. LICENSE.GPLv21 was removed so there is no longer a license file for the LGPL-2.1-covered Qt code. [1]: https://github.com/qt/qtwebengine/commit/9b449045fbd5fd3b58bcaff6cf0c5878cd6e64eb [2]: https://codereview.chromium.org/2862543003 [3]: https://codereview.chromium.org/1882433002 [4]: https://github.com/qt/qtwebengine/blob/v5.10.1/src/core/config/linux.pri#L111-L125 Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> [Peter: - fix sqlite plugin support in qt5base; - fix target installation of qt5multimedia ] Signed-off-by: Peter Seiderer <ps.report@gmx.net> [Arnout: - create a local host-pkg-config tool instead of extending pkgconf; - pass the same options to host-pkg-config as we do for other packages; - carry the EGL mesa3d X11 headers patch; - update license file names and hashes ] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2018-03-15 20:50:54 +01:00
QT5VIRTUALKEYBOARD_SOURCE = qtvirtualkeyboard-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5VIRTUALKEYBOARD_VERSION).tar.xz
QT5VIRTUALKEYBOARD_DEPENDENCIES = qt5base qt5declarative qt5svg
QT5VIRTUALKEYBOARD_INSTALL_STAGING = YES
QT5VIRTUALKEYBOARD_LICENSE = GPL-3.0
qt5virtualkeyboard: fix legal-info with 5.6 qt5virtualkeyboard 2.0 (shipped with Qt 5.6) doesn't contain any "main" license files with the GPLv3 license text. Conditionally remove LICENSE.GPL3 from QT5VIRTUALKEYBOARD_LICENSE_FILES when Qt major version is set to 5.6. Fixes: >>> qt5virtualkeyboard 2.0 Collecting legal info sha256sum: /home/gportay/src/buildroot/output/build/qt5virtualkeyboard-2.0/LICENSE.GPL3: No such file or directory ERROR: LICENSE.GPL3 has wrong sha256 hash: ERROR: expected: 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 ERROR: got : ERROR: Incomplete download, or man-in-the-middle (MITM) attack Also, the lipi-toolkit has a different filename between both supported Qt major version (5.6 and latest). Conditionally set the license in QT5VIRTUALKEYBOARD_LICENSE_FILES for lipi-toolkit according to the Qt major version used. Fixes: >>> qt5virtualkeyboard 2.0 Collecting legal info ERROR: No hash found for src/virtualkeyboard/3rdparty/openwnn/NOTICE ERROR: No hash found for src/virtualkeyboard/3rdparty/pinyin/NOTICE ERROR: No hash found for src/virtualkeyboard/3rdparty/tcime/COPYING sha256sum: /home/gportay/src/buildroot/output/build/qt5virtualkeyboard-2.0/src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt: No such file or directory ERROR: src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt has wrong sha256 hash: ERROR: expected: 7a45a9769d19545480a241230e6ea520b5156fac00930dcd69b6886749743d10 ERROR: got : ERROR: Incomplete download, or man-in-the-middle (MITM) attack Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> [Thomas: add hash for lipi-toolkit license file, tweak commit log.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-09-03 14:37:46 +02:00
ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
QT5VIRTUALKEYBOARD_LICENSE_FILES = LICENSE.GPL3
qt5virtualkeyboard: fix legal-info with 5.6 qt5virtualkeyboard 2.0 (shipped with Qt 5.6) doesn't contain any "main" license files with the GPLv3 license text. Conditionally remove LICENSE.GPL3 from QT5VIRTUALKEYBOARD_LICENSE_FILES when Qt major version is set to 5.6. Fixes: >>> qt5virtualkeyboard 2.0 Collecting legal info sha256sum: /home/gportay/src/buildroot/output/build/qt5virtualkeyboard-2.0/LICENSE.GPL3: No such file or directory ERROR: LICENSE.GPL3 has wrong sha256 hash: ERROR: expected: 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 ERROR: got : ERROR: Incomplete download, or man-in-the-middle (MITM) attack Also, the lipi-toolkit has a different filename between both supported Qt major version (5.6 and latest). Conditionally set the license in QT5VIRTUALKEYBOARD_LICENSE_FILES for lipi-toolkit according to the Qt major version used. Fixes: >>> qt5virtualkeyboard 2.0 Collecting legal info ERROR: No hash found for src/virtualkeyboard/3rdparty/openwnn/NOTICE ERROR: No hash found for src/virtualkeyboard/3rdparty/pinyin/NOTICE ERROR: No hash found for src/virtualkeyboard/3rdparty/tcime/COPYING sha256sum: /home/gportay/src/buildroot/output/build/qt5virtualkeyboard-2.0/src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt: No such file or directory ERROR: src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt has wrong sha256 hash: ERROR: expected: 7a45a9769d19545480a241230e6ea520b5156fac00930dcd69b6886749743d10 ERROR: got : ERROR: Incomplete download, or man-in-the-middle (MITM) attack Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> [Thomas: add hash for lipi-toolkit license file, tweak commit log.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-09-03 14:37:46 +02:00
endif
QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS = $(call qstrip,$(BR2_PACKAGE_QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS))
ifneq ($(strip $(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),)
QT5VIRTUALKEYBOARD_QMAKEFLAGS += CONFIG+="$(foreach lang,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS),lang-$(lang))"
ifneq ($(filter ja_JP all,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),)
QT5VIRTUALKEYBOARD_LICENSE := $(QT5VIRTUALKEYBOARD_LICENSE), Apache-2.0 (openwnn)
ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y)
QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/openwnn/NOTICE
else
QT5VIRTUALKEYBOARD_LICENSE_FILES += src/plugins/openwnn/3rdparty/openwnn/NOTICE
endif
endif
ifneq ($(filter zh_CN all,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),)
QT5VIRTUALKEYBOARD_3RDPARTY_PARTS = YES
QT5VIRTUALKEYBOARD_LICENSE := $(QT5VIRTUALKEYBOARD_LICENSE), Apache-2.0 (pinyin)
ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y)
QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/pinyin/NOTICE
else
QT5VIRTUALKEYBOARD_LICENSE_FILES += src/plugins/pinyin/3rdparty/pinyin/NOTICE
endif
endif
ifneq ($(filter zh_TW all,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),)
QT5VIRTUALKEYBOARD_3RDPARTY_PARTS = YES
QT5VIRTUALKEYBOARD_LICENSE := $(QT5VIRTUALKEYBOARD_LICENSE), Apache-2.0 (tcime), BSD-3-Clause (tcime)
ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y)
QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/tcime/COPYING
else
QT5VIRTUALKEYBOARD_LICENSE_FILES += src/plugins/tcime/3rdparty/tcime/COPYING
endif
endif
endif
ifeq ($(BR2_PACKAGE_QT5VIRTUALKEYBOARD_HANDWRITING),y)
QT5VIRTUALKEYBOARD_3RDPARTY_PARTS = YES
QT5VIRTUALKEYBOARD_QMAKEFLAGS += CONFIG+=handwriting
QT5VIRTUALKEYBOARD_LICENSE := $(QT5VIRTUALKEYBOARD_LICENSE), MIT (lipi-toolkit)
qt5virtualkeyboard: fix legal-info with 5.6 qt5virtualkeyboard 2.0 (shipped with Qt 5.6) doesn't contain any "main" license files with the GPLv3 license text. Conditionally remove LICENSE.GPL3 from QT5VIRTUALKEYBOARD_LICENSE_FILES when Qt major version is set to 5.6. Fixes: >>> qt5virtualkeyboard 2.0 Collecting legal info sha256sum: /home/gportay/src/buildroot/output/build/qt5virtualkeyboard-2.0/LICENSE.GPL3: No such file or directory ERROR: LICENSE.GPL3 has wrong sha256 hash: ERROR: expected: 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 ERROR: got : ERROR: Incomplete download, or man-in-the-middle (MITM) attack Also, the lipi-toolkit has a different filename between both supported Qt major version (5.6 and latest). Conditionally set the license in QT5VIRTUALKEYBOARD_LICENSE_FILES for lipi-toolkit according to the Qt major version used. Fixes: >>> qt5virtualkeyboard 2.0 Collecting legal info ERROR: No hash found for src/virtualkeyboard/3rdparty/openwnn/NOTICE ERROR: No hash found for src/virtualkeyboard/3rdparty/pinyin/NOTICE ERROR: No hash found for src/virtualkeyboard/3rdparty/tcime/COPYING sha256sum: /home/gportay/src/buildroot/output/build/qt5virtualkeyboard-2.0/src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt: No such file or directory ERROR: src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt has wrong sha256 hash: ERROR: expected: 7a45a9769d19545480a241230e6ea520b5156fac00930dcd69b6886749743d10 ERROR: got : ERROR: Incomplete download, or man-in-the-middle (MITM) attack Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> [Thomas: add hash for lipi-toolkit license file, tweak commit log.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-09-03 14:37:46 +02:00
ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y)
QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/lipi-toolkit/license.txt
else
QT5VIRTUALKEYBOARD_LICENSE_FILES += src/plugins/lipi-toolkit/3rdparty/lipi-toolkit/MIT_LICENSE.txt
endif
qt5virtualkeyboard: fix legal-info with 5.6 qt5virtualkeyboard 2.0 (shipped with Qt 5.6) doesn't contain any "main" license files with the GPLv3 license text. Conditionally remove LICENSE.GPL3 from QT5VIRTUALKEYBOARD_LICENSE_FILES when Qt major version is set to 5.6. Fixes: >>> qt5virtualkeyboard 2.0 Collecting legal info sha256sum: /home/gportay/src/buildroot/output/build/qt5virtualkeyboard-2.0/LICENSE.GPL3: No such file or directory ERROR: LICENSE.GPL3 has wrong sha256 hash: ERROR: expected: 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903 ERROR: got : ERROR: Incomplete download, or man-in-the-middle (MITM) attack Also, the lipi-toolkit has a different filename between both supported Qt major version (5.6 and latest). Conditionally set the license in QT5VIRTUALKEYBOARD_LICENSE_FILES for lipi-toolkit according to the Qt major version used. Fixes: >>> qt5virtualkeyboard 2.0 Collecting legal info ERROR: No hash found for src/virtualkeyboard/3rdparty/openwnn/NOTICE ERROR: No hash found for src/virtualkeyboard/3rdparty/pinyin/NOTICE ERROR: No hash found for src/virtualkeyboard/3rdparty/tcime/COPYING sha256sum: /home/gportay/src/buildroot/output/build/qt5virtualkeyboard-2.0/src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt: No such file or directory ERROR: src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt has wrong sha256 hash: ERROR: expected: 7a45a9769d19545480a241230e6ea520b5156fac00930dcd69b6886749743d10 ERROR: got : ERROR: Incomplete download, or man-in-the-middle (MITM) attack Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> [Thomas: add hash for lipi-toolkit license file, tweak commit log.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-09-03 14:37:46 +02:00
endif
ifeq ($(BR2_PACKAGE_QT5VIRTUALKEYBOARD_ARROW_KEY_NAVIGATION),y)
QT5VIRTUALKEYBOARD_QMAKEFLAGS += CONFIG+=arrow-key-navigation
endif
ifdef QT5VIRTUALKEYBOARD_3RDPARTY_PARTS
define QT5VIRTUALKEYBOARD_INSTALL_TARGET_3RDPARTY_PARTS
cp -dpfr $(STAGING_DIR)/usr/qtvirtualkeyboard $(TARGET_DIR)/usr
endef
endif
define QT5VIRTUALKEYBOARD_CONFIGURE_CMDS
(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake $(QT5VIRTUALKEYBOARD_QMAKEFLAGS))
endef
define QT5VIRTUALKEYBOARD_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
endef
define QT5VIRTUALKEYBOARD_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
endef
2018-09-06 14:42:29 +02:00
ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y)
define QT5VIRTUALKEYBOARD_INSTALL_TARGET_QML
mkdir -p $(TARGET_DIR)/usr/qml/QtQuick/Enterprise
cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Enterprise/VirtualKeyboard $(TARGET_DIR)/usr/qml/QtQuick/Enterprise/
endef
else
define QT5VIRTUALKEYBOARD_INSTALL_TARGET_QML
mkdir -p $(TARGET_DIR)/usr/qml/QtQuick
cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/VirtualKeyboard $(TARGET_DIR)/usr/qml/QtQuick/
endef
endif
ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
define QT5VIRTUALKEYBOARD_INSTALL_TARGET_EXAMPLES
cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/virtualkeyboard $(TARGET_DIR)/usr/lib/qt/examples/
endef
endif
ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST):$(BR2_STATIC_LIBS),y:)
define QT5VIRTUALKEYBOARD_INSTALL_TARGET_LIBS
cp -dpf $(STAGING_DIR)/usr/lib/libQt5VirtualKeyboard*.so.* $(TARGET_DIR)/usr/lib
endef
endif
define QT5VIRTUALKEYBOARD_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/usr/lib/qt/plugins/platforminputcontexts
cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so \
$(TARGET_DIR)/usr/lib/qt/plugins/platforminputcontexts
$(QT5VIRTUALKEYBOARD_INSTALL_TARGET_LIBS)
2018-09-06 14:42:29 +02:00
$(QT5VIRTUALKEYBOARD_INSTALL_TARGET_QML)
$(QT5VIRTUALKEYBOARD_INSTALL_TARGET_3RDPARTY_PARTS)
$(QT5VIRTUALKEYBOARD_INSTALL_TARGET_EXAMPLES)
endef
$(eval $(generic-package))