Merge pull request #66 from mirko/mirko/qt5-rework

Mirko/qt5 rework
This commit is contained in:
Mirko Vogt
2025-05-22 15:16:49 +02:00
committed by GitHub
24 changed files with 889 additions and 716 deletions

8
frameworks/qt5/cmake.mk Normal file
View File

@@ -0,0 +1,8 @@
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/cmake.mk
CMAKE_OPTIONS += \
-DQT_QMAKE_TARGET_MKSPEC="linux-openwrt-g++"
CMAKE_HOST_OPTIONS += \
-DQT_QMAKE_TARGET_MKSPEC="linux-openwrt-host-g++"

146
frameworks/qt5/common.mk Normal file
View File

@@ -0,0 +1,146 @@
#
# 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.
#
# for target builds (STAGING_DIR)
QT_INSTALL_PREFIX:=/usr
QT_INSTALL_CONFIGURATION:=/etc/qt5
QT_INSTALL_LIBS:=$(QT_INSTALL_PREFIX)/lib
QT_INSTALL_DATA:=$(QT_INSTALL_PREFIX)/share/qt5
QT_INSTALL_HEADERS:=$(QT_INSTALL_PREFIX)/include/qt5
QT_INSTALL_CMAKES:=$(QT_INSTALL_PREFIX)/lib/cmake
QT_INSTALL_PKGCONFIGS:=$(QT_INSTALL_PREFIX)/lib/pkgconfig
QT_INSTALL_BINS:=$(QT_INSTALL_PREFIX)/bin
QT_INSTALL_DOCS:=$(QT_INSTALL_DATA)/doc
QT_INSTALL_TRANSLATIONS:=$(QT_INSTALL_DATA)/translations
QT_INSTALL_ARCHDATA:=$(QT_INSTALL_LIBS)/qt5
QT_INSTALL_LIBEXECS:=$(QT_INSTALL_ARCHDATA)
QT_INSTALL_TESTS:=$(QT_INSTALL_ARCHDATA)/tests
QT_INSTALL_PLUGINS:=$(QT_INSTALL_ARCHDATA)/plugins
QT_INSTALL_IMPORTS:=$(QT_INSTALL_ARCHDATA)/imports
QT_INSTALL_QML:=$(QT_INSTALL_ARCHDATA)/qml
QT_INSTALL_EXAMPLES:=$(QT_INSTALL_ARCHDATA)/examples
QT_INSTALL_DEMOS:=$(QT_INSTALL_EXAMPLES)
# for host builds defined in target project files (STAGING_DIR)/host
QT_HOST_PREFIX:=$(STAGING_DIR)/host
QT_HOST_DATA:=$(QT_HOST_PREFIX)/share/qt5
QT_HOST_BINS:=$(QT_HOST_PREFIX)/bin/qt5
QT_HOST_LIBS:=$(QT_HOST_PREFIX)/lib
# for host builds defined in host project files (STAGING_DIR_HOST)
QT_HOSTPKG_PREFIX:=$(STAGING_DIR_HOST)
QT_HOSTPKG_CONFIGURATION:=$(STAGING_DIR_HOST)/etc/qt5
QT_HOSTPKG_LIBS:=$(QT_HOSTPKG_PREFIX)/lib
QT_HOSTPKG_DATA:=$(QT_HOSTPKG_PREFIX)/share/qt5
QT_HOSTPKG_HEADERS:=$(QT_HOSTPKG_PREFIX)/include/qt5
QT_HOSTPKG_CMAKES:=$(QT_HOSTPKG_PREFIX)/lib/cmake
QT_HOSTPKG_PKGCONFIGS:=$(QT_HOSTPKG_PREFIX)/lib/pkgconfig
QT_HOSTPKG_BINS:=$(QT_HOSTPKG_PREFIX)/bin/qt5
QT_HOSTPKG_DOCS:=$(QT_HOSTPKG_DATA)/doc
QT_HOSTPKG_TRANSLATIONS:=$(QT_HOSTPKG_DATA)/translations
QT_HOSTPKG_ARCHDATA:=$(QT_HOSTPKG_LIBS)/qt5
QT_HOSTPKG_LIBEXECS:=$(QT_HOSTPKG_ARCHDATA)/libexec
QT_HOSTPKG_TESTS:=$(QT_HOSTPKG_ARCHDATA)/tests
QT_HOSTPKG_PLUGINS:=$(QT_HOSTPKG_ARCHDATA)/plugins
QT_HOSTPKG_IMPORTS:=$(QT_HOSTPKG_ARCHDATA)/imports
QT_HOSTPKG_QML:=$(QT_HOSTPKG_ARCHDATA)/qml
QT_HOSTPKG_EXAMPLES:=$(QT_HOSTPKG_ARCHDATA)/examples
QT_HOSTPKG_DEMOS:=$(QT_HOSTPKG_EXAMPLES)
ifeq (qt, $(firstword $(subst 5, ,$(PKG_NAME))))
# PKG defaults for official Qt modules
PKG_VERSION?=5.15.16
PKG_SOURCE_URL?=https://download.qt.io/official_releases/qt/$(basename $(PKG_VERSION))/$(PKG_VERSION)/submodules
PKG_SYS_NAME?=$(subst -,,$(subst $(firstword $(subst ., ,$(PKG_VERSION))),,$(PKG_NAME)))
PKG_SYS_NAME_FULL?=$(PKG_SYS_NAME)-everywhere-src-$(PKG_VERSION)
PKG_SOURCE?=$(subst -src-,-opensource-src-,$(PKG_SYS_NAME_FULL)).tar.xz
PKG_LICENSE?=LGPL-3.0-or-commercial
PKG_BUILD_DIR?=$(BUILD_DIR)/$(PKG_SYS_NAME_FULL)
HOST_BUILD_DIR?=$(BUILD_DIR)/host/$(PKG_SYS_NAME_FULL)
PKG_BUILD_PARALLEL?=1
HOST_BUILD_PARALLEL?=1
PKG_BUILD_FLAGS?=no-mips16
PKG_INSTALL?=1
endif
define Build/Install/Headers
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_HEADERS)
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_HEADERS)/* \
$(1)/$(QT_INSTALL_HEADERS)/
endef
define Build/Install/Libs
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_LIBS)
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_LIBS)/$(2).so* \
$(1)/$(QT_INSTALL_LIBS)/
endef
define Build/Install/Cmakes
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_CMAKES)
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_CMAKES)/* \
$(1)/$(QT_INSTALL_CMAKES)/
endef
define Build/Install/Pkgconfigs
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_PKGCONFIGS)
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_PKGCONFIGS)/* \
$(1)/$(QT_INSTALL_PKGCONFIGS)/
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
if [ "$(2)" = '*' ]; then \
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_PLUGINS) ; \
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_PLUGINS)/$(2) \
$(1)/$(QT_INSTALL_PLUGINS)/ ; \
else \
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_PLUGINS)/$(2) ; \
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_PLUGINS)/$(2)/$(3).so* \
$(1)/$(QT_INSTALL_PLUGINS)/$(2)/ ; \
fi
endef
define Build/Install/Examples
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_EXAMPLES)
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_EXAMPLES)/* \
$(1)/$(QT_INSTALL_EXAMPLES)/
$(FIND) $(1)/$(QT_INSTALL_EXAMPLES) \
-type f \( -name '*.cpp' -o -name '*.h' -o -name '*.pro' -o -name '*.pri' \) | \
$(XARGS) $(RM) -vf
endef

View File

@@ -18,6 +18,8 @@
# host and target specific paths, however it fails hard and is totally undocumented.
# The extprefix variable tries to cover the situation, however actually just prepends
# its path to the QT_INSTALL_* variables - basically cosmetics.
# Unfortunately QT_INSTALL_* variables are also used for target specific host builds,
# e.g. used to build include and linker paths.
#
# The QT_HOST_* variables are used for host tools, libraries, mkspecs and its data.
#
@@ -37,45 +39,15 @@
# objects on the target platform. Tihs behaviour wasn't observed so far, however
# one might use the QT_INSTALL_* variables for some weird reason during runtime.
# for target builds (STAGING_DIR)
QT_EXTPREFIX:=$(STAGING_DIR)/$(CONFIGURE_PREFIX)
QT_SYSROOT:=
QT_INSTALL_CONFIGURATION:=/etc/qt5
QT_INSTALL_PREFIX:=$(CONFIGURE_PREFIX)
QT_INSTALL_LIBS:=$(QT_INSTALL_PREFIX)/lib
QT_INSTALL_DATA:=$(QT_INSTALL_PREFIX)/share/qt5
QT_INSTALL_HEADERS:=$(QT_INSTALL_PREFIX)/include
QT_INSTALL_BINS:=$(QT_INSTALL_PREFIX)/bin
QT_INSTALL_DOCS:=$(QT_INSTALL_DATA)/doc
QT_INSTALL_TRANSLATIONS:=$(QT_INSTALL_DATA)/translations
QT_INSTALL_ARCHDATA:=$(QT_INSTALL_LIBS)/qt5
QT_INSTALL_LIBEXECS:=$(QT_INSTALL_ARCHDATA)
QT_INSTALL_TESTS:=$(QT_INSTALL_ARCHDATA)/tests
QT_INSTALL_PLUGINS:=$(QT_INSTALL_ARCHDATA)/plugins
QT_INSTALL_IMPORTS:=$(QT_INSTALL_ARCHDATA)/imports
QT_INSTALL_QML:=$(QT_INSTALL_ARCHDATA)/qml
QT_INSTALL_EXAMPLES:=$(QT_INSTALL_ARCHDATA)/examples
QT_INSTALL_DEMOS:=$(QT_INSTALL_EXAMPLES)
# for host builds defined in target project files (STAGING_DIR)/host
QT_HOST_EXTPREFIX:=$(STAGING_DIR)/host
QT_HOST_PREFIX:=$(QT_HOST_EXTPREFIX)
QT_HOST_DATA:=$(QT_HOST_PREFIX)/share
QT_HOST_BINS:=$(QT_HOST_PREFIX)/bin
QT_HOST_LIBS:=$(QT_HOST_PREFIX)/lib
include $(TOPDIR)/rules.mk
QMAKE_SPEC:=linux-g++
QMAKE_SPEC:=linux-openwrt-host-g++
QMAKE_XSPEC:=linux-openwrt-g++
PKG_INSTALL_DIR_ROOT:=$(PKG_INSTALL_DIR)
PKG_INSTALL_DIR:=$(PKG_INSTALL_DIR_ROOT)/$(STAGING_DIR)
# for target independant host builds (STAGING_DIR_HOST)
HOST_INSTALL_DIR_ROOT:=$(HOST_INSTALL_DIR)
HOST_INSTALL_DIR:=$(HOST_INSTALL_DIR_ROOT)/$(STAGING_DIR_HOST)
#HOST_INSTALL_DIR:=$(HOST_INSTALL_DIR_ROOT)/$(STAGING_DIR)
QMAKE_TARGET=$(STAGING_DIR)/host/bin/qmake
QMAKE_HOST=$(STAGING_DIR_HOST)/bin/qmake
# qmake host tool for target builds
QMAKE_TARGET:=$(STAGING_DIR)/host/bin/qt5/qmake
# qmake host tool for host builds
QMAKE_HOST:=$(STAGING_DIR_HOST)/bin/qt5/qmake
define Build/Configure/Default
TARGET_CROSS="$(TARGET_CROSS)" \
@@ -120,76 +92,34 @@ define Build/Compile/Default
endef
define Host/Compile/Default
$(MAKE) $(PKG_JOBS) -C $(HOST_BUILD_DIR)/$(MAKE_PATH) \
$(1)
$(MAKE) $(PKG_JOBS) -C $(HOST_BUILD_DIR)/$(MAKE_PATH) \
$(1)
endef
define Build/Install/Default
INSTALL_ROOT="$(PKG_INSTALL_DIR_ROOT)" \
INSTALL_ROOT="$(PKG_INSTALL_DIR)/.owrttmp" \
$(MAKE) -C $(PKG_BUILD_DIR)/$(MAKE_PATH) \
$(1) install
mv "$(PKG_INSTALL_DIR)/.owrttmp/$(STAGING_DIR)/"* \
$(PKG_INSTALL_DIR)/ && \
rm -r $(PKG_INSTALL_DIR)/.owrttmp
endef
define Host/Install/Default
INSTALL_ROOT="$(HOST_INSTALL_DIR_ROOT)" \
INSTALL_ROOT="$(HOST_INSTALL_DIR)/.owrttmp" \
$(MAKE) -C $(HOST_BUILD_DIR)/$(MAKE_PATH) \
$(1) install
mv "$(HOST_INSTALL_DIR)/.owrttmp/$(STAGING_DIR_HOST)/"* \
$(HOST_INSTALL_DIR)/ && \
rm -r "$(HOST_INSTALL_DIR)/.owrttmp"
endef
# target specific host builds triggered by target qmake runs
define Build/Install/HostFiles
$(INSTALL_DIR) \
$(1)/host
$(STAGING_DIR)/host
$(CP) \
$(PKG_INSTALL_DIR)/host/* \
$(1)/host/
endef
define Build/Install/Headers
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_HEADERS)
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_HEADERS)/* \
$(1)/$(QT_INSTALL_HEADERS)/
endef
define Build/Install/Libs
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_LIBS)
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_LIBS)/$(2).so* \
$(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)
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_PLUGINS)/$(2)/$(3).so* \
$(1)/$(QT_INSTALL_PLUGINS)/$(2)/
endef
define Build/Install/Examples
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_EXAMPLES)
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_EXAMPLES)/* \
$(1)/$(QT_INSTALL_EXAMPLES)/
$(FIND) $(1)/$(QT_INSTALL_EXAMPLES) \
-type f \( -name '*.cpp' -o -name '*.h' -o -name '*.pro' -o -name '*.pri' \) | \
$(XARGS) $(RM) -vf
$(STAGING_DIR)/host/
endef

View File

@@ -0,0 +1,28 @@
config BUILD_qt5base-core_INOTIFY
bool "Use native inotify support on Linux"
depends on PACKAGE_qt5base-core
default y
help
"Compiles qt5's QFileSystemWatcher with support for inotify on Linux. Otherwise QFileSystemWatcher uses polling as fallback."
config BUILD_qt5base-network_SSL
bool "Include native SSL support"
depends on PACKAGE_qt5base-network
default y
config BUILD_qt5base-gui_DRM
bool "Include DRM support"
depends on PACKAGE_qt5base-gui
default y
choice
prompt "Which OpenGL variant to use"
default BUILD_qt5base-gui_OPENGL_NONE
config BUILD_qt5base-gui_OPENGL_OPENGLES2
bool "es2"
config BUILD_qt5base-gui_OPENGL_NONE
bool "no"
endchoice

View File

@@ -12,20 +12,15 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5base
PKG_VERSION:=5.15.0
PKG_RELEASE:=1
PKG_HASH:=9e7af10aece15fa9500369efde69cb220eee8ec3a6818afe01ce1e7d484824c5
PKG_HASH:=b04815058c18058b6ba837206756a2c87d1391f07a0dcb0dd314f970fd041592
PKG_SYS_NAME:=qtbase-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
include ../common.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/nls.mk
include ../qmake.mk
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_INSTALL:=1
PKG_BUILD_FLAGS:=no-mips16
# Yes, the host build depends on the target build. This is not a mistake!
# The target build provides the (target specific) qmake.mk file which
# is also used for host builds.
@@ -37,23 +32,23 @@ PKG_BUILD_FLAGS:=no-mips16
# makes use of the host build.
HOST_BUILD_DEPENDS:=qt5base
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/nls.mk
include ./files/qmake.mk
# hard disable udev support for now
CONFIG_PACKAGE_qt5base-input-autodiscovery:=
PKG_CONFIG_DEPENDS:= \
CONFIG_PACKAGE_qt5base-plugin-imageformats-jpeg \
CONFIG_PACKAGE_qt5base-network \
CONFIG_PACKAGE_qt5base-gui \
CONFIG_PACKAGE_qt5base-gl \
CONFIG_PACKAGE_qt5base-widgets \
CONFIG_PACKAGE_qt5base-examples \
CONFIG_PACKAGE_qt5base-input-autodiscovery \
CONFIG_PACKAGE_qt5base-plugin-platforms-minimal \
CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb \
CONFIG_PACKAGE_qt5base-plugin-input-libinput \
CONFIG_BUILD_qt5base-core_INOTIFY \
CONFIG_PACKAGE_qt5base-plugin-platforms-eglfs \
# CONFIG_PACKAGE_qt5base-gl \
# CONFIG_PACKAGE_qt5base-plugin-imageformats-png \
# CONFIG_PACKAGE_qt5base-plugin-platforms-eglfs \
# CONFIG_PACKAGE_qt5base-plugin-platforms-minimalegl \
# Do not use sstrip for QT5. When sstrip is used the QT5 plugin loading does
@@ -81,11 +76,15 @@ define Package/qt5base/Default
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
endef
# define Package/qt5base
# $(call Package/qt5base/Default)
# DEPENDS:=
# MENU:=1
# endef
define Package/qt5base-core
$(call Package/qt5base/Default)
TITLE+=core
DEPENDS+=+libpthread +zlib +libzstd +libstdcpp +librt +libpcre2-16 +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-core/config
source "$(SOURCE)/Config.in"
endef
define Package/qt5base-concurrent
$(call Package/qt5base/Default)
@@ -93,28 +92,22 @@ define Package/qt5base-concurrent
DEPENDS+=+qt5base-core
endef
define Package/qt5base-gl
$(call Package/qt5base/Default)
TITLE+=gl
DEPENDS+=+qt5base-core +qt5base-gui +qt5base-widgets @BROKEN
endef
define Package/qt5base-core
$(call Package/qt5base/Default)
TITLE+=core
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-gl
# $(call Package/qt5base/Default)
# TITLE+=gl
# DEPENDS+=+qt5base-core +qt5base-gui +qt5base-widgets @BROKEN
# endef
define Package/qt5base-gui
$(call Package/qt5base/Default)
TITLE+=gui
DEPENDS+=+qt5base-core +libpng +fontconfig +libfreetype
DEPENDS+=+qt5base-core +libpng +libfreetype +BUILD_qt5base-gui_OPENGL_OPENGLES2:libmesa # +BUILD_qt5base-gui_OPENGL_OPENGLES2:qt5base-widgets # qt5base-widgets appears to be needed when compiled with gl support, otherwise unneeded
endef
define Package/qt5base-network
$(call Package/qt5base/Default)
TITLE+=network
DEPENDS+=+qt5base-core +libopenssl
DEPENDS+=+qt5base-core +BUILD_qt5base-network_SSL:libopenssl
endef
# seems to be only present as static lib
@@ -153,6 +146,12 @@ define Package/qt5base-xml
DEPENDS+=+qt5base-core
endef
# define Package/qt5base-eglfs-device-integration
# $(call Package/qt5base/Default)
# TITLE+=xml
# DEPENDS+=+qt5base-core +qt5base-gui +libmesa
# endef
#### plugins
####### bearer
@@ -174,25 +173,25 @@ endef
define Package/qt5base-plugin-input-evdevkeyboard
$(call Package/qt5base/Default)
TITLE+=evdev keyboard (plugin)
DEPENDS+=+qt5base-core +qt5base-gui +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
DEPENDS+=+qt5base-core +qt5base-gui +PACKAGE_qt5base-input-autodiscovery:libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
endef
define Package/qt5base-plugin-input-evdevmouse
$(call Package/qt5base/Default)
TITLE+=evdev mouse (plugin)
DEPENDS+=+qt5base-core +qt5base-gui +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
DEPENDS+=+qt5base-core +qt5base-gui +PACKAGE_qt5base-input-autodiscovery:libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
endef
define Package/qt5base-plugin-input-evdevtablet
$(call Package/qt5base/Default)
TITLE+=evdev tablet (plugin)
DEPENDS+=+qt5base-core +qt5base-gui +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
DEPENDS+=+qt5base-core +qt5base-gui +PACKAGE_qt5base-input-autodiscovery:libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
endef
define Package/qt5base-plugin-input-evdevtouch
$(call Package/qt5base/Default)
TITLE+=evdev touch (plugin)
DEPENDS+=+qt5base-core +qt5base-gui +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
DEPENDS+=+qt5base-core +qt5base-gui +PACKAGE_qt5base-input-autodiscovery:libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
endef
####### imageformats
@@ -223,40 +222,40 @@ endef
####### platforms
#define Package/qt5base-plugin-platforms-eglfs
# $(call Package/qt5base/Default)
# TITLE+=platform eglfs (plugin)
# DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
#endef
#define Package/qt5base-plugin-platforms-minimalegl
# $(call Package/qt5base/Default)
# TITLE+=platform minimalegl (plugin)
# DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
#endef
define Package/qt5base-plugin-platforms-linuxfb
$(call Package/qt5base/Default)
TITLE+=platform linuxfb (plugin)
DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +PACKAGE_qt5base-input-autodiscovery:libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
endef
define Package/qt5base-plugin-platforms-eglfs
$(call Package/qt5base/Default)
TITLE+=platform eglfs (plugin)
DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig +libmesa # +qt5base-eglfs-device-integration
endef
define Package/qt5base-plugin-platforms-minimalegl
$(call Package/qt5base/Default)
TITLE+=platform minimalegl (plugin)
DEPENDS+=+qt5base-core +qt5base-gui # +libfreetype +fontconfig
endef
define Package/qt5base-plugin-platforms-minimal
$(call Package/qt5base/Default)
TITLE+=platform minimal (plugin)
DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
DEPENDS+=+qt5base-core +qt5base-gui # +libfreetype +fontconfig
endef
define Package/qt5base-plugin-platforms-offscreen
$(call Package/qt5base/Default)
TITLE+=platform offscreen (plugin)
DEPENDS+=+qt5base-core +qt5base-gui +libfreetype +fontconfig
DEPENDS+=+qt5base-core +qt5base-gui # +libfreetype +fontconfig
endef
define Package/qt5base-plugin-platforms-vnc
$(call Package/qt5base/Default)
TITLE+=platform vnc (plugin)
DEPENDS+=+qt5base-core +qt5base-gui +qt5base-network +libfreetype +fontconfig +libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
DEPENDS+=+qt5base-core +qt5base-gui +qt5base-network +libfreetype +fontconfig +PACKAGE_qt5base-input-autodiscovery:libudev +PACKAGE_qt5base-plugin-input-libinput:libinput
endef
@@ -281,19 +280,16 @@ define Package/qt5base-examples
+qt5base-xml \
+qt5base-printSupport \
+qt5base-concurrent \
+qt5base-gl
+qt5base-test
endef
define Build/Prepare
$(call Build/Prepare/Default)
$(CP) \
./files/mkspecs/linux-openwrt-g++ \
./files/mkspecs/* \
$(PKG_BUILD_DIR)/mkspecs/
endef
# TARGET_CFLAGS += \
# -I$(STAGING_DIR)/usr/include/freetype2 \
# -I$(STAGING_DIR)/usr/include/libdrm
define Build/Configure
# CROSS/TARGET_* need to be passed to configure, in order to use cross-compiling tools to check for requirements.
@@ -308,12 +304,11 @@ define Build/Configure
TARGET_CFLAGS="$(TARGET_CFLAGS)" \
TARGET_CXXFLAGS="$(TARGET_CFLAGS) $(TARGET_CXXFLAGS)" \
TARGET_LDFLAGS="$(TARGET_LDFLAGS)" \
PKG_CONFIG="$(STAGING_DIR_HOST)/bin/pkg-config.real" \
PKG_CONFIG_SYSROOT_DIR="$(STAGING_DIR)" \
./configure \
--extprefix=$(STAGING_DIR)/$(CONFIGURE_PREFIX) \
--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) \
@@ -328,18 +323,20 @@ define Build/Configure
--sysconfdir=$(QT_INSTALL_CONFIGURATION) \
--examplesdir=$(QT_INSTALL_EXAMPLES) \
--testsdir=$(QT_INSTALL_TESTS) \
--hostprefix=$(QT_HOST_PREFIX) \
--hostbindir=$(QT_HOST_BINS) \
--hostlibdir=$(QT_HOST_LIBS) \
--hostdatadir=$(QT_HOST_DATA) \
--gcc-sysroot=no \
--verbose=yes \
--opensource \
--confirm-license \
--release=yes \
--optimized-tools=no \
--optimize-size=no \
--strip=no \
--strip=yes \
--shared=yes \
--framework=no \
--platform=linux-openwrt-host-g++ \
--xplatform=linux-openwrt-g++ \
--reduce-exports=no \
--reduce-relocations=no \
@@ -357,34 +354,35 @@ define Build/Configure
--doubleconversion=system \
--glib=no \
--eventfd=no \
--inotify=no \
--inotify=$(if $(CONFIG_BUILD_qt5base-core_INOTIFY),yes,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) \
--ssl=$(if $(CONFIG_BUILD_qt5base-network_SSL),yes,no) \
--openssl=$(if $(CONFIG_BUILD_qt5base-network_SSL),yes,no) \
$(if $(CONFIG_BUILD_qt5base-network_SSL),--openssl-linked,) \
--libproxy=no \
--system-proxies=yes \
--cups=no \
--fontconfig=yes \
--fontconfig=no \
--freetype=system \
--harfbuzz=no \
--gtk=no \
--opengl=no \
--opengl=$(if $(CONFIG_BUILD_qt5base-gui_OPENGL_OPENGLES2),es2,no) \
--opengles3=no \
--egl=no \
--egl=$(if $(CONFIG_BUILD_qt5base-gui_OPENGL_OPENGLES2),yes,no) \
--xcb-xlib=no \
--qpa=$(if $(CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb),linuxfb,) \
--directfb=no \
--eglfs=no \
--gbm=no \
--eglfs=$(if $(CONFIG_BUILD_qt5base-gui_OPENGL_OPENGLES2),yes,no) \
--gbm=$(if $(CONFIG_BUILD_qt5base-gui_DRM),yes,no) \
--kms=$(if $(CONFIG_BUILD_qt5base-gui_DRM),yes,no) \
--linuxfb=$(if $(CONFIG_PACKAGE_qt5base-plugin-platforms-linuxfb),yes,no) \
--xcb=no \
\
--libudev=yes \
--libudev=$(if $(CONFIG_PACKAGE_qt5base-input-autodiscovery),yes,no) \
--evdev=yes \
--libinput=$(if $(CONFIG_PACKAGE_qt5base-plugin-input-libinput),yes,no) \
--mtdev=no \
@@ -418,11 +416,21 @@ 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 \
--prefix=$(QT_HOSTPKG_PREFIX) \
--bindir=$(QT_HOSTPKG_BINS) \
--headerdir=$(QT_HOSTPKG_HEADERS) \
--libdir=$(QT_HOSTPKG_LIBS) \
--archdatadir=$(QT_HOSTPKG_ARCHDATA) \
--plugindir=$(QT_HOSTPKG_PLUGINS) \
--libexecdir=$(QT_HOSTPKG_LIBEXECS) \
--importdir=$(QT_HOSTPKG_IMPORTS) \
--qmldir=$(QT_HOSTPKG_QML) \
--datadir=$(QT_HOSTPKG_DATA) \
--docdir=$(QT_HOSTPKG_DOCS) \
--translationdir=$(QT_HOSTPKG_TRANSLATIONS) \
--sysconfdir=$(QT_HOSTPKG_CONFIGURATION) \
--examplesdir=$(QT_HOSTPKG_EXAMPLES) \
--testsdir=$(QT_HOSTPKG_TESTS) \
--gcc-sysroot=no \
--verbose=yes \
--opensource \
@@ -475,14 +483,13 @@ define Host/Configure
--gbm=no \
--linuxfb=no \
--xcb=no \
\
--libudev=no \
--evdev=no \
--libinput=no \
--mtdev=no \
--tslib=no \
--bundled-xcb-xinput=no \
--xkbcommon=yes \
--xkbcommon=no \
--gif=no \
--ico=no \
--libjpeg=no \
@@ -501,58 +508,43 @@ define Host/Configure
endef
define Build/InstallDev
$(INSTALL_DIR) \
$(STAGING_DIR)/host/mk
$(CP) \
./files/qmake.mk \
$(STAGING_DIR)/host/mk/
$(call Build/Install/HostFiles,$(1))
$(call Build/Install/Headers,$(1))
$(call Build/Install/Cmakes,$(1))
$(call Build/Install/Pkgconfigs,$(1))
$(call Build/Install/Libs,$(1),*)
$(call Build/Install/Plugins,$(1),*,*)
# sed -i \
# -e "s|###TARGET_CFLAGS###||g" \
# -e "s|###TARGET_CXXFLAGS###||g" \
# -e "s|###TARGET_LDFLAGS###||g" \
# $(STAGING_DIR)/host/share/qt5/mkspecs/linux-openwrt-host-g++/qmake.conf
endef
define Host/Install
$(call Host/Install/Default)
$(INSTALL_DIR) \
$(STAGING_DIR_HOST)/bin \
$(STAGING_DIR_HOST)/lib \
$(STAGING_DIR_HOST)/include \
$(STAGING_DIR_HOST)/share
$(CP) \
$(HOST_INSTALL_DIR)/lib/* \
$(STAGING_DIR_HOST)/lib/
$(CP) \
$(HOST_INSTALL_DIR)/include/* \
$(STAGING_DIR_HOST)/include/
$(CP) \
$(HOST_INSTALL_DIR)/share/* \
$(STAGING_DIR_HOST)/share/
$(CP) \
$(HOST_INSTALL_DIR)/bin/* \
$(STAGING_DIR_HOST)/bin/
endef
define Package/qt5base-concurrent/install
$(call Build/Install/Libs,$(1),libQt5Concurrent)
$(HOST_INSTALL_DIR)/* \
$(STAGING_DIR_HOST)/
endef
define Package/qt5base-core/install
$(call Build/Install/Libs,$(1),libQt5Core)
endef
define Package/qt5base-gl/install
$(call Build/Install/Libs,$(1),libQt5OpenGL)
define Package/qt5base-concurrent/install
$(call Build/Install/Libs,$(1),libQt5Concurrent)
endef
# define Package/qt5base-gl/install
# $(call Build/Install/Libs,$(1),libQt5OpenGL)
# endef
define Package/qt5base-gui/install
$(call Build/Install/Libs,$(1),libQt5Gui)
$(if $(BUILD_qt5base-gui_OPENGL),$(call Build/Install/Libs,$(1),libQt5OpenGL),)
endef
define Package/qt5base-network/install
@@ -579,6 +571,11 @@ define Package/qt5base-xml/install
$(call Build/Install/Libs,$(1),libQt5Xml)
endef
define Package/qt5base-eglfs-device-integration/install
$(call Build/Install/Libs,$(1),libQt5EglFSDeviceIntegration)
$(call Build/Install/Plugins,$(1),egldeviceintegrations,libqeglfs-kms-egldevice-integration)
endef
define Package/qt5base-plugin-bearer-generic/install
$(call Build/Install/Plugins,$(1),bearer,libqgenericbearer)
endef
@@ -627,13 +624,17 @@ define Package/qt5base-plugin-platforms-vnc/install
$(call Build/Install/Plugins,$(1),platforms,libqvnc)
endef
#define Package/qt5base-plugin-platforms-eglfs/install
# $(call Build/Install/Plugins,$(1),platforms,libqeglfs)
#endef
define Package/qt5base-plugin-platforms-eglfs/install
$(call Build/Install/Libs,$(1),libQt5EglFsKmsSupport)
$(call Build/Install/Libs,$(1),libQt5EglFSDeviceIntegration)
$(call Build/Install/Plugins,$(1),egldeviceintegrations,libqeglfs-kms-egldevice-integration)
$(call Build/Install/Plugins,$(1),egldeviceintegrations,libqeglfs-kms-integration)
$(call Build/Install/Plugins,$(1),platforms,libqeglfs)
endef
#define Package/qt5base-plugin-platforms-minimalegl/install
# $(call Build/Install/Plugins,$(1),platforms,libqminimalegl)
#endef
define Package/qt5base-plugin-platforms-minimalegl/install
$(call Build/Install/Plugins,$(1),platforms,libqminimalegl)
endef
define Package/qt5base-plugin-platforms-minimal/install
$(call Build/Install/Plugins,$(1),platforms,libqminimal)
@@ -652,16 +653,17 @@ define Package/qt5base-examples/install
endef
# $(eval $(call BuildPackage,qt5base))
$(eval $(call BuildPackage,qt5base-concurrent))
$(eval $(call BuildPackage,qt5base-core))
$(eval $(call BuildPackage,qt5base-concurrent))
$(eval $(call BuildPackage,qt5base-gui))
$(eval $(call BuildPackage,qt5base-gl))
# $(eval $(call BuildPackage,qt5base-gl))
$(eval $(call BuildPackage,qt5base-network))
$(eval $(call BuildPackage,qt5base-printSupport))
$(eval $(call BuildPackage,qt5base-sql))
$(eval $(call BuildPackage,qt5base-test))
$(eval $(call BuildPackage,qt5base-widgets))
$(eval $(call BuildPackage,qt5base-xml))
#$(eval $(call BuildPackage,qt5base-eglfs-device-integration))
$(eval $(call BuildPackage,qt5base-plugin-bearer-generic))
$(eval $(call BuildPackage,qt5base-plugin-input-libinput))
$(eval $(call BuildPackage,qt5base-plugin-input-evdevkeyboard))
@@ -673,8 +675,8 @@ $(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))
$(eval $(call BuildPackage,qt5base-plugin-platforms-eglfs))
$(eval $(call BuildPackage,qt5base-plugin-platforms-minimalegl))
$(eval $(call BuildPackage,qt5base-plugin-platforms-minimal))
$(eval $(call BuildPackage,qt5base-plugin-platforms-offscreen))
$(eval $(call BuildPackage,qt5base-plugin-platforms-vnc))

View File

@@ -10,6 +10,11 @@ include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
QMAKE_CFLAGS_OPTIMIZE =
QMAKE_CFLAGS_OPTIMIZE_FULL =
# for whatever reasons $QMAKE_C*FLAGS_RELEASE has set optimization flags directly, instead of referencing $QMAKE_CFLAGS_OPTIMIZE*, so clearing them explicitly, too
QMAKE_CFLAGS_RELEASE =
QMAKE_CXXFLAGS_RELEASE = $$QMAKE_CFLAGS_RELEASE
# modifications to gcc-base.conf (included by gcc-base-unix.conf)
QMAKE_CFLAGS += $$(TARGET_CFLAGS)

View File

@@ -0,0 +1,18 @@
#
# qmake configuration for building with linux-openwrt-g++
#
MAKEFILE_GENERATOR = UNIX
CONFIG += incremental
QMAKE_INCREMENTAL_STYLE = sublib
include(../common/linux.conf)
include(../common/gcc-base-unix.conf)
include(../common/g++-unix.conf)
# modifications to gcc-base.conf (included by gcc-base-unix.conf)
QMAKE_CFLAGS += ###TARGET_CFLAGS###
QMAKE_CXXFLAGS += ###TARGET_CXXFLAGS###
QMAKE_LFLAGS += ###TARGET_LDFLAGS###
load(qt_config)

View File

@@ -0,0 +1,34 @@
/****************************************************************************
**
** Copyright (C) 2014 Digia Plc and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/legal
**
** This file is part of the qmake spec of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL21$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and Digia. For licensing terms and
** conditions see http://qt.digia.com/licensing. For further information
** use the contact form at http://qt.digia.com/contact-us.
**
** GNU Lesser General Public License Usage
** Alternatively, this file may be used under the terms of the GNU Lesser
** General Public License version 2.1 or version 3 as published by the Free
** Software Foundation and appearing in the file LICENSE.LGPLv21 and
** LICENSE.LGPLv3 included in the packaging of this file. Please review the
** following information to ensure the GNU Lesser General Public License
** requirements will be met: https://www.gnu.org/licenses/lgpl.html and
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Digia gives you certain additional
** rights. These rights are described in the Digia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** $QT_END_LICENSE$
**
****************************************************************************/
#include "../linux-g++/qplatformdefs.h"

View File

@@ -0,0 +1,17 @@
--- ./src/platformsupport/platformsupport.pro 2020-05-11 08:15:08.000000000 +0000
+++ ./src/platformsupport/platformsupport.pro.mod 2020-06-11 21:15:01.922331522 +0000
@@ -6,13 +6,13 @@
eventdispatchers \
devicediscovery \
fbconvenience \
- themes
+ themes \
+ input
qtConfig(freetype)|darwin|win32: \
SUBDIRS += fontdatabases
qtConfig(evdev)|qtConfig(tslib)|qtConfig(libinput)|qtConfig(integrityhid)|qtConfig(xkbcommon) {
- SUBDIRS += input
input.depends += devicediscovery
}

View File

@@ -0,0 +1,10 @@
--- ./src/corelib/text/qbytearraymatcher.h 2021-06-29 13:23:13.369547140 +0200
+++ ./src/corelib/text/qbytearraymatcher.h.new 2021-06-29 13:12:07.634947925 +0200
@@ -41,6 +41,7 @@
#define QBYTEARRAYMATCHER_H
#include <QtCore/qbytearray.h>
+#include <limits>
QT_BEGIN_NAMESPACE

View File

@@ -8,22 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5graphicaleffects
PKG_VERSION:=5.15.0
PKG_RELEASE:=1
PKG_HASH:=0d2ea4bc73b9df13a4b739dcbc1e3c7b298c7e682f7f9252b232e3bde7b63eda
PKG_SYS_NAME:=qtgraphicaleffects-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_BUILD_DEPENDS:=qt5base
PKG_INSTALL:=1
PKG_HASH:=d185813737f38352d81b3a405a9243aca1af7bfebe37aba22a4099a7031f640a
include ../common.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-include $(STAGING_DIR)/host/mk/qmake.mk
include ../qmake.mk
define Package/qt5graphicaleffects
SECTION:=video-frameworks
@@ -32,7 +23,7 @@ define Package/qt5graphicaleffects
TITLE:=qt5graphicaleffects
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
DEPENDS:=+qt5quick2-quick @BROKEN # depends on GL support, but currently we only support software rendering
DEPENDS:=+qt5quick-quick @BROKEN # depends on GL support, but currently we only support software rendering
endef
define Build/InstallDev

View File

@@ -7,40 +7,33 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5quick2-controls2
PKG_VERSION:=5.15.0
PKG_NAME:=qt5quick-controls2
PKG_RELEASE:=1
PKG_HASH:=839abda9b58cd8656b2e5f46afbb484e63df466481ace43318c4c2022684648f
PKG_SYS_NAME:=qtquickcontrols2-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_HASH:=6bdc134c7f86dcf0e416d89d96d0d1d1415ea465bceb1f360fb5badf2adcaa16
include ../common.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-include $(STAGING_DIR)/host/mk/qmake.mk
include ../qmake.mk
define Package/qt5quick2-controls2
define Package/qt5quick-controls2
SECTION:=video-frameworks
CATEGORY:=Video
SUBMENU:=Frameworks and Toolkits
TITLE:=qt5quick2-controls2
TITLE:=qt5quick-controls2
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
DEPENDS:=+qt5quick2-quick
DEPENDS:=+qt5quick-quick
endef
define Build/InstallDev
$(call Build/Install/HostFiles,$(1))
$(call Build/Install/Headers,$(1))
$(call Build/Install/Cmakes,$(1))
$(call Build/Install/Libs,$(1),*)
endef
define Package/qt5quick2-controls2/install
define Package/qt5quick-controls2/install
$(call Build/Install/Libs,$(1),libQt5QuickTemplates2)
$(call Build/Install/Libs,$(1),libQt5QuickControls2)
@@ -52,8 +45,8 @@ define Package/qt5quick2-controls2/install
$(1)/usr/lib/qt5/qml/QtQuick/
endef
define Package/qt5quick2-templates2/install
define Package/qt5quick-templates2/install
$(call Build/Install/Libs,$(1),libQt5QuickTemplates2)
endef
$(eval $(call BuildPackage,qt5quick2-controls2))
$(eval $(call BuildPackage,qt5quick-controls2))

View File

@@ -0,0 +1,339 @@
#
# 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:=qt5declarative
PKG_RELEASE:=1
PKG_HASH:=4e05de0747176a8a86a8c098ad215c2cdf1825a572b62a70b2e91cd81357408d
include ../common.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
include ../qmake.mk
define Package/qt5quick/Default
SECTION:=video-frameworks
CATEGORY:=Video
SUBMENU:=Frameworks and Toolkits
TITLE:=Qt5Quick2
# DEPENDS+=qt5quick
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
endef
# define Package/qt5quick
# $(call Package/qt5quick/Default)
# DEPENDS:=
# MENU:=1
# endef
define Package/qt5quick-qml
$(call Package/qt5quick/Default)
TITLE+=Qml
DEPENDS+=+qt5base-network
endef
define Package/qt5quick-qml-models
$(call Package/qt5quick/Default)
TITLE+=QmlModels
DEPENDS+=+qt5quick-qml
endef
define Package/qt5quick-qml-worker-script
$(call Package/qt5quick/Default)
TITLE+=QmlWorkerScript
DEPENDS+=+qt5quick-qml
endef
define Package/qt5quick-quick
$(call Package/qt5quick/Default)
TITLE+=Quick
DEPENDS+=+qt5base-gui +qt5quick-qml-models
endef
define Package/qt5quick-quick-test
$(call Package/qt5quick/Default)
TITLE+=QuickTest
DEPENDS+=+qt5quick-quick +qt5base-widgets +qt5base-test
endef
#define Package/qt5quick-particles
# $(call Package/qt5quick/Default)
# TITLE+=particles
# DEPENDS+=+qt5quick-quick
#endef
define Package/qt5quick-quick-widgets
$(call Package/qt5quick/Default)
TITLE+=QuickWidgets
DEPENDS+=+qt5quick-quick +qt5base-widgets
endef
define Package/qt5quick-quick-shapes
$(call Package/qt5quick/Default)
TITLE+=QuickShapes
DEPENDS+=+qt5quick-quick
endef
###
define Package/qt5quick-qml-module-qtqml-models2
$(call Package/qt5quick/Default)
TITLE+=QML QtQml models
DEPENDS+=+qt5quick-qml-models
endef
define Package/qt5quick-qml-module-qtqml-statemachine
$(call Package/qt5quick/Default)
TITLE+=QML StateMachine
DEPENDS:=+qt5quick-qml
endef
define Package/qt5quick-qml-module-qtqml-workerscript2
$(call Package/qt5quick/Default)
TITLE+=QML WorkerScript
DEPENDS:=+qt5quick-qml-worker-script
endef
###
define Package/qt5quick-qml-module-qtlabs-animation
$(call Package/qt5quick/Default)
TITLE+=QML QtLabs animation
DEPENDS:=+qt5quick-qml +qt5quick-quick
endef
define Package/qt5quick-qml-module-qtlabs-folderlistmodel
$(call Package/qt5quick/Default)
TITLE+=QML QtLabs folderlistmodel
DEPENDS:=+qt5quick-qml
endef
define Package/qt5quick-qml-module-qtlabs-models
$(call Package/qt5quick/Default)
TITLE+=QML QtLabs qmlmodels
DEPENDS+=+qt5quick-qml-models
endef
define Package/qt5quick-qml-module-qtlabs-settings
$(call Package/qt5quick/Default)
TITLE+=QML QtLabs settings
DEPENDS:=+qt5quick-qml
endef
define Package/qt5quick-qml-module-qtlabs-sharedimage
$(call Package/qt5quick/Default)
TITLE+=QML QtLabs sharedimage
DEPENDS:=+qt5quick-quick
endef
define Package/qt5quick-qml-module-qtlabs-wavefrontmesh
$(call Package/qt5quick/Default)
TITLE+=QML QtLabs wavefrontmesh
DEPENDS:=+qt5quick-quick
endef
define Package/qt5quick-qml-module-qttest
$(call Package/qt5quick/Default)
TITLE+=QML QtTest
DEPENDS+=+qt5quick-quick +qt5quick-quick-test
endef
define Package/qt5quick-qml-module-qtquick-layouts
$(call Package/qt5quick/Default)
TITLE+=QML QtQuick Layouts
DEPENDS+=+qt5quick-quick
endef
#define Package/qt5quick-qml-module-qtquick-particles2
# $(call Package/qt5quick/Default)
# TITLE+=QML particles
# DEPENDS+=+qt5quick-particles
#endef
define Package/qt5quick-qml-module-qtquick-localstorage
$(call Package/qt5quick/Default)
TITLE+=QML QtQuick LocalStorage
DEPENDS+=+qt5quick-qml +qt5base-sql
endef
define Package/qt5quick-qml-module-qtquick-shapes
$(call Package/qt5quick/Default)
TITLE+=QML QtQuick Shapes
DEPENDS+=+qt5quick-quick-shapes
endef
define Package/qt5quick-qml-module-qtquick-window2
$(call Package/qt5quick/Default)
TITLE+=QML QtQuick Window.2
DEPENDS+=+qt5quick-quick
endef
define Package/qt5quick-qml-module-qtquick
$(call Package/qt5quick/Default)
TITLE+=QML QtQuick.2
DEPENDS+=+qt5quick-quick +qt5quick-qml-worker-script
endef
####
define Build/InstallDev
$(call Build/Install/HostFiles,$(1))
$(call Build/Install/Headers,$(1))
$(call Build/Install/Cmakes,$(1))
$(call Build/Install/Pkgconfigs,$(1))
$(call Build/Install/Libs,$(1),*)
$(call Build/Install/Plugins,$(1),*,*)
ln -sf /bin/true $(STAGING_DIR)/host/bin/qmlplugindump
endef
define Build/Install/QMLplugin
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_QML)/$(2)
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_QML)/$(2)/{plugins.qmltypes,qmldir,$(3).{so,qml,js}*} \
$(1)/$(QT_INSTALL_QML)/$(2)/ \
|| true
endef
###
define Package/qt5quick-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/qt5quick-qml-models/install
$(call Build/Install/Libs,$(1),libQt5QmlModels)
endef
define Package/qt5quick-qml-worker-script/install
$(call Build/Install/Libs,$(1),libQt5QmlWorkerScript)
endef
define Package/qt5quick-quick/install
$(call Build/Install/Libs,$(1),libQt5Quick)
endef
define Package/qt5quick-quick-test/install
$(call Build/Install/Libs,$(1),libQt5QuickTest)
endef
#define Package/qt5quick-particles/install
# $(call Build/Install/Libs,$(1),libQt5QuickParticles)
#endef
define Package/qt5quick-quick-widgets/install
$(call Build/Install/Libs,$(1),libQt5QuickWidgets)
endef
define Package/qt5quick-quick-shapes/install
$(call Build/Install/Libs,$(1),libQt5QuickShapes)
endef
define Package/qt5quick-qml-module-qtqml-models2/install
$(call Build/Install/QMLplugin,$(1),QtQml/Models.2,*)
endef
define Package/qt5quick-qml-module-qtqml-statemachine/install
$(call Build/Install/QMLplugin,$(1),QtQml/StateMachine,*)
endef
define Package/qt5quick-qml-module-qtqml-workerscript2/install
$(call Build/Install/QMLplugin,$(1),QtQml/WorkerScript.2,*)
endef
define Package/qt5quick-qml-module-qtlabs-animation/install
$(call Build/Install/QMLplugin,$(1),Qt/labs/animation/,*)
endef
define Package/qt5quick-qml-module-qtlabs-folderlistmodel/install
$(call Build/Install/QMLplugin,$(1),Qt/labs/folderlistmodel,*)
endef
define Package/qt5quick-qml-module-qtlabs-models/install
$(call Build/Install/QMLplugin,$(1),Qt/labs/qmlmodels,*)
endef
define Package/qt5quick-qml-module-qtlabs-settings/install
$(call Build/Install/QMLplugin,$(1),Qt/labs/settings/,*)
endef
define Package/qt5quick-qml-module-qtlabs-sharedimage/install
$(call Build/Install/QMLplugin,$(1),Qt/labs/sharedimage/,*)
endef
define Package/qt5quick-qml-module-qtlabs-wavefrontmesh/install
$(call Build/Install/QMLplugin,$(1),Qt/labs/wavefrontmesh/,*)
endef
define Package/qt5quick-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/qt5quick-qml-module-qtquick-layouts/install
$(call Build/Install/QMLplugin,$(1),QtQuick/Layouts,*)
endef
#define Package/qt5quick-qml-module-qtquick-particles2/install
# $(call Build/Install/QMLplugin,$(1),QtQuick/Particles.2,*)
#endef
define Package/qt5quick-qml-module-qtquick-localstorage/install
$(call Build/Install/QMLplugin,$(1),QtQuick/LocalStorage,*)
endef
define Package/qt5quick-qml-module-qtquick-shapes/install
$(call Build/Install/QMLplugin,$(1),QtQuick/Shapes,*)
endef
define Package/qt5quick-qml-module-qtquick-window2/install
$(call Build/Install/QMLplugin,$(1),QtQuick/Window.2,*)
endef
define Package/qt5quick-qml-module-qtquick/install
$(call Build/Install/QMLplugin,$(1),QtQuick.2,*)
endef
#$(eval $(call BuildPackage,qt5quick))
$(eval $(call BuildPackage,qt5quick-qml))
$(eval $(call BuildPackage,qt5quick-qml-models))
$(eval $(call BuildPackage,qt5quick-qml-worker-script))
$(eval $(call BuildPackage,qt5quick-quick))
$(eval $(call BuildPackage,qt5quick-quick-test))
#$(eval $(call BuildPackage,qt5quick-particles))
$(eval $(call BuildPackage,qt5quick-quick-widgets))
$(eval $(call BuildPackage,qt5quick-quick-shapes))
$(eval $(call BuildPackage,qt5quick-qml-module-qtqml-models2))
$(eval $(call BuildPackage,qt5quick-qml-module-qtqml-statemachine))
$(eval $(call BuildPackage,qt5quick-qml-module-qtqml-workerscript2))
$(eval $(call BuildPackage,qt5quick-qml-module-qtlabs-models))
$(eval $(call BuildPackage,qt5quick-qml-module-qtlabs-folderlistmodel))
$(eval $(call BuildPackage,qt5quick-qml-module-qtlabs-settings))
$(eval $(call BuildPackage,qt5quick-qml-module-qtlabs-animation))
$(eval $(call BuildPackage,qt5quick-qml-module-qtlabs-sharedimage))
$(eval $(call BuildPackage,qt5quick-qml-module-qtlabs-wavefrontmesh))
$(eval $(call BuildPackage,qt5quick-qml-module-qtquick))
$(eval $(call BuildPackage,qt5quick-qml-module-qtquick-layouts))
#$(eval $(call BuildPackage,qt5quick-qml-module-qtquick-particles2))
$(eval $(call BuildPackage,qt5quick-qml-module-qtquick-localstorage))
$(eval $(call BuildPackage,qt5quick-qml-module-qtquick-shapes))
$(eval $(call BuildPackage,qt5quick-qml-module-qtquick-window2))
$(eval $(call BuildPackage,qt5quick-qml-module-qttest))

View File

@@ -8,22 +8,13 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5script
PKG_VERSION:=5.15.0
PKG_RELEASE:=1
PKG_HASH:=02dc21b309621876a89671be27cea86a58e74a96aa28da65fe1b37a3aad29373
PKG_SYS_NAME:=qtscript-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_BUILD_DEPENDS:=qt5base
PKG_INSTALL:=1
PKG_HASH:=0b98baa6eece7d0e7860590dd67faf452499096f62f33d16556fd38ac236eec2
include ../common.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-include $(STAGING_DIR)/host/mk/qmake.mk
include ../qmake.mk
define Package/qt5script/Default
SECTION:=video-frameworks

View File

@@ -0,0 +1,44 @@
#
# 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:=qt5svg
PKG_RELEASE:=1
PKG_HASH:=cc4e320084bc2882dc6e55229045ce99469946deab8c075aae06413e27100bc1
PKG_BUILD_DEPENDS:=qt5base
include ../common.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
include ../qmake.mk
MAKE_PATH=src
define Package/qt5svg
SECTION:=video-frameworks
CATEGORY:=Video
SUBMENU:=Frameworks and Toolkits
TITLE:=qt5svg
URL:=http://qt.io
DEPENDS:=+qt5base-widgets
endef
define Build/InstallDev
$(call Build/Install/HostFiles,$(1))
$(call Build/Install/Headers,$(1))
$(call Build/Install/Libs,$(1),*)
endef
define Package/qt5svg/install
$(call Build/Install/Libs,$(1),libQt5Svg)
$(call Build/Install/Plugins,$(1),imageformats,libqsvg)
$(call Build/Install/Plugins,$(1),iconengines,libqsvgicon)
endef
$(eval $(call BuildPackage,qt5svg))

View File

@@ -8,26 +8,16 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5tools
PKG_VERSION:=5.15.0
PKG_RELEASE:=1
PKG_HASH:=ddbcb49aab3a2e3672582c6e2e7bec0058feff790f67472343c79e2895e0e437
PKG_SYS_NAME:=qttools-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_HOST_ONLY:=1
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_INSTALL:=1
HOST_BUILD_DEPENDS:=qt5base/host
PKG_HASH:=1cab11887faca54af59f4995ee435c9ad98d194e9e6889c846692c8b6815fc1c
include ../common.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/host-build.mk
include $(INCLUDE_DIR)/nls.mk
-include $(STAGING_DIR)/host/mk/qmake.mk
include ../qmake.mk
HOST_BUILD_DEPENDS:=qt5base/host
define Package/qt5tools
SECTION:=video-frameworks
@@ -45,20 +35,20 @@ define Host/Install
$(INSTALL_DIR) \
$(STAGING_DIR_HOST)/lib \
$(STAGING_DIR_HOST)/bin
$(STAGING_DIR_HOST)/bin/qt5
$(CP) \
$(HOST_INSTALL_DIR)/lib/* \
$(STAGING_DIR_HOST)/lib/
$(CP) \
$(HOST_INSTALL_DIR)/bin/* \
$(STAGING_DIR_HOST)/bin/
$(HOST_INSTALL_DIR)/bin/qt5/* \
$(STAGING_DIR_HOST)/bin/qt5/
ln -sf $(STAGING_DIR_HOST)/bin/lrelease \
$(STAGING_DIR)/host/bin/
ln -sf $(STAGING_DIR_HOST)/bin/lupdate \
$(STAGING_DIR)/host/bin/
ln -sf $(STAGING_DIR_HOST)/bin/qt5/lrelease \
$(STAGING_DIR)/host/bin/qt5/
ln -sf $(STAGING_DIR_HOST)/bin/qt5/lupdate \
$(STAGING_DIR)/host/bin/qt5/
endef

View File

@@ -8,22 +8,15 @@
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
PKG_HASH:=415dbbb82a75dfc9a7be969e743bee54c0e6867be37bce4cf8f03da39f20112a
include ../common.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
-include $(STAGING_DIR)/host/mk/qmake.mk
include ../qmake.mk
PKG_BUILD_DEPENDS:=qt5tools/host
define Package/qt5translations
SECTION:=video-frameworks

View File

@@ -0,0 +1,57 @@
#
# 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:=qt5virtualkeyboard
PKG_RELEASE:=1
PKG_HASH:=100e676ca5eda629ae8bcf444d9117d388c5f8ca472c0b7aede2afa24eb1971f
PKG_BUILD_DEPENDS:=qt5tools/host
include ../common.mk
include $(INCLUDE_DIR)/package.mk
include $(INCLUDE_DIR)/nls.mk
include ../qmake.mk
define Package/qt5virtualkeyboard
SECTION:=video-frameworks
CATEGORY:=Video
SUBMENU:=Frameworks and Toolkits
TITLE:=qt5virtualkeyboard
URL:=http://qt.io
DEPENDS:=+qt5quick-quick +qt5quick-qml-models +qt5svg
endef
MAKE_PATH=src
define Build/InstallDev
$(call Build/Install/HostFiles,$(1))
$(call Build/Install/Headers,$(1))
$(call Build/Install/Libs,$(1),*)
endef
define Package/qt5virtualkeyboard/install
$(call Build/Install/Libs,$(1),libQt5VirtualKeyboard)
$(call Build/Install/Plugins,$(1),platforminputcontexts,libqtvirtualkeyboardplugin)
$(call Build/Install/Plugins,$(1),virtualkeyboard,libqtvirtualkeyboard_openwnn)
$(call Build/Install/Plugins,$(1),virtualkeyboard,libqtvirtualkeyboard_tcime)
$(call Build/Install/Plugins,$(1),virtualkeyboard,libqtvirtualkeyboard_pinyin)
$(call Build/Install/Plugins,$(1),virtualkeyboard,libqtvirtualkeyboard_hangul)
$(call Build/Install/Plugins,$(1),virtualkeyboard,libqtvirtualkeyboard_thai)
$(INSTALL_DIR) \
$(1)/usr/lib/qt5/qml/QtQuick/VirtualKeyboard
$(CP) \
$(PKG_INSTALL_DIR)/usr/lib/qt5/qml/QtQuick/VirtualKeyboard/* \
$(1)/usr/lib/qt5/qml/QtQuick/VirtualKeyboard/
endef
$(eval $(call BuildPackage,qt5virtualkeyboard))

View File

@@ -1,80 +0,0 @@
#
# 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.
#
### This package shares the same code as `qt5quick2-GLstubs`.
### However unfortunately we can't handle both packages within
### one Makefile, as it would create a circular dependency:
### `qt5base` depends on `qt5quick2-GLstubs`, but
### `qt5quick2-2d-sw-renderer` depends on `qt5quick2` which
### depends on `qt5base`.
### `qt5quick2-2d-sw-renderer` and `qt5quick2-GLstubs` sharing
### the same Makefile results in `qt5base` depending on `qt5quick2`
### which is meh.
include $(TOPDIR)/rules.mk
PKG_NAME:=qt5quick2-2d-sw-renderer-GLstubs
PKG_VERSION:=5.7.0
PKG_RELEASE:=1
PKG_MD5SUM:=41bfcb5ab6d7a820687c4208beeb7057
PKG_SYS_NAME:=qtdeclarative-render2d-opensource-src-$(PKG_VERSION)
PKG_SOURCE:=$(PKG_SYS_NAME).tar.xz
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
include $(INCLUDE_DIR)/package.mk
define Package/qt5quick2-2d-sw-renderer-GLstubs
SECTION:=video-frameworks
CATEGORY:=Video
SUBMENU:=Frameworks and Toolkits
TITLE:=Dummy GL stubs
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
endef
TARGET_CFLAGS += \
-I../3rdparty/include
define Build/Configure
endef
define Build/Compile
( cd $(PKG_BUILD_DIR)/tools/opengldummy/src ; \
$(TARGET_CC) $(TARGET_CFLAGS) -fPIC -shared -o libEGL.so egl.cpp && \
$(TARGET_CC) $(TARGET_CFLAGS) -fPIC -shared -o libGLESv2.so gles2.cpp \
)
endef
define Build/InstallDev
$(INSTALL_DIR) \
$(1)/usr/include \
$(1)/usr/lib
$(CP) \
$(PKG_BUILD_DIR)/tools/opengldummy/3rdparty/include/* \
$(1)/usr/include/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/tools/opengldummy/src/lib*.so* \
$(1)/usr/lib/
endef
define Package/qt5quick2-2d-sw-renderer-GLstubs/install
$(INSTALL_DIR) \
$(1)/usr/lib
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/tools/opengldummy/src/lib*.so* \
$(1)/usr/lib/
endef
$(eval $(call BuildPackage,qt5quick2-2d-sw-renderer-GLstubs))

View File

@@ -1,343 +0,0 @@
#
# 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:=qt5quick2
PKG_VERSION:=5.15.0
PKG_RELEASE:=1
PKG_HASH:=9c3c93fb7d340b2f7d738d12408c047318c78973cb45bfc5ff6b3a57e1fef699
PKG_SYS_NAME:=qtdeclarative-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_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/qt5quick2/Default
SECTION:=video-frameworks
CATEGORY:=Video
SUBMENU:=Frameworks and Toolkits
TITLE:=Qt5Quick2
# DEPENDS+=qt5quick2
URL:=http://qt.io
MAINTAINER:=Mirko Vogt <mirko-openwrt@nanl.de>
endef
# define Package/qt5quick2
# $(call Package/qt5quick2/Default)
# DEPENDS:=
# MENU:=1
# endef
define Package/qt5quick2-qml
$(call Package/qt5quick2/Default)
TITLE+=Qml
DEPENDS+=+qt5base-network
endef
define Package/qt5quick2-qml-models
$(call Package/qt5quick2/Default)
TITLE+=QmlModels
DEPENDS+=+qt5quick2-qml
endef
define Package/qt5quick2-qml-worker-script
$(call Package/qt5quick2/Default)
TITLE+=QmlWorkerScript
DEPENDS+=+qt5quick2-qml
endef
define Package/qt5quick2-quick
$(call Package/qt5quick2/Default)
TITLE+=Quick
DEPENDS+=+qt5base-gui +qt5quick2-qml-models
endef
define Package/qt5quick2-quick-test
$(call Package/qt5quick2/Default)
TITLE+=QuickTest
DEPENDS+=+qt5quick2-quick +qt5base-widgets +qt5base-test
endef
#define Package/qt5quick2-particles
# $(call Package/qt5quick2/Default)
# TITLE+=particles
# DEPENDS+=+qt5quick2-quick
#endef
define Package/qt5quick2-quick-widgets
$(call Package/qt5quick2/Default)
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-module-qtqml-models2
$(call Package/qt5quick2/Default)
TITLE+=QML QtQml models
DEPENDS+=+qt5quick2-qml-models
endef
define Package/qt5quick2-qml-module-qtqml-statemachine
$(call Package/qt5quick2/Default)
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-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 QtQuick LocalStorage
DEPENDS+=+qt5quick2-qml +qt5base-sql
endef
define Package/qt5quick2-qml-module-qtquick-shapes
$(call Package/qt5quick2/Default)
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
$(call Build/Install/HostFiles,$(1))
$(call Build/Install/Headers,$(1))
$(call Build/Install/Libs,$(1),*)
endef
define Build/Install/QMLplugin
$(INSTALL_DIR) \
$(1)/$(QT_INSTALL_QML)/$(2)
$(CP) \
$(PKG_INSTALL_DIR)/$(QT_INSTALL_QML)/$(2)/{plugins.qmltypes,qmldir,$(3).{so,qml,js}*} \
$(1)/$(QT_INSTALL_QML)/$(2)/ \
|| true
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-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-quick-widgets/install
$(call Build/Install/Libs,$(1),libQt5QuickWidgets)
endef
define Package/qt5quick2-quick-shapes/install
$(call Build/Install/Libs,$(1),libQt5QuickShapes)
endef
define Package/qt5quick2-qml-module-qtqml-models2/install
$(call Build/Install/QMLplugin,$(1),QtQml/Models.2,*)
endef
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-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-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-module-qtquick-layouts/install
$(call Build/Install/QMLplugin,$(1),QtQuick/Layouts,*)
endef
#define Package/qt5quick2-qml-module-qtquick-particles2/install
# $(call Build/Install/QMLplugin,$(1),QtQuick/Particles.2,*)
#endef
define Package/qt5quick2-qml-module-qtquick-localstorage/install
$(call Build/Install/QMLplugin,$(1),QtQuick/LocalStorage,*)
endef
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-qml-models))
$(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))