diff options
Diffstat (limited to 'lang/python27/files')
-rw-r--r-- | lang/python27/files/extra-patch-configure-pth | 10 | ||||
-rw-r--r-- | lang/python27/files/extra-patch-setup.py | 19 | ||||
-rw-r--r-- | lang/python27/files/patch-Doc-library-fcntl.rst | 11 | ||||
-rw-r--r-- | lang/python27/files/patch-Lib-test-test_fcntl.py | 11 | ||||
-rw-r--r-- | lang/python27/files/patch-Lib-test-test_ioctl.py | 23 | ||||
-rw-r--r-- | lang/python27/files/patch-Lib-test-test_socket.py | 11 | ||||
-rw-r--r-- | lang/python27/files/patch-Modules-_ctypes-libffi-configure | 8 | ||||
-rw-r--r-- | lang/python27/files/patch-Modules-fcntlmodule.c | 53 | ||||
-rw-r--r-- | lang/python27/files/patch-Python_thread__pthread.h | 32 | ||||
-rw-r--r-- | lang/python27/files/patch-setup.py | 92 |
10 files changed, 190 insertions, 80 deletions
diff --git a/lang/python27/files/extra-patch-configure-pth b/lang/python27/files/extra-patch-configure-pth index dca00011cac4..58e5fc73179d 100644 --- a/lang/python27/files/extra-patch-configure-pth +++ b/lang/python27/files/extra-patch-configure-pth @@ -1,12 +1,12 @@ ---- configure.orig 2009-03-12 14:16:24.000000000 +0000 -+++ configure 2009-03-12 14:17:16.000000000 +0000 -@@ -5230,6 +5230,9 @@ +--- configure.orig 2010-08-15 16:47:39.627297328 +0800 ++++ configure 2010-08-15 16:50:31.353013856 +0800 +@@ -5880,6 +5880,9 @@ CC="$ac_save_cc" fi +# XXX Explicitly disable system pthread libraries. +ac_cv_pthread=no + - { echo "$as_me:$LINENO: result: $ac_cv_pthread" >&5 - echo "${ECHO_T}$ac_cv_pthread" >&6; } + { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_pthread" >&5 + $as_echo "$ac_cv_pthread" >&6; } fi diff --git a/lang/python27/files/extra-patch-setup.py b/lang/python27/files/extra-patch-setup.py index 77dc467db500..8deaa316c01e 100644 --- a/lang/python27/files/extra-patch-setup.py +++ b/lang/python27/files/extra-patch-setup.py @@ -1,18 +1,18 @@ ---- setup.py.1 2009-03-12 04:07:36.000000000 +0000 -+++ setup.py 2009-03-12 04:08:36.000000000 +0000 -@@ -1265,13 +1265,21 @@ - ) +--- setup.py.bak 2010-08-15 14:57:00.347134100 +0800 ++++ setup.py 2010-08-15 15:00:06.019643300 +0800 +@@ -1402,10 +1402,22 @@ + macros = dict() libraries = [] - elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9'): + elif platform in ('freebsd4', 'freebsd5', 'freebsd6'): # FreeBSD's P1003.1b semaphore support is very experimental # and has many known problems. (as of June 2008) -- macros = dict( # FreeBSD +- macros = dict() + macros = dict( # FreeBSD 4-6 - HAVE_SEM_OPEN=0, - HAVE_SEM_TIMEDWAIT=0, - HAVE_FD_TRANSFER=1, ++ HAVE_SEM_OPEN=0, ++ HAVE_SEM_TIMEDWAIT=0, ++ HAVE_FD_TRANSFER=1, + ) + libraries = [] + @@ -21,6 +21,7 @@ + HAVE_SEM_OPEN=1, + HAVE_SEM_TIMEDWAIT=1, + HAVE_FD_TRANSFER=1, - ) ++ ) libraries = [] + elif platform.startswith('openbsd'): diff --git a/lang/python27/files/patch-Doc-library-fcntl.rst b/lang/python27/files/patch-Doc-library-fcntl.rst new file mode 100644 index 000000000000..0e7245689987 --- /dev/null +++ b/lang/python27/files/patch-Doc-library-fcntl.rst @@ -0,0 +1,11 @@ +--- Doc/library/fcntl.rst.orig 2010-08-14 16:19:09.194215129 +0800 ++++ Doc/library/fcntl.rst 2010-08-14 16:19:36.999453016 +0800 +@@ -50,8 +50,6 @@ + operations are typically defined in the library module :mod:`termios` and 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/python27/files/patch-Lib-test-test_fcntl.py b/lang/python27/files/patch-Lib-test-test_fcntl.py new file mode 100644 index 000000000000..ebd2ec81265f --- /dev/null +++ b/lang/python27/files/patch-Lib-test-test_fcntl.py @@ -0,0 +1,11 @@ +--- Lib/test/test_fcntl.py.orig 2010-08-14 16:56:31.290525837 +0800 ++++ Lib/test/test_fcntl.py 2010-08-14 16:56:39.007508167 +0800 +@@ -30,7 +30,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/python27/files/patch-Lib-test-test_ioctl.py b/lang/python27/files/patch-Lib-test-test_ioctl.py new file mode 100644 index 000000000000..76ffe5338f9f --- /dev/null +++ b/lang/python27/files/patch-Lib-test-test_ioctl.py @@ -0,0 +1,23 @@ +--- Lib/test/test_ioctl.py.orig 2010-08-14 16:20:34.137255285 +0800 ++++ Lib/test/test_ioctl.py 2010-08-14 16:36:01.013654144 +0800 +@@ -41,18 +41,9 @@ + 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 & 0xffffffffL +- 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/python27/files/patch-Lib-test-test_socket.py b/lang/python27/files/patch-Lib-test-test_socket.py new file mode 100644 index 000000000000..8c1ada8b2da6 --- /dev/null +++ b/lang/python27/files/patch-Lib-test-test_socket.py @@ -0,0 +1,11 @@ +--- Lib/test/test_socket.py.orig 2010-08-14 16:51:08.542899328 +0800 ++++ Lib/test/test_socket.py 2010-08-14 16:53:25.902184941 +0800 +@@ -334,7 +334,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/python27/files/patch-Modules-_ctypes-libffi-configure b/lang/python27/files/patch-Modules-_ctypes-libffi-configure index c788e1813719..2b93f8297f96 100644 --- a/lang/python27/files/patch-Modules-_ctypes-libffi-configure +++ b/lang/python27/files/patch-Modules-_ctypes-libffi-configure @@ -1,11 +1,11 @@ ---- Modules/_ctypes/libffi/configure.orig 2008-05-24 00:06:50.000000000 +0900 -+++ Modules/_ctypes/libffi/configure 2008-10-09 20:24:02.000000000 +0900 -@@ -4725,7 +4725,7 @@ +--- Modules/_ctypes/libffi/configure.orig 2010-03-20 02:59:20.000000000 +0800 ++++ Modules/_ctypes/libffi/configure 2010-06-04 10:04:38.000000000 +0800 +@@ -6289,7 +6289,7 @@ rm -rf conftest* ;; -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +amd64-*-freebsd*|x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ - s390*-*linux*|sparc*-*linux*) + s390*-*linux*|s390*-*tpf*|sparc*-*linux*) # Find out which ABI we are using. echo 'int i;' > conftest.$ac_ext diff --git a/lang/python27/files/patch-Modules-fcntlmodule.c b/lang/python27/files/patch-Modules-fcntlmodule.c new file mode 100644 index 000000000000..b71168e181fe --- /dev/null +++ b/lang/python27/files/patch-Modules-fcntlmodule.c @@ -0,0 +1,53 @@ +--- Modules/fcntlmodule.c.orig 2010-08-14 16:36:54.991363730 +0800 ++++ Modules/fcntlmodule.c 2010-08-14 16:41:05.555822031 +0800 +@@ -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; + char *str; +@@ -118,7 +113,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, + &str, &len, &mutate_arg)) { + char *arg; +@@ -169,7 +164,7 @@ + } + + PyErr_Clear(); +- if (PyArg_ParseTuple(args, "O&Is#:ioctl", ++ if (PyArg_ParseTuple(args, "O&ks#:ioctl", + conv_descriptor, &fd, &code, &str, &len)) { + if (len > IOCTL_BUFSZ) { + PyErr_SetString(PyExc_ValueError, +@@ -191,7 +186,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; diff --git a/lang/python27/files/patch-Python_thread__pthread.h b/lang/python27/files/patch-Python_thread__pthread.h index cde868cd8826..67355d496333 100644 --- a/lang/python27/files/patch-Python_thread__pthread.h +++ b/lang/python27/files/patch-Python_thread__pthread.h @@ -1,5 +1,5 @@ ---- Python/thread_pthread.h.orig 2006-06-13 16:04:24.000000000 +0100 -+++ Python/thread_pthread.h 2009-03-12 10:55:49.000000000 +0000 +--- Python/thread_pthread.h.orig 2010-05-09 22:46:46.000000000 +0800 ++++ Python/thread_pthread.h 2010-08-15 14:27:51.886823397 +0800 @@ -26,13 +26,18 @@ #endif #endif @@ -10,9 +10,9 @@ + /* The POSIX spec says that implementations supporting the sem_* family of functions must indicate this by defining - _POSIX_SEMAPHORES. */ + _POSIX_SEMAPHORES. */ #ifdef _POSIX_SEMAPHORES - /* On FreeBSD 4.x, _POSIX_SEMAPHORES is defined empty, so + /* On FreeBSD 4.x, _POSIX_SEMAPHORES is defined empty, so we need to add 0 to make it work there as well. */ -#if (_POSIX_SEMAPHORES+0) == -1 +#if defined(__FreeBSD__) && __FreeBSD_version < 701104 && \ @@ -30,26 +30,26 @@ #endif @@ -149,6 +153,7 @@ { - pthread_t th; - int status; -+ sigset_t set, oset; + pthread_t th; + int status; ++ sigset_t set, oset; #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) - pthread_attr_t attrs; + pthread_attr_t attrs; #endif @@ -177,6 +182,8 @@ #if defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) - pthread_attr_setscope(&attrs, PTHREAD_SCOPE_SYSTEM); + pthread_attr_setscope(&attrs, PTHREAD_SCOPE_SYSTEM); #endif -+ sigfillset(&set); -+ SET_THREAD_SIGMASK(SIG_BLOCK, &set, &oset); ++ sigfillset(&set); ++ SET_THREAD_SIGMASK(SIG_BLOCK, &set, &oset); - status = pthread_create(&th, + status = pthread_create(&th, #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) @@ -188,6 +195,7 @@ - (void *)arg - ); + (void *)arg + ); -+ SET_THREAD_SIGMASK(SIG_SETMASK, &oset, NULL); ++ SET_THREAD_SIGMASK(SIG_SETMASK, &oset, NULL); #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED) - pthread_attr_destroy(&attrs); + pthread_attr_destroy(&attrs); #endif diff --git a/lang/python27/files/patch-setup.py b/lang/python27/files/patch-setup.py index c7825e0f1872..efc930c596a5 100644 --- a/lang/python27/files/patch-setup.py +++ b/lang/python27/files/patch-setup.py @@ -1,7 +1,7 @@ ---- setup.py.orig 2009-03-31 18:20:48.000000000 +0000 -+++ setup.py 2009-09-10 05:27:01.000000000 +0000 -@@ -17,7 +17,7 @@ from distutils.command.install import in - from distutils.command.install_lib import install_lib +--- setup.py.orig 2010-06-07 09:55:38.000000000 +0800 ++++ setup.py 2010-06-07 10:03:30.000000000 +0800 +@@ -21,7 +21,7 @@ + COMPILED_WITH_PYDEBUG = hasattr(sys, 'gettotalrefcount') # This global variable is used to hold the list of modules to be disabled. -disabled_module_list = [] @@ -9,17 +9,17 @@ def add_dir_to_list(dirlist, dir): """Add the directory 'dir' to the list 'dirlist' (at the front) if -@@ -577,7 +577,7 @@ class PyBuildExt(build_ext): - - readline_libs = ['readline'] - if self.compiler.find_library_file(lib_dirs, -- 'ncursesw'): -+ 'xxxncursesw'): - readline_libs.append('ncursesw') - elif self.compiler.find_library_file(lib_dirs, - 'ncurses'): -@@ -589,7 +589,7 @@ class PyBuildExt(build_ext): - 'termcap'): +@@ -608,7 +608,7 @@ + # use the same library for the readline and curses modules. + if 'curses' in readline_termcap_library: + curses_library = readline_termcap_library +- elif self.compiler.find_library_file(lib_dirs, 'ncursesw'): ++ elif self.compiler.find_library_file(lib_dirs, 'xxxncursesw'): + curses_library = 'ncursesw' + elif self.compiler.find_library_file(lib_dirs, 'ncurses'): + curses_library = 'ncurses' +@@ -647,7 +647,7 @@ + 'termcap'): readline_libs.append('termcap') exts.append( Extension('readline', ['readline.c'], - library_dirs=['/usr/lib/termcap'], @@ -27,7 +27,7 @@ extra_link_args=readline_extra_link_args, libraries=readline_libs) ) else: -@@ -689,6 +689,8 @@ class PyBuildExt(build_ext): +@@ -749,6 +749,8 @@ # OpenSSL doesn't do these until 0.9.8 so we'll bring our own hash exts.append( Extension('_sha256', ['sha256module.c']) ) exts.append( Extension('_sha512', ['sha512module.c']) ) @@ -36,59 +36,59 @@ # Modules that provide persistent dictionary-like semantics. You will # probably want to arrange for at least one of them to be available on -@@ -990,7 +992,7 @@ class PyBuildExt(build_ext): - # the more recent berkeleydb's db.h file first in the include path - # when attempting to compile and it will fail. - f = "/usr/include/db.h" +@@ -1085,7 +1087,7 @@ + sysroot = macosx_sdk_root() + f = os.path.join(sysroot, f[1:]) + - if os.path.exists(f) and not db_incs: + if os.path.exists(f): data = open(f).read() m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data) if m is not None: -@@ -1080,7 +1082,7 @@ class PyBuildExt(build_ext): +@@ -1210,13 +1212,14 @@ # Curses support, requiring the System V version of curses, often # provided by the ncurses library. panel_library = 'panel' -- if (self.compiler.find_library_file(lib_dirs, 'ncursesw')): -+ if (self.compiler.find_library_file(lib_dirs, 'xxxncursesw')): - curses_libs = ['ncursesw'] - # Bug 1464056: If _curses.so links with ncursesw, - # _curses_panel.so must link with panelw. -@@ -1090,6 +1092,7 @@ class PyBuildExt(build_ext): - elif (self.compiler.find_library_file(lib_dirs, 'ncurses')): - curses_libs = ['ncurses'] +- if curses_library.startswith('ncurses'): +- if curses_library == 'ncursesw': ++ if curses_library.startswith('xxxncurses'): ++ if curses_library == 'xxxncursesw': + # Bug 1464056: If _curses.so links with ncursesw, + # _curses_panel.so must link with panelw. + panel_library = 'panelw' + curses_libs = [curses_library] exts.append( Extension('_curses', ['_cursesmodule.c'], + library_dirs = ['/usr/lib'], libraries = curses_libs) ) - elif (self.compiler.find_library_file(lib_dirs, 'curses') - and platform != 'darwin'): -@@ -1111,6 +1114,7 @@ class PyBuildExt(build_ext): - if (module_enabled(exts, '_curses') and - self.compiler.find_library_file(lib_dirs, panel_library)): - exts.append( Extension('_curses_panel', ['_curses_panel.c'], + elif curses_library == 'curses' and platform != 'darwin': + # OSX has an old Berkeley curses, not good enough for +@@ -1229,6 +1232,7 @@ + curses_libs = ['curses'] + + exts.append( Extension('_curses', ['_cursesmodule.c'], + library_dirs = ['/usr/lib'], - libraries = [panel_library] + curses_libs) ) + libraries = curses_libs) ) else: - missing.append('_curses_panel') -@@ -1273,7 +1277,7 @@ class PyBuildExt(build_ext): - ) + missing.append('_curses') +@@ -1397,7 +1401,7 @@ + macros = dict() libraries = [] - elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'): + elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9'): # FreeBSD's P1003.1b semaphore support is very experimental # and has many known problems. (as of June 2008) - macros = dict( # FreeBSD -@@ -1338,7 +1342,7 @@ class PyBuildExt(build_ext): + macros = dict() +@@ -1449,7 +1453,7 @@ missing.append('linuxaudiodev') - if platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6', -- 'freebsd7', 'freebsd8'): -+ 'freebsd7', 'freebsd8', 'freebsd9'): + if (platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6', +- 'freebsd7', 'freebsd8') ++ 'freebsd7', 'freebsd8', 'freebsd9') + or platform.startswith("gnukfreebsd")): exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) ) else: - missing.append('ossaudiodev') -@@ -1891,9 +1895,7 @@ def main(): +@@ -2031,9 +2035,7 @@ ext_modules=[Extension('_struct', ['_struct.c'])], # Scripts to install |