[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bug#1124239: freetype: dependency loop with harfbuzz



On Mon, Dec 29, 2025 at 09:34:55AM +0100, Helmut Grohne wrote:
> freetype added a new build-dependency on libharfbuzz-dev. On the
> surface, this looks great. Unfortunately, freetype is part of the
> build-closure of build-essential and therefore part of architecture
> bootstrap and must be careful about dependencies being added.

Chris made me aware of:

| Enable dynamic loading of the HarfBuzz library, avoiding the
| well-known circular dependency problem.

This is interesting indeed and we might simply skip the entire mess via
--with-harfbuzz=dynamic.

How about that? Patch attached.

Helmut
diff -Nru freetype-2.14.1+dfsg/debian/changelog freetype-2.14.1+dfsg/debian/changelog
--- freetype-2.14.1+dfsg/debian/changelog	2025-12-26 11:52:18.000000000 +0100
+++ freetype-2.14.1+dfsg/debian/changelog	2025-12-29 11:15:34.000000000 +0100
@@ -1,3 +1,10 @@
+freetype (2.14.1+dfsg-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Dynamically link harfbuzz. (Closes: #1124239)
+
+ -- Helmut Grohne <helmut@subdivi.de>  Mon, 29 Dec 2025 11:15:34 +0100
+
 freetype (2.14.1+dfsg-1) unstable; urgency=medium
 
   * New upstream version 2.14.1:
diff -Nru freetype-2.14.1+dfsg/debian/control freetype-2.14.1+dfsg/debian/control
--- freetype-2.14.1+dfsg/debian/control	2025-12-26 11:48:48.000000000 +0100
+++ freetype-2.14.1+dfsg/debian/control	2025-12-29 11:15:34.000000000 +0100
@@ -9,7 +9,7 @@
  gettext,
  libbrotli-dev,
  libbz2-dev,
- libharfbuzz-dev,
+ libharfbuzz-dev <!nocheck>,
  libpng-dev,
  libtool,
  libx11-dev <!pkg.freetype.nodemos>,
@@ -64,7 +64,6 @@
  libbrotli-dev,
  libbz2-dev,
  libc6-dev | libc-dev,
- libharfbuzz-dev,
  libpng-dev,
  zlib1g-dev | libz-dev,
  ${misc:Depends}
diff -Nru freetype-2.14.1+dfsg/debian/rules freetype-2.14.1+dfsg/debian/rules
--- freetype-2.14.1+dfsg/debian/rules	2025-12-23 11:53:43.000000000 +0100
+++ freetype-2.14.1+dfsg/debian/rules	2025-12-29 11:15:34.000000000 +0100
@@ -30,7 +30,7 @@
 	dh_auto_configure --builddir=$(udeb_builddir) -- \
 	    --without-brotli --without-bzip2 --without-harfbuzz --without-librsvg
 endif
-	dh_auto_configure
+	dh_auto_configure -- --with-harfbuzz=dynamic
 
 override_dh_auto_build:
 ifeq (,$(filter noudeb,$(DEB_BUILD_PROFILES)))

Reply to: