Index: lang/python-doc-html/distinfo =================================================================== --- lang/python-doc-html/distinfo +++ lang/python-doc-html/distinfo @@ -14,14 +14,14 @@ SIZE (python/python-3.2.6-docs-pdf-letter.tar.bz2) = 10418952 SHA256 (python/python-3.2.6-docs-text.tar.bz2) = 889a9f5358d0ded2f2c4b1027967c4b8ec0e99cf57eddefa038f2a0abba7fe88 SIZE (python/python-3.2.6-docs-text.tar.bz2) = 1573432 -SHA256 (python/python-3.3.4-docs-html.tar.bz2) = 43ab01c98d5bacb301519a99ed25192cebe0b69ac4a85b95302958b225868efc -SIZE (python/python-3.3.4-docs-html.tar.bz2) = 4951380 -SHA256 (python/python-3.3.4-docs-pdf-a4.tar.bz2) = 692eb7dd255b12252c701ca32f530932d3761e4f0582b7461c8277cd70282251 -SIZE (python/python-3.3.4-docs-pdf-a4.tar.bz2) = 11284079 -SHA256 (python/python-3.3.4-docs-pdf-letter.tar.bz2) = 21aabe30ad03ef4c78e57b14fa257670ea8899ae053cc709805d7807efe58b7a -SIZE (python/python-3.3.4-docs-pdf-letter.tar.bz2) = 11337167 -SHA256 (python/python-3.3.4-docs-text.tar.bz2) = 82c98238d9df22650d27f3bff40b31888306aaf5f7636bbb145f94266365f273 -SIZE (python/python-3.3.4-docs-text.tar.bz2) = 1783407 +SHA256 (python/python-3.3.6-docs-html.tar.bz2) = 54da33f8a91be819e7ac22fdc88c5125bdd4c67494f52dd79d6b603572c41fb0 +SIZE (python/python-3.3.6-docs-html.tar.bz2) = 4961517 +SHA256 (python/python-3.3.6-docs-pdf-a4.tar.bz2) = 5a031f0abfe41121f9aa883cfb8a99e36363744c486d30d97a9bcf4c0b7a634b +SIZE (python/python-3.3.6-docs-pdf-a4.tar.bz2) = 11298923 +SHA256 (python/python-3.3.6-docs-pdf-letter.tar.bz2) = 3b01fdbb8c8589e247677313cedb65837cdd1c68ce29d0a62c8b35790d2a2da3 +SIZE (python/python-3.3.6-docs-pdf-letter.tar.bz2) = 11343796 +SHA256 (python/python-3.3.6-docs-text.tar.bz2) = 1b4ddbdd83658846fe968e282c7873f8c58e41d892bc7e54cdf20c1435e8bed7 +SIZE (python/python-3.3.6-docs-text.tar.bz2) = 1779902 SHA256 (python/python-3.4.3-docs-html.tar.bz2) = 87d4f8739205fe6f2cbcb10c6f1b33546d3b7f41e6bc96de34f992ccf5c10fbf SIZE (python/python-3.4.3-docs-html.tar.bz2) = 5444773 SHA256 (python/python-3.4.3-docs-text.tar.bz2) = 03f851f8d078680fccff67a9bedbc698c5e4b5bdd25477e9a6b397080ef46ce2 Index: lang/python33/Makefile =================================================================== --- lang/python33/Makefile +++ lang/python33/Makefile @@ -1,8 +1,7 @@ # $FreeBSD$ PORTNAME= python33 -PORTVERSION= 3.3.5 -PORTREVISION= 8 +PORTVERSION= 3.3.6 CATEGORIES= lang python ipv6 MASTER_SITES= PYTHON/ftp/python/${PORTVERSION} DISTNAME= Python-${PORTVERSION} @@ -13,6 +12,9 @@ LICENSE= PSFL +DEPRECATED= Security updates will be released until Sept 2017 +EXPIRATION_DATE= 2017-09-01 + USES= cpe ncurses pkgconfig readline tar:xz USE_OPENSSL= yes USE_LDCONFIG= yes @@ -30,6 +32,9 @@ MAKE_ARGS+= LIBPC="${PREFIX}/libdata/pkgconfig" # Until pathfix gets support for files other than Makefile.in MAKE_JOBS_UNSAFE= yes # Parser/pgen build bug. See Issue: 200622, 201974 +TEST_TARGET= buildbottest +TEST_ARGS= TESTOPTS=-j${MAKE_JOBS_NUMBER} + SUB_FILES= pkg-message SUB_LIST= PYTHON_SUFFIX=${PORTVERSION:R:S/.//g} @@ -113,7 +118,4 @@ for i in ${STAGEDIR}${PREFIX}/lib/python3.3/lib-dynload/*.so; do \ ${STRIP_CMD} $$i; done # Strip shared extensions -regression-test: build - @cd ${WRKSRC} && ${MAKE} TESTOPTS=-j${MAKE_JOBS_NUMBER} buildbottest - .include Index: lang/python33/distinfo =================================================================== --- lang/python33/distinfo +++ lang/python33/distinfo @@ -1,2 +1,2 @@ -SHA256 (python/Python-3.3.5.tar.xz) = abe99b484434503d8b23be0f243ec27139e743a4798cd71c1dce3cf40e63b6e5 -SIZE (python/Python-3.3.5.tar.xz) = 12116308 +SHA256 (python/Python-3.3.6.tar.xz) = 5226e4bf7a530c3ff2bcde0c94e0e09e59a8bcde0114fe0268bc925bdabb5d3f +SIZE (python/Python-3.3.6.tar.xz) = 12116460 Index: lang/python33/files/patch-Lib__distutils__unixccompiler.py =================================================================== --- lang/python33/files/patch-Lib__distutils__unixccompiler.py +++ /dev/null @@ -1,15 +0,0 @@ -# Description: Some python extensions can't be compiled with clang 3.4 -# Issue ID: http://bugs.python.org/issue20767 -# Submitted by: antoine - ---- ./Lib/distutils/unixccompiler.py.orig 2014-03-09 15:25:15.921204441 +1100 -+++ ./Lib/distutils/unixccompiler.py 2014-03-09 15:25:50.643809649 +1100 -@@ -225,6 +225,8 @@ - if sys.platform[:6] == "darwin": - # MacOSX's linker doesn't understand the -R flag at all - return "-L" + dir -+ elif sys.platform[:7] == "freebsd": -+ return "-Wl,-rpath=" + dir - elif sys.platform[:5] == "hp-ux": - if self._is_gcc(compiler): - return ["-Wl,+s", "-L" + dir] Index: lang/python33/files/patch-PR195513 =================================================================== --- /dev/null +++ lang/python33/files/patch-PR195513 @@ -0,0 +1,166 @@ +--- Modules/_ssl.c.orig 2014-03-09 09:40:26.000000000 +0100 ++++ Modules/_ssl.c 2015-09-26 15:53:49.266985391 +0200 +@@ -1746,8 +1746,10 @@ context_new(PyTypeObject *type, PyObject + PySSL_BEGIN_ALLOW_THREADS + if (proto_version == PY_SSL_VERSION_TLS1) + ctx = SSL_CTX_new(TLSv1_method()); ++#ifndef OPENSSL_NO_SSL3 + else if (proto_version == PY_SSL_VERSION_SSL3) + ctx = SSL_CTX_new(SSLv3_method()); ++#endif + #ifndef OPENSSL_NO_SSL2 + else if (proto_version == PY_SSL_VERSION_SSL2) + ctx = SSL_CTX_new(SSLv2_method()); +@@ -2559,6 +2561,9 @@ Returns 1 if the OpenSSL PRNG has been s + It is necessary to seed the PRNG with RAND_add() on some platforms before\n\ + using the ssl() function."); + ++/* ### Fix build with LibreSSL (does not have RAND_egd) ++ ### PR195511, http://bugs.python.org/issue21356 */ ++#ifndef OPENSSL_NO_EGD + static PyObject * + PySSL_RAND_egd(PyObject *self, PyObject *args) + { +@@ -2586,6 +2591,8 @@ PyDoc_STRVAR(PySSL_RAND_egd_doc, + Queries the entropy gather daemon (EGD) on the socket named by 'path'.\n\ + Returns number of bytes read. Raises SSLError if connection to EGD\n\ + fails or if it does not provide enough data to seed PRNG."); ++#endif /* OPENSSL_NO_EGD */ ++/* ### End PR195511 */ + + #endif /* HAVE_OPENSSL_RAND */ + +@@ -2604,8 +2611,13 @@ static PyMethodDef PySSL_methods[] = { + PySSL_RAND_bytes_doc}, + {"RAND_pseudo_bytes", PySSL_RAND_pseudo_bytes, METH_VARARGS, + PySSL_RAND_pseudo_bytes_doc}, ++/* ### Fix build with LibreSSL (does not have RAND_egd) ++ ### PR195511, http://bugs.python.org/issue21356 */ ++#ifndef OPENSSL_NO_EGD + {"RAND_egd", PySSL_RAND_egd, METH_VARARGS, + PySSL_RAND_egd_doc}, ++#endif /* OPENSSL_NO_EGD */ ++/* ### End PR195511 */ + {"RAND_status", (PyCFunction)PySSL_RAND_status, METH_NOARGS, + PySSL_RAND_status_doc}, + #endif +@@ -2842,8 +2854,10 @@ PyInit__ssl(void) + PyModule_AddIntConstant(m, "PROTOCOL_SSLv2", + PY_SSL_VERSION_SSL2); + #endif ++#ifndef OPENSSL_NO_SSL3 + PyModule_AddIntConstant(m, "PROTOCOL_SSLv3", + PY_SSL_VERSION_SSL3); ++#endif + PyModule_AddIntConstant(m, "PROTOCOL_SSLv23", + PY_SSL_VERSION_SSL23); + PyModule_AddIntConstant(m, "PROTOCOL_TLSv1", +--- Lib/ssl.py.orig 2014-03-09 09:40:13.000000000 +0100 ++++ Lib/ssl.py 2015-09-26 15:55:40.209981202 +0200 +@@ -78,7 +78,15 @@ try: + from _ssl import OP_SINGLE_ECDH_USE + except ImportError: + pass +-from _ssl import RAND_status, RAND_egd, RAND_add, RAND_bytes, RAND_pseudo_bytes ++### Fix build with LibreSSL (does not have RAND_egd) ++### PR195511, http://bugs.python.org/issue21356 ++from _ssl import RAND_status, RAND_add, RAND_bytes, RAND_pseudo_bytes ++try: ++ from _ssl import RAND_egd ++except ImportError: ++ # LibreSSL does not provide RAND_egd ++ pass ++### End PR195511 + from _ssl import ( + SSL_ERROR_ZERO_RETURN, + SSL_ERROR_WANT_READ, +@@ -91,14 +99,13 @@ from _ssl import ( + SSL_ERROR_INVALID_ERROR_CODE, + ) + from _ssl import HAS_SNI, HAS_ECDH, HAS_NPN +-from _ssl import (PROTOCOL_SSLv3, PROTOCOL_SSLv23, ++from _ssl import (PROTOCOL_SSLv23, + PROTOCOL_TLSv1) + from _ssl import _OPENSSL_API_VERSION + + _PROTOCOL_NAMES = { + PROTOCOL_TLSv1: "TLSv1", + PROTOCOL_SSLv23: "SSLv23", +- PROTOCOL_SSLv3: "SSLv3", + } + try: + from _ssl import PROTOCOL_SSLv2 +@@ -107,6 +114,13 @@ except ImportError: + _SSLv2_IF_EXISTS = None + else: + _PROTOCOL_NAMES[PROTOCOL_SSLv2] = "SSLv2" ++try: ++ from _ssl import PROTOCOL_SSLv3 ++ _SSLv3_IF_EXISTS = PROTOCOL_SSLv3 ++except ImportError: ++ _SSLv3_IF_EXISTS = None ++else: ++ _PROTOCOL_NAMES[PROTOCOL_SSLv2] = "SSLv3" + + from socket import getnameinfo as _getnameinfo + from socket import error as socket_error +@@ -664,7 +678,7 @@ def PEM_cert_to_DER_cert(pem_cert_string + d = pem_cert_string.strip()[len(PEM_HEADER):-len(PEM_FOOTER)] + return base64.decodebytes(d.encode('ASCII', 'strict')) + +-def get_server_certificate(addr, ssl_version=PROTOCOL_SSLv3, ca_certs=None): ++def get_server_certificate(addr, ssl_version=PROTOCOL_SSLv23, ca_certs=None): + """Retrieve the certificate from the server at the specified address, + and return it as a PEM-encoded string. + If 'ca_certs' is specified, validate the server cert against it. +--- Lib/test/test_ssl.py.orig 2014-03-09 09:40:19.000000000 +0100 ++++ Lib/test/test_ssl.py 2015-09-26 15:58:58.264964564 +0200 +@@ -21,11 +21,12 @@ import functools + ssl = support.import_module("ssl") + + PROTOCOLS = [ +- ssl.PROTOCOL_SSLv3, + ssl.PROTOCOL_SSLv23, ssl.PROTOCOL_TLSv1 + ] + if hasattr(ssl, 'PROTOCOL_SSLv2'): + PROTOCOLS.append(ssl.PROTOCOL_SSLv2) ++if hasattr(ssl, 'PROTOCOL_SSLv3'): ++ PROTOCOLS.append(ssl.PROTOCOL_SSLv3) + + HOST = support.HOST + +@@ -96,7 +97,8 @@ class BasicSocketTests(unittest.TestCase + def test_constants(self): + #ssl.PROTOCOL_SSLv2 + ssl.PROTOCOL_SSLv23 +- ssl.PROTOCOL_SSLv3 ++ if hasattr(ssl, 'PROTOCOL_SSLv3'): ++ ssl.PROTOCOL_SSLv3 + ssl.PROTOCOL_TLSv1 + ssl.CERT_NONE + ssl.CERT_OPTIONAL +@@ -130,8 +132,12 @@ class BasicSocketTests(unittest.TestCase + self.assertRaises(ValueError, ssl.RAND_bytes, -5) + self.assertRaises(ValueError, ssl.RAND_pseudo_bytes, -5) + +- self.assertRaises(TypeError, ssl.RAND_egd, 1) +- self.assertRaises(TypeError, ssl.RAND_egd, 'foo', 1) ++### Fix build with LibreSSL (does not have RAND_egd) ++### PR195511, http://bugs.python.org/issue21356 ++ if hasattr(ssl, 'RAND_egd'): ++ self.assertRaises(TypeError, ssl.RAND_egd, 1) ++ self.assertRaises(TypeError, ssl.RAND_egd, 'foo', 1) ++### End PR195511 + ssl.RAND_add("this is a random string", 75.0) + + @unittest.skipUnless(os.name == 'posix', 'requires posix') +@@ -512,7 +518,8 @@ class ContextTests(unittest.TestCase): + if hasattr(ssl, 'PROTOCOL_SSLv2'): + ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv2) + ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv23) +- ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv3) ++ if hasattr(ssl, 'PROTOCOL_SSLv3'): ++ ctx = ssl.SSLContext(ssl.PROTOCOL_SSLv3) + ctx = ssl.SSLContext(ssl.PROTOCOL_TLSv1) + self.assertRaises(TypeError, ssl.SSLContext) + self.assertRaises(ValueError, ssl.SSLContext, -1) Index: lang/python33/pkg-plist =================================================================== --- lang/python33/pkg-plist +++ lang/python33/pkg-plist @@ -1839,9 +1839,9 @@ lib/python3.3/lib-dynload/unicodedata.so %%NO_DEBUG%%lib/python3.3/lib-dynload/xxlimited.so lib/python3.3/lib-dynload/zlib.so -lib/python3.3/lib2to3/Grammar3.3.5.final.0.pickle +lib/python3.3/lib2to3/Grammar3.3.6.final.0.pickle lib/python3.3/lib2to3/Grammar.txt -lib/python3.3/lib2to3/PatternGrammar3.3.5.final.0.pickle +lib/python3.3/lib2to3/PatternGrammar3.3.6.final.0.pickle lib/python3.3/lib2to3/PatternGrammar.txt lib/python3.3/lib2to3/__init__.py lib/python3.3/lib2to3/__main__.py