xmake.lua 1.3 KB

12345678910111213141516171819202122232425262728
  1. package("gobject-introspection")
  2. set_homepage("https://gi.readthedocs.io/en/latest/")
  3. set_description("GObject introspection is a middleware layer between C libraries (using GObject) and language bindings.")
  4. set_license("LGPL-2.0")
  5. add_urls("https://download.gnome.org/sources/gobject-introspection/$(version).tar.xz", {version = function (version)
  6. return format("%d.%d/gobject-introspection-%s", version:major(), version:minor(), version)
  7. end})
  8. add_versions("1.70.0", "902b4906e3102d17aa2fcb6dad1c19971c70f2a82a159ddc4a94df73a3cafc4a")
  9. add_configs("shared", {description = "Build shared library.", default = true, type = "boolean", readonly = true})
  10. if is_plat("linux") then
  11. add_extsources("apt::libgirepository1.0-dev", "pacman::gobject-introspection-runtime")
  12. end
  13. add_deps("meson", "ninja", "pkg-config", "python 3.x", "flex", "bison")
  14. add_deps("glib", {configs = {shared = true}})
  15. add_includedirs("include/gobject-introspection-1.0")
  16. on_install("macosx", "linux", function (package)
  17. import("package.tools.meson").install(package)
  18. package:addenv("PATH", "bin")
  19. end)
  20. on_test(function (package)
  21. assert(package:has_cfuncs("g_irepository_get_default", {includes = "girepository.h"}))
  22. end)