diff --git a/media-libs/freetype/freetype-2.13.2.ebuild b/media-libs/freetype/freetype-2.13.2.ebuild
index 20535f88cce5..2f7f1dcd7d1e 100644
--- a/media-libs/freetype/freetype-2.13.2.ebuild
+++ b/media-libs/freetype/freetype-2.13.2.ebuild
@@ -34,17 +34,28 @@ RDEPEND="
>=sys-libs/zlib-1.2.8-r1[${MULTILIB_USEDEP}]
brotli? ( app-arch/brotli[${MULTILIB_USEDEP}] )
bzip2? ( >=app-arch/bzip2-1.0.6-r4[${MULTILIB_USEDEP}] )
- harfbuzz? ( >=media-libs/harfbuzz-1.3.0[truetype,${MULTILIB_USEDEP}] )
png? ( >=media-libs/libpng-1.2.51:0=[${MULTILIB_USEDEP}] )
utils? (
svg? ( >=gnome-base/librsvg-2.46.0[${MULTILIB_USEDEP}] )
X? ( >=x11-libs/libX11-1.6.2[${MULTILIB_USEDEP}] )
)
"
-DEPEND="${RDEPEND}"
+DEPEND="
+ harfbuzz? ( >=media-libs/harfbuzz-1.3.0[truetype,${MULTILIB_USEDEP}] )
+ ${RDEPEND}
+"
BDEPEND="
virtual/pkgconfig
"
+# freetype and harfbuzz have a wonky circular dependency at build time. At
+# install time, neither requires the other inside of a pkg_* script, so we
+# can use PDEPEND. This requires duplicating the same info in DEPEND as well.
+#
+# Actually building the package is still frustratingly difficult, but with
+# this, binpackages work well.
+PDEPEND="
+ harfbuzz? ( >=media-libs/harfbuzz-1.3.0[truetype,${MULTILIB_USEDEP}] )
+"
PATCHES=(
)