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 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
-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
+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
+
+