[arch-commits] Commit in qt5-webengine/repos (4 files)

Evangelos Foutras foutrelis at archlinux.org
Mon Aug 6 19:48:37 UTC 2018


    Date: Monday, August 6, 2018 @ 19:48:36
  Author: foutrelis
Revision: 331035

archrelease: copy trunk to staging-x86_64

Added:
  qt5-webengine/repos/staging-x86_64/
  qt5-webengine/repos/staging-x86_64/PKGBUILD
    (from rev 331034, qt5-webengine/trunk/PKGBUILD)
  qt5-webengine/repos/staging-x86_64/qtwebengine-ffmpeg4.patch
    (from rev 331034, qt5-webengine/trunk/qtwebengine-ffmpeg4.patch)
  qt5-webengine/repos/staging-x86_64/qtwebengine-harmony.patch
    (from rev 331034, qt5-webengine/trunk/qtwebengine-harmony.patch)

---------------------------+
 PKGBUILD                  |   71 ++++++++++++++++++++++++++++++++++++++++
 qtwebengine-ffmpeg4.patch |   13 +++++++
 qtwebengine-harmony.patch |   77 ++++++++++++++++++++++++++++++++++++++++++++
 3 files changed, 161 insertions(+)

Copied: qt5-webengine/repos/staging-x86_64/PKGBUILD (from rev 331034, qt5-webengine/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2018-08-06 19:48:36 UTC (rev 331035)
@@ -0,0 +1,71 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=qt5-webengine
+_qtver=5.11.1
+pkgver=${_qtver/-/}
+pkgrel=3
+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-ffmpeg4.patch
+         qtwebengine-wayland.patch::"http://code.qt.io/cgit/qt/qtwebengine.git/patch/?id=a66d4cd8"
+         qtbug-68699.patch::"http://code.qt.io/cgit/qt/qtwebengine.git/patch/?id=6e019f2a")
+sha256sums=('389d9f42ca393ac11ec8932ce9771766dec91a4c761ffb685cc429c2a760d48c'
+            'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3'
+            '4a831d89fb0d6a6ced23115ced71e60513ce279fba4bd493178842647948f510'
+            '6baeb241165a1fd94ada95b27924ba55f74761b1b9d406d73ebcce4b139abf60'
+            '1f3eff42911e2ad6e6db8b2c5d4b230031c577e3396f37b1e73c33bcef16f6bb')
+
+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 openGL detection on Wayland
+  patch -p1 -i ../qtwebengine-wayland.patch
+  # Fix crash when scrolling on touchscreen https://bugreports.qt.io/browse/QTBUG-68699
+  patch -p1 -i ../qtbug-68699.patch
+
+  cd src/3rdparty/chromium
+  # 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 331034, qt5-webengine/trunk/qtwebengine-ffmpeg4.patch)
===================================================================
--- staging-x86_64/qtwebengine-ffmpeg4.patch	                        (rev 0)
+++ staging-x86_64/qtwebengine-ffmpeg4.patch	2018-08-06 19:48:36 UTC (rev 331035)
@@ -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-harmony.patch (from rev 331034, qt5-webengine/trunk/qtwebengine-harmony.patch)
===================================================================
--- staging-x86_64/qtwebengine-harmony.patch	                        (rev 0)
+++ staging-x86_64/qtwebengine-harmony.patch	2018-08-06 19:48:36 UTC (rev 331035)
@@ -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