xmake.lua 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package("rhash")
  2. set_homepage("http://rhash.sourceforge.net/")
  3. set_description("RHash (Recursive Hasher) is a console utility for computing and verifying hash sums of files.")
  4. add_urls("https://sourceforge.net/projects/rhash/files/rhash/$(version)/rhash-$(version)-src.tar.gz")
  5. add_urls("https://github.com/rhash/RHash/archive/refs/tags/v$(version).tar.gz")
  6. add_versions("1.4.6", "9f6019cfeeae8ace7067ad22da4e4f857bb2cfa6c2deaa2258f55b2227ec937a")
  7. add_versions("1.4.5", "6db837e7bbaa7c72c5fd43ca5af04b1d370c5ce32367b9f6a1f7b49b2338c09a")
  8. add_versions("1.4.4", "8e7d1a8ccac0143c8fe9b68ebac67d485df119ea17a613f4038cda52f84ef52a")
  9. add_versions("1.4.2", "600d00f5f91ef04194d50903d3c79412099328c42f28ff43a0bdb777b00bec62")
  10. add_configs("gettext", {description = "Enable gettext (localization) support.", default = false, type = "boolean"})
  11. add_configs("openssl", {description = "Enable OpenSSL (optimized hash functions) support.", default = false, type = "boolean"})
  12. on_load(function (package)
  13. if package:config("gettext") and package:is_plat("macosx") then
  14. package:add("deps", "libintl")
  15. end
  16. if package:config("openssl") then
  17. package:add("deps", "openssl")
  18. end
  19. end)
  20. on_install("linux", function (package)
  21. io.replace("Makefile", "install-lib-shared: $(LIBRHASH_SHARED)", "install-lib-shared: $(LIBRHASH_SHARED) install-lib-headers install-lib-so-link", {plain = true})
  22. local configs = {"--disable-openssl-runtime"}
  23. table.insert(configs, (package:config("shared") and "--enable" or "--disable") .. "-lib-shared")
  24. table.insert(configs, (package:config("shared") and "--disable" or "--enable") .. "-lib-static")
  25. table.insert(configs, (package:config("shared") and "--disable" or "--enable") .. "-static")
  26. table.insert(configs, (package:config("gettext") and "--enable" or "--disable") .. "-gettext")
  27. table.insert(configs, (package:config("openssl") and "--enable" or "--disable") .. "-openssl")
  28. import("package.tools.autoconf").install(package, configs)
  29. package:addenv("PATH", "bin")
  30. end)
  31. on_test(function (package)
  32. os.vrun("rhash --version")
  33. assert(package:has_cfuncs("rhash_library_init", {includes = "rhash.h"}))
  34. end)