xmake.lua 2.2 KB

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