[Pkg-xfce-devel] Bug#870464: tumbler FTCBFS: fails to find freetype2

Helmut Grohne helmut at subdivi.de
Wed Aug 2 09:32:35 UTC 2017


Source: tumbler
Version: 0.1.32-1
Tags: patch
User: helmutg at debian.org
Usertags: rebootstrap
Control: block -1 by 870420
Control: tags 870420 + patch

tumbler fails to cross build from source. Its configure detects the
availability of freetype-conf, which happens to be a thin wrapper around
pkg-config. Unfortunately, freetype-config does not work with cross
compilation so it emits empty CFLAGS and LIBS. The tumbler build fails
hard when it tries to include a freetype header.

The solution is to swap out the freetype-config usage for pkg-config.
That actually makes the code simpler as PKG_CHECK_MODULES happens to
provide the variables exactly in the way tumbler needs them.

Unfortunately, changes to acinlude.m4 are not considered in the build,
see #870420, so the change isn't that simple. Together with the help of
Unit 193 I've come up with the attached patch. Admittedly, it doesn't
make tumbler cross build as there is another bug in dbus-binding-tool.
Still it resolves that issue around freetype-config without breaking
native builds. Can you apply it?

Helmut
-------------- next part --------------
diff --minimal -Nru tumbler-0.1.32/debian/changelog tumbler-0.1.32/debian/changelog
--- tumbler-0.1.32/debian/changelog	2017-06-18 15:38:22.000000000 +0200
+++ tumbler-0.1.32/debian/changelog	2017-08-01 21:12:15.000000000 +0200
@@ -1,3 +1,15 @@
+tumbler (0.1.32-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+
+  [ Helmut Grohne ]
+  * Fix FTCBFS: Do not use freetype-config.                 closes: #-1
+
+  [ Unit193 ]
+  * autoreconf.                                             closes: #870420
+
+ -- Helmut Grohne <helmut at subdivi.de>  Tue, 01 Aug 2017 21:12:15 +0200
+
 tumbler (0.1.32-1) unstable; urgency=medium
 
   * New upstream release.
diff --minimal -Nru tumbler-0.1.32/debian/control tumbler-0.1.32/debian/control
--- tumbler-0.1.32/debian/control	2017-06-10 22:34:15.000000000 +0200
+++ tumbler-0.1.32/debian/control	2017-08-01 21:12:15.000000000 +0200
@@ -8,7 +8,7 @@
  libglib2.0-dev, libgtk2.0-dev, libdbus-glib-1-dev, libpoppler-glib-dev,
  libgstreamer1.0-dev, libgstreamer-plugins-base1.0-dev, libjpeg-dev,
  libgsf-1-dev, libopenrawgnome-dev, libffmpegthumbnailer-dev,
- libcurl4-gnutls-dev, dpkg-dev (>= 1.16.1)
+ libcurl4-gnutls-dev, dpkg-dev (>= 1.16.1), dh-autoreconf, gtk-doc-tools, xfce4-dev-tools
 Standards-Version: 3.9.8
 Homepage: http://www.xfce.org/
 Vcs-Svn: svn://anonscm.debian.org/pkg-xfce/desktop/trunk/tumbler
diff --minimal -Nru tumbler-0.1.32/debian/patches/ftcbfs.patch tumbler-0.1.32/debian/patches/ftcbfs.patch
--- tumbler-0.1.32/debian/patches/ftcbfs.patch	1970-01-01 01:00:00.000000000 +0100
+++ tumbler-0.1.32/debian/patches/ftcbfs.patch	2017-08-01 21:12:15.000000000 +0200
@@ -0,0 +1,41 @@
+Subject: use pkg-config instead of freetype-config
+From: Helmut Grohne <helmut at subdivi.de>
+
+freetype-config internally uses pkg-config, but it does so in a way that is
+incompatible with cross compilation.
+
+Index: tumbler-0.1.32/acinclude.m4
+===================================================================
+--- tumbler-0.1.32.orig/acinclude.m4
++++ tumbler-0.1.32/acinclude.m4
+@@ -52,23 +52,15 @@
+   PKG_CHECK_MODULES([GDK_PIXBUF], [gdk-pixbuf-2.0 >= 2.14], 
+   [
+     dnl Check for FreeType 2.x
+-    FREETYPE_LIBS=""
+-    FREETYPE_CFLAGS=""
+-    AC_PATH_PROG([FREETYPE_CONFIG], [freetype-config], [no])
+-    if test x"$FREETYPE_CONFIG" != x"no"; then
+-      AC_MSG_CHECKING([FREETYPE_CFLAGS])
+-      FREETYPE_CFLAGS="`$FREETYPE_CONFIG --cflags`"
+-      AC_MSG_RESULT([$FREETYPE_CFLAGS])
+-    
+-      AC_MSG_CHECKING([FREETYPE_LIBS])
+-      FREETYPE_LIBS="`$FREETYPE_CONFIG --libs`"
+-      AC_MSG_RESULT([$FREETYPE_LIBS])
+-    else
++    PKG_CHECK_MODULES([FREETYPE], [freetype2],
++    [
++      AC_SUBST([FREETYPE_CFLAGS])
++      AC_SUBST([FREETYPE_LIBS])
++    ],
++    [
+       dnl We can only build the font thumbnailer if FreeType 2.x is available
+       ac_tumbler_font_thumbnailer=no
+-    fi
+-    AC_SUBST([FREETYPE_CFLAGS])
+-    AC_SUBST([FREETYPE_LIBS])
++    ])
+   ], [ac_tumbler_font_thumbnailer=no])
+ fi
+ 
diff --minimal -Nru tumbler-0.1.32/debian/patches/series tumbler-0.1.32/debian/patches/series
--- tumbler-0.1.32/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ tumbler-0.1.32/debian/patches/series	2017-08-01 21:12:15.000000000 +0200
@@ -0,0 +1 @@
+ftcbfs.patch
diff --minimal -Nru tumbler-0.1.32/debian/rules tumbler-0.1.32/debian/rules
--- tumbler-0.1.32/debian/rules	2014-02-23 01:28:10.000000000 +0100
+++ tumbler-0.1.32/debian/rules	2017-08-01 21:12:15.000000000 +0200
@@ -12,8 +12,16 @@
 override_dh_strip:
 	dh_strip --dbg-package=libtumbler-1-dbg
 
+override_dh_autoreconf:
+	mkdir -p m4
+	NOCONFIGURE=1 dh_autoreconf xdt-autogen
+
 override_dh_auto_configure:
 	dh_auto_configure -- --disable-silent-rules
 
+override_dh_clean:
+	dh_clean
+	rm -Rf m4
+
 %:
-	dh $@ --parallel
+	dh $@ --parallel --with=autoreconf


More information about the Pkg-xfce-devel mailing list