[vlc-commits] [Git][videolan/vlc][master] 3 commits: contrib: qt: Don't require OpenGL on the host when building qt-tools

Steve Lhomme (@robUx4) gitlab at videolan.org
Mon Apr 8 17:40:58 UTC 2024



Steve Lhomme pushed to branch master at VideoLAN / VLC


Commits:
648b20d6 by Martin Storsjö at 2024-04-08T15:17:28+00:00
contrib: qt: Don't require OpenGL on the host when building qt-tools

When cross compiling, we need to build qt-tools for the host - but
we don't need this to be a full-fledged setup of Qt with all
bells and whistles. In particular, disable OpenGL, which otherwise
would fail the build if unavailable on the build host.

- - - - -
b8221b66 by Martin Storsjö at 2024-04-08T15:17:28+00:00
contrib: qt: Backport a Qt patch to add missing includes

This fixes building with libc++ with
_LIBCPP_REMOVE_TRANSITIVE_INCLUDES set (which removes unnecessary
transitive dependencies, making it more strict wrt including all
the right headers).

This is a backport of commit adb49d65e0774fa6be0b0d9d490c6f1fc5066a1b
from upstream Qt (currently available in the dev branch, possibly
also backported later to some maintainance release branches).

- - - - -
83156056 by Martin Storsjö at 2024-04-08T15:17:28+00:00
contrib: qtshadertools: Apply a patch to add missing includes

This fixes building with libc++ with
_LIBCPP_REMOVE_TRANSITIVE_INCLUDES set.

This fix already exists upstream (it has been fixed further
upstream in SPIRV-Cross, and later qtshadertools has imported
a newer version of SPIRV-Cross), but this does a targeted
fix of only this issue.

- - - - -


4 changed files:

- + contrib/src/qt/0001-QTypeInfo-Add-a-missing-include.patch
- contrib/src/qt/rules.mak
- + contrib/src/qtshadertools/0001-Backport-a-change-to-SPIRV-Cross-to-add-a-missing-in.patch
- contrib/src/qtshadertools/rules.mak


Changes:

=====================================
contrib/src/qt/0001-QTypeInfo-Add-a-missing-include.patch
=====================================
@@ -0,0 +1,40 @@
+From 52965e15b8f87e192c4cfbeb772648d018b77016 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin at martin.st>
+Date: Thu, 4 Apr 2024 13:32:31 +0300
+Subject: [PATCH] QTypeInfo: Add a missing include
+
+This header uses std::is_trivial_v, which requires including
+the <type_traits> header.
+
+When building with PCH enabled (which is the default), this
+dependency does get satisfied via the PCH, so no issue is
+visible.
+
+This fixes building with recent version of libc++ when configured
+with _LIBCPP_REMOVE_TRANSITIVE_INCLUDES (which removes unnecessary
+transitive dependencies between the libc++ headers, a configuration
+which may become the default in the future), with PCH disabled.
+
+Pick-to: 6.7 6.5 6.2
+Change-Id: I5e3ae20e366ed3028b1156cee05bcf2908d6e845
+Reviewed-by: Giuseppe D'Angelo <giuseppe.dangelo at kdab.com>
+(cherry picked from commit adb49d65e0774fa6be0b0d9d490c6f1fc5066a1b)
+---
+ src/corelib/global/qtypeinfo.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/corelib/global/qtypeinfo.h b/src/corelib/global/qtypeinfo.h
+index f89bf72635..3b8c40e974 100644
+--- a/src/corelib/global/qtypeinfo.h
++++ b/src/corelib/global/qtypeinfo.h
+@@ -11,6 +11,7 @@
+ #include <variant>
+ #include <optional>
+ #include <tuple>
++#include <type_traits>
+ 
+ QT_BEGIN_NAMESPACE
+ 
+-- 
+2.34.1
+


=====================================
contrib/src/qt/rules.mak
=====================================
@@ -51,6 +51,7 @@ qt: qtbase-everywhere-src-$(QTBASE_VERSION_FULL).tar.xz .sum-qt
 	$(APPLY) $(SRC)/qt/0007-Try-DCompositionCreateDevice3-first-if-available.patch
 	$(APPLY) $(SRC)/qt/0008-Try-to-satisfy-Windows-7-compatibility.patch
 	$(APPLY) $(SRC)/qt/0001-disable-precompiled-headers-when-forcing-WINVER-inte.patch
+	$(APPLY) $(SRC)/qt/0001-QTypeInfo-Add-a-missing-include.patch
 	$(MOVE)
 
 QTBASE_CONFIG := -release
@@ -83,7 +84,7 @@ QTBASE_NATIVE_CONFIG := -DQT_BUILD_EXAMPLES=FALSE -DQT_BUILD_TESTS=FALSE -DFEATU
 	-DFEATURE_zstd=OFF -DFEATURE_xkbcommon=OFF -DFEATURE_evdev=OFF -DFEATURE_sessionmanager=OFF -DFEATURE_png=OFF \
 	-DFEATURE_dbus=OFF -DINPUT_openssl=no -DFEATURE_concurrent=OFF -DFEATURE_glib=OFF -DFEATURE_icu=OFF \
 	-DFEATURE_texthtmlparser=OFF -DFEATURE_cssparser=OFF -DFEATURE_textodfwriter=OFF -DFEATURE_textmarkdownreader=OFF \
-	-DFEATURE_textmarkdownwriter=OFF -DINPUT_libb2=no -DFEATURE_harfbuzz=OFF -DFEATURE_freetype=OFF
+	-DFEATURE_textmarkdownwriter=OFF -DINPUT_libb2=no -DFEATURE_harfbuzz=OFF -DFEATURE_freetype=OFF -DINPUT_opengl=no
 
 .qt-tools: BUILD_DIR=$</vlc_native
 .qt-tools: qt


=====================================
contrib/src/qtshadertools/0001-Backport-a-change-to-SPIRV-Cross-to-add-a-missing-in.patch
=====================================
@@ -0,0 +1,33 @@
+From 0813ef63bb445437d364d16aeca42f7425608a0e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Martin=20Storsj=C3=B6?= <martin at martin.st>
+Date: Thu, 4 Apr 2024 14:26:47 +0300
+Subject: [PATCH] Backport a change to SPIRV-Cross to add a missing include
+
+This backports this change from later upstream SPIRV-Cross:
+https://github.com/KhronosGroup/SPIRV-Cross/commit/a25d0acaad9406e5e5d5a712ebb7e798965aacf6
+
+Further upstream in qtshadertools, this issue goes away entirely
+by updating to a newer version of SPIRV-Cross, with this fix
+included.
+
+This fixes building with libc++ with
+_LIBCPP_REMOVE_TRANSITIVE_INCLUDES set.
+---
+ src/3rdparty/SPIRV-Cross/spirv_cross_containers.hpp | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/3rdparty/SPIRV-Cross/spirv_cross_containers.hpp b/src/3rdparty/SPIRV-Cross/spirv_cross_containers.hpp
+index 506b069..9fc2a80 100644
+--- a/src/3rdparty/SPIRV-Cross/spirv_cross_containers.hpp
++++ b/src/3rdparty/SPIRV-Cross/spirv_cross_containers.hpp
+@@ -26,6 +26,7 @@
+ 
+ #include "spirv_cross_error_handling.hpp"
+ #include <algorithm>
++#include <exception>
+ #include <functional>
+ #include <iterator>
+ #include <limits>
+-- 
+2.25.1
+


=====================================
contrib/src/qtshadertools/rules.mak
=====================================
@@ -44,6 +44,7 @@ $(TARBALLS)/qtshadertools-everywhere-src-$(QTSHADERTOOLS_VERSION).tar.xz:
 qtshadertools: qtshadertools-everywhere-src-$(QTSHADERTOOLS_VERSION).tar.xz .sum-qtshadertools
 	$(UNPACK)
 	$(APPLY) $(SRC)/qtshadertools/0001-Use-fxc2-through-wine-instead-of-fxc.patch
+	$(APPLY) $(SRC)/qtshadertools/0001-Backport-a-change-to-SPIRV-Cross-to-add-a-missing-in.patch
 	$(MOVE)
 
 .qtshadertools-tools: BUILD_DIR=$</vlc_native



View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/2e6614984555bf56c7933254fc432315894c1aec...8315605610b53e8b3bc18a265b0137dae9fab46e

-- 
View it on GitLab: https://code.videolan.org/videolan/vlc/-/compare/2e6614984555bf56c7933254fc432315894c1aec...8315605610b53e8b3bc18a265b0137dae9fab46e
You're receiving this email because of your account on code.videolan.org.


VideoLAN code repository instance


More information about the vlc-commits mailing list