media-libs/harfbuzz: Uprev to 2.8.1

BUG=none
TEST=CQ

Change-Id: Id507d6c8c9b3e1f26a54fd6669414f46e3ef7395
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/overlays/portage-stable/+/2947158
Reviewed-by: David Riley <davidriley@chromium.org>
Tested-by: Fergus Dall <sidereal@google.com>
Commit-Queue: Fergus Dall <sidereal@google.com>
diff --git a/media-libs/harfbuzz/Manifest b/media-libs/harfbuzz/Manifest
new file mode 100644
index 0000000..3b7d3db
--- /dev/null
+++ b/media-libs/harfbuzz/Manifest
@@ -0,0 +1 @@
+DIST harfbuzz-2.8.1.tar.gz 17939717 BLAKE2B 4e6eeb0beb45e88386d994eb219479a2ed68bd1b78af3becb4ef1c89152e21924319b415e194f57c7aa4acf8031ab4ae35725b873f36b6f816aaa33a7bbb86d9 SHA512 16e43b9182d3ebd2394c2c0e0df815ca9e715d55dc7e46de4eafcde49ddf59cccae69a5340e05c8aa2ee6bc2ba46d1cffae8252d1b2a004ffe9d70c62628cf73
diff --git a/media-libs/harfbuzz/harfbuzz-2.8.1.ebuild b/media-libs/harfbuzz/harfbuzz-2.8.1.ebuild
new file mode 100644
index 0000000..6a97204
--- /dev/null
+++ b/media-libs/harfbuzz/harfbuzz-2.8.1.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{6..9} )
+
+inherit flag-o-matic meson-multilib python-any-r1 xdg-utils
+
+DESCRIPTION="An OpenType text shaping engine"
+HOMEPAGE="https://www.freedesktop.org/wiki/Software/HarfBuzz"
+
+if [[ ${PV} = 9999 ]] ; then
+	EGIT_REPO_URI="https://github.com/harfbuzz/harfbuzz.git"
+	inherit git-r3
+else
+	SRC_URI="https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+	KEYWORDS="*"
+fi
+
+LICENSE="Old-MIT ISC icu"
+SLOT="0/0.9.18" # 0.9.18 introduced the harfbuzz-icu split; bug #472416
+
+IUSE="+cairo debug doc +glib +graphite icu +introspection static-libs test +truetype"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="introspection? ( glib )"
+
+RDEPEND="
+	cairo? ( x11-libs/cairo:= )
+	glib? ( >=dev-libs/glib-2.38:2[${MULTILIB_USEDEP}] )
+	graphite? ( >=media-gfx/graphite2-1.2.1:=[${MULTILIB_USEDEP}] )
+	icu? ( >=dev-libs/icu-51.2-r1:=[${MULTILIB_USEDEP}] )
+	introspection? ( >=dev-libs/gobject-introspection-1.34:= )
+	truetype? ( >=media-libs/freetype-2.5.0.1:2=[${MULTILIB_USEDEP}] )
+"
+DEPEND="${RDEPEND}
+	>=dev-libs/gobject-introspection-common-1.34
+"
+BDEPEND="
+	${PYTHON_DEPS}
+	virtual/pkgconfig
+	doc? ( dev-util/gtk-doc )
+	introspection? ( dev-util/glib-utils )
+"
+
+pkg_setup() {
+	python-any-r1_pkg_setup
+	if ! use debug ; then
+		append-cppflags -DHB_NDEBUG
+	fi
+}
+
+src_prepare() {
+	default
+
+	xdg_environment_reset
+
+	sed -i \
+		-e 's:tests/macos.tests::' \
+		test/shaping/data/in-house/Makefile.sources \
+		|| die # bug 726120
+
+	# bug 618772
+	append-cxxflags -std=c++14
+
+	# bug 790359
+	filter-flags -fexceptions -fthreadsafe-statics
+
+	# bug 762415
+	local pyscript
+	for pyscript in $(find -type f -name "*.py") ; do
+		python_fix_shebang -q "${pyscript}"
+	done
+}
+
+multilib_src_configure() {
+	# harfbuzz-gobject only used for instrospection, bug #535852
+	local emesonargs=(
+		$(meson_native_use_feature cairo)
+		-Dcoretext="disabled"
+		$(meson_native_use_feature doc)
+		-Dfontconfig="disabled" #609300
+		$(meson_native_use_feature introspection)
+		$(meson_use static-libs static)
+		$(meson_feature glib)
+		$(meson_feature graphite)
+		$(meson_feature icu)
+		$(meson_feature introspection gobject)
+		$(meson_feature test tests)
+		$(meson_feature truetype freetype)
+	)
+	meson_src_configure
+}
diff --git a/media-libs/harfbuzz/metadata.xml b/media-libs/harfbuzz/metadata.xml
new file mode 100644
index 0000000..1c768f8
--- /dev/null
+++ b/media-libs/harfbuzz/metadata.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+	<maintainer type="person">
+		<email>polynomial-c@gentoo.org</email>
+		<name>Lars Wendler</name>
+	</maintainer>
+	<maintainer type="project">
+		<email>office@gentoo.org</email>
+		<name>Gentoo Office project</name>
+	</maintainer>
+	<maintainer type="project">
+		<email>gnome@gentoo.org</email>
+		<name>Gentoo GNOME Desktop</name>
+	</maintainer>
+	<upstream>
+		<remote-id type="cpe">cpe:/a:harfbuzz_project:harfbuzz</remote-id>
+	</upstream>
+	<use>
+		<flag name="glib">Compile with GLib Unicode support</flag>
+		<flag name="graphite">Use graphite to render complex non-Roman writing systems</flag>
+	</use>
+</pkgmetadata>