kumquat-buildroot/package/qt5/qt5multimedia/qt5multimedia.mk
Gaël PORTAY 3c6958423f 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]: 9b449045fb
[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-04-02 16:39:31 +02:00

86 lines
2.8 KiB
Makefile

################################################################################
#
# qt5multimedia
#
################################################################################
QT5MULTIMEDIA_VERSION = $(QT5_VERSION)
QT5MULTIMEDIA_SITE = $(QT5_SITE)
QT5MULTIMEDIA_SOURCE = qtmultimedia-$(QT5_SOURCE_TARBALL_PREFIX)-$(QT5MULTIMEDIA_VERSION).tar.xz
QT5MULTIMEDIA_DEPENDENCIES = qt5base
QT5MULTIMEDIA_INSTALL_STAGING = YES
ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST),y)
QT5MULTIMEDIA_LICENSE = GPL-2.0+ or LGPL-3.0, GPL-3.0 with exception(tools), GFDL-1.3 (docs)
QT5MULTIMEDIA_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT LICENSE.LGPL3 LICENSE.FDL
else
QT5MULTIMEDIA_LICENSE = GPL-3.0 or LGPL-2.1 with exception or LGPL-3.0, GFDL-1.3 (docs)
QT5MULTIMEDIA_LICENSE_FILES = LICENSE.GPLv3 LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3 LICENSE.FDL
endif
ifeq ($(BR2_PACKAGE_GST1_PLUGINS_BASE),y)
QT5MULTIMEDIA_DEPENDENCIES += gst1-plugins-base
endif
ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
QT5MULTIMEDIA_DEPENDENCIES += qt5declarative
endif
ifeq ($(BR2_PACKAGE_LIBGLIB2)$(BR2_PACKAGE_PULSEAUDIO),yy)
QT5MULTIMEDIA_DEPENDENCIES += libglib2 pulseaudio
endif
ifeq ($(BR2_PACKAGE_ALSA_LIB),y)
QT5MULTIMEDIA_DEPENDENCIES += alsa-lib
endif
define QT5MULTIMEDIA_CONFIGURE_CMDS
(cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/bin/qmake)
endef
define QT5MULTIMEDIA_BUILD_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
endef
define QT5MULTIMEDIA_INSTALL_STAGING_CMDS
$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
$(QT5_LA_PRL_FILES_FIXUP)
endef
ifeq ($(BR2_STATIC_LIBS),)
# since Qt5.10.1 libqgsttools was renamed to libQtMultimediaGstTools
# and is installed by the default target install step below
ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST)x$(BR2_PACKAGE_GST1_PLUGINS_BASE),xy)
define QT5MULTIMEDIA_INSTALL_TARGET_QGSTTOOLS_LIB
cp -dpf $(STAGING_DIR)/usr/lib/libqgsttools*.so.* $(TARGET_DIR)/usr/lib
endef
endif
define QT5MULTIMEDIA_INSTALL_TARGET_LIBS
cp -dpf $(STAGING_DIR)/usr/lib/libQt5Multimedia*.so.* $(TARGET_DIR)/usr/lib
cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/* $(TARGET_DIR)/usr/lib/qt/plugins
$(QT5MULTIMEDIA_INSTALL_TARGET_QGSTTOOLS_LIB)
endef
endif # !BR2_STATIC_LIBS
# this is only built with quick/opengl support enabled
ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK)$(BR2_PACKAGE_QT5_GL_AVAILABLE),yy)
define QT5MULTIMEDIA_INSTALL_TARGET_QMLS
cp -dpfr $(STAGING_DIR)/usr/qml/QtMultimedia $(TARGET_DIR)/usr/qml/
endef
endif
ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
define QT5MULTIMEDIA_INSTALL_TARGET_EXAMPLES
cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/multimedia* $(TARGET_DIR)/usr/lib/qt/examples/
endef
endif
define QT5MULTIMEDIA_INSTALL_TARGET_CMDS
$(QT5MULTIMEDIA_INSTALL_TARGET_LIBS)
$(QT5MULTIMEDIA_INSTALL_TARGET_QMLS)
$(QT5MULTIMEDIA_INSTALL_TARGET_EXAMPLES)
endef
$(eval $(generic-package))