Hi Adam,

* Thorsten Glaser <t...@mirbsd.de> [2013-04-24 19:25] wrote:
> Oh great, this one FTBFS on kfreebsd… again. Although that’s
> not dependent on the delta between -3.1 and -5…

The -6 should address that. Debdiff attached. I am currently on business
trip, but Thorsten jumped in and made a needed cherrypick, so I've only
needed to compile it and upload it. Thanks again Thorsten.

        Antonin
diff -Nru aranym-0.9.13/debian/changelog aranym-0.9.13/debian/changelog
--- aranym-0.9.13/debian/changelog      2012-05-06 23:50:52.000000000 +0200
+++ aranym-0.9.13/debian/changelog      2013-04-25 06:11:53.000000000 +0200
@@ -1,3 +1,23 @@
+aranym (0.9.13-6) testing-proposed-updates; urgency=low
+
+  [ Thorsten Glaser ]
+  * handle libusb dependency on kfreebsd (Closes: #690007)
+
+ -- Antonin Kral <a.k...@sh.cvut.cz>  Wed, 24 Apr 2013 20:02:06 +0000
+
+aranym (0.9.13-5) testing-proposed-updates; urgency=low
+
+  * Reupload of -4 with merged previously forgotten NMU -3.1
+
+ -- Antonin Kral <a.k...@sh.cvut.cz>  Wed, 24 Apr 2013 11:40:18 +0200
+
+aranym (0.9.13-4) testing-proposed-updates; urgency=low
+
+  * cherrypick patch for NatFeast problem (Closes: #698064)
+    to get ARAnyM to wheezy
+
+ -- Antonin Kral <a.k...@sh.cvut.cz>  Wed, 24 Apr 2013 08:56:45 +0200
+
 aranym (0.9.13-3.1) unstable; urgency=low
 
   * Non-maintainer upload.
diff -Nru aranym-0.9.13/debian/control aranym-0.9.13/debian/control
--- aranym-0.9.13/debian/control        2012-05-06 23:44:18.000000000 +0200
+++ aranym-0.9.13/debian/control        2013-04-25 06:11:53.000000000 +0200
@@ -4,7 +4,7 @@
 Maintainer: Antonin Kral <a.k...@sh.cvut.cz>
 Homepage: http://aranym.org/
 Standards-Version: 3.9.3
-Build-Depends: debhelper (>= 5), autotools-dev, bzip2, libsdl1.2-dev, 
libsdl-image1.2-dev, libmpfr-dev, libusb-1.0-0-dev, imagemagick, zlib1g-dev
+Build-Depends: debhelper (>= 5), autotools-dev, bzip2, libsdl1.2-dev, 
libsdl-image1.2-dev, libmpfr-dev, libusb-1.0-0-dev [!kfreebsd-any], 
imagemagick, zlib1g-dev
 
 Package: aranym
 Architecture: any
diff -Nru 
aranym-0.9.13/debian/patches/0006-NatFeats-patch-to-address-Bug-698064.patch 
aranym-0.9.13/debian/patches/0006-NatFeats-patch-to-address-Bug-698064.patch
--- 
aranym-0.9.13/debian/patches/0006-NatFeats-patch-to-address-Bug-698064.patch    
    1970-01-01 01:00:00.000000000 +0100
+++ 
aranym-0.9.13/debian/patches/0006-NatFeats-patch-to-address-Bug-698064.patch    
    2013-04-25 06:11:53.000000000 +0200
@@ -0,0 +1,151 @@
+From: Antonin Kral <a.k...@bobek.cz>
+Date: Wed, 24 Apr 2013 08:47:40 +0200
+Subject: NatFeats patch to address Bug#698064
+
+---
+ src/include/natfeats.h |   98 ++++++++++++++++++++++++++++++++++++------------
+ 1 file changed, 74 insertions(+), 24 deletions(-)
+
+diff --git a/src/include/natfeats.h b/src/include/natfeats.h
+index e5ff8ab..c6155b8 100644
+--- a/src/include/natfeats.h
++++ b/src/include/natfeats.h
+@@ -1,3 +1,26 @@
++/*
++ * natfeats.h - common functions for all NatFeats
++ *
++ * Copyright (c) 2001-2013 Petr Stehlik of ARAnyM dev team (see AUTHORS)
++ *
++ * This file is part of the ARAnyM project which builds a new and powerful
++ * TOS/FreeMiNT compatible virtual machine running on almost any hardware.
++ *
++ * ARAnyM is free software; you can redistribute it and/or modify
++ * it under the terms of the GNU General Public License as published by
++ * the Free Software Foundation; either version 2 of the License, or
++ * (at your option) any later version.
++ *
++ * ARAnyM is distributed in the hope that it will be useful,
++ * but WITHOUT ANY WARRANTY; without even the implied warranty of
++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
++ * GNU General Public License for more details.
++ *
++ * You should have received a copy of the GNU General Public License
++ * along with ARAnyM; if not, write to the Free Software
++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
++ */
++
+ #ifndef _NATFEATS_H
+ #define _NATFEATS_H
+ 
+@@ -14,6 +37,9 @@ extern uint32 nf_getparameter(int);
+ // should NatFeats work with physical (not MMU mapped) addresses
+ #define NATFEAT_PHYS_ADDR     1
+ 
++// should NatFeats use direct memcpy() to/from guest provided pointer (fast 
but less safe)
++#define NATFEAT_LIBC_MEMCPY   1
++
+ #if NATFEAT_PHYS_ADDR
+ #  define ReadNFInt8  ReadAtariInt8
+ #  define ReadNFInt16 ReadAtariInt16
+@@ -30,53 +56,77 @@ extern uint32 nf_getparameter(int);
+ #  define WriteNFInt32        WriteInt32
+ #endif
+ 
+-static inline void Atari2Host_memcpy(void *dst, memptr src, size_t n)
++static inline void Atari2Host_memcpy(void *_dst, memptr src, size_t count)
+ {
+-#if NATFEAT_PHYS_ADDR
+-      memcpy(dst, Atari2HostAddr(src), n);
++#if NATFEAT_LIBC_MEMCPY && NATFEAT_PHYS_ADDR
++      memptr src_end = src + count - 1;
++      if (! ValidAtariAddr(src, false, 1))
++              BUS_ERROR(src);
++      if (! ValidAtariAddr(src_end, false, 1))
++              BUS_ERROR(src_end);
++
++      memcpy(_dst, Atari2HostAddr(src), count);
+ #else
+-      uint8 *dest = (uint8 *)dst;
+-      while ( n-- )
+-              *dest++ = (char)ReadInt8( (uint32)src++ );
++      uint8 *dst = (uint8 *)_dst;
++      while ( count-- )
++              *dst++ = (char)ReadNFInt8( src++ );
+ #endif
+ }
+ 
+-static inline void Host2Atari_memcpy(memptr dest, const void *src, size_t n)
++static inline void Host2Atari_memcpy(memptr dst, const void *_src, size_t 
count)
+ {
+-#if NATFEAT_PHYS_ADDR
+-      memcpy(Atari2HostAddr(dest), src, n);
++#if NATFEAT_LIBC_MEMCPY && NATFEAT_PHYS_ADDR
++      memptr dst_end = dst + count - 1;
++      if (! ValidAtariAddr(dst, true, 1))
++              BUS_ERROR(dst);
++      if (! ValidAtariAddr(dst_end, true, 1))
++              BUS_ERROR(dst_end);
++
++      memcpy(Atari2HostAddr(dst), _src, count);
+ #else
+-      uint8 *source = (uint8 *)src;
+-      while ( n-- )
+-              WriteInt8( dest++, *source++ );
++      uint8 *src = (uint8 *)_src;
++      while ( count-- )
++              WriteNFInt8( dst++, *src++ );
+ #endif
+ }
+ 
+-static inline void Atari2HostSafeStrncpy( char *dest, memptr source, size_t 
count )
++static inline void Atari2HostSafeStrncpy(char *dst, memptr src, size_t count)
+ {
+-#if NATFEAT_PHYS_ADDR
+-      safe_strncpy(dest, (const char*)Atari2HostAddr(source), count);
++#if NATFEAT_LIBC_MEMCPY && NATFEAT_PHYS_ADDR
++      memptr src_end = src + count - 1;
++      if (! ValidAtariAddr(src, false, 1))
++              BUS_ERROR(src);
++      if (! ValidAtariAddr(src_end, false, 1))
++              BUS_ERROR(src_end);
++
++      safe_strncpy(dst, (const char*)Atari2HostAddr(src), count);
+ #else
+-      while ( count > 1 && (*dest = (char)ReadInt8( source++ )) != 0 ) {
++      while ( count > 1 && (*dst = (char)ReadNFInt8( src++ )) != 0 ) {
+               count--;
+-              dest++;
++              dst++;
+       }
+       if (count > 0)
+-              *dest = '\0';
++              *dst = '\0';
+ #endif
+ }
+ 
+-static inline void Host2AtariSafeStrncpy( memptr dest, const char *source, 
size_t count )
++static inline void Host2AtariSafeStrncpy(memptr dst, const char *src, size_t 
count)
+ {
+-#if NATFEAT_PHYS_ADDR
+-      safe_strncpy((char *)Atari2HostAddr(dest), source, count);
++#if NATFEAT_LIBC_MEMCPY && NATFEAT_PHYS_ADDR
++      memptr dst_end = dst + count - 1;
++      if (! ValidAtariAddr(dst, true, 1))
++              BUS_ERROR(dst);
++      if (! ValidAtariAddr(dst_end, true, 1))
++              BUS_ERROR(dst_end);
++
++      safe_strncpy((char *)Atari2HostAddr(dst), src, count);
+ #else
+-      while ( count > 1 && *source ) {
+-              WriteInt8( dest++, (uint8)*source++ );
++      while ( count > 1 && *src ) {
++              WriteNFInt8( dst++, (uint8)*src++ );
+               count--;
+       }
+       if (count > 0)
+-              WriteInt8( dest, 0 );
++              WriteNFInt8( dst, 0 );
+ #endif
+ }
+ #endif /* _NATFEATS_H */
diff -Nru aranym-0.9.13/debian/patches/series 
aranym-0.9.13/debian/patches/series
--- aranym-0.9.13/debian/patches/series 2012-05-06 23:47:50.000000000 +0200
+++ aranym-0.9.13/debian/patches/series 2013-04-25 06:11:53.000000000 +0200
@@ -3,3 +3,4 @@
 0003-fix-missing-libusb.h-on-kfreebsd-platforms-Closes-66.patch
 0004-fix-spelling.patch
 0005-fix-zlib-configure.patch
+0006-NatFeats-patch-to-address-Bug-698064.patch
diff -Nru aranym-0.9.13/debian/rules aranym-0.9.13/debian/rules
--- aranym-0.9.13/debian/rules  2012-05-06 23:49:48.000000000 +0200
+++ aranym-0.9.13/debian/rules  2013-04-25 06:11:53.000000000 +0200
@@ -16,6 +16,14 @@
        HOSTTYPE = i386
 endif
 
+DEB_HOST_ARCH_OS ?= $(shell dpkg-architecture -qDEB_HOST_ARCH_OS)
+
+ifeq (${DEB_HOST_ARCH_OS},kfreebsd)
+       CF_USB = --disable-usbhost
+else
+       CF_USB = --enable-usbhost
+endif
+
 build: build-arch build-indep
 build-arch: build-stamp
 build-indep: build-stamp
@@ -23,11 +31,11 @@
        dh_testdir
 
        ([ ! -f Makefile ] || $(MAKE) distclean)
-       (bash configure --build=$(DEB_BUILD_GNU_TYPE) 
--host=$(DEB_HOST_GNU_TYPE) --prefix=/usr --enable-usbhost && $(MAKE))
+       (bash configure --build=$(DEB_BUILD_GNU_TYPE) 
--host=$(DEB_HOST_GNU_TYPE) --prefix=/usr ${CF_USB} && $(MAKE))
        ($(MAKE) install DESTDIR=`pwd`/debian/tmp )
 
        ([ ! -f Makefile ] || $(MAKE) distclean)
-       (bash configure --build=$(DEB_BUILD_GNU_TYPE) 
--host=$(DEB_HOST_GNU_TYPE) --prefix=/usr --enable-fullmmu --enable-lilo 
--enable-usbhost && $(MAKE))
+       (bash configure --build=$(DEB_BUILD_GNU_TYPE) 
--host=$(DEB_HOST_GNU_TYPE) --prefix=/usr --enable-fullmmu --enable-lilo 
${CF_USB} && $(MAKE))
        ($(MAKE) install DESTDIR=`pwd`/debian/aranym-mmu )
        cp `pwd`/debian/aranym-mmu/usr/bin/aranym 
`pwd`/debian/tmp/usr/bin/aranym-mmu
 
@@ -35,7 +43,7 @@
 
 ifeq ($(HOSTTYPE),i386)
        ([ ! -f Makefile ] || $(MAKE) distclean)
-       (bash configure --build=$(DEB_BUILD_GNU_TYPE) 
--host=$(DEB_HOST_GNU_TYPE) --prefix=/usr --enable-jit-compiler 
--enable-usbhost && $(MAKE))
+       (bash configure --build=$(DEB_BUILD_GNU_TYPE) 
--host=$(DEB_HOST_GNU_TYPE) --prefix=/usr --enable-jit-compiler ${CF_USB} && 
$(MAKE))
        ($(MAKE) install DESTDIR=`pwd`/debian/aranym-jit )
 
        cp `pwd`/debian/aranym-jit/usr/bin/aranym 
`pwd`/debian/tmp/usr/bin/aranym-jit

Reply via email to