From 2311e24d46ce088f2bdce122051f122c85e8f566 Mon Sep 17 00:00:00 2001 From: Alessio Sergi Date: Thu, 3 May 2018 10:27:27 +0200 Subject: [PATCH] python: update to 2.7.15 --- srcpkgs/python/patches/libressl-2.6.patch | 106 ---------------------- srcpkgs/python/patches/libressl-2.7.patch | 52 ----------- srcpkgs/python/template | 6 +- 3 files changed, 3 insertions(+), 161 deletions(-) delete mode 100644 srcpkgs/python/patches/libressl-2.6.patch delete mode 100644 srcpkgs/python/patches/libressl-2.7.patch diff --git a/srcpkgs/python/patches/libressl-2.6.patch b/srcpkgs/python/patches/libressl-2.6.patch deleted file mode 100644 index d6b0b5c347..0000000000 --- a/srcpkgs/python/patches/libressl-2.6.patch +++ /dev/null @@ -1,106 +0,0 @@ -Based on https://github.com/python/cpython/pull/5859. - ---- Modules/_ssl.c.orig -+++ Modules/_ssl.c -@@ -122,6 +122,19 @@ - # define HAVE_ALPN - #endif - -+/* We cannot rely on OPENSSL_NO_NEXTPROTONEG because LibreSSL 2.6.1 dropped -+ * NPN support but did not set OPENSSL_NO_NEXTPROTONEG for compatibility -+ * reasons. The check for TLSEXT_TYPE_next_proto_neg works with -+ * OpenSSL 1.0.1+ and LibreSSL. -+ */ -+#ifdef OPENSSL_NO_NEXTPROTONEG -+# define HAVE_NPN 0 -+#elif defined(TLSEXT_TYPE_next_proto_neg) -+# define HAVE_NPN 1 -+#else -+# define HAVE_NPN 0 -+#endif -+ - #ifndef INVALID_SOCKET /* MS defines this */ - #define INVALID_SOCKET (-1) - #endif -@@ -280,7 +293,7 @@ - typedef struct { - PyObject_HEAD - SSL_CTX *ctx; --#ifdef OPENSSL_NPN_NEGOTIATED -+#if HAVE_NPN - unsigned char *npn_protocols; - int npn_protocols_len; - #endif -@@ -1502,7 +1515,7 @@ - return PyUnicode_FromString(version); - } - --#ifdef OPENSSL_NPN_NEGOTIATED -+#if HAVE_NPN - static PyObject *PySSL_selected_npn_protocol(PySSLSocket *self) { - const unsigned char *out; - unsigned int outlen; -@@ -2030,7 +2043,7 @@ - PySSL_peercert_doc}, - {"cipher", (PyCFunction)PySSL_cipher, METH_NOARGS}, - {"version", (PyCFunction)PySSL_version, METH_NOARGS}, --#ifdef OPENSSL_NPN_NEGOTIATED -+#if HAVE_NPN - {"selected_npn_protocol", (PyCFunction)PySSL_selected_npn_protocol, METH_NOARGS}, - #endif - #ifdef HAVE_ALPN -@@ -2140,7 +2153,7 @@ - return NULL; - } - self->ctx = ctx; --#ifdef OPENSSL_NPN_NEGOTIATED -+#if HAVE_NPN - self->npn_protocols = NULL; - #endif - #ifdef HAVE_ALPN -@@ -2216,7 +2229,7 @@ - { - context_clear(self); - SSL_CTX_free(self->ctx); --#ifdef OPENSSL_NPN_NEGOTIATED -+#if HAVE_NPN - PyMem_FREE(self->npn_protocols); - #endif - #ifdef HAVE_ALPN -@@ -2246,7 +2259,7 @@ - Py_RETURN_NONE; - } - --#ifdef OPENSSL_NPN_NEGOTIATED -+#if HAVE_NPN || defined(HAVE_ALPN) - static int - do_protocol_selection(int alpn, unsigned char **out, unsigned char *outlen, - const unsigned char *server_protocols, unsigned int server_protocols_len, -@@ -2270,7 +2283,9 @@ - - return SSL_TLSEXT_ERR_OK; - } -+#endif - -+#if HAVE_NPN - /* this callback gets passed to SSL_CTX_set_next_protos_advertise_cb */ - static int - _advertiseNPN_cb(SSL *s, -@@ -2305,7 +2320,7 @@ - static PyObject * - _set_npn_protocols(PySSLContext *self, PyObject *args) - { --#ifdef OPENSSL_NPN_NEGOTIATED -+#if HAVE_NPN - Py_buffer protos; - - if (!PyArg_ParseTuple(args, "s*:set_npn_protocols", &protos)) -@@ -4303,7 +4318,7 @@ - Py_INCREF(r); - PyModule_AddObject(m, "HAS_ECDH", r); - --#ifdef OPENSSL_NPN_NEGOTIATED -+#if HAVE_NPN - r = Py_True; - #else - r = Py_False; diff --git a/srcpkgs/python/patches/libressl-2.7.patch b/srcpkgs/python/patches/libressl-2.7.patch deleted file mode 100644 index 1bbcdc7a43..0000000000 --- a/srcpkgs/python/patches/libressl-2.7.patch +++ /dev/null @@ -1,52 +0,0 @@ -Based on https://github.com/python/cpython/pull/6210. - ---- Modules/_ssl.c.orig -+++ Modules/_ssl.c -@@ -102,6 +102,12 @@ struct py_ssl_library_code { - - #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER) - # define OPENSSL_VERSION_1_1 1 -+# define PY_OPENSSL_1_1_API 1 -+#endif -+ -+/* LibreSSL 2.7.0 provides necessary OpenSSL 1.1.0 APIs */ -+#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL -+# define PY_OPENSSL_1_1_API 1 - #endif - - /* Openssl comes with TLSv1.1 and TLSv1.2 between 1.0.0h and 1.0.1 -@@ -149,16 +155,18 @@ struct py_ssl_library_code { - #define INVALID_SOCKET (-1) - #endif - --#ifdef OPENSSL_VERSION_1_1 --/* OpenSSL 1.1.0+ */ --#ifndef OPENSSL_NO_SSL2 --#define OPENSSL_NO_SSL2 --#endif --#else /* OpenSSL < 1.1.0 */ --#if defined(WITH_THREAD) -+/* OpenSSL 1.0.2 and LibreSSL needs extra code for locking */ -+#if !defined(OPENSSL_VERSION_1_1) && defined(WITH_THREAD) - #define HAVE_OPENSSL_CRYPTO_LOCK - #endif - -+#if defined(OPENSSL_VERSION_1_1) && !defined(OPENSSL_NO_SSL2) -+#define OPENSSL_NO_SSL2 -+#endif -+ -+#ifndef PY_OPENSSL_1_1_API -+/* OpenSSL 1.1 API shims for OpenSSL < 1.1.0 and LibreSSL < 2.7.0 */ -+ - #define TLS_method SSLv23_method - - static int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne) -@@ -201,7 +209,7 @@ static X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *store) - { - return store->param; - } --#endif /* OpenSSL < 1.1.0 or LibreSSL */ -+#endif /* OpenSSL < 1.1.0 or LibreSSL < 2.7.0 */ - - - enum py_ssl_error { diff --git a/srcpkgs/python/template b/srcpkgs/python/template index 89a50a4dc6..20e8ee0662 100644 --- a/srcpkgs/python/template +++ b/srcpkgs/python/template @@ -3,8 +3,8 @@ # THIS PKG MUST BE SYNCHRONIZED WITH "srcpkgs/python-tkinter". # pkgname=python -version=2.7.14 -revision=6 +version=2.7.15 +revision=1 wrksrc="Python-${version}" hostmakedepends="pkg-config" makedepends="libffi-devel readline-devel gdbm-devel libressl-devel expat-devel @@ -16,7 +16,7 @@ maintainer="Juan RP " homepage="https://www.python.org" license="Python-2.0" distfiles="https://www.python.org/ftp/python/${version}/Python-${version}.tar.xz" -checksum=71ffb26e09e78650e424929b2b457b9c912ac216576e6bd9e7d204ed03296a66 +checksum=22d9b1ac5b26135ad2b8c2901a9413537e08749a753356ee913c84dbd2df5574 alternatives=" python:idle:/usr/bin/idle2.7