xmake.lua 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. package("liba52")
  2. set_homepage("https://liba52.sourceforge.io")
  3. set_description("Library for decoding ATSC A/52 (AC-3) audio streams")
  4. set_license("GPL-2.0-or-later")
  5. add_urls("https://git.adelielinux.org/community/a52dec/-/archive/$(version)/a52dec-$(version).tar.bz2",
  6. "https://git.adelielinux.org/community/a52dec.git",
  7. "https://code.videolan.org/videolan/liba52.git",
  8. "https://github.com/Distrotech/a52dec.git")
  9. add_versions("v0.8.0", "d4f26685d32a8c85f86a5cb800554160fb85400298a0a27151c3d1e63a170943")
  10. add_configs("tools", {description = "Build tools", default = false, type = "boolean"})
  11. if is_plat("mingw") and is_subhost("msys") then
  12. add_extsources("pacman::a52dec")
  13. elseif is_plat("linux") then
  14. add_extsources("pacman::a52dec", "apt::liba52-dev")
  15. elseif is_plat("macosx") then
  16. add_extsources("brew::a52dec")
  17. end
  18. if is_plat("windows", "mingw") then
  19. add_syslinks("winmm")
  20. elseif is_plat("linux", "bsd") then
  21. add_syslinks("m")
  22. end
  23. on_load("windows", function (package)
  24. if package:config("tools") then
  25. package:add("deps", "strings_h", {private = true})
  26. end
  27. end)
  28. on_install(function (package)
  29. os.cp(path.join(package:scriptdir(), "port", "config.h.in"), "config.h.in")
  30. os.cp(path.join(package:scriptdir(), "port", "xmake.lua"), "xmake.lua")
  31. import("package.tools.xmake").install(package, {tools = package:config("tools")})
  32. end)
  33. on_test(function (package)
  34. assert(package:has_cfuncs("a52_init", {includes = {"inttypes.h", "a52dec/a52.h"}}))
  35. end)