--- Python-3.0.1.orig/Modules/socketmodule.c 2009-02-06 03:50:18.000000000 +0100 +++ Python-3.0.1/Modules/socketmodule.c 2009-03-01 22:05:18.000000000 +0100 @@ -382,7 +382,7 @@ #define SOCKETCLOSE close #endif -#if defined(HAVE_BLUETOOTH_H) || defined(HAVE_BLUETOOTH_BLUETOOTH_H) +#if (defined(HAVE_BLUETOOTH_H) || defined(HAVE_BLUETOOTH_BLUETOOTH_H)) && !defined(__NetBSD__) #define USE_BLUETOOTH 1 #if defined(__FreeBSD__) #define BTPROTO_L2CAP BLUETOOTH_PROTO_L2CAP --- Python-3.0.1.orig/Modules/mmapmodule.c 2009-02-02 21:41:29.000000000 +0100 +++ Python-3.0.1/Modules/mmapmodule.c 2009-03-01 22:01:38.000000000 +0100 @@ -509,7 +509,11 @@ #ifdef MREMAP_MAYMOVE newmap = mremap(self->data, self->size, new_size, MREMAP_MAYMOVE); #else - newmap = mremap(self->data, self->size, new_size, 0); +#if defined(__NetBSD__) + newmap = mremap(self->data, self->size, self->data, new_size, 0); +#else + newmap = mremap(self->data, self->size, new_size, 0); +#endif /* __NetBSD__ */ #endif if (newmap == (void *)-1) { --- Python-3.0.1.orig/setup.py 2009-02-10 17:25:06.000000000 +0100 +++ Python-3.0.1/setup.py 2009-03-01 22:13:24.000000000 +0100 @@ -1040,6 +1040,15 @@ ) libraries = [] + elif platform.startswith('netbsd'): + macros = dict( # at least NetBSD 5 + HAVE_SEM_OPEN=1, + HAVE_SEM_TIMEDWAIT=0, + HAVE_FD_TRANSFER=1, + HAVE_BROKEN_SEM_GETVALUE=1 + ) + libraries = [] + else: # Linux and other unices macros = dict( HAVE_SEM_OPEN=1,