Source: xscreensaver
Version: 5.36-1
Tags: patch
User: helm...@debian.org
Usertags: rebootstrap

xscreensaver fails to cross build from source, because it insists on
using AC_TRY_RUN to verify that the compiler works. That's generally a
bad idea and can simply be discarded. It also uses the build
architecture pkg-config. After fixing both, it cross builds
successfully. Please consider applying the attached patch.

Helmut
diff -u xscreensaver-5.36/debian/changelog xscreensaver-5.36/debian/changelog
--- xscreensaver-5.36/debian/changelog
+++ xscreensaver-5.36/debian/changelog
@@ -1,3 +1,12 @@
+xscreensaver (5.36-1.1) UNRELEASED; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix FTCBFS: (Closes: #-1)
+    + Add 91_cross.patch.
+    + autoreconf.
+
+ -- Helmut Grohne <hel...@subdivi.de>  Thu, 24 Aug 2017 16:59:05 +0200
+
 xscreensaver (5.36-1) unstable; urgency=medium
 
   * New upstream release 5.36, changes since 5.34:
diff -u xscreensaver-5.36/debian/control xscreensaver-5.36/debian/control
--- xscreensaver-5.36/debian/control
+++ xscreensaver-5.36/debian/control
@@ -2,7 +2,7 @@
 Section: x11
 Priority: optional
 Maintainer: Tormod Volden <debian.tor...@gmail.com>
-Build-Depends: bc, debhelper (>= 9.0), fortune-mod, libgtk2.0-dev, 
libpam0g-dev, libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | xlibmesa-glu-dev 
| libglu-dev, xutils-dev, libxml2-dev, libglade2-dev, libjpeg-dev, libgle-dev, 
intltool, autotools-dev, libx11-dev, libxext-dev, libxinerama-dev, libxmu-dev, 
libxpm-dev, libxrandr-dev, libxss-dev, libxt-dev, libxtst-dev, libxxf86vm-dev, 
x11proto-core-dev, xbitmaps, quilt, dpkg-dev (>= 1.16.1)
+Build-Depends: bc, debhelper (>= 9.0), dh-autoreconf, fortune-mod, 
libgtk2.0-dev, libpam0g-dev, libgl1-mesa-dev | libgl-dev, libglu1-mesa-dev | 
xlibmesa-glu-dev | libglu-dev, pkg-config, xutils-dev, libxml2-dev, 
libglade2-dev, libjpeg-dev, libgle-dev, intltool, autotools-dev, libx11-dev, 
libxext-dev, libxinerama-dev, libxmu-dev, libxpm-dev, libxrandr-dev, 
libxss-dev, libxt-dev, libxtst-dev, libxxf86vm-dev, x11proto-core-dev, 
xbitmaps, quilt, dpkg-dev (>= 1.16.1)
 Standards-Version: 3.9.8
 Homepage: http://www.jwz.org/xscreensaver/
 Vcs-Git: https://anonscm.debian.org/git/collab-maint/xscreensaver.git
diff -u xscreensaver-5.36/debian/patches/series 
xscreensaver-5.36/debian/patches/series
--- xscreensaver-5.36/debian/patches/series
+++ xscreensaver-5.36/debian/patches/series
@@ -26,0 +27 @@
+91_cross.patch
diff -u xscreensaver-5.36/debian/rules xscreensaver-5.36/debian/rules
--- xscreensaver-5.36/debian/rules
+++ xscreensaver-5.36/debian/rules
@@ -45,6 +45,8 @@
          mv config.guess config.guess.upstream && \
            cp /usr/share/misc/config.guess config.guess
 
+       dh_autoreconf
+
        # Configure for xscreensaver
        ./configure --build $(DEB_BUILD_GNU_TYPE) --host $(DEB_HOST_GNU_TYPE) \
                --prefix=/usr \
@@ -83,6 +85,7 @@
          mv driver/XScreenSaver_ad.h.upstream driver/XScreenSaver_ad.h
        [ ! -f driver/XScreenSaver_Xm_ad.h.upstream ] || \
          mv driver/XScreenSaver_Xm_ad.h.upstream driver/XScreenSaver_Xm_ad.h
+       dh_autoreconf_clean
        dh_clean
 
 binary-indep:  build
--- xscreensaver-5.36.orig/debian/patches/91_cross.patch
+++ xscreensaver-5.36/debian/patches/91_cross.patch
@@ -0,0 +1,42 @@
+From: Helmut Grohne <hel...@subdivi.de>
+Subject: fix cross compilation
+
+AC_TRY_RUN fails during cross compilation. We can expect any compiler to just
+work, so discard the test.
+
+Consider $ac_tool_prefix for pkg-config by using PKG_PROG_PKG_CONFIG.
+
+Index: xscreensaver-5.36/configure.in
+===================================================================
+--- xscreensaver-5.36.orig/configure.in
++++ xscreensaver-5.36/configure.in
+@@ -421,13 +421,6 @@
+ 
+   OBJCC="$CC"
+ 
+-  AC_MSG_CHECKING([whether the compiler works on ANSI C])
+-  AC_TRY_RUN([ main(int ac, char **av) { return 0; } ],
+-     AC_MSG_RESULT(yes),
+-     AC_MSG_RESULT(no)
+-     AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.),
+-     AC_MSG_ERROR(Couldn't build even a trivial ANSI C program: check CC.))
+-
+   if test -n "$GCC"; then
+     AC_MSG_RESULT(Turning on gcc compiler warnings.)
+     CC="$CC -pedantic -Wall -Wstrict-prototypes -Wnested-externs 
-Wmissing-prototypes"
+@@ -2626,11 +2619,13 @@
+   gtk_path="$foo:$gtk_path"
+ fi
+ 
+-AC_PATH_PROGS(pkg_config, pkg-config,, $gtk_path)
++PKG_PROG_PKG_CONFIG
+ 
+-if test -z "$pkg_config" ; then
++if test -z "$PKG_CONFIG" ; then
+   AC_MSG_WARN([pkg-config not found!])
+   pkg_config="false"
++else
++  pkg_config=$PKG_CONFIG
+ fi
+ 
+ 

Reply via email to