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

60 lines
2.0 KiB
Makefile
Raw Normal View History

################################################################################
#
# qt5script
#
################################################################################
QT5SCRIPT_VERSION = $(QT5_VERSION)
QT5SCRIPT_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
QT5SCRIPT_SOURCE = qtscript-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5SCRIPT_VERSION).tar.xz
QT5SCRIPT_DEPENDENCIES = qt5base
QT5SCRIPT_INSTALL_STAGING = YES
qt5script: correct license information The license information in qt5script was just copied from all the other qt5 modules, but it is different (and complicated). - libQt5Script itself contains the third-party JavaScriptCore source. JavaScriptCore has a number of licenses: BSD-2-Clause, BSD-3-Clause, LGPL-2.0+, LGPL-2.1+. Since it is all linked together, the end result will be BSD-3-Clause and LGPL-2.1+. The different BSD licenses are all slightly different (different authors, which affects the third clause in particular). Only one separate license file is provided, so let's use that one. There is an LGPL-2.0 license file, which is slightly different from the top-level LICENSE.LGPLv21, so let's add that one as well. - libQt5Script also contains Qt-specific code which is all licensed under LGPL-2.1 only. This is covered by the LICENSE.LGPLv21 file. It merges with the LGPL-2.1+ from JavaScriptCore but limits it to 2.1 only. - libQt5ScriptTools is a separate libary containing just the script debugger. It is covered by the usual Qt license: * LGPL-2.1 or LGPL-3.0 with exception for Qt 5.6; * LGPL-3.0 or GPL-2.0+ for Qt 5.9 (actually it is GPL-2.0 or GPL-3.0 or any later version approved by the KDE Qt foundation, but let's keep it simple :-). Note that there is no LICENSE.GPLv2 provided, only LICENSE.GPLv3. Also, there is an LGPL_EXCEPTION.txt file but no mention of an exception anywhere in the sources. Update the license information with all of the above. Also add hashes for the new license files from JavaScriptCore. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2018-04-02 16:14:46 +02:00
# JavaScriptCore contains files under BSD-2-Clause, BSD-3-Clause, and LGPL-2+.
# This is linked into libQt5Script, which also contains Qt sources under
# LGPL-2.1 (only). Therefore, the library is LGPL-2.1 and BSD-3-Clause.
# libQt5ScriptTools is under the normal Qt opensource license.
ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
QT5SCRIPT_LICENSE = LGPL-2.1, BSD-3-Clause, LGPL-3.0 or GPL-2.0+ (libQt5ScriptTools), 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
# LGPL-2.1 license file is missing
QT5SCRIPT_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.LGPL3 LICENSE.FDL
qt5script: correct license information The license information in qt5script was just copied from all the other qt5 modules, but it is different (and complicated). - libQt5Script itself contains the third-party JavaScriptCore source. JavaScriptCore has a number of licenses: BSD-2-Clause, BSD-3-Clause, LGPL-2.0+, LGPL-2.1+. Since it is all linked together, the end result will be BSD-3-Clause and LGPL-2.1+. The different BSD licenses are all slightly different (different authors, which affects the third clause in particular). Only one separate license file is provided, so let's use that one. There is an LGPL-2.0 license file, which is slightly different from the top-level LICENSE.LGPLv21, so let's add that one as well. - libQt5Script also contains Qt-specific code which is all licensed under LGPL-2.1 only. This is covered by the LICENSE.LGPLv21 file. It merges with the LGPL-2.1+ from JavaScriptCore but limits it to 2.1 only. - libQt5ScriptTools is a separate libary containing just the script debugger. It is covered by the usual Qt license: * LGPL-2.1 or LGPL-3.0 with exception for Qt 5.6; * LGPL-3.0 or GPL-2.0+ for Qt 5.9 (actually it is GPL-2.0 or GPL-3.0 or any later version approved by the KDE Qt foundation, but let's keep it simple :-). Note that there is no LICENSE.GPLv2 provided, only LICENSE.GPLv3. Also, there is an LGPL_EXCEPTION.txt file but no mention of an exception anywhere in the sources. Update the license information with all of the above. Also add hashes for the new license files from JavaScriptCore. Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2018-04-02 16:14:46 +02:00
else
QT5SCRIPT_LICENSE = LGPL-2.1, BSD-3-Clause, LGPL-2.1 with exception or LGPL-3.0 with exception (libQt5ScriptTools), GFDL-1.3 (docs)
QT5SCRIPT_LICENSE_FILES = LICENSE.LGPLv21 LICENSE.LGPLv3 LGPL_EXCEPTION.txt LICENSE.FDL
endif
# License files from JavaScriptCore
QT5SCRIPT_LICENSE_FILES += \
src/3rdparty/javascriptcore/JavaScriptCore/COPYING.LIB \
src/3rdparty/javascriptcore/JavaScriptCore/pcre/COPYING
define QT5SCRIPT_CONFIGURE_CMDS
(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake)
endef
define QT5SCRIPT_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
endef
define QT5SCRIPT_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
endef
ifeq ($(BR2_STATIC_LIBS),)
define QT5SCRIPT_INSTALL_TARGET_LIBS
cp -dpf $(STAGING_DIR)/usr/lib/libQt5Script*.so.* $(TARGET_DIR)/usr/lib
endef
endif
ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
define QT5SCRIPT_INSTALL_TARGET_EXAMPLES
cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/script $(TARGET_DIR)/usr/lib/qt/examples/
endef
endif
define QT5SCRIPT_INSTALL_TARGET_CMDS
$(QT5SCRIPT_INSTALL_TARGET_LIBS)
$(QT5SCRIPT_INSTALL_TARGET_EXAMPLES)
endef
$(eval $(generic-package))