libjson: add svn versions with patch needed for elmdentica
authorMartin Jansa <Martin.Jansa@gmail.com>
Fri, 25 Jun 2010 08:23:58 +0000 (10:23 +0200)
committerMartin Jansa <Martin.Jansa@gmail.com>
Fri, 25 Jun 2010 08:25:01 +0000 (10:25 +0200)
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
recipes/libjson/libjson/json-c-longlongint.patch [new file with mode: 0644]
recipes/libjson/libjson_svn.bb [new file with mode: 0644]

diff --git a/recipes/libjson/libjson/json-c-longlongint.patch b/recipes/libjson/libjson/json-c-longlongint.patch
new file mode 100644 (file)
index 0000000..5d68249
--- /dev/null
@@ -0,0 +1,112 @@
+Index: jsonjson_object_private.h
+===================================================================
+--- json.old/json_object_private.h     (revision 55)
++++ json/json_object_private.h (working copy)
+@@ -30,7 +30,7 @@
+   union data {
+     boolean c_boolean;
+     double c_double;
+-    int c_int;
++    long long int c_int;
+     struct lh_table *c_object;
+     struct array_list *c_array;
+     char *c_string;
+Index: jsonjson_object.c
+===================================================================
+--- json.old/json_object.c     (revision 55)
++++ json/json_object.c (working copy)
+@@ -319,10 +319,10 @@
+ static int json_object_int_to_json_string(struct json_object* jso,
+                                         struct printbuf *pb)
+ {
+-  return sprintbuf(pb, "%d", jso->o.c_int);
++  return sprintbuf(pb, "%lld", jso->o.c_int);
+ }
+-struct json_object* json_object_new_int(int i)
++struct json_object* json_object_new_int(long long int i)
+ {
+   struct json_object *jso = json_object_new(json_type_int);
+   if(!jso) return NULL;
+@@ -331,20 +331,20 @@
+   return jso;
+ }
+-int json_object_get_int(struct json_object *jso)
++long long int json_object_get_int(struct json_object *jso)
+ {
+-  int cint;
++  long long int cint;
+   if(!jso) return 0;
+   switch(jso->o_type) {
+   case json_type_int:
+     return jso->o.c_int;
+   case json_type_double:
+-    return (int)jso->o.c_double;
++    return (long long int)jso->o.c_double;
+   case json_type_boolean:
+     return jso->o.c_boolean;
+   case json_type_string:
+-    if(sscanf(jso->o.c_string, "%d", &cint) == 1) return cint;
++    if(sscanf(jso->o.c_string, "%lld", &cint) == 1) return cint;
+   default:
+     return 0;
+   }
+Index: jsonjson_tokener.c
+===================================================================
+--- json.old/json_tokener.c    (revision 55)
++++ json/json_tokener.c        (working copy)
+@@ -542,9 +542,9 @@
+           printbuf_memappend_fast(tok->pb, case_start, case_len);
+       }
+       {
+-        int numi;
++        long long int numi;
+         double numd;
+-        if(!tok->is_double && sscanf(tok->pb->buf, "%d", &numi) == 1) {
++        if(!tok->is_double && sscanf(tok->pb->buf, "%lld", &numi) == 1) {
+           current = json_object_new_int(numi);
+         } else if(tok->is_double && sscanf(tok->pb->buf, "%lf", &numd) == 1) {
+           current = json_object_new_double(numd);
+Index: jsonjson_object.h
+===================================================================
+--- json.old/json_object.h     (revision 55)
++++ json/json_object.h (working copy)
+@@ -252,18 +252,18 @@
+  * @param i the integer
+  * @returns a json_object of type json_type_int
+  */
+-extern struct json_object* json_object_new_int(int i);
++extern struct json_object* json_object_new_int(long long int i);
+-/** Get the int value of a json_object
++/** Get the long long int value of a json_object
+  *
+  * The type is coerced to a int if the passed object is not a int.
+  * double objects will return their integer conversion. Strings will be
+  * parsed as an integer. If no conversion exists then 0 is returned.
+  *
+  * @param obj the json_object instance
+- * @returns an int
++ * @returns a long long int
+  */
+-extern int json_object_get_int(struct json_object *obj);
++extern long long int json_object_get_int(struct json_object *obj);
+ /* double type methods */
+Index: jsonChangeLog
+===================================================================
+--- json.old/ChangeLog (revision 55)
++++ json/ChangeLog     (working copy)
+@@ -8,6 +8,9 @@
+     Brent Miller, bdmiller at yahoo dash inc dot com
+   * Correction to comment describing printbuf_memappend in printbuf.h
+     Brent Miller, bdmiller at yahoo dash inc dot com
++  * Use long long int instead of plain int for integers (needed for stuff like
++    twitter, which has some long long ints in it's status IDs
++    Rui Miguel Seabra, rms at 1407 dot org
+ 0.9
+   * Add README.html README-WIN32.html config.h.win32 to Makefile.am
diff --git a/recipes/libjson/libjson_svn.bb b/recipes/libjson/libjson_svn.bb
new file mode 100644 (file)
index 0000000..71c243d
--- /dev/null
@@ -0,0 +1,17 @@
+DESCRIPTION = "json C library"
+AUTHOR = "Michael Clark and C. Watford"
+HOMEPAGE = "http://oss.metaparadigm.com/json-c/"
+SECTION = "libs"
+LICENSE = "MIT/X11"
+PV = "0.9+svnr${SRCPV}"
+
+SRC_URI = "svn://svn.metaparadigm.com/svn/json-c/;module=trunk;proto=http \
+           file://json-c-longlongint.patch"
+
+SRCREV = "55"
+S = "${WORKDIR}/trunk"
+
+inherit autotools
+
+DEFAULT_PREFERENCE = "-1"
+DEFAULT_PREFERENCE_shr = "1"