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

68 lines
2.4 KiB
Makefile
Raw Normal View History

################################################################################
#
# qt5location
#
################################################################################
QT5LOCATION_VERSION = $(QT5_VERSION)
QT5LOCATION_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
QT5LOCATION_SOURCE = qtlocation-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5LOCATION_VERSION).tar.xz
QT5LOCATION_DEPENDENCIES = qt5base
QT5LOCATION_INSTALL_STAGING = YES
ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
QT5LOCATION_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), 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
QT5LOCATION_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL
qt5: add choice between version 5.6.2 and 5.8.0 For 5.8.0 - add hashes - qt5 need C++11 compliant compiler since 5.7 ([1]) - use different licenses: since version 5.7 Qt removed the LGPL v2.1 option in favor of v3 with a different exception - qt5base: renamed library to EglFSDeviceIntegration ([2]) - qt5base: remove ras-pi patch, commit c0cc5052097c723d0331a7619d686af9eb93d33c fix it ([3]) - qt5base: remove 0007-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch (upstream committed [3b]) - qt5base: remove obsolete config-option -large ([4]) - qt5base: gstreamer support fully moved to qt5multimedia, so gstreamer related options are no longer passed ([5]) - add patch for python-pyqt5 to fix the build with Qt 5.8 - add tweak in libv4l to fix the build with Qt 5.8, originally provided by Peter Seiderer - add patch from Peter Seiderer fixing a build issue with freetype For 5.6.2 - moved patches to subdir, and renumber patches [1] http://blog.qt.io/blog/2016/06/16/qt-5-7-released/ [2] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=ec4eb4db61094179bc6a9ec26ec68fb710177053 [3] https://codereview.qt-project.org/#/c/167172/ [3b] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=f1b4bd4790860e1ff5afcec111a359bc3a91cfda [4] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=84d3a21c9efe7efb2cce6d3bd14af1f9580b1108 [5] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=7d4da559afb62a779b3d90a65fb679cb5433f203 Signed-off-by: Andreas Naumann <anaumann@ultratronik.de> Signed-off-by: Julien Corjon <corjon.j@ecagroup.com> Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com> [Thomas: - tweak commit log about GStreamer related changes, suggested by Arnout - move the gcc 4.8 dependency from the main qt5 option to just the qt5.8 selection, so that qt5.6 can still be built if gcc < 4.8 is used. Noticed by Arnout. - rename the options of the version selection to not include the version number itself so that we don't have to keep legacy symbols. Noticed by Arnout. - introduce changes to qt5quickcontrols2.mk needed to handle qt5.6 vs. qt5.8, borrowed from a later patch in the series. - add patch for python-pyqt5 to fix the build with Qt 5.8. - add fix to libv4l.mk from Peter Seiderer to fix the build with Qt 5.8. - renumber patches for 5.6.2, suggested by Arnout.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-01-31 08:59:03 +01:00
else
QT5LOCATION_LICENSE = GPL-2.0 or GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
QT5LOCATION_LICENSE_FILES = LICENSE.GPLv2 LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
qt5: add choice between version 5.6.2 and 5.8.0 For 5.8.0 - add hashes - qt5 need C++11 compliant compiler since 5.7 ([1]) - use different licenses: since version 5.7 Qt removed the LGPL v2.1 option in favor of v3 with a different exception - qt5base: renamed library to EglFSDeviceIntegration ([2]) - qt5base: remove ras-pi patch, commit c0cc5052097c723d0331a7619d686af9eb93d33c fix it ([3]) - qt5base: remove 0007-eglfs-fix-eglfs_mali-compile-for-odroid-mali.patch (upstream committed [3b]) - qt5base: remove obsolete config-option -large ([4]) - qt5base: gstreamer support fully moved to qt5multimedia, so gstreamer related options are no longer passed ([5]) - add patch for python-pyqt5 to fix the build with Qt 5.8 - add tweak in libv4l to fix the build with Qt 5.8, originally provided by Peter Seiderer - add patch from Peter Seiderer fixing a build issue with freetype For 5.6.2 - moved patches to subdir, and renumber patches [1] http://blog.qt.io/blog/2016/06/16/qt-5-7-released/ [2] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=ec4eb4db61094179bc6a9ec26ec68fb710177053 [3] https://codereview.qt-project.org/#/c/167172/ [3b] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=f1b4bd4790860e1ff5afcec111a359bc3a91cfda [4] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=84d3a21c9efe7efb2cce6d3bd14af1f9580b1108 [5] https://code.qt.io/cgit/qt/qtbase.git/commit/?id=7d4da559afb62a779b3d90a65fb679cb5433f203 Signed-off-by: Andreas Naumann <anaumann@ultratronik.de> Signed-off-by: Julien Corjon <corjon.j@ecagroup.com> Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati@gmail.com> [Thomas: - tweak commit log about GStreamer related changes, suggested by Arnout - move the gcc 4.8 dependency from the main qt5 option to just the qt5.8 selection, so that qt5.6 can still be built if gcc < 4.8 is used. Noticed by Arnout. - rename the options of the version selection to not include the version number itself so that we don't have to keep legacy symbols. Noticed by Arnout. - introduce changes to qt5quickcontrols2.mk needed to handle qt5.6 vs. qt5.8, borrowed from a later patch in the series. - add patch for python-pyqt5 to fix the build with Qt 5.8. - add fix to libv4l.mk from Peter Seiderer to fix the build with Qt 5.8. - renumber patches for 5.6.2, suggested by Arnout.] Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
2017-01-31 08:59:03 +01:00
endif
ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
QT5LOCATION_DEPENDENCIES += qt5declarative
endif
define QT5LOCATION_CONFIGURE_CMDS
(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake)
endef
define QT5LOCATION_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
endef
define QT5LOCATION_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
$(QT5_LA_PRL_FILES_FIXUP)
endef
ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
define QT5LOCATION_INSTALL_TARGET_QMLS
cp -dpfr $(STAGING_DIR)/usr/qml/QtPositioning $(TARGET_DIR)/usr/qml/
cp -dpfr $(STAGING_DIR)/usr/qml/QtLocation $(TARGET_DIR)/usr/qml/
endef
define QT5LOCATION_INSTALL_TARGET_LOCATION
cp -dpf $(STAGING_DIR)/usr/lib/libQt5Location.so.* $(TARGET_DIR)/usr/lib
cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/geoservices $(TARGET_DIR)/usr/lib/qt/plugins/
endef
ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
define QT5LOCATION_INSTALL_TARGET_EXAMPLES
cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/location $(TARGET_DIR)/usr/lib/qt/examples/
cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/positioning $(TARGET_DIR)/usr/lib/qt/examples/
endef
endif
endif
define QT5LOCATION_INSTALL_TARGET_POSITION
cp -dpf $(STAGING_DIR)/usr/lib/libQt5Positioning.so.* $(TARGET_DIR)/usr/lib
cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/position $(TARGET_DIR)/usr/lib/qt/plugins/
endef
define QT5LOCATION_INSTALL_TARGET_CMDS
$(QT5LOCATION_INSTALL_TARGET_POSITION)
$(QT5LOCATION_INSTALL_TARGET_LOCATION)
$(QT5LOCATION_INSTALL_TARGET_QMLS)
$(QT5LOCATION_INSTALL_TARGET_EXAMPLES)
endef
$(eval $(generic-package))