xmake.lua 1.4 KB

1234567891011121314151617181920212223242526272829303132
  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.0", "447890f9de2a04c312871768208f6c8aeec4069392af7605bc77e61165dcb374")
  7. add_versions("1.9.2", "277c3b7fc98712e30115ee3a60c3eac8acc34570cb98d3ff78de85ed804e0c80")
  8. add_patches("1.9.2", "patches/1.9.2/add_brace_to_json_scanner.patch", "5d77c14d25ad24a911d28d51e9defee9a3c382428dc3e23101f6319fc46b227c")
  9. add_deps("glib", "meson", "ninja")
  10. if is_plat("linux") then
  11. add_syslinks("pthread")
  12. end
  13. add_includedirs("include", "include/json-glib-1.0")
  14. on_install("linux", function (package)
  15. local configs = {"-Ddocumentation=disabled", "-Dtests=false", "-Dgtk_doc=disabled", "-Dman=false"}
  16. table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
  17. import("package.tools.meson").install(package, configs, {packagedeps = {"libiconv"}})
  18. end)
  19. on_test(function (package)
  20. assert(package:check_csnippets({test = [[
  21. void test() {
  22. JsonParser *parser = json_parser_new ();
  23. }
  24. ]]}, {includes = "json-glib/json-glib.h"}))
  25. end)