From ace172ebf3ab5390c2e5aa365a9d7d3dd39f0974 Mon Sep 17 00:00:00 2001 From: Christian Prochaska Date: Tue, 25 Aug 2020 12:05:15 +0200 Subject: [PATCH] qt5: prerequisites for qtwebengine support Fixes #3867 --- repos/libports/lib/mk/qt5_base.mk | 7 ++ repos/libports/lib/mk/qt5_quickcontrols.mk | 66 +++++++++++++++++++ repos/libports/ports/qt5.hash | 2 +- repos/libports/ports/qt5.port | 2 +- .../recipes/src/qt5_quickcontrols/api | 1 + .../recipes/src/qt5_quickcontrols/content.mk | 25 +++++++ .../recipes/src/qt5_quickcontrols/hash | 1 + .../recipes/src/qt5_quickcontrols/used_apis | 4 ++ 8 files changed, 106 insertions(+), 2 deletions(-) create mode 100644 repos/libports/lib/mk/qt5_quickcontrols.mk create mode 100644 repos/libports/recipes/src/qt5_quickcontrols/api create mode 100644 repos/libports/recipes/src/qt5_quickcontrols/content.mk create mode 100644 repos/libports/recipes/src/qt5_quickcontrols/hash create mode 100644 repos/libports/recipes/src/qt5_quickcontrols/used_apis diff --git a/repos/libports/lib/mk/qt5_base.mk b/repos/libports/lib/mk/qt5_base.mk index def9e3d594..09e2ef0b07 100644 --- a/repos/libports/lib/mk/qt5_base.mk +++ b/repos/libports/lib/mk/qt5_base.mk @@ -19,6 +19,7 @@ built.tag: qmake_prepared.tag qmake_root/lib/ld.lib.so -confirm-license \ -no-pch \ -release \ + -force-debug-info \ -no-strip \ -opengl desktop \ -no-feature-dbus \ @@ -59,6 +60,9 @@ built.tag: qmake_prepared.tag qmake_root/lib/ld.lib.so $(VERBOSE)cd $(CURDIR)/install/qt/plugins/imageformats && \ $(STRIP) libqjpeg.lib.so -o libqjpeg.lib.so.stripped + $(VERBOSE)cd $(CURDIR)/install/qt/plugins/sqldrivers && \ + $(STRIP) libqsqlite.lib.so -o libqsqlite.lib.so.stripped + @# @# create symlinks in 'bin' directory @# @@ -72,6 +76,7 @@ built.tag: qmake_prepared.tag qmake_root/lib/ld.lib.so $(VERBOSE)ln -sf $(CURDIR)/install/qt/lib/libQt5Widgets.lib.so.stripped $(PWD)/bin/libQt5Widgets.lib.so $(VERBOSE)ln -sf $(CURDIR)/install/qt/plugins/platforms/libqgenode.lib.so.stripped $(PWD)/bin/libqgenode.lib.so $(VERBOSE)ln -sf $(CURDIR)/install/qt/plugins/imageformats/libqjpeg.lib.so.stripped $(PWD)/bin/libqjpeg.lib.so + $(VERBOSE)ln -sf $(CURDIR)/install/qt/plugins/sqldrivers/libqsqlite.lib.so.stripped $(PWD)/bin/libqsqlite.lib.so @# @# create symlinks in 'debug' directory @@ -86,6 +91,7 @@ built.tag: qmake_prepared.tag qmake_root/lib/ld.lib.so $(VERBOSE)ln -sf $(CURDIR)/install/qt/lib/libQt5Widgets.lib.so $(PWD)/debug/ $(VERBOSE)ln -sf $(CURDIR)/install/qt/plugins/platforms/libqgenode.lib.so $(PWD)/debug/libqgenode.lib.so $(VERBOSE)ln -sf $(CURDIR)/install/qt/plugins/imageformats/libqjpeg.lib.so $(PWD)/debug/libqjpeg.lib.so + $(VERBOSE)ln -sf $(CURDIR)/install/qt/plugins/sqldrivers/libqsqlite.lib.so $(PWD)/debug/libqsqlite.lib.so @# @# create tar archives @@ -93,6 +99,7 @@ built.tag: qmake_prepared.tag qmake_root/lib/ld.lib.so $(VERBOSE)tar chf $(PWD)/bin/qt5_libqgenode.tar --transform='s/\.stripped//' -C install qt/plugins/platforms/libqgenode.lib.so.stripped $(VERBOSE)tar chf $(PWD)/bin/qt5_libqjpeg.tar --transform='s/\.stripped//' -C install qt/plugins/imageformats/libqjpeg.lib.so.stripped + $(VERBOSE)tar chf $(PWD)/bin/qt5_libqsqlite.tar --transform='s/\.stripped//' -C install qt/plugins/sqldrivers/libqsqlite.lib.so.stripped @# @# mark as done diff --git a/repos/libports/lib/mk/qt5_quickcontrols.mk b/repos/libports/lib/mk/qt5_quickcontrols.mk new file mode 100644 index 0000000000..1c40f2b0fa --- /dev/null +++ b/repos/libports/lib/mk/qt5_quickcontrols.mk @@ -0,0 +1,66 @@ +include $(call select_from_repositories,lib/import/import-qt5_qmake.mk) + +QT5_PORT_LIBS += libQt5Core libQt5Gui libQt5Network libQt5Widgets +QT5_PORT_LIBS += libQt5Qml libQt5Quick + +LIBS = libc libm mesa stdcxx $(QT5_PORT_LIBS) + +built.tag: qmake_prepared.tag + + @# + @# run qmake + @# + + $(VERBOSE)source env.sh && $(QMAKE) \ + -qtconf qmake_root/mkspecs/$(QMAKE_PLATFORM)/qt.conf \ + $(QT_DIR)/qtquickcontrols/qtquickcontrols.pro \ + $(QT5_OUTPUT_FILTER) + + @# + @# build + @# + + $(VERBOSE)source env.sh && $(MAKE) sub-src $(QT5_OUTPUT_FILTER) + + @# + @# install into local 'install' directory + @# + + $(VERBOSE)$(MAKE) INSTALL_ROOT=$(CURDIR)/install sub-src-install_subtargets $(QT5_OUTPUT_FILTER) + + $(VERBOSE)ln -sf .$(CURDIR)/qmake_root install/qt + + @# + @# create stripped version + @# + + $(VERBOSE)cd $(CURDIR)/install/qt/qml/QtQuick/Controls && $(STRIP) libqtquickcontrolsplugin.lib.so -o libqtquickcontrolsplugin.lib.so.stripped + + @# + @# create symlinks in 'bin' directory + @# + + $(VERBOSE)ln -sf $(CURDIR)/install/qt/qml/QtQuick/Controls/libqtquickcontrolsplugin.lib.so.stripped $(PWD)/bin/libqtquickcontrolsplugin.lib.so + + @# + @# create symlinks in 'debug' directory + @# + + $(VERBOSE)ln -sf $(CURDIR)/install/qt/qml/QtQuick/Controls/libqtquickcontrolsplugin.lib.so $(PWD)/debug/ + + @# + @# create tar archives + @# + + $(VERBOSE)tar chf $(PWD)/bin/qt5_quickcontrols_qml.tar --exclude='*.lib.so' --transform='s/\.stripped//' -C install qt/qml + + @# + @# mark as done + @# + + $(VERBOSE)touch $@ + + +ifeq ($(called_from_lib_mk),yes) +all: built.tag +endif diff --git a/repos/libports/ports/qt5.hash b/repos/libports/ports/qt5.hash index 86bd4450e1..ac06dd669a 100644 --- a/repos/libports/ports/qt5.hash +++ b/repos/libports/ports/qt5.hash @@ -1 +1 @@ -0a2454ea1e8ee6c7a6b39a91a29cf5c144f9f50c +1b1c5639d35d329e493add388482ca3907344748 diff --git a/repos/libports/ports/qt5.port b/repos/libports/ports/qt5.port index 69a6a1cbb8..95fe0eb709 100644 --- a/repos/libports/ports/qt5.port +++ b/repos/libports/ports/qt5.port @@ -4,5 +4,5 @@ VERSION := 5.13.2 DOWNLOADS := qt5.git URL(qt5) := https://github.com/cproc/qt5.git -REV(qt5) := 6e2e8fa1eb37b5fbee8614136868f03dfacd7ca2 +REV(qt5) := 363069b12c70963cb53b6eab24820494e9811967 DIR(qt5) := src/lib/qt5 diff --git a/repos/libports/recipes/src/qt5_quickcontrols/api b/repos/libports/recipes/src/qt5_quickcontrols/api new file mode 100644 index 0000000000..7d275211d0 --- /dev/null +++ b/repos/libports/recipes/src/qt5_quickcontrols/api @@ -0,0 +1 @@ +qt5 diff --git a/repos/libports/recipes/src/qt5_quickcontrols/content.mk b/repos/libports/recipes/src/qt5_quickcontrols/content.mk new file mode 100644 index 0000000000..37f5d15097 --- /dev/null +++ b/repos/libports/recipes/src/qt5_quickcontrols/content.mk @@ -0,0 +1,25 @@ +MIRROR_FROM_REP_DIR := lib/mk/qt5_quickcontrols.mk + +content: $(MIRROR_FROM_REP_DIR) src/lib/qt5_quickcontrols/target.mk + +$(MIRROR_FROM_REP_DIR): + $(mirror_from_rep_dir) + +src/lib/qt5_quickcontrols/target.mk: + mkdir -p $(dir $@) + echo "LIBS = qt5_quickcontrols" > $@ + +PORT_DIR := $(call port_dir,$(REP_DIR)/ports/qt5) + +MIRROR_FROM_PORT_DIR := src/lib/qt5/qtquickcontrols + +content: $(MIRROR_FROM_PORT_DIR) + +$(MIRROR_FROM_PORT_DIR): + mkdir -p $(dir $@) + cp -r $(PORT_DIR)/$@ $(dir $@) + +content: LICENSE + +LICENSE: + cp $(PORT_DIR)/src/lib/qt5/LICENSE.LGPLv3 $@ diff --git a/repos/libports/recipes/src/qt5_quickcontrols/hash b/repos/libports/recipes/src/qt5_quickcontrols/hash new file mode 100644 index 0000000000..73a0292508 --- /dev/null +++ b/repos/libports/recipes/src/qt5_quickcontrols/hash @@ -0,0 +1 @@ +2020-05-24 0c9abcaeeb767225390b6074ca8e610102b22ab5 diff --git a/repos/libports/recipes/src/qt5_quickcontrols/used_apis b/repos/libports/recipes/src/qt5_quickcontrols/used_apis new file mode 100644 index 0000000000..38a7553adb --- /dev/null +++ b/repos/libports/recipes/src/qt5_quickcontrols/used_apis @@ -0,0 +1,4 @@ +libc +mesa +so +stdcxx