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

Antonio Rojas arojas at archlinux.org
Sun Oct 15 16:40:36 UTC 2017


    Date: Sunday, October 15, 2017 @ 16:40:34
  Author: arojas
Revision: 307952

archrelease: copy trunk to staging-i686, staging-x86_64

Added:
  qt5-webengine/repos/staging-i686/
  qt5-webengine/repos/staging-i686/PKGBUILD
    (from rev 307951, qt5-webengine/trunk/PKGBUILD)
  qt5-webengine/repos/staging-i686/harmony-fix.diff
    (from rev 307951, qt5-webengine/trunk/harmony-fix.diff)
  qt5-webengine/repos/staging-x86_64/
  qt5-webengine/repos/staging-x86_64/PKGBUILD
    (from rev 307951, qt5-webengine/trunk/PKGBUILD)
  qt5-webengine/repos/staging-x86_64/harmony-fix.diff
    (from rev 307951, qt5-webengine/trunk/harmony-fix.diff)

---------------------------------+
 staging-i686/PKGBUILD           |   54 +++++++++++++++++++++++++++++
 staging-i686/harmony-fix.diff   |   69 ++++++++++++++++++++++++++++++++++++++
 staging-x86_64/PKGBUILD         |   54 +++++++++++++++++++++++++++++
 staging-x86_64/harmony-fix.diff |   69 ++++++++++++++++++++++++++++++++++++++
 4 files changed, 246 insertions(+)

Copied: qt5-webengine/repos/staging-i686/PKGBUILD (from rev 307951, qt5-webengine/trunk/PKGBUILD)
===================================================================
--- staging-i686/PKGBUILD	                        (rev 0)
+++ staging-i686/PKGBUILD	2017-10-15 16:40:34 UTC (rev 307952)
@@ -0,0 +1,54 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=qt5-webengine
+_qtver=5.9.2
+pkgver=${_qtver/-/}
+pkgrel=2
+arch=('i686' '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' 'libvpx' 
+         'libevent' 'libsrtp' 'snappy' 'nss' 'protobuf' 'libxslt' 'libxdamage' 'minizip' 'ffmpeg')
+         # namcap note: libxdamage is needed for nvidia users
+makedepends=('python2' 'git' 'gperf' 'jsoncpp' 'ninja')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
+         harmony-fix.diff)
+sha256sums=('cab069e4589f806640bebe4077c70e5cd5ffeb146c6e8caca6c4454fc0c4a108'
+            '2c309c0f6978e6a399422319b5034b01881d5526cf48b2ee5fcc7f418029a344')
+
+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 ../harmony-fix.diff
+}
+
+build() {
+  cd build
+
+  export PATH="$srcdir/bin:$PATH"
+  qmake CONFIG+="proprietary-codecs" WEBENGINE_CONFIG+="use_proprietary_codecs use_system_ffmpeg use_system_icu" ../${_pkgfqn}
+  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-i686/harmony-fix.diff (from rev 307951, qt5-webengine/trunk/harmony-fix.diff)
===================================================================
--- staging-i686/harmony-fix.diff	                        (rev 0)
+++ staging-i686/harmony-fix.diff	2017-10-15 16:40:34 UTC (rev 307952)
@@ -0,0 +1,69 @@
+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) {
+         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.
+         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 @@
+     }
+ 
+     FT_Library library() { return fLibrary; }
+-    bool isLCDSupported() { return fIsLCDSupported; }
+-    int lcdExtra() { return fLCDExtra; }
+ 
+ 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.
+@@ -633,17 +627,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
+@@ -1046,11 +1029,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;
+         }
+     }
+ }

Copied: qt5-webengine/repos/staging-x86_64/PKGBUILD (from rev 307951, qt5-webengine/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2017-10-15 16:40:34 UTC (rev 307952)
@@ -0,0 +1,54 @@
+# $Id$
+# Maintainer: Felix Yan <felixonmars at archlinux.org>
+# Contributor: Andrea Scarpino <andrea at archlinux.org>
+
+pkgname=qt5-webengine
+_qtver=5.9.2
+pkgver=${_qtver/-/}
+pkgrel=2
+arch=('i686' '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' 'libvpx' 
+         'libevent' 'libsrtp' 'snappy' 'nss' 'protobuf' 'libxslt' 'libxdamage' 'minizip' 'ffmpeg')
+         # namcap note: libxdamage is needed for nvidia users
+makedepends=('python2' 'git' 'gperf' 'jsoncpp' 'ninja')
+groups=('qt' 'qt5')
+_pkgfqn="${pkgname/5-/}-opensource-src-${_qtver}"
+source=("http://download.qt.io/official_releases/qt/${pkgver%.*}/${_qtver}/submodules/${_pkgfqn}.tar.xz"
+         harmony-fix.diff)
+sha256sums=('cab069e4589f806640bebe4077c70e5cd5ffeb146c6e8caca6c4454fc0c4a108'
+            '2c309c0f6978e6a399422319b5034b01881d5526cf48b2ee5fcc7f418029a344')
+
+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 ../harmony-fix.diff
+}
+
+build() {
+  cd build
+
+  export PATH="$srcdir/bin:$PATH"
+  qmake CONFIG+="proprietary-codecs" WEBENGINE_CONFIG+="use_proprietary_codecs use_system_ffmpeg use_system_icu" ../${_pkgfqn}
+  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/harmony-fix.diff (from rev 307951, qt5-webengine/trunk/harmony-fix.diff)
===================================================================
--- staging-x86_64/harmony-fix.diff	                        (rev 0)
+++ staging-x86_64/harmony-fix.diff	2017-10-15 16:40:34 UTC (rev 307952)
@@ -0,0 +1,69 @@
+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) {
+         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.
+         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 @@
+     }
+ 
+     FT_Library library() { return fLibrary; }
+-    bool isLCDSupported() { return fIsLCDSupported; }
+-    int lcdExtra() { return fLCDExtra; }
+ 
+ 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.
+@@ -633,17 +627,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
+@@ -1046,11 +1029,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