xmake.lua 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. package("pciutils")
  2. set_homepage("https://mj.ucw.cz/sw/pciutils/")
  3. set_description("The PCI Utilities")
  4. set_license("GPL-2.0")
  5. add_urls("https://mj.ucw.cz/download/linux/pci/pciutils-$(version).tar.gz")
  6. add_versions("3.7.0", "08c27e01030d1fcc700d02bc2ea66c638f58a3d150e45e58852aa82ad4160d84")
  7. add_versions("3.10.0", "7deabe38ae5fa88a96a8c4947975cf31c591506db546e9665a10dddbf350ead0")
  8. if is_plat("macosx") then
  9. add_frameworks("IOKit")
  10. end
  11. add_deps("zlib")
  12. add_deps("libudev", {system = true, optional = true})
  13. on_install("macosx", "linux", function (package)
  14. local configs = {"ZLIB=yes"}
  15. table.insert(configs, "SHARED=" .. (package:config("shared") and "yes" or "no"))
  16. table.insert(configs, "PREFIX=" .. package:installdir())
  17. local cflags = {}
  18. local ldflags = {}
  19. for _, dep in ipairs(package:orderdeps()) do
  20. local fetchinfo = dep:fetch()
  21. if fetchinfo then
  22. for _, includedir in ipairs(fetchinfo.includedirs or fetchinfo.sysincludedirs) do
  23. table.insert(cflags, "-I" .. includedir)
  24. end
  25. for _, linkdir in ipairs(fetchinfo.linkdirs) do
  26. table.insert(ldflags, "-L" .. linkdir)
  27. end
  28. end
  29. end
  30. import("package.tools.make").build(package, configs, {cflags = cflags, ldflags = ldflags})
  31. os.vrunv("make", table.join({"install"}, configs))
  32. os.vrunv("make", table.join({"install-lib"}, configs))
  33. package:addenv("PATH", "sbin")
  34. end)
  35. on_test(function (package)
  36. assert(package:has_cfuncs("pci_init", {includes = "pci/pci.h"}))
  37. end)