summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Mk/bsd.python.mk12
-rw-r--r--databases/py-bsddb/Makefile4
-rw-r--r--databases/py-bsddb/files/extra-patch-py27-_bsddb.c91
-rw-r--r--lang/python-doc-html/Makefile3
-rw-r--r--lang/python-doc-html/distinfo40
-rw-r--r--lang/python26/Makefile5
-rw-r--r--lang/python26/files/patch-Python_thread__pthread.h55
-rw-r--r--lang/python27/Makefile3
-rw-r--r--lang/python27/distinfo4
-rw-r--r--lang/python27/files/extra-patch-setup.py14
-rw-r--r--lang/python27/files/patch-Makefile.pre.in14
-rw-r--r--lang/python27/files/patch-Python_thread__pthread.h55
-rw-r--r--lang/python27/files/patch-setup.py46
-rw-r--r--lang/python27/pkg-plist13
-rw-r--r--lang/python31/Makefile3
-rw-r--r--lang/python32/Makefile3
-rw-r--r--lang/python32/distinfo4
-rw-r--r--lang/python32/files/patch-Makefile.pre.in46
-rw-r--r--lang/python32/pkg-plist38
-rw-r--r--lang/python33/Makefile3
-rw-r--r--lang/python33/distinfo4
-rw-r--r--lang/python33/files/patch-Makefile.pre.in46
-rw-r--r--lang/python33/files/patch-Modules-_ctypes-libffi-configure10
-rw-r--r--lang/python33/files/patch-Modules-_decimal-libmpdec-mpdecimal.h21
-rw-r--r--lang/python33/pkg-plist18
25 files changed, 262 insertions, 293 deletions
diff --git a/Mk/bsd.python.mk b/Mk/bsd.python.mk
index a30053a76ea8..855ea017ea45 100644
--- a/Mk/bsd.python.mk
+++ b/Mk/bsd.python.mk
@@ -375,9 +375,9 @@ PYTHON_PORTVERSION= ${PYTHON_DEFAULT_PORTVERSION}
# Python-3.3
.if ${PYTHON_VERSION} == "python3.3"
-PYTHON_PORTVERSION?= 3.3.0
+PYTHON_PORTVERSION?= 3.3.1
PYTHON_PORTSDIR= ${PORTSDIR}/lang/python33
-PYTHON_REL= 330
+PYTHON_REL= 331
PYTHON_SUFFIX= 33
PYTHON_VER= 3.3
.if exists(${PYTHON_CMD}-config)
@@ -386,9 +386,9 @@ PYTHON_ABIVER!= ${PYTHON_CMD}-config --abiflags
# Python-3.2
.elif ${PYTHON_VERSION} == "python3.2"
-PYTHON_PORTVERSION?= 3.2.3
+PYTHON_PORTVERSION?= 3.2.4
PYTHON_PORTSDIR= ${PORTSDIR}/lang/python32
-PYTHON_REL= 323
+PYTHON_REL= 324
PYTHON_SUFFIX= 32
PYTHON_VER= 3.2
.if exists(${PYTHON_CMD}-config)
@@ -405,9 +405,9 @@ PYTHON_VER= 3.1
# Python-2.7
.elif ${PYTHON_VERSION} == "python2.7"
-PYTHON_PORTVERSION?= 2.7.3
+PYTHON_PORTVERSION?= 2.7.5
PYTHON_PORTSDIR= ${PORTSDIR}/lang/python27
-PYTHON_REL= 273
+PYTHON_REL= 275
PYTHON_SUFFIX= 27
PYTHON_VER= 2.7
diff --git a/databases/py-bsddb/Makefile b/databases/py-bsddb/Makefile
index a86b21332ffb..fd5a02cf4013 100644
--- a/databases/py-bsddb/Makefile
+++ b/databases/py-bsddb/Makefile
@@ -5,7 +5,7 @@ PORTNAME= bsddb
PORTVERSION= ${PYTHON_PORTVERSION}
PORTREVISION= 3
CATEGORIES= databases python
-MASTER_SITES= ${PYTHON_MASTER_SITES}
+MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
DISTFILES= ${PYTHON_DISTFILE}
@@ -13,7 +13,7 @@ DISTFILES= ${PYTHON_DISTFILE}
MAINTAINER= python@FreeBSD.org
COMMENT= Standard Python bindings to the Berkeley DB library
-USE_BDB= yes
+USE_BDB= 43+
USE_PYTHON= yes
USE_PYDISTUTILS=yes
USE_XZ= yes
diff --git a/databases/py-bsddb/files/extra-patch-py27-_bsddb.c b/databases/py-bsddb/files/extra-patch-py27-_bsddb.c
index 14f05209b368..ee4e89c813f7 100644
--- a/databases/py-bsddb/files/extra-patch-py27-_bsddb.c
+++ b/databases/py-bsddb/files/extra-patch-py27-_bsddb.c
@@ -1,58 +1,7 @@
---- _bsddb.c.orig 2011-06-11 23:46:26.000000000 +0800
-+++ _bsddb.c 2011-10-10 10:29:43.469871000 +0800
-@@ -187,8 +187,10 @@
- static PyObject* DBRunRecoveryError; /* DB_RUNRECOVERY */
- static PyObject* DBVerifyBadError; /* DB_VERIFY_BAD */
- static PyObject* DBNoServerError; /* DB_NOSERVER */
-+#if (DBVER < 52)
- static PyObject* DBNoServerHomeError; /* DB_NOSERVER_HOME */
- static PyObject* DBNoServerIDError; /* DB_NOSERVER_ID */
-+#endif
- static PyObject* DBPageNotFoundError; /* DB_PAGE_NOTFOUND */
- static PyObject* DBSecondaryBadError; /* DB_SECONDARY_BAD */
-
-@@ -696,8 +698,10 @@
- case DB_RUNRECOVERY: errObj = DBRunRecoveryError; break;
- case DB_VERIFY_BAD: errObj = DBVerifyBadError; break;
- case DB_NOSERVER: errObj = DBNoServerError; break;
-+#if (DBVER < 52)
- case DB_NOSERVER_HOME: errObj = DBNoServerHomeError; break;
- case DB_NOSERVER_ID: errObj = DBNoServerIDError; break;
-+#endif
- case DB_PAGE_NOTFOUND: errObj = DBPageNotFoundError; break;
- case DB_SECONDARY_BAD: errObj = DBSecondaryBadError; break;
- case DB_BUFFER_SMALL: errObj = DBNoMemoryError; break;
-@@ -7608,6 +7612,7 @@
- RETURN_NONE();
- }
-
-+#if (DBVER < 52)
- static PyObject*
- DBEnv_repmgr_set_local_site(DBEnvObject* self, PyObject* args, PyObject*
- kwargs)
-@@ -7654,6 +7659,7 @@
- RETURN_IF_ERR();
- return NUMBER_FromLong(eidp);
- }
-+#endif
-
- static PyObject*
- DBEnv_repmgr_set_ack_policy(DBEnvObject* self, PyObject* args)
-@@ -8855,10 +8861,12 @@
- #if (DBVER >= 45)
- {"repmgr_start", (PyCFunction)DBEnv_repmgr_start,
- METH_VARARGS|METH_KEYWORDS},
-+#if (DBVER < 52)
- {"repmgr_set_local_site", (PyCFunction)DBEnv_repmgr_set_local_site,
- METH_VARARGS|METH_KEYWORDS},
- {"repmgr_add_remote_site", (PyCFunction)DBEnv_repmgr_add_remote_site,
- METH_VARARGS|METH_KEYWORDS},
-+#endif
- {"repmgr_set_ack_policy", (PyCFunction)DBEnv_repmgr_set_ack_policy,
- METH_VARARGS},
- {"repmgr_get_ack_policy", (PyCFunction)DBEnv_repmgr_get_ack_policy,
-@@ -9437,7 +9445,7 @@
- #endif
+--- ./_bsddb.c.orig 2013-04-06 18:02:34.000000000 +0400
++++ ./_bsddb.c 2013-05-12 09:27:38.000000000 +0400
+@@ -9699,7 +9699,7 @@
+ ADD_INT(d, DB_RPCCLIENT);
#endif
-#if (DBVER < 48)
@@ -60,35 +9,3 @@
ADD_INT(d, DB_XA_CREATE);
#endif
-@@ -9651,8 +9659,10 @@
- ADD_INT(d, DB_LOCK_DEADLOCK);
- ADD_INT(d, DB_LOCK_NOTGRANTED);
- ADD_INT(d, DB_NOSERVER);
-+#if (DBVER < 52)
- ADD_INT(d, DB_NOSERVER_HOME);
- ADD_INT(d, DB_NOSERVER_ID);
-+#endif
- ADD_INT(d, DB_NOTFOUND);
- ADD_INT(d, DB_OLD_VERSION);
- ADD_INT(d, DB_RUNRECOVERY);
-@@ -9766,7 +9776,9 @@
- ADD_INT(d, DB_REP_PERMANENT);
-
- #if (DBVER >= 44)
-+#if (DBVER < 50)
- ADD_INT(d, DB_REP_CONF_NOAUTOINIT);
-+#endif
- ADD_INT(d, DB_REP_CONF_DELAYCLIENT);
- ADD_INT(d, DB_REP_CONF_BULK);
- ADD_INT(d, DB_REP_CONF_NOWAIT);
-@@ -9912,8 +9924,10 @@
- MAKE_EX(DBRunRecoveryError);
- MAKE_EX(DBVerifyBadError);
- MAKE_EX(DBNoServerError);
-+#if (DBVER < 52)
- MAKE_EX(DBNoServerHomeError);
- MAKE_EX(DBNoServerIDError);
-+#endif
- MAKE_EX(DBPageNotFoundError);
- MAKE_EX(DBSecondaryBadError);
-
diff --git a/lang/python-doc-html/Makefile b/lang/python-doc-html/Makefile
index 4f8589145dd5..46797697b15e 100644
--- a/lang/python-doc-html/Makefile
+++ b/lang/python-doc-html/Makefile
@@ -2,7 +2,8 @@
# $FreeBSD$
PORTNAME= python-doc-${DOCFORMAT}
-PORTVERSION= ${PYTHON_PORTVERSION}
+#PORTVERSION= ${PYTHON_PORTVERSION}
+PORTVERSION= 2.7.5
CATEGORIES= lang python
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ftp/python/doc/${PORTVERSION} \
diff --git a/lang/python-doc-html/distinfo b/lang/python-doc-html/distinfo
index 392554b4f685..66363498adf3 100644
--- a/lang/python-doc-html/distinfo
+++ b/lang/python-doc-html/distinfo
@@ -6,14 +6,14 @@ SHA256 (python/python-2.6.8-docs-pdf-letter.tar.bz2) = b8361a981e283fbf05f00c493
SIZE (python/python-2.6.8-docs-pdf-letter.tar.bz2) = 9153933
SHA256 (python/python-2.6.8-docs-text.tar.bz2) = 0ca9c15942a2377fb388dd3784719dd4cdd2b53bd82530d5a36c3e1a0d6c9a17
SIZE (python/python-2.6.8-docs-text.tar.bz2) = 1400092
-SHA256 (python/python-2.7.3-docs-html.tar.bz2) = b294008007956d600ec78335d7afedda19bf855b008a3586343cd15f8115e9c1
-SIZE (python/python-2.7.3-docs-html.tar.bz2) = 4368711
-SHA256 (python/python-2.7.3-docs-pdf-a4.tar.bz2) = 59b60e120fba0c3754329d15a658f3e4cdfef06b6422071d36ab60ab2e42aa8d
-SIZE (python/python-2.7.3-docs-pdf-a4.tar.bz2) = 10584796
-SHA256 (python/python-2.7.3-docs-pdf-letter.tar.bz2) = af79b7029242fc6c789e3926f6dfb120a8d17da49a6bc8e6873bdedc34bc8174
-SIZE (python/python-2.7.3-docs-pdf-letter.tar.bz2) = 10641044
-SHA256 (python/python-2.7.3-docs-text.tar.bz2) = f75b397ddb72bf74a7abb02821b20b28752a7c98b690588c17090d08e558b4e7
-SIZE (python/python-2.7.3-docs-text.tar.bz2) = 1569795
+SHA256 (python/python-2.7.5-docs-html.tar.bz2) = bb1b8ada858bae3b9e94a7fefe77536f68ce924f2c19b57e5f47c111c29415a3
+SIZE (python/python-2.7.5-docs-html.tar.bz2) = 4467730
+SHA256 (python/python-2.7.5-docs-pdf-a4.tar.bz2) = cd0eafb8dfff0a4d29ac0d00c173cff9e3dc54073372e375cc7557d08ee5e13d
+SIZE (python/python-2.7.5-docs-pdf-a4.tar.bz2) = 10679646
+SHA256 (python/python-2.7.5-docs-pdf-letter.tar.bz2) = c29af0e12120ba9ef3e4829c0cb16f8ec66767863ea99629f9e67f6f20aa63be
+SIZE (python/python-2.7.5-docs-pdf-letter.tar.bz2) = 10731307
+SHA256 (python/python-2.7.5-docs-text.tar.bz2) = f274003bf6568cc4a1536ea3390e64ee306ba5d676c3803357fc93033346e58b
+SIZE (python/python-2.7.5-docs-text.tar.bz2) = 1576869
SHA256 (python/python-3.1.5-docs-html.tar.bz2) = ff327cfaa1219d8d82fcb4f3bae3ec4ce28567982a49784004130521d282faa0
SIZE (python/python-3.1.5-docs-html.tar.bz2) = 3798597
SHA256 (python/python-3.1.5-docs-pdf-a4.tar.bz2) = a1c3ba2c8617c19c745a34034c2f08320c56b5cab1fef9595894db37c832724d
@@ -22,11 +22,19 @@ SHA256 (python/python-3.1.5-docs-pdf-letter.tar.bz2) = 1198c59df9c3cc2ff9a34f588
SIZE (python/python-3.1.5-docs-pdf-letter.tar.bz2) = 9598827
SHA256 (python/python-3.1.5-docs-text.tar.bz2) = 2bd95a2b9d62e78e3ecfce6b0421c4e3b1cc5fd1facc06e9a02286d89e7b4ecb
SIZE (python/python-3.1.5-docs-text.tar.bz2) = 1334753
-SHA256 (python/python-3.2.3-docs-html.tar.bz2) = 1dd4a63dad800fe4207498b7d1ab1f3a8d7c77073fc8c9f5a519d8079ecf1715
-SIZE (python/python-3.2.3-docs-html.tar.bz2) = 4334736
-SHA256 (python/python-3.2.3-docs-pdf-a4.tar.bz2) = 07a0e6b5824eeae4dbf73dc3ad7fb39d7ebf7d3683c9d7bf98e0743be6d281d3
-SIZE (python/python-3.2.3-docs-pdf-a4.tar.bz2) = 10118522
-SHA256 (python/python-3.2.3-docs-pdf-letter.tar.bz2) = e2712344f8b383cf15d59baa8f5e2c173e830bdb0295449ae4f90f4ef55f31a5
-SIZE (python/python-3.2.3-docs-pdf-letter.tar.bz2) = 10178907
-SHA256 (python/python-3.2.3-docs-text.tar.bz2) = 09e8be591085ce318fcd87cb0de156e22ca15c63dbe05ade5e7a9325644eacc9
-SIZE (python/python-3.2.3-docs-text.tar.bz2) = 1547312
+SHA256 (python/python-3.2.4-docs-html.tar.bz2) = db225109e55e47d23c8bae8887bf807eb598421346cbfb784514f60f45c9796b
+SIZE (python/python-3.2.4-docs-html.tar.bz2) = 4435421
+SHA256 (python/python-3.2.4-docs-pdf-a4.tar.bz2) = 7753b186dbe9cd08060fad4a5073de5c2fdff46106e6215d6b70ac6d173fe580
+SIZE (python/python-3.2.4-docs-pdf-a4.tar.bz2) = 10378339
+SHA256 (python/python-3.2.4-docs-pdf-letter.tar.bz2) = c85c8252820004cf0caf7232602879055bb463c2c6ad2ea7d2636e6969b11af8
+SIZE (python/python-3.2.4-docs-pdf-letter.tar.bz2) = 10427691
+SHA256 (python/python-3.2.4-docs-text.tar.bz2) = bfe9b534e314be5b63aa442460d53c939b72b7a2021d67583078e9f8b5c18432
+SIZE (python/python-3.2.4-docs-text.tar.bz2) = 1570492
+SHA256 (python/python-3.3.1-docs-html.tar.bz2) = 77789f20d526800a53f7c3d238089de8a20a894927a10a36ca4aeb2e36d877bf
+SIZE (python/python-3.3.1-docs-html.tar.bz2) = 4899323
+SHA256 (python/python-3.3.1-docs-pdf-a4.tar.bz2) = 394d1d07a87c461193118f50db4905807efd54c733aec1df7464b1688ffa1a4f
+SIZE (python/python-3.3.1-docs-pdf-a4.tar.bz2) = 11162619
+SHA256 (python/python-3.3.1-docs-pdf-letter.tar.bz2) = 3ee448bf4778ba61f89484e08d28cd5b501d2a9c4dd8b3eb47d6a31ffb0c7997
+SIZE (python/python-3.3.1-docs-pdf-letter.tar.bz2) = 11213346
+SHA256 (python/python-3.3.1-docs-text.tar.bz2) = 36505cde176105bf1b7cbab54090d97d7d3be0d3e9f4f20be23f639ef7fd6887
+SIZE (python/python-3.3.1-docs-text.tar.bz2) = 1782542
diff --git a/lang/python26/Makefile b/lang/python26/Makefile
index cdbef00206bd..b685432468d0 100644
--- a/lang/python26/Makefile
+++ b/lang/python26/Makefile
@@ -3,7 +3,7 @@
PORTNAME= python26
PORTVERSION= 2.6.8
-PORTREVISION= 4
+PORTREVISION= 5
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
@@ -12,6 +12,9 @@ DISTFILES= ${PYTHON_DISTFILE}
MAINTAINER= python@FreeBSD.org
COMMENT= Interpreted object-oriented programming language
+DEPRECATED= This port will reach it's EoL upstream soon, please migrate to lang/python27
+EXPIRATION_DATE=2013-10-01
+
DIST_SUBDIR= python
WRKSRC= ${PYTHON_WRKSRC}/portbld.static
PATCH_WRKSRC= ${PYTHON_WRKSRC}
diff --git a/lang/python26/files/patch-Python_thread__pthread.h b/lang/python26/files/patch-Python_thread__pthread.h
deleted file mode 100644
index 67355d496333..000000000000
--- a/lang/python26/files/patch-Python_thread__pthread.h
+++ /dev/null
@@ -1,55 +0,0 @@
---- 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
-
-+#ifdef __FreeBSD__
-+#include <osreldate.h>
-+#endif
-+
- /* The POSIX spec says that implementations supporting the sem_*
- family of functions must indicate this by defining
- _POSIX_SEMAPHORES. */
- #ifdef _POSIX_SEMAPHORES
- /* 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 && \
-+ (_POSIX_SEMAPHORES+0) == -1
- #define HAVE_BROKEN_POSIX_SEMAPHORES
- #else
- #include <semaphore.h>
-@@ -44,7 +49,6 @@
- in default setting. So the process scope is preferred to get
- enough number of threads to work. */
- #ifdef __FreeBSD__
--#include <osreldate.h>
- #if __FreeBSD_version >= 500000 && __FreeBSD_version < 504101
- #undef PTHREAD_SYSTEM_SCHED_SUPPORTED
- #endif
-@@ -149,6 +153,7 @@
- {
- pthread_t th;
- int status;
-+ sigset_t set, oset;
- #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
- pthread_attr_t attrs;
- #endif
-@@ -177,6 +182,8 @@
- #if defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
- pthread_attr_setscope(&attrs, PTHREAD_SCOPE_SYSTEM);
- #endif
-+ sigfillset(&set);
-+ SET_THREAD_SIGMASK(SIG_BLOCK, &set, &oset);
-
- status = pthread_create(&th,
- #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
-@@ -188,6 +195,7 @@
- (void *)arg
- );
-
-+ SET_THREAD_SIGMASK(SIG_SETMASK, &oset, NULL);
- #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
- pthread_attr_destroy(&attrs);
- #endif
diff --git a/lang/python27/Makefile b/lang/python27/Makefile
index d583f2b12142..329021cf304e 100644
--- a/lang/python27/Makefile
+++ b/lang/python27/Makefile
@@ -2,8 +2,7 @@
# $FreeBSD$
PORTNAME= python27
-PORTVERSION= 2.7.3
-PORTREVISION= 6
+PORTVERSION= 2.7.5
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
diff --git a/lang/python27/distinfo b/lang/python27/distinfo
index e1fb6fdb7b8a..53a8a3ee6887 100644
--- a/lang/python27/distinfo
+++ b/lang/python27/distinfo
@@ -1,2 +1,2 @@
-SHA256 (python/Python-2.7.3.tar.xz) = 61d36be58e9e9c733c49d7b76858d5c08e2c63a84f2066b29d35d3521057c985
-SIZE (python/Python-2.7.3.tar.xz) = 9976088
+SHA256 (python/Python-2.7.5.tar.xz) = f33c4cab167dc69e10962e1cebf1c0768e2d0e8575648130c20e6bda84551db1
+SIZE (python/Python-2.7.5.tar.xz) = 10252148
diff --git a/lang/python27/files/extra-patch-setup.py b/lang/python27/files/extra-patch-setup.py
index 98fd1a8b3621..63e7f032e336 100644
--- a/lang/python27/files/extra-patch-setup.py
+++ b/lang/python27/files/extra-patch-setup.py
@@ -1,11 +1,11 @@
---- 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 @@
+--- setup.py.orig 2013-04-07 11:07:43.000000000 +0400
++++ setup.py 2013-04-07 11:16:36.000000000 +0400
+@@ -1544,10 +1544,22 @@
macros = dict()
libraries = []
-- elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9', 'freebsd10'):
-+ elif platform in ('freebsd4', 'freebsd5', 'freebsd6'):
+- elif host_platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9', 'freebsd10'):
++ elif host_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()
@@ -16,7 +16,7 @@
+ )
+ libraries = []
+
-+ elif platform in ('freebsd7', 'freebsd8', 'freebsd9', 'freebsd10'):
++ elif host_platform in ('freebsd7', 'freebsd8', 'freebsd9', 'freebsd10'):
+ macros = dict( # FreeBSD 7+
+ HAVE_SEM_OPEN=1,
+ HAVE_SEM_TIMEDWAIT=1,
@@ -24,4 +24,4 @@
+ )
libraries = []
- elif platform.startswith('openbsd'):
+ elif host_platform.startswith('openbsd'):
diff --git a/lang/python27/files/patch-Makefile.pre.in b/lang/python27/files/patch-Makefile.pre.in
new file mode 100644
index 000000000000..ff18787b8a2c
--- /dev/null
+++ b/lang/python27/files/patch-Makefile.pre.in
@@ -0,0 +1,14 @@
+--- ./Makefile.pre.in.orig 2013-04-06 18:02:34.000000000 +0400
++++ ./Makefile.pre.in 2013-04-07 22:30:19.000000000 +0400
+@@ -281,9 +281,9 @@
+
+ ##########################################################################
+ # AST
+-AST_H_DIR= Include
++AST_H_DIR= $(srcdir)/Include
+ AST_H= $(AST_H_DIR)/Python-ast.h
+-AST_C_DIR= Python
++AST_C_DIR= $(srcdir)/Python
+ AST_C= $(AST_C_DIR)/Python-ast.c
+ AST_ASDL= $(srcdir)/Parser/Python.asdl
+
diff --git a/lang/python27/files/patch-Python_thread__pthread.h b/lang/python27/files/patch-Python_thread__pthread.h
deleted file mode 100644
index 67355d496333..000000000000
--- a/lang/python27/files/patch-Python_thread__pthread.h
+++ /dev/null
@@ -1,55 +0,0 @@
---- 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
-
-+#ifdef __FreeBSD__
-+#include <osreldate.h>
-+#endif
-+
- /* The POSIX spec says that implementations supporting the sem_*
- family of functions must indicate this by defining
- _POSIX_SEMAPHORES. */
- #ifdef _POSIX_SEMAPHORES
- /* 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 && \
-+ (_POSIX_SEMAPHORES+0) == -1
- #define HAVE_BROKEN_POSIX_SEMAPHORES
- #else
- #include <semaphore.h>
-@@ -44,7 +49,6 @@
- in default setting. So the process scope is preferred to get
- enough number of threads to work. */
- #ifdef __FreeBSD__
--#include <osreldate.h>
- #if __FreeBSD_version >= 500000 && __FreeBSD_version < 504101
- #undef PTHREAD_SYSTEM_SCHED_SUPPORTED
- #endif
-@@ -149,6 +153,7 @@
- {
- pthread_t th;
- int status;
-+ sigset_t set, oset;
- #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
- pthread_attr_t attrs;
- #endif
-@@ -177,6 +182,8 @@
- #if defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
- pthread_attr_setscope(&attrs, PTHREAD_SCOPE_SYSTEM);
- #endif
-+ sigfillset(&set);
-+ SET_THREAD_SIGMASK(SIG_BLOCK, &set, &oset);
-
- status = pthread_create(&th,
- #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
-@@ -188,6 +195,7 @@
- (void *)arg
- );
-
-+ SET_THREAD_SIGMASK(SIG_SETMASK, &oset, NULL);
- #if defined(THREAD_STACK_SIZE) || defined(PTHREAD_SYSTEM_SCHED_SUPPORTED)
- pthread_attr_destroy(&attrs);
- #endif
diff --git a/lang/python27/files/patch-setup.py b/lang/python27/files/patch-setup.py
index f793c0bb19f1..5fee8c2c1302 100644
--- a/lang/python27/files/patch-setup.py
+++ b/lang/python27/files/patch-setup.py
@@ -1,7 +1,7 @@
---- setup.py.orig 2011-06-11 17:46:28.000000000 +0200
-+++ setup.py 2011-10-18 12:05:34.000000000 +0200
-@@ -21,7 +21,7 @@
- COMPILED_WITH_PYDEBUG = hasattr(sys, 'gettotalrefcount')
+--- setup.py.orig 2013-04-06 18:02:41.000000000 +0400
++++ setup.py 2013-04-07 10:52:47.000000000 +0400
+@@ -33,7 +33,7 @@
+ COMPILED_WITH_PYDEBUG = ('--with-pydebug' in sysconfig.get_config_var("CONFIG_ARGS"))
# This global variable is used to hold the list of modules to be disabled.
-disabled_module_list = []
@@ -9,7 +9,7 @@
def add_dir_to_list(dirlist, dir):
"""Add the directory 'dir' to the list 'dirlist' (at the front) if
-@@ -642,7 +642,7 @@
+@@ -720,7 +720,7 @@
# use the same library for the readline and curses modules.
if 'curses' in readline_termcap_library:
curses_library = readline_termcap_library
@@ -18,16 +18,16 @@
curses_library = 'ncursesw'
elif self.compiler.find_library_file(lib_dirs, 'ncurses'):
curses_library = 'ncurses'
-@@ -681,7 +681,7 @@
+@@ -755,7 +755,7 @@
+ elif curses_library:
+ readline_libs.append(curses_library)
+ elif self.compiler.find_library_file(lib_dirs +
+- ['/usr/lib/termcap'],
++ ['/usr/lib', '/usr/lib/termcap'],
'termcap'):
readline_libs.append('termcap')
exts.append( Extension('readline', ['readline.c'],
-- library_dirs=['/usr/lib/termcap'],
-+ library_dirs=['/usr/lib', '/usr/lib/termcap'],
- extra_link_args=readline_extra_link_args,
- libraries=readline_libs) )
- else:
-@@ -783,6 +783,8 @@
+@@ -862,6 +862,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,7 +36,7 @@
# Modules that provide persistent dictionary-like semantics. You will
# probably want to arrange for at least one of them to be available on
-@@ -1120,7 +1122,7 @@
+@@ -1208,7 +1210,7 @@
sysroot = macosx_sdk_root()
f = os.path.join(sysroot, f[1:])
@@ -45,7 +45,7 @@
data = open(f).read()
m = re.search(r"#s*define\s+HASHVERSION\s+2\s*", data)
if m is not None:
-@@ -1246,12 +1248,13 @@
+@@ -1338,12 +1340,13 @@
# provided by the ncurses library.
panel_library = 'panel'
if curses_library.startswith('ncurses'):
@@ -58,9 +58,9 @@
exts.append( Extension('_curses', ['_cursesmodule.c'],
+ library_dirs = ['/usr/lib'],
libraries = curses_libs) )
- elif curses_library == 'curses' and platform != 'darwin':
+ elif curses_library == 'curses' and host_platform != 'darwin':
# OSX has an old Berkeley curses, not good enough for
-@@ -1264,6 +1267,7 @@
+@@ -1356,6 +1359,7 @@
curses_libs = ['curses']
exts.append( Extension('_curses', ['_cursesmodule.c'],
@@ -68,25 +68,25 @@
libraries = curses_libs) )
else:
missing.append('_curses')
-@@ -1432,7 +1436,7 @@
+@@ -1540,7 +1544,7 @@
macros = dict()
libraries = []
-- elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
-+ elif platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9', 'freebsd10'):
+- elif host_platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8'):
++ elif host_platform in ('freebsd4', 'freebsd5', 'freebsd6', 'freebsd7', 'freebsd8', 'freebsd9', 'freebsd10'):
# FreeBSD's P1003.1b semaphore support is very experimental
# and has many known problems. (as of June 2008)
macros = dict()
-@@ -1484,7 +1488,7 @@
+@@ -1592,7 +1596,7 @@
missing.append('linuxaudiodev')
- if (platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
+ if (host_platform in ('linux2', 'freebsd4', 'freebsd5', 'freebsd6',
- 'freebsd7', 'freebsd8')
+ 'freebsd7', 'freebsd8', 'freebsd9', 'freebsd10')
- or platform.startswith("gnukfreebsd")):
+ or host_platform.startswith("gnukfreebsd")):
exts.append( Extension('ossaudiodev', ['ossaudiodev.c']) )
else:
-@@ -2066,9 +2070,7 @@
+@@ -2176,9 +2180,7 @@
ext_modules=[Extension('_struct', ['_struct.c'])],
# Scripts to install
diff --git a/lang/python27/pkg-plist b/lang/python27/pkg-plist
index 85291430e77c..02f00218823e 100644
--- a/lang/python27/pkg-plist
+++ b/lang/python27/pkg-plist
@@ -139,8 +139,10 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/__future__.py
%%PYTHON_LIBDIR%%/__phello__.foo.py
%%PYTHON_LIBDIR%%/_abcoll.py
+%%PYTHON_LIBDIR%%/_osx_support.py
%%PYTHON_LIBDIR%%/_pyio.py
%%PYTHON_LIBDIR%%/_strptime.py
+%%PYTHON_LIBDIR%%/_sysconfigdata.py
%%PYTHON_LIBDIR%%/_threading_local.py
%%PYTHON_LIBDIR%%/_weakrefset.py
%%PYTHON_LIBDIR%%/abc.py
@@ -291,6 +293,7 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/ctypes/test/test_values.py
%%PYTHON_LIBDIR%%/ctypes/test/test_varsize_struct.py
%%PYTHON_LIBDIR%%/ctypes/test/test_win32.py
+%%PYTHON_LIBDIR%%/ctypes/test/test_wintypes.py
%%PYTHON_LIBDIR%%/ctypes/util.py
%%PYTHON_LIBDIR%%/ctypes/wintypes.py
%%PYTHON_LIBDIR%%/curses/__init__.py
@@ -740,6 +743,7 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/json/tests/test_scanstring.py
%%PYTHON_LIBDIR%%/json/tests/test_separators.py
%%PYTHON_LIBDIR%%/json/tests/test_speedups.py
+%%PYTHON_LIBDIR%%/json/tests/test_tool.py
%%PYTHON_LIBDIR%%/json/tests/test_unicode.py
%%PYTHON_LIBDIR%%/json/tool.py
%%PYTHON_LIBDIR%%/keyword.py
@@ -1284,6 +1288,7 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/test/lock_tests.py
%%PYTHON_LIBDIR%%/test/mapping_tests.py
%%PYTHON_LIBDIR%%/test/math_testcases.txt
+%%PYTHON_LIBDIR%%/test/mp_fork_bomb.py
%%PYTHON_LIBDIR%%/test/nullcert.pem
%%PYTHON_LIBDIR%%/test/outstanding_bugs.py
%%PYTHON_LIBDIR%%/test/pickletester.py
@@ -1300,21 +1305,23 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/test/relimport.py
%%PYTHON_LIBDIR%%/test/reperf.py
%%PYTHON_LIBDIR%%/test/sample_doctest.py
+%%PYTHON_LIBDIR%%/test/sample_doctest_no_docstrings.py
+%%PYTHON_LIBDIR%%/test/sample_doctest_no_doctests.py
%%PYTHON_LIBDIR%%/test/script_helper.py
%%PYTHON_LIBDIR%%/test/seq_tests.py
%%PYTHON_LIBDIR%%/test/sha256.pem
%%PYTHON_LIBDIR%%/test/sgml_input.html
%%PYTHON_LIBDIR%%/test/sortperf.py
-%%PYTHON_LIBDIR%%/test/ssl_cert.pem
-%%PYTHON_LIBDIR%%/test/ssl_key.pem
%%PYTHON_LIBDIR%%/test/string_tests.py
%%PYTHON_LIBDIR%%/test/subprocessdata/sigchild_ignore.py
+%%PYTHON_LIBDIR%%/test/symlink_support.py
%%PYTHON_LIBDIR%%/test/test_MimeWriter.py
%%PYTHON_LIBDIR%%/test/test_SimpleHTTPServer.py
%%PYTHON_LIBDIR%%/test/test_StringIO.py
%%PYTHON_LIBDIR%%/test/test___all__.py
%%PYTHON_LIBDIR%%/test/test___future__.py
%%PYTHON_LIBDIR%%/test/test__locale.py
+%%PYTHON_LIBDIR%%/test/test__osx_support.py
%%PYTHON_LIBDIR%%/test/test_abc.py
%%PYTHON_LIBDIR%%/test/test_abstract_numbers.py
%%PYTHON_LIBDIR%%/test/test_aepack.py
@@ -1438,6 +1445,7 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/test/test_extcall.py
%%PYTHON_LIBDIR%%/test/test_fcntl.py
%%PYTHON_LIBDIR%%/test/test_file.py
+%%PYTHON_LIBDIR%%/test/test_file_eintr.py
%%PYTHON_LIBDIR%%/test/test_file2k.py
%%PYTHON_LIBDIR%%/test/test_filecmp.py
%%PYTHON_LIBDIR%%/test/test_fileinput.py
@@ -1654,6 +1662,7 @@ lib/lib%%PYTHON_VERSION%%.so.1
%%PYTHON_LIBDIR%%/test/test_timeout.py
%%PYTHON_LIBDIR%%/test/test_tk.py
%%PYTHON_LIBDIR%%/test/test_tokenize.py
+%%PYTHON_LIBDIR%%/test/test_tools.py
%%PYTHON_LIBDIR%%/test/test_trace.py
%%PYTHON_LIBDIR%%/test/test_traceback.py
%%PYTHON_LIBDIR%%/test/test_transformer.py
diff --git a/lang/python31/Makefile b/lang/python31/Makefile
index 29be47807b1e..61543d50c7a9 100644
--- a/lang/python31/Makefile
+++ b/lang/python31/Makefile
@@ -11,6 +11,9 @@ DISTFILES= ${PYTHON_DISTFILE}
MAINTAINER= python@FreeBSD.org
COMMENT= Interpreted object-oriented programming language
+DEPRECATED= This port will reach it's EoL upstream soon, please migrate to lang/python33
+EXPIRATION_DATE=2014-06-01
+
DIST_SUBDIR= python
WRKSRC= ${PYTHON_WRKSRC}/portbld.static
PATCH_WRKSRC= ${PYTHON_WRKSRC}
diff --git a/lang/python32/Makefile b/lang/python32/Makefile
index b9dfc6acf9d9..0b50aca18c5f 100644
--- a/lang/python32/Makefile
+++ b/lang/python32/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= python32
-PORTVERSION= 3.2.3
-PORTREVISION= 2
+PORTVERSION= 3.2.4
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
diff --git a/lang/python32/distinfo b/lang/python32/distinfo
index 043ed0ebe068..e3678bd2d39b 100644
--- a/lang/python32/distinfo
+++ b/lang/python32/distinfo
@@ -1,2 +1,2 @@
-SHA256 (python/Python-3.2.3.tar.xz) = 23c16f621f21e54987079765c060196cbe50235c7867147c6126d433054b1754
-SIZE (python/Python-3.2.3.tar.xz) = 8970368
+SHA256 (python/Python-3.2.4.tar.xz) = 0949d92d04f001e51cc0daa4c0e9861f65af94e378ff0e664c239cc78c206ef4
+SIZE (python/Python-3.2.4.tar.xz) = 9223024
diff --git a/lang/python32/files/patch-Makefile.pre.in b/lang/python32/files/patch-Makefile.pre.in
new file mode 100644
index 000000000000..500fb5a736e8
--- /dev/null
+++ b/lang/python32/files/patch-Makefile.pre.in
@@ -0,0 +1,46 @@
+--- ./Makefile.pre.in.orig 2013-04-06 11:38:41.000000000 +0400
++++ ./Makefile.pre.in 2013-04-08 17:48:45.000000000 +0400
+@@ -277,21 +277,21 @@
+
+ ##########################################################################
+ # AST
+-AST_H_DIR= Include
++AST_H_DIR= $(srcdir)/Include
+ AST_H= $(AST_H_DIR)/Python-ast.h
+-AST_C_DIR= Python
++AST_C_DIR= $(srcdir)/Python
+ AST_C= $(AST_C_DIR)/Python-ast.c
+ AST_ASDL= $(srcdir)/Parser/Python.asdl
+
+ ASDLGEN_FILES= $(srcdir)/Parser/asdl.py $(srcdir)/Parser/asdl_c.py
+ # XXX Note that a build now requires Python exist before the build starts
+-ASDLGEN= @ASDLGEN@ $(srcdir)/Parser/asdl_c.py
++ASDLGEN= @DISABLE_ASDLGEN@ $(srcdir)/Parser/asdl_c.py
+
+ ##########################################################################
+ # Python
+
+ OPCODETARGETS_H= \
+- Python/opcode_targets.h
++ $(srcdir)/Python/opcode_targets.h
+
+ OPCODETARGETGEN= \
+ $(srcdir)/Python/makeopcodetargets.py
+@@ -676,7 +676,7 @@
+ Objects/setobject.o: $(srcdir)/Objects/stringlib/eq.h
+
+ $(OPCODETARGETS_H): $(OPCODETARGETGEN_FILES)
+- $(OPCODETARGETGEN) $(OPCODETARGETS_H)
++# $(OPCODETARGETGEN) $(OPCODETARGETS_H)
+
+ Python/ceval.o: $(OPCODETARGETS_H) Python/ceval_gil.h
+
+@@ -686,7 +686,7 @@
+
+ Objects/typeobject.o: Objects/typeslots.inc
+ Objects/typeslots.inc: $(srcdir)/Include/typeslots.h $(srcdir)/Objects/typeslots.py
+- $(PYTHON) $(srcdir)/Objects/typeslots.py < $(srcdir)/Include/typeslots.h > Objects/typeslots.inc
++# $(PYTHON) $(srcdir)/Objects/typeslots.py < $(srcdir)/Include/typeslots.h > Objects/typeslots.inc
+
+ ############################################################################
+ # Header files
diff --git a/lang/python32/pkg-plist b/lang/python32/pkg-plist
index 9920aeccb690..5f61780fb49b 100644
--- a/lang/python32/pkg-plist
+++ b/lang/python32/pkg-plist
@@ -128,6 +128,8 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/__pycache__/_dummy_thread.cpython-32.pyo
%%PYTHON_LIBDIR%%/__pycache__/_markupbase.cpython-32.pyc
%%PYTHON_LIBDIR%%/__pycache__/_markupbase.cpython-32.pyo
+%%PYTHON_LIBDIR%%/__pycache__/_osx_support.cpython-32.pyc
+%%PYTHON_LIBDIR%%/__pycache__/_osx_support.cpython-32.pyo
%%PYTHON_LIBDIR%%/__pycache__/_pyio.cpython-32.pyc
%%PYTHON_LIBDIR%%/__pycache__/_pyio.cpython-32.pyo
%%PYTHON_LIBDIR%%/__pycache__/_strptime.cpython-32.pyc
@@ -422,6 +424,7 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/_compat_pickle.py
%%PYTHON_LIBDIR%%/_dummy_thread.py
%%PYTHON_LIBDIR%%/_markupbase.py
+%%PYTHON_LIBDIR%%/_osx_support.py
%%PYTHON_LIBDIR%%/_pyio.py
%%PYTHON_LIBDIR%%/_strptime.py
%%PYTHON_LIBDIR%%/_threading_local.py
@@ -2421,6 +2424,8 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/test/__pycache__/mapping_tests.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/mock_socket.cpython-32.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/mock_socket.cpython-32.pyo
+%%PYTHON_LIBDIR%%/test/__pycache__/mp_fork_bomb.cpython-32.pyc
+%%PYTHON_LIBDIR%%/test/__pycache__/mp_fork_bomb.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/outstanding_bugs.cpython-32.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/outstanding_bugs.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/pickletester.cpython-32.pyc
@@ -2445,6 +2450,10 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/test/__pycache__/reperf.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/sample_doctest.cpython-32.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/sample_doctest.cpython-32.pyo
+%%PYTHON_LIBDIR%%/test/__pycache__/sample_doctest_no_docstrings.cpython-32.pyc
+%%PYTHON_LIBDIR%%/test/__pycache__/sample_doctest_no_docstrings.cpython-32.pyo
+%%PYTHON_LIBDIR%%/test/__pycache__/sample_doctest_no_doctests.cpython-32.pyc
+%%PYTHON_LIBDIR%%/test/__pycache__/sample_doctest_no_doctests.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/script_helper.cpython-32.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/script_helper.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/seq_tests.cpython-32.pyc
@@ -2463,6 +2472,8 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/test/__pycache__/test___future__.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/test__locale.cpython-32.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/test__locale.cpython-32.pyo
+%%PYTHON_LIBDIR%%/test/__pycache__/test__osx_support.cpython-32.pyc
+%%PYTHON_LIBDIR%%/test/__pycache__/test__osx_support.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/test_abc.cpython-32.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/test_abc.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/test_abstract_numbers.cpython-32.pyc
@@ -2667,6 +2678,8 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/test/__pycache__/test_fileinput.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/test_fileio.cpython-32.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/test_fileio.cpython-32.pyo
+%%PYTHON_LIBDIR%%/test/__pycache__/test_file_eintr.cpython-32.pyc
+%%PYTHON_LIBDIR%%/test/__pycache__/test_file_eintr.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/test_float.cpython-32.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/test_float.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/test_flufl.cpython-32.pyc
@@ -3071,6 +3084,8 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/test/__pycache__/test_tk.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/test_tokenize.cpython-32.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/test_tokenize.cpython-32.pyo
+%%PYTHON_LIBDIR%%/test/__pycache__/test_tools.cpython-32.pyc
+%%PYTHON_LIBDIR%%/test/__pycache__/test_tools.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/test_trace.cpython-32.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/test_trace.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/test_traceback.cpython-32.pyc
@@ -3435,6 +3450,8 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_separators.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_speedups.cpython-32.pyc
%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_speedups.cpython-32.pyo
+%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_tool.cpython-32.pyc
+%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_tool.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_unicode.cpython-32.pyc
%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_unicode.cpython-32.pyo
%%PYTHON_LIBDIR%%/test/json_tests/test_decode.py
@@ -3451,6 +3468,7 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/test/json_tests/test_scanstring.py
%%PYTHON_LIBDIR%%/test/json_tests/test_separators.py
%%PYTHON_LIBDIR%%/test/json_tests/test_speedups.py
+%%PYTHON_LIBDIR%%/test/json_tests/test_tool.py
%%PYTHON_LIBDIR%%/test/json_tests/test_unicode.py
%%PYTHON_LIBDIR%%/test/keycert.pem
%%PYTHON_LIBDIR%%/test/keycert2.pem
@@ -3460,6 +3478,7 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/test/mapping_tests.py
%%PYTHON_LIBDIR%%/test/math_testcases.txt
%%PYTHON_LIBDIR%%/test/mock_socket.py
+%%PYTHON_LIBDIR%%/test/mp_fork_bomb.py
%%PYTHON_LIBDIR%%/test/nullcert.pem
%%PYTHON_LIBDIR%%/test/outstanding_bugs.py
%%PYTHON_LIBDIR%%/test/pickletester.py
@@ -3477,10 +3496,21 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/test/relimport.py
%%PYTHON_LIBDIR%%/test/reperf.py
%%PYTHON_LIBDIR%%/test/sample_doctest.py
+%%PYTHON_LIBDIR%%/test/sample_doctest_no_docstrings.py
+%%PYTHON_LIBDIR%%/test/sample_doctest_no_doctests.py
%%PYTHON_LIBDIR%%/test/script_helper.py
%%PYTHON_LIBDIR%%/test/seq_tests.py
%%PYTHON_LIBDIR%%/test/sgml_input.html
%%PYTHON_LIBDIR%%/test/sha256.pem
+%%PYTHON_LIBDIR%%/test/sndhdrdata/README
+%%PYTHON_LIBDIR%%/test/sndhdrdata/sndhdr.8svx
+%%PYTHON_LIBDIR%%/test/sndhdrdata/sndhdr.aifc
+%%PYTHON_LIBDIR%%/test/sndhdrdata/sndhdr.aiff
+%%PYTHON_LIBDIR%%/test/sndhdrdata/sndhdr.au
+%%PYTHON_LIBDIR%%/test/sndhdrdata/sndhdr.hcom
+%%PYTHON_LIBDIR%%/test/sndhdrdata/sndhdr.sndt
+%%PYTHON_LIBDIR%%/test/sndhdrdata/sndhdr.voc
+%%PYTHON_LIBDIR%%/test/sndhdrdata/sndhdr.wav
%%PYTHON_LIBDIR%%/test/sortperf.py
%%PYTHON_LIBDIR%%/test/ssl_cert.pem
%%PYTHON_LIBDIR%%/test/ssl_key.pem
@@ -3508,6 +3538,7 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/test/test___all__.py
%%PYTHON_LIBDIR%%/test/test___future__.py
%%PYTHON_LIBDIR%%/test/test__locale.py
+%%PYTHON_LIBDIR%%/test/test__osx_support.py
%%PYTHON_LIBDIR%%/test/test_abc.py
%%PYTHON_LIBDIR%%/test/test_abstract_numbers.py
%%PYTHON_LIBDIR%%/test/test_aifc.py
@@ -3615,6 +3646,7 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/test/test_filecmp.py
%%PYTHON_LIBDIR%%/test/test_fileinput.py
%%PYTHON_LIBDIR%%/test/test_fileio.py
+%%PYTHON_LIBDIR%%/test/test_file_eintr.py
%%PYTHON_LIBDIR%%/test/test_float.py
%%PYTHON_LIBDIR%%/test/test_flufl.py
%%PYTHON_LIBDIR%%/test/test_fnmatch.py
@@ -3816,6 +3848,7 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/test/test_timeout.py
%%PYTHON_LIBDIR%%/test/test_tk.py
%%PYTHON_LIBDIR%%/test/test_tokenize.py
+%%PYTHON_LIBDIR%%/test/test_tools.py
%%PYTHON_LIBDIR%%/test/test_trace.py
%%PYTHON_LIBDIR%%/test/test_traceback.py
%%PYTHON_LIBDIR%%/test/test_ttk_guionly.py
@@ -3864,6 +3897,7 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/test/test_zipimport.py
%%PYTHON_LIBDIR%%/test/test_zipimport_support.py
%%PYTHON_LIBDIR%%/test/test_zlib.py
+%%PYTHON_LIBDIR%%/test/testbz2_bigmem.bz2
%%PYTHON_LIBDIR%%/test/testcodec.py
%%PYTHON_LIBDIR%%/test/testtar.tar
%%PYTHON_LIBDIR%%/test/tf_inherit_check.py
@@ -3953,10 +3987,13 @@ libdata/pkgconfig/python-3.2.pc
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_font.cpython-32.pyo
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_loadtk.cpython-32.pyc
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_loadtk.cpython-32.pyo
+%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_misc.cpython-32.pyc
+%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_misc.cpython-32.pyo
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_text.cpython-32.pyc
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_text.cpython-32.pyo
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/test_font.py
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/test_loadtk.py
+%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/test_misc.py
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/test_text.py
%%PYTHON_LIBDIR%%/tkinter/test/test_ttk/__init__.py
%%PYTHON_LIBDIR%%/tkinter/test/test_ttk/__pycache__/__init__.cpython-32.pyc
@@ -4346,6 +4383,7 @@ libdata/pkgconfig/python-3.2.pc
@dirrm %%PYTHON_LIBDIR%%/test/encoded_modules
@dirrm %%PYTHON_LIBDIR%%/test/json_tests/__pycache__
@dirrm %%PYTHON_LIBDIR%%/test/json_tests
+@dirrm %%PYTHON_LIBDIR%%/test/sndhdrdata
@dirrm %%PYTHON_LIBDIR%%/test/subprocessdata/__pycache__
@dirrm %%PYTHON_LIBDIR%%/test/subprocessdata
@dirrm %%PYTHON_LIBDIR%%/test/tracedmodules/__pycache__
diff --git a/lang/python33/Makefile b/lang/python33/Makefile
index 5fa6b212ab01..8cf4230b02a7 100644
--- a/lang/python33/Makefile
+++ b/lang/python33/Makefile
@@ -1,8 +1,7 @@
# $FreeBSD$
PORTNAME= python33
-PORTVERSION= 3.3.0
-PORTREVISION= 2
+PORTVERSION= 3.3.1
CATEGORIES= lang python ipv6
MASTER_SITES= PYTHON
MASTER_SITE_SUBDIR= ${PYTHON_MASTER_SITE_SUBDIR}
diff --git a/lang/python33/distinfo b/lang/python33/distinfo
index d443e941434c..8a49599ad629 100644
--- a/lang/python33/distinfo
+++ b/lang/python33/distinfo
@@ -1,2 +1,2 @@
-SHA256 (python/Python-3.3.0.tar.xz) = 09994d2885a8ef61b4b2389527a9805a4a05e3e0f121dbc8e4222f9010f5bbd7
-SIZE (python/Python-3.3.0.tar.xz) = 11720732
+SHA256 (python/Python-3.3.1.tar.xz) = f8a7f0117c9a8263a52991cb86a55082888850b196d9dfad6d84bb0549e7c76a
+SIZE (python/Python-3.3.1.tar.xz) = 11852964
diff --git a/lang/python33/files/patch-Makefile.pre.in b/lang/python33/files/patch-Makefile.pre.in
new file mode 100644
index 000000000000..2e7654bbb0ab
--- /dev/null
+++ b/lang/python33/files/patch-Makefile.pre.in
@@ -0,0 +1,46 @@
+--- ./Makefile.pre.in.orig 2013-04-06 11:41:48.000000000 +0400
++++ ./Makefile.pre.in 2013-04-08 16:16:25.000000000 +0400
+@@ -306,21 +306,21 @@
+
+ ##########################################################################
+ # AST
+-AST_H_DIR= Include
++AST_H_DIR= $(srcdir)/Include
+ AST_H= $(AST_H_DIR)/Python-ast.h
+-AST_C_DIR= Python
++AST_C_DIR= $(srcdir)/Python
+ AST_C= $(AST_C_DIR)/Python-ast.c
+ AST_ASDL= $(srcdir)/Parser/Python.asdl
+
+ ASDLGEN_FILES= $(srcdir)/Parser/asdl.py $(srcdir)/Parser/asdl_c.py
+ # XXX Note that a build now requires Python exist before the build starts
+-ASDLGEN= @ASDLGEN@ $(srcdir)/Parser/asdl_c.py
++ASDLGEN= @DISABLE_ASDLGEN@ $(srcdir)/Parser/asdl_c.py
+
+ ##########################################################################
+ # Python
+
+ OPCODETARGETS_H= \
+- Python/opcode_targets.h
++ $(srcdir)/Python/opcode_targets.h
+
+ OPCODETARGETGEN= \
+ $(srcdir)/Python/makeopcodetargets.py
+@@ -742,7 +742,7 @@
+ Objects/setobject.o: $(srcdir)/Objects/stringlib/eq.h
+
+ $(OPCODETARGETS_H): $(OPCODETARGETGEN_FILES)
+- $(OPCODETARGETGEN) $(OPCODETARGETS_H)
++# $(OPCODETARGETGEN) $(OPCODETARGETS_H)
+
+ Python/ceval.o: $(OPCODETARGETS_H) $(srcdir)/Python/ceval_gil.h
+
+@@ -753,7 +753,7 @@
+
+ Objects/typeobject.o: Objects/typeslots.inc
+ Objects/typeslots.inc: $(srcdir)/Include/typeslots.h $(srcdir)/Objects/typeslots.py
+- $(PYTHON) $(srcdir)/Objects/typeslots.py < $(srcdir)/Include/typeslots.h > Objects/typeslots.inc
++# $(PYTHON) $(srcdir)/Objects/typeslots.py < $(srcdir)/Include/typeslots.h > Objects/typeslots.inc
+
+ ############################################################################
+ # Header files
diff --git a/lang/python33/files/patch-Modules-_ctypes-libffi-configure b/lang/python33/files/patch-Modules-_ctypes-libffi-configure
index 5bddeea3cee6..5f24678ab3cb 100644
--- a/lang/python33/files/patch-Modules-_ctypes-libffi-configure
+++ b/lang/python33/files/patch-Modules-_ctypes-libffi-configure
@@ -1,6 +1,6 @@
---- ./Modules/_ctypes/libffi/configure.orig 2012-09-29 18:00:42.000000000 +1000
-+++ ./Modules/_ctypes/libffi/configure 2012-10-04 20:21:15.000000000 +1000
-@@ -6834,7 +6834,7 @@
+--- ./Modules/_ctypes/libffi/configure.orig 2013-04-06 11:41:49.000000000 +0400
++++ ./Modules/_ctypes/libffi/configure 2013-04-08 12:50:54.000000000 +0400
+@@ -6889,7 +6889,7 @@
rm -rf conftest*
;;
@@ -9,14 +9,14 @@
s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
# Find out which ABI we are using.
echo 'int i;' > conftest.$ac_ext
-@@ -14322,10 +14322,10 @@
+@@ -14505,10 +14505,10 @@
$as_echo_n "(cached) " >&6
else
- libffi_cv_as_x86_pcrel=yes
+ libffi_cv_as_x86_pcrel=no
echo '.text; foo: nop; .data; .long foo-.; .text' > conftest.s
-- if $CC $CFLAGS -c conftest.s 2>&1 | $EGREP -i 'illegal|warning' > /dev/null; then
+- if $CC $CFLAGS -c conftest.s 2>&1 | grep -i warning > /dev/null; then
- libffi_cv_as_x86_pcrel=no
+ if $CC $CFLAGS -c conftest.s > /dev/null; then
+ libffi_cv_as_x86_pcrel=yes
diff --git a/lang/python33/files/patch-Modules-_decimal-libmpdec-mpdecimal.h b/lang/python33/files/patch-Modules-_decimal-libmpdec-mpdecimal.h
deleted file mode 100644
index 47d1f7b4d1c7..000000000000
--- a/lang/python33/files/patch-Modules-_decimal-libmpdec-mpdecimal.h
+++ /dev/null
@@ -1,21 +0,0 @@
-
-# HG changeset patch
-# User Stefan Krah <skrah@bytereef.org>
-# Date 1356273741 -3600
-# Node ID f05d29353f0278b21295f44467d08bd57a9ae33f
-# Parent e684b253fd9dd73495fcef89aad43ae9c42f975c
-Issue #16753: Define __GNUC_STDC_INLINE__ to an integer (same as gcc).
-
-diff --git a/Modules/_decimal/libmpdec/mpdecimal.h b/Modules/_decimal/libmpdec/mpdecimal.h
---- Modules/_decimal/libmpdec/mpdecimal.h
-+++ Modules/_decimal/libmpdec/mpdecimal.h
-@@ -63,7 +63,7 @@ extern "C" {
- #include <inttypes.h>
- #endif
- #ifndef __GNUC_STDC_INLINE__
-- #define __GNUC_STDC_INLINE__
-+ #define __GNUC_STDC_INLINE__ 1
- #endif
- #if defined(__GNUC__) && !defined(__INTEL_COMPILER)
- #define UNUSED __attribute__((unused))
-
diff --git a/lang/python33/pkg-plist b/lang/python33/pkg-plist
index 13432ad7b09d..c37e955938c2 100644
--- a/lang/python33/pkg-plist
+++ b/lang/python33/pkg-plist
@@ -2329,6 +2329,10 @@ libdata/pkgconfig/python-%%PYVER%%.pc
%%PYTHON_LIBDIR%%/test/__pycache__/reperf.cpython-33.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/sample_doctest.cpython-33.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/sample_doctest.cpython-33.pyo
+%%PYTHON_LIBDIR%%/test/__pycache__/sample_doctest_no_docstrings.cpython-33.pyc
+%%PYTHON_LIBDIR%%/test/__pycache__/sample_doctest_no_docstrings.cpython-33.pyo
+%%PYTHON_LIBDIR%%/test/__pycache__/sample_doctest_no_doctests.cpython-33.pyc
+%%PYTHON_LIBDIR%%/test/__pycache__/sample_doctest_no_doctests.cpython-33.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/script_helper.cpython-33.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/script_helper.cpython-33.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/seq_tests.cpython-33.pyc
@@ -3049,6 +3053,8 @@ libdata/pkgconfig/python-%%PYVER%%.pc
%%PYTHON_LIBDIR%%/test/__pycache__/test_weakref.cpython-33.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/test_weakset.cpython-33.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/test_weakset.cpython-33.pyo
+%%PYTHON_LIBDIR%%/test/__pycache__/test_webbrowser.cpython-33.pyc
+%%PYTHON_LIBDIR%%/test/__pycache__/test_webbrowser.cpython-33.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/test_winreg.cpython-33.pyc
%%PYTHON_LIBDIR%%/test/__pycache__/test_winreg.cpython-33.pyo
%%PYTHON_LIBDIR%%/test/__pycache__/test_winsound.cpython-33.pyc
@@ -3348,6 +3354,8 @@ libdata/pkgconfig/python-%%PYVER%%.pc
%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_separators.cpython-33.pyo
%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_speedups.cpython-33.pyc
%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_speedups.cpython-33.pyo
+%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_tool.cpython-33.pyc
+%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_tool.cpython-33.pyo
%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_unicode.cpython-33.pyc
%%PYTHON_LIBDIR%%/test/json_tests/__pycache__/test_unicode.cpython-33.pyo
%%PYTHON_LIBDIR%%/test/json_tests/test_decode.py
@@ -3364,6 +3372,7 @@ libdata/pkgconfig/python-%%PYVER%%.pc
%%PYTHON_LIBDIR%%/test/json_tests/test_scanstring.py
%%PYTHON_LIBDIR%%/test/json_tests/test_separators.py
%%PYTHON_LIBDIR%%/test/json_tests/test_speedups.py
+%%PYTHON_LIBDIR%%/test/json_tests/test_tool.py
%%PYTHON_LIBDIR%%/test/json_tests/test_unicode.py
%%PYTHON_LIBDIR%%/test/keycert.passwd.pem
%%PYTHON_LIBDIR%%/test/keycert.pem
@@ -3429,6 +3438,8 @@ libdata/pkgconfig/python-%%PYVER%%.pc
%%PYTHON_LIBDIR%%/test/relimport.py
%%PYTHON_LIBDIR%%/test/reperf.py
%%PYTHON_LIBDIR%%/test/sample_doctest.py
+%%PYTHON_LIBDIR%%/test/sample_doctest_no_docstrings.py
+%%PYTHON_LIBDIR%%/test/sample_doctest_no_doctests.py
%%PYTHON_LIBDIR%%/test/script_helper.py
%%PYTHON_LIBDIR%%/test/seq_tests.py
%%PYTHON_LIBDIR%%/test/sgml_input.html
@@ -3630,6 +3641,7 @@ libdata/pkgconfig/python-%%PYVER%%.pc
%%PYTHON_LIBDIR%%/test/test_email/test_email.py
%%PYTHON_LIBDIR%%/test/test_email/test_generator.py
%%PYTHON_LIBDIR%%/test/test_email/test_headerregistry.py
+%%PYTHON_LIBDIR%%/test/test_email/test_inversion.py
%%PYTHON_LIBDIR%%/test/test_email/test_message.py
%%PYTHON_LIBDIR%%/test/test_email/test_parser.py
%%PYTHON_LIBDIR%%/test/test_email/test_pickleable.py
@@ -3645,6 +3657,8 @@ libdata/pkgconfig/python-%%PYVER%%.pc
%%PYTHON_LIBDIR%%/test/test_email/__pycache__/test_email.cpython-33.pyc
%%PYTHON_LIBDIR%%/test/test_email/__pycache__/test_generator.cpython-33.pyc
%%PYTHON_LIBDIR%%/test/test_email/__pycache__/test_headerregistry.cpython-33.pyc
+%%PYTHON_LIBDIR%%/test/test_email/__pycache__/test_inversion.cpython-33.pyc
+%%PYTHON_LIBDIR%%/test/test_email/__pycache__/test_inversion.cpython-33.pyo
%%PYTHON_LIBDIR%%/test/test_email/__pycache__/test_message.cpython-33.pyc
%%PYTHON_LIBDIR%%/test/test_email/__pycache__/test_parser.cpython-33.pyc
%%PYTHON_LIBDIR%%/test/test_email/__pycache__/test_pickleable.cpython-33.pyc
@@ -4048,6 +4062,7 @@ libdata/pkgconfig/python-%%PYVER%%.pc
%%PYTHON_LIBDIR%%/test/test_xml_etree_c.py
%%PYTHON_LIBDIR%%/test/test_xmlrpc.py
%%PYTHON_LIBDIR%%/test/test_xmlrpc_net.py
+%%PYTHON_LIBDIR%%/test/test_webbrowser.py
%%PYTHON_LIBDIR%%/test/test_zipfile.py
%%PYTHON_LIBDIR%%/test/test_zipfile64.py
%%PYTHON_LIBDIR%%/test/test_zipimport.py
@@ -4142,12 +4157,15 @@ libdata/pkgconfig/python-%%PYVER%%.pc
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_font.cpython-33.pyo
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_loadtk.cpython-33.pyc
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_loadtk.cpython-33.pyo
+%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_misc.cpython-33.pyc
+%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_misc.cpython-33.pyo
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_text.cpython-33.pyc
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_text.cpython-33.pyo
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_variables.cpython-33.pyc
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/__pycache__/test_variables.cpython-33.pyo
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/test_font.py
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/test_loadtk.py
+%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/test_misc.py
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/test_text.py
%%PYTHON_LIBDIR%%/tkinter/test/test_tkinter/test_variables.py
%%PYTHON_LIBDIR%%/tkinter/test/test_ttk/__init__.py