xmake.lua 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. package("libx11")
  2. set_homepage("https://www.x.org/")
  3. set_description("X.Org: Core X11 protocol client library")
  4. set_urls("https://www.x.org/archive/individual/lib/libX11-$(version).tar.gz")
  5. add_versions("1.6.9", "b8c0930a9b25de15f3d773288cacd5e2f0a4158e194935615c52aeceafd1107b")
  6. add_versions("1.7.0", "c48ec61785ec68fc6a9a6aca0a9578393414fe2562e3cc9cca30234345c7b6ac")
  7. add_versions("1.7.3", "029acf61e7e760a3150716b145a58ce5052ee953e8cccc8441d4f550c420debb")
  8. add_versions("1.8.1", "d52f0a7c02a45449f37b0831d99ff936d92eb4ce8b4c97dc17a63cea79ce5a76")
  9. add_versions("1.8.7", "793ebebf569f12c864b77401798d38814b51790fce206e01a431e5feb982e20b")
  10. add_versions("1.8.12", "220fbcf54b6e4d8dc40076ff4ab87954358019982490b33c7802190b62d89ce1")
  11. if is_plat("linux") then
  12. add_extsources("apt::libx11-dev", "pacman::libx11")
  13. elseif is_plat("macosx") then
  14. add_extsources("brew::libx11")
  15. end
  16. if is_plat("linux", "bsd", "cross") then
  17. add_syslinks("dl")
  18. end
  19. add_configs("shared", {description = "Build shared library.", default = true, type = "boolean"})
  20. if is_plat("macosx", "linux", "bsd", "cross") then
  21. add_deps("pkg-config", "util-macros", "xtrans", "libxcb", "xorgproto")
  22. end
  23. if is_plat("macosx") then
  24. -- fix sed: RE error: illegal byte sequence
  25. add_deps("gnu-sed")
  26. end
  27. on_install("macosx", "linux", "bsd", "cross", function (package)
  28. local configs = {"--sysconfdir=" .. package:installdir("etc"),
  29. "--localstatedir=" .. package:installdir("var"),
  30. "--disable-dependency-tracking",
  31. "--disable-silent-rules",
  32. "--enable-unix-transport",
  33. "--enable-tcp-transport",
  34. "--enable-ipv6",
  35. "--enable-loadable-i18n",
  36. "--enable-xthreads",
  37. "--enable-specs=no"}
  38. table.insert(configs, "--enable-static=" .. (package:config("shared") and "no" or "yes"))
  39. table.insert(configs, "--enable-shared=" .. (package:config("shared") and "yes" or "no"))
  40. if package:config("pic") then
  41. table.insert(configs, "--with-pic")
  42. end
  43. if package:is_plat("cross") then
  44. table.insert(configs, "--disable-malloc0returnsnull")
  45. end
  46. import("package.tools.autoconf").install(package, configs)
  47. end)
  48. on_test(function (package)
  49. assert(package:has_cfuncs("XOpenDisplay", {includes = "X11/Xlib.h"}))
  50. end)