From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gentoo-commits+bounces-1328679-garchives=archives.gentoo.org@lists.gentoo.org>
Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80])
	(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
	(No client certificate requested)
	by finch.gentoo.org (Postfix) with ESMTPS id 8D658158086
	for <garchives@archives.gentoo.org>; Sat,  9 Oct 2021 22:24:46 +0000 (UTC)
Received: from pigeon.gentoo.org (localhost [127.0.0.1])
	by pigeon.gentoo.org (Postfix) with SMTP id E26FEE0882;
	Sat,  9 Oct 2021 22:24:45 +0000 (UTC)
Received: from smtp.gentoo.org (woodpecker.gentoo.org [140.211.166.183])
	(using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits))
	(No client certificate requested)
	by pigeon.gentoo.org (Postfix) with ESMTPS id CA0B0E0882
	for <gentoo-commits@lists.gentoo.org>; Sat,  9 Oct 2021 22:24:45 +0000 (UTC)
Received: from oystercatcher.gentoo.org (unknown [IPv6:2a01:4f8:202:4333:225:90ff:fed9:fc84])
	(using TLSv1.2 with cipher ECDHE-RSA-CHACHA20-POLY1305 (256/256 bits))
	(No client certificate requested)
	by smtp.gentoo.org (Postfix) with ESMTPS id E732F342FAA
	for <gentoo-commits@lists.gentoo.org>; Sat,  9 Oct 2021 22:24:44 +0000 (UTC)
Received: from localhost.localdomain (localhost [IPv6:::1])
	by oystercatcher.gentoo.org (Postfix) with ESMTP id 8342589
	for <gentoo-commits@lists.gentoo.org>; Sat,  9 Oct 2021 22:24:43 +0000 (UTC)
From: "Sam James" <sam@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Content-Transfer-Encoding: 8bit
Content-type: text/plain; charset=UTF-8
Reply-To: gentoo-dev@lists.gentoo.org, "Sam James" <sam@gentoo.org>
Message-ID: <1633818274.bfaec25596caf88fd3229effc4fd61a2f2d28b7e.sam@gentoo>
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-qt/qtwebengine/files/, dev-qt/qtwebengine/
X-VCS-Repository: repo/gentoo
X-VCS-Files: dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild
X-VCS-Directories: dev-qt/qtwebengine/ dev-qt/qtwebengine/files/
X-VCS-Committer: sam
X-VCS-Committer-Name: Sam James
X-VCS-Revision: bfaec25596caf88fd3229effc4fd61a2f2d28b7e
X-VCS-Branch: master
Date: Sat,  9 Oct 2021 22:24:43 +0000 (UTC)
Precedence: bulk
List-Post: <mailto:gentoo-commits@lists.gentoo.org>
List-Help: <mailto:gentoo-commits+help@lists.gentoo.org>
List-Unsubscribe: <mailto:gentoo-commits+unsubscribe@lists.gentoo.org>
List-Subscribe: <mailto:gentoo-commits+subscribe@lists.gentoo.org>
List-Id: Gentoo Linux mail <gentoo-commits.gentoo.org>
X-BeenThere: gentoo-commits@lists.gentoo.org
X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply
X-Archives-Salt: 1a098e13-483d-4502-a30f-78fb5c3d6f57
X-Archives-Hash: 37ee27a5a42a63b424b83a10700090d1

commit:     bfaec25596caf88fd3229effc4fd61a2f2d28b7e
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Sat Oct  9 22:23:54 2021 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Oct  9 22:24:34 2021 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bfaec255

dev-qt/qtwebengine: add Fedora patch for >= harfbuzz 3

I'd like to add the patches Google used for Chromium
but we know this one works and I'd like the tree to be in a
working state. Can swap patches later.

Signed-off-by: Sam James <sam <AT> gentoo.org>

 ...webengine-5.15.2_p20210824-harfbuzz-3.0.0.patch | 32 ++++++++++++++++++++++
 .../qtwebengine-5.15.2_p20210824-r1.ebuild         |  7 +++++
 2 files changed, 39 insertions(+)

diff --git a/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch
new file mode 100644
index 00000000000..61e56d5ae4f
--- /dev/null
+++ b/dev-qt/qtwebengine/files/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch
@@ -0,0 +1,32 @@
+https://src.fedoraproject.org/rpms/qt5-qtwebengine/raw/rawhide/f/qtwebengine-harfbuzz.patch
+--- a/src/3rdparty/chromium/components/paint_preview/common/subset_font.cc
++++ b/src/3rdparty/chromium/components/paint_preview/common/subset_font.cc
+@@ -71,9 +71,9 @@ sk_sp<SkData> SubsetFont(SkTypeface* typeface, const GlyphUsage& usage) {
+   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;
+--- a/src/3rdparty/chromium/third_party/skia/src/pdf/SkPDFSubsetFont.cpp
++++ b/src/3rdparty/chromium/third_party/skia/src/pdf/SkPDFSubsetFont.cpp
+@@ -71,11 +71,10 @@ static sk_sp<SkData> subset_harfbuzz(sk_sp<SkData> fontData,
+     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);
+     // 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()));
++    hb_subset_input_set_flags(input.get(), HB_SUBSET_FLAGS_RETAIN_GIDS | HB_SUBSET_FLAGS_NO_HINTING);
++    HBFace subset(hb_subset_or_fail(face.get(), input.get()));
+     HBBlob result(hb_face_reference_blob(subset.get()));
+     return to_data(std::move(result));
+ }
+

diff --git a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild
index e3f9df28c79..b06e54bda94 100644
--- a/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild
+++ b/dev-qt/qtwebengine/qtwebengine-5.15.2_p20210824-r1.ebuild
@@ -169,6 +169,13 @@ src_prepare() {
 		done < <(find src/3rdparty/chromium/third_party/icu -type f "(" -name "*.c" -o -name "*.cpp" -o -name "*.h" ")" 2>/dev/null)
 	fi
 
+	if has_version ">=media-libs/harfbuzz-3.0.0-r1"; then
+		# We can get away with conditionally applying this with has_version
+		# because we have a := dep on harfbuzz and the subslot changed
+		# at 3.0.0.
+		eapply "${FILESDIR}/qtwebengine-5.15.2_p20210824-harfbuzz-3.0.0.patch"
+	fi
+
 	qt_use_disable_config alsa webengine-alsa src/buildtools/config/linux.pri
 	qt_use_disable_config pulseaudio webengine-pulseaudio src/buildtools/config/linux.pri