diff options
author | Jung-uk Kim <jkim@FreeBSD.org> | 2010-07-19 21:59:28 +0000 |
---|---|---|
committer | Jung-uk Kim <jkim@FreeBSD.org> | 2010-07-19 21:59:28 +0000 |
commit | 5045cff4a059fb43d185e75ed1258eb9fbe4ca4b (patch) | |
tree | 20aff63270becd83fe367054a3d8fadbd2f72db4 /lang/python31 | |
parent | 0b562433c13e3bfce38e1d374ed3efd63a3614e7 (diff) |
Notes
Diffstat (limited to 'lang/python31')
-rw-r--r-- | lang/python31/Makefile | 1 | ||||
-rw-r--r-- | lang/python31/files/patch-Doc-library-fcntl.rst | 11 | ||||
-rw-r--r-- | lang/python31/files/patch-Lib-test-test_fcntl.py | 11 | ||||
-rw-r--r-- | lang/python31/files/patch-Lib-test-test_ioctl.py | 23 | ||||
-rw-r--r-- | lang/python31/files/patch-Lib-test-test_socket.py | 11 | ||||
-rw-r--r-- | lang/python31/files/patch-Modules-fcntlmodule.c | 53 |
6 files changed, 110 insertions, 0 deletions
diff --git a/lang/python31/Makefile b/lang/python31/Makefile index 3c5989272d41..5c0f76ae8343 100644 --- a/lang/python31/Makefile +++ b/lang/python31/Makefile @@ -6,6 +6,7 @@ PORTNAME= python31 PORTVERSION= 3.1.2 +PORTREVISION= 1 CATEGORIES= lang python ipv6 MASTER_SITES= ${PYTHON_MASTER_SITES} MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR} diff --git a/lang/python31/files/patch-Doc-library-fcntl.rst b/lang/python31/files/patch-Doc-library-fcntl.rst new file mode 100644 index 000000000000..46c072e1c062 --- /dev/null +++ b/lang/python31/files/patch-Doc-library-fcntl.rst @@ -0,0 +1,11 @@ +--- Doc/library/fcntl.rst.orig 2009-06-08 09:41:29.000000000 -0400 ++++ Doc/library/fcntl.rst 2010-06-24 22:31:02.000000000 -0400 +@@ -48,8 +48,6 @@ + This function is identical to the :func:`fcntl` function, except that the + argument handling is even more complicated. + +- The op parameter is limited to values that can fit in 32-bits. +- + The parameter *arg* can be one of an integer, absent (treated identically to the + integer ``0``), an object supporting the read-only buffer interface (most likely + a plain Python string) or an object supporting the read-write buffer interface. diff --git a/lang/python31/files/patch-Lib-test-test_fcntl.py b/lang/python31/files/patch-Lib-test-test_fcntl.py new file mode 100644 index 000000000000..62104a2da20e --- /dev/null +++ b/lang/python31/files/patch-Lib-test-test_fcntl.py @@ -0,0 +1,11 @@ +--- Lib/test/test_fcntl.py.orig 2009-05-24 11:46:13.000000000 -0400 ++++ Lib/test/test_fcntl.py 2010-06-24 13:56:52.000000000 -0400 +@@ -29,7 +29,7 @@ + if sys.platform in ('netbsd1', 'netbsd2', 'netbsd3', + 'Darwin1.2', 'darwin', + 'freebsd2', 'freebsd3', 'freebsd4', 'freebsd5', +- 'freebsd6', 'freebsd7', 'freebsd8', ++ 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9', + 'bsdos2', 'bsdos3', 'bsdos4', + 'openbsd', 'openbsd2', 'openbsd3', 'openbsd4'): + if struct.calcsize('l') == 8: diff --git a/lang/python31/files/patch-Lib-test-test_ioctl.py b/lang/python31/files/patch-Lib-test-test_ioctl.py new file mode 100644 index 000000000000..2488bc755583 --- /dev/null +++ b/lang/python31/files/patch-Lib-test-test_ioctl.py @@ -0,0 +1,23 @@ +--- Lib/test/test_ioctl.py.orig 2009-08-13 04:51:18.000000000 -0400 ++++ Lib/test/test_ioctl.py 2010-06-24 13:35:29.000000000 -0400 +@@ -41,18 +41,9 @@ class IoctlTests(unittest.TestCase): + raise unittest.SkipTest('pty module required') + mfd, sfd = pty.openpty() + try: +- if termios.TIOCSWINSZ < 0: +- set_winsz_opcode_maybe_neg = termios.TIOCSWINSZ +- set_winsz_opcode_pos = termios.TIOCSWINSZ & 0xffffffff +- else: +- set_winsz_opcode_pos = termios.TIOCSWINSZ +- set_winsz_opcode_maybe_neg, = struct.unpack("i", +- struct.pack("I", termios.TIOCSWINSZ)) +- ++ set_winsz_opcode = termios.TIOCSWINSZ + our_winsz = struct.pack("HHHH",80,25,0,0) +- # test both with a positive and potentially negative ioctl code +- new_winsz = fcntl.ioctl(mfd, set_winsz_opcode_pos, our_winsz) +- new_winsz = fcntl.ioctl(mfd, set_winsz_opcode_maybe_neg, our_winsz) ++ new_winsz = fcntl.ioctl(mfd, set_winsz_opcode, our_winsz) + finally: + os.close(mfd) + os.close(sfd) diff --git a/lang/python31/files/patch-Lib-test-test_socket.py b/lang/python31/files/patch-Lib-test-test_socket.py new file mode 100644 index 000000000000..4895d7bc5fc8 --- /dev/null +++ b/lang/python31/files/patch-Lib-test-test_socket.py @@ -0,0 +1,11 @@ +--- Lib/test/test_socket.py.orig 2009-10-04 10:54:52.000000000 -0400 ++++ Lib/test/test_socket.py 2010-06-24 13:57:37.000000000 -0400 +@@ -337,7 +337,7 @@ + # I've ordered this by protocols that have both a tcp and udp + # protocol, at least for modern Linuxes. + if sys.platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6', +- 'freebsd7', 'freebsd8', 'darwin'): ++ 'freebsd7', 'freebsd8', 'freebsd9', 'darwin'): + # avoid the 'echo' service on this platform, as there is an + # assumption breaking non-standard port/protocol entry + services = ('daytime', 'qotd', 'domain') diff --git a/lang/python31/files/patch-Modules-fcntlmodule.c b/lang/python31/files/patch-Modules-fcntlmodule.c new file mode 100644 index 000000000000..3803ad427fbe --- /dev/null +++ b/lang/python31/files/patch-Modules-fcntlmodule.c @@ -0,0 +1,53 @@ +--- Modules/fcntlmodule.c.orig 2009-05-24 11:46:13.000000000 -0400 ++++ Modules/fcntlmodule.c 2010-06-24 22:30:32.000000000 -0400 +@@ -97,20 +97,15 @@ + { + #define IOCTL_BUFSZ 1024 + int fd; +- /* In PyArg_ParseTuple below, we use the unsigned non-checked 'I' ++ /* In PyArg_ParseTuple below, we use the unsigned non-checked 'k' + format for the 'code' parameter because Python turns 0x8000000 + into either a large positive number (PyLong or PyInt on 64-bit + platforms) or a negative number on others (32-bit PyInt) + whereas the system expects it to be a 32bit bit field value + regardless of it being passed as an int or unsigned long on +- various platforms. See the termios.TIOCSWINSZ constant across +- platforms for an example of thise. +- +- If any of the 64bit platforms ever decide to use more than 32bits +- in their unsigned long ioctl codes this will break and need +- special casing based on the platform being built on. ++ various platforms. + */ +- unsigned int code; ++ unsigned long code; + int arg; + int ret; + Py_buffer pstr; +@@ -119,7 +114,7 @@ + int mutate_arg = 1; + char buf[IOCTL_BUFSZ+1]; /* argument plus NUL byte */ + +- if (PyArg_ParseTuple(args, "O&Iw*|i:ioctl", ++ if (PyArg_ParseTuple(args, "O&kw*|i:ioctl", + conv_descriptor, &fd, &code, + &pstr, &mutate_arg)) { + char *arg; +@@ -174,7 +169,7 @@ + } + + PyErr_Clear(); +- if (PyArg_ParseTuple(args, "O&Is*:ioctl", ++ if (PyArg_ParseTuple(args, "O&ks*:ioctl", + conv_descriptor, &fd, &code, &pstr)) { + str = pstr.buf; + len = pstr.len; +@@ -201,7 +196,7 @@ + PyErr_Clear(); + arg = 0; + if (!PyArg_ParseTuple(args, +- "O&I|i;ioctl requires a file or file descriptor," ++ "O&k|i;ioctl requires a file or file descriptor," + " an integer and optionally an integer or buffer argument", + conv_descriptor, &fd, &code, &arg)) { + return NULL; |