xmake.lua 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. package("ncurses")
  2. set_homepage("https://www.gnu.org/software/ncurses/")
  3. set_description("A free software emulation of curses.")
  4. add_urls("https://ftpmirror.gnu.org/ncurses/ncurses-$(version).tar.gz",
  5. "https://ftp.gnu.org/pub/gnu/ncurses/ncurses-$(version).tar.gz",
  6. "https://invisible-mirror.net/archives/ncurses/ncurses-$(version).tar.gz")
  7. add_versions("6.1", "aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17")
  8. add_versions("6.2", "30306e0c76e0f9f1f0de987cf1c82a5c21e1ce6568b9227f7da5b71cbea86c9d")
  9. add_versions("6.3", "97fc51ac2b085d4cde31ef4d2c3122c21abc217e9090a43a30fc5ec21684e059")
  10. add_configs("widec", {description = "Compile with wide-char/UTF-8 code.", default = true, type = "boolean"})
  11. on_load(function (package)
  12. if package:config("widec") then
  13. package:add("links", "ncursesw", "formw", "panelw", "menuw")
  14. package:add("includedirs", "include/ncursesw", "include")
  15. else
  16. package:add("links", "ncurses", "form", "panel", "menu")
  17. package:add("includedirs", "include/ncurses", "include")
  18. end
  19. end)
  20. on_install("linux", "macosx", "bsd", function (package)
  21. local configs = {"--without-manpages", "--enable-sigwinch", "--with-gpm=no"}
  22. table.insert(configs, "--with-debug=" .. (package:debug() and "yes" or "no"))
  23. if package:config("widec") then
  24. table.insert(configs, "--enable-widec")
  25. end
  26. if package:config("shared") then
  27. table.insert(configs, "--with-shared")
  28. end
  29. import("package.tools.autoconf").install(package, configs, {arflags = {"-curvU"}})
  30. end)
  31. on_test(function (package)
  32. assert(package:has_cfuncs("initscr", {includes = "curses.h"}))
  33. end)