qt5: example of qtvirtualkeyboard

Fixes #2496
This commit is contained in:
Johannes Kliemann 2017-07-26 14:46:22 +02:00 committed by Christian Helmuth
parent b0187ddc28
commit 6cbf54aefb
32 changed files with 899 additions and 2 deletions

View File

@ -0,0 +1,3 @@
IMPORT_QT5_INC=$(call select_from_repositories,lib/import/import-qt5.inc)
include $(IMPORT_QT5_INC)

View File

@ -0,0 +1,3 @@
IMPORT_QT5_INC=$(call select_from_repositories,lib/import/import-qt5.inc)
include $(IMPORT_QT5_INC)

View File

@ -0,0 +1,3 @@
IMPORT_QT5_INC=$(call select_from_repositories,lib/import/import-qt5.inc)
include $(IMPORT_QT5_INC)

View File

@ -0,0 +1,3 @@
IMPORT_QT5_INC=$(call select_from_repositories,lib/import/import-qt5.inc)
include $(IMPORT_QT5_INC)

View File

@ -0,0 +1,5 @@
IMPORT_QT5_INC=$(call select_from_repositories,lib/import/import-qt5.inc)
include $(IMPORT_QT5_INC)
QT5_INC_DIR += $(QT5_CONTRIB_DIR)/qtsvg/include/QtSvg

View File

@ -0,0 +1,3 @@
IMPORT_QT5_INC=$(call select_from_repositories,lib/import/import-qt5.inc)
include $(IMPORT_QT5_INC)

View File

@ -0,0 +1,40 @@
include $(REP_DIR)/lib/import/import-qt5_qmlfolderlistmodelplugin.mk
SHARED_LIB = yes
include $(REP_DIR)/lib/mk/qt5_qmlfolderlistmodelplugin_generated.inc
QT_DEFINES += -UQT_STATICPLUGIN
include $(REP_DIR)/lib/mk/qt5.inc
LIBS += qt5_qml
# install the QtQuick QML plugin
QTQUICK_INSTALL_DIR := $(BUILD_BASE_DIR)/bin/qt5_fs/qt/qml/Qt/labs/folderlistmodel
QTQUICK_QMLDIR := $(QTQUICK_INSTALL_DIR)/qmldir
QTQUICK_PLUGIN_NAME := qt5_qmlfolderlistmodelplugin.lib.so
QTQUICK_PLUGIN := $(QTQUICK_INSTALL_DIR)/$(QTQUICK_PLUGIN_NAME)
$(QTQUICK_INSTALL_DIR):
$(VERBOSE)mkdir -p $@
$(QTQUICK_QMLDIR): $(QTQUICK_INSTALL_DIR)
$(VERBOSE)cp $(QT5_CONTRIB_DIR)/qtdeclarative/src/imports/folderlistmodel/qmldir $(QTQUICK_INSTALL_DIR)
$(QTQUICK_PLUGIN): $(QTQUICK_INSTALL_DIR)
$(VERBOSE)ln -sf $(BUILD_BASE_DIR)/bin/$(QTQUICK_PLUGIN_NAME) $(QTQUICK_INSTALL_DIR)/$(QTQUICK_PLUGIN_NAME)
ifneq ($(call select_from_ports,qt5),)
all: $(QTQUICK_QMLDIR) $(QTQUICK_PLUGIN)
endif
#
# unfortunately, these clean rules don't trigger
#
clean-qtquick_install_dir:
rm -rf $(QTQUICK_INSTALL_DIR)
clean: clean-qtquick_install_dir

View File

@ -0,0 +1,40 @@
QT_DEFINES += -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_QML_LIB -DQT_NO_QML_DEBUGGER -DQT_NETWORK_LIB -DQT_CORE_LIB
QT_INCPATH += \
qtdeclarative/src/imports/folderlistmodel \
qtdeclarative/include/QtQml/5.8.0 \
qtdeclarative/include/QtQml/5.8.0/QtQml \
qtbase/include/QtCore/5.8.0 \
qtbase/include/QtCore/5.8.0/QtCore \
qtdeclarative/include \
qtdeclarative/include/QtQml \
qtbase/include \
qtbase/include/QtNetwork \
qtbase/include/QtCore \
qtbase/mkspecs/genode-g++
QT_SOURCES += \
qquickfolderlistmodel.cpp \
plugin.cpp \
fileinfothread.cpp \
moc_fileinfothread_p.cpp
QT_VPATH += \
qtdeclarative/src/imports/folderlistmodel \
# some source files need to be generated by moc from other source/header files before
# they get #included again by the original source file in the compiling stage
# source files generated from existing header files ('moc_%.cpp: %.h' rule in import-qt5.inc)
# extracted from 'compiler_moc_header_make_all' target
COMPILER_MOC_HEADER_MAKE_ALL_FILES = \
moc_qquickfolderlistmodel.cpp \
moc_fileinfothread_p.cpp
# source files generated from existing source files ('%.moc: %.cpp' rule in import-qt5.inc)
# extracted from 'compiler_moc_source_make_all' rule
COMPILER_MOC_SOURCE_MAKE_ALL_FILES = \
plugin.moc

View File

@ -0,0 +1,40 @@
include $(REP_DIR)/lib/import/import-qt5_qquicklayoutsplugin.mk
SHARED_LIB = yes
include $(REP_DIR)/lib/mk/qt5_qquicklayoutsplugin_generated.inc
QT_DEFINES += -UQT_STATICPLUGIN
include $(REP_DIR)/lib/mk/qt5.inc
LIBS += qt5_qml mesa
# install the QtQuick QML plugin
QTQUICK_INSTALL_DIR := $(BUILD_BASE_DIR)/bin/qt5_fs/qt/qml/QtQuick/Layouts
QTQUICK_QMLDIR := $(QTQUICK_INSTALL_DIR)/qmldir
QTQUICK_PLUGIN_NAME := qt5_qquicklayoutsplugin.lib.so
QTQUICK_PLUGIN := $(QTQUICK_INSTALL_DIR)/$(QTQUICK_PLUGIN_NAME)
$(QTQUICK_INSTALL_DIR):
$(VERBOSE)mkdir -p $@
$(QTQUICK_QMLDIR): $(QTQUICK_INSTALL_DIR)
$(VERBOSE)cp $(QT5_CONTRIB_DIR)/qtdeclarative/src/imports/layouts/qmldir $(QTQUICK_INSTALL_DIR)
$(QTQUICK_PLUGIN): $(QTQUICK_INSTALL_DIR)
$(VERBOSE)ln -sf $(BUILD_BASE_DIR)/bin/$(QTQUICK_PLUGIN_NAME) $(QTQUICK_INSTALL_DIR)/$(QTQUICK_PLUGIN_NAME)
ifneq ($(call select_from_ports,qt5),)
all: $(QTQUICK_QMLDIR) $(QTQUICK_PLUGIN)
endif
#
# unfortunately, these clean rules don't trigger
#
clean-qtquick_install_dir:
rm -rf $(QTQUICK_INSTALL_DIR)
clean: clean-qtquick_install_dir

View File

@ -0,0 +1,52 @@
QT_DEFINES += -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NO_QML_DEBUGGER -DQT_NETWORK_LIB -DQT_CORE_LIB
QT_INCPATH += \
qtdeclarative/src/imports/layouts \
qtdeclarative/include/QtQuick/5.8.0 \
qtdeclarative/include/QtQuick/5.8.0/QtQuick \
qtbase/include/QtGui/5.8.0 \
qtbase/include/QtGui/5.8.0/QtGui \
qtdeclarative/include \
qtdeclarative/include/QtQuick \
qtbase/include \
qtbase/include/QtGui \
qtdeclarative/include/QtQml/5.8.0 \
qtdeclarative/include/QtQml/5.8.0/QtQml \
qtbase/include/QtCore/5.8.0 \
qtbase/include/QtCore/5.8.0/QtCore \
qtdeclarative/include/QtQml \
qtbase/include/QtNetwork \
qtbase/include/QtCore \
qtbase/mkspecs/genode-g++
QT_SOURCES += \
plugin.cpp \
qquicklayout.cpp \
qquicklinearlayout.cpp \
qquickstacklayout.cpp \
qquickgridlayoutengine.cpp \
qquicklayoutstyleinfo.cpp \
moc_qquicklayout_p.cpp \
moc_qquicklinearlayout_p.cpp \
moc_qquickstacklayout_p.cpp
QT_VPATH += \
qtdeclarative/src/imports/layouts \
# some source files need to be generated by moc from other source/header files before
# they get #included again by the original source file in the compiling stage
# source files generated from existing header files ('moc_%.cpp: %.h' rule in import-qt5.inc)
# extracted from 'compiler_moc_header_make_all' target
COMPILER_MOC_HEADER_MAKE_ALL_FILES = \
moc_qquicklayout_p.cpp \
moc_qquicklinearlayout_p.cpp \
moc_qquickstacklayout_p.cpp
# source files generated from existing source files ('%.moc: %.cpp' rule in import-qt5.inc)
# extracted from 'compiler_moc_source_make_all' rule
COMPILER_MOC_SOURCE_MAKE_ALL_FILES = \
plugin.moc

View File

@ -0,0 +1,57 @@
include $(REP_DIR)/lib/import/import-qt5_qtvirtualkeyboardplugin.mk
SHARED_LIB = yes
include $(REP_DIR)/lib/mk/qt5_qtvirtualkeyboardplugin_generated.inc
QT_DEFINES += -UQT_STATICPLUGIN
include $(REP_DIR)/lib/mk/qt5.inc
LIBS += qt5_qml qt5_quick qt5_svg qt5_qtvirtualkeyboardstylesplugin qt5_qquicklayoutsplugin qt5_qmlfolderlistmodelplugin mesa
# install the QtQuick QML plugin
QT_PLUGIN_INSTALL_DIR := $(BUILD_BASE_DIR)/bin/qt5_fs/qt/plugins/platforminputcontexts
QT_PLUGIN_NAME := qt5_qtvirtualkeyboardplugin.lib.so
QT_PLUGIN := $(QT_PLUGIN_INSTALL_DIR)/$(QT_PLUGIN_NAME)
QTQUICK_INSTALL_DIR := $(BUILD_BASE_DIR)/bin/qt5_fs/qt/qml/QtQuick/VirtualKeyboard
QTQUICK_QMLDIR := $(QTQUICK_INSTALL_DIR)/qmldir
QT5_REP_DIR := $(call select_from_repositories,lib/import/import-qt5.inc)
QT5_REP_DIR := $(realpath $(dir $(QT5_REP_DIR))../..)
include $(QT5_REP_DIR)/lib/mk/qt5_version.inc
QT5_CONTRIB_DIR := $(call select_from_ports,qt5)/src/lib/qt5/$(QT5)
vpath % $(QT5_CONTRIB_DIR)/qtvirtualkeyboard/src/virtualkeyboard/content
vpath % $(QT5_CONTRIB_DIR)/qtvirtualkeyboard/src/virtualkeyboard/content/styles/retro
vpath % $(QT5_CONTRIB_DIR)/qtvirtualkeyboard/src/virtualkeyboard/content/styles/default
$(QTQUICK_INSTALL_DIR):
$(VERBOSE)mkdir -p $@
$(STYLES_INSTALL_DIR):
$(VERBOSE)mkdir -p $@
$(QTQUICK_QMLDIR): $(QTQUICK_INSTALL_DIR)
$(VERBOSE)cp $(QT5_CONTRIB_DIR)/qtvirtualkeyboard/src/virtualkeyboard/import/qmldir $(QTQUICK_INSTALL_DIR)
$(QT_PLUGIN_INSTALL_DIR):
$(VERBOSE)mkdir -p $@
$(QT_PLUGIN): $(QT_PLUGIN_INSTALL_DIR)
$(VERBOSE)ln -sf $(BUILD_BASE_DIR)/bin/$(QT_PLUGIN_NAME) $(QT_PLUGIN_INSTALL_DIR)/$(QT_PLUGIN_NAME)
ifneq ($(call select_from_ports,qt5),)
all: $(QT_PLUGIN) $(QTQUICK_QMLDIR) $(QTQUICK_PLUGIN)
endif
#
# unfortunately, these clean rules don't trigger
#
clean-qtquick_install_dir:
rm -rf $(QT_PLUGIN_INSTALL_DIR)
clean: clean-qtquick_install_dir

View File

@ -0,0 +1,97 @@
QT_DEFINES += -DQT_VIRTUALKEYBOARD_DEFAULT_STYLE=\"default\" -DQT_VIRTUALKEYBOARD_DESKTOP -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NO_QML_DEBUGGER -DQT_CORE_LIB
QT_INCPATH += \
qtvirtualkeyboard/src/virtualkeyboard \
qtdeclarative/include \
qtdeclarative/include/QtQuick \
qtbase/include/QtGui/5.8.0 \
qtbase/include/QtGui/5.8.0/QtGui \
qtbase/include \
qtbase/include/QtGui \
qtdeclarative/include/QtQml \
qtbase/include/QtNetwork \
qtbase/include/QtCore/5.8.0 \
qtbase/include/QtCore/5.8.0/QtCore \
qtbase/include/QtCore \
qtbase/mkspecs/genode-g++
QT_SOURCES += \
platforminputcontext.cpp \
inputcontext.cpp \
abstractinputmethod.cpp \
plaininputmethod.cpp \
inputengine.cpp \
shifthandler.cpp \
plugin.cpp \
inputmethod.cpp \
selectionlistmodel.cpp \
defaultinputmethod.cpp \
abstractinputpanel.cpp \
enterkeyaction.cpp \
enterkeyactionattachedtype.cpp \
settings.cpp \
virtualkeyboardsettings.cpp \
trace.cpp \
desktopinputpanel.cpp \
inputview.cpp \
appinputpanel.cpp \
qrc_default_style.cpp \
qrc_retro_style.cpp \
qrc_content.cpp \
qrc_layouts.cpp \
moc_platforminputcontext.cpp \
moc_inputcontext.cpp \
moc_abstractinputmethod.cpp \
moc_plaininputmethod.cpp \
moc_inputengine.cpp \
moc_shifthandler.cpp \
moc_inputmethod.cpp \
moc_selectionlistmodel.cpp \
moc_defaultinputmethod.cpp \
moc_abstractinputpanel.cpp \
moc_enterkeyaction.cpp \
moc_enterkeyactionattachedtype.cpp \
moc_settings.cpp \
moc_virtualkeyboardsettings.cpp \
moc_plugin.cpp \
moc_trace.cpp \
moc_desktopinputpanel.cpp \
moc_inputview.cpp \
moc_appinputpanel.cpp
QT_VPATH += \
qtvirtualkeyboard/src/virtualkeyboard \
# some source files need to be generated by moc from other source/header files before
# they get #included again by the original source file in the compiling stage
# source files generated from existing header files ('moc_%.cpp: %.h' rule in import-qt5.inc)
# extracted from 'compiler_moc_header_make_all' target
COMPILER_MOC_HEADER_MAKE_ALL_FILES = \
moc_platforminputcontext.cpp \
moc_inputcontext.cpp \
moc_abstractinputmethod.cpp \
moc_plaininputmethod.cpp \
moc_inputengine.cpp \
moc_shifthandler.cpp \
moc_inputmethod.cpp \
moc_selectionlistmodel.cpp \
moc_defaultinputmethod.cpp \
moc_abstractinputpanel.cpp \
moc_enterkeyaction.cpp \
moc_enterkeyactionattachedtype.cpp \
moc_settings.cpp \
moc_virtualkeyboardsettings.cpp \
moc_plugin.cpp \
moc_trace.cpp \
moc_desktopinputpanel.cpp \
moc_inputview.cpp \
moc_appinputpanel.cpp
# source files generated from existing source files ('%.moc: %.cpp' rule in import-qt5.inc)
# extracted from 'compiler_moc_source_make_all' rule
COMPILER_MOC_SOURCE_MAKE_ALL_FILES = \

View File

@ -0,0 +1,53 @@
include $(REP_DIR)/lib/import/import-qt5_qtvirtualkeyboardstylesplugin.mk
SHARED_LIB = yes
include $(REP_DIR)/lib/mk/qt5_qtvirtualkeyboardstylesplugin_generated.inc
QT_DEFINES += -UQT_STATICPLUGIN
include $(REP_DIR)/lib/mk/qt5.inc
LIBS += qt5_qml qt5_quick
# install the QtQuick QML plugin
QT_PLUGIN_INSTALL_DIR := $(BUILD_BASE_DIR)/bin/qt5_fs/qt/qml/QtQuick/VirtualKeyboard/Styles
QT_PLUGIN_NAME := qt5_qtvirtualkeyboardstylesplugin.lib.so
QT_PLUGIN := $(QT_PLUGIN_INSTALL_DIR)/$(QT_PLUGIN_NAME)
QTQUICK_INSTALL_DIR := $(BUILD_BASE_DIR)/bin/qt5_fs/qt/qml/QtQuick/VirtualKeyboard/Styles
QTQUICK_QMLDIR := $(QTQUICK_INSTALL_DIR)/qmldir
QT5_REP_DIR := $(call select_from_repositories,lib/import/import-qt5.inc)
QT5_REP_DIR := $(realpath $(dir $(QT5_REP_DIR))../..)
include $(QT5_REP_DIR)/lib/mk/qt5_version.inc
QT5_CONTRIB_DIR := $(call select_from_ports,qt5)/src/lib/qt5/$(QT5)
$(QTQUICK_INSTALL_DIR):
$(VERBOSE)mkdir -p $@
$(STYLES_INSTALL_DIR):
$(VERBOSE)mkdir -p $@
$(QTQUICK_QMLDIR): $(QTQUICK_INSTALL_DIR)
$(VERBOSE)cp $(QT5_CONTRIB_DIR)/qtvirtualkeyboard/src/virtualkeyboard/styles/qmldir $(QTQUICK_INSTALL_DIR)
$(QT_PLUGIN_INSTALL_DIR):
$(VERBOSE)mkdir -p $@
$(QT_PLUGIN): $(QT_PLUGIN_INSTALL_DIR)
$(VERBOSE)ln -sf $(BUILD_BASE_DIR)/bin/$(QT_PLUGIN_NAME) $(QT_PLUGIN_INSTALL_DIR)/$(QT_PLUGIN_NAME)
ifneq ($(call select_from_ports,qt5),)
all: $(QT_PLUGIN) $(QTQUICK_QMLDIR) $(QTQUICK_PLUGIN)
endif
#
# unfortunately, these clean rules don't trigger
#
clean-qtquick_install_dir:
rm -rf $(QT_PLUGIN_INSTALL_DIR)
clean: clean-qtquick_install_dir

View File

@ -0,0 +1,40 @@
QT_DEFINES += -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_QUICK_LIB -DQT_SVG_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NO_QML_DEBUGGER -DQT_NETWORK_LIB -DQT_CORE_LIB
QT_INCPATH += \
qtvirtualkeyboard/src/virtualkeyboard/styles \
qtdeclarative/include \
qtdeclarative/include/QtQuick \
qtsvg/include \
qtsvg/include/QtSvg \
qtbase/include \
qtbase/include/QtWidgets \
qtbase/include/QtGui \
qtdeclarative/include/QtQml \
qtbase/include/QtNetwork \
qtbase/include/QtCore \
qtbase/mkspecs/genode-g++
QT_SOURCES += \
svgimageprovider.cpp \
styles_plugin.cpp \
qrc_styles.cpp \
moc_styles_plugin.cpp
QT_VPATH += \
qtvirtualkeyboard/src/virtualkeyboard/styles \
# some source files need to be generated by moc from other source/header files before
# they get #included again by the original source file in the compiling stage
# source files generated from existing header files ('moc_%.cpp: %.h' rule in import-qt5.inc)
# extracted from 'compiler_moc_header_make_all' target
COMPILER_MOC_HEADER_MAKE_ALL_FILES = \
moc_styles_plugin.cpp
# source files generated from existing source files ('%.moc: %.cpp' rule in import-qt5.inc)
# extracted from 'compiler_moc_source_make_all' rule
COMPILER_MOC_SOURCE_MAKE_ALL_FILES = \

View File

@ -0,0 +1,11 @@
include $(REP_DIR)/lib/import/import-qt5_svg.mk
SHARED_LIB = yes
LIBS += mesa zlib
include $(REP_DIR)/lib/mk/qt5_svg_generated.inc
include $(REP_DIR)/lib/mk/qt5.inc
INC_DIR += $(QT5_CONTRIB_DIR)/qtsvg/include/QtSvg/$(QT_VERSION)/QtSvg \

View File

@ -0,0 +1,54 @@
QT_DEFINES += -DQT_NO_FOREACH -DQT_NO_USING_NAMESPACE -DQT_BUILD_SVG_LIB -DQT_BUILDING_QT -DQT_NO_CAST_TO_ASCII -DQT_ASCII_CAST_WARNINGS -DQT_MOC_COMPAT -DQT_USE_QSTRINGBUILDER -DQT_DEPRECATED_WARNINGS -DQT_DISABLE_DEPRECATED_BEFORE=0x050000 -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_CORE_LIB
QT_INCPATH += \
qtsvg/src/svg \
qtsvg/include \
qtsvg/include/QtSvg \
qtsvg/include/QtSvg/5.8.0 \
qtsvg/include/QtSvg/5.8.0/QtSvg \
qtbase/include/QtWidgets/5.8.0 \
qtbase/include/QtWidgets/5.8.0/QtWidgets \
qtbase/include/QtGui/5.8.0 \
qtbase/include/QtGui/5.8.0/QtGui \
qtbase/include/QtCore/5.8.0 \
qtbase/include/QtCore/5.8.0/QtCore \
qtbase/include \
qtbase/include/QtWidgets \
qtbase/include/QtGui \
qtbase/include/QtCore \
qtbase/mkspecs/genode-g++
QT_SOURCES += \
qsvggraphics.cpp \
qsvghandler.cpp \
qsvgnode.cpp \
qsvgstructure.cpp \
qsvgstyle.cpp \
qsvgfont.cpp \
qsvgtinydocument.cpp \
qsvgrenderer.cpp \
qsvgwidget.cpp \
qgraphicssvgitem.cpp \
qsvggenerator.cpp \
moc_qsvgwidget.cpp
QT_VPATH += \
qtsvg/src/svg \
# some source files need to be generated by moc from other source/header files before
# they get #included again by the original source file in the compiling stage
# source files generated from existing header files ('moc_%.cpp: %.h' rule in import-qt5.inc)
# extracted from 'compiler_moc_header_make_all' target
COMPILER_MOC_HEADER_MAKE_ALL_FILES = \
moc_qsvgrenderer.cpp \
moc_qsvgwidget.cpp \
moc_qgraphicssvgitem.cpp
# source files generated from existing source files ('%.moc: %.cpp' rule in import-qt5.inc)
# extracted from 'compiler_moc_source_make_all' rule
COMPILER_MOC_SOURCE_MAKE_ALL_FILES = \

View File

@ -0,0 +1,40 @@
include $(REP_DIR)/lib/import/import-qt5_windowplugin.mk
SHARED_LIB = yes
include $(REP_DIR)/lib/mk/qt5_windowplugin_generated.inc
QT_DEFINES += -UQT_STATICPLUGIN
include $(REP_DIR)/lib/mk/qt5.inc
LIBS += qt5_qml mesa
# install the QtQuick QML plugin
QTQUICK_INSTALL_DIR := $(BUILD_BASE_DIR)/bin/qt5_fs/qt/qml/QtQuick/Window.2
QTQUICK_QMLDIR := $(QTQUICK_INSTALL_DIR)/qmldir
QTQUICK_PLUGIN_NAME := qt5_windowplugin.lib.so
QTQUICK_PLUGIN := $(QTQUICK_INSTALL_DIR)/$(QTQUICK_PLUGIN_NAME)
$(QTQUICK_INSTALL_DIR):
$(VERBOSE)mkdir -p $@
$(QTQUICK_QMLDIR): $(QTQUICK_INSTALL_DIR)
$(VERBOSE)cp $(QT5_CONTRIB_DIR)/qtdeclarative/src/imports/window/qmldir $(QTQUICK_INSTALL_DIR)
$(QTQUICK_PLUGIN): $(QTQUICK_INSTALL_DIR)
$(VERBOSE)ln -sf $(BUILD_BASE_DIR)/bin/$(QTQUICK_PLUGIN_NAME) $(QTQUICK_INSTALL_DIR)/$(QTQUICK_PLUGIN_NAME)
ifneq ($(call select_from_ports,qt5),)
all: $(QTQUICK_QMLDIR) $(QTQUICK_PLUGIN)
endif
#
# unfortunately, these clean rules don't trigger
#
clean-qtquick_install_dir:
rm -rf $(QTQUICK_INSTALL_DIR)
clean: clean-qtquick_install_dir

View File

@ -0,0 +1,42 @@
QT_DEFINES += -DQT_NO_EXCEPTIONS -D_LARGEFILE64_SOURCE -D_LARGEFILE_SOURCE -DQT_NO_DEBUG -DQT_PLUGIN -DQT_QUICK_LIB -DQT_GUI_LIB -DQT_QML_LIB -DQT_NO_QML_DEBUGGER -DQT_NETWORK_LIB -DQT_CORE_LIB
QT_INCPATH += \
qtdeclarative/src/imports/window \
qtdeclarative/include/QtQuick/5.8.0 \
qtdeclarative/include/QtQuick/5.8.0/QtQuick \
qtbase/include/QtGui/5.8.0 \
qtbase/include/QtGui/5.8.0/QtGui \
qtdeclarative/include \
qtdeclarative/include/QtQuick \
qtbase/include \
qtbase/include/QtGui \
qtdeclarative/include/QtQml/5.8.0 \
qtdeclarative/include/QtQml/5.8.0/QtQml \
qtbase/include/QtCore/5.8.0 \
qtbase/include/QtCore/5.8.0/QtCore \
qtdeclarative/include/QtQml \
qtbase/include/QtNetwork \
qtbase/include/QtCore \
qtbase/mkspecs/genode-g++
QT_SOURCES += \
plugin.cpp
QT_VPATH += \
qtdeclarative/src/imports/window \
# some source files need to be generated by moc from other source/header files before
# they get #included again by the original source file in the compiling stage
# source files generated from existing header files ('moc_%.cpp: %.h' rule in import-qt5.inc)
# extracted from 'compiler_moc_header_make_all' target
COMPILER_MOC_HEADER_MAKE_ALL_FILES = \
# source files generated from existing source files ('%.moc: %.cpp' rule in import-qt5.inc)
# extracted from 'compiler_moc_source_make_all' rule
COMPILER_MOC_SOURCE_MAKE_ALL_FILES = \
plugin.moc

View File

@ -1 +1 @@
bd7410b31ae57d778d9da6599c0a4e887fa44fa8
0171ade66403e7d2f48d08009cb49eae9f731f76

View File

@ -204,5 +204,10 @@ proc create_qt5_fs_tar_archive { app_name qt_modules } {
exec ln -sf [pwd]/bin/qt5_fs/qt/qml bin/qt5_fs/${app_name}/qt/qml
}
if { [lsearch ${qt_modules} "plugins"] != -1 } {
exec mkdir -p bin/qt5_fs/${app_name}/qt
exec ln -sf [pwd]/bin/qt5_fs/qt/plugins bin/qt5_fs/${app_name}/qt/plugins
}
exec tar chf bin/qt5_fs_${app_name}.tar -C bin/qt5_fs/${app_name} .
}

View File

@ -0,0 +1,112 @@
source ${genode_dir}/repos/libports/run/qt5_common.inc
#
# Build
#
append build_components [qt5_build_components feature]
append build_components {
app/qt5/examples/virtualkeyboard
lib/qt5/qtdeclarative/src/imports/qtquick2
lib/qt5/qtvirtualkeyboard/src/imports/qtvirtualkeyboard
}
build $build_components
create_boot_directory
#
# Create Qt tar archive
#
create_qt5_fs_tar_archive "basic" "gui quick plugins"
#
# Generate config
#
append config {
<config>
<parent-provides>}
append config [qt5_parent_provides feature]
append config {
</parent-provides>
<default caps="300"/>
<default-route>
<any-service> <parent/> <child name="wm"/> <any-child/> </any-service>
</default-route>}
append config [qt5_start_nodes feature]
append config {
<start name="basic" caps="300">
<resource name="RAM" quantum="100M"/>
<config>
<vfs>
<dir name="dev"> <log/> </dir>
<tar name="qt5_fs_basic.tar"/>
</vfs>
<libc stdout="/dev/log" stderr="/dev/log"/>
</config>
<route>
<service name="Nitpicker"> <child name="wm"/> </service>
<service name="ROM" label="egl_drv.lib.so"> <parent label="egl_swrast.lib.so" /> </service>
<any-service> <parent /> <any-child/> </any-service>
</route>
</start>
</config>
}
install_config $config
#
# Boot modules
#
append boot_modules [qt5_boot_modules feature]
append boot_modules {
basic
freetype.lib.so
egl.lib.so
egl_swrast.lib.so
glapi.lib.so
expat.lib.so
mesa.lib.so
ld.lib.so
libc.lib.so
libc_pipe.lib.so
libm.lib.so
libpng.lib.so
jpeg.lib.so
pcre16.lib.so
pthread.lib.so
qt5_component.lib.so
qt5_core.lib.so
qt5_gui.lib.so
qt5_network.lib.so
qt5_svg.lib.so
qt5_qml.lib.so
qt5_quick.lib.so
qt5_qtquick2plugin.lib.so
qt5_qquicklayoutsplugin.lib.so
qt5_qmlfolderlistmodelplugin.lib.so
qt5_qtvirtualkeyboardplugin.lib.so
qt5_qtvirtualkeyboardstylesplugin.lib.so
qt5_widgets.lib.so
qt5_windowplugin.lib.so
qt5_xml.lib.so
zlib.lib.so
stdcxx.lib.so
libcrypto.lib.so
libssl.lib.so
qt5_fs_basic.tar
}
build_boot_image $boot_modules
run_genode_until forever

View File

@ -0,0 +1,21 @@
# identify the qt5 repository by searching for a file that is unique for qt5
QT5_REP_DIR := $(call select_from_repositories,lib/import/import-qt5.inc)
QT5_REP_DIR := $(realpath $(dir $(QT5_REP_DIR))../..)
include $(QT5_REP_DIR)/lib/mk/qt5_version.inc
QT5_PORT_DIR := $(call select_from_ports,qt5)
QT5_CONTRIB_DIR := $(QT5_PORT_DIR)/src/lib/qt5/$(QT5)
QMAKE_PROJECT_PATH = $(QT5_CONTRIB_DIR)/qtvirtualkeyboard/examples/virtualkeyboard/basic
QMAKE_PROJECT_FILE = $(QMAKE_PROJECT_PATH)/basic.pro
vpath % $(QMAKE_PROJECT_PATH)
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_defaults.inc
CC_CXX_OPT += -D'MAIN_QML="basic-b2qt.qml"'
include $(QT5_REP_DIR)/src/app/qt5/tmpl/target_final.inc
LIBS += qt5_component qt5_qtvirtualkeyboardplugin qt5_windowplugin

View File

@ -47,6 +47,11 @@ ifeq ($(findstring xml, $(QT)), xml)
LIBS += qt5_xml
endif
# Qml
ifeq ($(findstring qml, $(QT)), qml)
LIBS += qt5_qml
endif
# QtUiTools
# Qt documentation says: CONFIG += uitools
ifeq ($(findstring uitools, $(CONFIG)), uitools)

View File

@ -0,0 +1,40 @@
--- a/qtvirtualkeyboard/examples/virtualkeyboard/basic/basic.pro 2017-08-14 11:23:48.610593201 +0200
+++ b/qtvirtualkeyboard/examples/virtualkeyboard/basic/basic.pro 2017-08-14 11:23:55.470642405 +0200
@@ -3,10 +3,10 @@
QT += qml quick
SOURCES += main.cpp
CONFIG += link_pkgconfig
-static {
- QT += svg
- QTPLUGIN += qtvirtualkeyboardplugin
-}
+#static {
+QT += svg
+QTPLUGIN += qtvirtualkeyboardplugin
+#}
target.path = $$[QT_INSTALL_EXAMPLES]/virtualkeyboard/basic
INSTALLS += target
@@ -24,13 +24,13 @@
content/TextBase.qml \
content/TextField.qml \
-disable-xcb {
- message("The disable-xcb option has been deprecated. Please use disable-desktop instead.")
- CONFIG += disable-desktop
-}
+#disable-xcb {
+# message("The disable-xcb option has been deprecated. Please use disable-desktop instead.")
+# CONFIG += disable-desktop
+#}
-disable-desktop|!isEmpty(CROSS_COMPILE)|qnx {
- DEFINES += MAIN_QML=\\\"basic-b2qt.qml\\\"
-} else {
- DEFINES += MAIN_QML=\\\"Basic.qml\\\"
-}
+#disable-desktop|!isEmpty(CROSS_COMPILE)|qnx {
+# DEFINES += MAIN_QML=\\\"basic-b2qt.qml\\\"
+#} else {
+# DEFINES += MAIN_QML=\\\"Basic.qml\\\"
+#}

View File

@ -5,18 +5,30 @@ From: Christian Prochaska <christian.prochaska@genode-labs.com>
---
.../QtQml/5.8.0/QtQml/private/qtqml-config_p.h | 1 +
qtdeclarative/include/QtQml/QtQmlDepends | 5 +++++
qtdeclarative/include/QtQml/qtqml-config.h | 1 +
.../include/QtQmlDevTools/QtQmlDevToolsDepends | 4 ++++
.../5.8.0/QtQuick/private/qtquick-config_p.h | 1 +
qtdeclarative/include/QtQuick/QtQuickDepends | 6 ++++++
qtdeclarative/include/QtQuick/qtquick-config.h | 1 +
.../QtQuickParticles/QtQuickParticlesDepends | 7 +++++++
.../include/QtQuickTest/QtQuickTestDepends | 6 ++++++
.../include/QtQuickWidgets/QtQuickWidgetsDepends | 8 ++++++++
qtdeclarative/src/qml/qtqml-config.h | 1 +
qtdeclarative/src/qml/qtqml-config_p.h | 1 +
qtdeclarative/src/quick/qtquick-config.h | 1 +
qtdeclarative/src/quick/qtquick-config_p.h | 13 +++++++++++++
8 files changed, 20 insertions(+)
14 files changed, 56 insertions(+)
create mode 100644 qtdeclarative/include/QtQml/5.8.0/QtQml/private/qtqml-config_p.h
create mode 100644 qtdeclarative/include/QtQml/QtQmlDepends
create mode 100644 qtdeclarative/include/QtQml/qtqml-config.h
create mode 100644 qtdeclarative/include/QtQmlDevTools/QtQmlDevToolsDepends
create mode 100644 qtdeclarative/include/QtQuick/5.8.0/QtQuick/private/qtquick-config_p.h
create mode 100644 qtdeclarative/include/QtQuick/QtQuickDepends
create mode 100644 qtdeclarative/include/QtQuick/qtquick-config.h
create mode 100644 qtdeclarative/include/QtQuickParticles/QtQuickParticlesDepends
create mode 100644 qtdeclarative/include/QtQuickTest/QtQuickTestDepends
create mode 100644 qtdeclarative/include/QtQuickWidgets/QtQuickWidgetsDepends
create mode 100644 qtdeclarative/src/qml/qtqml-config.h
create mode 100644 qtdeclarative/src/qml/qtqml-config_p.h
create mode 100644 qtdeclarative/src/quick/qtquick-config.h
@ -29,6 +41,17 @@ index 0000000..1fdbd71
+++ b/qtdeclarative/include/QtQml/5.8.0/QtQml/private/qtqml-config_p.h
@@ -0,0 +1 @@
+#include "../../../../../src/qml/qtqml-config_p.h"
diff --git a/qtdeclarative/include/QtQml/QtQmlDepends b/qtdeclarative/include/QtQml/QtQmlDepends
new file mode 100644
index 0000000..bdbffd6
--- /dev/null
+++ b/qtdeclarative/include/QtQml/QtQmlDepends
@@ -0,0 +1,5 @@
+/* This file was generated by qmake with the info from <root>/src/qml/qml.pro. */
+#ifdef __cplusplus /* create empty PCH in C mode */
+#include <QtCore/QtCore>
+#include <QtNetwork/QtNetwork>
+#endif
diff --git a/qtdeclarative/include/QtQml/qtqml-config.h b/qtdeclarative/include/QtQml/qtqml-config.h
new file mode 100644
index 0000000..48fe1f2
@ -36,6 +59,16 @@ index 0000000..48fe1f2
+++ b/qtdeclarative/include/QtQml/qtqml-config.h
@@ -0,0 +1 @@
+#include "../../src/qml/qtqml-config.h"
diff --git a/qtdeclarative/include/QtQmlDevTools/QtQmlDevToolsDepends b/qtdeclarative/include/QtQmlDevTools/QtQmlDevToolsDepends
new file mode 100644
index 0000000..a040297
--- /dev/null
+++ b/qtdeclarative/include/QtQmlDevTools/QtQmlDevToolsDepends
@@ -0,0 +1,4 @@
+/* This file was generated by qmake with the info from <root>/src/qmldevtools/qmldevtools.pro. */
+#ifdef __cplusplus /* create empty PCH in C mode */
+#include <QtCore/QtCore>
+#endif
diff --git a/qtdeclarative/include/QtQuick/5.8.0/QtQuick/private/qtquick-config_p.h b/qtdeclarative/include/QtQuick/5.8.0/QtQuick/private/qtquick-config_p.h
new file mode 100644
index 0000000..fcdf423
@ -43,6 +76,18 @@ index 0000000..fcdf423
+++ b/qtdeclarative/include/QtQuick/5.8.0/QtQuick/private/qtquick-config_p.h
@@ -0,0 +1 @@
+#include "../../../../../src/quick/qtquick-config_p.h"
diff --git a/qtdeclarative/include/QtQuick/QtQuickDepends b/qtdeclarative/include/QtQuick/QtQuickDepends
new file mode 100644
index 0000000..d39ee68
--- /dev/null
+++ b/qtdeclarative/include/QtQuick/QtQuickDepends
@@ -0,0 +1,6 @@
+/* This file was generated by qmake with the info from <root>/src/quick/quick.pro. */
+#ifdef __cplusplus /* create empty PCH in C mode */
+#include <QtCore/QtCore>
+#include <QtGui/QtGui>
+#include <QtQml/QtQml>
+#endif
diff --git a/qtdeclarative/include/QtQuick/qtquick-config.h b/qtdeclarative/include/QtQuick/qtquick-config.h
new file mode 100644
index 0000000..2ab295b
@ -50,6 +95,45 @@ index 0000000..2ab295b
+++ b/qtdeclarative/include/QtQuick/qtquick-config.h
@@ -0,0 +1 @@
+#include "../../src/quick/qtquick-config.h"
diff --git a/qtdeclarative/include/QtQuickParticles/QtQuickParticlesDepends b/qtdeclarative/include/QtQuickParticles/QtQuickParticlesDepends
new file mode 100644
index 0000000..ae06770
--- /dev/null
+++ b/qtdeclarative/include/QtQuickParticles/QtQuickParticlesDepends
@@ -0,0 +1,7 @@
+/* This file was generated by qmake with the info from <root>/src/particles/particles.pro. */
+#ifdef __cplusplus /* create empty PCH in C mode */
+#include <QtCore/QtCore>
+#include <QtGui/QtGui>
+#include <QtQml/QtQml>
+#include <QtQuick/QtQuick>
+#endif
diff --git a/qtdeclarative/include/QtQuickTest/QtQuickTestDepends b/qtdeclarative/include/QtQuickTest/QtQuickTestDepends
new file mode 100644
index 0000000..a2d1dcf
--- /dev/null
+++ b/qtdeclarative/include/QtQuickTest/QtQuickTestDepends
@@ -0,0 +1,6 @@
+/* This file was generated by qmake with the info from <root>/src/qmltest/qmltest.pro. */
+#ifdef __cplusplus /* create empty PCH in C mode */
+#include <QtCore/QtCore>
+#include <QtTest/QtTest>
+#include <QtWidgets/QtWidgets>
+#endif
diff --git a/qtdeclarative/include/QtQuickWidgets/QtQuickWidgetsDepends b/qtdeclarative/include/QtQuickWidgets/QtQuickWidgetsDepends
new file mode 100644
index 0000000..6b0980a
--- /dev/null
+++ b/qtdeclarative/include/QtQuickWidgets/QtQuickWidgetsDepends
@@ -0,0 +1,8 @@
+/* This file was generated by qmake with the info from <root>/src/quickwidgets/quickwidgets.pro. */
+#ifdef __cplusplus /* create empty PCH in C mode */
+#include <QtCore/QtCore>
+#include <QtGui/QtGui>
+#include <QtQml/QtQml>
+#include <QtQuick/QtQuick>
+#include <QtWidgets/QtWidgets>
+#endif
diff --git a/qtdeclarative/src/qml/qtqml-config.h b/qtdeclarative/src/qml/qtqml-config.h
new file mode 100644
index 0000000..299465e

View File

@ -0,0 +1,22 @@
qtsvg_generated.patch
From: Christian Prochaska <christian.prochaska@genode-labs.com>
---
qtsvg/include/QtSvg/QtSvgDepends | 6 ++++++
1 file changed, 6 insertions(+)
create mode 100644 qtsvg/include/QtSvg/QtSvgDepends
diff --git a/qtsvg/include/QtSvg/QtSvgDepends b/qtsvg/include/QtSvg/QtSvgDepends
new file mode 100644
index 0000000..a4800e1
--- /dev/null
+++ b/qtsvg/include/QtSvg/QtSvgDepends
@@ -0,0 +1,6 @@
+/* This file was generated by qmake with the info from <root>/src/svg/svg.pro. */
+#ifdef __cplusplus /* create empty PCH in C mode */
+#include <QtCore/QtCore>
+#include <QtGui/QtGui>
+#include <QtWidgets/QtWidgets>
+#endif

View File

@ -1,9 +1,11 @@
example_virtualkeyboard.patch
qtbase_fixes.patch
qtbase_configuration.patch
qtdeclarative_configuration.patch
qttools_configuration.patch
qtbase_generated.patch
qtdeclarative_generated.patch
qtsvg_generated.patch
qttools_generated.patch
qtbase_genode.patch
qtbase_genode_qtscriptclassic.patch

View File

@ -0,0 +1,4 @@
# the plugin gets loaded via 'dlopen()', therefore it is built separately
TARGET = dummy-qt5_qmlfolderlistmodelplugin
LIBS = qt5_qmlfolderlistmodelplugin

View File

@ -0,0 +1,4 @@
# the plugin gets loaded via 'dlopen()', therefore it is built separately
TARGET = dummy-qt5_qquicklayoutsplugin
LIBS = qt5_qquicklayoutsplugin

View File

@ -0,0 +1,4 @@
# the plugin gets loaded via 'dlopen()', therefore it is built separately
TARGET = dummy-qt5_qtvirtualkeyboardstylesplugin
LIBS = qt5_qtvirtualkeyboardstylesplugin

View File

@ -0,0 +1,4 @@
# the plugin gets loaded via 'dlopen()', therefore it is built separately
TARGET = dummy-qt5_qtvirtualkeyboardplugin
LIBS = qt5_qtvirtualkeyboardplugin

View File

@ -23,6 +23,10 @@ cd qtdeclarative/src/qml && ../../../create_generated_inc qt
cd qtdeclarative/src/quick && ../../../create_generated_inc qt5_quick && cp qt5_quick_generated.inc ../../.. && cd ../../..
cd qtdeclarative/src/imports/qtquick2 && ../../../../create_generated_inc qt5_qtquick2plugin && cp qt5_qtquick2plugin_generated.inc ../../../.. && cd ../../../..
cd qtsvg/src/svg && ../../../create_generated_inc qt5_svg && cp qt5_svg_generated.inc ../../.. && cd ../../..
cd qtvirtualkeyboard/src/virtualkeyboard && ../../../create_generated_inc qt5_qtvirtualkeyboardplugin && cp qt5_qtvirtualkeyboardplugin_generated.inc ../../.. && cd ../../..
# qtwebkit
make -C qtwebkit/Source/JavaScriptCore -f Makefile.JavaScriptCore sub-DerivedSources-pri > JavaScriptCore.log