Qt 5.15.1 - not built yet

OBS-URL: https://build.opensuse.org/package/show/KDE:Qt:5.15/libqt5-qtwebengine?expand=0&rev=13
This commit is contained in:
Christophe Giboudeaux 2020-09-11 06:30:06 +00:00 committed by Git OBS Bridge
parent 6d2edc8008
commit 6fd8eea9f8
8 changed files with 70 additions and 205 deletions

View File

@ -1,27 +0,0 @@
From: Jiri Slaby <jslaby@suse.cz>
Date: Thu, 11 Jul 2019 09:35:13 +0200
Subject: fix build after y2038 changes in glibc
Patch-mainline: submitted on 2019/07/11
References: QTBUG-76963
SIOCGSTAMP is defined in linux/sockios.h since kernel 5.2. Include that
file wherever needed.
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
chromium/third_party/webrtc/rtc_base/physical_socket_server.cc | 1 +
1 file changed, 1 insertion(+)
--- a/src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc
+++ b/src/3rdparty/chromium/third_party/webrtc/rtc_base/physical_socket_server.cc
@@ -67,6 +67,7 @@ typedef void* SockOptArg;
#endif // WEBRTC_POSIX
#if defined(WEBRTC_POSIX) && !defined(WEBRTC_MAC) && !defined(__native_client__)
+#include <linux/sockios.h>
int64_t GetSocketRecvTimestamp(int socket) {
struct timeval tv_ioctl;
--
2.21.0

View File

@ -7,19 +7,19 @@ It also crashes when running on wayland, the cause is not yet known.
Work around these issues by not doing GPU-accelerated rendering in such
cases.
Index: qtwebengine-everywhere-src-5.13.0-beta1/src/core/web_engine_context.cpp
Index: qtwebengine-everywhere-src-5.15.1/src/core/web_engine_context.cpp
===================================================================
--- qtwebengine-everywhere-src-5.13.0-beta1.orig/src/core/web_engine_context.cpp
+++ qtwebengine-everywhere-src-5.13.0-beta1/src/core/web_engine_context.cpp
@@ -108,6 +108,7 @@
--- qtwebengine-everywhere-src-5.15.1.orig/src/core/web_engine_context.cpp
+++ qtwebengine-everywhere-src-5.15.1/src/core/web_engine_context.cpp
@@ -127,6 +127,7 @@
#include <QOffscreenSurface>
#ifndef QT_NO_OPENGL
#if QT_CONFIG(opengl)
# include <QOpenGLContext>
+# include <QOpenGLFunctions>
#endif
#include <QQuickWindow>
#include <QStringList>
@@ -167,6 +168,39 @@ void dummyGetPluginCallback(const std::v
@@ -186,6 +187,39 @@ void dummyGetPluginCallback(const std::v
}
#endif
@ -59,9 +59,9 @@ Index: qtwebengine-everywhere-src-5.13.0-beta1/src/core/web_engine_context.cpp
} // namespace
namespace QtWebEngineCore {
@@ -501,10 +535,31 @@ WebEngineContext::WebEngineContext()
@@ -697,10 +731,31 @@ WebEngineContext::WebEngineContext()
const char *glType = 0;
#ifndef QT_NO_OPENGL
#if QT_CONFIG(opengl)
+ bool disableGpu = qEnvironmentVariableIsSet("QT_WEBENGINE_DISABLE_GPU");
+

View File

@ -1,159 +0,0 @@
From 3f8dc4b2e5baf77b463334c769af85b79d8c1463 Mon Sep 17 00:00:00 2001
From: Frank Tang <ftang@chromium.org>
Date: Fri, 3 Apr 2020 23:13:54 -0700
Subject: [PATCH] [intl] Remove soon-to-be removed getAllFieldPositions
Needed to land ICU67.1 soon.
Bug: v8:10393
Change-Id: I3c7737ca600d6ccfdc46ffaddfb318ce60bc7618
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2136489
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Frank Tang <ftang@chromium.org>
Cr-Commit-Position: refs/heads/master@{#67027}
Index: qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
===================================================================
--- qtwebengine-everywhere-src-5.15.0-beta3.orig/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
+++ qtwebengine-everywhere-src-5.15.0-beta3/src/3rdparty/chromium/v8/src/objects/js-number-format.cc
@@ -1187,42 +1187,31 @@ MaybeHandle<JSNumberFormat> JSNumberForm
}
namespace {
-Maybe<icu::UnicodeString> IcuFormatNumber(
+Maybe<bool> IcuFormatNumber(
Isolate* isolate,
const icu::number::LocalizedNumberFormatter& number_format,
- Handle<Object> numeric_obj, icu::FieldPositionIterator* fp_iter) {
+ Handle<Object> numeric_obj, icu::number::FormattedNumber* formatted) {
// If it is BigInt, handle it differently.
UErrorCode status = U_ZERO_ERROR;
- icu::number::FormattedNumber formatted;
if (numeric_obj->IsBigInt()) {
Handle<BigInt> big_int = Handle<BigInt>::cast(numeric_obj);
Handle<String> big_int_string;
ASSIGN_RETURN_ON_EXCEPTION_VALUE(isolate, big_int_string,
BigInt::ToString(isolate, big_int),
- Nothing<icu::UnicodeString>());
- formatted = number_format.formatDecimal(
+ Nothing<bool>());
+ *formatted = number_format.formatDecimal(
{big_int_string->ToCString().get(), big_int_string->length()}, status);
} else {
double number = numeric_obj->Number();
- formatted = number_format.formatDouble(number, status);
+ *formatted = number_format.formatDouble(number, status);
}
if (U_FAILURE(status)) {
// This happen because of icu data trimming trim out "unit".
// See https://bugs.chromium.org/p/v8/issues/detail?id=8641
- THROW_NEW_ERROR_RETURN_VALUE(isolate,
- NewTypeError(MessageTemplate::kIcuError),
- Nothing<icu::UnicodeString>());
- }
- if (fp_iter) {
- formatted.getAllFieldPositions(*fp_iter, status);
+ THROW_NEW_ERROR_RETURN_VALUE(
+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<bool>());
}
- icu::UnicodeString result = formatted.toString(status);
- if (U_FAILURE(status)) {
- THROW_NEW_ERROR_RETURN_VALUE(isolate,
- NewTypeError(MessageTemplate::kIcuError),
- Nothing<icu::UnicodeString>());
- }
- return Just(result);
+ return Just(true);
}
} // namespace
@@ -1233,10 +1222,16 @@ MaybeHandle<String> JSNumberFormat::Form
Handle<Object> numeric_obj) {
DCHECK(numeric_obj->IsNumeric());
- Maybe<icu::UnicodeString> maybe_format =
- IcuFormatNumber(isolate, number_format, numeric_obj, nullptr);
+ icu::number::FormattedNumber formatted;
+ Maybe<bool> maybe_format =
+ IcuFormatNumber(isolate, number_format, numeric_obj, &formatted);
MAYBE_RETURN(maybe_format, Handle<String>());
- return Intl::ToString(isolate, maybe_format.FromJust());
+ UErrorCode status = U_ZERO_ERROR;
+ icu::UnicodeString result = formatted.toString(status);
+ if (U_FAILURE(status)) {
+ THROW_NEW_ERROR(isolate, NewTypeError(MessageTemplate::kIcuError), String);
+ }
+ return Intl::ToString(isolate, result);
}
namespace {
@@ -1349,12 +1344,18 @@ std::vector<NumberFormatSpan> FlattenReg
}
namespace {
-Maybe<int> ConstructParts(Isolate* isolate, const icu::UnicodeString& formatted,
- icu::FieldPositionIterator* fp_iter,
+Maybe<int> ConstructParts(Isolate* isolate,
+ icu::number::FormattedNumber* formatted,
Handle<JSArray> result, int start_index,
Handle<Object> numeric_obj, bool style_is_unit) {
+ UErrorCode status = U_ZERO_ERROR;
+ icu::UnicodeString formatted_text = formatted->toString(status);
+ if (U_FAILURE(status)) {
+ THROW_NEW_ERROR_RETURN_VALUE(
+ isolate, NewTypeError(MessageTemplate::kIcuError), Nothing<int>());
+ }
DCHECK(numeric_obj->IsNumeric());
- int32_t length = formatted.length();
+ int32_t length = formatted_text.length();
int index = start_index;
if (length == 0) return Just(index);
@@ -1363,13 +1364,14 @@ Maybe<int> ConstructParts(Isolate* isola
// other region covers some part of the formatted string. It's possible
// there's another field with exactly the same begin and end as this backdrop,
// in which case the backdrop's field_id of -1 will give it lower priority.
- regions.push_back(NumberFormatSpan(-1, 0, formatted.length()));
+ regions.push_back(NumberFormatSpan(-1, 0, formatted_text.length()));
{
- icu::FieldPosition fp;
- while (fp_iter->next(fp)) {
- regions.push_back(NumberFormatSpan(fp.getField(), fp.getBeginIndex(),
- fp.getEndIndex()));
+ icu::ConstrainedFieldPosition cfp;
+ cfp.constrainCategory(UFIELD_CATEGORY_NUMBER);
+ while (formatted->nextPosition(cfp, status)) {
+ regions.push_back(
+ NumberFormatSpan(cfp.getField(), cfp.getStart(), cfp.getLimit()));
}
}
@@ -1391,7 +1393,7 @@ Maybe<int> ConstructParts(Isolate* isola
Handle<String> substring;
ASSIGN_RETURN_ON_EXCEPTION_VALUE(
isolate, substring,
- Intl::ToString(isolate, formatted, part.begin_pos, part.end_pos),
+ Intl::ToString(isolate, formatted_text, part.begin_pos, part.end_pos),
Nothing<int>());
Intl::AddElement(isolate, result, index, field_type_string, substring);
++index;
@@ -1411,14 +1413,14 @@ MaybeHandle<JSArray> JSNumberFormat::For
number_format->icu_number_formatter().raw();
CHECK_NOT_NULL(fmt);
- icu::FieldPositionIterator fp_iter;
- Maybe<icu::UnicodeString> maybe_format =
- IcuFormatNumber(isolate, *fmt, numeric_obj, &fp_iter);
+ icu::number::FormattedNumber formatted;
+ Maybe<bool> maybe_format =
+ IcuFormatNumber(isolate, *fmt, numeric_obj, &formatted);
MAYBE_RETURN(maybe_format, Handle<JSArray>());
Handle<JSArray> result = factory->NewJSArray(0);
Maybe<int> maybe_format_to_parts = ConstructParts(
- isolate, maybe_format.FromJust(), &fp_iter, result, 0, numeric_obj,
+ isolate, &formatted, result, 0, numeric_obj,
number_format->style() == JSNumberFormat::Style::UNIT);
MAYBE_RETURN(maybe_format_to_parts, Handle<JSArray>());

View File

@ -1,3 +1,22 @@
-------------------------------------------------------------------
Thu Sep 10 07:57:36 UTC 2020 - Fabian Vogt <fabian@ritter-vogt.de>
- Update to 5.15.1:
* New bugfix release
* For more details please see:
http://code.qt.io/cgit/qt/qtwebengine.git/plain/dist/changes-5.15.1/?h=5.15.1
- Drop patches, now upstream:
* icu-v67.patch
* 0001-fix-build-after-y2038-changes-in-glibc.patch
- Refresh disable-gpu-when-using-nouveau-boo-1005323.diff
- Update rtc-dont-use-h264.patch
-------------------------------------------------------------------
Thu May 28 10:28:37 UTC 2020 - Fabian Vogt <fvogt@suse.com>
- Add patch to not require openh264 and don't build the bundled version:
* rtc-dont-use-h264.patch
-------------------------------------------------------------------
Wed May 27 08:47:23 UTC 2020 - Fabian Vogt <fvogt@suse.com>

View File

@ -38,27 +38,25 @@
%global _qtwebengine_dictionaries_dir %{_libqt5_datadir}/qtwebengine_dictionaries
Name: libqt5-qtwebengine
Version: 5.15.0
Version: 5.15.1
Release: 0
Summary: Qt 5 WebEngine Library
License: LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
Group: Development/Libraries/X11
URL: https://www.qt.io
%define base_name libqt5
%define real_version 5.15.0
%define so_version 5.15.0
%define tar_version qtwebengine-everywhere-src-5.15.0
%define real_version 5.15.1
%define so_version 5.15.1
%define tar_version qtwebengine-everywhere-src-5.15.1
Source: https://download.qt.io/official_releases/qt/5.15/%{real_version}/submodules/%{tar_version}.tar.xz
Source1: baselibs.conf
# PATCH-FIX-UPSTREAM armv6-ffmpeg-no-thumb.patch - Fix ffmpeg configuration for armv6
Patch1: armv6-ffmpeg-no-thumb.patch
# PATCH-FIX-UPSTREAM disable-gpu-when-using-nouveau-boo-1005323.diff
Patch2: disable-gpu-when-using-nouveau-boo-1005323.diff
# PATCH-FIX-UPSTREAM 0001-fix-build-after-y2038-changes-in-glibc.patch
Patch3: 0001-fix-build-after-y2038-changes-in-glibc.patch
Patch7: fix1163766.patch
# PATCH-FIX-UPSTREAM https://chromium-review.googlesource.com/c/v8/v8/+/2136489
Patch8: icu-v67.patch
# PATCH-FIX-OPENSUSE
Patch9: rtc-dont-use-h264.patch
# http://www.chromium.org/blink not ported to PowerPC
ExcludeArch: ppc ppc64 ppc64le s390 s390x
# Try to fix i586 MemoryErrors with rpmlint
@ -300,6 +298,9 @@ sed -i -e '/toolprefix = /d' -e 's/\${toolprefix}//g' \
mkdir .git
%endif
# TODO: Get the manual unbundling from chromium.spec working here as well
rm -r src/3rdparty/chromium/third_party/openh264/src
%ifnarch x86_64
RPM_OPT_FLAGS="$RPM_OPT_FLAGS "
export RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-g / }

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:c38e2fda7ed1b7d5a90f26abf231ec0715d78a5bc39a94673d8e39d75f04c5df
size 278257432

View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f903e98fe3cd717161252710125fce011cf882ced96c24968b0c38811fbefdf2
size 278488056

31
rtc-dont-use-h264.patch Normal file
View File

@ -0,0 +1,31 @@
From: Fabian Vogt <fabian@ritter-vogt.de>
Subject: Don't require open264 when proprietary_codecs are supported
Index: qtwebengine-everywhere-src-5.15.1/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
===================================================================
--- qtwebengine-everywhere-src-5.15.1.orig/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
+++ qtwebengine-everywhere-src-5.15.1/src/3rdparty/chromium/third_party/webrtc/webrtc.gni
@@ -149,8 +149,7 @@ declare_args() {
#
# Enabling H264 when building with MSVC is currently not supported, see
# bugs.webrtc.org/9213#c13 for more info.
- rtc_use_h264 =
- proprietary_codecs && !is_android && !is_ios && !(is_win && !is_clang)
+ rtc_use_h264 = false
# By default, use normal platform audio support or dummy audio, but don't
# use file-based audio playout and record.
Index: qtwebengine-everywhere-src-5.15.1/src/core/config/common.pri
===================================================================
--- qtwebengine-everywhere-src-5.15.1.orig/src/core/config/common.pri
+++ qtwebengine-everywhere-src-5.15.1/src/core/config/common.pri
@@ -27,9 +27,6 @@ qtConfig(webengine-webrtc) {
qtConfig(webengine-proprietary-codecs) {
gn_args += proprietary_codecs=true ffmpeg_branding=\"Chrome\"
- qtConfig(webengine-webrtc) {
- gn_args += rtc_use_h264=true
- }
} else {
gn_args += proprietary_codecs=false
}