xmake.lua 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. package("libsm")
  2. set_homepage("https://gitlab.freedesktop.org/xorg/lib/libsm")
  3. set_description("X.Org: X Session Management Library")
  4. add_urls("https://www.x.org/archive/individual/lib/libSM-$(version).tar.gz")
  5. add_versions("1.2.3", "1e92408417cb6c6c477a8a6104291001a40b3bb56a4a60608fdd9cd2c5a0f320")
  6. add_versions("1.2.6", "166b4b50d606cdd83f1ddc61b5b9162600034f848b3e32ccbb0e63536b7d6cdd")
  7. if is_plat("linux") then
  8. add_extsources("apt::libsm-dev", "pacman::libsm")
  9. end
  10. add_deps("libice", "xtrans")
  11. on_install("macosx", "linux", function (package)
  12. local configs = {"--sysconfdir=" .. package:installdir("etc"),
  13. "--localstatedir=" .. package:installdir("var"),
  14. "--disable-dependency-tracking",
  15. "--disable-silent-rules",
  16. "--enable-docs=no",
  17. "--enable-specs=no"}
  18. -- fix missing xtrans includedir on some linux platforms
  19. local cflags = {}
  20. for _, dep in ipairs(package:orderdeps()) do
  21. local fetchinfo = dep:fetch()
  22. if fetchinfo then
  23. for _, includedir in ipairs(fetchinfo.includedirs or fetchinfo.sysincludedirs) do
  24. table.insert(cflags, "-I" .. includedir)
  25. end
  26. end
  27. end
  28. import("package.tools.autoconf").install(package, configs, {cflags = cflags})
  29. end)
  30. on_test(function (package)
  31. assert(package:has_cfuncs("SmcOpenConnection", {includes = "X11/SM/SMlib.h"}))
  32. end)