<pre style='margin:0'>
Perry E. Metzger (pmetzger) pushed a commit to branch master
in repository macports-ports.
</pre>
<p><a href="https://github.com/macports/macports-ports/commit/61940fe8470441051f7a77e62176e129d1e8e902">https://github.com/macports/macports-ports/commit/61940fe8470441051f7a77e62176e129d1e8e902</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 61940fe ocaml: fix build error due to missing strnlen
</span>61940fe is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 61940fe8470441051f7a77e62176e129d1e8e902
</span>Author: Ken Cunningham <kencu@macports.org>
AuthorDate: Fri Dec 15 14:27:02 2017 -0800
<span style='display:block; white-space:pre;color:#404040;'> ocaml: fix build error due to missing strnlen
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> fixes build on 10.6.8 and earlier
</span><span style='display:block; white-space:pre;color:#404040;'> closes: https://trac.macports.org/ticket/55385
</span>---
lang/ocaml/Portfile | 14 +++++---------
lang/ocaml/files/patch-strnlen-socketaddr.diff | 23 +++++++++++++++++++++++
2 files changed, 28 insertions(+), 9 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ocaml/Portfile b/lang/ocaml/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index 2fa7715..98c3aa8 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/lang/ocaml/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ocaml/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -27,6 +27,11 @@ long_description OCaml, originally named Objective Caml, is an industrial str
</span>
use_xz yes
<span style='display:block; white-space:pre;background:#e0ffe0;'>+if {${os.platform} eq "darwin" && ${os.major} < 11} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ patchfiles-append patch-strnlen-socketaddr.diff
</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;'>+
</span> depends_lib port:ncurses
use_parallel_build no
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -50,15 +55,6 @@ destroot.destdir BINDIR=${destroot}${prefix}/bin \
</span> LIBDIR=${destroot}${prefix}/lib/ocaml \
MANDIR=${destroot}${prefix}/share/man
<span style='display:block; white-space:pre;background:#ffe0e0;'>-# Don't build on 10.6 or earlier
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-pre-fetch {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {${os.subplatform} eq "macosx" &&
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- [vercmp ${macosx_version} 10.7] < 0} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- ui_error "${name} @${version} requires OS X 10.7 or later."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return -code error "incompatible OS X version"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-}
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span> post-destroot {
# Change "ld.conf" to remove ${destroot} in paths.
reinplace "s:${destroot}::g" ${destroot}${prefix}/lib/ocaml/ld.conf
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/lang/ocaml/files/patch-strnlen-socketaddr.diff b/lang/ocaml/files/patch-strnlen-socketaddr.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..d585a8e
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/lang/ocaml/files/patch-strnlen-socketaddr.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,23 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- ./otherlibs/unix/socketaddr.c.orig 2017-12-15 13:57:16.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ ./otherlibs/unix/socketaddr.c 2017-12-15 14:02:56.000000000 -0800
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -29,6 +29,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #define EAFNOSUPPORT WSAEAFNOSUPPORT
</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;'>++static size_t
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++strnlen(const char *s, size_t maxlen)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++{
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ size_t len;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ for (len = 0; len < maxlen; len++, s++) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ if (!*s)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ break;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++ return (len);
</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;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ CAMLexport value alloc_inet_addr(struct in_addr * a)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ value res;
</span></pre><pre style='margin:0'>
</pre>