Created
August 2, 2020 11:25
-
-
Save twouters/9496213d4b08c254089ba60e8273e569 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Maintainer: Felix Yan <felixonmars@archlinux.org> | |
# Contributor: Andrea Scarpino <andrea@archlinux.org> | |
pkgname=qt5-webengine | |
_qtver=5.15.0 | |
pkgver=${_qtver/-/} | |
pkgrel=5 | |
arch=('x86_64') | |
url='https://www.qt.io' | |
license=('LGPL3' 'LGPL2.1' 'BSD') | |
pkgdesc='Provides support for web applications using the Chromium browser project' | |
depends=('qt5-webchannel' 'qt5-location' 'libxcomposite' 'libxrandr' 'pciutils' 'libxss' | |
'libevent' 'snappy' 'nss' 'libxslt' 'minizip' 'ffmpeg' 're2' 'libvpx' 'krb5' 'ttf-font') | |
makedepends=('python2' 'gperf' 'jsoncpp' 'ninja' 'qt5-tools' 'poppler' 'libpipewire02') | |
optdepends=('libpipewire02: WebRTC desktop sharing under Wayland') | |
groups=('qt' 'qt5') | |
_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}" | |
source=("https://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz" | |
qt5-webengine-icu67.patch::"https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=e941f2bd" | |
qt5-webengine-gcc10.patch | |
dark-mode-crash.patch::"https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=4e8ca195" | |
qtbug-85119.patch::"https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=c91f4d20" | |
qtbug-85120.patch::"https://code.qt.io/cgit/qt/qtwebengine-chromium.git/patch/?id=242802ab" | |
qtbug-85118.patch::"https://code.qt.io/cgit/qt/qtwebengine.git/patch/?id=e42ccdad" | |
qtbug-62957.patch::"https://code.qt.io/cgit/qt/qtwebengine.git/patch/?id=f341988f" | |
qtbug-62957-pre.patch::"https://code.qt.io/cgit/qt/qtwebengine.git/patch?id=75412200" | |
qt5-webengine-pipewire.patch | |
qt5-fix-webauth-build.patch | |
qt5-enable-webauth.patch | |
) | |
sha256sums=('c38e2fda7ed1b7d5a90f26abf231ec0715d78a5bc39a94673d8e39d75f04c5df' | |
'22a2265c81bc73dba6843279407ccaec9f192d0987c54a0d9533be7c49b37f29' | |
'8a6e0c41f708d6a8f1febb751157642ab985b58c07ada1447b73b71cd31b4d99' | |
'7ea054a95045635fcee9ee50a6a28e9aedf182ca97a76cc6dd680fb1a91748e1' | |
'758561a5bd52feca16751c37def8e7cd3388073bf5bd072eb0862830c174decc' | |
'4bb12a72d40e69052946a6b66fff621f28e40c3d3c11ddeec155133a9204f352' | |
'fc976a6a7198121a4c1b6026318098de278412d73634db31b1815a3cc7502657' | |
'1a07ab59daa9552ad1a70abd03b00d40e542d9dd64fa6d7404d31c9a51e5eeba' | |
'd47ec2111c9713312158f800c01ca9358400b4e11273e470d57a53c36b7565c0' | |
'34cd6fdcdf7d20f9a32d4ad066535edad61735a83a895e9503edab247fee5542' | |
'73d13858aa4d41d457ed6f25672c5c427793d6cdc9e12ac7a9258696cd2f06ee' | |
'7163abcf16c01a46a30a6271ae5ff2b49d2e9e042b4ba0ea5b1591654b56d6b3') | |
prepare() { | |
mkdir -p build | |
cd $_pkgfqn | |
patch -d src/3rdparty -p1 -i "$srcdir"/qt5-webengine-icu67.patch # Fix build with ICU 67 | |
patch -d src/3rdparty -p1 -i "$srcdir"/qt5-webengine-gcc10.patch | |
patch -d src/3rdparty -p1 -i "$srcdir"/dark-mode-crash.patch # Fix crash in qutebrowser when using dark mode | |
patch -d src/3rdparty -p1 -i "$srcdir"/qtbug-85119.patch # Extend url library for WebEngine custom schemes | |
patch -d src/3rdparty -p1 -i "$srcdir"/qtbug-85120.patch # Make XScrnSaver optional | |
patch -p1 -i ../qtbug-85118.patch # Fix recentlyAudible signal | |
patch -p1 -i ../qtbug-62957-pre.patch # Avoid the network context reset during http cache clear | |
patch -p1 -i ../qtbug-62957.patch # Return valid path in Profile::GetPath() for incognito profiles | |
patch -p1 -i ../qt5-webengine-pipewire.patch # Add screen sharing support on wayland via pipewire | |
patch -d src/3rdparty -p1 -i "$srcdir"/qt5-fix-webauth-build.patch | |
patch -p1 -i "$srcdir"/qt5-enable-webauth.patch | |
} | |
build() { | |
cd build | |
qmake ../${_pkgfqn} -- \ | |
-proprietary-codecs \ | |
-system-ffmpeg \ | |
-webp \ | |
-spellchecker \ | |
-webengine-icu \ | |
-webengine-kerberos \ | |
-webengine-webrtc-pipewire | |
make | |
} | |
package() { | |
cd build | |
make INSTALL_ROOT="$pkgdir" install | |
# Drop QMAKE_PRL_BUILD_DIR because reference the build dir | |
find "$pkgdir/usr/lib" -type f -name '*.prl' \ | |
-exec sed -i -e '/^QMAKE_PRL_BUILD_DIR/d' {} \; | |
install -Dm644 "$srcdir"/${_pkgfqn}/src/3rdparty/chromium/LICENSE "$pkgdir"/usr/share/licenses/${pkgname}/LICENSE.chromium | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 904330c3a39a29ef078c9c1ddc2a1d1580fa2c32 Mon Sep 17 00:00:00 2001 | |
From: Allan Sandfeld Jensen <allan.jensen@qt.io> | |
Date: Tue, 21 Jul 2020 09:11:30 +0200 | |
Subject: [PATCH 1/1] Do not turn web auth off | |
Submodule src/3rdparty 0a4240a9..4a996760: | |
> Fix building FIDO with gcc5 | |
> [Backport] CVE-2020-6512: Type Confusion in V8 (3/3) | |
Fixes: QTBUG-85117 | |
Task-number: QTBUG-54720 | |
Change-Id: I074831454b469c17a71f2ca75a075ee48157970d | |
Reviewed-by: Tamas Zakor <ztamas@inf.u-szeged.hu> | |
Reviewed-by: Michal Klocek <michal.klocek@qt.io> | |
--- | |
src/3rdparty | 2 +- | |
src/buildtools/config/common.pri | 2 +- | |
src/core/web_engine_context.cpp | 2 -- | |
3 files changed, 2 insertions(+), 4 deletions(-) | |
diff --git a/src/buildtools/config/common.pri b/src/buildtools/config/common.pri | |
index 8aeeb38945..ddcd225cc9 100644 | |
--- a/src/buildtools/config/common.pri | |
+++ b/src/buildtools/config/common.pri | |
@@ -17,7 +17,7 @@ gn_args += \ | |
enable_resource_whitelist_generation=false \ | |
enable_swiftshader=false \ | |
angle_enable_swiftshader=false \ | |
- enable_web_auth=false \ | |
+ enable_web_auth=true \ | |
enable_web_speech=false \ | |
enable_widevine=true \ | |
has_native_accessibility=false \ | |
diff --git a/src/core/web_engine_context.cpp b/src/core/web_engine_context.cpp | |
index 01d55a5a1c..11365de625 100644 | |
--- a/src/core/web_engine_context.cpp | |
+++ b/src/core/web_engine_context.cpp | |
@@ -649,8 +649,6 @@ WebEngineContext::WebEngineContext() | |
// Explicitly tell Chromium about default-on features we do not support | |
appendToFeatureList(disableFeatures, features::kBackgroundFetch.name); | |
appendToFeatureList(disableFeatures, features::kSmsReceiver.name); | |
- appendToFeatureList(disableFeatures, features::kWebAuth.name); | |
- appendToFeatureList(disableFeatures, features::kWebAuthCable.name); | |
appendToFeatureList(disableFeatures, features::kWebPayments.name); | |
appendToFeatureList(disableFeatures, features::kWebUsb.name); | |
appendToFeatureList(disableFeatures, media::kPictureInPicture.name); | |
-- | |
2.16.3 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
From 33c93b917c144d3638737ed463b3667ab5bca0de Mon Sep 17 00:00:00 2001 | |
From: Tamas Zakor <ztamas@inf.u-szeged.hu> | |
Date: Wed, 15 Jul 2020 15:58:44 +0200 | |
Subject: [PATCH] Fix WebAuth build | |
- Enable typemaps.gni for WebAuth. | |
- Workaround a gcc 6 compiler error when flat_map is uncopyable. | |
- Also fix the build with gcc 6 and gcc 7. | |
Fixes: QTBUG-85117 | |
Change-Id: If73ce3fccdb7fc3dc2cddd39bba998f51956e45a | |
--- | |
chromium/base/containers/flat_map.h | 6 ++++++ | |
chromium/device/fido/bio/enrollment.cc | 4 ++-- | |
chromium/device/fido/cable/fido_cable_discovery.cc | 2 +- | |
.../mojo/public/tools/bindings/chromium_bindings_configuration.gni | 2 +- | |
4 files changed, 10 insertions(+), 4 deletions(-) | |
diff --git a/chromium/base/containers/flat_map.h b/chromium/base/containers/flat_map.h | |
index 41682d5958d..8fbf554b38f 100644 | |
--- a/chromium/base/containers/flat_map.h | |
+++ b/chromium/base/containers/flat_map.h | |
@@ -240,6 +240,12 @@ class flat_map : public ::base::internal::flat_tree< | |
friend void swap(flat_map& lhs, flat_map& rhs) noexcept { lhs.swap(rhs); } | |
}; | |
+ | |
+#if defined(__GNUC__) && !defined(__clang__) && __GNUC__ <= 7 | |
+template <typename... T> | |
+struct is_trivially_copy_constructible<flat_map<T...>> : std::false_type {}; | |
+#endif | |
+ | |
// ---------------------------------------------------------------------------- | |
// Lifetime. | |
diff --git a/chromium/device/fido/bio/enrollment.cc b/chromium/device/fido/bio/enrollment.cc | |
index 981c4397ca2..a1749e35d06 100644 | |
--- a/chromium/device/fido/bio/enrollment.cc | |
+++ b/chromium/device/fido/bio/enrollment.cc | |
@@ -131,7 +131,7 @@ base::Optional<BioEnrollmentResponse> BioEnrollmentResponse::Parse( | |
BioEnrollmentResponse response; | |
if (!cbor_response || !cbor_response->is_map()) { | |
- return response; | |
+ return base::make_optional<BioEnrollmentResponse>(std::move(response)); | |
} | |
const auto& response_map = cbor_response->GetMap(); | |
@@ -252,7 +252,7 @@ base::Optional<BioEnrollmentResponse> BioEnrollmentResponse::Parse( | |
response.template_infos = std::move(template_infos); | |
} | |
- return std::move(response); | |
+ return base::make_optional<BioEnrollmentResponse>(std::move(response)); | |
} | |
BioEnrollmentResponse::BioEnrollmentResponse() = default; | |
diff --git a/chromium/device/fido/cable/fido_cable_discovery.cc b/chromium/device/fido/cable/fido_cable_discovery.cc | |
index aa130900be2..ac8a4b4b099 100644 | |
--- a/chromium/device/fido/cable/fido_cable_discovery.cc | |
+++ b/chromium/device/fido/cable/fido_cable_discovery.cc | |
@@ -348,7 +348,7 @@ FidoCableDiscovery::CreateHandshakeHandler( | |
return base::nullopt; | |
} | |
- return handler; | |
+ return base::make_optional<std::unique_ptr<FidoCableHandshakeHandler> >(std::move(handler)); | |
} | |
void FidoCableDiscovery::DeviceAdded(BluetoothAdapter* adapter, | |
diff --git a/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni b/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni | |
index 1ad43c69c92..35840baac15 100644 | |
--- a/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni | |
+++ b/chromium/mojo/public/tools/bindings/chromium_bindings_configuration.gni | |
@@ -18,7 +18,7 @@ _typemap_imports = [ | |
"//components/chromeos_camera/common/typemaps.gni", | |
"//components/sync/mojom/typemaps.gni", | |
"//components/typemaps.gni", | |
-# "//content/browser/typemaps.gni", | |
+ "//content/browser/typemaps.gni", | |
"//content/common/typemaps.gni", | |
"//content/public/common/typemaps.gni", | |
"//device/bluetooth/public/mojom/typemaps.gni", | |
-- | |
2.16.3 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment