Really fix python build this time, and use some patches from pkgsrc

to fix curses, mremap, and bluetooth modules.

--HG--
extra : convert_revision : fd555dc3aeb2085fe1d7913bd5d4fdc24c41959e
This commit is contained in:
Juan RP 2008-09-30 17:16:02 +02:00
parent ec04f32481
commit 2a2f97a1da
5 changed files with 139 additions and 1 deletions

View File

@ -0,0 +1,14 @@
$NetBSD: patch-ap,v 1.1.1.1 2008/04/24 01:50:58 tnn Exp $
--- Modules/socketmodule.c.orig 2007-03-31 20:56:11.000000000 +0200
+++ Modules/socketmodule.c
@@ -357,7 +357,8 @@ const char *inet_ntop(int af, const void
#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__) && !defined(__DragonFly__)
#define USE_BLUETOOTH 1
#if defined(__FreeBSD__)
#define BTPROTO_L2CAP BLUETOOTH_PROTO_L2CAP

View File

@ -0,0 +1,11 @@
--- Makefile.pre.in.orig 2007-12-05 21:43:57.000000000 +0100
+++ Makefile.pre.in 2008-09-30 16:56:46.000000000 +0200
@@ -806,7 +806,7 @@ $(srcdir)/Lib/$(PLATDIR):
export PYTHONPATH; PYTHONPATH="`pwd`/Lib"; \
export DYLD_FRAMEWORK_PATH; DYLD_FRAMEWORK_PATH="`pwd`"; \
export EXE; EXE="$(BUILDEXE)"; \
- cd $(srcdir)/Lib/$(PLATDIR); ./regen
+ cd $(srcdir)/Lib/$(PLATDIR); $(RUNSHARED) ./regen
# Install the include files
INCLDIRSTOMAKE=$(INCLUDEDIR) $(CONFINCLUDEDIR) $(INCLUDEPY) $(CONFINCLUDEPY)

View File

@ -0,0 +1,86 @@
$NetBSD: patch-ah,v 1.1.1.1 2008/04/24 01:50:58 tnn Exp $
--- Modules/_cursesmodule.c.orig 2008-01-26 15:03:51.000000000 +0100
+++ Modules/_cursesmodule.c
@@ -314,17 +314,9 @@ Window_NoArg2TupleReturnFunction(getpary
Window_OneArgNoReturnFunction(clearok, int, "i;True(1) or False(0)")
Window_OneArgNoReturnFunction(idlok, int, "i;True(1) or False(0)")
-#if defined(__NetBSD__)
-Window_OneArgNoReturnVoidFunction(keypad, int, "i;True(1) or False(0)")
-#else
Window_OneArgNoReturnFunction(keypad, int, "i;True(1) or False(0)")
-#endif
Window_OneArgNoReturnFunction(leaveok, int, "i;True(1) or False(0)")
-#if defined(__NetBSD__)
-Window_OneArgNoReturnVoidFunction(nodelay, int, "i;True(1) or False(0)")
-#else
Window_OneArgNoReturnFunction(nodelay, int, "i;True(1) or False(0)")
-#endif
Window_OneArgNoReturnFunction(notimeout, int, "i;True(1) or False(0)")
Window_OneArgNoReturnFunction(scrollok, int, "i;True(1) or False(0)")
Window_OneArgNoReturnFunction(winsdelln, int, "i;nlines")
@@ -827,11 +819,7 @@ PyCursesWindow_GetKey(PyCursesWindowObje
} else if (rtn<=255)
return Py_BuildValue("c", rtn);
else
-#if defined(__NetBSD__)
- return PyString_FromString(unctrl(rtn));
-#else
return PyString_FromString((char *)keyname(rtn));
-#endif
}
static PyObject *
@@ -2039,7 +2027,6 @@ PyCurses_Is_Term_Resized(PyObject *self,
}
#endif /* HAVE_CURSES_IS_TERM_RESIZED */
-#if !defined(__NetBSD__)
static PyObject *
PyCurses_KeyName(PyObject *self, PyObject *args)
{
@@ -2058,7 +2045,6 @@ PyCurses_KeyName(PyObject *self, PyObjec
return PyString_FromString((knp == NULL) ? "" : (char *)knp);
}
-#endif
static PyObject *
PyCurses_KillChar(PyObject *self)
@@ -2603,9 +2589,7 @@ static PyMethodDef PyCurses_methods[] =
#ifdef HAVE_CURSES_IS_TERM_RESIZED
{"is_term_resized", (PyCFunction)PyCurses_Is_Term_Resized, METH_VARARGS},
#endif
-#if !defined(__NetBSD__)
{"keyname", (PyCFunction)PyCurses_KeyName, METH_VARARGS},
-#endif
{"killchar", (PyCFunction)PyCurses_KillChar, METH_NOARGS},
{"longname", (PyCFunction)PyCurses_longname, METH_NOARGS},
{"meta", (PyCFunction)PyCurses_Meta, METH_VARARGS},
@@ -2714,9 +2698,7 @@ init_curses(void)
SetDictInt("A_DIM", A_DIM);
SetDictInt("A_BOLD", A_BOLD);
SetDictInt("A_ALTCHARSET", A_ALTCHARSET);
-#if !defined(__NetBSD__)
SetDictInt("A_INVIS", A_INVIS);
-#endif
SetDictInt("A_PROTECT", A_PROTECT);
SetDictInt("A_CHARTEXT", A_CHARTEXT);
SetDictInt("A_COLOR", A_COLOR);
@@ -2788,7 +2770,6 @@ init_curses(void)
int key;
char *key_n;
char *key_n2;
-#if !defined(__NetBSD__)
for (key=KEY_MIN;key < KEY_MAX; key++) {
key_n = (char *)keyname(key);
if (key_n == NULL || strcmp(key_n,"UNKNOWN KEY")==0)
@@ -2816,7 +2797,6 @@ init_curses(void)
if (key_n2 != key_n)
free(key_n2);
}
-#endif
SetDictInt("KEY_MIN", KEY_MIN);
SetDictInt("KEY_MAX", KEY_MAX);
}

View File

@ -0,0 +1,25 @@
$NetBSD: patch-at,v 1.2 2008/08/30 10:02:33 tron Exp $
The first change is part of the fix for CVE-2008-2315 taken from Gentto.
--- Modules/mmapmodule.c.orig 2006-08-22 14:57:07.000000000 +0100
+++ Modules/mmapmodule.c 2008-08-30 10:16:13.000000000 +0100
@@ -223,7 +223,7 @@
return(NULL);
/* silently 'adjust' out-of-range requests */
- if ((self->pos + num_bytes) > self->size) {
+ if (num_bytes > self->size - self->pos) {
num_bytes -= (self->pos+num_bytes) - self->size;
}
result = Py_BuildValue("s#", self->data+self->pos, num_bytes);
@@ -449,6 +449,9 @@
#ifdef MREMAP_MAYMOVE
newmap = mremap(self->data, self->size, new_size, MREMAP_MAYMOVE);
+#elif defined(__NetBSD__)
+ newmap = mremap(self->data, self->size, self->data, new_size, 0);
+
#else
newmap = mremap(self->data, self->size, new_size, 0);
#endif

View File

@ -2,10 +2,12 @@
pkgname=python-2.5.2
distfiles="Python-2.5.2"
extract_sufx=".tar.bz2"
patch_files="python-2.5.2-fix-build.diff python-2.5.2-fix-curses-module.diff
python-2.5.2-fix-bluetooth.diff python-2.5.2-fix-mremap.diff"
url=http://www.python.org/ftp/python/2.5.2
configure_args="--with-threads --enable-shared"
# Python needs the following in LDFLAGS, otherwise modules don't work.
LDFLAGS="-L$PKGFS_BUILDDIR/$pkgname/ -Wl,-R$PKGFS_MASTERDIR/lib/python2.5"
LDFLAGS="-L. -L$PKGFS_DESTDIR/$pkgname -Wl,-R$PKGFS_MASTERDIR/lib/python2.5"
build_style=gnu_configure
short_desc="Interpreted, interactive, object-oriented programming language"
maintainer="Juan RP <xtraeme@gmail.com>"