summaryrefslogtreecommitdiff
path: root/dev-qt/qtwebengine/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@koprulu.sector>2023-01-09 00:17:07 +0000
committerV3n3RiX <venerix@koprulu.sector>2023-01-09 00:17:07 +0000
commit4fc232f0223106ced390fbe949c095cb39143f23 (patch)
treecbe7ad1f19d2a427ec23a82842e743a1aa49cd49 /dev-qt/qtwebengine/files
parent2237cda0c6b012952e02ec1314e1f48eddf4dab7 (diff)
gentoo auto-resync : 09:01:2023 - 00:17:07
Diffstat (limited to 'dev-qt/qtwebengine/files')
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-v8-opcode-constexpr.patch43
-rw-r--r--dev-qt/qtwebengine/files/qtwebengine-5.15.8_p20230106-widevine.patch82
2 files changed, 125 insertions, 0 deletions
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 <thestig@chromium.org>
+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 <clemensb@chromium.org>
+Reviewed-by: Maya Lekova <mslekova@chromium.org>
+Commit-Queue: Lei Zhang <thestig@chromium.org>
+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<IrOpcode::Value>(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 <allan.jensen@qt.io>
+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 <pvarga@inf.u-szeged.hu>
+---
+ 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<QDir> 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
+ }
+