lang/io: update to 2017.09.06
This commit is contained in:
parent
a45b58fe47
commit
9af2635d2c
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=449774
@ -2,8 +2,7 @@
|
||||
# $FreeBSD$
|
||||
|
||||
PORTNAME= io
|
||||
PORTVERSION= 2015.11.11
|
||||
PORTREVISION= 7
|
||||
PORTVERSION= 2017.09.06
|
||||
CATEGORIES= lang
|
||||
|
||||
MAINTAINER= gahr@FreeBSD.org
|
||||
@ -13,11 +12,11 @@ LICENSE= BSD3CLAUSE
|
||||
|
||||
BROKEN_armv6= fails to compile: ucontext.h: expected parameter declarator
|
||||
|
||||
USES= cmake:outsource,noninja compiler:c11 ssl
|
||||
|
||||
USE_GITHUB= yes
|
||||
GH_ACCOUNT= stevedekorte
|
||||
GH_TAGNAME= 23afbcc
|
||||
|
||||
USES= cmake:outsource,noninja compiler:c11
|
||||
MAKE_JOBS_UNSAFE=yes
|
||||
USE_LDCONFIG= yes
|
||||
|
||||
@ -48,4 +47,8 @@ post-install:
|
||||
${MKDIR} ${STAGEDIR}${EXAMPLESDIR}
|
||||
cd ${WRKSRC}/samples && ${COPYTREE_SHARE} . ${STAGEDIR}${EXAMPLESDIR}
|
||||
|
||||
do-test:
|
||||
cd ${BUILD_WRKSRC} && \
|
||||
./_build/binaries/io ${WRKSRC}/libs/iovm/tests/correctness/run.io
|
||||
|
||||
.include <bsd.port.mk>
|
||||
|
@ -17,6 +17,7 @@ DEFAULT_ADDONS= AsyncRequest \
|
||||
Loki \
|
||||
MD5 \
|
||||
NotificationCenter \
|
||||
Oauth \
|
||||
Obsidian \
|
||||
Random \
|
||||
Range \
|
||||
@ -39,6 +40,7 @@ DEFAULT_ADDONS= AsyncRequest \
|
||||
#
|
||||
OPTIONAL_ADDONS=BigNum \
|
||||
CFFI \
|
||||
Cairo \
|
||||
Clutter \
|
||||
DBI \
|
||||
EditLine \
|
||||
@ -72,6 +74,7 @@ OPTIONS_GROUP_ADDONS=${OPTIONAL_ADDONS}
|
||||
|
||||
BigNum_LIB_DEPENDS= libgmp.so:math/gmp
|
||||
CFFI_LIB_DEPENDS= libffi.so:devel/libffi
|
||||
Cairo_USE= GNOME=cairo
|
||||
Clutter_LIB_DEPENDS= libclutter-glx-1.0.so:graphics/clutter
|
||||
DBI_LIB_DEPENDS= libdbi.so:databases/libdbi
|
||||
EditLine_USES= libedit
|
||||
@ -92,7 +95,7 @@ MySQL_USES= mysql:client
|
||||
Ogg_LIB_DEPENDS= libogg.so:audio/libogg
|
||||
OpenGL_USE= GL=glut XORG=xmu
|
||||
PostgreSQL_USES= pgsql
|
||||
Python_USES= python
|
||||
Python_USES= python:3.3+
|
||||
QDBM_LIB_DEPENDS= libqdbm.so:databases/qdbm
|
||||
ReadLine_USES= readline:port
|
||||
Regex_LIB_DEPENDS= libpcre.so:devel/pcre
|
||||
|
@ -1,3 +1,3 @@
|
||||
TIMESTAMP = 1467100370
|
||||
SHA256 (stevedekorte-io-2015.11.11-23afbcc_GH0.tar.gz) = d66a085288c278c3641c6c7360967ace54e5469b751659fca4e31fef7987975a
|
||||
SIZE (stevedekorte-io-2015.11.11-23afbcc_GH0.tar.gz) = 9212486
|
||||
TIMESTAMP = 1505299993
|
||||
SHA256 (stevedekorte-io-2017.09.06_GH0.tar.gz) = 9ac5cd94bbca65c989cd254be58a3a716f4e4f16480f0dc81070457aa353c217
|
||||
SIZE (stevedekorte-io-2017.09.06_GH0.tar.gz) = 9153588
|
||||
|
@ -1,12 +0,0 @@
|
||||
--- addons/SQLite3/CMakeLists.txt.orig 2012-10-02 16:24:59.000000000 +0200
|
||||
+++ addons/SQLite3/CMakeLists.txt 2012-10-02 16:25:24.000000000 +0200
|
||||
@@ -20,6 +20,9 @@
|
||||
# Additional include directories
|
||||
include_directories(${SQLITE_INCLUDE_DIRS})
|
||||
|
||||
+ # Additional link directories
|
||||
+ link_directories(${SQLITE_LIBRARY_DIRS})
|
||||
+
|
||||
# Generate the IoSQLite3Init.c file.
|
||||
# Argument SHOULD ALWAYS be the exact name of the addon, case is
|
||||
# important.
|
13
lang/io/files/patch-addons_Oauth_source_Oauth_http.c
Normal file
13
lang/io/files/patch-addons_Oauth_source_Oauth_http.c
Normal file
@ -0,0 +1,13 @@
|
||||
--- addons/Oauth/source/Oauth/http.c.orig 2017-09-13 10:44:59 UTC
|
||||
+++ addons/Oauth/source/Oauth/http.c
|
||||
@@ -6,7 +6,10 @@
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
+#include <sys/types.h>
|
||||
+#include <sys/socket.h>
|
||||
#include <sys/select.h>
|
||||
+#include <netinet/in.h>
|
||||
#include <netdb.h>
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
@ -1,93 +0,0 @@
|
||||
From fd6795035e4bcd1d2606f4f8f69c104bfbf5d5ff Mon Sep 17 00:00:00 2001
|
||||
From: Charles Ellis <hamled@gmail.com>
|
||||
Date: Sun, 20 May 2012 23:20:33 -0700
|
||||
Subject: [PATCH] Memcached stats method compatiblity fix
|
||||
|
||||
The stats method of Memcached is now compatible with libmemcached 1.0+.
|
||||
---
|
||||
addons/Memcached/source/IoMemcached.c | 41 +++++++++++++++++++++--------------
|
||||
modules/FindLibMemcached.cmake | 2 +-
|
||||
2 files changed, 26 insertions(+), 17 deletions(-)
|
||||
|
||||
diff --git a/addons/Memcached/source/IoMemcached.c b/addons/Memcached/source/IoMemcached.c
|
||||
index c1be9ff..aa3fe67 100644
|
||||
--- addons/Memcached/source/IoMemcached.c
|
||||
+++ addons/Memcached/source/IoMemcached.c
|
||||
@@ -472,39 +472,48 @@ values are maps with actual stats.
|
||||
IoObject *IoMemcached_stats(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
{
|
||||
IoMap *results_map = IoMap_new(IOSTATE);
|
||||
+ memcached_st *mc = DATA(self)->mc;
|
||||
|
||||
- int i;
|
||||
- for(i = 0; i < memcached_server_list_count(DATA(self)->mc->servers); i++) {
|
||||
- memcached_server_st *server = DATA(self)->mc->servers + i;
|
||||
+ uint32_t pos = 0;
|
||||
+ while(pos < memcached_server_count(mc)) {
|
||||
+ memcached_server_instance_st server = memcached_server_instance_by_position(mc, pos);
|
||||
+ if(server == NULL)
|
||||
+ continue;
|
||||
+
|
||||
+ const char *hostname = memcached_server_name(server);
|
||||
+ const in_port_t port = memcached_server_port(server);
|
||||
|
||||
memcached_stat_st stats;
|
||||
- if(memcached_stat_servername(&stats, "", server->hostname, server->port) != 0)
|
||||
+ memcached_return_t rc = memcached_stat_servername(&stats, "", hostname, port);
|
||||
+ if(rc != MEMCACHED_SUCCESS)
|
||||
continue;
|
||||
|
||||
- memcached_return rc;
|
||||
- char **ckeys = memcached_stat_get_keys(DATA(self)->mc, &stats, &rc);
|
||||
-
|
||||
- int ckeys_count = 0;
|
||||
- while(ckeys[ckeys_count] != NULL)
|
||||
- ckeys_count++;
|
||||
+ char **ckeys = memcached_stat_get_keys(mc, &stats, &rc);
|
||||
+ if(rc != MEMCACHED_SUCCESS)
|
||||
+ continue;
|
||||
|
||||
IoMap *per_server_map = IoMap_new(IOSTATE);
|
||||
- int k;
|
||||
- for(k = 0; k < ckeys_count; k++) {
|
||||
- char *ckey = ckeys[k];
|
||||
- char *cvalue = memcached_stat_get_value(DATA(self)->mc, &stats, ckey, &rc);
|
||||
+ char *ckey = *ckeys;
|
||||
+ while(ckey != NULL) {
|
||||
+ char *cvalue = memcached_stat_get_value(mc, &stats, ckey, &rc);
|
||||
+ if(rc != MEMCACHED_SUCCESS)
|
||||
+ continue;
|
||||
+
|
||||
IoMap_rawAtPut(per_server_map, IOSYMBOL(ckey), IOSYMBOL(cvalue));
|
||||
free(cvalue);
|
||||
+ ckey++;
|
||||
}
|
||||
|
||||
free(ckeys);
|
||||
|
||||
// "127.0.0.1:11211"
|
||||
- char *server_key = (char *) malloc((strlen(server->hostname) + 1 + 5 + 1) * sizeof(char));
|
||||
- sprintf(server_key, "%s:%d", server->hostname, server->port);
|
||||
+ char *server_key = (char *) malloc((strlen(hostname) + 1 + 5 + 1) * sizeof(char));
|
||||
+ sprintf(server_key, "%s:%d", hostname, port);
|
||||
|
||||
IoMap_rawAtPut(results_map, IOSYMBOL(server_key), per_server_map);
|
||||
free(server_key);
|
||||
+
|
||||
+ pos++;
|
||||
}
|
||||
|
||||
return results_map;
|
||||
diff --git a/modules/FindLibMemcached.cmake b/modules/FindLibMemcached.cmake
|
||||
index 46bf5e5..07ee3bb 100644
|
||||
--- modules/FindLibMemcached.cmake
|
||||
+++ modules/FindLibMemcached.cmake
|
||||
@@ -6,7 +6,7 @@
|
||||
|
||||
FIND_PATH(LIBMEMCACHED_INCLUDE_DIR libmemcached/memcached.h)
|
||||
|
||||
-FIND_LIBRARY(LIBMEMCACHED_LIBRARY NAMES memcached PATH /usr/lib /usr/local/lib)
|
||||
+FIND_LIBRARY(LIBMEMCACHED_LIBRARY NAMES memcached libmemcached PATH /usr/lib /usr/local/lib)
|
||||
|
||||
IF(LIBMEMCACHED_INCLUDE_DIR AND LIBMEMCACHED_LIBRARY)
|
||||
SET(LIBMEMCACHED_FOUND 1)
|
@ -1,180 +0,0 @@
|
||||
From b53b3d8e66d3e4f173500f70ce2df45763b2e0b2 Mon Sep 17 00:00:00 2001
|
||||
From: Charles Ellis <hamled@gmail.com>
|
||||
Date: Mon, 21 May 2012 00:01:35 -0700
|
||||
Subject: [PATCH] Further Memcached compatibility fixes
|
||||
|
||||
The Memcached addon is now compatible with the API for libmemcached 1.0
|
||||
throughout. The stats method also sets the error state if errors were
|
||||
encountered.
|
||||
---
|
||||
addons/Memcached/source/IoMemcached.c | 49 +++++++++++++++++++++--------------
|
||||
1 file changed, 29 insertions(+), 20 deletions(-)
|
||||
|
||||
diff --git a/addons/Memcached/source/IoMemcached.c b/addons/Memcached/source/IoMemcached.c
|
||||
index aa3fe67..0d0dfb4 100644
|
||||
--- addons/Memcached/source/IoMemcached.c
|
||||
+++ addons/Memcached/source/IoMemcached.c
|
||||
@@ -105,7 +105,7 @@ Returns self.
|
||||
*/
|
||||
IoObject *IoMemcached_addServer(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
{
|
||||
- memcached_server_st *server;
|
||||
+ memcached_server_list_st server;
|
||||
|
||||
server = memcached_servers_parse(IoMessage_locals_cStringArgAt_(m, locals, 0));
|
||||
memcached_server_push(DATA(self)->mc, server);
|
||||
@@ -132,7 +132,7 @@ IoObject *IoMemcached_set(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
size_t size;
|
||||
char *cvalue = IoMemcached_serialize(self, locals, value, &size, &flags);
|
||||
|
||||
- memcached_return rc;
|
||||
+ memcached_return_t rc;
|
||||
rc = memcached_set(DATA(self)->mc,
|
||||
CSTRING(key), IOSEQ_LENGTH(key),
|
||||
cvalue, size,
|
||||
@@ -164,7 +164,7 @@ IoObject *IoMemcached_add(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
size_t size;
|
||||
char *cvalue = IoMemcached_serialize(self, locals, value, &size, &flags);
|
||||
|
||||
- memcached_return rc;
|
||||
+ memcached_return_t rc;
|
||||
rc = memcached_add(DATA(self)->mc,
|
||||
CSTRING(key), IOSEQ_LENGTH(key),
|
||||
cvalue, size,
|
||||
@@ -200,7 +200,7 @@ IoObject *IoMemcached_replace(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
size_t size;
|
||||
char *cvalue = IoMemcached_serialize(self, locals, value, &size, &flags);
|
||||
|
||||
- memcached_return rc;
|
||||
+ memcached_return_t rc;
|
||||
rc = memcached_replace(DATA(self)->mc,
|
||||
CSTRING(key), IOSEQ_LENGTH(key),
|
||||
cvalue, size,
|
||||
@@ -230,7 +230,7 @@ IoObject *IoMemcached_append(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
IoSeq *key = IoMessage_locals_seqArgAt_(m, locals, 0);
|
||||
IoSeq *value = IoMessage_locals_seqArgAt_(m, locals, 1);
|
||||
|
||||
- memcached_return rc;
|
||||
+ memcached_return_t rc;
|
||||
rc = memcached_append(DATA(self)->mc,
|
||||
CSTRING(key), IOSEQ_LENGTH(key),
|
||||
CSTRING(value), IOSEQ_LENGTH(value),
|
||||
@@ -254,7 +254,7 @@ IoObject *IoMemcached_prepend(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
IoSeq *key = IoMessage_locals_seqArgAt_(m, locals, 0);
|
||||
IoSeq *value = IoMessage_locals_seqArgAt_(m, locals, 1);
|
||||
|
||||
- memcached_return rc;
|
||||
+ memcached_return_t rc;
|
||||
rc = memcached_prepend(DATA(self)->mc,
|
||||
CSTRING(key), IOSEQ_LENGTH(key),
|
||||
CSTRING(value), IOSEQ_LENGTH(value),
|
||||
@@ -279,7 +279,7 @@ IoObject *IoMemcached_get(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
|
||||
size_t size;
|
||||
uint32_t flags;
|
||||
- memcached_return rc;
|
||||
+ memcached_return_t rc;
|
||||
|
||||
char *cvalue;
|
||||
cvalue = memcached_get(DATA(self)->mc,
|
||||
@@ -322,7 +322,7 @@ IoObject *IoMemcached_getMulti(IoMemcached *self, IoObject *locals, IoMessage *m
|
||||
IOASSERT(IOSEQ_LENGTH(key) < MEMCACHED_MAX_KEY, "key is too long");
|
||||
}
|
||||
|
||||
- char **ckeys = (char **) malloc(sizeof(char *) * keys_list_size);
|
||||
+ const char **ckeys = (const char **) malloc(sizeof(const char *) * keys_list_size);
|
||||
size_t *ckey_lengths = (size_t *) malloc(sizeof(size_t) * keys_list_size);
|
||||
|
||||
for(i = 0; i < keys_list_size; i++) {
|
||||
@@ -330,7 +330,7 @@ IoObject *IoMemcached_getMulti(IoMemcached *self, IoObject *locals, IoMessage *m
|
||||
ckey_lengths[i] = strlen(ckeys[i]);
|
||||
}
|
||||
|
||||
- memcached_return rc = memcached_mget(DATA(self)->mc, ckeys, ckey_lengths, keys_list_size);
|
||||
+ memcached_return_t rc = memcached_mget(DATA(self)->mc, ckeys, ckey_lengths, keys_list_size);
|
||||
|
||||
free(ckeys);
|
||||
free(ckey_lengths);
|
||||
@@ -377,7 +377,7 @@ IoObject *IoMemcached_delete(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
|
||||
time_t time = IoMessage_argCount(m) == 2 ? IoMessage_locals_intArgAt_(m, locals, 1) : 0;
|
||||
|
||||
- memcached_return rc;
|
||||
+ memcached_return_t rc;
|
||||
rc = memcached_delete(DATA(self)->mc,
|
||||
CSTRING(key), IOSEQ_LENGTH(key),
|
||||
time
|
||||
@@ -423,7 +423,7 @@ IoObject *IoMemcached_incr(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
|
||||
uint64_t new_value;
|
||||
|
||||
- memcached_return rc;
|
||||
+ memcached_return_t rc;
|
||||
rc = memcached_increment(DATA(self)->mc,
|
||||
CSTRING(key), IOSEQ_LENGTH(key),
|
||||
offset, &new_value
|
||||
@@ -451,7 +451,7 @@ IoObject *IoMemcached_decr(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
|
||||
uint64_t new_value;
|
||||
|
||||
- memcached_return rc;
|
||||
+ memcached_return_t rc;
|
||||
rc = memcached_decrement(DATA(self)->mc,
|
||||
CSTRING(key), IOSEQ_LENGTH(key),
|
||||
offset, &new_value
|
||||
@@ -472,11 +472,11 @@ values are maps with actual stats.
|
||||
IoObject *IoMemcached_stats(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
{
|
||||
IoMap *results_map = IoMap_new(IOSTATE);
|
||||
- memcached_st *mc = DATA(self)->mc;
|
||||
|
||||
+ int errors = 0;
|
||||
uint32_t pos = 0;
|
||||
- while(pos < memcached_server_count(mc)) {
|
||||
- memcached_server_instance_st server = memcached_server_instance_by_position(mc, pos);
|
||||
+ while(pos < memcached_server_count(DATA(self)->mc)) {
|
||||
+ memcached_server_instance_st server = memcached_server_instance_by_position(DATA(self)->mc, pos);
|
||||
if(server == NULL)
|
||||
continue;
|
||||
|
||||
@@ -485,19 +485,25 @@ IoObject *IoMemcached_stats(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
|
||||
memcached_stat_st stats;
|
||||
memcached_return_t rc = memcached_stat_servername(&stats, "", hostname, port);
|
||||
- if(rc != MEMCACHED_SUCCESS)
|
||||
+ if(rc != MEMCACHED_SUCCESS) {
|
||||
+ errors++;
|
||||
continue;
|
||||
+ }
|
||||
|
||||
- char **ckeys = memcached_stat_get_keys(mc, &stats, &rc);
|
||||
- if(rc != MEMCACHED_SUCCESS)
|
||||
+ char **ckeys = memcached_stat_get_keys(DATA(self)->mc, &stats, &rc);
|
||||
+ if(rc != MEMCACHED_SUCCESS) {
|
||||
+ errors++;
|
||||
continue;
|
||||
+ }
|
||||
|
||||
IoMap *per_server_map = IoMap_new(IOSTATE);
|
||||
char *ckey = *ckeys;
|
||||
while(ckey != NULL) {
|
||||
- char *cvalue = memcached_stat_get_value(mc, &stats, ckey, &rc);
|
||||
- if(rc != MEMCACHED_SUCCESS)
|
||||
+ char *cvalue = memcached_stat_get_value(DATA(self)->mc, &stats, ckey, &rc);
|
||||
+ if(rc != MEMCACHED_SUCCESS) {
|
||||
+ errors++;
|
||||
continue;
|
||||
+ }
|
||||
|
||||
IoMap_rawAtPut(per_server_map, IOSYMBOL(ckey), IOSYMBOL(cvalue));
|
||||
free(cvalue);
|
||||
@@ -516,6 +522,9 @@ IoObject *IoMemcached_stats(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
pos++;
|
||||
}
|
||||
|
||||
+ if(errors > 0)
|
||||
+ IoState_error_(IOSTATE, m, memcached_strerror(DATA(self)->mc, MEMCACHED_SOME_ERRORS));
|
||||
+
|
||||
return results_map;
|
||||
}
|
||||
|
@ -1,25 +0,0 @@
|
||||
From 0b4f7e75e80bf25d382901f098b60c724e0dd6b3 Mon Sep 17 00:00:00 2001
|
||||
From: Kyle Marek-Spartz <zeckalpha@gmail.com>
|
||||
Date: Sat, 1 Feb 2014 09:23:43 -0600
|
||||
Subject: [PATCH] Changed type to get memcached >= 1.0.17 to compile. Still
|
||||
gives warning for: io/addons/Memcached/source/IoMemcached.c:46:2: warning:
|
||||
implicit declaration of function IoState_registerProtoWithFunc_ is invalid in
|
||||
C99
|
||||
|
||||
---
|
||||
addons/Memcached/source/IoMemcached.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/addons/Memcached/source/IoMemcached.c b/addons/Memcached/source/IoMemcached.c
|
||||
index 0d0dfb4..a4f3901 100644
|
||||
--- addons/Memcached/source/IoMemcached.c
|
||||
+++ addons/Memcached/source/IoMemcached.c
|
||||
@@ -476,7 +476,7 @@ IoObject *IoMemcached_stats(IoMemcached *self, IoObject *locals, IoMessage *m)
|
||||
int errors = 0;
|
||||
uint32_t pos = 0;
|
||||
while(pos < memcached_server_count(DATA(self)->mc)) {
|
||||
- memcached_server_instance_st server = memcached_server_instance_by_position(DATA(self)->mc, pos);
|
||||
+ const memcached_instance_st *server = memcached_server_instance_by_position(DATA(self)->mc, pos);
|
||||
if(server == NULL)
|
||||
continue;
|
||||
|
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user