diff --git a/media-libs/harfbuzz/Manifest b/media-libs/harfbuzz/Manifest
index 205d42c684612..c919120fc85ef 100644
--- a/media-libs/harfbuzz/Manifest
+++ b/media-libs/harfbuzz/Manifest
@@ -2,3 +2,4 @@ DIST harfbuzz-0.9.41.tar.bz2 1188176 SHA256 d81aa53d0c02b437beeaac159d7fc16394d6
DIST harfbuzz-1.0.6.tar.bz2 1240522 SHA256 f616a7fbdc78a627043f9029000bf08c0c71df59cde4143fc92a014f6a993b26 SHA512 20ee169389a784e4ad4e2ff006a59a36879dba0a37a999ff51c2b4d76da9496a1a747d5176e9611998187452e6d18f880295bdfb9f45338acddf772fc3f16021 WHIRLPOOL 63eab91311674417b66fa92e0b92a5482321dfa8dc48edcc3ae1ed459483222ab08229438356245cc183234a65388fbb6bdb73222359dea0ec2a35a1bf141c78
DIST harfbuzz-1.1.2.tar.bz2 1233019 SHA256 4a2c5790bd3db7c3ca8c02e4858f2fd592df7932c1d2fa9f6b99acbce0f8461f SHA512 ac2866a3267d7a55311abbdb8f8c38511799c471fb750f203494749ad26edd91ad36c995ee1ce756fa1fcc1625633435cd616e90b794d70f4bb8d213c6d693f9 WHIRLPOOL ef744ddccf30a387823021606304c9f888b99686b397270c2e742191e4c4a885e5872e3c4e8370d0079175a1a026d4c4b21bacf9adf27ccc2837c73294fee121
DIST harfbuzz-1.1.3.tar.bz2 1294579 SHA256 d93d7cb7979c32672e902fdfa884599e63f07f2fa5b06c66147d20c516d4b8f7 SHA512 e418a1543ec2a1e58e5d8d0ba9a40e8675eda13c94c664ff83ed6303c724f078cf1744883b454c46ec40157db8dc05e7f2cf5e52200601bb1e13827d8dfbaccf WHIRLPOOL 9d18d985df77ff841b1a87d25f17eb472517e109a051f2ed213b44ec91de3a499853cf7d93e23f5ac4c199ec65f2dd02300e05097cb4983565ebb9227c8d3810
+DIST harfbuzz-1.2.0.tar.bz2 1333335 SHA256 79ff5305153d15931fbdda80c9612783b0283dee44f4c2af71aa37353daaa685 SHA512 92a2203ab3491992081c3cbcb7b151e1c632a98c9b2cc27863df377e08d3951387f513c7f5184a05b0523b99517775e083edfccac8386981c242ed02d34052c5 WHIRLPOOL ddcb6b3afb3b56bc326086e01450da978cdfe3832b2f2eb136cec0a6a089f701a0e572b5a3a256a186ef88a2232d336279fd8348223bcbf1eccc42db2338ff07
diff --git a/media-libs/harfbuzz/harfbuzz-1.2.0.ebuild b/media-libs/harfbuzz/harfbuzz-1.2.0.ebuild
new file mode 100644
index 0000000000000..5c0e26bddf755
--- /dev/null
+++ b/media-libs/harfbuzz/harfbuzz-1.2.0.ebuild
@@ -0,0 +1,100 @@
+# Copyright 1999-2016 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=6
+
+EGIT_REPO_URI="git://anongit.freedesktop.org/harfbuzz"
+[[ ${PV} == 9999 ]] && inherit git-r3 autotools
+
+PYTHON_COMPAT=( python2_7 )
+
+inherit eutils libtool multilib-minimal python-any-r1
+
+DESCRIPTION="An OpenType text shaping engine"
+HOMEPAGE="http://www.freedesktop.org/wiki/Software/HarfBuzz"
+[[ ${PV} == 9999 ]] || SRC_URI="http://www.freedesktop.org/software/${PN}/release/${P}.tar.bz2"
+
+LICENSE="Old-MIT ISC icu"
+SLOT="0/0.9.18" # 0.9.18 introduced the harfbuzz-icu split; bug #472416
+[[ ${PV} == 9999 ]] || \
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~amd64-fbsd ~x86-fbsd ~amd64-linux ~arm-linux ~x86-linux ~x64-macos ~x86-macos ~x64-solaris"
+
+IUSE="+cairo fontconfig +glib +graphite icu +introspection static-libs test +truetype"
+REQUIRED_USE="introspection? ( glib )"
+
+RDEPEND="
+ cairo? ( x11-libs/cairo:= )
+ fontconfig? ( media-libs/fontconfig:1.0[${MULTILIB_USEDEP}] )
+ glib? ( >=dev-libs/glib-2.34.3: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-util/gtk-doc-am
+ virtual/pkgconfig
+ test? ( ${PYTHON_DEPS} )
+"
+# eautoreconf requires gobject-introspection-common
+# ragel needed if regenerating *.hh files from *.rl
+[[ ${PV} = 9999 ]] && DEPEND="${DEPEND}
+ >=dev-libs/gobject-introspection-common-1.34
+ dev-util/ragel
+"
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ if [[ ${CHOST} == *-darwin* || ${CHOST} == *-solaris* ]] ; then
+ # on Darwin/Solaris we need to link with g++, like automake defaults
+ # to, but overridden by upstream because on Linux this is not
+ # necessary, bug #449126
+ sed -i \
+ -e 's/\/CXXLINK/' \
+ src/Makefile.am || die
+ sed -i \
+ -e '/libharfbuzz_la_LINK = /s/\/CXXLINK/' \
+ src/Makefile.in || die
+ sed -i \
+ -e '/AM_V_CCLD/s/\/CXXLINK/' \
+ test/api/Makefile.in || die
+ fi
+
+ [[ ${PV} == 9999 ]] && eautoreconf
+ elibtoolize # for Solaris
+
+ # failing test, https://bugs.freedesktop.org/show_bug.cgi?id=89190
+ sed -e 's#tests/arabic-fallback-shaping.tests##' -i test/shaping/Makefile.in || die "sed failed"
+}
+
+multilib_src_configure() {
+ ECONF_SOURCE="${S}" \
+ # harfbuzz-gobject only used for instrospection, bug #535852
+ econf \
+ --without-coretext \
+ --without-uniscribe \
+ $(use_enable static-libs static) \
+ $(multilib_native_use_with cairo) \
+ $(use_with fontconfig) \
+ $(use_with glib) \
+ $(use_with introspection gobject) \
+ $(use_with graphite graphite2) \
+ $(use_with icu) \
+ $(multilib_native_use_enable introspection) \
+ $(use_with truetype freetype)
+
+ if multilib_is_native_abi; then
+ ln -s "${S}"/docs/html docs/html || die
+ fi
+}
+
+multilib_src_install_all() {
+ einstalldocs
+ prune_libtool_files --modules
+}
diff --git a/media-libs/harfbuzz/harfbuzz-9999.ebuild b/media-libs/harfbuzz/harfbuzz-9999.ebuild
index cdfd7a5ea536d..5c0e26bddf755 100644
--- a/media-libs/harfbuzz/harfbuzz-9999.ebuild
+++ b/media-libs/harfbuzz/harfbuzz-9999.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2015 Gentoo Foundation
+# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=5
+EAPI=6
EGIT_REPO_URI="git://anongit.freedesktop.org/harfbuzz"
[[ ${PV} == 9999 ]] && inherit git-r3 autotools
@@ -49,6 +49,8 @@ pkg_setup() {
}
src_prepare() {
+ default
+
if [[ ${CHOST} == *-darwin* || ${CHOST} == *-solaris* ]] ; then
# on Darwin/Solaris we need to link with g++, like automake defaults
# to, but overridden by upstream because on Linux this is not