Ver código fonte

add json_glib repo (#4966)

* add json_glib repo

* add dep libiconv

* add libiconv to meson install
benny066567 1 ano atrás
pai
commit
485366806f

+ 22 - 0
packages/j/json-glib/patches/1.9.2/add_brace_to_json_scanner.patch

@@ -0,0 +1,22 @@
+diff --git a/json-glib/json-scanner.c b/json-glib/json-scanner.c
+index 4ada646..119c3fa 100644
+--- a/json-glib/json-scanner.c
++++ b/json-glib/json-scanner.c
+@@ -888,7 +888,7 @@ json_scanner_get_token_ll (JsonScanner    *scanner,
+ 			  gstring = g_string_append_c (gstring, '\f');
+ 			  break;
+ 
+-                        case 'u':
++                        case 'u':{
+                           guint fchar = json_scanner_peek_next_char (scanner);
+                           if (is_hex_digit (fchar))
+                             {
+@@ -994,7 +994,7 @@ json_scanner_get_token_ll (JsonScanner    *scanner,
+                               gstring = NULL;
+                             }
+                           break;
+-			  
++                        }
+ 			default:
+                           token = JSON_TOKEN_ERROR;
+                           value.v_error = JSON_ERROR_TYPE_UNESCAPED_CTRL;

+ 28 - 0
packages/j/json-glib/xmake.lua

@@ -0,0 +1,28 @@
+package("json-glib")
+
+    set_homepage("https://gitlab.gnome.org/GNOME/json-glib")
+    set_description("JSON-GLib implements a full suite of JSON-related tools using GLib and GObject.")
+    set_license("LGPL-2.1")
+
+    add_urls("https://github.com/GNOME/json-glib/archive/refs/tags/$(version).tar.gz")
+    add_versions("1.9.2", "277c3b7fc98712e30115ee3a60c3eac8acc34570cb98d3ff78de85ed804e0c80")
+
+
+    add_patches("1.9.2", "patches/1.9.2/add_brace_to_json_scanner.patch", "5d77c14d25ad24a911d28d51e9defee9a3c382428dc3e23101f6319fc46b227c")
+    add_deps("glib", "meson", "ninja")
+
+    add_includedirs("include", "include/json-glib-1.0")
+
+    on_install("linux", function (package)
+        local configs = {"-Ddocumentation=disabled", "-Dtests=false", "-Dgtk_doc=disabled", "-Dman=false"}
+        table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
+        import("package.tools.meson").install(package, configs, {packagedeps = {"libiconv"}})
+    end)
+
+    on_test(function (package)
+        assert(package:check_csnippets({test = [[
+            void test() {
+                JsonParser *parser = json_parser_new ();
+            }
+        ]]}, {includes = "json-glib/json-glib.h"}))
+    end)