summaryrefslogtreecommitdiff
path: root/lang/python26
diff options
context:
space:
mode:
authorobache <obache@pkgsrc.org>2010-09-04 05:12:00 +0000
committerobache <obache@pkgsrc.org>2010-09-04 05:12:00 +0000
commite332ec18b33886169da4659538335ddf3ff006cb (patch)
treed4c1e3b3ad4ea43b471edd9f087e4f6bdef9fa34 /lang/python26
parent8ea9d84d7ba4a0fcc253ad635e6680434af8925d (diff)
downloadpkgsrc-e332ec18b33886169da4659538335ddf3ff006cb.tar.gz
Update to python-2.6.6.
What's New in Python 2.6.6? =========================== *Release date: 2010-08-24* Core and Builtins ----------------- Library ------- What's New in Python 2.6.6 rc 2? ================================ *Release date: 2010-08-16* Library ------- - Issue #9600: Don't use relative import for _multiprocessing on Windows. - Issue #8688: Revert regression introduced in 2.6.6rc1 (making Distutils recalculate MANIFEST every time). - Issue #5798: Handle select.poll flag oddities properly on OS X. This fixes test_asynchat and test_smtplib failures on OS X. - Issue #9543: Fix regression in socket.py introduced in Python 2.6.6 rc 1 in r83624. Extension Modules ----------------- - Issue #7567: Don't call `setupterm' twice. Tests ----- - Issue #9568: Fix test_urllib2_localnet on OS X 10.3. - Issue #9145: Fix test_coercion failure in refleak runs. - Issue #8433: Fix test_curses failure caused by newer versions of ncurses returning ERR from getmouse() when there are no mouse events available. What's New in Python 2.6.6 rc 1? ================================ *Release date: 2010-08-03* Core and Builtins ----------------- - Issue #6213: Implement getstate() and setstate() methods of utf-8-sig and utf-16 incremental encoders. - Issue #8271: during the decoding of an invalid UTF-8 byte sequence, only the start byte and the continuation byte(s) are now considered invalid, instead of the number of bytes specified by the start byte. E.g.: '\xf1\x80AB'.decode('utf-8', 'replace') now returns u'\ufffdAB' and replaces with U+FFFD only the start byte ('\xf1') and the continuation byte ('\x80') even if '\xf1' is the start byte of a 4-bytes sequence. Previous versions returned a single u'\ufffd'. - Issue #9058: Remove assertions about INT_MAX in UnicodeDecodeError. - Issue #8941: decoding big endian UTF-32 data in UCS-2 builds could crash the interpreter with characters outside the Basic Multilingual Plane (higher than 0x10000). - Issue #8627: Remove bogus "Overriding __cmp__ blocks inheritance of __hash__ in 3.x" warning. Also fix "XXX undetected error" that arises from the "Overriding __eq__ blocks inheritance ..." warning when turned into an exception: in this case the exception simply gets ignored. - Issue #4108: In urllib.robotparser, if there are multiple 'User-agent: *' entries, consider the first one. - Issue #9354: Provide getsockopt() in asyncore's file_wrapper. - In the unicode/str.format(), raise a ValueError when indexes to arguments are too large. - Issue #3798: Write sys.exit() message to sys.stderr to use stderr encoding and error handler, instead of writing to the C stderr file in utf-8 - Issue #7902: When using explicit relative import syntax, don't try implicit relative import semantics. - Issue #7079: Fix a possible crash when closing a file object while using it from another thread. Patch by Daniel Stutzbach. - Issue #1533: fix inconsistency in range function argument processing: any non-float non-integer argument is now converted to an integer (if possible) using its __int__ method. Previously, only small arguments were treated this way; larger arguments (those whose __int__ was outside the range of a C long) would produce a TypeError. - Issue #8417: Raise an OverflowError when an integer larger than sys.maxsize is passed to bytearray. - Issue #8329: Don't return the same lists from select.select when no fds are changed. - Raise a TypeError when trying to delete a T_STRING_INPLACE struct member. - Issue #1583863: An unicode subclass can now override the __unicode__ method. - Issue #7507: Quote "!" in pipes.quote(); it is special to some shells. - Issue #7544: Preallocate thread memory before creating the thread to avoid a fatal error in low memory condition. - Issue #7820: The parser tokenizer restores all bytes in the right if the BOM check fails. - Issue #7072: isspace(0xa0) is true on Mac OS X C-API ----- - Issue #5753: A new C API function, :cfunc:`PySys_SetArgvEx`, allows embedders of the interpreter to set sys.argv without also modifying sys.path. This helps fix `CVE-2008-5983 <http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-5983>`_. Library ------- - Issue #8447: Make distutils.sysconfig follow symlinks in the path to the interpreter executable. This fixes a failure of test_httpservers on OS X. - Issue #7092: Fix the DeprecationWarnings emitted by the standard library when using the -3 flag. Patch by Florent Xicluna. - Issue #7395: Fix tracebacks in pstats interactive browser. - Issue #1713: Fix os.path.ismount(), which returned true for symbolic links across devices. - Issue #8826: Properly load old-style "expires" attribute in http.cookies. - Issue #1690103: Fix initial namespace for code run with trace.main(). - Issue #5294: Fix the behavior of pdb's "continue" command when called in the top-level debugged frame. - Issue #5727: Restore the ability to use readline when calling into pdb in doctests. - Issue #6719: In pdb, do not stop somewhere in the encodings machinery if the source file to be debugged is in a non-builtin encoding. - Issue #8048: Prevent doctests from failing when sys.displayhook has been reassigned. - Issue #8015: In pdb, do not crash when an empty line is entered as a breakpoint command. - Issue #7909: Do not touch paths with the special prefixes ``\\.\`` or ``\\?\`` in ntpath.normpath(). - Issue #5146: Handle UID THREAD command correctly in imaplib. - Issue #5147: Fix the header generated for cookie files written by http.cookiejar.MozillaCookieJar. - Issue #8198: In pydoc, output all help text to the correct stream when sys.stdout is reassigned. - Issue #1019882: Fix IndexError when loading certain hotshot stats. - Issue #8471: In doctest, properly reset the output stream to an empty string when Unicode was previously output. - Issue #8397: Raise an error when attempting to mix iteration and regular reads on a BZ2File object, rather than returning incorrect results. - Issue #8620: when a Cmd is fed input that reaches EOF without a final newline, it no longer truncates the last character of the last command line. - Issue #7066: archive_util.make_archive now restores the cwd if an error is raised. Initial patch by Ezio Melotti. - Issue #5006: Better handling of unicode byte-order marks (BOM) in the io library. This means, for example, that opening an UTF-16 text file in append mode doesn't add a BOM at the end of the file if the file isn't empty. - Issue #3704: cookielib was not properly handling URLs with a / in the parameters. - Issue #4629: getopt raises an error if an argument ends with = whereas getopt doesn't except a value (eg. --help= is rejected if getopt uses ['help='] long options). - Issue #7895: platform.mac_ver() no longer crashes after calling os.fork() - Issue #5395: array.fromfile() would raise a spurious EOFError when an I/O error occurred. Now an IOError is raised instead. Patch by chuck (Jan Hosang). - Issue #1555570: email no longer inserts extra blank lines when a \r\n combo crosses an 8192 byte boundary. - Issue #9164: Ensure sysconfig handles dupblice archs while building on OSX - Issue #7646: The fnmatch pattern cache no longer grows without bound. - Issue #9136: Fix 'dictionary changed size during iteration' RuntimeError produced when profiling the decimal module. This was due to a dangerous iteration over 'locals()' in Context.__init__. - Fix extreme speed issue in Decimal.pow when the base is an exact power of 10 and the exponent is tiny (for example, Decimal(10) ** Decimal('1e-999999999')). - Issue #9130: Fix validation of relative imports in parser module. - Issue #9128: Fix validation of class decorators in parser module. - Issue #7673: Fix security vulnerability (CVE-2010-2089) in the audioop module, ensure that the input string length is a multiple of the frame size - Issue #6589: cleanup asyncore.socket_map in case smtpd.SMTPServer constructor raises an exception. - Issue #9125: Add recognition of 'except ... as ...' syntax to parser module. - Issue #9085: email package version number bumped to its correct value of 4.0.2 (same as it was in 2.5). - Issue #9075: In the ssl module, remove the setting of a ``debug`` flag on an OpenSSL structure. - Issue #5610: feedparser no longer eats extra characters at the end of a body part if the body part ends with a \r\n. - Issue #8924: logging: Improved error handling for Unicode in exception text. - Fix codecs.escape_encode to return the correct consumed size. - Issue #6470: Drop UNC prefix in FixTk. - Issue #8833: tarfile created hard link entries with a size field != 0 by mistake. - Issue #1368247: set_charset (and therefore MIMEText) now automatically encodes a unicode _payload to the output_charset. - Issue #7150: Raise OverflowError if the result of adding or subtracting timedelta from date or datetime falls outside of the MINYEAR:MAXYEAR range. - Issue #6662: Fix parsing of malformatted charref (&#bad;), patch written by Fredrik Håård - Issue #1628205: Socket file objects returned by socket.socket.makefile() now properly handles EINTR within the read, readline, write & flush methods. The socket.sendall() method now properly handles interrupted system calls. - Issue #3924: Ignore cookies with invalid "version" field in cookielib. - Issue #6268: Fix seek() method of codecs.open(), don't read or write the BOM twice after seek(0). Fix also reset() method of codecs, UTF-16, UTF-32 and StreamWriter classes. - Issue #5640: Fix Shift-JIS incremental encoder for error handlers different than strict - Issue #8782: Add a trailing newline in linecache.updatecache to the last line of files without one. - Issue #8729: Return NotImplemented from collections.Mapping.__eq__ when comparing to a non-mapping. - Issue #5918: Fix a crash in the parser module. - Issue #8688: Distutils now recalculates MANIFEST everytime. - Issue #7640: In the new `io` module, fix relative seek() for buffered readable streams when the internal buffer isn't empty. Patch by Pascal Chambon. - Issue #5099: subprocess.Popen.__del__ no longer references global objects, leading to issues during interpreter shutdown. - Issue #8681: Make the zlib module's error messages more informative when the zlib itself doesn't give any detailed explanation. - Issue #8674: Fixed a number of incorrect or undefined-behaviour-inducing overflow checks in the audioop module. - Issue #8571: Fix an internal error when compressing or decompressing a chunk larger than 1GB with the zlib module's compressor and decompressor objects. - Issue #8573: asyncore _strerror() function might throw ValueError. - Issue #8483: asyncore.dispatcher's __getattr__ method produced confusing error messages when accessing undefined class attributes because of the cheap inheritance with the underlying socket object. - Issue #4265: shutil.copyfile() was leaking file descriptors when disk fills. Patch by Tres Seaver. - Issue #8621: uuid.uuid4() returned the same sequence of values in the parent and any children created using ``os.fork`` on MacOS X 10.6. - Issue #8313: traceback.format_exception_only() encodes unicode message to ASCII with backslashreplace error handler if str(value) failed - Issue #8567: Fix precedence of signals in Decimal module: when a Decimal operation raises multiple signals and more than one of those signals is trapped, the specification determines the order in which the signals should be handled. In many cases this order wasn't being followed, leading to the wrong Python exception being raised. - Issue #7865: The close() method of :mod:`io` objects should not swallow exceptions raised by the implicit flush(). Also ensure that calling close() several times is supported. Initial patch by Pascal Chambon. - Issue #8581: logging: removed errors raised when closing handlers twice. - Issue #4687: Fix accuracy of garbage collection runtimes displayed with gc.DEBUG_STATS. - Issue #8354: The siginterrupt setting is now preserved for all signals, not just SIGCHLD. - Issue #8577: distutils.sysconfig.get_python_inc() now makes a difference between the build dir and the source dir when looking for "python.h" or "Include". - Issue #8464: tarfile no longer creates files with execute permissions set when mode="w|" is used. - Issue #7834: Fix connect() of Bluetooth L2CAP sockets with recent versions of the Linux kernel. Patch by Yaniv Aknin. - Issue #6312: Fixed http HEAD request when the transfer encoding is chunked. It should correctly return an empty response now. - Issue #8086: In :func:`ssl.DER_cert_to_PEM_cert()`, fix missing newline before the certificate footer. Patch by Kyle VanderBeek. - Issue #8549: Fix compiling the _ssl extension under AIX. Patch by Sridhar Ratnakumar. - Issue #2302: Fix a race condition in SocketServer.BaseServer.shutdown, where the method could block indefinitely if called just before the event loop started running. This also fixes the occasional freezes witnessed in test_httpservers. - Issue #5103: SSL handshake would ignore the socket timeout and block indefinitely if the other end didn't respond. - The do_handshake() method of SSL objects now adjusts the blocking mode of the SSL structure if necessary (as other methods already do). - Issue #5238: Calling makefile() on an SSL object would prevent the underlying socket from being closed until all objects get truely destroyed. - Issue #7943: Fix circular reference created when instantiating an SSL socket. Initial patch by Péter Szabó. - Issue #8108: Fix the unwrap() method of SSL objects when the socket has a non-infinite timeout. Also make that method friendlier with applications wanting to continue using the socket in clear-text mode, by disabling OpenSSL's internal readahead. Thanks to Darryl Miles for guidance. - Issue #8484: Load all ciphers and digest algorithms when initializing the _ssl extension, such that verification of some SSL certificates doesn't fail because of an "unknown algorithm". - Issue #4814: timeout parameter is now applied also for connections resulting from PORT/EPRT commands. - Issue #3817: ftplib.FTP.abort() method now considers 225 a valid response code as stated in RFC-959 at chapter 5.4. - Issue #5277: Fix quote counting when parsing RFC 2231 encoded parameters. - Issue #8179: Fix macpath.realpath() on a non-existing path. - Issue #8310: Allow dis to examine new style classes. - Issue #7667: Fix doctest failures with non-ASCII paths. - Issue #7624: Fix isinstance(foo(), collections.Callable) for old-style classes. - Issue #7512: shutil.copystat() could raise an OSError when the filesystem didn't support chflags() (for example ZFS under FreeBSD). The error is now silenced. - Issue #3890, #8222: Fix recv() and recv_into() on non-blocking SSL sockets. Also, enable the SSL_MODE_AUTO_RETRY flag on SSL sockets, so that blocking reads and writes are always retried by OpenSSL itself. - Issue #6544: fix a reference leak in the kqueue implementation's error handling. - Issue #7774: Set sys.executable to an empty string if argv[0] has been set to an non existent program name and Python is unable to retrieve the real program name - Issue #6906: Tk should not set Unicode environment variables on Windows. - Issue #1054943: Fix unicodedata.normalize('NFC', text) for the Public Review Issue #29 - Issue #7494: fix a crash in _lsprof (cProfile) after clearing the profiler, reset also the pointer to the current pointer context. - Issue #4961: Inconsistent/wrong result of askyesno function in tkMessageBox with Tcl/Tk-8.5. - Issue #7356: ctypes.util: Make parsing of ldconfig output independent of the locale. Extension Modules ----------------- - Fix memory leak in ssl._ssl._test_decode_cert. - Issue #9422: Fix memory leak when re-initializing a struct.Struct object. - Issue #7900: The getgroups(2) system call on MacOSX behaves rather oddly compared to other unix systems. In particular, os.getgroups() does not reflect any changes made using os.setgroups() but basicly always returns the same information as the id command. os.getgroups() can now return more than 16 groups on MacOSX. - Issue #9277: Fix bug in struct.pack for bools in standard mode (e.g., struct.pack('>?')): if conversion to bool raised an exception then that exception wasn't properly propagated on machines where char is unsigned. - Issue #7384: If the system readline library is linked against ncurses, do not link the readline module against ncursesw. The additional restriction of linking the readline and curses modules against the same curses library is currently not enabled. - Issue #2810: Fix cases where the Windows registry API returns ERROR_MORE_DATA, requiring a re-try in order to get the complete result. Build ----- - Issue #8854: Fix finding Visual Studio 2008 on Windows x64. - Issue #3928: os.mknod() now available in Solaris, also. - Issue #8175: --with-universal-archs=all works correctly on OSX 10.5 - Issue #6716: Quote -x arguments of compileall in MSI installer. - Issue #1628484: The Makefile doesn't ignore the CFLAGS environment variable anymore. It also forwards the LDFLAGS settings to the linker when building a shared library. Tests ----- - Issue #7849: Now the utility ``check_warnings`` verifies if the warnings are effectively raised. A new private utility ``_check_py3k_warnings`` has been backported to help silencing py3k warnings. - Issue #8672: Add a zlib test ensuring that an incomplete stream can be handled by a decompressor object without errors (it returns incomplete uncompressed data). - Issue #8629: Disable some test_ssl tests, since they give different results with OpenSSL 1.0.0 and higher. - Issue #8576: Remove use of find_unused_port() in test_smtplib and test_multiprocessing. Patch by Paul Moore. - Issue #7027: regrtest.py keeps a reference to the encodings.ascii module as a workaround to #7140 bug - Issue #3864: Skip three test_signal tests on freebsd6 because they fail if any thread was previously started, most likely due to a platform bug. - Issue #8193: Fix test_zlib failure with zlib 1.2.4. Documentation ------------- - Issue #9255: Document that the 'test' package is for internal Python use only. - Issue #8909: Added the size of the bitmap used in the installer created by distutils' bdist_wininst. Patch by Anatoly Techtonik.
Diffstat (limited to 'lang/python26')
-rw-r--r--lang/python26/Makefile7
-rw-r--r--lang/python26/PLIST.common6
-rw-r--r--lang/python26/distinfo29
-rw-r--r--lang/python26/patches/patch-aa6
-rw-r--r--lang/python26/patches/patch-ab6
-rw-r--r--lang/python26/patches/patch-ac6
-rw-r--r--lang/python26/patches/patch-ae42
-rw-r--r--lang/python26/patches/patch-af326
-rw-r--r--lang/python26/patches/patch-ah94
-rw-r--r--lang/python26/patches/patch-al25
-rw-r--r--lang/python26/patches/patch-am53
-rw-r--r--lang/python26/patches/patch-ap82
-rw-r--r--lang/python26/patches/patch-au4
-rw-r--r--lang/python26/patches/patch-av6
14 files changed, 193 insertions, 499 deletions
diff --git a/lang/python26/Makefile b/lang/python26/Makefile
index e9ff485a490..b9666533130 100644
--- a/lang/python26/Makefile
+++ b/lang/python26/Makefile
@@ -1,10 +1,9 @@
-# $NetBSD: Makefile,v 1.24 2010/06/29 08:15:42 tron Exp $
+# $NetBSD: Makefile,v 1.25 2010/09/04 05:12:00 obache Exp $
-DISTNAME= Python-2.6.5
+DISTNAME= Python-2.6.6
PKGNAME= ${DISTNAME:S/Python/python26/}
-PKGREVISION= 1
CATEGORIES= lang python
-MASTER_SITES= http://www.python.org/ftp/python/2.6.5/
+MASTER_SITES= http://www.python.org/ftp/python/${PKGVERSION_NOREV}/
EXTRACT_SUFX= .tar.bz2
MAINTAINER= pkgsrc-users@NetBSD.org
diff --git a/lang/python26/PLIST.common b/lang/python26/PLIST.common
index b0ef4bbcd99..52022e13069 100644
--- a/lang/python26/PLIST.common
+++ b/lang/python26/PLIST.common
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST.common,v 1.10 2010/05/02 14:09:11 wiz Exp $
+@comment $NetBSD: PLIST.common,v 1.11 2010/09/04 05:12:00 obache Exp $
bin/2to3
bin/pydoc${PY_VER_SUFFIX}
bin/python${PY_VER_SUFFIX}
@@ -1839,6 +1839,9 @@ lib/python${PY_VER_SUFFIX}/lib2to3/fixes/fix_exec.pyo
lib/python${PY_VER_SUFFIX}/lib2to3/fixes/fix_execfile.py
lib/python${PY_VER_SUFFIX}/lib2to3/fixes/fix_execfile.pyc
lib/python${PY_VER_SUFFIX}/lib2to3/fixes/fix_execfile.pyo
+lib/python${PY_VER_SUFFIX}/lib2to3/fixes/fix_exitfunc.py
+lib/python${PY_VER_SUFFIX}/lib2to3/fixes/fix_exitfunc.pyc
+lib/python${PY_VER_SUFFIX}/lib2to3/fixes/fix_exitfunc.pyo
lib/python${PY_VER_SUFFIX}/lib2to3/fixes/fix_filter.py
lib/python${PY_VER_SUFFIX}/lib2to3/fixes/fix_filter.pyc
lib/python${PY_VER_SUFFIX}/lib2to3/fixes/fix_filter.pyo
@@ -2646,6 +2649,7 @@ lib/python${PY_VER_SUFFIX}/test/seq_tests.py
lib/python${PY_VER_SUFFIX}/test/seq_tests.pyc
lib/python${PY_VER_SUFFIX}/test/seq_tests.pyo
lib/python${PY_VER_SUFFIX}/test/sgml_input.html
+lib/python${PY_VER_SUFFIX}/test/sha256.pem
lib/python${PY_VER_SUFFIX}/test/sortperf.py
lib/python${PY_VER_SUFFIX}/test/sortperf.pyc
lib/python${PY_VER_SUFFIX}/test/sortperf.pyo
diff --git a/lang/python26/distinfo b/lang/python26/distinfo
index fcfd4ef87fa..1619178d19e 100644
--- a/lang/python26/distinfo
+++ b/lang/python26/distinfo
@@ -1,19 +1,18 @@
-$NetBSD: distinfo,v 1.22 2010/06/29 08:15:42 tron Exp $
+$NetBSD: distinfo,v 1.23 2010/09/04 05:12:00 obache Exp $
-SHA1 (Python-2.6.5.tar.bz2) = 24c94f5428a8c94c9d0b316e3019fee721fdb5d1
-RMD160 (Python-2.6.5.tar.bz2) = 909c6a13749396f2b19fed51821d3e2577b2833b
-Size (Python-2.6.5.tar.bz2) = 11095581 bytes
-SHA1 (patch-aa) = d44e67645dc86ff14f5daf5705de02c6f330cc48
-SHA1 (patch-ab) = d35025df83e70d129f9fbcd277652b0eea83b026
-SHA1 (patch-ac) = 858580a4e5c7474127eafb27bdfa96dc96cafad5
+SHA1 (Python-2.6.6.tar.bz2) = a1daf2c2c7cffe0939c015260447572fe75c7e50
+RMD160 (Python-2.6.6.tar.bz2) = 2d63f4f0ad3c124a8e62215ca94bd0231350e912
+Size (Python-2.6.6.tar.bz2) = 11080872 bytes
+SHA1 (patch-aa) = 0528fc5da76d5f1d19586ea3dda1acd09a4b0113
+SHA1 (patch-ab) = b47aa9d18a7c1a99ac8cc8b29c64867443f303e5
+SHA1 (patch-ac) = 57c88d47f82630e67bcd27ab61bf4362035da2f2
SHA1 (patch-ad) = a997e39d16a8f0023125362b180d19ee97ab519b
-SHA1 (patch-ae) = 5425515c6bf130eee204ca2749386f6447eaa35b
-SHA1 (patch-af) = 42a93a321f6f480133513082c54bcab30e91445f
-SHA1 (patch-ah) = f973ac5a82ba5c665d2ec4b0f6130e903b5a5d7c
-SHA1 (patch-al) = d753e00ab65564a08988f7934870716aca9b02a9
-SHA1 (patch-am) = 77f8ca811777d53d7a1972c177e59568dc49651b
+SHA1 (patch-ae) = a6d578b5f12eb42fbbcc11791576d2686a4807d9
+SHA1 (patch-ah) = 501d220b41e578402f3400fe88e582aa2408a147
+SHA1 (patch-al) = e5bf2a7f50534a18bb18f7111b3c5d097b528778
+SHA1 (patch-am) = d16a765ef8dfdf78d3208016d4300dad170a6cf2
SHA1 (patch-an) = 17b4e17b3b562c29a050e9bb20447084ce82b8ab
SHA1 (patch-ao) = 8c6a156b0f0c2a6d319658477fff348e6a0c3603
-SHA1 (patch-ap) = 39d81b01fa9e1b894be9ae0922881337bb4d17da
-SHA1 (patch-au) = cf68c1975f60d18bf37262fa41cbfef1585aeb55
-SHA1 (patch-av) = a1d41cb3a93879d54f0964ff84a63a297c333156
+SHA1 (patch-ap) = d23a869a449ab9dc166cfa149913b20c9acad9cb
+SHA1 (patch-au) = e0e6595311d4ee1eda45d381cab87cbba46b21d3
+SHA1 (patch-av) = d6bf0419015656a8d2f13d3132873e453c8a6b6e
diff --git a/lang/python26/patches/patch-aa b/lang/python26/patches/patch-aa
index 01d3545f06e..788cee0def0 100644
--- a/lang/python26/patches/patch-aa
+++ b/lang/python26/patches/patch-aa
@@ -1,8 +1,8 @@
-$NetBSD: patch-aa,v 1.1.1.1 2009/04/19 14:42:50 wiz Exp $
+$NetBSD: patch-aa,v 1.2 2010/09/04 05:12:00 obache Exp $
---- Include/py_curses.h.orig 2003-06-29 11:46:21.000000000 -0400
+--- Include/py_curses.h.orig 2009-09-06 21:23:05.000000000 +0000
+++ Include/py_curses.h
-@@ -39,6 +39,21 @@
+@@ -44,6 +44,21 @@
#endif
#endif
diff --git a/lang/python26/patches/patch-ab b/lang/python26/patches/patch-ab
index 2b433e26531..015f1260d08 100644
--- a/lang/python26/patches/patch-ab
+++ b/lang/python26/patches/patch-ab
@@ -1,8 +1,8 @@
-$NetBSD: patch-ab,v 1.1.1.1 2009/04/19 14:42:50 wiz Exp $
+$NetBSD: patch-ab,v 1.2 2010/09/04 05:12:00 obache Exp $
---- Lib/distutils/command/build_ext.py.orig 2007-04-24 09:27:25.000000000 -0600
+--- Lib/distutils/command/build_ext.py.orig 2010-08-02 20:26:41.000000000 +0000
+++ Lib/distutils/command/build_ext.py
-@@ -496,8 +496,19 @@ class build_ext (Command):
+@@ -514,8 +514,19 @@ class build_ext (Command):
# that go into the mix.
if ext.extra_objects:
objects.extend(ext.extra_objects)
diff --git a/lang/python26/patches/patch-ac b/lang/python26/patches/patch-ac
index 0ab198f97a8..7a0bf5e6c7f 100644
--- a/lang/python26/patches/patch-ac
+++ b/lang/python26/patches/patch-ac
@@ -1,8 +1,8 @@
-$NetBSD: patch-ac,v 1.1.1.1 2009/04/19 14:42:50 wiz Exp $
+$NetBSD: patch-ac,v 1.2 2010/09/04 05:12:00 obache Exp $
---- Misc/build.sh.orig 2009-04-07 19:27:36.000000000 +0000
+--- Misc/build.sh.orig 2010-03-12 21:29:25.000000000 +0000
+++ Misc/build.sh
-@@ -275,7 +275,7 @@ fi
+@@ -269,7 +269,7 @@ fi
F="make-doc-dist.out"
start=`current_time`
diff --git a/lang/python26/patches/patch-ae b/lang/python26/patches/patch-ae
index 6162654d3a3..1ad5cdab50f 100644
--- a/lang/python26/patches/patch-ae
+++ b/lang/python26/patches/patch-ae
@@ -1,43 +1,43 @@
-$NetBSD: patch-ae,v 1.1.1.1 2009/04/19 14:42:50 wiz Exp $
+$NetBSD: patch-ae,v 1.2 2010/09/04 05:12:00 obache Exp $
XXXbjs: I use amd64, and audioop is broken on 64-bit platforms.
Thus, this needs to be tested.
---- Modules/sunaudiodev.c.orig 2006-01-19 01:09:39.000000000 -0500
+--- Modules/sunaudiodev.c.orig 2010-05-09 15:15:40.000000000 +0000
+++ Modules/sunaudiodev.c
@@ -224,7 +224,11 @@ sad_ibufcount(sadobject *self)
{
- audio_info_t ai;
-
+ audio_info_t ai;
+
+#if defined(__NetBSD__) && defined(AUDIO_GETBUFINFO)
-+ if (ioctl(self->x_fd, AUDIO_GETBUFINFO, &ai) < 0) {
++ if (ioctl(self->x_fd, AUDIO_GETBUFINFO, &ai) < 0) {
+#else
- if (ioctl(self->x_fd, AUDIO_GETINFO, &ai) < 0) {
+ if (ioctl(self->x_fd, AUDIO_GETINFO, &ai) < 0) {
+#endif
- PyErr_SetFromErrno(SunAudioError);
- return NULL;
- }
+ PyErr_SetFromErrno(SunAudioError);
+ return NULL;
+ }
@@ -236,7 +240,11 @@ sad_obufcount(sadobject *self)
{
- audio_info_t ai;
-
+ audio_info_t ai;
+
+#if defined(__NetBSD__) && defined(AUDIO_GETBUFINFO)
-+ if (ioctl(self->x_fd, AUDIO_GETBUFINFO, &ai) < 0) {
++ if (ioctl(self->x_fd, AUDIO_GETBUFINFO, &ai) < 0) {
+#else
- if (ioctl(self->x_fd, AUDIO_GETINFO, &ai) < 0) {
+ if (ioctl(self->x_fd, AUDIO_GETINFO, &ai) < 0) {
+#endif
- PyErr_SetFromErrno(SunAudioError);
- return NULL;
- }
+ PyErr_SetFromErrno(SunAudioError);
+ return NULL;
+ }
@@ -275,7 +283,11 @@ sad_getdev(sadobject *self)
static PyObject *
sad_flush(sadobject *self)
{
+#if defined(__NetBSD__) || defined(__OpenBSD__)
-+ if (ioctl(self->x_fd, AUDIO_FLUSH, NULL) < 0) {
++ if (ioctl(self->x_fd, AUDIO_FLUSH, NULL) < 0) {
+#else
- if (ioctl(self->x_fd, I_FLUSH, FLUSHW) < 0) {
+ if (ioctl(self->x_fd, I_FLUSH, FLUSHW) < 0) {
+#endif
- PyErr_SetFromErrno(SunAudioError);
- return NULL;
- }
+ PyErr_SetFromErrno(SunAudioError);
+ return NULL;
+ }
diff --git a/lang/python26/patches/patch-af b/lang/python26/patches/patch-af
deleted file mode 100644
index e5076ae5888..00000000000
--- a/lang/python26/patches/patch-af
+++ /dev/null
@@ -1,326 +0,0 @@
-$NetBSD: patch-af,v 1.1 2010/06/29 08:15:42 tron Exp $
-
-Fix for the memory corruption caused by the "audioop" module reported
-in CVE-2010-2089. Patch taken from here:
-
-https://bugzilla.redhat.com/attachment.cgi?id=418359&action=diff
-
---- Modules/audioop.c.orig 2010-06-29 09:09:00.000000000 +0100
-+++ Modules/audioop.c 2010-06-29 09:09:00.000000000 +0100
-@@ -295,6 +295,29 @@
-
- static PyObject *AudioopError;
-
-+static int
-+audioop_check_size(int size)
-+{
-+ if ( size != 1 && size != 2 && size != 4 ) {
-+ PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-+ return 0;
-+ } else {
-+ return 1;
-+ }
-+}
-+
-+static int
-+audioop_check_parameters(int len, int size)
-+{
-+ if (!audioop_check_size(size))
-+ return 0;
-+ if ( len % size != 0 ) {
-+ PyErr_SetString(AudioopError, "not a whole number of frames");
-+ return 0;
-+ }
-+ return 1;
-+}
-+
- static PyObject *
- audioop_getsample(PyObject *self, PyObject *args)
- {
-@@ -304,10 +327,8 @@
-
- if ( !PyArg_ParseTuple(args, "s#ii:getsample", &cp, &len, &size, &i) )
- return 0;
-- if ( size != 1 && size != 2 && size != 4 ) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
- if ( i < 0 || i >= len/size ) {
- PyErr_SetString(AudioopError, "Index out of range");
- return 0;
-@@ -328,10 +349,8 @@
-
- if ( !PyArg_ParseTuple(args, "s#i:max", &cp, &len, &size) )
- return 0;
-- if ( size != 1 && size != 2 && size != 4 ) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
- for ( i=0; i<len; i+= size) {
- if ( size == 1 ) val = (int)*CHARP(cp, i);
- else if ( size == 2 ) val = (int)*SHORTP(cp, i);
-@@ -352,10 +371,8 @@
-
- if (!PyArg_ParseTuple(args, "s#i:minmax", &cp, &len, &size))
- return NULL;
-- if (size != 1 && size != 2 && size != 4) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-+ if (!audioop_check_parameters(len, size))
- return NULL;
-- }
- for (i = 0; i < len; i += size) {
- if (size == 1) val = (int) *CHARP(cp, i);
- else if (size == 2) val = (int) *SHORTP(cp, i);
-@@ -376,10 +393,8 @@
-
- if ( !PyArg_ParseTuple(args, "s#i:avg", &cp, &len, &size) )
- return 0;
-- if ( size != 1 && size != 2 && size != 4 ) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
- for ( i=0; i<len; i+= size) {
- if ( size == 1 ) val = (int)*CHARP(cp, i);
- else if ( size == 2 ) val = (int)*SHORTP(cp, i);
-@@ -403,10 +418,8 @@
-
- if ( !PyArg_ParseTuple(args, "s#i:rms", &cp, &len, &size) )
- return 0;
-- if ( size != 1 && size != 2 && size != 4 ) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
- for ( i=0; i<len; i+= size) {
- if ( size == 1 ) val = (int)*CHARP(cp, i);
- else if ( size == 2 ) val = (int)*SHORTP(cp, i);
-@@ -614,10 +627,8 @@
-
- if ( !PyArg_ParseTuple(args, "s#i:avgpp", &cp, &len, &size) )
- return 0;
-- if ( size != 1 && size != 2 && size != 4 ) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
- /* Compute first delta value ahead. Also automatically makes us
- ** skip the first extreme value
- */
-@@ -671,10 +682,8 @@
-
- if ( !PyArg_ParseTuple(args, "s#i:maxpp", &cp, &len, &size) )
- return 0;
-- if ( size != 1 && size != 2 && size != 4 ) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
- /* Compute first delta value ahead. Also automatically makes us
- ** skip the first extreme value
- */
-@@ -722,10 +731,8 @@
-
- if ( !PyArg_ParseTuple(args, "s#i:cross", &cp, &len, &size) )
- return 0;
-- if ( size != 1 && size != 2 && size != 4 ) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
- ncross = -1;
- prevval = 17; /* Anything <> 0,1 */
- for ( i=0; i<len; i+= size) {
-@@ -750,6 +757,8 @@
-
- if ( !PyArg_ParseTuple(args, "s#id:mul", &cp, &len, &size, &factor ) )
- return 0;
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
-
- if ( size == 1 ) maxval = (double) 0x7f;
- else if ( size == 2 ) maxval = (double) 0x7fff;
-@@ -792,6 +801,12 @@
- if ( !PyArg_ParseTuple(args, "s#idd:tomono",
- &cp, &len, &size, &fac1, &fac2 ) )
- return 0;
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
-+ if ( ((len / size) & 1) != 0 ) {
-+ PyErr_SetString(AudioopError, "not a whole number of frames");
-+ return NULL;
-+ }
-
- if ( size == 1 ) maxval = (double) 0x7f;
- else if ( size == 2 ) maxval = (double) 0x7fff;
-@@ -837,6 +852,8 @@
- if ( !PyArg_ParseTuple(args, "s#idd:tostereo",
- &cp, &len, &size, &fac1, &fac2 ) )
- return 0;
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
-
- if ( size == 1 ) maxval = (double) 0x7f;
- else if ( size == 2 ) maxval = (double) 0x7fff;
-@@ -896,7 +913,8 @@
- if ( !PyArg_ParseTuple(args, "s#s#i:add",
- &cp1, &len1, &cp2, &len2, &size ) )
- return 0;
--
-+ if (!audioop_check_parameters(len1, size))
-+ return NULL;
- if ( len1 != len2 ) {
- PyErr_SetString(AudioopError, "Lengths should be the same");
- return 0;
-@@ -950,11 +968,8 @@
- if ( !PyArg_ParseTuple(args, "s#ii:bias",
- &cp, &len, &size , &bias) )
- return 0;
--
-- if ( size != 1 && size != 2 && size != 4) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
-
- rv = PyString_FromStringAndSize(NULL, len);
- if ( rv == 0 )
-@@ -986,12 +1001,9 @@
- if ( !PyArg_ParseTuple(args, "s#i:reverse",
- &cp, &len, &size) )
- return 0;
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
-
-- if ( size != 1 && size != 2 && size != 4 ) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
--
- rv = PyString_FromStringAndSize(NULL, len);
- if ( rv == 0 )
- return 0;
-@@ -1023,12 +1035,10 @@
- if ( !PyArg_ParseTuple(args, "s#ii:lin2lin",
- &cp, &len, &size, &size2) )
- return 0;
--
-- if ( (size != 1 && size != 2 && size != 4) ||
-- (size2 != 1 && size2 != 2 && size2 != 4)) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
-+ if (!audioop_check_size(size2))
-+ return NULL;
-
- new_len = (len/size)*size2;
- if (new_len < 0) {
-@@ -1080,10 +1090,8 @@
- &nchannels, &inrate, &outrate, &state,
- &weightA, &weightB))
- return NULL;
-- if (size != 1 && size != 2 && size != 4) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-+ if (!audioop_check_size(size))
- return NULL;
-- }
- if (nchannels < 1) {
- PyErr_SetString(AudioopError, "# of channels should be >= 1");
- return NULL;
-@@ -1269,11 +1277,8 @@
- if ( !PyArg_ParseTuple(args, "s#i:lin2ulaw",
- &cp, &len, &size) )
- return 0 ;
--
-- if ( size != 1 && size != 2 && size != 4) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
-
- rv = PyString_FromStringAndSize(NULL, len/size);
- if ( rv == 0 )
-@@ -1303,11 +1308,8 @@
- if ( !PyArg_ParseTuple(args, "s#i:ulaw2lin",
- &cp, &len, &size) )
- return 0;
--
-- if ( size != 1 && size != 2 && size != 4) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_size(size))
-+ return NULL;
-
- new_len = len*size;
- if (new_len < 0) {
-@@ -1343,11 +1345,8 @@
- if ( !PyArg_ParseTuple(args, "s#i:lin2alaw",
- &cp, &len, &size) )
- return 0;
--
-- if ( size != 1 && size != 2 && size != 4) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
-
- rv = PyString_FromStringAndSize(NULL, len/size);
- if ( rv == 0 )
-@@ -1377,11 +1376,8 @@
- if ( !PyArg_ParseTuple(args, "s#i:alaw2lin",
- &cp, &len, &size) )
- return 0;
--
-- if ( size != 1 && size != 2 && size != 4) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_size(size))
-+ return NULL;
-
- new_len = len*size;
- if (new_len < 0) {
-@@ -1418,12 +1414,8 @@
- if ( !PyArg_ParseTuple(args, "s#iO:lin2adpcm",
- &cp, &len, &size, &state) )
- return 0;
--
--
-- if ( size != 1 && size != 2 && size != 4) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_parameters(len, size))
-+ return NULL;
-
- str = PyString_FromStringAndSize(NULL, len/(size*2));
- if ( str == 0 )
-@@ -1526,11 +1518,8 @@
- if ( !PyArg_ParseTuple(args, "s#iO:adpcm2lin",
- &cp, &len, &size, &state) )
- return 0;
--
-- if ( size != 1 && size != 2 && size != 4) {
-- PyErr_SetString(AudioopError, "Size should be 1, 2 or 4");
-- return 0;
-- }
-+ if (!audioop_check_size(size))
-+ return NULL;
-
- /* Decode state, should have (value, step) */
- if ( state == Py_None ) {
diff --git a/lang/python26/patches/patch-ah b/lang/python26/patches/patch-ah
index cd4bc79d83a..c40d427a252 100644
--- a/lang/python26/patches/patch-ah
+++ b/lang/python26/patches/patch-ah
@@ -1,6 +1,6 @@
-$NetBSD: patch-ah,v 1.2 2010/05/02 14:09:11 wiz Exp $
+$NetBSD: patch-ah,v 1.3 2010/09/04 05:12:00 obache Exp $
---- Modules/_cursesmodule.c.orig 2010-02-22 17:06:22.000000000 +0000
+--- Modules/_cursesmodule.c.orig 2010-08-05 16:35:53.000000000 +0000
+++ Modules/_cursesmodule.c
@@ -317,17 +317,9 @@ Window_NoArg2TupleReturnFunction(getpary
@@ -21,66 +21,66 @@ $NetBSD: patch-ah,v 1.2 2010/05/02 14:09:11 wiz Exp $
Window_OneArgNoReturnFunction(scrollok, int, "i;True(1) or False(0)")
Window_OneArgNoReturnFunction(winsdelln, int, "i;nlines")
@@ -886,11 +878,7 @@ PyCursesWindow_GetKey(PyCursesWindowObje
- return Py_BuildValue("c", rtn);
- } else {
- const char *knp;
+ return Py_BuildValue("c", rtn);
+ } else {
+ const char *knp;
-#if defined(__NetBSD__)
-- knp = unctrl(rtn);
+- knp = unctrl(rtn);
-#else
- knp = keyname(rtn);
+ knp = keyname(rtn);
-#endif
- return PyString_FromString((knp == NULL) ? "" : knp);
- }
- }
-@@ -2100,7 +2088,6 @@ PyCurses_Is_Term_Resized(PyObject *self,
+ return PyString_FromString((knp == NULL) ? "" : knp);
+ }
}
+@@ -2100,7 +2088,6 @@ PyCursesWindow_NoOutRefresh(PyCursesWind
+ }
#endif /* HAVE_CURSES_IS_TERM_RESIZED */
-#if !defined(__NetBSD__)
- static PyObject *
- PyCurses_KeyName(PyObject *self, PyObject *args)
- {
-@@ -2119,7 +2106,6 @@ PyCurses_KeyName(PyObject *self, PyObjec
+ static PyObject *
+ PyCurses_KeyName(PyObject *self, PyObject *args)
+ {
+@@ -2119,7 +2106,6 @@ PyCursesWindow_NoOutRefresh(PyCursesWind
- return PyString_FromString((knp == NULL) ? "" : (char *)knp);
- }
+ return PyString_FromString((knp == NULL) ? "" : (char *)knp);
+ }
-#endif
- static PyObject *
- PyCurses_KillChar(PyObject *self)
-@@ -2664,9 +2650,7 @@ static PyMethodDef PyCurses_methods[] =
+ static PyObject *
+ PyCurses_KillChar(PyObject *self)
+@@ -2664,9 +2650,7 @@ PyCursesWindow_NoOutRefresh(PyCursesWind
#ifdef HAVE_CURSES_IS_TERM_RESIZED
- {"is_term_resized", (PyCFunction)PyCurses_Is_Term_Resized, METH_VARARGS},
+ {"is_term_resized", (PyCFunction)PyCurses_Is_Term_Resized, METH_VARARGS},
#endif
-#if !defined(__NetBSD__)
- {"keyname", (PyCFunction)PyCurses_KeyName, METH_VARARGS},
+ {"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},
-@@ -2775,9 +2759,7 @@ init_curses(void)
- SetDictInt("A_DIM", A_DIM);
- SetDictInt("A_BOLD", A_BOLD);
- SetDictInt("A_ALTCHARSET", A_ALTCHARSET);
+ {"killchar", (PyCFunction)PyCurses_KillChar, METH_NOARGS},
+ {"longname", (PyCFunction)PyCurses_longname, METH_NOARGS},
+ {"meta", (PyCFunction)PyCurses_Meta, METH_VARARGS},
+@@ -2775,9 +2759,7 @@ PyCursesWindow_NoOutRefresh(PyCursesWind
+ SetDictInt("A_DIM", A_DIM);
+ SetDictInt("A_BOLD", A_BOLD);
+ SetDictInt("A_ALTCHARSET", A_ALTCHARSET);
-#if !defined(__NetBSD__)
- SetDictInt("A_INVIS", A_INVIS);
+ SetDictInt("A_INVIS", A_INVIS);
-#endif
- SetDictInt("A_PROTECT", A_PROTECT);
- SetDictInt("A_CHARTEXT", A_CHARTEXT);
- SetDictInt("A_COLOR", A_COLOR);
-@@ -2849,7 +2831,6 @@ init_curses(void)
- int key;
- char *key_n;
- char *key_n2;
+ SetDictInt("A_PROTECT", A_PROTECT);
+ SetDictInt("A_CHARTEXT", A_CHARTEXT);
+ SetDictInt("A_COLOR", A_COLOR);
+@@ -2849,7 +2831,6 @@ PyCursesWindow_NoOutRefresh(PyCursesWind
+ 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)
-@@ -2877,7 +2858,6 @@ init_curses(void)
- if (key_n2 != key_n)
- free(key_n2);
- }
+ for (key=KEY_MIN;key < KEY_MAX; key++) {
+ key_n = (char *)keyname(key);
+ if (key_n == NULL || strcmp(key_n,"UNKNOWN KEY")==0)
+@@ -2877,7 +2858,6 @@ PyCursesWindow_NoOutRefresh(PyCursesWind
+ if (key_n2 != key_n)
+ free(key_n2);
+ }
-#endif
- SetDictInt("KEY_MIN", KEY_MIN);
- SetDictInt("KEY_MAX", KEY_MAX);
- }
+ SetDictInt("KEY_MIN", KEY_MIN);
+ SetDictInt("KEY_MAX", KEY_MAX);
+ }
diff --git a/lang/python26/patches/patch-al b/lang/python26/patches/patch-al
index 5ac6b89baeb..b9664275fe9 100644
--- a/lang/python26/patches/patch-al
+++ b/lang/python26/patches/patch-al
@@ -1,8 +1,8 @@
-$NetBSD: patch-al,v 1.4 2010/05/02 14:09:11 wiz Exp $
+$NetBSD: patch-al,v 1.5 2010/09/04 05:12:00 obache Exp $
---- configure.orig 2010-03-09 21:47:28.000000000 +0000
+--- configure.orig 2010-05-25 02:27:03.000000000 +0000
+++ configure
-@@ -4166,17 +4166,18 @@ _ACEOF
+@@ -4736,17 +4736,18 @@ $as_echo "#define Py_ENABLE_SHARED 1" >>
RUNSHARED=LD_LIBRARY_PATH=`pwd`:${LD_LIBRARY_PATH}
INSTSONAME="$LDLIBRARY".$SOVERSION
;;
@@ -27,16 +27,7 @@ $NetBSD: patch-al,v 1.4 2010/05/02 14:09:11 wiz Exp $
hp*|HP*)
case `uname -m` in
ia64)
-@@ -4578,7 +4579,7 @@ fi
- # tweak OPT based on compiler and platform, only if the user didn't set
- # it on the command line
-
--if test "${OPT-unset}" == "unset"
-+if test "${OPT-unset}" = "unset"
- then
- case $GCC in
- yes)
-@@ -13261,8 +13262,8 @@ then
+@@ -7359,8 +7360,8 @@ then
LDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
else
# No framework, use the Python app as bundle-loader
@@ -47,7 +38,7 @@ $NetBSD: patch-al,v 1.4 2010/05/02 14:09:11 wiz Exp $
fi ;;
Darwin/*)
# Use -undefined dynamic_lookup whenever possible (10.3 and later).
-@@ -13283,12 +13284,12 @@ then
+@@ -7381,12 +7382,12 @@ then
LDSHARED="$LDSHARED "'$(PYTHONFRAMEWORKPREFIX)/$(PYTHONFRAMEWORKDIR)/Versions/$(VERSION)/$(PYTHONFRAMEWORK)'
else
# No framework, use the Python app as bundle-loader
@@ -63,7 +54,7 @@ $NetBSD: patch-al,v 1.4 2010/05/02 14:09:11 wiz Exp $
BSD/OS*/4*) LDSHARED="gcc -shared";;
FreeBSD*)
if [ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]
-@@ -13312,6 +13313,7 @@ then
+@@ -7410,6 +7411,7 @@ then
esac
fi;;
NetBSD*|DragonFly*) LDSHARED="cc -shared ${LDFLAGS}";;
@@ -71,7 +62,7 @@ $NetBSD: patch-al,v 1.4 2010/05/02 14:09:11 wiz Exp $
OpenUNIX*|UnixWare*)
if test "$GCC" = "yes"
then LDSHARED='$(CC) -shared'
-@@ -13347,6 +13349,7 @@ then
+@@ -7445,6 +7447,7 @@ then
Linux*|GNU*) CCSHARED="-fPIC";;
BSD/OS*/4*) CCSHARED="-fpic";;
FreeBSD*|NetBSD*|OpenBSD*|DragonFly*) CCSHARED="-fPIC";;
@@ -79,7 +70,7 @@ $NetBSD: patch-al,v 1.4 2010/05/02 14:09:11 wiz Exp $
OpenUNIX*|UnixWare*)
if test "$GCC" = "yes"
then CCSHARED="-fPIC"
-@@ -13404,6 +13407,7 @@ then
+@@ -7502,6 +7505,7 @@ then
then
LINKFORSHARED="-Wl,--export-dynamic"
fi;;
diff --git a/lang/python26/patches/patch-am b/lang/python26/patches/patch-am
index fc81ea8c838..0fcdc658e3f 100644
--- a/lang/python26/patches/patch-am
+++ b/lang/python26/patches/patch-am
@@ -1,4 +1,4 @@
-$NetBSD: patch-am,v 1.11 2010/05/02 14:09:12 wiz Exp $
+$NetBSD: patch-am,v 1.12 2010/09/04 05:12:00 obache Exp $
Disabled modules for normal build:
bsdddb
@@ -12,10 +12,10 @@ headers and libraries from the system.
Build the 1.85 compat module all the time against the BDB version of choice.
---- setup.py.orig 2010-03-08 07:08:25.000000000 +0000
+--- setup.py.orig 2010-07-17 12:31:09.000000000 +0000
+++ setup.py
-@@ -17,7 +17,7 @@ from distutils.command.install import in
- from distutils.command.install_lib import install_lib
+@@ -18,7 +18,7 @@ from distutils.command.install_lib impor
+ from distutils.spawn import find_executable
# This global variable is used to hold the list of modules to be disabled.
-disabled_module_list = []
@@ -23,7 +23,7 @@ Build the 1.85 compat module all the time against the BDB version of choice.
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
-@@ -309,9 +309,15 @@ class PyBuildExt(build_ext):
+@@ -355,9 +355,15 @@ class PyBuildExt(build_ext):
return sys.platform
def detect_modules(self):
@@ -42,7 +42,7 @@ Build the 1.85 compat module all the time against the BDB version of choice.
# Add paths specified in the environment variables LDFLAGS and
# CPPFLAGS for header and library files.
-@@ -629,9 +635,7 @@ class PyBuildExt(build_ext):
+@@ -703,9 +709,7 @@ class PyBuildExt(build_ext):
if krb5_h:
ssl_incs += krb5_h
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
@@ -53,7 +53,7 @@ Build the 1.85 compat module all the time against the BDB version of choice.
if (ssl_incs is not None and
ssl_libs is not None):
-@@ -741,151 +745,6 @@ class PyBuildExt(build_ext):
+@@ -815,172 +819,6 @@ class PyBuildExt(build_ext):
else:
raise ValueError("unknown major BerkeleyDB version", major)
@@ -108,12 +108,19 @@ Build the 1.85 compat module all the time against the BDB version of choice.
-
- db_ver_inc_map = {}
-
+- if sys.platform == 'darwin':
+- sysroot = macosx_sdk_root()
+-
- class db_found(Exception): pass
- try:
- # See whether there is a Sleepycat header in the standard
- # search path.
- for d in inc_dirs + db_inc_paths:
- f = os.path.join(d, "db.h")
+-
+- if sys.platform == 'darwin' and is_macosx_sdk_path(d):
+- f = os.path.join(sysroot, d[1:], "db.h")
+-
- if db_setup_debug: print "db: looking for db.h in", f
- if os.path.exists(f):
- f = open(f).read()
@@ -160,7 +167,21 @@ Build the 1.85 compat module all the time against the BDB version of choice.
- db_incdir.replace("include", 'lib64'),
- db_incdir.replace("include", 'lib'),
- ]
-- db_dirs_to_check = filter(os.path.isdir, db_dirs_to_check)
+-
+- if sys.platform != 'darwin':
+- db_dirs_to_check = filter(os.path.isdir, db_dirs_to_check)
+-
+- else:
+- # Same as other branch, but takes OSX SDK into account
+- tmp = []
+- for dn in db_dirs_to_check:
+- if is_macosx_sdk_path(dn):
+- if os.path.isdir(os.path.join(sysroot, dn[1:])):
+- tmp.append(dn)
+- else:
+- if os.path.isdir(dn):
+- tmp.append(dn)
+- db_dirs_to_check = tmp
-
- # Look for a version specific db-X.Y before an ambiguoius dbX
- # XXX should we -ever- look for a dbX name? Do any
@@ -205,11 +226,17 @@ Build the 1.85 compat module all the time against the BDB version of choice.
# The sqlite interface
sqlite_setup_debug = False # verbose debug prints from this script?
-@@ -992,25 +851,12 @@ class PyBuildExt(build_ext):
+@@ -1094,31 +932,12 @@ class PyBuildExt(build_ext):
# we do not build this one. Otherwise this build will pick up
# 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"
+-
+- if sys.platform == 'darwin':
+- if is_macosx_sdk_path(f):
+- sysroot = macosx_sdk_root()
+- f = os.path.join(sysroot, f[1:])
+-
- if os.path.exists(f) and not db_incs:
- data = open(f).read()
- m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
@@ -236,7 +263,7 @@ Build the 1.85 compat module all the time against the BDB version of choice.
# The standard Unix dbm module:
if platform not in ['cygwin']:
-@@ -1023,7 +869,7 @@ class PyBuildExt(build_ext):
+@@ -1131,7 +950,7 @@ class PyBuildExt(build_ext):
exts.append( Extension('dbm', ['dbmmodule.c'],
define_macros=[('HAVE_NDBM_H',None)],
libraries = ndbm_libs ) )
@@ -245,7 +272,7 @@ Build the 1.85 compat module all the time against the BDB version of choice.
gdbm_libs = ['gdbm']
if self.compiler.find_library_file(lib_dirs, 'gdbm_compat'):
gdbm_libs.append('gdbm_compat')
-@@ -1039,14 +885,11 @@ class PyBuildExt(build_ext):
+@@ -1147,14 +966,11 @@ class PyBuildExt(build_ext):
libraries = gdbm_libs ) )
else:
missing.append('dbm')
@@ -262,7 +289,7 @@ Build the 1.85 compat module all the time against the BDB version of choice.
else:
missing.append('dbm')
-@@ -1304,6 +1147,14 @@ class PyBuildExt(build_ext):
+@@ -1408,6 +1224,14 @@ class PyBuildExt(build_ext):
)
libraries = []
@@ -277,7 +304,7 @@ Build the 1.85 compat module all the time against the BDB version of choice.
else: # Linux and other unices
macros = dict(
HAVE_SEM_OPEN=1,
-@@ -1909,9 +1760,9 @@ def main():
+@@ -2026,9 +1850,9 @@ def main():
ext_modules=[Extension('_struct', ['_struct.c'])],
# Scripts to install
diff --git a/lang/python26/patches/patch-ap b/lang/python26/patches/patch-ap
index 3be7e8580e0..4d9f889e6c3 100644
--- a/lang/python26/patches/patch-ap
+++ b/lang/python26/patches/patch-ap
@@ -1,7 +1,7 @@
-$NetBSD: patch-ap,v 1.2 2009/04/24 01:32:50 hasso Exp $
+$NetBSD: patch-ap,v 1.3 2010/09/04 05:12:00 obache Exp $
---- Modules/socketmodule.c.orig 2009-03-31 21:20:48 +0300
-+++ Modules/socketmodule.c 2009-04-20 16:16:04 +0300
+--- Modules/socketmodule.c.orig 2010-05-23 15:22:08.000000000 +0000
++++ Modules/socketmodule.c
@@ -379,7 +379,7 @@ const char *inet_ntop(int af, const void
#define SOCKETCLOSE close
#endif
@@ -27,56 +27,56 @@ $NetBSD: patch-ap,v 1.2 2009/04/24 01:32:50 hasso Exp $
#define _BT_RC_MEMB(sa, memb) ((sa)->bt_##memb)
#define _BT_HCI_MEMB(sa, memb) ((sa)->bt_##memb)
@@ -1076,9 +1078,13 @@ makesockaddr(int sockfd, struct sockaddr
- case BTPROTO_HCI:
- {
- struct sockaddr_hci *a = (struct sockaddr_hci *) addr;
+ case BTPROTO_HCI:
+ {
+ struct sockaddr_hci *a = (struct sockaddr_hci *) addr;
+#if defined(__NetBSD__) || defined(__DragonFly__)
-+ return makebdaddr(&_BT_HCI_MEMB(a, bdaddr));
++ return makebdaddr(&_BT_HCI_MEMB(a, bdaddr));
+#else
- PyObject *ret = NULL;
- ret = Py_BuildValue("i", _BT_HCI_MEMB(a, dev));
- return ret;
+ PyObject *ret = NULL;
+ ret = Py_BuildValue("i", _BT_HCI_MEMB(a, dev));
+ return ret;
+#endif
- }
+ }
#if !defined(__FreeBSD__)
-@@ -1345,12 +1351,25 @@ getsockaddrarg(PySocketSockObject *s, Py
- case BTPROTO_HCI:
- {
- struct sockaddr_hci *addr = (struct sockaddr_hci *)addr_ret;
+@@ -1350,12 +1356,25 @@ getsockaddrarg(PySocketSockObject *s, Py
+ case BTPROTO_HCI:
+ {
+ struct sockaddr_hci *addr = (struct sockaddr_hci *)addr_ret;
+#if defined(__NetBSD__) || defined(__DragonFly__)
-+ char *straddr = PyString_AsString(args);
++ char *straddr = PyString_AsString(args);
+
-+ _BT_HCI_MEMB(addr, family) = AF_BLUETOOTH;
-+ if (straddr == NULL) {
-+ PyErr_SetString(socket_error, "getsockaddrarg: "
-+ "wrong format");
-+ return 0;
-+ }
-+ if (setbdaddr(straddr, &_BT_HCI_MEMB(addr, bdaddr)) < 0)
-+ return 0;
++ _BT_HCI_MEMB(addr, family) = AF_BLUETOOTH;
++ if (straddr == NULL) {
++ PyErr_SetString(socket_error, "getsockaddrarg: "
++ "wrong format");
++ return 0;
++ }
++ if (setbdaddr(straddr, &_BT_HCI_MEMB(addr, bdaddr)) < 0)
++ return 0;
+#else
- _BT_HCI_MEMB(addr, family) = AF_BLUETOOTH;
- if (!PyArg_ParseTuple(args, "i", &_BT_HCI_MEMB(addr, dev))) {
- PyErr_SetString(socket_error, "getsockaddrarg: "
- "wrong format");
- return 0;
- }
+ _BT_HCI_MEMB(addr, family) = AF_BLUETOOTH;
+ if (!PyArg_ParseTuple(args, "i", &_BT_HCI_MEMB(addr, dev))) {
+ PyErr_SetString(socket_error, "getsockaddrarg: "
+ "wrong format");
+ return 0;
+ }
+#endif
- *len_ret = sizeof *addr;
- return 1;
- }
-@@ -4564,9 +4583,13 @@ init_socket(void)
- PyModule_AddIntConstant(m, "BTPROTO_L2CAP", BTPROTO_L2CAP);
- PyModule_AddIntConstant(m, "BTPROTO_HCI", BTPROTO_HCI);
- PyModule_AddIntConstant(m, "SOL_HCI", SOL_HCI);
+ *len_ret = sizeof *addr;
+ return 1;
+ }
+@@ -4588,9 +4607,13 @@ init_socket(void)
+ PyModule_AddIntConstant(m, "BTPROTO_L2CAP", BTPROTO_L2CAP);
+ PyModule_AddIntConstant(m, "BTPROTO_HCI", BTPROTO_HCI);
+ PyModule_AddIntConstant(m, "SOL_HCI", SOL_HCI);
+#if !defined(__NetBSD__) && !defined(__DragonFly__)
- PyModule_AddIntConstant(m, "HCI_FILTER", HCI_FILTER);
+ PyModule_AddIntConstant(m, "HCI_FILTER", HCI_FILTER);
+#endif
#if !defined(__FreeBSD__)
+#if !defined(__NetBSD__) && !defined(__DragonFly__)
- PyModule_AddIntConstant(m, "HCI_TIME_STAMP", HCI_TIME_STAMP);
+ PyModule_AddIntConstant(m, "HCI_TIME_STAMP", HCI_TIME_STAMP);
+#endif
- PyModule_AddIntConstant(m, "HCI_DATA_DIR", HCI_DATA_DIR);
- PyModule_AddIntConstant(m, "BTPROTO_SCO", BTPROTO_SCO);
+ PyModule_AddIntConstant(m, "HCI_DATA_DIR", HCI_DATA_DIR);
+ PyModule_AddIntConstant(m, "BTPROTO_SCO", BTPROTO_SCO);
#endif
diff --git a/lang/python26/patches/patch-au b/lang/python26/patches/patch-au
index 3016f1bc119..1fefe024c9a 100644
--- a/lang/python26/patches/patch-au
+++ b/lang/python26/patches/patch-au
@@ -1,4 +1,4 @@
-$NetBSD: patch-au,v 1.5 2009/10/21 11:33:32 tron Exp $
+$NetBSD: patch-au,v 1.6 2010/09/04 05:12:00 obache Exp $
--- Makefile.pre.in.orig 2009-02-24 11:07:44.000000000 +0000
+++ Makefile.pre.in
@@ -8,7 +8,7 @@ $NetBSD: patch-au,v 1.5 2009/10/21 11:33:32 tron Exp $
+libpython$(VERSION).dylib: $(LIBRARY_OBJS)
+ $(LINKCC) -dynamiclib -install_name $(LIBDIR)/$@ \
-+ -current_version 2.6.2 -compatibility_version $(VERSION) \
++ -current_version 2.6.6 -compatibility_version $(VERSION) \
+ -o $@ -flat_namespace -undefined suppress $(LDFLAGS) \
+ $(LIBRARY_OBJS) $(SHLIBS) $(LIBC) $(LIBM)
+
diff --git a/lang/python26/patches/patch-av b/lang/python26/patches/patch-av
index dd5e1555d6d..ca454f96863 100644
--- a/lang/python26/patches/patch-av
+++ b/lang/python26/patches/patch-av
@@ -1,11 +1,11 @@
-$NetBSD: patch-av,v 1.1.1.1 2009/04/19 14:42:50 wiz Exp $
+$NetBSD: patch-av,v 1.2 2010/09/04 05:12:00 obache Exp $
Add a knob (enviroment variable) for disabling installation of egg metadata
in extensions until we have infrastructure in place for dealing w/ it.
---- Lib/distutils/command/install.py.orig 2006-03-27 23:55:21.000000000 +0200
+--- Lib/distutils/command/install.py.orig 2008-05-06 22:41:46.000000000 +0000
+++ Lib/distutils/command/install.py
-@@ -601,7 +601,8 @@ class install (Command):
+@@ -680,7 +680,8 @@ class install (Command):
('install_headers', has_headers),
('install_scripts', has_scripts),
('install_data', has_data),