kumquat-buildroot/package/qt5/qt5tools/qt5tools.mk
James Hilliard 5770a645a3 package/qt5: bump packages to latest kde submodule versions
This points all qt5 packages to the latest kde submodule versions
available at https://invent.kde.org/qt/qt/qt5/-/tree/kde/5.15

There is no 5.15.8 release of the kde-maintained modules, no release
tarballs and no tags. Instead, there's just a rolling maintenance
branch. We take a snapshot of that branch and call it 5.15.8, to match
the latest qt5webengine release.

We need to remove some patches applied upstream already.

qt5location has mapboxgl as a submodule, which is not included in the
gitlab-generated tarball. Therefore, use the git download method with
submodules enabled.

We need to pin qt5 packages not available in the new upstream to the
previous 5.15.2 version.

We need to set SYNC_QT_HEADERS for all qt5 packages in the new
upstream as headers are only copied in release archives which are
not provided in the kde upstream.

Instead of calling syncqt.pl, update the MODULE_VERSION in .qmake.conf
to 5.15.8 and create a .git file so to trigger headers sync during
configure.

Hold back updating qt5webengine for now since the latest version
requires significant changes to build, just tweak existing version
to be compatible with latest kde versions for now.

Signed-off-by: James Hilliard <james.hilliard1@gmail.com>
Reviewed-by: Adam Duskett <aduskett@gmail.com>
Tested-by: Adam Duskett <aduskett@gmail.com>
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) <arnout@mind.be>
2022-02-03 20:27:27 +01:00

66 lines
2.4 KiB
Makefile

################################################################################
#
# qt5tools
#
################################################################################
QT5TOOLS_VERSION = 33693a928986006d79c1ee743733cde5966ac402
QT5TOOLS_SITE = $(QT5_SITE)/qttools/-/archive/$(QT5TOOLS_VERSION)
QT5TOOLS_SOURCE = qttools-$(QT5TOOLS_VERSION).tar.bz2
QT5TOOLS_INSTALL_STAGING = YES
QT5TOOLS_SYNC_QT_HEADERS = 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)
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))