[WPE] Bump font related dependencies to match the GTK+ port
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 Jan 2019 10:11:46 +0000 (10:11 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 31 Jan 2019 10:11:46 +0000 (10:11 +0000)
https://bugs.webkit.org/show_bug.cgi?id=194017

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2019-01-31
Reviewed by Žan Doberšek.

* wpe/jhbuild.modules:
* wpe/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added.
* wpe/patches/icudata-stdlibs.patch: Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@240774 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Tools/ChangeLog
Tools/wpe/jhbuild.modules
Tools/wpe/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch [new file with mode: 0644]
Tools/wpe/patches/icudata-stdlibs.patch [new file with mode: 0644]

index 30914ff..e10899f 100644 (file)
@@ -1,3 +1,14 @@
+2019-01-31  Carlos Garcia Campos  <cgarcia@igalia.com>
+
+        [WPE] Bump font related dependencies to match the GTK+ port
+        https://bugs.webkit.org/show_bug.cgi?id=194017
+
+        Reviewed by Žan Doberšek.
+
+        * wpe/jhbuild.modules:
+        * wpe/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch: Added.
+        * wpe/patches/icudata-stdlibs.patch: Added.
+
 2019-01-30  Ryosuke Niwa  <rniwa@webkit.org>
 
         Enable swipe tests on iOS
index ecd59c4..820dcfb 100644 (file)
@@ -16,6 +16,7 @@
       <dep package="fontconfig"/>
       <dep package="freetype6"/>
       <dep package="harfbuzz"/>
+      <dep package="icu"/>
       <dep package="webkit-gstreamer-testing-dependencies"/>
       <dep package="woff2"/>
       <dep package="libwpe"/>
@@ -49,6 +50,8 @@
       href="https://www.gnupg.org/ftp/gcrypt/"/>
   <repository type="tarball" name="wpewebkit"
       href="https://wpewebkit.org/releases/"/>
+  <repository type="tarball" name="webkitgtk-jhbuild-mirror"
+      href="http://webkitgtk.org/jhbuild_mirror/"/>
 
   <cmake id="brotli">
     <branch repo="github.com" module="google/brotli.git" checkoutdir="brotli" tag="v1.0.1"/>
@@ -88,6 +91,9 @@
   </meson>
 
   <autotools id="libpsl">
+    <dependencies>
+      <dep package="icu"/>
+    </dependencies>
     <branch module="rockdaboot/libpsl/releases/download/libpsl-${version}/libpsl-${version}.tar.gz"
             version="0.20.2"
             repo="github-tarball"
 
   <autotools id="freetype6" autogen-sh="configure"
         autogenargs="--with-harfbuzz=no">
-    <branch module="freetype/freetype-2.8.tar.bz2" version="2.8"
+    <branch module="freetype/freetype-2.9.1.tar.bz2" version="2.9.1"
             repo="savannah.gnu.org"
-            hash="sha256:a3c603ed84c3c2495f9c9331fe6bba3bb0ee65e06ec331e0a0fb52158291b40b"/>
+            hash="sha256:db8d87ea720ea9d5edc5388fc7a0497bb11ba9fe972245e0f7f4c7e8b1e1e84d"/>
   </autotools>
 
   <autotools id="fontconfig" autogen-sh="configure"
     <dependencies>
       <dep package="freetype6"/>
     </dependencies>
-    <branch module="software/fontconfig/release/fontconfig-2.12.4.tar.bz2" version="2.12.4"
+    <branch module="software/fontconfig/release/fontconfig-2.13.1.tar.bz2" version="2.13.1"
             repo="freedesktop.org"
-            hash="sha256:668293fcc4b3c59765cdee5cee05941091c0879edcc24dfec5455ef83912e45c"/>
+            hash="sha256:f655dd2a986d7aa97e052261b36aa67b0a64989496361eca8d604e6414006741"/>
   </autotools>
 
   <autotools id="harfbuzz" autogen-sh="configure"
-        autogenargs="--with-cairo=no --with-glib=yes --with-freetype=yes --with-fontconfig=yes">
+        autogenargs="--with-cairo=no --with-glib=yes --with-freetype=yes --with-fontconfig=yes --with-icu=yes">
     <dependencies>
       <dep package="glib"/>
       <dep package="freetype6"/>
       <dep package="fontconfig"/>
+      <dep package="icu"/>
     </dependencies>
-    <branch module="software/harfbuzz/release/harfbuzz-1.3.3.tar.bz2"
-            version="1.3.3"
-            checkoutdir="harfbuzz-1.3.3"
+    <branch module="software/harfbuzz/release/harfbuzz-2.2.0.tar.bz2"
+            version="2.2.0"
+            checkoutdir="harfbuzz-2.2.0"
             repo="freedesktop.org"
-            hash="sha256:2620987115a4122b47321610dccbcc18f7f121115fd7b88dc8a695c8b66cb3c9"
-            md5sum="97ae15a72a93f1f27324a2b8d9bd3b1d">
+            hash="sha256:b7ccfcbd56b970a709e8b9ea9fb46c922c606c2feef8f086fb6a8492e530f810"/>
+  </autotools>
+
+  <autotools id="icu"
+             autogen-sh="./source/configure"
+             autogenargs="--disable-samples --enable-weak-threads">
+    <branch module="icu4c-63_1-src.tgz" version="63.1" checkoutdir="icu"
+            repo="webkitgtk-jhbuild-mirror"
+            hash="sha256:05c490b69454fce5860b7e8e2821231674af0a11d7ef2febea9a32512998cb9d">
+      <patch file="icudata-stdlibs.patch" strip="1"/>
     </branch>
   </autotools>
 
   <autotools id="pixman"
              autogen-sh="configure"
              autogenargs="--enable-gtk=no">
-    <branch module="releases/pixman-0.32.6.tar.gz" version="0.32.6"
+    <branch module="releases/pixman-0.34.0.tar.gz" version="0.34.0"
             repo="cairographics.org"
-            hash="sha256:3dfed13b8060eadabf0a4945c7045b7793cc7e3e910e748a8bb0f0dc3e794904"/>
+            hash="sha1:a1b1683c1a55acce9d928fea1ab6ceb79142ddc7"/>
   </autotools>
 
   <autotools id="cairo"
       <dep package="fontconfig"/>
       <dep package="pixman"/>
     </dependencies>
-    <branch module="releases/cairo-1.14.8.tar.xz" version="1.14.8"
+    <branch module="releases/cairo-1.16.0.tar.xz" version="1.16.0"
             repo="cairographics.org"
-            hash="sha1:c6f7b99986f93c9df78653c3e6a3b5043f65145e"/>
+            hash="sha1:00e81842ae5e81bb0343108884eb5205be0eac14">
+      <!-- See https://gitlab.freedesktop.org/cairo/cairo/merge_requests/5 -->
+      <patch file="cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch" strip="1"/>
+    </branch>
   </autotools>
 
   <cmake id="libwpe">
diff --git a/Tools/wpe/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch b/Tools/wpe/patches/cairo-ft-Use-FT_Done_MM_Var-instead-of-free-when-available.patch
new file mode 100644 (file)
index 0000000..210d7d1
--- /dev/null
@@ -0,0 +1,30 @@
+From b84d0cfd25f82eb25e0b3a708005a9d5502069c7 Mon Sep 17 00:00:00 2001
+From: Carlos Garcia Campos <cgarcia@igalia.com>
+Date: Mon, 19 Nov 2018 12:33:07 +0100
+Subject: [PATCH 1/2] ft: Use FT_Done_MM_Var instead of free when available in
+ cairo_ft_apply_variations
+
+Fixes a crash when using freetype >= 2.9
+---
+ src/cairo-ft-font.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/src/cairo-ft-font.c b/src/cairo-ft-font.c
+index 325dd61b4..981973f78 100644
+--- a/src/cairo-ft-font.c
++++ b/src/cairo-ft-font.c
+@@ -2393,7 +2393,11 @@ skip:
+ done:
+         free (coords);
+         free (current_coords);
++#if HAVE_FT_DONE_MM_VAR
++        FT_Done_MM_Var (face->glyph->library, ft_mm_var);
++#else
+         free (ft_mm_var);
++#endif
+     }
+ }
+-- 
+2.19.2
+
diff --git a/Tools/wpe/patches/icudata-stdlibs.patch b/Tools/wpe/patches/icudata-stdlibs.patch
new file mode 100644 (file)
index 0000000..5e92bde
--- /dev/null
@@ -0,0 +1,15 @@
+Index: icu-52~m1/source/config/mh-linux
+===================================================================
+--- icu-52~m1.orig/source/config/mh-linux      2013-09-14 18:53:23.284040467 -0400
++++ icu-52~m1/source/config/mh-linux   2013-09-14 18:53:23.284040467 -0400
+@@ -21,7 +21,9 @@
+ LD_RPATH_PRE = -Wl,-rpath,
+ ## These are the library specific LDFLAGS
+-LDFLAGSICUDT=-nodefaultlibs -nostdlib
++#LDFLAGSICUDT=-nodefaultlibs -nostdlib
++# Debian change: linking icudata as data only causes too many problems.
++LDFLAGSICUDT=
+ ## Compiler switch to embed a library name
+ # The initial tab in the next line is to prevent icu-config from reading it.