2
0

xmake.lua 1.5 KB

123456789101112131415161718192021222324252627282930313233
  1. package("json-glib")
  2. set_homepage("https://gitlab.gnome.org/GNOME/json-glib")
  3. set_description("JSON-GLib implements a full suite of JSON-related tools using GLib and GObject.")
  4. set_license("LGPL-2.1")
  5. add_urls("https://github.com/GNOME/json-glib/archive/refs/tags/$(version).tar.gz")
  6. add_versions("1.10.6", "d23cbd4094a32cc05cf22cd87a83da1f799e182e286133b49fde3c9241a32006")
  7. add_versions("1.10.0", "447890f9de2a04c312871768208f6c8aeec4069392af7605bc77e61165dcb374")
  8. add_versions("1.9.2", "277c3b7fc98712e30115ee3a60c3eac8acc34570cb98d3ff78de85ed804e0c80")
  9. add_patches("1.9.2", "patches/1.9.2/add_brace_to_json_scanner.patch", "5d77c14d25ad24a911d28d51e9defee9a3c382428dc3e23101f6319fc46b227c")
  10. add_deps("glib", "meson", "ninja")
  11. if is_plat("linux") then
  12. add_syslinks("pthread")
  13. end
  14. add_includedirs("include", "include/json-glib-1.0")
  15. on_install("linux", function (package)
  16. local configs = {"-Ddocumentation=disabled", "-Dtests=false", "-Dgtk_doc=disabled", "-Dman=false"}
  17. table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
  18. import("package.tools.meson").install(package, configs, {packagedeps = {"libiconv"}})
  19. end)
  20. on_test(function (package)
  21. assert(package:check_csnippets({test = [[
  22. void test() {
  23. JsonParser *parser = json_parser_new ();
  24. }
  25. ]]}, {includes = "json-glib/json-glib.h"}))
  26. end)