xmake.lua 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. package("strawberry-perl")
  2. set_kind("binary")
  3. set_homepage("http://strawberryperl.com/")
  4. set_description("Strawberry Perl is a perl environment for MS Windows containing all you need to run and develop perl applications.")
  5. if os.arch() == "x64" or os.arch() == "x86_64" then
  6. add_urls("https://github.com/xmake-mirror/strawberry-perl/releases/download/$(version)/strawberry-perl-$(version)-64bit.zip",
  7. {version = function (version) return version:gsub("%+", ".") end})
  8. add_urls("http://strawberryperl.com/download/$(version)/strawberry-perl-$(version)-64bit.zip",
  9. {version = function (version) return version:gsub("%+", ".") end})
  10. add_versions("5.32.0+1", "24601fdadd25f921501f04505895d2061a8d8ccfbe515241ceddbd2c372fe78e")
  11. else
  12. add_urls("https://github.com/xmake-mirror/strawberry-perl/releases/download/$(version)/strawberry-perl-$(version)-32bit.zip",
  13. {version = function (version) return version:gsub("%+", ".") end})
  14. add_urls("http://strawberryperl.com/download/$(version)/strawberry-perl-$(version)-32bit.zip",
  15. {version = function (version) return version:gsub("%+", ".") end})
  16. add_versions("5.32.0+1", "0888c87cb99e42a209f7d6b03fd3a72eda53c647b1c27060913e224f644ab866")
  17. end
  18. add_configs("mingw", {description = "Export built-in MinGW binaries.", default = false, type = "boolean"})
  19. on_fetch("@windows", function (package, opt)
  20. if opt.system then
  21. return package:find_tool("perl", {check = function()
  22. return os.iorunv("perl", {"-MFile::Spec::Functions=rel2abs", "-e", "print rel2abs('.')"})
  23. end})
  24. end
  25. end)
  26. on_install("@windows", "@msys", "@cygwin", function (package)
  27. os.mv("perl", package:installdir())
  28. os.mv("c", package:installdir())
  29. os.mv("reloc*", package:installdir())
  30. os.cd(package:installdir())
  31. os.vrun("relocation.pl.bat")
  32. package:addenv("PATH", path.join("perl", "bin"))
  33. if package:config("mingw") then
  34. package:addenv("PATH", path.join("c", "bin"))
  35. end
  36. end)
  37. on_test(function (package)
  38. os.vrun("perl -v")
  39. if package:config("mingw") then
  40. os.vrun("gcc -v")
  41. end
  42. end)