kumquat-buildroot/package/qt5/qt5virtualkeyboard/qt5virtualkeyboard.mk
Gaël PORTAY f0a0e1d72b qt5virtualkeyboard: fix target install issue with Qt 5.6
qt5virtualkeyboard 2.0 (shipped with Qt 5.6) installs the QML plugin
under the directory Enterprise while the later versions install it
without that directory.

Differentiate installation to target of the QML plugin according to
the Qt major version in use.

Also, make sure the /usr/qml/QtQuick directory exists before the copy.

Fixes:

	>>> qt5virtualkeyboard 2.0 Installing to target
	mkdir -p /home/gportay/src/buildroot/output/target/usr/lib/qt/plugins/platforminputcontexts
	cp -dpfr /home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/lib/qt/plugins/platforminputcontexts/libqtvirtualkeyboardplugin.so /home/gportay/src/buildroot/output/target/usr/lib/qt/plugins/platforminputcontexts
	cp -dpfr /home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/qml/QtQuick/VirtualKeyboard /home/gportay/src/buildroot/output/target/usr/qml/QtQuick
	cp: cannot stat '/home/gportay/src/buildroot/output/host/arm-buildroot-linux-gnueabi/sysroot/usr/qml/QtQuick/VirtualKeyboard': No such file or directory
	package/pkg-generic.mk:310: recipe for target '/home/gportay/src/buildroot/output/build/qt5virtualkeyboard-2.0/.stamp_target_installed' failed
	make: *** [/home/gportay/src/buildroot/output/build/qt5virtualkeyboard-2.0/.stamp_target_installed] Error 1

Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@bootlin.com>
2018-09-06 20:58:05 +02:00

102 lines
3.8 KiB
Makefile

################################################################################
#
# 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)
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
ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
QT5VIRTUALKEYBOARD_LICENSE_FILES = LICENSE.GPL3
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)
QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/openwnn/NOTICE
endif
ifneq ($(filter zh_CN all,$(QT5VIRTUALKEYBOARD_LANGUAGE_LAYOUTS)),)
QT5VIRTUALKEYBOARD_3RDPARTY_PARTS = YES
QT5VIRTUALKEYBOARD_LICENSE := $(QT5VIRTUALKEYBOARD_LICENSE), Apache-2.0 (pinyin)
QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/pinyin/NOTICE
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)
QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/tcime/COPYING
endif
endif
ifeq ($(BR2_PACKAGE_QT5VIRTUALKEYBOARD_HANDWRITING),y)
QT5VIRTUALKEYBOARD_3RDPARTY_PARTS = YES
QT5VIRTUALKEYBOARD_QMAKEFLAGS += CONFIG+=handwriting
QT5VIRTUALKEYBOARD_LICENSE := $(QT5VIRTUALKEYBOARD_LICENSE), MIT (lipi-toolkit)
ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y)
QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/lipi-toolkit/license.txt
else
QT5VIRTUALKEYBOARD_LICENSE_FILES += src/virtualkeyboard/3rdparty/lipi-toolkit/MIT_LICENSE.txt
endif
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
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
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_QML)
$(QT5VIRTUALKEYBOARD_INSTALL_TARGET_3RDPARTY_PARTS)
$(QT5VIRTUALKEYBOARD_INSTALL_TARGET_EXAMPLES)
endef
$(eval $(generic-package))