From 4fc232f0223106ced390fbe949c095cb39143f23 Mon Sep 17 00:00:00 2001 From: V3n3RiX Date: Mon, 9 Jan 2023 00:17:07 +0000 Subject: gentoo auto-resync : 09:01:2023 - 00:17:07 --- ...gine-5.15.8_p20230106-v8-opcode-constexpr.patch | 43 ++++++++++++ .../qtwebengine-5.15.8_p20230106-widevine.patch | 82 ++++++++++++++++++++++ 2 files changed, 125 insertions(+) create mode 100644 dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-v8-opcode-constexpr.patch create mode 100644 dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-widevine.patch (limited to 'dev-qt/qtwebengine/files') diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-v8-opcode-constexpr.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-v8-opcode-constexpr.patch new file mode 100644 index 000000000000..b1fe0f69801c --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-v8-opcode-constexpr.patch @@ -0,0 +1,43 @@ +From a5cea1bfc38ceafc74f4baddd6ab94ea13757ef8 Mon Sep 17 00:00:00 2001 +From: Lei Zhang +Date: Fri, 21 May 2021 10:55:53 -0700 +Subject: [PATCH] Mark Node::opcode() and Operator::opcode() as constexpr. + +Without the explicit constexpr keyword, Clang seems to be able to treat +these methods as constexpr, whereas MSVC will not. + +Bug: v8:11760 +Change-Id: I9f6492f38fb50dcaf7a4f09da0bd79c0da6a50eb +Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2912916 +Reviewed-by: Clemens Backes +Reviewed-by: Maya Lekova +Commit-Queue: Lei Zhang +Cr-Commit-Position: refs/heads/master@{#74791} +--- + +diff --git a/src/3rdparty/chromium/v8/src/compiler/node.h b/src/3rdparty/chromium/v8/src/compiler/node.h +index 37b45c4..57d49fe 100644 +--- a/src/3rdparty/chromium/v8/src/compiler/node.h ++++ b/src/3rdparty/chromium/v8/src/compiler/node.h +@@ -50,7 +50,7 @@ + + const Operator* op() const { return op_; } + +- IrOpcode::Value opcode() const { ++ constexpr IrOpcode::Value opcode() const { + DCHECK_GE(IrOpcode::kLast, op_->opcode()); + return static_cast(op_->opcode()); + } +diff --git a/src/3rdparty/chromium/v8/src/compiler/operator.h b/src/3rdparty/chromium/v8/src/compiler/operator.h +index 4206e75..f641394 100644 +--- a/src/3rdparty/chromium/v8/src/compiler/operator.h ++++ b/src/3rdparty/chromium/v8/src/compiler/operator.h +@@ -73,7 +73,7 @@ + // A small integer unique to all instances of a particular kind of operator, + // useful for quick matching for specific kinds of operators. For fast access + // the opcode is stored directly in the operator object. +- Opcode opcode() const { return opcode_; } ++ constexpr Opcode opcode() const { return opcode_; } + + // Returns a constant string representing the mnemonic of the operator, + // without the static parameters. Useful for debugging. diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-widevine.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-widevine.patch new file mode 100644 index 000000000000..dcfdeae3c6f3 --- /dev/null +++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-widevine.patch @@ -0,0 +1,82 @@ +From b99042fb839021a0a3d2fe0cac7ac3899c4acbba Mon Sep 17 00:00:00 2001 +From: Allan Sandfeld Jensen +Date: Tue, 14 Jun 2022 14:19:24 +0200 +Subject: [PATCH] Find modern Chrome, Chromium and Firefox CDM modules + +The default download location has moved again, but we can now +also use firefox CDMs. + +Pick-to: 6.4 6.3 +Task-number: QTBUG-104238 +Change-Id: I7ee581fa63e50df970acb31ea6d3f67d332aef59 +Reviewed-by: Peter Varga +--- + src/core/content_client_qt.cpp | 54 ++++++++++++++++++++++++++++++---- + 1 file changed, 49 insertions(+), 5 deletions(-) + +diff --git a/src/core/content_client_qt.cpp b/src/core/content_client_qt.cpp +index 6c914b7729..7167332d9b 100644 +--- a/src/core/content_client_qt.cpp ++++ b/src/core/content_client_qt.cpp +@@ -250,15 +251,56 @@ static bool IsWidevineAvailable(base::FilePath *cdm_path, + } + } + #elif defined(Q_OS_LINUX) +- pluginPaths << QStringLiteral("/opt/google/chrome/libwidevinecdm.so") // Old Google Chrome ++ QList potentialWidevineVersionDirs; ++ ++ // Google Chrome widevine modules ++ QDir chromeWidevineDir(QDir::homePath() + "/.config/google-chrome/WidevineCdm"); ++ if (chromeWidevineDir.exists()) ++ potentialWidevineVersionDirs << chromeWidevineDir; ++ ++ // Firefox widevine modules ++ QDir firefoxPotentialProfilesDir(QDir::homePath() + "/.mozilla/firefox"); ++ if (firefoxPotentialProfilesDir.exists()) { ++ QFileInfoList firefoxProfileDirs = firefoxPotentialProfilesDir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name | QDir::Reversed); ++ for (const QFileInfo &info : firefoxProfileDirs) { ++ QDir widevinePluginsDir(info.absoluteFilePath() + "/gmp-widevinecdm"); ++ if (widevinePluginsDir.exists()) ++ potentialWidevineVersionDirs << widevinePluginsDir; ++ } ++ } ++ ++ // Chromium widevine modules (might not work with proprietary codecs) ++ QDir chromiumWidevineDir(QDir::homePath() + "/.config/chromium/WidevineCdm"); ++ if (chromiumWidevineDir.exists()) ++ potentialWidevineVersionDirs << chromiumWidevineDir; ++ ++ // Search for widewine versions ++ for (const QDir &dir : potentialWidevineVersionDirs) { ++ QFileInfoList widevineVersionDirs = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name | QDir::Reversed); ++ // ### alternatively look up in the manifest.json and take the path from there. + #if Q_PROCESSOR_WORDSIZE == 8 +- << QStringLiteral("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so") ++ const QString library = QLatin1String("/_platform_specific/linux_x64/libwidevinecdm.so"); + #else +- << QStringLiteral("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x86/libwidevinecdm.so") ++ const QString library = QLatin1String("/_platform_specific/linux_x86/libwidevinecdm.so"); + #endif +- << QStringLiteral("/usr/lib/chromium/libwidevinecdm.so") // Arch ++ for (const QFileInfo &info : widevineVersionDirs) { ++ pluginPaths << info.absoluteFilePath() + "/libwidevinecdm.so"; ++ pluginPaths << info.absoluteFilePath() + library; ++ } ++ } ++ ++ // Fixed paths: ++ pluginPaths << QStringLiteral("/usr/lib/chromium/libwidevinecdm.so") // Arch + << QStringLiteral("/usr/lib/chromium-browser/libwidevinecdm.so") // Ubuntu/neon +- << QStringLiteral("/usr/lib64/chromium/libwidevinecdm.so"); // OpenSUSE style ++ << QStringLiteral("/usr/lib64/chromium/libwidevinecdm.so") // OpenSUSE style ++#if Q_PROCESSOR_WORDSIZE == 8 ++ << QStringLiteral("/usr/lib64/chromium-browser/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so") // Gentoo ++ << QStringLiteral("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so") // Old Google Chrome ++#else ++ << QStringLiteral("/usr/lib/chromium-browser/WidevineCdm/_platform_specific/linux_x86/libwidevinecdm.so") // Gentoo ++ << QStringLiteral("/opt/google/chrome/WidevineCdm/_platform_specific/linux_x86/libwidevinecdm.so") // Old Google Chrome ++#endif ++ << QStringLiteral("/opt/google/chrome/libwidevinecdm.so"); // Older Google Chrome + #endif + } + -- cgit v1.2.3