[127173] trunk/dports/devel/libzookeeper

hum at macports.org hum at macports.org
Wed Oct 22 03:31:00 PDT 2014


Revision: 127173
          https://trac.macports.org/changeset/127173
Author:   hum at macports.org
Date:     2014-10-22 03:31:00 -0700 (Wed, 22 Oct 2014)
Log Message:
-----------
libzookeeper: add patch-yosemite.diff to fix build on 10.10.

Modified Paths:
--------------
    trunk/dports/devel/libzookeeper/Portfile

Added Paths:
-----------
    trunk/dports/devel/libzookeeper/files/
    trunk/dports/devel/libzookeeper/files/patch-yosemite.diff

Modified: trunk/dports/devel/libzookeeper/Portfile
===================================================================
--- trunk/dports/devel/libzookeeper/Portfile	2014-10-22 10:02:11 UTC (rev 127172)
+++ trunk/dports/devel/libzookeeper/Portfile	2014-10-22 10:31:00 UTC (rev 127173)
@@ -33,6 +33,15 @@
 
 depends_build       port:apache-ant
 
+platform darwin {
+    # ZooKeeperZOOKEEPER-2049: Yosemite build failure: htonll conflict
+    # https://issues.apache.org/jira/browse/ZOOKEEPER-2049, modified for 3.4.6
+    if {${os.major} >= 14} {
+        patchfiles-append   patch-yosemite.diff 
+        patch.pre_args      -p2
+    }
+}
+
 pre-configure {
     system -W "${worksrcpath}/../.." "ant compile_jute"
 }

Added: trunk/dports/devel/libzookeeper/files/patch-yosemite.diff
===================================================================
--- trunk/dports/devel/libzookeeper/files/patch-yosemite.diff	                        (rev 0)
+++ trunk/dports/devel/libzookeeper/files/patch-yosemite.diff	2014-10-22 10:31:00 UTC (rev 127173)
@@ -0,0 +1,106 @@
+diff --git src/c/include/recordio.h src/c/include/recordio.h
+index 73ada1e..65af239 100644
+--- src/c/include/recordio.h
++++ src/c/include/recordio.h
+@@ -70,7 +70,7 @@ void close_buffer_iarchive(struct iarchive **ia);
+ char *get_buffer(struct oarchive *);
+ int get_buffer_len(struct oarchive *);
+ 
+-int64_t htonll(int64_t v);
++int64_t zoo_htonll(int64_t v);
+ 
+ #ifdef __cplusplus
+ }
+diff --git src/c/src/recordio.c src/c/src/recordio.c
+index 968fdc4..07217c1 100644
+--- src/c/src/recordio.c
++++ src/c/src/recordio.c
+@@ -80,7 +80,7 @@ int oa_serialize_int(struct oarchive *oa, const char *tag, const int32_t *d)
+     priv->off+=sizeof(i);
+     return 0;
+ }
+-int64_t htonll(int64_t v)
++int64_t zoo_htonll(int64_t v)
+ {
+     int i = 0;
+     char *s = (char *)&v;
+@@ -98,7 +98,7 @@ int64_t htonll(int64_t v)
+ 
+ int oa_serialize_long(struct oarchive *oa, const char *tag, const int64_t *d)
+ {
+-    const int64_t i = htonll(*d);
++    const int64_t i = zoo_htonll(*d);
+     struct buff_struct *priv = oa->priv;
+     if ((priv->len - priv->off) < sizeof(i)) {
+         int rc = resize_buffer(priv, priv->len + sizeof(i));
+@@ -207,7 +207,7 @@ int ia_deserialize_long(struct iarchive *ia, const char *tag, int64_t *count)
+     }
+     memcpy(count, priv->buffer+priv->off, sizeof(*count));
+     priv->off+=sizeof(*count);
+-    v = htonll(*count); // htonll and  ntohll do the same
++    v = zoo_htonll(*count); // htonll and  ntohll do the same
+     *count = v;
+     return 0;
+ }
+diff --git src/c/src/zookeeper.c src/c/src/zookeeper.c
+index ca81a1b..8225094 100644
+--- src/c/src/zookeeper.c
++++ src/c/src/zookeeper.c
+@@ -1798,7 +1798,7 @@ static int serialize_prime_connect(struct connect_req *req, char* buffer){
+     memcpy(buffer + offset, &req->protocolVersion, sizeof(req->protocolVersion));
+     offset = offset +  sizeof(req->protocolVersion);
+ 
+-    req->lastZxidSeen = htonll(req->lastZxidSeen);
++    req->lastZxidSeen = zoo_htonll(req->lastZxidSeen);
+     memcpy(buffer + offset, &req->lastZxidSeen, sizeof(req->lastZxidSeen));
+     offset = offset +  sizeof(req->lastZxidSeen);
+ 
+@@ -1806,7 +1806,7 @@ static int serialize_prime_connect(struct connect_req *req, char* buffer){
+     memcpy(buffer + offset, &req->timeOut, sizeof(req->timeOut));
+     offset = offset +  sizeof(req->timeOut);
+ 
+-    req->sessionId = htonll(req->sessionId);
++    req->sessionId = zoo_htonll(req->sessionId);
+     memcpy(buffer + offset, &req->sessionId, sizeof(req->sessionId));
+     offset = offset +  sizeof(req->sessionId);
+ 
+@@ -1843,7 +1843,7 @@ static int deserialize_prime_response(struct prime_struct *req, char* buffer)
+      memcpy(&req->sessionId, buffer + offset, sizeof(req->sessionId));
+      offset = offset +  sizeof(req->sessionId);
+ 
+-     req->sessionId = htonll(req->sessionId);
++     req->sessionId = zoo_htonll(req->sessionId);
+      memcpy(&req->passwd_len, buffer + offset, sizeof(req->passwd_len));
+      offset = offset +  sizeof(req->passwd_len);
+ 
+diff --git src/c/tests/ZKMocks.cc src/c/tests/ZKMocks.cc
+index 263f3ce..1310ab9 100644
+--- src/c/tests/ZKMocks.cc
++++ src/c/tests/ZKMocks.cc
+@@ -41,7 +41,7 @@ HandshakeRequest* HandshakeRequest::parse(const std::string& buf) {
+     int offset=sizeof(req->protocolVersion);
+ 
+     memcpy(&req->lastZxidSeen,buf.data()+offset,sizeof(req->lastZxidSeen));
+-    req->lastZxidSeen = htonll(req->lastZxidSeen);
++    req->lastZxidSeen = zoo_htonll(req->lastZxidSeen);
+     offset+=sizeof(req->lastZxidSeen);
+ 
+     memcpy(&req->timeOut,buf.data()+offset,sizeof(req->timeOut));
+@@ -49,7 +49,7 @@ HandshakeRequest* HandshakeRequest::parse(const std::string& buf) {
+     offset+=sizeof(req->timeOut);
+ 
+     memcpy(&req->sessionId,buf.data()+offset,sizeof(req->sessionId));
+-    req->sessionId = htonll(req->sessionId);
++    req->sessionId = zoo_htonll(req->sessionId);
+     offset+=sizeof(req->sessionId);
+ 
+     memcpy(&req->passwd_len,buf.data()+offset,sizeof(req->passwd_len));
+@@ -339,7 +339,7 @@ string HandshakeResponse::toString() const {
+     buf.append((char*)&tmp,sizeof(tmp));
+     tmp=htonl(timeOut);
+     buf.append((char*)&tmp,sizeof(tmp));
+-    int64_t tmp64=htonll(sessionId);
++    int64_t tmp64=zoo_htonll(sessionId);
+     buf.append((char*)&tmp64,sizeof(sessionId));
+     tmp=htonl(passwd_len);
+     buf.append((char*)&tmp,sizeof(tmp));
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.macosforge.org/pipermail/macports-changes/attachments/20141022/f6ad0398/attachment.html>


More information about the macports-changes mailing list