<pre style='margin:0'>
Jeremy Huddleston Sequoia (jeremyhu) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/a2ee734cffc2e5cb22dac74b3442d7b19373abf7">https://github.com/macports/macports-ports/commit/a2ee734cffc2e5cb22dac74b3442d7b19373abf7</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 a2ee734  curl: Fix build against libressl-devel
</span>a2ee734 is described below

<span style='display:block; white-space:pre;color:#808000;'>commit a2ee734cffc2e5cb22dac74b3442d7b19373abf7
</span>Author: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
AuthorDate: Sat May 5 23:06:18 2018 -0700

<span style='display:block; white-space:pre;color:#404040;'>    curl: Fix build against libressl-devel
</span><span style='display:block; white-space:pre;color:#404040;'>    
</span><span style='display:block; white-space:pre;color:#404040;'>    Signed-off-by: Jeremy Huddleston Sequoia <jeremyhu@macports.org>
</span>---
 net/curl/Portfile             |  2 ++
 net/curl/files/libressl.patch | 76 +++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 78 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/curl/Portfile b/net/curl/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index fd5a936..eb573e2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/net/curl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/curl/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -41,6 +41,8 @@ if {${name} eq ${subport}} {
</span>                                 port:libpsl \
                                 port:zlib
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    patchfiles                  libressl.patch
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span>     configure.args              --disable-silent-rules \
                                 --enable-ipv6 \
                                 --without-brotli \
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/net/curl/files/libressl.patch b/net/curl/files/libressl.patch
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..22dae7a
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/net/curl/files/libressl.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;'>+diff --git a/lib/vtls/openssl.c b/lib/vtls/openssl.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 2a6b3cfacb..99e1ba34e3 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- lib/vtls/openssl.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ lib/vtls/openssl.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -117,15 +117,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define X509_get0_notBefore(x) X509_get_notBefore(x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define X509_get0_notAfter(x) X509_get_notAfter(x)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define CONST_EXTS /* nope */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#ifdef LIBRESSL_VERSION_NUMBER
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-static unsigned long OpenSSL_version_num(void)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  return LIBRESSL_VERSION_NUMBER;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define OpenSSL_version_num() SSLeay()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</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 (OPENSSL_VERSION_NUMBER >= 0x1000200fL) && /* 1.0.2 or later */ \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   !defined(LIBRESSL_VERSION_NUMBER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3519,9 +3512,24 @@ static ssize_t ossl_recv(struct connectdata *conn, /* connection data */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ static size_t Curl_ossl_version(char *buffer, size_t size)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  int rc = -1;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #ifdef OPENSSL_IS_BORINGSSL
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-  return snprintf(buffer, size, OSSL_PACKAGE);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#else /* OPENSSL_IS_BORINGSSL */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  /* no version extraction method known */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#elif defined(LIBRESSL_VERSION_NUMBER)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  const char *ver = OpenSSL_version(OPENSSL_VERSION);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(ver && !strncmp(ver, "LibreSSL ", 9) && ver[9]) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    char *partial = strdup(&ver[9]);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(partial) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      char *p;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      for(p = partial; *p; ++p) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        if(ISSPACE(*p))
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++          *p = '_';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      rc = snprintf(buffer, size, "%s/%s", OSSL_PACKAGE, partial);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++      free(partial);
</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;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   char sub[3];
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   unsigned long ssleay_value;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+   sub[2]='\0';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -3546,14 +3554,20 @@ static size_t Curl_ossl_version(char *buffer, size_t size)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+       sub[0]='\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;'>+-  return snprintf(buffer, size, "%s/%lx.%lx.%lx%s",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  OSSL_PACKAGE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  (ssleay_value>>28)&0xf,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  (ssleay_value>>20)&0xff,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  (ssleay_value>>12)&0xff,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                  sub);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-#endif /* OPENSSL_IS_BORINGSSL */
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  rc = snprintf(buffer, size, "%s/%lx.%lx.%lx%s",
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                OSSL_PACKAGE,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                (ssleay_value>>28)&0xf,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                (ssleay_value>>20)&0xff,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                (ssleay_value>>12)&0xff,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++                sub);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(0 < rc && (unsigned)rc < size)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return rc;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  if(!size)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    return 0;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  strncpy(buffer, OSSL_PACKAGE, size);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  buffer[size - 1] = '\0';
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++  return strlen(buffer);
</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;'>+ /* can be called with data == NULL */
</span></pre><pre style='margin:0'>

</pre>