kumquat-buildroot/package/qt5/qt5quickcontrols/qt5quickcontrols.mk

49 lines
1.7 KiB
Makefile
Raw Normal View History

################################################################################
#
# qt5quickcontrols
#
################################################################################
QT5QUICKCONTROLS_VERSION = $(QT5_VERSION)
QT5QUICKCONTROLS_SITE = $(QT5_SITE)
qt5: bump latest version to 5.10.1 The tarball filename has changed since 5.10. The module suffix *opensource-src* has changed to *everywhere-src*. I introduced the *QT5_SOURCE_TARBALL_PREFIX* variable to set the right filename according to the Qt version. qtwebengine: Select libnss. It is a requirement[1] because OpenSSL certificate validation[2] and NSS bundle[3] was dropped. Add host-libnss and host-libpng to satisfy new requirement to build an internal host-tool. Set ninja host pkg-config tool using environment variable $GN_PKG_CONFIG_HOST[4]. The build system uses pkg-config to get package data for both host and target architectures. Using the same call to pkg-config for both target and host leads to build mismatches: it tries to link a host-tool using target libraries. qt5base: sqlite plugin now uses sqlite3_column_table_name16() so select BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA to make sure it is available. qt5multimedia: libqgsttools was renamed to libQtMultimediaGstTools. The latter name matches the libQt5Multimedia*.so.* pattern so no additional copy command is needed for it anymore. qt5xmlpatterns: Names of the license files have changed: LICENSE.(L)GPLv3 -> LICENSE.(L)GPL3. The new files in fact already existed in 5.9.4 but the old ones were not removed yet. The new files are slightly different: there used to be a Qt header in front of it which is now removed. Also LICENSE.LGPL3 is rewrapped. qt5location, qt5quickcontrols, qt5serialport: Same license files issue, and for LICENSE.GPLv2 as well. LICENSE.GPL2 has the "How to Apply These Terms to Your New Programs" text appended to it. qt5script: Similar license file issues, but the new license files were not present yet. LICENSE.GPLv21 was removed so there is no longer a license file for the LGPL-2.1-covered Qt code. [1]: https://github.com/qt/qtwebengine/commit/9b449045fbd5fd3b58bcaff6cf0c5878cd6e64eb [2]: https://codereview.chromium.org/2862543003 [3]: https://codereview.chromium.org/1882433002 [4]: https://github.com/qt/qtwebengine/blob/v5.10.1/src/core/config/linux.pri#L111-L125 Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> [Peter: - fix sqlite plugin support in qt5base; - fix target installation of qt5multimedia ] Signed-off-by: Peter Seiderer <ps.report@gmx.net> [Arnout: - create a local host-pkg-config tool instead of extending pkgconf; - pass the same options to host-pkg-config as we do for other packages; - carry the EGL mesa3d X11 headers patch; - update license file names and hashes ] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2018-03-15 20:50:54 +01:00
QT5QUICKCONTROLS_SOURCE = qtquickcontrols-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5QUICKCONTROLS_VERSION).tar.xz
QT5QUICKCONTROLS_DEPENDENCIES = qt5base qt5declarative
QT5QUICKCONTROLS_INSTALL_STAGING = YES
QT5QUICKCONTROLS_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-3.0, GFDL-1.3 (docs)
qt5: bump latest version to 5.10.1 The tarball filename has changed since 5.10. The module suffix *opensource-src* has changed to *everywhere-src*. I introduced the *QT5_SOURCE_TARBALL_PREFIX* variable to set the right filename according to the Qt version. qtwebengine: Select libnss. It is a requirement[1] because OpenSSL certificate validation[2] and NSS bundle[3] was dropped. Add host-libnss and host-libpng to satisfy new requirement to build an internal host-tool. Set ninja host pkg-config tool using environment variable $GN_PKG_CONFIG_HOST[4]. The build system uses pkg-config to get package data for both host and target architectures. Using the same call to pkg-config for both target and host leads to build mismatches: it tries to link a host-tool using target libraries. qt5base: sqlite plugin now uses sqlite3_column_table_name16() so select BR2_PACKAGE_SQLITE_ENABLE_COLUMN_METADATA to make sure it is available. qt5multimedia: libqgsttools was renamed to libQtMultimediaGstTools. The latter name matches the libQt5Multimedia*.so.* pattern so no additional copy command is needed for it anymore. qt5xmlpatterns: Names of the license files have changed: LICENSE.(L)GPLv3 -> LICENSE.(L)GPL3. The new files in fact already existed in 5.9.4 but the old ones were not removed yet. The new files are slightly different: there used to be a Qt header in front of it which is now removed. Also LICENSE.LGPL3 is rewrapped. qt5location, qt5quickcontrols, qt5serialport: Same license files issue, and for LICENSE.GPLv2 as well. LICENSE.GPL2 has the "How to Apply These Terms to Your New Programs" text appended to it. qt5script: Similar license file issues, but the new license files were not present yet. LICENSE.GPLv21 was removed so there is no longer a license file for the LGPL-2.1-covered Qt code. [1]: https://github.com/qt/qtwebengine/commit/9b449045fbd5fd3b58bcaff6cf0c5878cd6e64eb [2]: https://codereview.chromium.org/2862543003 [3]: https://codereview.chromium.org/1882433002 [4]: https://github.com/qt/qtwebengine/blob/v5.10.1/src/core/config/linux.pri#L111-L125 Signed-off-by: Gaël PORTAY <gael.portay@savoirfairelinux.com> [Peter: - fix sqlite plugin support in qt5base; - fix target installation of qt5multimedia ] Signed-off-by: Peter Seiderer <ps.report@gmx.net> [Arnout: - create a local host-pkg-config tool instead of extending pkgconf; - pass the same options to host-pkg-config as we do for other packages; - carry the EGL mesa3d X11 headers patch; - update license file names and hashes ] Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2018-03-15 20:50:54 +01:00
QT5QUICKCONTROLS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.LGPL3 LICENSE.FDL
define QT5QUICKCONTROLS_CONFIGURE_CMDS
(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake)
endef
define QT5QUICKCONTROLS_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
endef
define QT5QUICKCONTROLS_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
endef
qt5quickcontrols: fix installation of PrivateWidgets Commit e482ebf51d9e8e00c3e58eb65af0dfb70d05d8cc attempted to fix the installation of qt5quickcontrols by only installing the PrivateWidgets directory for the 5.8.0 version. However, the availability of PrivateWidgets has nothing to do with the version; in both 5.6.2 and 5.8.0, the installation is gated by the following statement in src/src.pro: qtHaveModule(quick):qtHaveModule(widgets): SUBDIRS += widgets i.e. it is installed when both the Quick and the Widgets module are available. The Widgets module is controlled by Buildroot's BR2_PACKAGE_QT5BASE_WIDGETS symbol, the Quick module is controlled by Buildroot's BR2_PACKAGE_QT5DECLARATIVE_QUICK. The qt5quickcontrols package selects BR2_PACKAGE_QT5DECLARATIVE_QUICK so it is not really needed to include it in the condition. However, it is theoretically possible to build this package without QtQuick. Also, adding this condition makes it consistent with src.pro. Note that commit e482ebf51d9e8e00c3e58eb65af0dfb70d05d8cc introduces a second fix (not mentioned in the commit message): for version 5.6.2, the Layouts directory is installed, but in 5.8.0 this directory doesn't exist any more. Therefore, a separate condition on the version is still needed. Fixes: http://autobuild.buildroot.net/results/1ff3e9ad4ba518d0a37f9fc12038bf9020f28094 Cc: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-02-28 12:02:52 +01:00
ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK)$(BR2_PACKAGE_QT5BASE_WIDGETS),yy)
define QT5QUICKCONTROLS_INSTALL_TARGET_PRIVATEWIDGETS
cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/PrivateWidgets $(TARGET_DIR)/usr/qml/QtQuick
endef
qt5quickcontrols: fix installation of PrivateWidgets Commit e482ebf51d9e8e00c3e58eb65af0dfb70d05d8cc attempted to fix the installation of qt5quickcontrols by only installing the PrivateWidgets directory for the 5.8.0 version. However, the availability of PrivateWidgets has nothing to do with the version; in both 5.6.2 and 5.8.0, the installation is gated by the following statement in src/src.pro: qtHaveModule(quick):qtHaveModule(widgets): SUBDIRS += widgets i.e. it is installed when both the Quick and the Widgets module are available. The Widgets module is controlled by Buildroot's BR2_PACKAGE_QT5BASE_WIDGETS symbol, the Quick module is controlled by Buildroot's BR2_PACKAGE_QT5DECLARATIVE_QUICK. The qt5quickcontrols package selects BR2_PACKAGE_QT5DECLARATIVE_QUICK so it is not really needed to include it in the condition. However, it is theoretically possible to build this package without QtQuick. Also, adding this condition makes it consistent with src.pro. Note that commit e482ebf51d9e8e00c3e58eb65af0dfb70d05d8cc introduces a second fix (not mentioned in the commit message): for version 5.6.2, the Layouts directory is installed, but in 5.8.0 this directory doesn't exist any more. Therefore, a separate condition on the version is still needed. Fixes: http://autobuild.buildroot.net/results/1ff3e9ad4ba518d0a37f9fc12038bf9020f28094 Cc: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-02-28 12:02:52 +01:00
endif
ifeq ($(BR2_PACKAGE_QT5_VERSION_5_6),y)
define QT5QUICKCONTROLS_INSTALL_TARGET_LAYOUTS
cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Layouts $(TARGET_DIR)/usr/qml/QtQuick
endef
endif
define QT5QUICKCONTROLS_INSTALL_TARGET_CMDS
cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Controls $(TARGET_DIR)/usr/qml/QtQuick
cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Dialogs $(TARGET_DIR)/usr/qml/QtQuick
cp -dpfr $(STAGING_DIR)/usr/qml/QtQuick/Extras $(TARGET_DIR)/usr/qml/QtQuick
qt5quickcontrols: fix installation of PrivateWidgets Commit e482ebf51d9e8e00c3e58eb65af0dfb70d05d8cc attempted to fix the installation of qt5quickcontrols by only installing the PrivateWidgets directory for the 5.8.0 version. However, the availability of PrivateWidgets has nothing to do with the version; in both 5.6.2 and 5.8.0, the installation is gated by the following statement in src/src.pro: qtHaveModule(quick):qtHaveModule(widgets): SUBDIRS += widgets i.e. it is installed when both the Quick and the Widgets module are available. The Widgets module is controlled by Buildroot's BR2_PACKAGE_QT5BASE_WIDGETS symbol, the Quick module is controlled by Buildroot's BR2_PACKAGE_QT5DECLARATIVE_QUICK. The qt5quickcontrols package selects BR2_PACKAGE_QT5DECLARATIVE_QUICK so it is not really needed to include it in the condition. However, it is theoretically possible to build this package without QtQuick. Also, adding this condition makes it consistent with src.pro. Note that commit e482ebf51d9e8e00c3e58eb65af0dfb70d05d8cc introduces a second fix (not mentioned in the commit message): for version 5.6.2, the Layouts directory is installed, but in 5.8.0 this directory doesn't exist any more. Therefore, a separate condition on the version is still needed. Fixes: http://autobuild.buildroot.net/results/1ff3e9ad4ba518d0a37f9fc12038bf9020f28094 Cc: Peter Seiderer <ps.report@gmx.net> Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be> Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
2017-02-28 12:02:52 +01:00
$(QT5QUICKCONTROLS_INSTALL_TARGET_PRIVATEWIDGETS)
$(QT5QUICKCONTROLS_INSTALL_TARGET_LAYOUTS)
endef
$(eval $(generic-package))