Hi,
this is the diff to use rthreads with Python.
Attached are two diffs:
- update 2.7.1 to use rthreads
- update 2.7.1 to 2.7.2 to use rthreads
Please test the first diff, and if everything is ok test the second.
Thanks,
--
Remi
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/python/2.7/Makefile,v
retrieving revision 1.16
diff -u -p -r1.16 Makefile
--- Makefile 27 Sep 2011 21:27:36 -0000 1.16
+++ Makefile 23 Feb 2012 20:57:15 -0000
@@ -2,8 +2,8 @@
VERSION = 2.7
PATCHLEVEL = .1
-REVISION = 12
-REVISION-bsddb = 13
+REVISION = 13
+REVISION-bsddb = 14
SHARED_LIBS = python2.7 0.0
VERSION_SPEC = >=2.7,<2.8
Index: patches/patch-Lib_tempfile_py
===================================================================
RCS file: patches/patch-Lib_tempfile_py
diff -N patches/patch-Lib_tempfile_py
--- patches/patch-Lib_tempfile_py 6 Jul 2011 12:05:56 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-Lib_tempfile_py,v 1.2 2011/07/06 12:05:56 jasper Exp $
---- Lib/tempfile.py.orig Wed Jul 1 15:34:35 2009
-+++ Lib/tempfile.py Wed Jul 6 14:05:40 2011
-@@ -155,7 +155,7 @@ def _candidate_tempdir_list():
- elif _os.name == 'nt':
- dirlist.extend([ r'c:\temp', r'c:\tmp', r'\temp', r'\tmp' ])
- else:
-- dirlist.extend([ '/tmp', '/var/tmp', '/usr/tmp' ])
-+ dirlist.extend([ '/tmp', '/var/tmp' ])
-
- # As a last resort, the current directory.
- try:
Index: patches/patch-Lib_test_regrtest_py
===================================================================
RCS file: patches/patch-Lib_test_regrtest_py
diff -N patches/patch-Lib_test_regrtest_py
--- patches/patch-Lib_test_regrtest_py 6 Jul 2011 12:05:56 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-Lib_test_regrtest_py,v 1.2 2011/07/06 12:05:56 jasper Exp $
---- Lib/test/regrtest.py.orig Wed Jul 6 14:05:40 2011
-+++ Lib/test/regrtest.py Wed Jul 6 14:05:41 2011
-@@ -1170,6 +1170,8 @@ _expectations = {
- """,
- 'unixware7':
- """
-+ test_audioop
-+ test_imageop
- test_bsddb
- test_bsddb185
- test_dl
Index: patches/patch-Lib_test_test_signal_py
===================================================================
RCS file: patches/patch-Lib_test_test_signal_py
diff -N patches/patch-Lib_test_test_signal_py
--- patches/patch-Lib_test_test_signal_py 14 Sep 2011 09:23:11 -0000
1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-$OpenBSD: patch-Lib_test_test_signal_py,v 1.4 2011/09/14 09:23:11 fgsch Exp $
-
-workarounds for breakage caused by libpthread
-
---- Lib/test/test_signal.py.orig Sun Nov 21 13:34:58 2010
-+++ Lib/test/test_signal.py Sat Sep 10 17:13:14 2011
-@@ -461,8 +461,8 @@ class ItimerTest(unittest.TestCase):
- self.assertEqual(self.hndl_called, True)
-
- # Issue 3864. Unknown if this affects earlier versions of freebsd also.
-- @unittest.skipIf(sys.platform=='freebsd6',
-- 'itimer not reliable (does not mix well with threading) on freebsd6')
-+ @unittest.skipIf(sys.platform in ('freebsd6', 'openbsd3', 'openbsd4',
'openbsd5'),
-+ 'itimer not reliable (does not mix well with threading) on some
BSDs.')
- def test_itimer_prof(self):
- self.itimer = signal.ITIMER_PROF
- signal.signal(signal.SIGPROF, self.sig_prof)
Index: patches/patch-Python_ceval_c
===================================================================
RCS file: patches/patch-Python_ceval_c
diff -N patches/patch-Python_ceval_c
--- patches/patch-Python_ceval_c 5 May 2011 23:25:44 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-Python_ceval_c,v 1.1 2011/05/05 23:25:44 fgsch Exp $
---- Python/ceval.c.orig Thu Apr 28 11:50:30 2011
-+++ Python/ceval.c Thu Apr 28 11:50:52 2011
-@@ -385,7 +385,7 @@ PyEval_RestoreThread(PyThreadState *tstate)
- #endif
- */
-
--#ifdef WITH_THREAD
-+#if defined(WITH_THREAD) && !defined(__OpenBSD__)
-
- /* The WITH_THREAD implementation is thread-safe. It allows
- scheduling to be made from any thread, and even from an executing
Index: Makefile
===================================================================
RCS file: /cvs/ports/lang/python/2.7/Makefile,v
retrieving revision 1.16
diff -u -p -r1.16 Makefile
--- Makefile 27 Sep 2011 21:27:36 -0000 1.16
+++ Makefile 20 Feb 2012 09:09:30 -0000
@@ -1,13 +1,11 @@
# $OpenBSD: Makefile,v 1.16 2011/09/27 21:27:36 sthen Exp $
VERSION = 2.7
-PATCHLEVEL = .1
-REVISION = 12
-REVISION-bsddb = 13
+PATCHLEVEL = .2
SHARED_LIBS = python2.7 0.0
VERSION_SPEC = >=2.7,<2.8
-AUTOCONF_VERSION = 2.65
+AUTOCONF_VERSION = 2.68
CONFIGURE_ARGS += --with-cxx_main \
--with-system-expat
Index: distinfo
===================================================================
RCS file: /cvs/ports/lang/python/2.7/distinfo,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 distinfo
--- distinfo 24 Apr 2011 09:31:44 -0000 1.1.1.1
+++ distinfo 20 Feb 2012 09:09:30 -0000
@@ -1,5 +1,5 @@
-MD5 (Python-2.7.1.tgz) = Fe1WczZV4/q3heSacnjS+w==
-RMD160 (Python-2.7.1.tgz) = CTxJp5LXVfUXPbsE6Vljnz6eYWs=
-SHA1 (Python-2.7.1.tgz) = 3WuRDEeRKnxdjyO3/ArIv4Rl65I=
-SHA256 (Python-2.7.1.tgz) = yhPnsYYIIUlPcN4BcgIoOtc7H7e9iFhkAcVO+Vgibsg=
-SIZE (Python-2.7.1.tgz) = 14058131
+MD5 (Python-2.7.2.tgz) = Dd/iZfGz0KjCRZ9b9miUxw==
+RMD160 (Python-2.7.2.tgz) = HdgHP3CLkrtXttOsqRS1T4HxBxw=
+SHA1 (Python-2.7.2.tgz) = WnTB2ubCpMI9D5rqs09sskd03PM=
+SHA256 (Python-2.7.2.tgz) = HVS3CWwXkCw/QP/OfluE4ActAUQCQYT/8YSoTVY6u7M=
+SIZE (Python-2.7.2.tgz) = 14091337
Index: patches/patch-Lib_tempfile_py
===================================================================
RCS file: patches/patch-Lib_tempfile_py
diff -N patches/patch-Lib_tempfile_py
--- patches/patch-Lib_tempfile_py 6 Jul 2011 12:05:56 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-Lib_tempfile_py,v 1.2 2011/07/06 12:05:56 jasper Exp $
---- Lib/tempfile.py.orig Wed Jul 1 15:34:35 2009
-+++ Lib/tempfile.py Wed Jul 6 14:05:40 2011
-@@ -155,7 +155,7 @@ def _candidate_tempdir_list():
- elif _os.name == 'nt':
- dirlist.extend([ r'c:\temp', r'c:\tmp', r'\temp', r'\tmp' ])
- else:
-- dirlist.extend([ '/tmp', '/var/tmp', '/usr/tmp' ])
-+ dirlist.extend([ '/tmp', '/var/tmp' ])
-
- # As a last resort, the current directory.
- try:
Index: patches/patch-Lib_test_regrtest_py
===================================================================
RCS file: patches/patch-Lib_test_regrtest_py
diff -N patches/patch-Lib_test_regrtest_py
--- patches/patch-Lib_test_regrtest_py 6 Jul 2011 12:05:56 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-Lib_test_regrtest_py,v 1.2 2011/07/06 12:05:56 jasper Exp $
---- Lib/test/regrtest.py.orig Wed Jul 6 14:05:40 2011
-+++ Lib/test/regrtest.py Wed Jul 6 14:05:41 2011
-@@ -1170,6 +1170,8 @@ _expectations = {
- """,
- 'unixware7':
- """
-+ test_audioop
-+ test_imageop
- test_bsddb
- test_bsddb185
- test_dl
Index: patches/patch-Lib_test_test_signal_py
===================================================================
RCS file: patches/patch-Lib_test_test_signal_py
diff -N patches/patch-Lib_test_test_signal_py
--- patches/patch-Lib_test_test_signal_py 14 Sep 2011 09:23:11 -0000
1.4
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,17 +0,0 @@
-$OpenBSD: patch-Lib_test_test_signal_py,v 1.4 2011/09/14 09:23:11 fgsch Exp $
-
-workarounds for breakage caused by libpthread
-
---- Lib/test/test_signal.py.orig Sun Nov 21 13:34:58 2010
-+++ Lib/test/test_signal.py Sat Sep 10 17:13:14 2011
-@@ -461,8 +461,8 @@ class ItimerTest(unittest.TestCase):
- self.assertEqual(self.hndl_called, True)
-
- # Issue 3864. Unknown if this affects earlier versions of freebsd also.
-- @unittest.skipIf(sys.platform=='freebsd6',
-- 'itimer not reliable (does not mix well with threading) on freebsd6')
-+ @unittest.skipIf(sys.platform in ('freebsd6', 'openbsd3', 'openbsd4',
'openbsd5'),
-+ 'itimer not reliable (does not mix well with threading) on some
BSDs.')
- def test_itimer_prof(self):
- self.itimer = signal.ITIMER_PROF
- signal.signal(signal.SIGPROF, self.sig_prof)
Index: patches/patch-Lib_test_test_urllib2_py
===================================================================
RCS file: patches/patch-Lib_test_test_urllib2_py
diff -N patches/patch-Lib_test_test_urllib2_py
--- patches/patch-Lib_test_test_urllib2_py 6 Jul 2011 12:05:56 -0000
1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,35 +0,0 @@
-$OpenBSD: patch-Lib_test_test_urllib2_py,v 1.3 2011/07/06 12:05:56 jasper Exp $
-
-Test fix for CVE-2011-1521: http://hg.python.org/cpython/rev/a778b963eae3
-
---- Lib/test/test_urllib2.py.orig Mon Nov 22 06:04:33 2010
-+++ Lib/test/test_urllib2.py Wed Jul 6 14:05:40 2011
-@@ -969,6 +969,28 @@ class HandlerTests(unittest.TestCase):
- self.assertEqual(count,
- urllib2.HTTPRedirectHandler.max_redirections)
-
-+ def test_invalid_redirect(self):
-+ from_url = "http://example.com/a.html"
-+ valid_schemes = ['http', 'https', 'ftp']
-+ invalid_schemes = ['file', 'imap', 'ldap']
-+ schemeless_url = "example.com/b.html"
-+ h = urllib2.HTTPRedirectHandler()
-+ o = h.parent = MockOpener()
-+ req = Request(from_url)
-+ req.timeout = socket._GLOBAL_DEFAULT_TIMEOUT
-+
-+ for scheme in invalid_schemes:
-+ invalid_url = scheme + '://' + schemeless_url
-+ self.assertRaises(urllib2.HTTPError, h.http_error_302,
-+ req, MockFile(), 302, "Security Loophole",
-+ MockHeaders({"location": invalid_url}))
-+
-+ for scheme in valid_schemes:
-+ valid_url = scheme + '://' + schemeless_url
-+ h.http_error_302(req, MockFile(), 302, "That's fine",
-+ MockHeaders({"location": valid_url}))
-+ self.assertEqual(o.req.get_full_url(), valid_url)
-+
- def test_cookie_redirect(self):
- # cookies shouldn't leak into redirected requests
- from cookielib import CookieJar
Index: patches/patch-Lib_test_test_urllib_py
===================================================================
RCS file: patches/patch-Lib_test_test_urllib_py
diff -N patches/patch-Lib_test_test_urllib_py
--- patches/patch-Lib_test_test_urllib_py 6 Jul 2011 12:05:56 -0000
1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,27 +0,0 @@
-$OpenBSD: patch-Lib_test_test_urllib_py,v 1.3 2011/07/06 12:05:56 jasper Exp $
-
-Test fix for CVE-2011-1521: http://hg.python.org/cpython/rev/a778b963eae3
-
---- Lib/test/test_urllib.py.orig Sun Nov 21 14:34:58 2010
-+++ Lib/test/test_urllib.py Wed Jul 6 14:05:40 2011
-@@ -161,6 +161,20 @@ Content-Type: text/html; charset=iso-8859-1
- finally:
- self.unfakehttp()
-
-+ def test_invalid_redirect(self):
-+ # urlopen() should raise IOError for many error codes.
-+ self.fakehttp("""HTTP/1.1 302 Found
-+Date: Wed, 02 Jan 2008 03:03:54 GMT
-+Server: Apache/1.3.33 (Debian GNU/Linux) mod_ssl/2.8.22 OpenSSL/0.9.7e
-+Location: file:README
-+Connection: close
-+Content-Type: text/html; charset=iso-8859-1
-+""")
-+ try:
-+ self.assertRaises(IOError, urllib.urlopen, "http://python.org/")
-+ finally:
-+ self.unfakehttp()
-+
- def test_empty_socket(self):
- # urlopen() raises IOError if the underlying socket does not send any
- # data. (#1680230)
Index: patches/patch-Lib_urllib2_py
===================================================================
RCS file: patches/patch-Lib_urllib2_py
diff -N patches/patch-Lib_urllib2_py
--- patches/patch-Lib_urllib2_py 6 Jul 2011 12:05:56 -0000 1.3
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,24 +0,0 @@
-$OpenBSD: patch-Lib_urllib2_py,v 1.3 2011/07/06 12:05:56 jasper Exp $
-
-Fix for CVE-2011-1521: http://hg.python.org/cpython/rev/a778b963eae3
-
---- Lib/urllib2.py.orig Sat Nov 20 12:24:08 2010
-+++ Lib/urllib2.py Wed Jul 6 14:05:40 2011
-@@ -579,6 +579,17 @@ class HTTPRedirectHandler(BaseHandler):
-
- newurl = urlparse.urljoin(req.get_full_url(), newurl)
-
-+ # For security reasons we do not allow redirects to protocols
-+ # other than HTTP, HTTPS or FTP.
-+ newurl_lower = newurl.lower()
-+ if not (newurl_lower.startswith('http://') or
-+ newurl_lower.startswith('https://') or
-+ newurl_lower.startswith('ftp://')):
-+ raise HTTPError(newurl, code,
-+ msg + " - Redirection to url '%s' is not allowed"
%
-+ newurl,
-+ headers, fp)
-+
- # XXX Probably want to forget about the state of the current
- # request, although that might interact poorly with other
- # handlers that also use handler-specific request attributes
Index: patches/patch-Lib_urllib_py
===================================================================
RCS file: patches/patch-Lib_urllib_py
diff -N patches/patch-Lib_urllib_py
--- patches/patch-Lib_urllib_py 7 May 2011 09:35:13 -0000 1.2
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,25 +0,0 @@
-$OpenBSD: patch-Lib_urllib_py,v 1.2 2011/05/07 09:35:13 fgsch Exp $
-
-Fix for CVE-2011-1521: http://hg.python.org/cpython/rev/a778b963eae3
-
---- Lib/urllib.py.orig Sat Apr 23 15:02:11 2011
-+++ Lib/urllib.py Sat Apr 23 15:09:17 2011
-@@ -644,6 +644,18 @@ class FancyURLopener(URLopener):
- fp.close()
- # In case the server sent a relative URL, join with original:
- newurl = basejoin(self.type + ":" + url, newurl)
-+
-+ # For security reasons we do not allow redirects to protocols
-+ # other than HTTP, HTTPS or FTP.
-+ newurl_lower = newurl.lower()
-+ if not (newurl_lower.startswith('http://') or
-+ newurl_lower.startswith('https://') or
-+ newurl_lower.startswith('ftp://')):
-+ raise IOError('redirect error', errcode,
-+ errmsg + " - Redirection to url '%s' is not
allowed" %
-+ newurl,
-+ headers)
-+
- return self.open(newurl)
-
- def http_error_301(self, url, fp, errcode, errmsg, headers, data=None):
Index: patches/patch-Makefile_pre_in
===================================================================
RCS file: /cvs/ports/lang/python/2.7/patches/patch-Makefile_pre_in,v
retrieving revision 1.2
diff -u -p -r1.2 patch-Makefile_pre_in
--- patches/patch-Makefile_pre_in 6 Jul 2011 12:05:56 -0000 1.2
+++ patches/patch-Makefile_pre_in 20 Feb 2012 09:09:30 -0000
@@ -1,7 +1,7 @@
$OpenBSD: patch-Makefile_pre_in,v 1.2 2011/07/06 12:05:56 jasper Exp $
---- Makefile.pre.in.orig Thu Oct 14 13:37:30 2010
-+++ Makefile.pre.in Wed Jul 6 14:05:40 2011
-@@ -360,6 +360,8 @@ LIBRARY_OBJS= \
+--- Makefile.pre.in.orig Sat Jun 11 17:46:26 2011
++++ Makefile.pre.in Sun Feb 19 19:10:29 2012
+@@ -363,6 +363,8 @@ LIBRARY_OBJS= \
#########################################################################
# Rules
@@ -10,7 +10,7 @@ $OpenBSD: patch-Makefile_pre_in,v 1.2 20
# Default target
all: build_all
build_all: $(BUILDPYTHON) oldsharedmods sharedmods gdbhooks
-@@ -395,7 +397,7 @@ coverage:
+@@ -398,7 +400,7 @@ coverage:
$(BUILDPYTHON): Modules/python.o $(LIBRARY) $(LDLIBRARY)
$(LINKCC) $(LDFLAGS) $(LINKFORSHARED) -o $@ \
Modules/python.o \
@@ -19,7 +19,7 @@ $OpenBSD: patch-Makefile_pre_in,v 1.2 20
platform: $(BUILDPYTHON)
$(RUNSHARED) ./$(BUILDPYTHON) -E -c 'import sys ; from sysconfig import
get_platform ; print get_platform()+"-"+sys.version[0:3]' >platform
-@@ -444,8 +446,12 @@ gdbhooks: $(BUILDPYTHON)-gdb.py
+@@ -447,8 +449,12 @@ gdbhooks: $(BUILDPYTHON)-gdb.py
SRC_GDB_HOOKS=$(srcdir)/Tools/gdb/libpython.py
$(BUILDPYTHON)-gdb.py: $(SRC_GDB_HOOKS)
@@ -33,7 +33,7 @@ $OpenBSD: patch-Makefile_pre_in,v 1.2 20
# This rule is here for OPENSTEP/Rhapsody/MacOSX. It builds a temporary
# minimal framework (not including the Lib directory and such) in the current
# directory.
-@@ -787,7 +793,6 @@ bininstall: altbininstall
+@@ -792,7 +798,6 @@ bininstall: altbininstall
then rm -f $(DESTDIR)$(BINDIR)/$(PYTHON); \
else true; \
fi
@@ -41,7 +41,7 @@ $OpenBSD: patch-Makefile_pre_in,v 1.2 20
-rm -f $(DESTDIR)$(BINDIR)/python-config
(cd $(DESTDIR)$(BINDIR); $(LN) -s python$(VERSION)-config python-config)
-test -d $(DESTDIR)$(LIBPC) || $(INSTALL) -d -m $(DIRMODE)
$(DESTDIR)$(LIBPC)
-@@ -797,7 +802,7 @@ bininstall: altbininstall
+@@ -802,7 +807,7 @@ bininstall: altbininstall
# Install the interpreter with $(VERSION) affixed
# This goes into $(exec_prefix)
altbininstall: $(BUILDPYTHON)
@@ -50,7 +50,7 @@ $OpenBSD: patch-Makefile_pre_in,v 1.2 20
do \
if test ! -d $(DESTDIR)$$i; then \
echo "Creating directory $$i"; \
-@@ -813,7 +818,8 @@ altbininstall: $(BUILDPYTHON)
+@@ -818,7 +823,8 @@ altbininstall: $(BUILDPYTHON)
$(INSTALL_SHARED) $(LDLIBRARY)
$(DESTDIR)$(LIBDIR)/$(INSTSONAME); \
if test $(LDLIBRARY) != $(INSTSONAME); then \
(cd $(DESTDIR)$(LIBDIR); $(LN) -sf
$(INSTSONAME) $(LDLIBRARY)) \
@@ -60,7 +60,7 @@ $OpenBSD: patch-Makefile_pre_in,v 1.2 20
fi; \
else true; \
fi
-@@ -942,8 +948,8 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR)
+@@ -947,8 +953,8 @@ libinstall: build_all $(srcdir)/Lib/$(PLATDIR)
./$(BUILDPYTHON) -Wi -t -c "import lib2to3.pygram,
lib2to3.patcomp;lib2to3.patcomp.PatternCompiler()"
# Create the PLATDIR source directory, if one wasn't distributed..
Index: patches/patch-Python_ceval_c
===================================================================
RCS file: patches/patch-Python_ceval_c
diff -N patches/patch-Python_ceval_c
--- patches/patch-Python_ceval_c 5 May 2011 23:25:44 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,12 +0,0 @@
-$OpenBSD: patch-Python_ceval_c,v 1.1 2011/05/05 23:25:44 fgsch Exp $
---- Python/ceval.c.orig Thu Apr 28 11:50:30 2011
-+++ Python/ceval.c Thu Apr 28 11:50:52 2011
-@@ -385,7 +385,7 @@ PyEval_RestoreThread(PyThreadState *tstate)
- #endif
- */
-
--#ifdef WITH_THREAD
-+#if defined(WITH_THREAD) && !defined(__OpenBSD__)
-
- /* The WITH_THREAD implementation is thread-safe. It allows
- scheduling to be made from any thread, and even from an executing
Index: patches/patch-configure_in
===================================================================
RCS file: /cvs/ports/lang/python/2.7/patches/patch-configure_in,v
retrieving revision 1.6
diff -u -p -r1.6 patch-configure_in
--- patches/patch-configure_in 10 Dec 2011 19:06:03 -0000 1.6
+++ patches/patch-configure_in 20 Feb 2012 09:09:30 -0000
@@ -2,9 +2,9 @@ $OpenBSD: patch-configure_in,v 1.6 2011/
Wrong value of LDSHARED in sysconfig, cf http://bugs.python.org/issue10547
---- configure.in.orig Mon Nov 1 02:47:19 2010
-+++ configure.in Thu Jul 7 22:57:06 2011
-@@ -331,7 +331,7 @@ case $ac_sys_system/$ac_sys_release in
+--- configure.in.orig Sat Jun 11 17:46:28 2011
++++ configure.in Sun Feb 19 19:10:29 2012
+@@ -324,7 +324,7 @@ case $ac_sys_system/$ac_sys_release in
# As this has a different meaning on Linux, only define it on OpenBSD
AC_DEFINE(_BSD_SOURCE, 1, [Define on OpenBSD to activate all library
features])
;;
@@ -13,42 +13,7 @@ Wrong value of LDSHARED in sysconfig, cf
# OpenBSD undoes our definition of __BSD_VISIBLE if _XOPEN_SOURCE is
# also defined. This can be overridden by defining _BSD_SOURCE
# As this has a different meaning on Linux, only define it on OpenBSD
-@@ -1850,30 +1850,14 @@ then
- BSD/OS*/4*)
- LDSHARED="gcc -shared"
- LDCXXSHARED="g++ -shared";;
-- FreeBSD*)
-+ FreeBSD*|OpenBSD*)
- if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
- then
-- LDSHARED='$(CC) -shared ${LDFLAGS}'
-- LDCXXSHARED='$(CXX) -shared ${LDFLAGS}'
-+ LDSHARED='$(CC) -shared'
-+ LDCXXSHARED='$(CXX) -shared'
- else
-- LDSHARED="ld -Bshareable ${LDFLAGS}"
-+ LDSHARED="ld -Bshareable"
- fi;;
-- OpenBSD*)
-- if [[ "`$CC -dM -E - </dev/null | grep __ELF__`" != "" ]]
-- then
-- LDSHARED='$(CC) -shared $(CCSHARED) ${LDFLAGS}'
-- LDCXXSHARED='$(CXX) -shared $(CCSHARED)
${LDFLAGS}'
-- else
-- case `uname -r` in
-- [[01]].* | 2.[[0-7]] | 2.[[0-7]].*)
-- LDSHARED="ld -Bshareable ${LDFLAGS}"
-- ;;
-- *)
-- LDSHARED='$(CC) -shared $(CCSHARED)
${LDFLAGS}'
-- LDCXXSHARED='$(CXX) -shared $(CCSHARED)
${LDFLAGS}'
-- ;;
-- esac
-- fi;;
- NetBSD*|DragonFly*)
- LDSHARED="cc -shared ${LDFLAGS}"
- LDCXXSHARED="c++ -shared ${LDFLAGS}";;
-@@ -2035,9 +2019,10 @@ AC_CHECK_LIB(dld, shl_load) # Dynamic linking for
HP-U
+@@ -2049,9 +2049,10 @@ AC_CHECK_LIB(dld, shl_load) # Dynamic linking for
HP-U
# only check for sem_init if thread support is requested
if test "$with_threads" = "yes" -o -z "$with_threads"; then
Index: patches/patch-setup_py
===================================================================
RCS file: /cvs/ports/lang/python/2.7/patches/patch-setup_py,v
retrieving revision 1.2
diff -u -p -r1.2 patch-setup_py
--- patches/patch-setup_py 6 Jul 2011 12:05:56 -0000 1.2
+++ patches/patch-setup_py 20 Feb 2012 09:09:30 -0000
@@ -1,6 +1,6 @@
$OpenBSD: patch-setup_py,v 1.2 2011/07/06 12:05:56 jasper Exp $
---- setup.py.orig Sun Oct 31 17:40:21 2010
-+++ setup.py Wed Jul 6 14:05:41 2011
+--- setup.py.orig Sat Jun 11 17:46:28 2011
++++ setup.py Sun Feb 19 19:12:04 2012
@@ -23,6 +23,11 @@ COMPILED_WITH_PYDEBUG = hasattr(sys, 'gettotalrefcount
# This global variable is used to hold the list of modules to be disabled.
disabled_module_list = []
@@ -13,7 +13,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
1) 'dir' is not already in 'dirlist'
-@@ -347,8 +352,8 @@ class PyBuildExt(build_ext):
+@@ -369,8 +374,8 @@ class PyBuildExt(build_ext):
def detect_modules(self):
# Ensure that /usr/local is always used
@@ -21,10 +21,10 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
- add_dir_to_list(self.compiler.include_dirs, '/usr/local/include')
+ add_dir_to_list(self.compiler.library_dirs, usrlocal('lib'))
+ add_dir_to_list(self.compiler.include_dirs, usrlocal('include'))
+ self.add_multiarch_paths()
# Add paths specified in the environment variables LDFLAGS and
- # CPPFLAGS for header and library files.
-@@ -680,8 +685,6 @@ class PyBuildExt(build_ext):
+@@ -703,8 +708,6 @@ class PyBuildExt(build_ext):
depends = ['socketmodule.h']) )
# Detect SSL support for the socket module (via _ssl)
search_for_ssl_incs_in = [
@@ -33,7 +33,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
]
ssl_incs = find_file('openssl/ssl.h', inc_dirs,
search_for_ssl_incs_in
-@@ -692,9 +695,7 @@ class PyBuildExt(build_ext):
+@@ -715,9 +718,7 @@ class PyBuildExt(build_ext):
if krb5_h:
ssl_incs += krb5_h
ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
@@ -44,7 +44,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
if (ssl_incs is not None and
ssl_libs is not None):
-@@ -793,7 +794,7 @@ class PyBuildExt(build_ext):
+@@ -816,7 +817,7 @@ class PyBuildExt(build_ext):
# BerkeleyDB 4.6.x is not stable on many architectures.
arch = platform_machine()
if arch not in ('i386', 'i486', 'i586', 'i686',
@@ -53,7 +53,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
return False
return True
-@@ -856,6 +857,7 @@ class PyBuildExt(build_ext):
+@@ -879,6 +880,7 @@ class PyBuildExt(build_ext):
std_variants.append(os.path.join(dn, "db3.%d"%x))
db_inc_paths = std_variants + db_inc_paths
@@ -61,7 +61,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
db_inc_paths = [p for p in db_inc_paths if os.path.exists(p)]
db_ver_inc_map = {}
-@@ -919,6 +921,7 @@ class PyBuildExt(build_ext):
+@@ -942,6 +944,7 @@ class PyBuildExt(build_ext):
db_incdir.replace("include", 'lib64'),
db_incdir.replace("include", 'lib'),
]
@@ -69,7 +69,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
if sys.platform != 'darwin':
db_dirs_to_check = filter(os.path.isdir, db_dirs_to_check)
-@@ -941,6 +944,7 @@ class PyBuildExt(build_ext):
+@@ -964,6 +967,7 @@ class PyBuildExt(build_ext):
# symlink to more general names?
for dblib in (('db-%d.%d' % db_ver),
('db%d%d' % db_ver),
@@ -77,7 +77,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
('db%d' % db_ver[0])):
dblib_file = self.compiler.find_library_file(
db_dirs_to_check + lib_dirs, dblib )
-@@ -988,6 +992,7 @@ class PyBuildExt(build_ext):
+@@ -1011,6 +1015,7 @@ class PyBuildExt(build_ext):
'/usr/local/include/sqlite',
'/usr/local/include/sqlite3',
]
@@ -85,7 +85,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
MIN_SQLITE_VERSION_NUMBER = (3, 0, 8)
MIN_SQLITE_VERSION = ".".join([str(x)
for x in MIN_SQLITE_VERSION_NUMBER])
-@@ -1033,6 +1038,7 @@ class PyBuildExt(build_ext):
+@@ -1056,6 +1061,7 @@ class PyBuildExt(build_ext):
os.path.join(sqlite_incdir, '..', '..', 'lib64'),
os.path.join(sqlite_incdir, '..', '..', 'lib'),
]
@@ -93,7 +93,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
sqlite_libfile = self.compiler.find_library_file(
sqlite_dirs_to_check + lib_dirs, 'sqlite3')
if sqlite_libfile:
-@@ -1097,7 +1103,7 @@ class PyBuildExt(build_ext):
+@@ -1120,7 +1126,7 @@ class PyBuildExt(build_ext):
sysroot = macosx_sdk_root()
f = os.path.join(sysroot, f[1:])
@@ -102,7 +102,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
data = open(f).read()
m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
if m is not None:
-@@ -1416,7 +1422,11 @@ class PyBuildExt(build_ext):
+@@ -1439,7 +1445,11 @@ class PyBuildExt(build_ext):
libraries = []
elif platform.startswith('openbsd'):
@@ -115,7 +115,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
libraries = []
elif platform.startswith('netbsd'):
-@@ -1464,6 +1474,9 @@ class PyBuildExt(build_ext):
+@@ -1487,6 +1497,9 @@ class PyBuildExt(build_ext):
'freebsd7', 'freebsd8')
or platform.startswith("gnukfreebsd")):
exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) )
@@ -125,7 +125,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
else:
missing.append('ossaudiodev')
-@@ -1637,7 +1650,7 @@ class PyBuildExt(build_ext):
+@@ -1660,7 +1673,7 @@ class PyBuildExt(build_ext):
# For 8.4a2, the X11 headers are not included. Rather than include a
# complicated search, this is a hard-coded path. It could bail out
# if X11 libs are not found...
@@ -134,7 +134,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
frameworks = ['-framework', 'Tcl', '-framework', 'Tk']
# All existing framework builds of Tcl/Tk don't support 64-bit
-@@ -1687,8 +1700,7 @@ class PyBuildExt(build_ext):
+@@ -1710,8 +1723,7 @@ class PyBuildExt(build_ext):
# The versions with dots are used on Unix, and the versions without
# dots on Windows, for detection by cygwin.
tcllib = tklib = tcl_includes = tk_includes = None
@@ -144,7 +144,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
tklib = self.compiler.find_library_file(lib_dirs,
'tk' + version)
tcllib = self.compiler.find_library_file(lib_dirs,
-@@ -1731,17 +1743,9 @@ class PyBuildExt(build_ext):
+@@ -1754,17 +1766,9 @@ class PyBuildExt(build_ext):
if platform == 'sunos5':
include_dirs.append('/usr/openwin/include')
added_lib_dirs.append('/usr/openwin/lib')
@@ -165,7 +165,7 @@ $OpenBSD: patch-setup_py,v 1.2 2011/07/0
# If Cygwin, then verify that X is installed before proceeding
if platform == 'cygwin':
-@@ -2045,7 +2049,7 @@ def main():
+@@ -2068,7 +2072,7 @@ def main():
# Scripts to install
scripts = ['Tools/scripts/pydoc', 'Tools/scripts/idle',
'Tools/scripts/2to3',
Index: pkg/PLIST-main
===================================================================
RCS file: /cvs/ports/lang/python/2.7/pkg/PLIST-main,v
retrieving revision 1.3
diff -u -p -r1.3 PLIST-main
--- pkg/PLIST-main 18 Jul 2011 15:32:18 -0000 1.3
+++ pkg/PLIST-main 20 Feb 2012 09:09:30 -0000
@@ -450,10 +450,10 @@ lib/python2.7/distutils/command/sdist.py
lib/python2.7/distutils/command/upload.py
lib/python2.7/distutils/command/upload.pyc
lib/python2.7/distutils/command/upload.pyo
+@comment lib/python2.7/distutils/command/wininst-9.0-${MACHINE_ARCH}.exe
@comment lib/python2.7/distutils/command/wininst-6.0.exe
@comment lib/python2.7/distutils/command/wininst-7.1.exe
@comment lib/python2.7/distutils/command/wininst-8.0.exe
-@comment lib/python2.7/distutils/command/wininst-9.0-${MACHINE_ARCH}.exe
@comment lib/python2.7/distutils/command/wininst-9.0.exe
lib/python2.7/distutils/config.py
lib/python2.7/distutils/config.pyc
@@ -1335,7 +1335,7 @@ lib/python2.7/keyword.py
lib/python2.7/keyword.pyc
lib/python2.7/keyword.pyo
lib/python2.7/lib-dynload/
-lib/python2.7/lib-dynload/Python-2.7.1-py2.7.egg-info
+lib/python2.7/lib-dynload/Python-2.7.2-py2.7.egg-info
lib/python2.7/lib-dynload/_bisect.so
lib/python2.7/lib-dynload/_codecs_cn.so
lib/python2.7/lib-dynload/_codecs_hk.so
@@ -1395,15 +1395,17 @@ lib/python2.7/lib-dynload/termios.so
lib/python2.7/lib-dynload/time.so
lib/python2.7/lib-dynload/unicodedata.so
lib/python2.7/lib-dynload/zlib.so
-lib/python2.7/lib-old/
lib/python2.7/lib2to3/
lib/python2.7/lib2to3/Grammar.txt
-lib/python2.7/lib2to3/Grammar2.7.1.final.0.pickle
+lib/python2.7/lib2to3/Grammar2.7.2.final.0.pickle
lib/python2.7/lib2to3/PatternGrammar.txt
-lib/python2.7/lib2to3/PatternGrammar2.7.1.final.0.pickle
+lib/python2.7/lib2to3/PatternGrammar2.7.2.final.0.pickle
lib/python2.7/lib2to3/__init__.py
lib/python2.7/lib2to3/__init__.pyc
lib/python2.7/lib2to3/__init__.pyo
+lib/python2.7/lib2to3/__main__.py
+lib/python2.7/lib2to3/__main__.pyc
+lib/python2.7/lib2to3/__main__.pyo
lib/python2.7/lib2to3/btm_matcher.py
lib/python2.7/lib2to3/btm_matcher.pyc
lib/python2.7/lib2to3/btm_matcher.pyo
Index: pkg/PLIST-tests
===================================================================
RCS file: /cvs/ports/lang/python/2.7/pkg/PLIST-tests,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 PLIST-tests
--- pkg/PLIST-tests 24 Apr 2011 09:31:46 -0000 1.1.1.1
+++ pkg/PLIST-tests 20 Feb 2012 09:09:31 -0000
@@ -28,9 +28,33 @@ lib/python2.7/test/buffer_tests.pyc
lib/python2.7/test/buffer_tests.pyo
lib/python2.7/test/cfgparser.1
lib/python2.7/test/check_soundcard.vbs
-lib/python2.7/test/cjkencodings_test.py
-lib/python2.7/test/cjkencodings_test.pyc
-lib/python2.7/test/cjkencodings_test.pyo
+lib/python2.7/test/cjkencodings/
+lib/python2.7/test/cjkencodings/big5-utf8.txt
+lib/python2.7/test/cjkencodings/big5.txt
+lib/python2.7/test/cjkencodings/big5hkscs-utf8.txt
+lib/python2.7/test/cjkencodings/big5hkscs.txt
+lib/python2.7/test/cjkencodings/cp949-utf8.txt
+lib/python2.7/test/cjkencodings/cp949.txt
+lib/python2.7/test/cjkencodings/euc_jisx0213-utf8.txt
+lib/python2.7/test/cjkencodings/euc_jisx0213.txt
+lib/python2.7/test/cjkencodings/euc_jp-utf8.txt
+lib/python2.7/test/cjkencodings/euc_jp.txt
+lib/python2.7/test/cjkencodings/euc_kr-utf8.txt
+lib/python2.7/test/cjkencodings/euc_kr.txt
+lib/python2.7/test/cjkencodings/gb18030-utf8.txt
+lib/python2.7/test/cjkencodings/gb18030.txt
+lib/python2.7/test/cjkencodings/gb2312-utf8.txt
+lib/python2.7/test/cjkencodings/gb2312.txt
+lib/python2.7/test/cjkencodings/gbk-utf8.txt
+lib/python2.7/test/cjkencodings/gbk.txt
+lib/python2.7/test/cjkencodings/hz-utf8.txt
+lib/python2.7/test/cjkencodings/hz.txt
+lib/python2.7/test/cjkencodings/johab-utf8.txt
+lib/python2.7/test/cjkencodings/johab.txt
+lib/python2.7/test/cjkencodings/shift_jis-utf8.txt
+lib/python2.7/test/cjkencodings/shift_jis.txt
+lib/python2.7/test/cjkencodings/shift_jisx0213-utf8.txt
+lib/python2.7/test/cjkencodings/shift_jisx0213.txt
lib/python2.7/test/cmath_testcases.txt
lib/python2.7/test/curses_tests.py
lib/python2.7/test/curses_tests.pyc
@@ -279,6 +303,10 @@ lib/python2.7/test/ssl_key.pem
lib/python2.7/test/string_tests.py
lib/python2.7/test/string_tests.pyc
lib/python2.7/test/string_tests.pyo
+lib/python2.7/test/subprocessdata/
+lib/python2.7/test/subprocessdata/sigchild_ignore.py
+lib/python2.7/test/subprocessdata/sigchild_ignore.pyc
+lib/python2.7/test/subprocessdata/sigchild_ignore.pyo
lib/python2.7/test/svn_python_org_https_cert.pem
lib/python2.7/test/test_MimeWriter.py
lib/python2.7/test/test_MimeWriter.pyc
@@ -927,6 +955,9 @@ lib/python2.7/test/test_module.pyo
lib/python2.7/test/test_modulefinder.py
lib/python2.7/test/test_modulefinder.pyc
lib/python2.7/test/test_modulefinder.pyo
+lib/python2.7/test/test_msilib.py
+lib/python2.7/test/test_msilib.pyc
+lib/python2.7/test/test_msilib.pyo
lib/python2.7/test/test_multibytecodec.py
lib/python2.7/test/test_multibytecodec.pyc
lib/python2.7/test/test_multibytecodec.pyo
Index: pkg/PLIST-tools
===================================================================
RCS file: /cvs/ports/lang/python/2.7/pkg/PLIST-tools,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 PLIST-tools
--- pkg/PLIST-tools 24 Apr 2011 09:31:46 -0000 1.1.1.1
+++ pkg/PLIST-tools 20 Feb 2012 09:09:31 -0000
@@ -26,6 +26,14 @@ lib/python2.7/Tools/bgen/bgen/scantools.
lib/python2.7/Tools/buildbot/
lib/python2.7/Tools/buildbot/README.tcltk-AMD64
@comment lib/python2.7/Tools/buildbot/build-${MACHINE_ARCH}.bat
+@comment lib/python2.7/Tools/buildbot/clean-${MACHINE_ARCH}.bat
+@comment lib/python2.7/Tools/buildbot/external-${MACHINE_ARCH}.bat
+@comment lib/python2.7/Tools/buildbot/test-${MACHINE_ARCH}.bat
+@comment lib/python2.7/Tools/buildbot/build-${MACHINE_ARCH}.bat
+@comment lib/python2.7/Tools/buildbot/clean-${MACHINE_ARCH}.bat
+@comment lib/python2.7/Tools/buildbot/external-${MACHINE_ARCH}.bat
+@comment lib/python2.7/Tools/buildbot/test-${MACHINE_ARCH}.bat
+@comment lib/python2.7/Tools/buildbot/build-${MACHINE_ARCH}.bat
@comment lib/python2.7/Tools/buildbot/build.bat
@comment lib/python2.7/Tools/buildbot/buildmsi.bat
@comment lib/python2.7/Tools/buildbot/clean-${MACHINE_ARCH}.bat