[arch-commits] Commit in chromium/trunk (PKGBUILD chromium-freetype-2.11.patch)

Evangelos Foutras foutrelis at gemini.archlinux.org
Wed Aug 4 07:32:22 UTC 2021


    Date: Wednesday, August 4, 2021 @ 07:32:22
  Author: foutrelis
Revision: 421116

Fix build with FreeType 2.11

Added:
  chromium/trunk/chromium-freetype-2.11.patch
Modified:
  chromium/trunk/PKGBUILD

------------------------------+
 PKGBUILD                     |    5 ++++
 chromium-freetype-2.11.patch |   50 +++++++++++++++++++++++++++++++++++++++++
 2 files changed, 55 insertions(+)

Modified: PKGBUILD
===================================================================
--- PKGBUILD	2021-08-04 06:52:55 UTC (rev 421115)
+++ PKGBUILD	2021-08-04 07:32:22 UTC (rev 421116)
@@ -28,6 +28,7 @@
         linux-sandbox-syscall-broker-use-struct-kernel_stat.patch
         linux-sandbox-fix-fstatat-crash.patch
         sql-make-VirtualCursor-standard-layout-type.patch
+        chromium-freetype-2.11.patch
         use-oauth2-client-switches-as-default.patch)
 sha256sums=('b6ac840ed5390de69f962e922649bf1df895ff0f5db8e5f656b5191e0cf4ce3a'
             '213e50f48b67feb4441078d50b0fd431df34323be15be97c55302d3fdac4483a'
@@ -36,6 +37,7 @@
             '268e18ad56e5970157b51ec9fc8eb58ba93e313ea1e49c842a1ed0820d9c1fa3'
             '253348550d54b8ae317fd250f772f506d2bae49fb5dc75fe15d872ea3d0e04a5'
             'dd317f85e5abfdcfc89c6f23f4c8edbcdebdd5e083dcec770e5da49ee647d150'
+            '7ef689cd6b2f85f2b76b2a10ecede003cfa0c2da15acc998ecbc445f2c95ced6'
             'e393174d7695d0bafed69e868c5fbfecf07aa6969f3b64596d0bae8b067e1711')
 
 # Possible replacements are listed in build/linux/unbundle/replace_gn_files.py
@@ -90,6 +92,9 @@
   # runtime -- this allows signing into Chromium without baked-in values
   patch -Np1 -i ../use-oauth2-client-switches-as-default.patch
 
+  # Fix build with FreeType 2.11 (patch from Gentoo)
+  patch -Np1 -i ../chromium-freetype-2.11.patch
+
   # Upstream fixes
   patch -Np1 -i ../extend-enable-accelerated-video-decode-flag.patch
   patch -Np1 -i ../linux-sandbox-syscall-broker-use-struct-kernel_stat.patch

Added: chromium-freetype-2.11.patch
===================================================================
--- chromium-freetype-2.11.patch	                        (rev 0)
+++ chromium-freetype-2.11.patch	2021-08-04 07:32:22 UTC (rev 421116)
@@ -0,0 +1,50 @@
+--- a/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp
++++ b/third_party/skia/src/ports/SkFontHost_FreeType_common.cpp
+@@ -712,7 +712,11 @@ void colrv1_draw_paint(SkCanvas* canvas,
+             canvas->drawPaint(colrPaint);
+             break;
+         }
++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
++        case FT_COLR_PAINTFORMAT_TRANSFORM:
++#else
+         case FT_COLR_PAINTFORMAT_TRANSFORMED:
++#endif
+         case FT_COLR_PAINTFORMAT_TRANSLATE:
+         case FT_COLR_PAINTFORMAT_ROTATE:
+         case FT_COLR_PAINTFORMAT_SKEW:
+@@ -759,10 +763,17 @@ void colrv1_transform(SkCanvas* canvas, FT_Face face, FT_COLR_Paint colrv1_paint
+     SkMatrix transform;
+ 
+     switch (colrv1_paint.format) {
++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
++        case FT_COLR_PAINTFORMAT_TRANSFORM: {
++            transform = ToSkMatrix(colrv1_paint.u.transform.affine);
++            break;
++        }
++#else
+         case FT_COLR_PAINTFORMAT_TRANSFORMED: {
+             transform = ToSkMatrix(colrv1_paint.u.transformed.affine);
+             break;
+         }
++#endif
+         case FT_COLR_PAINTFORMAT_TRANSLATE: {
+             transform = SkMatrix::Translate(
+                 SkFixedToScalar(colrv1_paint.u.translate.dx),
+@@ -880,10 +891,17 @@ bool colrv1_traverse_paint(SkCanvas* canvas,
+             traverse_result = colrv1_start_glyph(canvas, palette, face, paint.u.colr_glyph.glyphID,
+                                                  FT_COLOR_NO_ROOT_TRANSFORM);
+             break;
++#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR >= 11
++        case FT_COLR_PAINTFORMAT_TRANSFORM:
++            colrv1_transform(canvas, face, paint);
++            traverse_result = colrv1_traverse_paint(canvas, palette, face,
++                                                    paint.u.transform.paint, visited_set);
++#else
+         case FT_COLR_PAINTFORMAT_TRANSFORMED:
+             colrv1_transform(canvas, face, paint);
+             traverse_result = colrv1_traverse_paint(canvas, palette, face,
+                                                     paint.u.transformed.paint, visited_set);
++#endif
+             break;
+         case FT_COLR_PAINTFORMAT_TRANSLATE:
+             colrv1_transform(canvas, face, paint);



More information about the arch-commits mailing list