Source: tumbler
Version: 0.1.32-1
Tags: patch
User: [email protected]
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
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 <[email protected]>  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 <[email protected]>
+
+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
_______________________________________________
Pkg-xfce-devel mailing list
[email protected]
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-xfce-devel

Reply via email to