]> git.pld-linux.org Git - packages/qt5-qtwebengine.git/commitdiff
fix build with harfbuzz 3.0.0
authorJan Palus <atler@pld-linux.org>
Sat, 18 Sep 2021 23:57:26 +0000 (01:57 +0200)
committerJan Palus <atler@pld-linux.org>
Sat, 18 Sep 2021 23:59:40 +0000 (01:59 +0200)
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 [new file with mode: 0644]
qt5-qtwebengine.spec

diff --git a/harfbuzz3.patch b/harfbuzz3.patch
new file mode 100644 (file)
index 0000000..0ec7922
--- /dev/null
@@ -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));
+ }
index 43f7db270fcc8fb7f021dec5507f49391b323e39..9233080e789593244ac5c57bbd8d2da2f1204ed0 100644 (file)
@@ -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}
 
This page took 0.033261 seconds and 4 git commands to generate.