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

65 lines
2.3 KiB
Makefile
Raw Normal View History

################################################################################
#
# qt5tools
#
################################################################################
QT5TOOLS_VERSION = $(QT5_VERSION)
QT5TOOLS_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
QT5TOOLS_SOURCE = qttools-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5TOOLS_VERSION).tar.xz
QT5TOOLS_INSTALL_STAGING = YES
# linguist tools compile conditionally on qtHaveModule(qmldevtools-private),
# but the condition is used only used to decide if lupdate will support
# parsing qml files (via setting QT_NO_QML define), no linking against
# target qt5 will happen
ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
QT5TOOLS_DEPENDENCIES += qt5declarative
endif
QT5TOOLS_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
package/qt5: bump latest version to 5.9.1 Qt 5.9 is a Long Term Support version [1]. Some license file changes are involved, a new dependency on pcre2, and some filename changes. qt5webkit popped back into the picture for 5.9.1 after being absent for 5.9.0 "officially." QT5_SNAPSHOTS_SITE is removed with this commit as it is not used for qtwebkit anymore. This removes the following patches that have been upstreamed for 5.9.1: - qt5base/5.8.0/0001-fix-parallel-builds-with-qt-freetype-system-libpng.patch [2] - qt5base/5.8.0/0002-fix-VNC-platform-plugin-build-on-big-endian-machines.patch [3] - qt5base/5.8.0/0003-QAtomic-pass-explicit-failure-mode-to-std-atomic-com.patch [4] - qt5base/5.8.0/0003-eglfs-fix-x11-header-related-compile-failure.patch [5] - qt5base/5.8.0/0004-examples-fix-compile-without-gui-module.patch [6] - qt5webkit/0003-Exclude-backtrace-API-for-non-glibc-libraries.patch [7] The qt5webkit patches no longer apply to both the LTS and latest version, so they are moved to per-version directories. [1] https://www.qt.io/qt5-9/ [2] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=4dcfd90e4fd7d4c49138038dbbcbda8794a9fbff [3] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=6f64bfa654fb7e20bb75ec3b0544b81482babb44 [4] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=5cc0de2e084cb887a75b076b82cf470ecdcd4dd3 [5] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=e9a7739e77f79baeb5452189b6d17e63de5b341d [6] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=18d49808db46add078d9d4bcffaac5361d5c7269 [7] https://code.qt.io/cgit/qt/qtwebkit.git/commit/?id=548380af096f8277e460383c81a4ecdf2b77523f Signed-off-by: Joshua Henderson <joshua.henderson@microchip.com> Cc: Julien Corjon <corjon.j@ecagroup.com> Cc: Brent Sink <brents_3@hotmail.com> Cc: Naoki Matsumoto <n-matsumoto@melcoinc.co.jp> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-07-13 18:18:43 +02:00
QT5TOOLS_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL
QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS) += \
linguist/lconvert linguist/lrelease linguist/lupdate
QT5TOOLS_INSTALL_STAGING_DIR_$(BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS) += \
linguist
ifeq ($(BR2_PACKAGE_QT5TOOLS_QDOC_TOOL),y)
QT5TOOLS_BUILD_DIRS_y += qdoc
QT5TOOLS_INSTALL_STAGING_DIR_y += qdoc
QT5TOOLS_DEPENDENCIES += host-clang
endif
QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_PIXELTOOL) += pixeltool
QT5TOOLS_INSTALL_TARGET_$(BR2_PACKAGE_QT5TOOLS_PIXELTOOL) += pixeltool
QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_QTDIAG) += qtdiag
QT5TOOLS_INSTALL_TARGET_$(BR2_PACKAGE_QT5TOOLS_QTDIAG) += qtdiag
QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_QTPATHS) += qtpaths
QT5TOOLS_INSTALL_TARGET_$(BR2_PACKAGE_QT5TOOLS_QTPATHS) += qtpaths
QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_QTPLUGININFO) += qtplugininfo
QT5TOOLS_INSTALL_TARGET_$(BR2_PACKAGE_QT5TOOLS_QTPLUGININFO) += qtplugininfo
define QT5TOOLS_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) sub-src-qmake_all
$(foreach p,$(QT5TOOLS_BUILD_DIRS_y), \
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/$(p)$(sep))
endef
# use install target to copy cmake module files
define QT5TOOLS_INSTALL_STAGING_CMDS
$(foreach p,$(QT5TOOLS_INSTALL_STAGING_DIR_y), \
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/$(p) install$(sep))
endef
define QT5TOOLS_INSTALL_TARGET_CMDS
$(foreach p,$(QT5TOOLS_INSTALL_TARGET_y), \
$(INSTALL) -D -m0755 $(@D)/bin/$(p) $(TARGET_DIR)/usr/bin/$(p)$(sep))
endef
$(eval $(qmake-package))