xmake.lua 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package("fontconfig")
  2. set_homepage("https://www.freedesktop.org/wiki/Software/fontconfig/")
  3. set_description("A library for configuring and customizing font access.")
  4. set_urls("https://www.freedesktop.org/software/fontconfig/release/fontconfig-$(version).tar.gz")
  5. add_versions("2.13.1", "9f0d852b39d75fc655f9f53850eb32555394f36104a044bb2b2fc9e66dbbfa7f")
  6. add_versions("2.13.93", "0f302a18ee52dde0793fe38b266bf269dfe6e0c0ae140e30d72c6cca5dc08db5")
  7. add_versions("2.13.94", "246d1640a7e54fba697b28e4445f4d9eb63dda1b511d19986249368ee7191882")
  8. add_versions("2.14.0", "b8f607d556e8257da2f3616b4d704be30fd73bd71e367355ca78963f9a7f0434")
  9. add_versions("2.14.2", "3ba2dd92158718acec5caaf1a716043b5aa055c27b081d914af3ccb40dce8a55")
  10. -- fix the build issue with --enable-static
  11. add_patches("2.13.1", "https://gitlab.freedesktop.org/fontconfig/fontconfig/commit/8208f99fa1676c42bfd8d74de3e9dac5366c150c.diff",
  12. "2abdff214b99f2d074170e6512b0149cc858ea26cd930690aa6b4ccea2c549ef")
  13. add_configs("nls", {description = "Enable Native Language Support (NLS)", default = false, type = "boolean"})
  14. add_deps("meson", "ninja", "freetype", "expat", "gperf")
  15. add_deps("python 3.x", {kind = "binary"})
  16. if is_plat("linux") then
  17. add_deps("pkg-config")
  18. end
  19. on_load("windows", "linux", "macosx", function (package)
  20. if package:config("nls") and not package:is_plat("linux") then
  21. package:add("deps", "libintl")
  22. end
  23. if package:is_plat("linux") and package:version():lt("2.13.91") then
  24. package:add("deps", "util-linux", {configs = {libuuid = true}})
  25. package:add("deps", "autoconf", "automake", "libtool", "bzip2")
  26. end
  27. end)
  28. on_install("windows", "linux", "macosx", function (package)
  29. if package:is_plat("windows") then
  30. io.replace("meson.build", "c_args = []", "c_args = ['-DXML_STATIC']", {plain = true})
  31. end
  32. local configs = {
  33. "-Dtests=disabled",
  34. "-Dtools=disabled",
  35. "-Ddoc=disabled"}
  36. table.insert(configs, "-Ddebug=" .. (package:debug() and "true" or "false"))
  37. table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static"))
  38. table.insert(configs, "-Dnls=" .. (package:config("nls") and "enabled" or "disabled"))
  39. import("package.tools.meson").install(package, configs)
  40. end)
  41. on_test(function (package)
  42. assert(package:has_cfuncs("FcInitLoadConfigAndFonts", {includes = "fontconfig/fontconfig.h"}))
  43. end)