qt5: update to 5.15.0 (LTS release)

This also purges already back then (v5.9) legacy projects, such as Qt
Quick 1 / QML 1.

We also focus on software rendering only for now, postponing dealing
with messy vendor specific GL(ES) APIs, quirks and proprietary / binary
blobs. Implies certain features and packages being unavailable for the
moment.
This commit is contained in:
Mirko Vogt
2020-06-07 14:13:22 +00:00
parent ef02574a6b
commit 1f37050afa
16 changed files with 587 additions and 534 deletions

View File

@@ -1,5 +1,5 @@
#
# Copyright (C) 2016 OpenWrt.org
# Copyright (C) 2020 OpenWrt.org
# Author: Mirko Vogt <mirko-openwrt@nanl.de>
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
@@ -12,19 +12,18 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5base
PKG_VERSION:=5.9.1
PKG_VERSION:=5.15.0
PKG_RELEASE:=1
PKG_HASH:=bc9a21e9f6fff9629019fdf9f989f064751d5073c3a28dc596def92f4d4275c6
PKG_SYS_NAME:=qtbase-opensource-src-$(PKG_VERSION)
PKG_SYS_NAME:=qtbase-everywhere-src-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
PKG_SOURCE_URL:=http://download.qt-project.org/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
HOST_BUILD_DIR=$(BUILD_DIR)/host/$(PKG_SYS_NAME)
PKG_BUILD_PARALLEL:=1
HOST_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=librpc
PKG_INSTALL:=1
PKG_USE_MIPS16:=0
# Yes, the host build depends on the target build. This is not a mistake!
@@ -45,7 +44,6 @@ include ./files/qmake.mk
PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_qt5base-plugin-imageformats-jpeg \
CONFIG_PACKAGE_qt5base-plugin-imageformats-png \
CONFIG_PACKAGE_qt5base-network \
CONFIG_PACKAGE_qt5base-gui \
CONFIG_PACKAGE_qt5base-gl \
@@ -54,6 +52,7 @@ PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_qt5base-plugin-platforms-minimal \
CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb \
CONFIG_PACKAGE_qt5base-plugin-input-libinput \
# CONFIG_PACKAGE_qt5base-plugin-imageformats-png \
# CONFIG_PACKAGE_qt5base-plugin-platforms-eglfs \
# CONFIG_PACKAGE_qt5base-plugin-platforms-minimalegl \
@@ -79,7 +78,7 @@ define Package/qt5base/Default
SUBMENU:=Frameworks and Toolkits
TITLE:=Qt5base
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
endef
# define Package/qt5base
@@ -97,19 +96,19 @@ endef
define Package/qt5base-gl
$(call Package/qt5base/Default)
TITLE+=gl
DEPENDS+=+qt5base-core +qt5base-gui +qt5base-widgets
DEPENDS+=+qt5base-core +qt5base-gui +qt5base-widgets @BROKEN
endef
define Package/qt5base-core
$(call Package/qt5base/Default)
TITLE+=core
DEPENDS+=+libpthread +zlib +libpcre2-16 +libstdcpp +librt +libdouble-conversion $(ICONV_DEPENDS) #+icu
DEPENDS+=+libpthread +zlib +libzstd +libpcre2-16 +libstdcpp +librt +libdouble-conversion $(ICONV_DEPENDS) +PACKAGE_icu:icu #FIXME: do not include ICONV_DEPENDS if ICU is selected (though, that's only an issue when using GNU iconv)
endef
define Package/qt5base-gui
$(call Package/qt5base/Default)
TITLE+=gui
DEPENDS+=+qt5base-core +qt5quick2-2d-sw-renderer-GLstubs +libpng +fontconfig +libfreetype
DEPENDS+=+qt5base-core +libpng +fontconfig +libfreetype
endef
define Package/qt5base-network
@@ -216,6 +215,12 @@ define Package/qt5base-plugin-imageformats-jpeg
DEPENDS+=+qt5base-core +qt5base-gui +libjpeg
endef
#define Package/qt5base-plugin-imageformats-png
# $(call Package/qt5base/Default)
# TITLE+=imageformat png (plugin)
# DEPENDS+=+qt5base-core +qt5base-gui +libpng
#endef
####### platforms
#define Package/qt5base-plugin-platforms-eglfs
@@ -294,121 +299,112 @@ define Build/Configure
# CROSS/TARGET_* need to be passed to configure, in order to use cross-compiling tools to check for requirements.
# Usually used variables such as CC/CXX/CFLAGS/CXXFLAGS/LDFLAGS would be used for compilation of host tools (qmake, moc, etc.),
# hence we use the TARGET_* nomenclature.
#
# NOTES:
# - icu support currently depends on selection of icu package which is not ideal, since unpredictable.
# - icu support overrides iconv support
( cd $(PKG_BUILD_DIR) ; \
TARGET_CROSS="$(TARGET_CROSS)" \
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
TARGET_CXXFLAGS="$(TARGET_CFLAGS) $(TARGET_CXXFLAGS)" \
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
./configure \
-prefix $(QT_INSTALL_PREFIX) \
-extprefix $(QT_EXTPREFIX) \
-hostprefix $(QT_HOST_PREFIX) \
-hostdatadir $(QT_HOST_PREFIX)/share \
-no-gcc-sysroot \
-bindir $(QT_INSTALL_BINS) \
-headerdir $(QT_INSTALL_HEADERS) \
-libdir $(QT_INSTALL_LIBS) \
-archdatadir $(QT_INSTALL_ARCHDATA) \
-plugindir $(QT_INSTALL_PLUGINS) \
-libexecdir $(QT_INSTALL_LIBEXECS) \
-importdir $(QT_INSTALL_IMPORTS) \
-qmldir $(QT_INSTALL_QML) \
-datadir $(QT_INSTALL_DATA) \
-docdir $(QT_INSTALL_DOCS) \
-translationdir $(QT_INSTALL_TRANSLATIONS) \
-sysconfdir $(QT_INSTALL_CONFIGURATION) \
-examplesdir $(QT_INSTALL_EXAMPLES) \
-testsdir $(QT_INSTALL_TESTS) \
-hostbindir $(QT_HOST_BINS) \
-hostlibdir $(QT_HOST_LIBS) \
-hostdatadir $(QT_HOST_DATA) \
-verbose \
-opensource \
-confirm-license \
-release \
-no-optimized-tools \
-no-strip \
-shared \
-no-framework \
-xplatform linux-openwrt-g++ \
-no-sse3 \
-no-ssse3 \
-no-sse4.1 \
-no-sse4.2 \
-no-avx \
-no-avx2 \
-no-avx512 \
$(if $(findstring -mdsp,$(TARGET_CFLAGS)),,-no-mips_dsp) \
$(if $(findstring -mdspr2,$(TARGET_CFLAGS)),,-no-mips_dspr2) \
-no-reduce-exports \
-no-reduce-relocations \
-no-pch \
-no-use-gold-linker \
-no-warnings-are-errors \
-pkg-config \
-no-optimized-qmake \
-nomake tools \
-make examples \
$(if $(CONFIG_PACKAGE_qt5base-examples),-compile-examples,-no-compile-examples) \
$(if $(CONFIG_PACKAGE_qt5base-examples),-make examples,-nomake examples) \
$(if $(CONFIG_PACKAGE_qt5base-gui),-gui,-no-gui) \
$(if $(CONFIG_PACKAGE_qt5base-widgets),-widgets,-no-widgets) \
-no-dbus \
-accessibility \
-no-qml-debug \
-system-doubleconversion \
-no-glib \
-eventfd \
-no-inotify \
$(if $(CONFIG_BUILD_NLS),-iconv,-no-iconv) \
-no-icu \
-system-pcre \
-system-zlib \
-no-journald \
-no-syslog \
-ssl \
$(if $(CONFIG_PACKAGE_qt5base-network),-openssl-linked,-no-openssl) \
-system-proxies \
-no-cups \
-fontconfig \
-system-freetype \
-no-harfbuzz \
-no-gtk \
-opengl \
-no-xcb-xlib \
$(if $(CONFIG_PACKAGE_qt5base-plugin-platforms-minimal),,-qpa minimal) \
$(if $(CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb),,-qpa linuxfb) \
-system-xcb \
-no-directfb \
-no-eglfs \
-no-gbm \
-no-kms \
$(if $(CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb),-linuxfb,-no-linuxfb) \
-no-mirclient \
-no-xcb \
-libudev \
-evdev \
$(if $(CONFIG_PACKAGE_qt5base-plugin-input-libinput),-libinput,-no-libinput) \
-no-mtdev \
-no-tslib \
-no-xinput2 \
-no-xkbcommon-x11 \
-no-xkbcommon-evdev \
-no-gif \
$(if $(CONFIG_PACKAGE_qt5base-plugin-imageformats-ico),-ico,-no-ico) \
$(if $(CONFIG_PACKAGE_qt5base-gui),-system-libpng,-no-libpng) \
$(if $(CONFIG_PACKAGE_qt5base-plugin-imageformats-jpeg),-system-libjpeg,-no-libjpeg) \
-no-sql-db2 \
-no-sql-ibase \
-no-sql-mysql \
-no-sql-oci \
-no-sql-odbc \
-no-sql-psql \
-no-sql-sqlite \
-no-sql-sqlite2 \
-no-sql-tds \
-no-libproxy \
-system-xkbcommon \
--prefix=$(QT_INSTALL_PREFIX) \
--extprefix=$(QT_EXTPREFIX) \
--hostprefix=$(QT_HOST_PREFIX) \
--gcc-sysroot=no \
--bindir=$(QT_INSTALL_BINS) \
--headerdir=$(QT_INSTALL_HEADERS) \
--libdir=$(QT_INSTALL_LIBS) \
--archdatadir=$(QT_INSTALL_ARCHDATA) \
--plugindir=$(QT_INSTALL_PLUGINS) \
--libexecdir=$(QT_INSTALL_LIBEXECS) \
--importdir=$(QT_INSTALL_IMPORTS) \
--qmldir=$(QT_INSTALL_QML) \
--datadir=$(QT_INSTALL_DATA) \
--docdir=$(QT_INSTALL_DOCS) \
--translationdir=$(QT_INSTALL_TRANSLATIONS) \
--sysconfdir=$(QT_INSTALL_CONFIGURATION) \
--examplesdir=$(QT_INSTALL_EXAMPLES) \
--testsdir=$(QT_INSTALL_TESTS) \
--hostbindir=$(QT_HOST_BINS) \
--hostlibdir=$(QT_HOST_LIBS) \
--hostdatadir=$(QT_HOST_DATA) \
--verbose=yes \
--opensource \
--confirm-license \
--release=yes \
--optimized-tools=no \
--optimize-size=no \
--strip=no \
--shared=yes \
--framework=no \
--xplatform=linux-openwrt-g++ \
--reduce-exports=no \
--reduce-relocations=no \
--pch=no \
--ltcg=no \
--use-gold-linker=no \
--warnings-are-errors=no \
--pkg-config=yes \
--compile-examples=$(if $(CONFIG_PACKAGE_qt5base-examples),yes,no) \
$(if $(CONFIG_PACKAGE_qt5base-examples),,--nomake=examples) \
--gui=$(if $(CONFIG_PACKAGE_qt5base-gui),yes,no) \
--widgets=$(if $(CONFIG_PACKAGE_qt5base-widgets),yes,no) \
--dbus=no \
--accessibility=yes \
--doubleconversion=system \
--glib=no \
--eventfd=no \
--inotify=no \
--iconv=$(if $(CONFIG_BUILD_NLS),$(if $(CONFIG_LIBC_USE_GLIBC)$(CONFIG_LIBC_USE_MUSL),posix)$(if $(CONFIG_LIBC_USE_UCLIBC),gnu),no) \
--icu=$(if $(CONFIG_PACKAGE_icu),yes,no) \
--pcre=system \
--zlib=system \
--journald=no \
--syslog=no \
--ssl=$(if $(CONFIG_PACKAGE_qt5base-network),yes,no) \
--openssl-linked$(if $(CONFIG_PACKAGE_qt5base-network),,=no) \
--libproxy=no \
--system-proxies=yes \
--cups=no \
--fontconfig=yes \
--freetype=system \
--harfbuzz=no \
--gtk=no \
--opengl=no \
--opengles3=no \
--egl=no \
--xcb-xlib=no \
--qpa=$(if $(CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb),linuxfb,) \
--directfb=no \
--eglfs=no \
--gbm=no \
--linuxfb=$(if $(CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb),yes,no) \
--xcb=no \
\
--libudev=yes \
--evdev=yes \
--libinput=$(if $(CONFIG_PACKAGE_qt5base-plugin-input-libinput),yes,no) \
--mtdev=no \
--tslib=no \
--bundled-xcb-xinput=no \
--xkbcommon=no \
--gif=$(if $(CONFIG_PACKAGE_qt5base-gui),yes,no) \
--ico=$(if $(CONFIG_PACKAGE_qt5base-plugin-imageformats-ico),yes,no) \
--libjpeg=$(if $(CONFIG_PACKAGE_qt5base-plugin-imageformats-jpeg),system,no) \
--libpng=system \
--sql-db2=no \
--sql-ibase=no \
--sql-mysql=no \
--sql-oci=no \
--sql-odbc=no \
--sql-psql=no \
--sql-sqlite=no \
--sql-sqlite2=no \
--sql-tds=no \
--sqlite=no \
)
endef
@@ -422,76 +418,85 @@ define Host/Configure
TARGET_CXXFLAGS="$(HOST_CFLAGS) $(HOST_CXXFLAGS)" \
TARGET_LDFLAGS="$(HOST_LDFLAGS)" \
./configure \
-prefix $(STAGING_DIR_HOST) \
-hostprefix $(STAGING_DIR_HOST) \
-hostdatadir $(STAGING_DIR_HOST)/share \
-datadir $(STAGING_DIR_HOST)/share \
-archdatadir $(STAGING_DIR_HOST)/lib \
-no-gcc-sysroot \
-verbose \
-opensource \
-confirm-license \
-release \
-no-optimized-tools \
-no-strip \
-shared \
-no-framework \
-nomake tools \
-nomake examples \
-no-compile-examples \
-gui \
-no-widgets \
-no-dbus \
-no-accessibility \
-no-qml-debug \
-qt-doubleconversion \
-no-glib \
-no-eventfd \
-no-inotify \
-no-icu \
-qt-pcre \
-qt-zlib \
-no-journald \
-no-syslog \
-no-ssl \
-no-openssl \
-no-cups \
-no-fontconfig \
-qt-freetype \
-no-harfbuzz \
-no-gtk \
-no-opengl \
-no-xcb-xlib \
-no-xcb \
-no-directfb \
-no-eglfs \
-no-gbm \
-no-kms \
-no-linuxfb \
-no-mirclient \
-no-xcb \
-evdev \
-no-libinput \
-no-mtdev \
-no-tslib \
-no-xinput2 \
-no-xkbcommon-x11 \
-no-xkbcommon-evdev \
-no-gif \
-no-ico \
-qt-libpng \
-no-libjpeg \
-no-sql-db2 \
-no-sql-ibase \
-no-sql-mysql \
-no-sql-oci \
-no-sql-odbc \
-no-sql-psql \
-no-sql-sqlite \
-no-sql-sqlite2 \
-no-sql-tds \
-no-libproxy \
-no-xkbcommon \
--prefix=$(STAGING_DIR_HOST) \
--hostprefix=$(STAGING_DIR_HOST) \
--hostdatadir=$(STAGING_DIR_HOST)/share \
--datadir=$(STAGING_DIR_HOST)/share \
--archdatadir=$(STAGING_DIR_HOST)/lib \
--gcc-sysroot=no \
--verbose=yes \
--opensource \
--confirm-license \
--release=yes \
--optimized-tools=no \
--optimize-size=no \
--strip=no \
--shared=yes \
--framework=no \
--reduce-exports=no \
--reduce-relocations=no \
--pch=no \
--ltcg=no \
--use-gold-linker=no \
--warnings-are-errors=no \
--pkg-config=yes \
--compile-examples=no \
--make=libs \
--nomake=tools \
--nomake=examples \
--gui=yes \
--widgets=no \
--dbus=no \
--accessibility=no \
--doubleconversion=qt \
--glib=no \
--eventfd=no \
--inotify=no \
--iconv=no \
--icu=no \
--pcre=qt \
--zlib=qt \
--journald=no \
--syslog=no \
--ssl=no \
--libproxy=no \
--system-proxies=no \
--cups=no \
--fontconfig=no \
--freetype=qt \
--harfbuzz=no \
--gtk=no \
--opengl=no \
--opengles3=no \
--egl=no \
--xcb-xlib=no \
--directfb=no \
--eglfs=no \
--gbm=no \
--linuxfb=no \
--xcb=no \
\
--libudev=no \
--evdev=no \
--libinput=no \
--mtdev=no \
--tslib=no \
--bundled-xcb-xinput=no \
--xkbcommon=yes \
--gif=no \
--ico=no \
--libjpeg=no \
--libpng=no \
--sql-db2=no \
--sql-ibase=no \
--sql-mysql=no \
--sql-oci=no \
--sql-odbc=no \
--sql-psql=no \
--sql-sqlite=no \
--sql-sqlite2=no \
--sql-tds=no \
--sqlite=no \
)
endef
@@ -610,6 +615,10 @@ define Package/qt5base-plugin-imageformats-jpeg/install
$(call Build/Install/Plugins,$(1),imageformats,libqjpeg)
endef
#define Package/qt5base-plugin-imageformats-png/install
# $(call Build/Install/Plugins,$(1),imageformats,libqpng)
#endef
define Package/qt5base-plugin-platforms-linuxfb/install
$(call Build/Install/Plugins,$(1),platforms,libqlinuxfb)
endef
@@ -662,6 +671,7 @@ $(eval $(call BuildPackage,qt5base-plugin-input-evdevtouch))
#$(eval $(call BuildPackage,qt5base-plugin-imageformats-gif))
$(eval $(call BuildPackage,qt5base-plugin-imageformats-ico))
$(eval $(call BuildPackage,qt5base-plugin-imageformats-jpeg))
#$(eval $(call BuildPackage,qt5base-plugin-imageformats-png))
$(eval $(call BuildPackage,qt5base-plugin-platforms-linuxfb))
#$(eval $(call BuildPackage,qt5base-plugin-platforms-eglfs))
#$(eval $(call BuildPackage,qt5base-plugin-platforms-minimalegl))

View File

@@ -1,6 +1,6 @@
#
# Copyright (C) 2015 OpenWrt.org
# Author: Mirko Vogt <mirko@openwrt.org>
# Copyright (C) 2020 OpenWrt.org
# Author: Mirko Vogt <mirko-openwrt@nanl.de>
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
@@ -163,6 +163,15 @@ define Build/Install/Libs
$(1)/$(QT_INSTALL_LIBS)/
endef
define Build/Install/Translations
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_TRANSLATIONS)
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_TRANSLATIONS)/$(2).qm \
$(1)/$(QT_INSTALL_TRANSLATIONS)/
endef
define Build/Install/Plugins
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_PLUGINS)/$(2)

View File

@@ -0,0 +1,81 @@
From e9097ab24832e42df6e16093e5c3b775dbcf2367 Mon Sep 17 00:00:00 2001
From: Mirko Vogt <mirko-openwrt@nanl.de>
Date: Fri, 5 Jun 2020 12:46:36 +0000
Subject: [PATCH] GNU iconv() - at least in OpenWrt - behaves like POSIX
iconv()
GNU iconv() had the terrible idea of introducing a build variant for its
iconv() function, where the second argument can either be a `char **` or
a `const char **` depending on a macro set under whatever certain
circumstances at build time, resulting in different function signatures.
Despite those two possible variants, the project only mentions the
non-const one in their manual page.
Since this didn't seem to be enough trouble for its users, they seem to
have changed the default variant from `const char **` to `char **` at
some point, while leaving the manual page as it is, now stating the
non-default, hence in most cases probably wrong, signature.
Qt assumes GNU iconv() has the nowadays non-default function signature
(`const char **`), and distiguishes that way from the POSIX one.
Another issue with Qt and GNU iconv(): While we can easily make the test
work for GNU iconv with its default iconv()-signature, Qt assumes that if
the GNU-iconv succeeds, the present version of iconv is POSIX-
incompatible - which however isn't true in our case.
However we also can't just use the POSIX iconv test, as the Qt test for
POSIX iconv fails on GNU iconv for another reason: GNU iconv requires
explicit linker flags (`-liconv`), which the Qt test for POSIX iconv
however implicitly drops when the target system is linux.
This was extensively discussed in a Qt bug report:
https://bugreports.qt.io/projects/QTBUG/issues/QTBUG-84708
The only good thing seems to be that Qt's configure script is also buggy
and counter-intuitive, resulting in 'gnu' not being accepted as iconv
variant when using the default single-dash format for specifying
configure options:
https://bugreports.qt.io/projects/QTBUG/issues/QTBUG-84687
So most likely there's nobody using Qt with GNU iconv anyway.
This patch is what I came up with being the smallest changeset.
May it work.
---
src/corelib/codecs/qiconvcodec.cpp | 5 -----
src/corelib/configure.json | 2 +-
2 files changed, 1 insertion(+), 6 deletions(-)
diff --git a/src/corelib/codecs/qiconvcodec.cpp b/src/corelib/codecs/qiconvcodec.cpp
index 9c397279..8d43e6c8 100644
--- a/src/corelib/codecs/qiconvcodec.cpp
+++ b/src/corelib/codecs/qiconvcodec.cpp
@@ -180,12 +180,7 @@ QString QIconvCodec::convertToUnicode(const char* chars, int len, ConverterState
IconvState *state = *pstate;
size_t inBytesLeft = len;
// best case assumption, each byte is converted into one UTF-16 character, plus 2 bytes for the BOM
-#if !QT_CONFIG(posix_libiconv)
- // GNU doesn't disagree with POSIX :/
- const char *inBytes = chars;
-#else
char *inBytes = const_cast<char *>(chars);
-#endif
QByteArray in;
if (remainingCount) {
diff --git a/src/corelib/configure.json b/src/corelib/configure.json
index c5e04232..32237bc4 100644
--- a/src/corelib/configure.json
+++ b/src/corelib/configure.json
@@ -72,7 +72,7 @@
"test": {
"main": [
"iconv_t x = iconv_open(\"\", \"\");",
- "const char *inp;",
+ "char *inp;",
"char *outp;",
"size_t inbytes, outbytes;",
"iconv(x, &inp, &inbytes, &outp, &outbytes);",
--
2.20.1

View File

@@ -1,22 +0,0 @@
--- qtbase-opensource-src-5.8.0-beta/configure.pri.orig 2016-11-20 20:06:38.811897204 +0100
+++ qtbase-opensource-src-5.8.0-beta/configure.pri 2016-11-20 20:06:54.279928752 +0100
@@ -174,7 +174,7 @@
"Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set." \
"Set this variable to your sysroot for pkg-config to function correctly when" \
"cross-compiling or use -pkg-config to override this test.")
- return(false)
+# return(false)
}
pkgConfigSysrootDir = $$sysroot
--- qtbase-opensource-src-5.8.0-rc/mkspecs/features/qt_functions.prf.orig 2017-01-19 17:52:11.741970700 +0100
+++ qtbase-opensource-src-5.8.0-rc/mkspecs/features/qt_functions.prf 2017-01-19 17:52:06.641997235 +0100
@@ -272,7 +272,7 @@
warning("Disabling pkg-config since PKG_CONFIG_SYSROOT_DIR is not set.")
warning("Set this variable to your sysroot for pkg-config to function")
warning("correctly when cross-compiling.")
- return()
+# return()
}
pkgConfigSysrootDir = $$sysroot

View File

@@ -1,41 +0,0 @@
From a51a71ba6b08fcd761d5b0547bcd5d65f341d837 Mon Sep 17 00:00:00 2001
From: Mirko Vogt <mirko-qt@nanl.de>
Date: Mon, 27 Nov 2017 20:25:38 +0100
Subject: [PATCH 1/2] QFbCursor::pointerEvent(): Fix SEGV if
QT_QPA_FB_HIDECURSOR is set
getCurrentRect() accesses mCursorImage.image() which is NULL in case of
QT_QPA_FB_HIDECURSOR=1.
Avoid respective calls in pointerEvent() by returning early in such
case.
Signed-off-by: Mirko Vogt <mirko-qt@nanl.de>
---
src/platformsupport/fbconvenience/qfbcursor.cpp | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/platformsupport/fbconvenience/qfbcursor.cpp b/src/platformsupport/fbconvenience/qfbcursor.cpp
index 7daf3f4d0c..c7b1a71c04 100644
--- a/src/platformsupport/fbconvenience/qfbcursor.cpp
+++ b/src/platformsupport/fbconvenience/qfbcursor.cpp
--- a/src/platformsupport/fbconvenience/qfbcursor.cpp
+++ b/src/platformsupport/fbconvenience/qfbcursor.cpp
@@ -112,6 +112,8 @@ void QFbCursor::pointerEvent(const QMouseEvent &e)
if (e.type() != QEvent::MouseMove)
return;
m_pos = e.screenPos().toPoint();
+ if (!mVisible)
+ return;
mCurrentRect = getCurrentRect();
if (mOnScreen || mScreen->geometry().intersects(mCurrentRect.translated(mScreen->geometry().topLeft())))
setDirty();
@@ -165,6 +167,9 @@ void QFbCursor::setCursor(const uchar *data, const uchar *mask, int width, int h
#ifndef QT_NO_CURSOR
void QFbCursor::changeCursor(QCursor * widgetCursor, QWindow *window)
{
+ if (!mVisible)
+ return;
+
Q_UNUSED(window);
const Qt::CursorShape shape = widgetCursor ? widgetCursor->shape() : Qt::ArrowCursor;

View File

@@ -1,43 +0,0 @@
--- a/src/corelib/codecs/qiconvcodec.cpp
+++ b/src/corelib/codecs/qiconvcodec.cpp
@@ -137,7 +137,7 @@ QIconvCodec::IconvState::IconvState(icon
QIconvCodec::IconvState::~IconvState()
{
- if (cd != reinterpret_cast<iconv_t>(-1))
+ if (cd != (iconv_t)-1)
iconv_close(cd);
if (buffer != array)
delete[] buffer;
@@ -200,7 +200,7 @@ QString QIconvCodec::convertToUnicode(co
if (!*pstate) {
// first time, create the state
iconv_t cd = createIconv_t(UTF16, 0);
- if (cd == reinterpret_cast<iconv_t>(-1)) {
+ if (cd == (iconv_t)-1) {
static int reported = 0;
if (!reported++) {
fprintf(stderr,
@@ -345,19 +345,19 @@ QByteArray QIconvCodec::convertFromUnico
IconvState *&state = ts ? ts->localData() : temporaryState;
if (!state) {
iconv_t cd = createIconv_t(0, UTF16);
- if (cd != reinterpret_cast<iconv_t>(-1)) {
+ if (cd != (iconv_t)-1) {
if (!setByteOrder(cd)) {
perror("QIconvCodec::convertFromUnicode: using Latin-1 for conversion, iconv failed for BOM");
iconv_close(cd);
- cd = reinterpret_cast<iconv_t>(-1);
+ cd = (iconv_t)-1;
return QString(uc, len).toLatin1();
}
}
state = new IconvState(cd);
}
- if (state->cd == reinterpret_cast<iconv_t>(-1)) {
+ if (state->cd == (iconv_t)-1) {
static int reported = 0;
if (!reported++) {
fprintf(stderr,

View File

@@ -1,6 +1,6 @@
#
# Copyright (C) 2016 OpenWrt
# Author: Mirko Vogt <mirko@openwrt.org>
# Copyright (C) 2020 OpenWrt
# Author: Mirko Vogt <mirko-openwrt@nanl.de>
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
@@ -8,16 +8,17 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5graphicaleffects
PKG_VERSION:=5.9.1
PKG_VERSION:=5.15.0
PKG_RELEASE:=1
PKG_HASH:=5f86c38e36d9553049cfbe56d4869e73cf8ab920905402cbcafb56dd8a1a59ff
PKG_HASH:=0d2ea4bc73b9df13a4b739dcbc1e3c7b298c7e682f7f9252b232e3bde7b63eda
PKG_SYS_NAME:=qtgraphicaleffects-opensource-src-$(PKG_VERSION)
PKG_SYS_NAME:=qtgraphicaleffects-everywhere-src-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
PKG_SOURCE_URL:=http://download.qt-project.org/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=qt5base
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
@@ -30,8 +31,8 @@ define Package/qt5graphicaleffects
SUBMENU:=Frameworks and Toolkits
TITLE:=qt5graphicaleffects
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
DEPENDS:=+qt5quick2-quick
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
DEPENDS:=+qt5quick2-quick @BROKEN # depends on GL support, but currently we only support software rendering
endef
define Build/InstallDev

View File

@@ -1,88 +0,0 @@
#
# Copyright (C) 2015 OpenWrt
# Author: Mirko Vogt <mirko@openwrt.org>
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5quick1
PKG_VERSION:=5.4.2
PKG_RELEASE:=1
PKG_MD5SUM:=8275c3ca1f962905baf1f19310e1b6e4
PKG_SYS_NAME:=qtquick1-opensource-src-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
PKG_SOURCE_URL:=http://download.qt-project.org/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
PKG_BUILD_PARALLEL:=1
PKG_BUILD_DEPENDS:=qt5base
PKG_INSTALL:=1
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-include $(STAGING_DIR)/host/mk/qmake.mk
define Package/qt5quick1/Default
SECTION:=video-frameworks
CATEGORY:=Video
SUBMENU:=Frameworks and Toolkits
TITLE:=Qt5quick1
DEPENDS:=qt5quick1 +qt5base-core +qt5base-gui +qt5base-network +qt5base-sql +qt5base-widgets +qt5script-script
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
endef
# define Package/qt5quick1
# $(call Package/qt5quick1/Default)
# DEPENDS:=+qt5base +qt5script
# MENU:=1
# endef
define Package/qt5quick1-declarative
$(call Package/qt5quick1/Default)
TITLE+=declarative
endef
#TODO: fine grane
define Package/qt5quick1-imports
$(call Package/qt5quick1/Default)
TITLE+=imports
DEPENDS+=+qt5quick1-declarative
endef
define Package/qt5quick1-examples
$(call Package/qt5quick1/Default)
TITLE+=examples
DEPENDS+=+qt5quick1-declarative
endef
define Build/InstallDev
$(call Build/Install/HostFiles,$(1))
$(call Build/Install/Headers,$(1))
$(call Build/Install/Libs,$(1),*)
endef
define Package/qt5quick1-declarative/install
$(call Build/Install/Libs,$(1),*)
endef
define Package/qt5quick1-imports/install
$(INSTALL_DIR) \
$(1)/usr/lib/qt5
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/qt5/* \
$(1)/usr/lib/qt5/
endef
define Package/qt5quick1-examples/install
$(call Build/Install/Examples,$(1))
endef
# $(eval $(call BuildPackage,qt5quick1))
$(eval $(call BuildPackage,qt5quick1-declarative))
$(eval $(call BuildPackage,qt5quick1-imports))
$(eval $(call BuildPackage,qt5quick1-examples))

View File

@@ -1,6 +1,6 @@
#
# Copyright (C) 2015 OpenWrt.org
# Author: Mirko Vogt <mirko@openwrt.org>
# Copyright (C) 2020 OpenWrt.org
# Author: Mirko Vogt <mirko-openwrt@nanl.de>
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
@@ -20,11 +20,11 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=qt5quick2-2d-sw-renderer-GLstubs
PKG_VERSION:=5.7.0
PKG_RELEASE:=1
MD5SUM:=41bfcb5ab6d7a820687c4208beeb7057
PKG_MD5SUM:=41bfcb5ab6d7a820687c4208beeb7057
PKG_SYS_NAME:=qtdeclarative-render2d-opensource-src-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
PKG_SOURCE_URL:=http://download.qt-project.org/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_SOURCE_URL:=https://download.qt.io/archive/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_BUILD_DIR=$(BUILD_DIR)/qtdeclarative-render2d-opensource-src-$(PKG_VERSION)-GLstubs/$(PKG_SYS_NAME)
PKG_BUILD_PARALLEL:=1
@@ -37,7 +37,7 @@ define Package/qt5quick2-2d-sw-renderer-GLstubs
SUBMENU:=Frameworks and Toolkits
TITLE:=Dummy GL stubs
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
endef
TARGET_CFLAGS += \

View File

@@ -1,6 +1,6 @@
#
# Copyright (C) 2015 OpenWrt
# Author: Mirko Vogt <mirko@openwrt.org>
# Copyright (C) 2020 OpenWrt
# Author: Mirko Vogt <mirko-openwrt@nanl.de>
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5quick2-controls2
PKG_VERSION:=5.9.1
PKG_VERSION:=5.15.0
PKG_RELEASE:=1
PKG_HASH:=203be0321112d1513b722fce463f9e30d7d00befb33349901d9517f4f13408ff
PKG_HASH:=839abda9b58cd8656b2e5f46afbb484e63df466481ace43318c4c2022684648f
PKG_SYS_NAME:=qtquickcontrols2-opensource-src-$(PKG_VERSION)
PKG_SYS_NAME:=qtquickcontrols2-everywhere-src-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
PKG_SOURCE_URL:=http://download.qt-project.org/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
PKG_BUILD_PARALLEL:=1
@@ -30,7 +30,7 @@ define Package/qt5quick2-controls2
SUBMENU:=Frameworks and Toolkits
TITLE:=qt5quick2-controls2
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
DEPENDS:=+qt5quick2-quick
endef

View File

@@ -1,6 +1,6 @@
#
# Copyright (C) 2015 OpenWrt
# Author: Mirko Vogt <mirko@openwrt.org>
# Copyright (C) 2020 OpenWrt
# Author: Mirko Vogt <mirko-openwrt@nanl.de>
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5quick2
PKG_VERSION:=5.9.1
PKG_VERSION:=5.15.0
PKG_RELEASE:=1
PKG_HASH:=d2fe6c9c1a9f19af6e96553c6d75366ab8f397bc232acd67d31476955fee94ff
PKG_HASH:=9c3c93fb7d340b2f7d738d12408c047318c78973cb45bfc5ff6b3a57e1fef699
PKG_SYS_NAME:=qtdeclarative-opensource-src-$(PKG_VERSION)
PKG_SYS_NAME:=qtdeclarative-everywhere-src-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
PKG_SOURCE_URL:=http://download.qt-project.org/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
PKG_BUILD_PARALLEL:=1
@@ -29,10 +29,10 @@ define Package/qt5quick2/Default
SECTION:=video-frameworks
CATEGORY:=Video
SUBMENU:=Frameworks and Toolkits
TITLE:=Qt5quick2
TITLE:=Qt5Quick2
# DEPENDS+=qt5quick2
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
endef
# define Package/qt5quick2
@@ -43,96 +43,153 @@ endef
define Package/qt5quick2-qml
$(call Package/qt5quick2/Default)
TITLE+=qml
TITLE+=Qml
DEPENDS+=+qt5base-network
endef
define Package/qt5quick2-quick
$(call Package/qt5quick2/Default)
TITLE+=quick
DEPENDS+=+qt5quick2-qml +qt5base-gui
endef
define Package/qt5quick2-test
$(call Package/qt5quick2/Default)
TITLE+=test
DEPENDS+=+qt5quick2-quick +qt5base-gui +qt5base-widgets +qt5base-test
endef
define Package/qt5quick2-particles
$(call Package/qt5quick2/Default)
TITLE+=particles
DEPENDS+=+qt5quick2-quick
endef
define Package/qt5quick2-widgets
$(call Package/qt5quick2/Default)
TITLE+=widgets
DEPENDS+=+qt5quick2-quick +qt5base-gui +qt5base-widgets
endef
###
define Package/qt5quick2-qml-statemachine
$(call Package/qt5quick2/Default)
TITLE+=QML statemachine
DEPENDS:=+qt5quick2-qml
endef
define Package/qt5quick2-qml-models
$(call Package/qt5quick2/Default)
TITLE+=QML models
TITLE+=QmlModels
DEPENDS+=+qt5quick2-qml
endef
define Package/qt5quick2-qml-folderlistmodel
define Package/qt5quick2-qml-worker-script
$(call Package/qt5quick2/Default)
TITLE+=QML folderlistmodel
DEPENDS:=+qt5quick2-qml
TITLE+=QmlWorkerScript
DEPENDS+=+qt5quick2-qml
endef
define Package/qt5quick2-qml-settings
define Package/qt5quick2-quick
$(call Package/qt5quick2/Default)
TITLE+=QML settings
DEPENDS:=+qt5quick2-qml
TITLE+=Quick
DEPENDS+=+qt5base-gui +qt5quick2-qml-models
endef
define Package/qt5quick2-qml-test
define Package/qt5quick2-quick-test
$(call Package/qt5quick2/Default)
TITLE+=QML folderlistmodel
DEPENDS+=+qt5quick2-quick +qt5base-gui +qt5quick2-test
TITLE+=QuickTest
DEPENDS+=+qt5quick2-quick +qt5base-widgets +qt5base-test
endef
define Package/qt5quick2-qml-layouts
#define Package/qt5quick2-particles
# $(call Package/qt5quick2/Default)
# TITLE+=particles
# DEPENDS+=+qt5quick2-quick
#endef
define Package/qt5quick2-quick-widgets
$(call Package/qt5quick2/Default)
TITLE+=QML layouts
TITLE+=QuickWidgets
DEPENDS+=+qt5quick2-quick +qt5base-widgets
endef
define Package/qt5quick2-quick-shapes
$(call Package/qt5quick2/Default)
TITLE+=QuickShapes
DEPENDS+=+qt5quick2-quick
endef
define Package/qt5quick2-qml-particles
###
define Package/qt5quick2-qml-module-qtqml-models2
$(call Package/qt5quick2/Default)
TITLE+=QML particles
DEPENDS+=+qt5quick2-particles
TITLE+=QML QtQml models
DEPENDS+=+qt5quick2-qml-models
endef
define Package/qt5quick2-qml-window
define Package/qt5quick2-qml-module-qtqml-statemachine
$(call Package/qt5quick2/Default)
TITLE+=QML window
TITLE+=QML StateMachine
DEPENDS:=+qt5quick2-qml
endef
define Package/qt5quick2-qml-module-qtqml-workerscript2
$(call Package/qt5quick2/Default)
TITLE+=QML WorkerScript
DEPENDS:=+qt5quick2-qml-worker-script
endef
###
define Package/qt5quick2-qml-module-qtlabs-animation
$(call Package/qt5quick2/Default)
TITLE+=QML QtLabs animation
DEPENDS:=+qt5quick2-qml +qt5quick2-quick
endef
define Package/qt5quick2-qml-module-qtlabs-folderlistmodel
$(call Package/qt5quick2/Default)
TITLE+=QML QtLabs folderlistmodel
DEPENDS:=+qt5quick2-qml
endef
define Package/qt5quick2-qml-module-qtlabs-models
$(call Package/qt5quick2/Default)
TITLE+=QML QtLabs qmlmodels
DEPENDS+=+qt5quick2-qml-models
endef
define Package/qt5quick2-qml-module-qtlabs-settings
$(call Package/qt5quick2/Default)
TITLE+=QML QtLabs settings
DEPENDS:=+qt5quick2-qml
endef
define Package/qt5quick2-qml-module-qtlabs-sharedimage
$(call Package/qt5quick2/Default)
TITLE+=QML QtLabs sharedimage
DEPENDS:=+qt5quick2-quick
endef
define Package/qt5quick2-qml-module-qtlabs-wavefrontmesh
$(call Package/qt5quick2/Default)
TITLE+=QML QtLabs wavefrontmesh
DEPENDS:=+qt5quick2-quick
endef
define Package/qt5quick2-qml-module-qttest
$(call Package/qt5quick2/Default)
TITLE+=QML QtTest
DEPENDS+=+qt5quick2-quick +qt5quick2-quick-test
endef
define Package/qt5quick2-qml-module-qtquick-layouts
$(call Package/qt5quick2/Default)
TITLE+=QML QtQuick Layouts
DEPENDS+=+qt5quick2-quick
endef
define Package/qt5quick2-qml-localstorage
#define Package/qt5quick2-qml-module-qtquick-particles2
# $(call Package/qt5quick2/Default)
# TITLE+=QML particles
# DEPENDS+=+qt5quick2-particles
#endef
define Package/qt5quick2-qml-module-qtquick-localstorage
$(call Package/qt5quick2/Default)
TITLE+=QML localstorage
TITLE+=QML QtQuick LocalStorage
DEPENDS+=+qt5quick2-qml +qt5base-sql
endef
define Package/qt5quick2-qml-quick
define Package/qt5quick2-qml-module-qtquick-shapes
$(call Package/qt5quick2/Default)
TITLE+=QML quick2
TITLE+=QML QtQuick Shapes
DEPENDS+=+qt5quick2-quick-shapes
endef
define Package/qt5quick2-qml-module-qtquick-window2
$(call Package/qt5quick2/Default)
TITLE+=QML QtQuick Window.2
DEPENDS+=+qt5quick2-quick
endef
define Package/qt5quick2-qml-module-qtquick2
$(call Package/qt5quick2/Default)
TITLE+=QML QtQuick.2
DEPENDS+=+qt5quick2-quick +qt5quick2-qml-worker-script
endef
####
define Build/InstallDev
@@ -155,81 +212,132 @@ endef
define Package/qt5quick2-qml/install
$(call Build/Install/Libs,$(1),libQt5Qml)
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_QML)
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_QML)/builtins.qmltypes \
$(1)/$(QT_INSTALL_QML)/
endef
define Package/qt5quick2-qml-models/install
$(call Build/Install/Libs,$(1),libQt5QmlModels)
endef
define Package/qt5quick2-qml-worker-script/install
$(call Build/Install/Libs,$(1),libQt5QmlWorkerScript)
endef
define Package/qt5quick2-quick/install
$(call Build/Install/Libs,$(1),libQt5Quick)
endef
define Package/qt5quick2-test/install
define Package/qt5quick2-quick-test/install
$(call Build/Install/Libs,$(1),libQt5QuickTest)
endef
define Package/qt5quick2-particles/install
$(call Build/Install/Libs,$(1),libQt5QuickParticles)
endef
#define Package/qt5quick2-particles/install
# $(call Build/Install/Libs,$(1),libQt5QuickParticles)
#endef
define Package/qt5quick2-widgets/install
define Package/qt5quick2-quick-widgets/install
$(call Build/Install/Libs,$(1),libQt5QuickWidgets)
endef
define Package/qt5quick2-qml-statemachine/install
$(call Build/Install/QMLplugin,$(1),/QtQml/StateMachine,*)
define Package/qt5quick2-quick-shapes/install
$(call Build/Install/Libs,$(1),libQt5QuickShapes)
endef
define Package/qt5quick2-qml-models/install
define Package/qt5quick2-qml-module-qtqml-models2/install
$(call Build/Install/QMLplugin,$(1),QtQml/Models.2,*)
endef
define Package/qt5quick2-qml-folderlistmodel/install
define Package/qt5quick2-qml-module-qtqml-statemachine/install
$(call Build/Install/QMLplugin,$(1),QtQml/StateMachine,*)
endef
define Package/qt5quick2-qml-module-qtqml-workerscript2/install
$(call Build/Install/QMLplugin,$(1),QtQml/WorkerScript.2,*)
endef
define Package/qt5quick2-qml-module-qtlabs-animation/install
$(call Build/Install/QMLplugin,$(1),Qt/labs/animation/,*)
endef
define Package/qt5quick2-qml-module-qtlabs-folderlistmodel/install
$(call Build/Install/QMLplugin,$(1),Qt/labs/folderlistmodel,*)
endef
define Package/qt5quick2-qml-settings/install
define Package/qt5quick2-qml-module-qtlabs-models/install
$(call Build/Install/QMLplugin,$(1),Qt/labs/qmlmodels,*)
endef
define Package/qt5quick2-qml-module-qtlabs-settings/install
$(call Build/Install/QMLplugin,$(1),Qt/labs/settings/,*)
endef
define Package/qt5quick2-qml-test/install
define Package/qt5quick2-qml-module-qtlabs-sharedimage/install
$(call Build/Install/QMLplugin,$(1),Qt/labs/sharedimage/,*)
endef
define Package/qt5quick2-qml-module-qtlabs-wavefrontmesh/install
$(call Build/Install/QMLplugin,$(1),Qt/labs/wavefrontmesh/,*)
endef
define Package/qt5quick2-qml-module-qttest/install
$(call Build/Install/QMLplugin,$(1),QtTest,*)
$(INSTALL_DIR) $(1)/usr/bin
$(CP) $(PKG_INSTALL_DIR)/usr/bin/qmltestrunner $(1)/usr/bin/
endef
define Package/qt5quick2-qml-layouts/install
define Package/qt5quick2-qml-module-qtquick-layouts/install
$(call Build/Install/QMLplugin,$(1),QtQuick/Layouts,*)
endef
define Package/qt5quick2-qml-particles/install
$(call Build/Install/QMLplugin,$(1),QtQuick/Particles.2,*)
endef
#define Package/qt5quick2-qml-module-qtquick-particles2/install
# $(call Build/Install/QMLplugin,$(1),QtQuick/Particles.2,*)
#endef
define Package/qt5quick2-qml-window/install
$(call Build/Install/QMLplugin,$(1),QtQuick/Window.2,*)
endef
define Package/qt5quick2-qml-localstorage/install
define Package/qt5quick2-qml-module-qtquick-localstorage/install
$(call Build/Install/QMLplugin,$(1),QtQuick/LocalStorage,*)
endef
define Package/qt5quick2-qml-quick/install
define Package/qt5quick2-qml-module-qtquick-shapes/install
$(call Build/Install/QMLplugin,$(1),QtQuick/Shapes,*)
endef
define Package/qt5quick2-qml-module-qtquick-window2/install
$(call Build/Install/QMLplugin,$(1),QtQuick/Window.2,*)
endef
define Package/qt5quick2-qml-module-qtquick2/install
$(call Build/Install/QMLplugin,$(1),QtQuick.2,*)
endef
#$(eval $(call BuildPackage,qt5quick2))
$(eval $(call BuildPackage,qt5quick2-qml))
$(eval $(call BuildPackage,qt5quick2-quick))
$(eval $(call BuildPackage,qt5quick2-test))
$(eval $(call BuildPackage,qt5quick2-particles))
$(eval $(call BuildPackage,qt5quick2-widgets))
$(eval $(call BuildPackage,qt5quick2-qml-statemachine))
$(eval $(call BuildPackage,qt5quick2-qml-models))
$(eval $(call BuildPackage,qt5quick2-qml-folderlistmodel))
$(eval $(call BuildPackage,qt5quick2-qml-settings))
$(eval $(call BuildPackage,qt5quick2-qml-test))
$(eval $(call BuildPackage,qt5quick2-qml-layouts))
$(eval $(call BuildPackage,qt5quick2-qml-particles))
$(eval $(call BuildPackage,qt5quick2-qml-window))
$(eval $(call BuildPackage,qt5quick2-qml-localstorage))
$(eval $(call BuildPackage,qt5quick2-qml-quick))
$(eval $(call BuildPackage,qt5quick2-qml-worker-script))
$(eval $(call BuildPackage,qt5quick2-quick))
$(eval $(call BuildPackage,qt5quick2-quick-test))
#$(eval $(call BuildPackage,qt5quick2-particles))
$(eval $(call BuildPackage,qt5quick2-quick-widgets))
$(eval $(call BuildPackage,qt5quick2-quick-shapes))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtqml-models2))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtqml-statemachine))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtqml-workerscript2))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-models))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-folderlistmodel))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-settings))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-animation))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-sharedimage))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtlabs-wavefrontmesh))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick2))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-layouts))
#$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-particles2))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-localstorage))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-shapes))
$(eval $(call BuildPackage,qt5quick2-qml-module-qtquick-window2))
$(eval $(call BuildPackage,qt5quick2-qml-module-qttest))

View File

@@ -1,6 +1,6 @@
#
# Copyright (C) 2015 OpenWrt
# Author: Mirko Vogt <mirko@openwrt.org>
# Copyright (C) 2020 OpenWrt
# Author: Mirko Vogt <mirko-openwrt@nanl.de>
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5script
PKG_VERSION:=5.9.1
PKG_VERSION:=5.15.0
PKG_RELEASE:=1
PKG_HASH:=176a08865d5f66437b0f279fc5d7f381f359f20bafbffcebdcac61e86415188f
PKG_HASH:=02dc21b309621876a89671be27cea86a58e74a96aa28da65fe1b37a3aad29373
PKG_SYS_NAME:=qtscript-opensource-src-$(PKG_VERSION)
PKG_SYS_NAME:=qtscript-everywhere-src-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
PKG_SOURCE_URL:=http://download.qt-project.org/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
PKG_BUILD_PARALLEL:=1
@@ -33,7 +33,7 @@ define Package/qt5script/Default
# DEPENDS:=qt5script +qt5base-core
DEPENDS:=+qt5base-core
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
endef
# define Package/qt5script

View File

@@ -1,6 +1,6 @@
#
# Copyright (C) 2016 OpenWrt
# Author: Mirko Vogt <mirko@openwrt.org>
# Copyright (C) 2020 OpenWrt
# Author: Mirko Vogt <mirko-openwrt@nanl.de>
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
@@ -8,13 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5tools
PKG_VERSION:=5.9.1
PKG_VERSION:=5.15.0
PKG_RELEASE:=1
PKG_HASH:=c4eb56cf24a75661b8317b566be37396c90357b4f6730ef12b8c97a7079ca0e8,
PKG_HASH:=ddbcb49aab3a2e3672582c6e2e7bec0058feff790f67472343c79e2895e0e437
PKG_SYS_NAME:=qttools-opensource-src-$(PKG_VERSION)
PKG_SYS_NAME:=qttools-everywhere-src-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
PKG_SOURCE_URL:=http://download.qt-project.org/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_HOST_ONLY:=1
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
@@ -35,8 +35,8 @@ define Package/qt5tools
SUBMENU:=Frameworks and Toolkits
TITLE:=qt5tools
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko@openwrt.org>
DEPENDS:=+qt5base
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
DEPENDS:=+qt5base-core
BUILDONLY:=1
endef
@@ -54,6 +54,12 @@ define Host/Install
$(CP) \
$(HOST_INSTALL_DIR)/bin/* \
$(STAGING_DIR_HOST)/bin/
ln -sf $(STAGING_DIR_HOST)/bin/lrelease \
$(STAGING_DIR)/host/bin/
ln -sf $(STAGING_DIR_HOST)/bin/lupdate \
$(STAGING_DIR)/host/bin/
endef
$(eval $(call BuildPackage,qt5tools))

View File

@@ -1,12 +1,14 @@
--- qttools-opensource-src-5.8.0.orig/src/src.pro 2017-01-02 07:50:13.000000000 +0100
+++ qttools-opensource-src-5.8.0/src/src.pro 2017-02-21 02:58:04.974231681 +0100
@@ -14,7 +14,8 @@
diff --git a/src/src.pro b/src/src.pro
index 5c256ea..3c4012a 100644
--- a/src/src.pro
+++ b/src/src.pro
@@ -17,7 +17,8 @@ qtHaveModule(widgets) {
}
SUBDIRS += linguist \
qdoc \
- qtattributionsscanner
+ qtattributionsscanner \
+ kmap2qmap
!android|android_app: SUBDIRS += qtplugininfo
qtConfig(library) {
!android|android_app: SUBDIRS += qtplugininfo

View File

@@ -23,14 +23,3 @@ diff -ruN qttools-opensource-src-5.8.0.orig/src/kmap2qmap/main.cpp qttools-opens
{ "KP_0", Qt::Key_0 | Qt::KeypadModifier },
{ "KP_1", Qt::Key_1 | Qt::KeypadModifier },
@@ -696,8 +704,8 @@
if (kcpos >= 0 && kcpos < (tokens.count()-3) && tokens[kcpos+2] == "=") {
quint16 keycode = tokens[kcpos+1].toInt();
- if (keycode <= 0 || keycode > 0x1ff /* KEY_MAX */) {
- parseWarning("keycode out of range [0..0x1ff]");
+ if (keycode <= 0 || keycode > 0x2ff /* KEY_MAX */) {
+ parseWarning("keycode out of range [0..0x2ff]");
break;
}

View File

@@ -0,0 +1,41 @@
#
# Copyright (C) 2020 OpenWrt
# Author: Mirko Vogt <mirko-openwrt@nanl.de>
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5translations
PKG_VERSION:=5.15.0
PKG_RELEASE:=1
PKG_HASH:=45c43268d9df50784d4d8ca345fce9288a1055fd074ac0ef508097f7aeba22fe
PKG_SYS_NAME:=qttranslations-everywhere-src-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
PKG_SOURCE_URL:=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_BUILD_DIR=$(BUILD_DIR)/$(PKG_SYS_NAME)
PKG_BUILD_PARALLEL:=1
PKG_INSTALL:=1
PKG_BUILD_DEPENDS:=qt5tools/host
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-include $(STAGING_DIR)/host/mk/qmake.mk
define Package/qt5translations
SECTION:=video-frameworks
CATEGORY:=Video
SUBMENU:=Frameworks and Toolkits
TITLE:=qt5translations
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
endef
define Package/qt5translations/install
$(call Build/Install/Translations,$(1),*)
endef
$(eval $(call BuildPackage,qt5translations))