xmake.lua 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637
  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.2", "600d00f5f91ef04194d50903d3c79412099328c42f28ff43a0bdb777b00bec62")
  7. add_configs("gettext", {description = "Enable gettext (localization) support.", default = false, type = "boolean"})
  8. add_configs("openssl", {description = "Enable OpenSSL (optimized hash functions) support.", default = false, type = "boolean"})
  9. on_load(function (package)
  10. if package:config("gettext") and package:is_plat("macosx") then
  11. package:add("deps", "libintl")
  12. end
  13. if package:config("openssl") then
  14. package:add("deps", "openssl")
  15. end
  16. end)
  17. on_install("linux", function (package)
  18. io.replace("Makefile", "install-lib-shared: $(LIBRHASH_SHARED)", "install-lib-shared: $(LIBRHASH_SHARED) install-lib-headers install-lib-so-link", {plain = true})
  19. local configs = {"--disable-openssl-runtime"}
  20. table.insert(configs, (package:config("shared") and "--enable" or "--disable") .. "-lib-shared")
  21. table.insert(configs, (package:config("shared") and "--disable" or "--enable") .. "-lib-static")
  22. table.insert(configs, (package:config("shared") and "--disable" or "--enable") .. "-static")
  23. table.insert(configs, (package:config("gettext") and "--enable" or "--disable") .. "-gettext")
  24. table.insert(configs, (package:config("openssl") and "--enable" or "--disable") .. "-openssl")
  25. import("package.tools.autoconf").install(package, configs)
  26. package:addenv("PATH", "bin")
  27. end)
  28. on_test(function (package)
  29. os.vrun("rhash --version")
  30. assert(package:has_cfuncs("rhash_library_init", {includes = "rhash.h"}))
  31. end)