Date: Wednesday, December 5, 2018 @ 13:07:37 Author: arojas Revision: 341028
archrelease: copy trunk to staging-x86_64 Added: qt5-webengine/repos/staging-x86_64/ qt5-webengine/repos/staging-x86_64/PKGBUILD (from rev 341027, qt5-webengine/trunk/PKGBUILD) qt5-webengine/repos/staging-x86_64/qtwebengine-harmony.patch (from rev 341027, qt5-webengine/trunk/qtwebengine-harmony.patch) ---------------------------+ PKGBUILD | 65 +++++++++++++++++++++++++++++++++++++ qtwebengine-harmony.patch | 77 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 142 insertions(+) Copied: qt5-webengine/repos/staging-x86_64/PKGBUILD (from rev 341027, qt5-webengine/trunk/PKGBUILD) =================================================================== --- staging-x86_64/PKGBUILD (rev 0) +++ staging-x86_64/PKGBUILD 2018-12-05 13:07:37 UTC (rev 341028) @@ -0,0 +1,65 @@ +# Maintainer: Felix Yan <felixonm...@archlinux.org> +# Contributor: Andrea Scarpino <and...@archlinux.org> + +pkgname=qt5-webengine +_qtver=5.12.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' 'libxslt' 'minizip' 'ffmpeg' 're2' 'libvpx') +makedepends=('python2' 'git' 'gperf' 'jsoncpp' 'ninja' 'qt5-tools' 'poppler') +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 + qtbug-71370.patch::"http://code.qt.io/cgit/qt/qtwebengine.git/patch/?id=20238f2c" + qtbug-69605.patch::"http://code.qt.io/cgit/qt/qtwebengine.git/patch/?id=721cd2d2") +sha256sums=('bd581e390a30e0f74d41b0e3334b3cf612dd4af23de36a3bf5931d5b4453687c' + 'feca54ab09ac0fc9d0626770a6b899a6ac5a12173c7d0c1005bc3964ec83e7b3' + '58aaec357311fcf72b1d94c40f5159b84c835bbf41fcf9a0977368c99bea70f4' + '8f44545a6acd1bc58c7ddd8ff369a818102b6a1fecd132eb2508b18fd1433d8b') + +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 + # https://bugreports.qt.io/browse/QTBUG-71370 + patch -p1 -i ../qtbug-71370.patch + # https://bugreports.qt.io/browse/QTBUG-69605 + patch -p1 -i ../qtbug-69605.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-harmony.patch (from rev 341027, qt5-webengine/trunk/qtwebengine-harmony.patch) =================================================================== --- staging-x86_64/qtwebengine-harmony.patch (rev 0) +++ staging-x86_64/qtwebengine-harmony.patch 2018-12-05 13:07:37 UTC (rev 341028) @@ -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; + } + } + }