diff --git a/armv6-ffmpeg-no-thumb.patch b/armv6-ffmpeg-no-thumb.patch index 1d20ae5..6babccf 100644 --- a/armv6-ffmpeg-no-thumb.patch +++ b/armv6-ffmpeg-no-thumb.patch @@ -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 diff --git a/disable-gpu-when-using-nouveau-boo-1005323.diff b/disable-gpu-when-using-nouveau-boo-1005323.diff index d54dc77..c433e2d 100644 --- a/disable-gpu-when-using-nouveau-boo-1005323.diff +++ b/disable-gpu-when-using-nouveau-boo-1005323.diff @@ -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 #ifndef QT_NO_OPENGL # include @@ -10,7 +10,7 @@ Index: qtwebengine-opensource-src-5.9.2/src/core/web_engine_context.cpp #endif #include #include -@@ -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 ) diff --git a/harmony-fix.diff b/harmony-fix.diff index 4e0858b..d0c50a0 100644 --- a/harmony-fix.diff +++ b/harmony-fix.diff @@ -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) { diff --git a/libqt5-qtwebengine.changes b/libqt5-qtwebengine.changes index d1f09a3..05e3993 100644 --- a/libqt5-qtwebengine.changes +++ b/libqt5-qtwebengine.changes @@ -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 - diff --git a/libqt5-qtwebengine.spec b/libqt5-qtwebengine.spec index 975b29b..3321642 100644 --- a/libqt5-qtwebengine.spec +++ b/libqt5-qtwebengine.spec @@ -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 diff --git a/qtwebengine-everywhere-src-5.10.0.tar.xz b/qtwebengine-everywhere-src-5.10.0.tar.xz new file mode 100644 index 0000000..481bf5d --- /dev/null +++ b/qtwebengine-everywhere-src-5.10.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:a8bf5989ef847a249bbc1f391743a36971825b896747d073e30dbcdefc9567f9 +size 209737304 diff --git a/qtwebengine-opensource-src-5.9.3.tar.xz b/qtwebengine-opensource-src-5.9.3.tar.xz deleted file mode 100644 index 347a3a3..0000000 --- a/qtwebengine-opensource-src-5.9.3.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:45ae1142fd87271c100f4d7889427738e774e86db5d8f6bcf9ceb99d18571d37 -size 217344496 diff --git a/spinlock-armv6.patch b/spinlock-armv6.patch deleted file mode 100644 index e91fb97..0000000 --- a/spinlock-armv6.patch +++ /dev/null @@ -1,29 +0,0 @@ -From: Fabian Vogt -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