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 <[email protected]>  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 via email to