[arch-commits] Commit in qt5-webengine/repos (5 files)
Antonio Rojas
arojas at archlinux.org
Tue May 22 08:39:03 UTC 2018
Date: Tuesday, May 22, 2018 @ 08:39:02
Author: arojas
Revision: 324729
archrelease: copy trunk to staging-x86_64
Added:
qt5-webengine/repos/staging-x86_64/
qt5-webengine/repos/staging-x86_64/PKGBUILD
(from rev 324728, qt5-webengine/trunk/PKGBUILD)
qt5-webengine/repos/staging-x86_64/qtwebengine-ffmpeg4.patch
(from rev 324728, qt5-webengine/trunk/qtwebengine-ffmpeg4.patch)
qt5-webengine/repos/staging-x86_64/qtwebengine-gcc8.patch
(from rev 324728, qt5-webengine/trunk/qtwebengine-gcc8.patch)
qt5-webengine/repos/staging-x86_64/qtwebengine-harmony.patch
(from rev 324728, qt5-webengine/trunk/qtwebengine-harmony.patch)
---------------------------+
PKGBUILD | 69 +++++++++++++++++++++++++++++++++++++++
qtwebengine-ffmpeg4.patch | 13 +++++++
qtwebengine-gcc8.patch | 36 ++++++++++++++++++++
qtwebengine-harmony.patch | 77 ++++++++++++++++++++++++++++++++++++++++++++
4 files changed, 195 insertions(+)
Copied: qt5-webengine/repos/staging-x86_64/PKGBUILD (from rev 324728, qt5-webengine/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2018-05-22 08:39:02 UTC (rev 324729)
@@ -0,0 +1,69 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=qt5-webengine
+_qtver=5.11.0
+pkgver=${_qtver/-/}
+pkgrel=1
+arch=('x86_64')
+url='http://qt-project.org/'
+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' 'protobuf' 'libxslt' 'minizip' 'ffmpeg' 're2' 'libvpx')
+makedepends=('python2' 'git' 'gperf' 'jsoncpp' 'ninja' 'qt5-tools')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-everywhere-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
+ qtwebengine-harmony.patch qtwebengine-gcc8.patch qtwebengine-ffmpeg4.patch
+ falkon-copy-menu.patch::"http://code.qt.io/cgit/qt/qtwebengine.git/patch/?id=af0c47b1")
+sha256sums=('5dd754d603c66d36e93b96b4f7c24a6e6269ae6a1682a524b8baa664d5c44b45'
+ 'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3'
+ '7f84891ef1ac9b7943ac5b92f2df8caf0c24c3695bdc6296926b581a87c0e856'
+ '4a831d89fb0d6a6ced23115ced71e60513ce279fba4bd493178842647948f510'
+ 'b5b3d873c51ed2ad05b2ffe1f3d14cd95a732f0e1288c04a502d65576e316f5d')
+
+prepare() {
+ mkdir -p build
+
+ # Hack to force using python2
+ mkdir -p bin
+ ln -s /usr/bin/python2 bin/python
+
+ cd ${_pkgfqn}
+
+ # FreeType 2.8.1
+ patch -Np1 -i ../qtwebengine-harmony.patch
+ # Fix copy context menu
+ patch -p1 -i "$srcdir"/falkon-copy-menu.patch
+ # Fix build with gcc8 (Fedora)
+ cd src/3rdparty/chromium
+ patch -p1 -i "$srcdir"/qtwebengine-gcc8.patch
+ # Fix build with ffmpeg 4
+ patch -p2 -i "$srcdir"/qtwebengine-ffmpeg4.patch
+}
+
+build() {
+ cd build
+
+ export PATH="$srcdir/bin:$PATH"
+ qmake ../${_pkgfqn} -- \
+ -proprietary-codecs \
+ -system-ffmpeg \
+ -webp \
+ -spellchecker \
+ -webengine-icu
+ 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
+}
Copied: qt5-webengine/repos/staging-x86_64/qtwebengine-ffmpeg4.patch (from rev 324728, qt5-webengine/trunk/qtwebengine-ffmpeg4.patch)
===================================================================
--- staging-x86_64/qtwebengine-ffmpeg4.patch (rev 0)
+++ staging-x86_64/qtwebengine-ffmpeg4.patch 2018-05-22 08:39:02 UTC (rev 324729)
@@ -0,0 +1,13 @@
+diff --git a/chromium/media/base/decoder_buffer.h b/chromium/media/base/decoder_buffer.h
+index 0341e5784f..60ffba708b 100644
+--- a/chromium/media/base/decoder_buffer.h
++++ b/chromium/media/base/decoder_buffer.h
+@@ -37,7 +37,7 @@ class MEDIA_EXPORT DecoderBuffer
+ : public base::RefCountedThreadSafe<DecoderBuffer> {
+ public:
+ enum {
+- kPaddingSize = 32,
++ kPaddingSize = 64,
+ #if defined(ARCH_CPU_ARM_FAMILY)
+ kAlignmentSize = 16
+ #else
Copied: qt5-webengine/repos/staging-x86_64/qtwebengine-gcc8.patch (from rev 324728, qt5-webengine/trunk/qtwebengine-gcc8.patch)
===================================================================
--- staging-x86_64/qtwebengine-gcc8.patch (rev 0)
+++ staging-x86_64/qtwebengine-gcc8.patch 2018-05-22 08:39:02 UTC (rev 324729)
@@ -0,0 +1,36 @@
+diff -up chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h
+--- chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h.boolfix 2018-03-15 13:07:54.999428755 -0400
++++ chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_ptr_info.h 2018-03-15 13:08:21.270794252 -0400
+@@ -45,7 +45,7 @@ class AssociatedInterfacePtrInfo {
+
+ bool is_valid() const { return handle_.is_valid(); }
+
+- explicit operator bool() const { return handle_; }
++ explicit operator bool() const { return (bool) handle_; }
+
+ ScopedInterfaceEndpointHandle PassHandle() {
+ return std::move(handle_);
+diff -up chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h.boolfix chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h
+--- chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h.boolfix 2018-03-15 13:07:09.680523296 -0400
++++ chromium-65.0.3325.162/mojo/public/cpp/bindings/associated_interface_request.h 2018-03-15 13:07:44.429684037 -0400
+@@ -50,7 +50,7 @@ class AssociatedInterfaceRequest {
+ // handle.
+ bool is_pending() const { return handle_.is_valid(); }
+
+- explicit operator bool() const { return handle_; }
++ explicit operator bool() const { return (bool) handle_; }
+
+ ScopedInterfaceEndpointHandle PassHandle() { return std::move(handle_); }
+
+diff -up chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h.boolfix chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h
+--- chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h.boolfix 2018-03-15 13:08:33.494499025 -0400
++++ chromium-65.0.3325.162/mojo/public/cpp/bindings/interface_request.h 2018-03-15 13:10:39.218462546 -0400
+@@ -54,7 +54,7 @@ class InterfaceRequest {
+ // Indicates whether the request currently contains a valid message pipe.
+ bool is_pending() const { return handle_.is_valid(); }
+
+- explicit operator bool() const { return handle_; }
++ explicit operator bool() const { return (bool) handle_; }
+
+ // Removes the message pipe from the request and returns it.
+ ScopedMessagePipeHandle PassMessagePipe() { return std::move(handle_); }
Copied: qt5-webengine/repos/staging-x86_64/qtwebengine-harmony.patch (from rev 324728, qt5-webengine/trunk/qtwebengine-harmony.patch)
===================================================================
--- staging-x86_64/qtwebengine-harmony.patch (rev 0)
+++ staging-x86_64/qtwebengine-harmony.patch 2018-05-22 08:39:02 UTC (rev 324729)
@@ -0,0 +1,77 @@
+--- qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2017-10-10 17:42:06.956950985 +0200
++++ qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2017-10-10 17:46:05.824187787 +0200
+@@ -99,8 +99,6 @@
+ FreeTypeLibrary()
+ : fGetVarDesignCoordinates(nullptr)
+ , fLibrary(nullptr)
+- , fIsLCDSupported(false)
+- , fLCDExtra(0)
+ {
+ if (FT_New_Library(&gFTMemory, &fLibrary)) {
+ return;
+@@ -147,12 +145,7 @@
+ }
+ #endif
+
+- // 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.
+- }
++ FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT);
+ }
+ ~FreeTypeLibrary() {
+ if (fLibrary) {
+@@ -161,8 +153,6 @@
+ }
+
+ 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 +163,6 @@
+
+ private:
+ FT_Library fLibrary;
+- bool fIsLCDSupported;
+- int fLCDExtra;
+
+ // FT_Library_SetLcdFilterWeights was introduced in FreeType 2.4.0.
+ // The following platforms provide FreeType of at least 2.4.0.
+@@ -704,17 +692,6 @@
+ rec->fTextSize = SkIntToScalar(1 << 14);
+ }
+
+- if (isLCD(*rec)) {
+- // TODO: re-work so that FreeType is set-up and selected by the SkFontMgr.
+- SkAutoMutexAcquire ama(gFTMutex);
+- ref_ft_library();
+- if (!gFTLibrary->isLCDSupported()) {
+- // If the runtime Freetype library doesn't support LCD, disable it here.
+- rec->fMaskFormat = SkMask::kA8_Format;
+- }
+- unref_ft_library();
+- }
+-
+ SkPaint::Hinting h = rec->getHinting();
+ if (SkPaint::kFull_Hinting == h && !isLCD(*rec)) {
+ // collapse full->normal hinting if we're not doing LCD
+@@ -1115,11 +1092,11 @@
+ void SkScalerContext_FreeType::updateGlyphIfLCD(SkGlyph* glyph) {
+ if (isLCD(fRec)) {
+ if (fLCDIsVert) {
+- glyph->fHeight += gFTLibrary->lcdExtra();
+- glyph->fTop -= gFTLibrary->lcdExtra() >> 1;
++ glyph->fHeight += 2;
++ glyph->fTop -= 1;
+ } else {
+- glyph->fWidth += gFTLibrary->lcdExtra();
+- glyph->fLeft -= gFTLibrary->lcdExtra() >> 1;
++ glyph->fWidth += 2;
++ glyph->fLeft -= 1;
+ }
+ }
+ }
More information about the arch-commits
mailing list