xmake.lua 1.4 KB

1234567891011121314151617181920212223242526272829303132
  1. package("libidn2")
  2. set_homepage("https://www.gnu.org/software/libidn/")
  3. set_description("Libidn2 is an implementation of the IDNA2008 + TR46 specifications.")
  4. set_license("LGPL-3.0")
  5. add_urls("https://ftpmirror.gnu.org/gnu/libidn/libidn2-$(version).tar.gz",
  6. "https://ftp.gnu.org/gnu/libidn/libidn2-$(version).tar.gz")
  7. add_versions("2.3.2", "76940cd4e778e8093579a9d195b25fff5e936e9dc6242068528b437a76764f91")
  8. add_versions("2.3.8", "f557911bf6171621e1f72ff35f5b1825bb35b52ed45325dcdee931e5d3c0787a")
  9. if is_plat("linux") then
  10. add_extsources("apt::libidn2-dev", "pacman::libidn2")
  11. end
  12. on_load(function (package)
  13. package:add("deps", "libunistring", "libiconv", { configs = {shared = package:config("shared")} })
  14. end)
  15. on_install("@!windows and !wasm", function (package)
  16. local configs = {"--disable-dependency-tracking", "--disable-doc"}
  17. table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
  18. table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
  19. if package:config("pic") ~= false then
  20. table.insert(configs, "--with-pic")
  21. end
  22. import("package.tools.autoconf").install(package, configs, {packagedeps = {"libunistring", "libiconv"}})
  23. end)
  24. on_test(function (package)
  25. assert(package:has_cfuncs("idn2_to_ascii_8z", {includes = "idn2.h"}))
  26. end)