Package: kcemu
Version: 0.5.1+dfsg-1
Severity: serious
Tags: patch
Justification: FTBFS on kfreebsd-i386, kfreebsd-amd64 and hurd-i386

Hi,

kcemu has a FTBFS bug on the architectures kfreebsd-i386, kfreebsd-amd64
and hurd-i386 which is caused by a bug in the configure.in script
of kcemu [1]. This bug will be fixed upstream in version 0.5.2, however,
due to the freeze of Debian Squeeze, the upstream version 0.5.2 won't
find it's way into Debian Squeeze. I am therefore cherry-picking
the patch to fix the FTBFS on the aforementioned architectures,
the patch has been tested on both kfreebsd-i386 and hurd-i386,
it should work on kfreebsd-amd64 as well.

The patch is courtesy Michael Karcher <deb...@mkarcher.dialup.fu-berlin.de>,
thanks a lot!

I am uploading a fixed version of the package to Debian Mentors
today and hope it will find its way into Debian Squeeze soon. Since
kfreebsd-amd64 and -i386 (unlike hurd-i386) have become officially
supported ports for Squeeze, I'm marking this bug as "serious".

Thanks,

Adrian

[1] https://buildd.debian.org/status/package.php?p=kcemu

-- System Information:
Debian Release: squeeze/sid
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-amd64 (SMP w/2 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages kcemu depends on:
ii  kcemu-common            0.5.1+dfsg-1     KC 85/4 emulator - common files
ii  libc6                   2.11.1-3         Embedded GNU C Library: Shared lib
ii  libcairo2               1.8.10-4         The Cairo 2D vector graphics libra
ii  libgcc1                 1:4.4.4-5        GCC support library
ii  libglib2.0-0            2.24.1-1         The GLib library of C routines
ii  libgtk2.0-0             2.20.1-1         The GTK+ graphical user interface 
ii  libogg0                 1.2.0~dfsg-1     Ogg bitstream library
ii  libpango1.0-0           1.28.0-1         Layout and rendering of internatio
ii  libsndfile1             1.0.21-2         Library for reading/writing audio 
ii  libstdc++6              4.4.4-5          The GNU Standard C++ Library v3
ii  libtheora0              1.1.1+dfsg.1-3   The Theora Video Compression Codec
ii  libvncserver0           0.9.3.dfsg.1-2   API to write one's own vnc server
ii  libvorbis0a             1.3.1-1          The Vorbis General Audio Compressi
ii  libvorbisfile3          1.3.1-1          The Vorbis General Audio Compressi
ii  libx11-6                2:1.3.3-3        X11 client-side library
ii  libxmu6                 2:1.0.5-1        X11 miscellaneous utility library
ii  libz80ex1               1.1.18-1         z80ex emulation library, shared fi
ii  zlib1g                  1:1.2.3.4.dfsg-3 compression library - runtime

kcemu recommends no packages.

kcemu suggests no packages.

-- no debconf information
>From 04416ce2112a66d4bd342f7c34eb087a6459eb56 Mon Sep 17 00:00:00 2001
From: Michael Karcher <karc...@physik.fu-berlin.de>
Date: Sun, 11 Jul 2010 23:50:25 +0200
Subject: [PATCH] Directly check for Joystick interface

---
 configure.in           |    9 +++++++++
 include/kc/config.h.in |    3 +++
 src/kc/Makefile.am     |   17 ++++++++++++-----
 src/kc/mod_list.cc     |    9 ++++++---
 4 files changed, 30 insertions(+), 8 deletions(-)

diff --git a/configure.in b/configure.in
index 0f3e777..26d6251 100644
--- a/configure.in
+++ b/configure.in
@@ -790,6 +790,15 @@ else
        fi
 fi
 
+dnl ----------------------------------------
+dnl  check for the Linux Joystick interface
+dnl ----------------------------------------
+
+AC_CHECK_HEADER(linux/joystick.h,
+  [AM_CONDITIONAL(HAVE_JOYSTICK, true)
+   AC_DEFINE(HAVE_JOYSTICK, 1, "Supported joystick interface present - 
Currently linux only")],
+  [AM_CONDITIONAL(HAVE_JOYSTICK, false)])
+
 AC_OUTPUT([
        Makefile
        include/Makefile
diff --git a/include/kc/config.h.in b/include/kc/config.h.in
index dbd72cf..1f81b16 100644
--- a/include/kc/config.h.in
+++ b/include/kc/config.h.in
@@ -121,6 +121,9 @@
    declares uintmax_t. */
 #undef HAVE_INTTYPES_H_WITH_UINTMAX
 
+/* "Supported joystick interface present - Currently linux only" */
+#undef HAVE_JOYSTICK
+
 /* Define if you have <langinfo.h> and nl_langinfo(CODESET). */
 #undef HAVE_LANGINFO_CODESET
 
diff --git a/src/kc/Makefile.am b/src/kc/Makefile.am
index cf8a257..0670b7b 100644
--- a/src/kc/Makefile.am
+++ b/src/kc/Makefile.am
@@ -29,23 +29,30 @@ AM_CPPFLAGS = \
        $(GTK_CFLAGS) \
        $(SDL_CFLAGS)
 
-LINUX_EXTRA_kcemu_SOURCES = mod_v24.cc mod_js.cc
+JOYSTICK_EXTRA_kcemu_SOURCES = mod_js.cc
+LINUX_EXTRA_kcemu_SOURCES = mod_v24.cc
 MINGW_EXTRA_kcemu_SOURCES = kcemu.rc
 FREEBSD_EXTRA_kcemu_SOURCES = mod_v24.cc
 
+EXTRA_kcemu_SOURCES = 
+
+if HAVE_JOYSTICK
+EXTRA_kcemu_SOURCES += $(JOYSTICK_EXTRA_kcemu_SOURCES)
+endif
+
 if TARGET_LINUX
-EXTRA_kcemu_SOURCES = $(LINUX_EXTRA_kcemu_SOURCES)
+EXTRA_kcemu_SOURCES += $(LINUX_EXTRA_kcemu_SOURCES)
 endif
 
 if TARGET_MINGW
-EXTRA_kcemu_SOURCES = $(MINGW_EXTRA_kcemu_SOURCES)
+EXTRA_kcemu_SOURCES += $(MINGW_EXTRA_kcemu_SOURCES)
 endif
 
 if TARGET_FREEBSD
-EXTRA_kcemu_SOURCES = $(FREEBSD_EXTRA_kcemu_SOURCES)
+EXTRA_kcemu_SOURCES += $(FREEBSD_EXTRA_kcemu_SOURCES)
 endif
 
-EXTRA_DIST = $(LINUX_EXTRA_kcemu_SOURCES) $(MINGW_EXTRA_kcemu_SOURCES) 
$(FREEBSD_EXTRA_kcemu_SOURCES)
+EXTRA_DIST = $(JOYSTICK_EXTRA_kcemu_SOURCES) $(LINUX_EXTRA_kcemu_SOURCES) 
$(MINGW_EXTRA_kcemu_SOURCES) $(FREEBSD_EXTRA_kcemu_SOURCES)
 
 kcemu_SOURCES = \
        kc.cc           \
diff --git a/src/kc/mod_list.cc b/src/kc/mod_list.cc
index 6b85956..b21f405 100644
--- a/src/kc/mod_list.cc
+++ b/src/kc/mod_list.cc
@@ -167,9 +167,12 @@
 
 #ifdef HOST_OS_LINUX
 #include "kc/mod_v24.h"
-#include "kc/mod_js.h"
 #endif /* HOST_OS_LINUX */
 
+#ifdef HAVE_JOYSTICK
+#include "kc/mod_js.h"
+#endif
+
 #include "fileio/load.h"
 
 #include "ui/ui.h"
@@ -463,10 +466,10 @@ ModuleList::ModuleList(void)
   /*
    *  Joystick module (kc85/2-4)
    */
-#ifdef HOST_OS_LINUX
+#ifdef HAVE_JOYSTICK
   m = new ModuleJoystick("M008", 0xff);
   _mod_list.push_back(new ModuleListEntry(_("M008: Joystick"), m, 
KC_TYPE_85_2_CLASS));
-#endif /* HOST_OS_LINUX */
+#endif /* HAVE_JOYSTICK */
 
   /*
    *  RAM module 64k (kc85/2-4)
-- 
1.7.1

Reply via email to