1
0

Accepting request 712126 from KDE:Qt:5.13

- Update to 5.13.0:
  * New bugfix release
  * No changelog available
  * For more details about Qt 5.13 please see:
  * http://code.qt.io/cgit/qt/qtwebengine.git/plain/dist/changes-5.13.0/?h=5.13

- Replace open coded macro for parallel build limit by the one from the
  memory-constraints package

- Update to 5.13.0-rc:
  * New bugfix release
  * No changelog available

- Fix system_vpx bcond

- Update to 5.13.0-beta2:
  * New bugfix release
  * No changelog available
- Refresh patches:
  * harmony-fix.diff
  * chromium-non-void-return.patch (sigh, again)
- Fix system_vpx bcond
- Disable using the system ICU on Leap < 16, too old

- Update to 5.13.0-beta1:
  * New feature release
  * For more details about Qt 5.13 please see:
  * http://code.qt.io/cgit/qt/qtwebengine.git/plain/dist/changes-5.13.0/?h=5.13
- Refresh patches:
  * disable-gpu-when-using-nouveau-boo-1005323.diff

OBS-URL: https://build.opensuse.org/request/show/712126
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/libqt5-qtwebengine?expand=0&rev=46
This commit is contained in:
Dominique Leuenberger 2019-06-28 14:32:13 +00:00 committed by Git OBS Bridge
parent 6b546c6d1c
commit c1868c9a48
8 changed files with 1186 additions and 286 deletions

File diff suppressed because it is too large Load Diff

View File

@ -7,11 +7,11 @@ 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.12.1/src/core/web_engine_context.cpp
Index: qtwebengine-everywhere-src-5.13.0-beta1/src/core/web_engine_context.cpp
===================================================================
--- qtwebengine-everywhere-src-5.12.1.orig/src/core/web_engine_context.cpp
+++ qtwebengine-everywhere-src-5.12.1/src/core/web_engine_context.cpp
@@ -102,6 +102,7 @@
--- 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 @@
#include <QOffscreenSurface>
#ifndef QT_NO_OPENGL
# include <QOpenGLContext>
@ -19,7 +19,7 @@ Index: qtwebengine-everywhere-src-5.12.1/src/core/web_engine_context.cpp
#endif
#include <QQuickWindow>
#include <QStringList>
@@ -161,6 +162,39 @@ void dummyGetPluginCallback(const std::v
@@ -167,6 +168,39 @@ void dummyGetPluginCallback(const std::v
}
#endif
@ -59,7 +59,7 @@ Index: qtwebengine-everywhere-src-5.12.1/src/core/web_engine_context.cpp
} // namespace
namespace QtWebEngineCore {
@@ -449,6 +483,27 @@ WebEngineContext::WebEngineContext()
@@ -501,10 +535,31 @@ WebEngineContext::WebEngineContext()
const char *glType = 0;
#ifndef QT_NO_OPENGL
@ -84,15 +84,11 @@ Index: qtwebengine-everywhere-src-5.12.1/src/core/web_engine_context.cpp
+ disableGpu = true;
+ }
+
bool tryGL =
!usingANGLE()
&& (!usingSoftwareDynamicGL()
@@ -457,7 +512,7 @@ WebEngineContext::WebEngineContext()
// performant, but at least provides WebGL support.
|| enableWebGLSoftwareRendering
)
- && !usingQtQuick2DRenderer();
+ && !usingQtQuick2DRenderer() && !disableGpu;
if (tryGL) {
const bool tryGL = (usingDefaultSGBackend() && !usingSoftwareDynamicGL() &&
QGuiApplicationPrivate::platformIntegration()->hasCapability(QPlatformIntegration::OpenGL))
|| enableGLSoftwareRendering;
- if (tryGL) {
+ if (tryGL && !disableGpu) {
if (qt_gl_global_share_context() && qt_gl_global_share_context()->isValid()) {
// If the native handle is QEGLNativeContext try to use GL ES/2.
// If there is no native handle, assume we are using wayland and try GL ES/2.

View File

@ -3,11 +3,11 @@ Date: 2017-09-19 23:30:08 -0700
Subject: This is required for QtWebEngine to show the patent-free LCD rendering. Without this patch, only grayscale rendering is used.
References: boo#1061344
Upstream: submitted
Index: qtwebengine-everywhere-src-5.12.0-beta1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp
Index: qtwebengine-everywhere-src-5.13.0-beta2/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp
===================================================================
--- qtwebengine-everywhere-src-5.12.0-beta1.orig/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp
+++ qtwebengine-everywhere-src-5.12.0-beta1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp
@@ -112,8 +112,6 @@ public:
--- qtwebengine-everywhere-src-5.13.0-beta2.orig/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp
+++ qtwebengine-everywhere-src-5.13.0-beta2/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp
@@ -122,8 +122,6 @@ public:
: fGetVarDesignCoordinates(nullptr)
, fGetVarAxisFlags(nullptr)
, fLibrary(nullptr)
@ -16,7 +16,7 @@ Index: qtwebengine-everywhere-src-5.12.0-beta1/src/3rdparty/chromium/third_party
{
if (FT_New_Library(&gFTMemory, &fLibrary)) {
return;
@@ -176,8 +174,6 @@ public:
@@ -186,8 +184,6 @@ public:
// Setup LCD filtering. This reduces color fringes for LCD smoothed glyphs.
// The default has changed over time, so this doesn't mean the same thing to all users.
if (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) {
@ -25,7 +25,7 @@ Index: qtwebengine-everywhere-src-5.12.0-beta1/src/3rdparty/chromium/third_party
}
}
~FreeTypeLibrary() {
@@ -187,8 +183,6 @@ public:
@@ -197,8 +193,6 @@ public:
}
FT_Library library() { return fLibrary; }
@ -34,7 +34,7 @@ Index: qtwebengine-everywhere-src-5.12.0-beta1/src/3rdparty/chromium/third_party
// FT_Get_{MM,Var}_{Blend,Design}_Coordinates were added in FreeType 2.7.1.
// Prior to this there was no way to get the coordinates out of the FT_Face.
@@ -205,8 +199,6 @@ public:
@@ -215,8 +209,6 @@ public:
private:
FT_Library fLibrary;
@ -43,7 +43,7 @@ Index: qtwebengine-everywhere-src-5.12.0-beta1/src/3rdparty/chromium/third_party
// FT_Library_SetLcdFilterWeights was introduced in FreeType 2.4.0.
// The following platforms provide FreeType of at least 2.4.0.
@@ -704,17 +696,6 @@ void SkTypeface_FreeType::onFilterRec(Sk
@@ -713,17 +705,6 @@ void SkTypeface_FreeType::onFilterRec(Sk
rec->fTextSize = SkIntToScalar(1 << 14);
}
@ -58,12 +58,12 @@ Index: qtwebengine-everywhere-src-5.12.0-beta1/src/3rdparty/chromium/third_party
- unref_ft_library();
- }
-
SkPaint::Hinting h = rec->getHinting();
if (SkPaint::kFull_Hinting == h && !isLCD(*rec)) {
SkFontHinting h = rec->getHinting();
if (kFull_SkFontHinting == h && !isLCD(*rec)) {
// collapse full->normal hinting if we're not doing LCD
@@ -1109,11 +1090,11 @@ bool SkScalerContext_FreeType::getCBoxFo
@@ -1121,11 +1102,11 @@ bool SkScalerContext_FreeType::getCBoxFo
void SkScalerContext_FreeType::updateGlyphIfLCD(SkGlyph* glyph) {
if (isLCD(fRec)) {
if (glyph->fMaskFormat == SkMask::kLCD16_Format) {
if (fLCDIsVert) {
- glyph->fHeight += gFTLibrary->lcdExtra();
- glyph->fTop -= gFTLibrary->lcdExtra() >> 1;

View File

@ -1,3 +1,42 @@
-------------------------------------------------------------------
Wed Jun 19 11:26:34 UTC 2019 - fabian@ritter-vogt.de
- Update to 5.13.0:
* New bugfix release
* No changelog available
* For more details about Qt 5.13 please see:
* http://code.qt.io/cgit/qt/qtwebengine.git/plain/dist/changes-5.13.0/?h=5.13
-------------------------------------------------------------------
Sat Jun 15 14:37:48 UTC 2019 - Stefan Brüns <stefan.bruens@rwth-aachen.de>
- Replace open coded macro for parallel build limit by the one from the
memory-constraints package
-------------------------------------------------------------------
Tue Jun 4 07:25:38 UTC 2019 - fabian@ritter-vogt.de
- Update to 5.13.0-rc:
* New bugfix release
* No changelog available
-------------------------------------------------------------------
Tue Apr 30 12:50:05 UTC 2019 - Fabian Vogt <fabian@ritter-vogt.de>
- Fix system_vpx bcond
-------------------------------------------------------------------
Mon Apr 29 09:17:20 UTC 2019 - fabian@ritter-vogt.de
- Update to 5.13.0-beta2:
* New bugfix release
* No changelog available
- Refresh patches:
* harmony-fix.diff
* chromium-non-void-return.patch (sigh, again)
- Fix system_vpx bcond
- Disable using the system ICU on Leap < 16, too old
-------------------------------------------------------------------
Thu Apr 18 07:27:59 UTC 2019 - fabian@ritter-vogt.de
@ -7,6 +46,20 @@ Thu Apr 18 07:27:59 UTC 2019 - fabian@ritter-vogt.de
* http://code.qt.io/cgit/qt/qtwebengine.git/plain/dist/changes-5.12.3/?h=v5.12.3
- Refresh chromium-non-void-return.patch
-------------------------------------------------------------------
Thu Mar 21 10:26:45 UTC 2019 - fabian@ritter-vogt.de
- Update to 5.13.0-beta1:
* New feature release
* For more details about Qt 5.13 please see:
* http://code.qt.io/cgit/qt/qtwebengine.git/plain/dist/changes-5.13.0/?h=5.13
- Refresh patches:
* disable-gpu-when-using-nouveau-boo-1005323.diff
* harmony-fix.diff
* chromium-non-void-return.patch (sigh)
- Remote patches, now upstream:
* reproducible.patch
-------------------------------------------------------------------
Thu Mar 14 08:52:25 UTC 2019 - fabian@ritter-vogt.de
@ -684,3 +737,4 @@ Thu Nov 27 15:58:50 UTC 2014 - hrvoje.senjan@gmail.com
Sat Aug 2 15:31:16 UTC 2014 - hrvoje.senjan@gmail.com
- Activate libqt5-qtwebengine package

View File

@ -19,16 +19,16 @@
%define qt5_snapshot 0
%if %{?suse_version} <= 1320
%bcond_with system_vpx
%if %{?suse_version} > 1500 || 0%{?sle_version} > 150100
%bcond_without system_vpx
%else
# Needs libvpx > 1.6.1
%bcond_with system_vpx
%endif
%if %{?suse_version} < 1330
%bcond_with system_icu
%else
%if 0%{?suse_version} > 1500
# Needs ICU >= 63
%bcond_without system_icu
%else
%bcond_with system_icu
%endif
%if %{?suse_version} >= 1330 || (0%{?is_opensuse} && 0%{?sle_version} >= 120200)
%bcond_without system_ffmpeg
@ -40,29 +40,29 @@
%else
%bcond_with system_minizip
%endif
# Not even in Tumbleweed as of 2019-03-22
%bcond_with system_harfbuzz
# This is just overall condition to contain everything we can't provide on SLE12
%if 0%{?suse_version} >= 1320 || 0%{?is_opensuse}
%bcond_with sle_bundles
%bcond_without system_harfbuzz
%else
%bcond_without sle_bundles
%bcond_with system_harfbuzz
%endif
# spellchecking dictionary directory
%global _qtwebengine_dictionaries_dir %{_libqt5_datadir}/qtwebengine_dictionaries
Name: libqt5-qtwebengine
Version: 5.12.3
Version: 5.13.0
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.12.3
%define so_version 5.12.3
%define tar_version qtwebengine-everywhere-src-5.12.3
Source: https://download.qt.io/official_releases/qt/5.12/%{real_version}/submodules/%{tar_version}.tar.xz
%define real_version 5.13.0
%define so_version 5.13.0
%define tar_version qtwebengine-everywhere-src-5.13.0
Source: https://download.qt.io/official_releases/qt/5.13/%{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
@ -72,8 +72,6 @@ Patch2: disable-gpu-when-using-nouveau-boo-1005323.diff
Patch5: harmony-fix.diff
# PATCH-FIX-OPENSUSE (copied from the chromium package)
Patch9: chromium-non-void-return.patch
# PATCH-FIX-UPSTREAM reproducible.patch -- https://bugs.chromium.org/p/chromium/issues/detail?id=740363 boo#1047218
Patch10: reproducible.patch
# http://www.chromium.org/blink not ported to PowerPC
ExcludeArch: ppc ppc64 ppc64le s390 s390x
# Try to fix i586 MemoryErrors with rpmlint
@ -100,6 +98,7 @@ BuildRequires: libqt5-qtlocation-private-headers-devel >= 5.9
BuildRequires: libqt5-qttools-private-headers-devel >= 5.9
BuildRequires: libqt5-qtwebchannel-private-headers-devel >= 5.9
BuildRequires: libqt5-qtxmlpatterns-private-headers-devel >= 5.9
BuildRequires: memory-constraints
BuildRequires: ninja
BuildRequires: pam-devel
BuildRequires: pciutils-devel
@ -179,13 +178,13 @@ BuildRequires: yasm-devel
BuildRequires: pkgconfig(minizip)
%endif
%if %{with system_harfbuzz}
BuildRequires: pkgconfig(harfbuzz) >= 1.2.0
BuildRequires: pkgconfig(harfbuzz) >= 2.0.0
%endif
%if %{with system_icu}
BuildRequires: pkgconfig(icu-i18n) >= 54.0
BuildRequires: pkgconfig(icu-i18n) >= 63.0
%endif
%if %{with system_vpx}
BuildRequires: pkgconfig(vpx) >= 1.4.0
BuildRequires: pkgconfig(vpx) >= 1.8.0
%endif
%if %{with system_ffmpeg}
BuildRequires: pkgconfig(libavcodec)
@ -199,7 +198,6 @@ BuildRequires: perl
%requires_ge libQt5Network5
%requires_ge libQtQuick5
%requires_ge libQt5Widgets5
BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
Qt WebEngine provides functionality for rendering regions of dynamic
@ -292,32 +290,19 @@ export RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-g / }
%endif
-system-webengine-opus -system-webengine-webp -webengine-pepper-plugins -webengine-printing-and-pdf
# do not run too many parallel jobs, per bigger memory size worker it uses more
# parallel then cost more memory. Determine the right number of parallel
# processes based on the available memory
makeproc="%{?jobs:%{jobs}}"
echo "Available memory:"
cat /proc/meminfo
echo "System limits:"
ulimit -a
if test -n "$makeproc" -a "$makeproc" -gt 1 ; then
mem_per_process=2000000
max_mem=$(awk '/MemTotal/ { print $2 }' /proc/meminfo)
max_jobs="$(($max_mem / $mem_per_process))"
test "$makeproc" -gt "$max_jobs" && makeproc="$max_jobs" && echo "Warning: Reducing number of jobs to $max_jobs because of memory limits"
test "$makeproc" -le 0 && makeproc=1 && echo "Warning: Do not use the parallel build at all becuse of memory limits"
fi
# Determine the right number of parallel processes based on the available memory
%limit_build -m 2000
# Ensure that also the internal chromium build follows the right number of parallell
# processess instead of its defaults.
export NINJAFLAGS="-j $makeproc"
# Ensure that also the internal chromium build follows the right number of parallel
# processes instead of its defaults.
export NINJAFLAGS="%{_smp_mflags}"
%if 0%{?suse_version} < 1330
export CC=gcc-7
export CXX=g++-7
%endif
make -j$makeproc VERBOSE=1
make %{_smp_mflags} VERBOSE=1
%install
%qmake5_install

View File

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

View File

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

View File

@ -1,37 +0,0 @@
Author: Bernhard M. Wiedemann <bwiedemann@suse.de>
AuthorDate: 2017-08-10 21:41:38 +0200
Allow to override build date
in order to allow for reproducible builds.
See https://reproducible-builds.org/ for why this is good
and https://reproducible-builds.org/specs/source-date-epoch/
for the definition of this variable.
simple fix for https://bugs.chromium.org/p/chromium/issues/detail?id=740363
that was fixed upstream in a more complicated way
See also https://bugzilla.opensuse.org/show_bug.cgi?id=1047218 packages do not build reproducibly from including build time
Index: qtwebengine-everywhere-src-5.11.2/src/3rdparty/chromium/build/write_build_date_header.py
===================================================================
--- qtwebengine-everywhere-src-5.11.2.orig/src/3rdparty/chromium/build/write_build_date_header.py
+++ qtwebengine-everywhere-src-5.11.2/src/3rdparty/chromium/build/write_build_date_header.py
@@ -21,6 +21,7 @@ import datetime
import doctest
import os
import sys
+import time
def GetFirstSundayOfMonth(year, month):
@@ -88,7 +89,8 @@ def main():
# Format is expected to be "Mmm DD YYYY HH:MM:SS".
build_date = args.build_date_override
else:
- now = datetime.datetime.utcnow()
+ epoch = int(os.environ.get('SOURCE_DATE_EPOCH', time.time()))
+ now = datetime.datetime.utcfromtimestamp(epoch)
if now.hour < 5:
# The time is locked at 5:00 am in UTC to cause the build cache
# invalidation to not happen exactly at midnight. Use the same calculation