diff options
Diffstat (limited to 'community/collectd')
-rw-r--r-- | community/collectd/PKGBUILD | 18 | ||||
-rw-r--r-- | community/collectd/yajl-2.x.patch | 57 |
2 files changed, 71 insertions, 4 deletions
diff --git a/community/collectd/PKGBUILD b/community/collectd/PKGBUILD index 9aefd46da..35134a563 100644 --- a/community/collectd/PKGBUILD +++ b/community/collectd/PKGBUILD @@ -1,10 +1,10 @@ -# $Id: PKGBUILD 45121 2011-04-16 15:59:33Z foutrelis $ +# $Id: PKGBUILD 45620 2011-04-26 00:57:42Z dreisner $ # Maintainer: Gaetan Bisson <bisson@archlinux.org> # Contributor: Gerhard Brauer <gerhard.brauer@web.de> pkgname=collectd pkgver=5.0.0 -pkgrel=2 +pkgrel=3 pkgdesc='Daemon which collects system performance statistics periodically' arch=('i686' 'x86_64' 'mips64el') url='http://collectd.org/' @@ -43,10 +43,12 @@ depends=('libtool') source=("${url}files/$pkgname-$pkgver.tar.gz" 'libnotify-0.7.patch' - 'rc.d') + 'rc.d' + 'yajl-2.x.patch') sha1sums=('026e5121348f0e525dedb3844fe61c7713994bb7' 'f6fed097c16f6c9c90b9a32a5b8e48d54b35b337' - '0f441718d5519cb043b1130e5a1d0379078adbcc') + '0f441718d5519cb043b1130e5a1d0379078adbcc' + '2586559fc8d2b54f3d242a3e815ed81e81e0341b') install=install @@ -54,9 +56,17 @@ build() { cd "$srcdir/$pkgname-$pkgver" unset LDFLAGS # or perl not found patch -p1 -i ../libnotify-0.7.patch + + # fixes for yajl 2.x API changes + patch -Np0 < "$srcdir/yajl-2.x.patch" + sed -i 's/ipt_error_target/bozo_error_target/g' src/owniptc/libiptc.c ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --enable-static=no --with-python=/usr/bin/python2 + + # avoid -Werror with gcc 4.6 + sed -i '/^AM_CFLAGS/s/ -Werror//' src/Makefile + make all } diff --git a/community/collectd/yajl-2.x.patch b/community/collectd/yajl-2.x.patch new file mode 100644 index 000000000..6cd208006 --- /dev/null +++ b/community/collectd/yajl-2.x.patch @@ -0,0 +1,57 @@ +--- src/curl_json.c 2011-04-25 20:43:00.972938855 -0400 ++++ src/curl_json.c 2011-04-25 20:46:03.859938860 -0400 +@@ -98,8 +98,7 @@ + return (0); + + status = yajl_parse(db->yajl, (unsigned char *)buf, len); +- if ((status != yajl_status_ok) +- && (status != yajl_status_insufficient_data)) ++ if ((status != yajl_status_ok)) + { + unsigned char *msg = + yajl_get_error(db->yajl, /* verbose = */ 1, +@@ -130,7 +129,7 @@ + /* "number" may not be null terminated, so copy it into a buffer before + * parsing. */ + static int cj_cb_number (void *ctx, +- const char *number, unsigned int number_len) ++ const char *number, size_t number_len) + { + char buffer[number_len + 1]; + +@@ -159,7 +158,7 @@ + } /* int cj_cb_number */ + + static int cj_cb_map_key (void *ctx, const unsigned char *val, +- unsigned int len) ++ size_t len) + { + cj_t *db = (cj_t *)ctx; + c_avl_tree_t *tree; +@@ -187,7 +186,7 @@ + } + + static int cj_cb_string (void *ctx, const unsigned char *val, +- unsigned int len) ++ size_t len) + { + cj_t *db = (cj_t *)ctx; + char str[len + 1]; +@@ -697,7 +696,7 @@ + char *url; + yajl_handle yprev = db->yajl; + +- db->yajl = yajl_alloc (&ycallbacks, NULL, NULL, (void *)db); ++ db->yajl = yajl_alloc (&ycallbacks, NULL, (void *)db); + if (db->yajl == NULL) + { + ERROR ("curl_json plugin: yajl_alloc failed."); +@@ -730,7 +729,7 @@ + return (-1); + } + +- status = yajl_parse_complete (db->yajl); ++ status = yajl_complete_parse (db->yajl); + if (status != yajl_status_ok) + { + unsigned char *errmsg; |