[arch-commits] Commit in chromium/trunk (3 files)

Evangelos Foutras foutrelis at archlinux.org
Thu Dec 3 02:52:46 UTC 2020


    Date: Thursday, December 3, 2020 @ 02:52:46
  Author: foutrelis
Revision: 402840

upgpkg: chromium 87.0.4280.88-1: new upstream release

Added:
  chromium/trunk/subpixel-anti-aliasing-in-FreeType-2.8.1.patch
Modified:
  chromium/trunk/PKGBUILD
Deleted:
  chromium/trunk/chromium-skia-harmony.patch

------------------------------------------------+
 PKGBUILD                                       |   14 +--
 chromium-skia-harmony.patch                    |   14 ---
 subpixel-anti-aliasing-in-FreeType-2.8.1.patch |  100 +++++++++++++++++++++++
 3 files changed, 106 insertions(+), 22 deletions(-)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2020-12-03 02:11:09 UTC (rev 402839)
+++ PKGBUILD	2020-12-03 02:52:46 UTC (rev 402840)
@@ -4,7 +4,7 @@
 # Contributor: Daniel J Griffiths <ghost1227 at archlinux.us>
 
 pkgname=chromium
-pkgver=87.0.4280.66
+pkgver=87.0.4280.88
 pkgrel=1
 _launcher_ver=6
 _gcc_patchset=9
@@ -27,11 +27,11 @@
 source=(https://commondatastorage.googleapis.com/chromium-browser-official/$pkgname-$pkgver.tar.xz
         https://github.com/foutrelis/chromium-launcher/archive/v$_launcher_ver/chromium-launcher-$_launcher_ver.tar.gz
         https://github.com/stha09/chromium-patches/releases/download/chromium-${pkgver%%.*}-patchset-$_gcc_patchset/chromium-${pkgver%%.*}-patchset-$_gcc_patchset.tar.xz
-        chromium-skia-harmony.patch)
-sha256sums=('29a8e4ea82edec2fdcf34ece68323bec7ab90f3d5669e6b77f58cff9c278f741'
+        subpixel-anti-aliasing-in-FreeType-2.8.1.patch)
+sha256sums=('3e4645328735ef60db78d1a313efb3770a3edeaede90d076414df52f567a09c0'
             '04917e3cd4307d8e31bfb0027a5dce6d086edb10ff8a716024fbb8bb0c7dccf1'
             'c99934bcd2f3ae8ea9620f5f59a94338b2cf739647f04c28c8a551d9083fa7e9'
-            '771292942c0901092a402cc60ee883877a99fb804cb54d568c8c6c94565a48e1')
+            '1e2913e21c491d546e05f9b4edf5a6c7a22d89ed0b36ef692ca6272bcd5faec6')
 
 # Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
 # Keys are the names in the above script; values are the dependencies in Arch
@@ -80,14 +80,12 @@
     third_party/libxml/chromium/*.cc
 
   # Upstream fixes
+  patch -Np1 -d third_party/skia <../subpixel-anti-aliasing-in-FreeType-2.8.1.patch
 
   # Fixes for building with libstdc++ instead of libc++
   patch -Np1 -i ../patches/chromium-87-ServiceWorkerContainerHost-crash.patch
   patch -Np1 -i ../patches/chromium-87-openscreen-include.patch
 
-  # https://crbug.com/skia/6663#c10
-  patch -Np0 -i ../chromium-skia-harmony.patch
-
   # Force script incompatible with Python 3 to use /usr/bin/python2
   sed -i '1s|python$|&2|' third_party/dom_distiller_js/protoc_plugins/*.py
 
@@ -166,7 +164,7 @@
   CFLAGS+='   -Wno-unknown-warning-option'
   CXXFLAGS+=' -Wno-unknown-warning-option'
 
-  gn gen out/Release --args="${_flags[*]}" --script-executable=/usr/bin/python2
+  gn gen out/Release --args="${_flags[*]}" --script-executable=python2
   ninja -C out/Release chrome chrome_sandbox chromedriver
 }
 

Deleted: chromium-skia-harmony.patch
===================================================================
--- chromium-skia-harmony.patch	2020-12-03 02:11:09 UTC (rev 402839)
+++ chromium-skia-harmony.patch	2020-12-03 02:52:46 UTC (rev 402840)
@@ -1,14 +0,0 @@
---- third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig	2019-07-19 11:08:34.770972665 +0000
-+++ third_party/skia/src/ports/SkFontHost_FreeType.cpp	2019-07-19 11:08:44.274442065 +0000
-@@ -128,9 +128,9 @@ public:
-         : fGetVarDesignCoordinates(nullptr)
-         , fGetVarAxisFlags(nullptr)
-         , fLibrary(nullptr)
--        , fIsLCDSupported(false)
-+        , fIsLCDSupported(true)
-         , fLightHintingIsYOnly(false)
--        , fLCDExtra(0)
-+        , fLCDExtra(2)
-     {
-         if (FT_New_Library(&gFTMemory, &fLibrary)) {
-             return;

Added: subpixel-anti-aliasing-in-FreeType-2.8.1.patch
===================================================================
--- subpixel-anti-aliasing-in-FreeType-2.8.1.patch	                        (rev 0)
+++ subpixel-anti-aliasing-in-FreeType-2.8.1.patch	2020-12-03 02:52:46 UTC (rev 402840)
@@ -0,0 +1,100 @@
+From f25787b72c20e97cdeb74e037dc1ff56a88b45c6 Mon Sep 17 00:00:00 2001
+From: Ben Wagner <bungeman at google.com>
+Date: Tue, 1 Dec 2020 20:22:00 -0500
+Subject: [PATCH] Subpixel anti-aliasing in FreeType 2.8.1+
+
+FreeType 2.8.1 and later always provide some form of subpixel
+anti-aliasing.
+
+Bug: skia:10950,skia:6663
+Change-Id: I666cc942e73b73073cdabf900c25faa10d9aaf0f
+Reviewed-on: https://skia-review.googlesource.com/c/skia/+/339861
+Reviewed-by: Herb Derby <herb at google.com>
+Commit-Queue: Ben Wagner <bungeman at google.com>
+---
+ src/ports/SkFontHost_FreeType.cpp | 33 ++++++++++++++++++++-----------
+ 1 file changed, 22 insertions(+), 11 deletions(-)
+
+diff --git a/src/ports/SkFontHost_FreeType.cpp b/src/ports/SkFontHost_FreeType.cpp
+index 990eff4f5e..c0aeb792da 100644
+--- a/src/ports/SkFontHost_FreeType.cpp
++++ b/src/ports/SkFontHost_FreeType.cpp
+@@ -32,6 +32,7 @@
+ #include "src/utils/SkMatrix22.h"
+ 
+ #include <memory>
++#include <tuple>
+ 
+ #include <ft2build.h>
+ #include FT_ADVANCES_H
+@@ -147,13 +148,16 @@ public:
+         // *reinterpret_cast<void**>(&procPtr) = dlsym(self, "proc");
+         // because clang has not implemented DR573. See http://clang.llvm.org/cxx_dr_status.html .
+ 
+-        FT_Int major, minor, patch;
+-        FT_Library_Version(fLibrary, &major, &minor, &patch);
++        using Version = std::tuple<FT_Int, FT_Int, FT_Int>;
++        Version version;
++        FT_Library_Version(fLibrary, &std::get<0>(version),
++                                     &std::get<1>(version),
++                                     &std::get<2>(version));
+ 
+ #if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02070100
+         fGetVarDesignCoordinates = FT_Get_Var_Design_Coordinates;
+ #elif SK_FREETYPE_MINIMUM_RUNTIME_VERSION & SK_FREETYPE_DLOPEN
+-        if (major > 2 || ((major == 2 && minor > 7) || (major == 2 && minor == 7 && patch >= 0))) {
++        if (Version(2,7,0) <= version) {
+             //The FreeType library is already loaded, so symbols are available in process.
+             void* self = dlopen(nullptr, RTLD_LAZY);
+             if (self) {
+@@ -166,7 +170,7 @@ public:
+ #if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02070200
+         FT_Set_Default_Properties(fLibrary);
+ #elif SK_FREETYPE_MINIMUM_RUNTIME_VERSION & SK_FREETYPE_DLOPEN
+-        if (major > 2 || ((major == 2 && minor > 7) || (major == 2 && minor == 7 && patch >= 1))) {
++        if (Version(2,7,1) <= version) {
+             //The FreeType library is already loaded, so symbols are available in process.
+             void* self = dlopen(nullptr, RTLD_LAZY);
+             if (self) {
+@@ -185,7 +189,7 @@ public:
+ #if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02080000
+         fLightHintingIsYOnly = true;
+ #else
+-        if (major > 2 || ((major == 2 && minor > 8) || (major == 2 && minor == 8 && patch >= 0))) {
++        if (Version(2,8,0) <= version) {
+             fLightHintingIsYOnly = true;
+         }
+ #endif
+@@ -194,7 +198,7 @@ public:
+ #if SK_FREETYPE_MINIMUM_RUNTIME_VERSION >= 0x02080100
+         fGetVarAxisFlags = FT_Get_Var_Axis_Flags;
+ #elif SK_FREETYPE_MINIMUM_RUNTIME_VERSION & SK_FREETYPE_DLOPEN
+-        if (major > 2 || ((major == 2 && minor > 7) || (major == 2 && minor == 7 && patch >= 0))) {
++        if (Version(2,7,0) <= version) {
+             //The FreeType library is already loaded, so symbols are available in process.
+             void* self = dlopen(nullptr, RTLD_LAZY);
+             if (self) {
+@@ -204,11 +208,18 @@ public:
+         }
+ #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.
++        fIsLCDSupported =
++            // Subpixel anti-aliasing may be unfiltered until the LCD filter is set.
++            // Newer versions may still need this, so this test with side effects must come first.
++            // The default has changed over time, so this doesn't mean the same thing to all users.
++            (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) ||
++
++            // In 2.8.1 and later FreeType always provides some form of subpixel anti-aliasing.
++            ((SK_FREETYPE_MINIMUM_RUNTIME_VERSION) >= 0x02080100) ||
++            (Version(2,8,1) <= version);
++
++        if (fIsLCDSupported) {
++            fLCDExtra = 2; // Using a filter may require up to one full pixel to each side.
+         }
+     }
+     ~FreeTypeLibrary() {



More information about the arch-commits mailing list