commit d40d84d25b43e64b62161e7ae423a6261cd20ba3
Author: Jan Palus <[email protected]>
Date:   Sun Sep 19 01:57:26 2021 +0200

    fix build with harfbuzz 3.0.0
    
    harfbuzz 3.0.0 stabilized subset api along with many breaking changes
    (no soname bump though due to subset api being considered unstable
    before). from now on require harfbuzz 3.0.0 to avoid issues with missing
    symbols.

 harfbuzz3.patch      | 30 ++++++++++++++++++++++++++++++
 qt5-qtwebengine.spec | 10 ++++++----
 2 files changed, 36 insertions(+), 4 deletions(-)
---
diff --git a/qt5-qtwebengine.spec b/qt5-qtwebengine.spec
index 43f7db2..9233080 100644
--- a/qt5-qtwebengine.spec
+++ b/qt5-qtwebengine.spec
@@ -26,6 +26,7 @@ Patch1:               %{name}-gn-dynamic.patch
 Patch2:                icu.patch
 Patch3:                glibc-2.33.patch
 Patch4:                glibc2.34.patch
+Patch5:                harfbuzz3.patch
 URL:           https://www.qt.io/
 BuildRequires: Qt5Core-devel >= %{qtbase_ver}
 BuildRequires: Qt5Designer-devel >= %{qttools_ver}
@@ -52,8 +53,8 @@ BuildRequires:        glib2-devel >= 1:2.32.0
 BuildRequires: glibc-misc >= 6:2.17
 BuildRequires: glibc-devel >= 6:2.17
 BuildRequires: gperf
-BuildRequires: harfbuzz-devel >= 2.4.0
-BuildRequires: harfbuzz-subset-devel >= 2.4.0
+BuildRequires: harfbuzz-devel >= 3.0.0
+BuildRequires: harfbuzz-subset-devel >= 3.0.0
 # webengine-system-jsoncpp disabled in src/core/config/linux.pri
 #BuildRequires:        jsoncpp-devel
 BuildRequires: khrplatform-devel
@@ -147,8 +148,8 @@ Group:              Libraries
 %requires_ge_to        Qt5WebChannel Qt5WebChannel-devel
 Requires:      alsa-lib >= 1.0.10
 Requires:      freetype >= 1:2.4.2
-Requires:      harfbuzz >= 2.4.0
-Requires:      harfbuzz-subset >= 2.4.0
+Requires:      harfbuzz >= 3.0.0
+Requires:      harfbuzz-subset >= 3.0.0
 Requires:      libicu >= 65
 Requires:      libpng >= 2:1.6.0
 %{?with_system_libvpx:Requires:        libvpx >= 1.8.0}
@@ -286,6 +287,7 @@ Przykłady do biblioteki Qt5 WebEngine.
 cd src/3rdparty/chromium
 %patch4 -p1
 cd ../../..
+%patch5 -p1
 
 %{qt5bindir}/syncqt.pl -version %{version}
 
diff --git a/harfbuzz3.patch b/harfbuzz3.patch
new file mode 100644
index 0000000..0ec7922
--- /dev/null
+++ b/harfbuzz3.patch
@@ -0,0 +1,30 @@
+-2.4.0-- 
qtwebengine/src/3rdparty/chromium/components/paint_preview/common/subset_font.cc.orig
 2021-09-08 23:31:22.000000000 +0200
++++ 
qtwebengine/src/3rdparty/chromium/components/paint_preview/common/subset_font.cc
   2021-09-18 23:41:59.009246422 +0200
+@@ -71,9 +71,9 @@
+   hb_set_t* glyphs =
+       hb_subset_input_glyph_set(input.get());  // Owned by |input|.
+   usage.ForEach(base::BindRepeating(&AddGlyphs, base::Unretained(glyphs)));
+-  hb_subset_input_set_retain_gids(input.get(), true);
++  hb_subset_input_set_flags(input.get(), HB_SUBSET_FLAGS_RETAIN_GIDS);
+ 
+-  HbScoped<hb_face_t> subset_face(hb_subset(face.get(), input.get()));
++  HbScoped<hb_face_t> subset_face(hb_subset_or_fail(face.get(), input.get()));
+   HbScoped<hb_blob_t> subset_blob(hb_face_reference_blob(subset_face.get()));
+   if (!subset_blob)
+     return nullptr;
+--- 
qtwebengine/src/3rdparty/chromium/third_party/skia/src/pdf/SkPDFSubsetFont.cpp.orig
        2021-09-08 23:31:29.000000000 +0200
++++ 
qtwebengine/src/3rdparty/chromium/third_party/skia/src/pdf/SkPDFSubsetFont.cpp  
   2021-09-19 00:00:20.185565236 +0200
+@@ -71,11 +71,10 @@
+     hb_set_t* glyphs = hb_subset_input_glyph_set(input.get());
+     glyphUsage.getSetValues([&glyphs](unsigned gid) { hb_set_add(glyphs, 
gid);});
+ 
+-    hb_subset_input_set_retain_gids(input.get(), true);
++    hb_subset_input_set_flags(input.get(), HB_SUBSET_FLAGS_RETAIN_GIDS);
+     // TODO: When possible, check if a font is 'tricky' with FT_IS_TRICKY.
+     // If it isn't known if a font is 'tricky', retain the hints.
+-    hb_subset_input_set_drop_hints(input.get(), false);
+-    HBFace subset(hb_subset(face.get(), input.get()));
++    HBFace subset(hb_subset_or_fail(face.get(), input.get()));
+     HBBlob result(hb_face_reference_blob(subset.get()));
+     return to_data(std::move(result));
+ }
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/qt5-qtwebengine.git/commitdiff/d40d84d25b43e64b62161e7ae423a6261cd20ba3

_______________________________________________
pld-cvs-commit mailing list
[email protected]
http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit

Reply via email to