<pre style='margin:0'>
Joshua Root (jmroot) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/d14d1d5f4a0278441215dddcd7859616e2cbc484">https://github.com/macports/macports-ports/commit/d14d1d5f4a0278441215dddcd7859616e2cbc484</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new d14d1d5  python35: fix build with libressl >= 2.7
</span>d14d1d5 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit d14d1d5f4a0278441215dddcd7859616e2cbc484
</span>Author: Joshua Root <jmr@macports.org>
AuthorDate: Thu Jan 10 09:10:14 2019 +1100

<span style='display:block; white-space:pre;color:#404040;'>    python35: fix build with libressl >= 2.7
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Upstream patch backported from 3.6.
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Fixes: https://trac.macports.org/ticket/56965
</span>---
 lang/python35/Portfile                 |  3 +-
 lang/python35/files/libressl-2.7.patch | 76 ++++++++++++++++++++++++++++++++++
 2 files changed, 78 insertions(+), 1 deletion(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python35/Portfile b/lang/python35/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 584e3da3..d25e86c 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/python35/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python35/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -38,7 +38,8 @@ patchfiles          patch-setup.py.diff \
</span>                     omit-local-site-packages.patch \
                     patch-xcode4bug.diff \
                     Modules_posixmodule.c.diff \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                    uuid-64bit.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    uuid-64bit.patch \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                    libressl-2.7.patch
</span> 
 depends_build       port:pkgconfig
 depends_lib         port:bzip2 \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/python35/files/libressl-2.7.patch b/lang/python35/files/libressl-2.7.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..9231d21
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/python35/files/libressl-2.7.patch
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,76 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From f5befbb0d1526f18eb2b24eabb48c3b761c624a2 Mon Sep 17 00:00:00 2001
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Christian Heimes <christian@python.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Sat, 24 Mar 2018 18:38:14 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] [3.6] bpo-33127: Compatibility patch for LibreSSL 2.7.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ (GH-6210) (GH-6214)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+LibreSSL 2.7 introduced OpenSSL 1.1.0 API. The ssl module now detects
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+LibreSSL 2.7 and only provides API shims for OpenSSL < 1.1.0 and
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+LibreSSL < 2.7.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Documentation updates and fixes for failing tests will be provided in
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+another patch set.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Signed-off-by: Christian Heimes <christian@python.org>.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+(cherry picked from commit 4ca0739c9d97ac7cd45499e0d31be68dc659d0e1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Co-authored-by: Christian Heimes <christian@python.org>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+---
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ .../2018-03-24-15-08-24.bpo-33127.olJmHv.rst  |  1 +
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Modules/_ssl.c                                | 24 ++++++++++++-------
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Tools/ssl/multissltests.py                    |  3 ++-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 4 files changed, 20 insertions(+), 9 deletions(-)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ create mode 100644 Misc/NEWS.d/next/Library/2018-03-24-15-08-24.bpo-33127.olJmHv.rst
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/Modules/_ssl.c b/Modules/_ssl.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index c54e43c2b48a..5e007da858bd 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- Modules/_ssl.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ Modules/_ssl.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -101,6 +101,12 @@ struct py_ssl_library_code {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if (OPENSSL_VERSION_NUMBER >= 0x10100000L) && !defined(LIBRESSL_VERSION_NUMBER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #  define OPENSSL_VERSION_1_1 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define PY_OPENSSL_1_1_API 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* LibreSSL 2.7.0 provides necessary OpenSSL 1.1.0 APIs */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(LIBRESSL_VERSION_NUMBER) && LIBRESSL_VERSION_NUMBER >= 0x2070000fL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#  define PY_OPENSSL_1_1_API 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ /* Openssl comes with TLSv1.1 and TLSv1.2 between 1.0.0h and 1.0.1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -129,16 +135,18 @@ struct py_ssl_library_code {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define INVALID_SOCKET (-1)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef OPENSSL_VERSION_1_1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-/* OpenSSL 1.1.0+ */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifndef OPENSSL_NO_SSL2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#define OPENSSL_NO_SSL2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else /* OpenSSL < 1.1.0 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#if defined(WITH_THREAD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* OpenSSL 1.0.2 and LibreSSL needs extra code for locking */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if !defined(OPENSSL_VERSION_1_1) && defined(WITH_THREAD)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define HAVE_OPENSSL_CRYPTO_LOCK
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if defined(OPENSSL_VERSION_1_1) && !defined(OPENSSL_NO_SSL2)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#define OPENSSL_NO_SSL2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#ifndef PY_OPENSSL_1_1_API
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++/* OpenSSL 1.1 API shims for OpenSSL < 1.1.0 and LibreSSL < 2.7.0 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define TLS_method SSLv23_method
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static int X509_NAME_ENTRY_set(const X509_NAME_ENTRY *ne)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -187,7 +195,7 @@ X509_STORE_get0_param(X509_STORE *store)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     return store->param;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif /* OpenSSL < 1.1.0 or LibreSSL */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif /* OpenSSL < 1.1.0 or LibreSSL < 2.7.0 */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ enum py_ssl_error {
</span></pre><pre style='margin:0'>

</pre>