Dominique Leuenberger 2017-12-23 11:14:44 +00:00 committed by Git OBS Bridge
parent ad3ce4b0dc
commit 9bce4b8c38
8 changed files with 162 additions and 95 deletions

View File

@ -1,13 +1,13 @@
Index: qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
Index: qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
===================================================================
--- qtwebengine-opensource-src-5.9.1.orig/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
+++ qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
@@ -569,7 +569,7 @@
--- qtwebengine-everywhere-src-5.10.0.orig/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
+++ qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/ffmpeg/chromium/config/Chromium/linux/arm/config.h
@@ -560,7 +560,7 @@
#define CONFIG_OSSFUZZ 0
#define CONFIG_PIC 1
#define CONFIG_POD2MAN 1
#define CONFIG_RAISE_MAJOR 0
-#define CONFIG_THUMB 1
+#define CONFIG_THUMB 0
#define CONFIG_VALGRIND_BACKTRACE 0
#define CONFIG_XMM_CLOBBER_TEST 0
#define CONFIG_AANDCTTABLES 0
#define CONFIG_BSFS 1

View File

@ -1,8 +1,8 @@
Index: qtwebengine-opensource-src-5.9.2/src/core/web_engine_context.cpp
Index: qtwebengine-everywhere-src-5.10.0/src/core/web_engine_context.cpp
===================================================================
--- qtwebengine-opensource-src-5.9.2.orig/src/core/web_engine_context.cpp
+++ qtwebengine-opensource-src-5.9.2/src/core/web_engine_context.cpp
@@ -91,6 +91,7 @@
--- qtwebengine-everywhere-src-5.10.0.orig/src/core/web_engine_context.cpp
+++ qtwebengine-everywhere-src-5.10.0/src/core/web_engine_context.cpp
@@ -93,6 +93,7 @@
#include <QOffscreenSurface>
#ifndef QT_NO_OPENGL
# include <QOpenGLContext>
@ -10,7 +10,7 @@ Index: qtwebengine-opensource-src-5.9.2/src/core/web_engine_context.cpp
#endif
#include <QQuickWindow>
#include <QStringList>
@@ -165,6 +166,39 @@ void dummyGetPluginCallback(const std::v
@@ -167,6 +168,39 @@ void dummyGetPluginCallback(const std::v
}
#endif
@ -50,7 +50,7 @@ Index: qtwebengine-opensource-src-5.9.2/src/core/web_engine_context.cpp
} // namespace
namespace QtWebEngineCore {
@@ -366,6 +400,17 @@ WebEngineContext::WebEngineContext()
@@ -378,6 +412,17 @@ WebEngineContext::WebEngineContext()
const char *glType = 0;
#ifndef QT_NO_OPENGL
@ -68,7 +68,7 @@ Index: qtwebengine-opensource-src-5.9.2/src/core/web_engine_context.cpp
bool tryGL =
!usingANGLE()
@@ -377,7 +422,7 @@ WebEngineContext::WebEngineContext()
@@ -389,7 +434,7 @@ WebEngineContext::WebEngineContext()
|| enableWebGLSoftwareRendering
#endif
)

View File

@ -3,34 +3,39 @@ 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
diff -u -r qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp qtwebengine-opensource-src-5.9.1-ftfixes/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp
--- qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2017-09-19 17:38:43.659642835 +0200
+++ qtwebengine-opensource-src-5.9.1-ftfixes/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2017-09-19 17:38:50.492991631 +0200
@@ -80,7 +80,7 @@
class FreeTypeLibrary : SkNoncopyable {
public:
- FreeTypeLibrary() : fLibrary(nullptr), fIsLCDSupported(false), fLCDExtra(0) {
+ FreeTypeLibrary() : fLibrary(nullptr) {
Index: qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp
===================================================================
--- qtwebengine-everywhere-src-5.10.0.orig/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp
+++ qtwebengine-everywhere-src-5.10.0/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp
@@ -99,8 +99,6 @@ public:
FreeTypeLibrary()
: fGetVarDesignCoordinates(nullptr)
, fLibrary(nullptr)
- , fIsLCDSupported(false)
- , fLCDExtra(0)
{
if (FT_New_Library(&gFTMemory, &fLibrary)) {
return;
}
@@ -90,8 +90,6 @@
// Default { 0x10, 0x40, 0x70, 0x40, 0x10 } adds up to 0x110, simulating ink spread.
// SetLcdFilter must be called before SetLcdFilterWeights.
@@ -150,8 +148,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) {
- fIsLCDSupported = true;
- fLCDExtra = 2; //Using a filter adds one full pixel to each side.
#ifdef SK_FONTHOST_FREETYPE_USE_NORMAL_LCD_FILTER
// Adds to 0x110 simulating ink spread, but provides better results than default.
@@ -124,13 +122,9 @@
}
}
~FreeTypeLibrary() {
@@ -161,8 +157,6 @@ public:
}
FT_Library library() { return fLibrary; }
- bool isLCDSupported() { return fIsLCDSupported; }
- int lcdExtra() { return fLCDExtra; }
// 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.
@@ -173,8 +167,6 @@ public:
private:
FT_Library fLibrary;
- bool fIsLCDSupported;
@ -38,7 +43,7 @@ diff -u -r qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/sk
// FT_Library_SetLcdFilterWeights was introduced in FreeType 2.4.0.
// The following platforms provide FreeType of at least 2.4.0.
@@ -633,17 +627,6 @@
@@ -661,17 +653,6 @@ void SkTypeface_FreeType::onFilterRec(Sk
rec->fTextSize = SkIntToScalar(1 << 14);
}
@ -56,7 +61,7 @@ diff -u -r qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/sk
SkPaint::Hinting h = rec->getHinting();
if (SkPaint::kFull_Hinting == h && !isLCD(*rec)) {
// collapse full->normal hinting if we're not doing LCD
@@ -1046,11 +1029,11 @@
@@ -1072,11 +1053,11 @@ bool SkScalerContext_FreeType::getCBoxFo
void SkScalerContext_FreeType::updateGlyphIfLCD(SkGlyph* glyph) {
if (isLCD(fRec)) {
if (fLCDIsVert) {

View File

@ -1,3 +1,26 @@
-------------------------------------------------------------------
Fri Dec 8 23:14:38 UTC 2017 - christophe@krop.fr
- Update the license tag (boo#967696)
-------------------------------------------------------------------
Thu Dec 7 12:18:17 UTC 2017 - fabian@ritter-vogt.de
- Update to 5.10.0 final
* New bugfix release
-------------------------------------------------------------------
Sun Dec 3 14:13:03 UTC 2017 - fabian@ritter-vogt.de
- Update to 5.10.0 RC 2
* New bugfix release
-------------------------------------------------------------------
Thu Nov 30 09:47:21 UTC 2017 - fabian@ritter-vogt.de
- Update to 5.10.0 RC 1
* New bugfix release
-------------------------------------------------------------------
Sat Nov 25 12:46:51 UTC 2017 - fabian@ritter-vogt.de
@ -9,12 +32,53 @@ Sat Nov 25 12:46:51 UTC 2017 - fabian@ritter-vogt.de
- Add patch to fix build on armv6:
spinlock-armv6.patch
-------------------------------------------------------------------
Wed Nov 15 11:41:56 UTC 2017 - fabian@ritter-vogt.de
- Update to 5.10 Beta 4
- Contains bugfixes
-------------------------------------------------------------------
Thu Nov 2 08:53:34 UTC 2017 - tittiatcoke@gmail.com
- Add some feature from the Chromium builds to determine the maximum
allowed parallel processes based on the available memory. Also
ensure that the ninja build follows this maximum
-------------------------------------------------------------------
Thu Nov 2 07:23:00 UTC 2017 - fabian@ritter-vogt.de
- Update to 5.10 Beta 3
- Contains bugfixes
- Refresh patches:
* armv6-ffmpeg-no-thumb.patch
* disable-gpu-when-using-nouveau-boo-1005323.diff
* harmony-fix.diff
-------------------------------------------------------------------
Tue Oct 31 16:49:12 UTC 2017 - fabian@ritter-vogt.de
- Restore working version of
disable-gpu-when-using-nouveau-boo-1005323.diff
-------------------------------------------------------------------
Mon Oct 30 16:19:45 UTC 2017 - fabian@ritter-vogt.de
- Update to 5.10 Beta 2
- Contains bugfixes
-------------------------------------------------------------------
Mon Oct 9 16:17:45 UTC 2017 - fabian@ritter-vogt.de
- Update to 5.10 Beta 1
- For more information visit:
https://blog.qt.io/blog/2017/10/09/qt-5-10-beta-released/
- Remove patches, now upstream:
* clip-ft-glyph.diff
- Refresh patches:
* disable-gpu-when-using-nouveau-boo-1005323.diff
* harmony-fix.diff
-------------------------------------------------------------------
Sun Oct 8 14:12:31 UTC 2017 - lbeltrame@kde.org
@ -37,6 +101,13 @@ Tue Sep 26 15:03:00 UTC 2017 - fabian@ritter-vogt.de
- Unbundle ffmpeg if possible, only support proprietary codecs
if the system ffmpeg does
-------------------------------------------------------------------
Mon Sep 25 14:42:37 CEST 2017 - fabian@ritter-vogt.de
- Update to 5.10 Alpha 1
- For more information visit:
https://blog.qt.io/blog/2017/09/13/qt-5-10-alpha-released/
-------------------------------------------------------------------
Mon Jul 10 09:56:30 UTC 2017 - mlin@suse.com
@ -279,4 +350,3 @@ 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

@ -18,23 +18,24 @@
%define qt5_snapshot 0
%if 0%{?suse_version} <= 1320
%if %{?suse_version} <= 1320
%bcond_with system_vpx
%else
%bcond_without system_vpx
# Needs libvpx > 1.6.1
%bcond_with system_vpx
%endif
%if 0%{?suse_version} < 1330
%if %{?suse_version} < 1330
%bcond_with system_icu
%else
# Change to without once ICU 59 in TW is supported
# Change to without once ICU 59 is supported
%bcond_with system_icu
%endif
%if %{?suse_version} >= 1320 || (0%{?is_opensuse} && 0%{?sle_version} >= 120300)
%if %{?suse_version} >= 1330 || (0%{?is_opensuse} && 0%{?sle_version} >= 120200)
%bcond_without system_ffmpeg
%else
%bcond_with system_ffmpeg
%endif
%if 0%{?suse_version} >= 1320 || (0%{?suse_version} == 1315 && 0%{?sle_version} >= 120200)
%if %{?suse_version} >= 1320 || (0%{?suse_version} == 1315 && 0%{?sle_version} >= 120200)
%bcond_without system_minizip
%else
%bcond_with system_minizip
@ -49,26 +50,24 @@
%endif
Name: libqt5-qtwebengine
Version: 5.9.3
Version: 5.10.0
Release: 0
Summary: Qt 5 WebEngine Library
License: SUSE-LGPL-2.1-with-digia-exception-1.1 or GPL-3.0
License: LGPL-2.1-with-Qt-Company-Qt-exception-1.1 or LGPL-3.0-with-Qt-Company-Qt-exception-1.1
Group: Development/Libraries/X11
Url: https://www.qt.io
%define base_name libqt5
%define real_version 5.9.3
%define so_version 5.9.3
%define tar_version qtwebengine-opensource-src-%{real_version}
Source: https://download.qt.io/official_releases/qt/5.9/%{real_version}/submodules/%{tar_version}.tar.xz
%define real_version 5.10.0
%define so_version 5.10.0
%define tar_version qtwebengine-everywhere-src-5.10.0
Source: https://download.qt.io/official_releases/qt/5.10/%{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 -- Detect nouveau opengl drivers and disable gpu usage to work around nouveau crashing
Patch2: disable-gpu-when-using-nouveau-boo-1005323.diff
# PATCH-FIX-UPSTREAM harmony-fix.diff -- Show the patent-free LCD rendering. Without this patch, only grayscale rendering is used. (for freetype-2.8.1) boo#1061344
Patch3: harmony-fix.diff
# PATCH-FIX-OPENSUSE
Patch4: spinlock-armv6.patch
Patch5: harmony-fix.diff
# http://www.chromium.org/blink not ported to PowerPC
ExcludeArch: ppc ppc64 ppc64le s390 s390x
# Try to fix i586 MemoryErrors with rpmlint
@ -88,13 +87,14 @@ BuildRequires: libgcrypt-devel
BuildRequires: libicu-devel
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel
BuildRequires: procps
BuildRequires: libqt5-qtbase-private-headers-devel >= %{version}
BuildRequires: libqt5-qtdeclarative-private-headers-devel >= %{version}
BuildRequires: libqt5-qttools-private-headers-devel >= %{version}
BuildRequires: libqt5-qtlocation-private-headers-devel >= %{version}
BuildRequires: libqt5-qtwebchannel-private-headers-devel >= %{version}
BuildRequires: libqt5-qtxmlpatterns-private-headers-devel >= %{version}
BuildRequires: libQt5QuickControls2-devel
BuildRequires: libQt5QuickControls2-devel
BuildRequires: pam-devel
BuildRequires: pciutils-devel
BuildRequires: perl-JSON
@ -103,6 +103,7 @@ BuildRequires: python
BuildRequires: python-devel
BuildRequires: python-xml
BuildRequires: re2c
BuildRequires: re2-devel
BuildRequires: snappy-devel
BuildRequires: sqlite3-devel
BuildRequires: update-desktop-files
@ -212,7 +213,7 @@ Group: Development/Libraries/X11
Requires: %{name} = %{version}
%description devel
You need this package if you want to compile programs with qtsensors.
You need this package if you want to compile programs with Qt WebEngine.
%package private-headers-devel
Summary: Non-ABI stable experimental API for the Qt5 WebEngine library
@ -223,7 +224,7 @@ Requires: libqt5-qtbase-private-headers-devel >= %{version}
Requires: libqt5-qtdeclarative-private-headers-devel >= %{version}
%description private-headers-devel
This package provides private headers of libqt5-qtsensors that are normally
This package provides private headers of libqt5-qtwebengine that are normally
not used by application development and that do not have any ABI or
API guarantees. The packages that build against these have to require
the exact Qt version.
@ -231,18 +232,18 @@ the exact Qt version.
%package examples
Summary: Qt5 location examples
Group: Development/Libraries/X11
Requires: libqt5-qtquickcontrols2
Recommends: %{name}-devel
%description examples
Examples for the libqt5-qtwebengine module.
%prep
%setup -q -n qtwebengine-opensource-src-%{real_version}
%setup -q -n %{tar_version}
sed -i 's|$(STRIP)|strip|g' src/core/core_module.pro
%patch1 -p1
%patch2 -p1
%patch3 -p1
%patch4 -p1
%patch5 -p1
# QTBUG-61128
sed -i -e '/toolprefix = /d' -e 's/\${toolprefix}//g' \
src/3rdparty/chromium/build/toolchain/linux/BUILD.gn
@ -264,19 +265,39 @@ export RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-g / }
%endif
# It does not actually include proprietary codecs, it only makes it attempt to use ffmpeg
%qmake5 QMAKE_CFLAGS="$RPM_OPT_FLAGS" \
%if %{with system_ffmpeg}
WEBENGINE_CONFIG+=use_proprietary_codecs \
WEBENGINE_CONFIG+=use_system_ffmpeg \
%endif
QMAKE_LFLAGS+="-Wl,--no-keep-memory -Wl,--hash-size=31 -Wl,--reduce-memory-overheads" \
qtwebengine.pro -- \
-webengine-alsa -no-webengine-embedded-build \
%if %{with system_icu}
WEBENGINE_CONFIG+=use_system_icu \
-system-webengine-icu \
%endif
QMAKE_LFLAGS+="-Wl,--no-keep-memory -Wl,--hash-size=31 -Wl,--reduce-memory-overheads"
%if %{with system_ffmpeg}
-system-webengine-ffmpeg \
-webengine-proprietary-codecs \
%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. hardcode it -j4 to match the constraints minumum
# processors.
make -j4 VERBOSE=1
# parallel then cost more memory. Determine the right number of parallel
# processes based on the available memory
makeproc="%{?jobs:%{jobs}}"
echo "Available memory:"
free
echo "System limits:"
ulimit -a
if test -n "$makeproc" -a "$makeproc" -gt 1 ; then
mem_per_process=1300
max_mem=`LANG=C free -t -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p"`
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
# Ensure that also the internal chromium build follows the right number of parallell
# processess instead of its defaults.
export NINJAFLAGS="-j $makeproc"
make -j$makeproc VERBOSE=1
%install
%qmake5_install

View File

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

View File

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

View File

@ -1,29 +0,0 @@
From: Fabian Vogt <fabian@ritter-vogt.de>
Subject: Fix build on non-MP ARM archs
References: boo#1064535
The ARM ISA before armv6k does not have a yield instruction.
Index: qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/WebKit/Source/wtf/SpinLock.cpp
===================================================================
--- qtwebengine-opensource-src-5.9.1.orig/src/3rdparty/chromium/third_party/WebKit/Source/wtf/SpinLock.cpp
+++ qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/WebKit/Source/wtf/SpinLock.cpp
@@ -29,7 +29,17 @@
#elif COMPILER(GCC) || COMPILER(CLANG)
#if CPU(X86_64) || CPU(X86)
#define YIELD_PROCESSOR __asm__ __volatile__("pause")
-#elif CPU(ARM) || CPU(ARM64)
+#elif (defined(_ARM_ARCH_6K__) || \
+ defined(_ARM_ARCH_6Z__) || \
+ defined(_ARM_ARCH_6ZK__) || \
+ defined(__ARM_ARCH_6T2__) || \
+ defined(__ARM_ARCH_7__) || \
+ defined(__ARM_ARCH_7A__) || \
+ defined(__ARM_ARCH_7R__) || \
+ defined(__ARM_ARCH_7M__) || \
+ defined(__ARM_ARCH_7S__) || \
+ defined(__ARM_ARCH_8A__) || \
+ defined(__aarch64__))
#define YIELD_PROCESSOR __asm__ __volatile__("yield")
#elif CPU(MIPS)
// The MIPS32 docs state that the PAUSE instruction is a no-op on older