diff --git a/repos/libports/lib/import/import-qt5_cmake.mk b/repos/libports/lib/import/import-qt5_cmake.mk index 6600f2351e..8f727b7ff6 100644 --- a/repos/libports/lib/import/import-qt5_cmake.mk +++ b/repos/libports/lib/import/import-qt5_cmake.mk @@ -6,7 +6,7 @@ # QT5_PORT_LIBS: Qt5 libraries used from port (for example libQt5Core) # -QT_TOOLS_DIR = /usr/local/genode/qt5/20.08 +QT_TOOLS_DIR = /usr/local/genode/qt5/22.08 ifeq ($(filter-out $(SPECS),arm),) QT_PLATFORM = genode-arm-g++ diff --git a/repos/libports/lib/import/import-qt5_qmake.mk b/repos/libports/lib/import/import-qt5_qmake.mk index 349d5ced96..271cfcbd6c 100644 --- a/repos/libports/lib/import/import-qt5_qmake.mk +++ b/repos/libports/lib/import/import-qt5_qmake.mk @@ -6,7 +6,7 @@ # QT5_PORT_LIBS: Qt5 libraries used from port (for example libQt5Core) # -QT_TOOLS_DIR = /usr/local/genode/qt5/20.08 +QT_TOOLS_DIR = /usr/local/genode/qt5/22.08 QMAKE = $(QT_TOOLS_DIR)/bin/qmake ifeq ($(filter-out $(SPECS),arm),) @@ -161,6 +161,9 @@ qmake_root/lib/%.lib.a: qmake_root/lib qmake_root/mkspecs: qmake_root $(VERBOSE)mkdir -p $@ $(VERBOSE)ln -sf $(QT_API_DIR)/mkspecs/* $@/ + $(VERBOSE)rm -f $@/modules + $(VERBOSE)mkdir $@/modules + $(VERBOSE)ln -snf $(QT_API_DIR)/mkspecs/modules/* $@/modules/ $(VERBOSE)ln -sf $(QMAKE_PLATFORM)/qconfig.pri $@/ $(VERBOSE)ln -sf $(QMAKE_PLATFORM)/qmodule.pri $@/ diff --git a/repos/libports/lib/mk/libQt5QmlModels.mk b/repos/libports/lib/mk/libQt5QmlModels.mk new file mode 100644 index 0000000000..a1e8b27d37 --- /dev/null +++ b/repos/libports/lib/mk/libQt5QmlModels.mk @@ -0,0 +1,6 @@ +# +# This individual library description file is needed to get the abi +# library generated when building Qt5 packages. +# + +LIBS = qt5_declarative diff --git a/repos/libports/lib/mk/libQt5QmlWorkerScript.mk b/repos/libports/lib/mk/libQt5QmlWorkerScript.mk new file mode 100644 index 0000000000..a1e8b27d37 --- /dev/null +++ b/repos/libports/lib/mk/libQt5QmlWorkerScript.mk @@ -0,0 +1,6 @@ +# +# This individual library description file is needed to get the abi +# library generated when building Qt5 packages. +# + +LIBS = qt5_declarative diff --git a/repos/libports/lib/mk/qt5_base.mk b/repos/libports/lib/mk/qt5_base.mk index 081d119db8..098cc7a4e7 100644 --- a/repos/libports/lib/mk/qt5_base.mk +++ b/repos/libports/lib/mk/qt5_base.mk @@ -25,6 +25,7 @@ built.tag: qmake_prepared.tag qmake_root/lib/ld.lib.so -no-feature-dbus \ -no-feature-networkinterface \ -no-feature-process \ + -no-feature-relocatable \ -no-feature-vulkan \ $(QT5_OUTPUT_FILTER) diff --git a/repos/libports/lib/mk/qt5_declarative.mk b/repos/libports/lib/mk/qt5_declarative.mk index 034094d534..ac2ecac6aa 100644 --- a/repos/libports/lib/mk/qt5_declarative.mk +++ b/repos/libports/lib/mk/qt5_declarative.mk @@ -5,17 +5,22 @@ QT5_PORT_LIBS = libQt5Core libQt5Gui libQt5Network libQt5Sql libQt5Test libQt5Wi LIBS = libc libm mesa stdcxx $(QT5_PORT_LIBS) INSTALL_LIBS = lib/libQt5Qml.lib.so \ + lib/libQt5QmlModels.lib.so \ + lib/libQt5QmlWorkerScript.lib.so \ lib/libQt5Quick.lib.so \ lib/libQt5QuickParticles.lib.so \ lib/libQt5QuickShapes.lib.so \ lib/libQt5QuickTest.lib.so \ lib/libQt5QuickWidgets.lib.so \ + qml/Qt/labs/animation/liblabsanimationplugin.lib.so \ qml/Qt/labs/folderlistmodel/libqmlfolderlistmodelplugin.lib.so \ qml/Qt/labs/qmlmodels/liblabsmodelsplugin.lib.so \ qml/Qt/labs/settings/libqmlsettingsplugin.lib.so \ qml/Qt/labs/wavefrontmesh/libqmlwavefrontmeshplugin.lib.so \ qml/QtQml/Models.2/libmodelsplugin.lib.so \ qml/QtQml/StateMachine/libqtqmlstatemachine.lib.so \ + qml/QtQml/WorkerScript.2/libworkerscriptplugin.lib.so \ + qml/QtQml/libqmlplugin.lib.so \ qml/QtQuick.2/libqtquick2plugin.lib.so \ qml/QtQuick/Layouts/libqquicklayoutsplugin.lib.so \ qml/QtQuick/LocalStorage/libqmllocalstorageplugin.lib.so \ @@ -35,6 +40,7 @@ built.tag: qmake_prepared.tag $(QT_DIR)/qtdeclarative/qtdeclarative.pro \ -- \ -no-feature-qml-devtools \ + -no-feature-qml-jit \ $(QT5_OUTPUT_FILTER) @# diff --git a/repos/libports/lib/mk/qt5_graphicaleffects.mk b/repos/libports/lib/mk/qt5_graphicaleffects.mk index 765c3678d6..412633b2f1 100644 --- a/repos/libports/lib/mk/qt5_graphicaleffects.mk +++ b/repos/libports/lib/mk/qt5_graphicaleffects.mk @@ -1,7 +1,7 @@ include $(call select_from_repositories,lib/import/import-qt5_qmake.mk) QT5_PORT_LIBS += libQt5Core libQt5Gui libQt5Network -QT5_PORT_LIBS += libQt5Qml libQt5Quick +QT5_PORT_LIBS += libQt5Qml libQt5QmlModels libQt5Quick LIBS = libc libm mesa stdcxx $(QT5_PORT_LIBS) diff --git a/repos/libports/lib/mk/qt5_quickcontrols.mk b/repos/libports/lib/mk/qt5_quickcontrols.mk index 1c40f2b0fa..c980e41a44 100644 --- a/repos/libports/lib/mk/qt5_quickcontrols.mk +++ b/repos/libports/lib/mk/qt5_quickcontrols.mk @@ -1,7 +1,7 @@ include $(call select_from_repositories,lib/import/import-qt5_qmake.mk) QT5_PORT_LIBS += libQt5Core libQt5Gui libQt5Network libQt5Widgets -QT5_PORT_LIBS += libQt5Qml libQt5Quick +QT5_PORT_LIBS += libQt5Qml libQt5QmlModels libQt5Quick LIBS = libc libm mesa stdcxx $(QT5_PORT_LIBS) diff --git a/repos/libports/lib/mk/qt5_quickcontrols2.mk b/repos/libports/lib/mk/qt5_quickcontrols2.mk index a774fef751..c7937b01fe 100644 --- a/repos/libports/lib/mk/qt5_quickcontrols2.mk +++ b/repos/libports/lib/mk/qt5_quickcontrols2.mk @@ -1,7 +1,7 @@ include $(call select_from_repositories,lib/import/import-qt5_qmake.mk) QT5_PORT_LIBS += libQt5Core libQt5Gui libQt5Network libQt5Widgets -QT5_PORT_LIBS += libQt5Qml libQt5Quick +QT5_PORT_LIBS += libQt5Qml libQt5QmlModels libQt5Quick LIBS = libc libm mesa stdcxx $(QT5_PORT_LIBS) diff --git a/repos/libports/lib/mk/qt5_virtualkeyboard.mk b/repos/libports/lib/mk/qt5_virtualkeyboard.mk index d9f96df908..2a57a037ae 100644 --- a/repos/libports/lib/mk/qt5_virtualkeyboard.mk +++ b/repos/libports/lib/mk/qt5_virtualkeyboard.mk @@ -1,7 +1,7 @@ include $(call select_from_repositories,lib/import/import-qt5_qmake.mk) QT5_PORT_LIBS = libQt5Core libQt5Gui libQt5Network libQt5Widgets -QT5_PORT_LIBS += libQt5Qml libQt5Quick +QT5_PORT_LIBS += libQt5Qml libQt5QmlModels libQt5Quick QT5_PORT_LIBS += libQt5Svg LIBS = libc libm mesa stdcxx $(QT5_PORT_LIBS) diff --git a/repos/libports/ports/qt5-host.hash b/repos/libports/ports/qt5-host.hash index a0c4084adf..8bc77acb3a 100644 --- a/repos/libports/ports/qt5-host.hash +++ b/repos/libports/ports/qt5-host.hash @@ -1 +1 @@ -21e078acd47b0d6888fe0f289eafbc8682da7a05 +51940aa0054325a33ca2e1286dbb2b8c7e006b69 diff --git a/repos/libports/ports/qt5-host.port b/repos/libports/ports/qt5-host.port index 507185778b..e57f207e64 100644 --- a/repos/libports/ports/qt5-host.port +++ b/repos/libports/ports/qt5-host.port @@ -1,15 +1,20 @@ LICENSE := GPL -VERSION := 5.13.2 +VERSION := 5.15.2 -QTBASE := qtbase-everywhere-src-${VERSION} -QTTOOLS := qttools-everywhere-src-${VERSION} +QTBASE := qtbase-everywhere-src-${VERSION} +QTDECLARATIVE := qtdeclarative-everywhere-src-${VERSION} +QTTOOLS := qttools-everywhere-src-${VERSION} -DOWNLOADS := ${QTBASE}.archive $(QTTOOLS).archive +DOWNLOADS := ${QTBASE}.archive $(QTDECLARATIVE).archive $(QTTOOLS).archive -URL(${QTBASE}) := https://download.qt.io/archive/qt/5.13/$(VERSION)/submodules/$(QTBASE).tar.xz -SHA(${QTBASE}) := 26b6b686d66a7ad28eaca349e55e2894e5a735f3831e45f2049e93b1daa92121 +URL(${QTBASE}) := https://download.qt.io/archive/qt/5.15/$(VERSION)/submodules/$(QTBASE).tar.xz +SHA(${QTBASE}) := 909fad2591ee367993a75d7e2ea50ad4db332f05e1c38dd7a5a274e156a4e0f8 DIR(${QTBASE}) := src/lib/qtbase -URL(${QTTOOLS}) := https://download.qt.io/archive/qt/5.13/$(VERSION)/submodules/$(QTTOOLS).tar.xz -SHA(${QTTOOLS}) := 919a2713b6d2d7873a09ad85bd93cf4282606e5bf84d5884250f665a253ec06e +URL(${QTDECLARATIVE}) := https://download.qt.io/archive/qt/5.15/$(VERSION)/submodules/$(QTDECLARATIVE).tar.xz +SHA(${QTDECLARATIVE}) := c600d09716940f75d684f61c5bdaced797f623a86db1627da599027f6c635651 +DIR(${QTDECLARATIVE}) := src/lib/qtdeclarative + +URL(${QTTOOLS}) := https://download.qt.io/archive/qt/5.15/$(VERSION)/submodules/$(QTTOOLS).tar.xz +SHA(${QTTOOLS}) := c189d0ce1ff7c739db9a3ace52ac3e24cb8fd6dbf234e49f075249b38f43c1cc DIR(${QTTOOLS}) := src/lib/qttools diff --git a/repos/libports/ports/qt5.hash b/repos/libports/ports/qt5.hash index cc3bde6e7e..12d420c6d4 100644 --- a/repos/libports/ports/qt5.hash +++ b/repos/libports/ports/qt5.hash @@ -1 +1 @@ -e70d0da90f784dc66466c43b0e3f6dc31499d0f0 +cf64ea7028a957683bad0154451c1d7f516a4336 diff --git a/repos/libports/ports/qt5.port b/repos/libports/ports/qt5.port index e29ff703f5..2f736c6899 100644 --- a/repos/libports/ports/qt5.port +++ b/repos/libports/ports/qt5.port @@ -1,8 +1,8 @@ LICENSE := GPL -VERSION := 5.13.2 +VERSION := 5.15.2 DOWNLOADS := qt5.git URL(qt5) := https://github.com/cproc/qt5.git -REV(qt5) := issue4541 +REV(qt5) := issue4589 DIR(qt5) := src/lib/qt5 diff --git a/repos/libports/run/qt5_samegame.run b/repos/libports/run/qt5_samegame.run index a26569b1d3..a3e8e81722 100644 --- a/repos/libports/run/qt5_samegame.run +++ b/repos/libports/run/qt5_samegame.run @@ -23,7 +23,7 @@ append config { append config [qt5_start_nodes] append config { - + diff --git a/repos/libports/run/qt5_virtualkeyboard.run b/repos/libports/run/qt5_virtualkeyboard.run index 85f846b842..53018d533d 100644 --- a/repos/libports/run/qt5_virtualkeyboard.run +++ b/repos/libports/run/qt5_virtualkeyboard.run @@ -25,7 +25,7 @@ append config { append config [qt5_start_nodes] append config { - + diff --git a/repos/libports/src/app/qt5/examples/samegame/target.mk b/repos/libports/src/app/qt5/examples/samegame/target.mk index f7dba1e7be..7e0d810ce8 100644 --- a/repos/libports/src/app/qt5/examples/samegame/target.mk +++ b/repos/libports/src/app/qt5/examples/samegame/target.mk @@ -3,7 +3,7 @@ QMAKE_PROJECT_FILE = $(PRG_DIR)/samegame.pro QMAKE_TARGET_BINARIES = samegame QT5_PORT_LIBS += libQt5Core libQt5Gui libQt5Network -QT5_PORT_LIBS += libQt5Qml libQt5Quick +QT5_PORT_LIBS += libQt5Qml libQt5QmlModels libQt5Quick LIBS = libc libm mesa qt5_component stdcxx $(QT5_PORT_LIBS) diff --git a/repos/libports/src/app/qt5/examples/virtualkeyboard/target.mk b/repos/libports/src/app/qt5/examples/virtualkeyboard/target.mk index 0e037995e4..35b2729bf3 100644 --- a/repos/libports/src/app/qt5/examples/virtualkeyboard/target.mk +++ b/repos/libports/src/app/qt5/examples/virtualkeyboard/target.mk @@ -3,7 +3,7 @@ QMAKE_PROJECT_FILE = $(QT_DIR)/qtvirtualkeyboard/examples/virtualkeyboard/basic/ QMAKE_TARGET_BINARIES = basic QT5_PORT_LIBS += libQt5Core libQt5Gui libQt5Network -QT5_PORT_LIBS += libQt5Qml libQt5Quick +QT5_PORT_LIBS += libQt5Qml libQt5QmlModels libQt5Quick QT5_PORT_LIBS += libQt5VirtualKeyboard LIBS = libc libm mesa qt5_component stdcxx $(QT5_PORT_LIBS) diff --git a/repos/libports/src/test/qt5/qt_quick/target.mk b/repos/libports/src/test/qt5/qt_quick/target.mk index 66a61131f3..f0624293bf 100644 --- a/repos/libports/src/test/qt5/qt_quick/target.mk +++ b/repos/libports/src/test/qt5/qt_quick/target.mk @@ -3,7 +3,7 @@ QMAKE_PROJECT_FILE = $(PRG_DIR)/qt_quick.pro QMAKE_TARGET_BINARIES = test-qt_quick QT5_PORT_LIBS += libQt5Core libQt5Gui libQt5Network -QT5_PORT_LIBS += libQt5Qml libQt5Quick +QT5_PORT_LIBS += libQt5Qml libQt5QmlModels libQt5Quick LIBS = libc libm mesa qt5_component stdcxx $(QT5_PORT_LIBS) diff --git a/tool/tool_chain_qt5 b/tool/tool_chain_qt5 index 70a87ff9c0..f4331210f0 100755 --- a/tool/tool_chain_qt5 +++ b/tool/tool_chain_qt5 @@ -37,8 +37,9 @@ MAKE_JOBS ?= 4 GENODE_DIR ?= $(realpath $(dir $(firstword $(MAKEFILE_LIST)))/..) CONTRIB_DIR = $(shell $(GENODE_DIR)/tool/ports/current qt5-host) QTBASE_DIR = $(CONTRIB_DIR)/src/lib/qtbase +QTDECLARATIVE_DIR = $(CONTRIB_DIR)/src/lib/qtdeclarative QTTOOLS_DIR = $(CONTRIB_DIR)/src/lib/qttools -TOOL_VERSION = 20.08 +TOOL_VERSION = 22.08 BUILD_DIR = $(GENODE_DIR)/build/tool/qt5/$(TOOL_VERSION) DEFAULT_INSTALL_LOCATION = /usr/local/genode/qt5/$(TOOL_VERSION) INSTALL_LOCATION ?= $(DEFAULT_INSTALL_LOCATION) @@ -79,12 +80,16 @@ $(BUILD_DIR)/qtbase/bin/uic: $(BUILD_DIR)/qtbase/src/Makefile $(BUILD_DIR)/qtbase/bin/qlalr: $(BUILD_DIR)/qtbase/src/Makefile $(VERBOSE)make -C $(BUILD_DIR)/qtbase/src -j$(MAKE_JOBS) sub-qlalr -$(BUILD_DIR)/qtbase/bin/qfloat16-tables: $(BUILD_DIR)/qtbase/src/Makefile - $(VERBOSE)make -C $(BUILD_DIR)/qtbase/src -j$(MAKE_JOBS) sub-qfloat16-tables - $(BUILD_DIR)/qtbase/lib/libQt5Xml.so.5: $(BUILD_DIR)/qtbase/src/Makefile $(VERBOSE)make -C $(BUILD_DIR)/qtbase/src -j$(MAKE_JOBS) sub-xml +$(BUILD_DIR)/qtdeclarative/src/qmltyperegistrar/Makefile: $(QTDECLARATIVE_DIR)/src/qmltyperegistrar/qmltyperegistrar.pro + $(VERBOSE)mkdir -p $(dir $@) + $(VERBOSE)cd $(dir $@) && $(BUILD_DIR)/qtbase/bin/qmake $< + +$(BUILD_DIR)/qtdeclarative/bin/qmltyperegistrar: $(BUILD_DIR)/qtdeclarative/src/qmltyperegistrar/Makefile + $(VERBOSE)make -C $(dir $<) -j$(MAKE_JOBS) + $(BUILD_DIR)/qttools/Makefile: $(QTTOOLS_DIR)/qttools.pro $(BUILD_DIR)/qtbase/lib/libQt5Xml.so.5 $(VERBOSE)mkdir -p $(dir $@) $(VERBOSE)cd $(dir $@) && $(BUILD_DIR)/qtbase/bin/qmake $< @@ -109,7 +114,7 @@ build: $(BUILD_DIR)/qtbase/bin/moc \ $(BUILD_DIR)/qtbase/bin/rcc \ $(BUILD_DIR)/qtbase/bin/uic \ $(BUILD_DIR)/qtbase/bin/qlalr \ - $(BUILD_DIR)/qtbase/bin/qfloat16-tables \ + $(BUILD_DIR)/qtdeclarative/bin/qmltyperegistrar \ $(BUILD_DIR)/qttools/bin/lupdate \ $(BUILD_DIR)/qttools/bin/lrelease @@ -141,8 +146,9 @@ $(INSTALL_LOCATION)/bin/qlalr: $(BUILD_DIR)/qtbase/bin/qlalr $(INSTALL_LOCATION) $(VERBOSE)cd $(BUILD_DIR)/qtbase/src && \ $(SUDO) strip $< -o $@ -$(INSTALL_LOCATION)/bin/qfloat16-tables: $(BUILD_DIR)/qtbase/bin/qfloat16-tables $(INSTALL_LOCATION)/bin - $(VERBOSE)$(SUDO) strip $< -o $@ +$(INSTALL_LOCATION)/bin/qmltyperegistrar: $(BUILD_DIR)/qtdeclarative/bin/qmltyperegistrar $(INSTALL_LOCATION)/bin + $(VERBOSE)cd $(BUILD_DIR)/qtdeclarative/src && \ + $(SUDO) strip $< -o $@ $(INSTALL_LOCATION)/bin/qmake: $(BUILD_DIR)/qtbase/bin/qmake $(INSTALL_LOCATION)/bin $(VERBOSE)$(SUDO) strip $< -o $@ @@ -160,9 +166,9 @@ install: $(INSTALL_LOCATION)/bin/moc \ $(INSTALL_LOCATION)/bin/rcc \ $(INSTALL_LOCATION)/bin/uic \ $(INSTALL_LOCATION)/bin/qlalr \ - $(INSTALL_LOCATION)/bin/qfloat16-tables \ $(INSTALL_LOCATION)/bin/qmake \ $(INSTALL_LOCATION)/bin/syncqt.pl \ + $(INSTALL_LOCATION)/bin/qmltyperegistrar \ $(INSTALL_LOCATION)/bin/lupdate \ $(INSTALL_LOCATION)/bin/lrelease ifeq ($(INSTALL_LOCATION),$(DEFAULT_INSTALL_LOCATION))