12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package("qtifw")
- set_kind("binary")
- set_homepage("https://doc.qt.io/qtinstallerframework/")
- set_description("The Qt Installer Framework provides a set of tools and utilities to create installers for the supported desktop Qt platforms: Linux, Microsoft Windows, and macOS.")
- set_license("GPL-3")
- add_versions("4.7.0", "dummy")
- add_deps("aqt")
- on_fetch(function (package, opt)
- if opt.system then
- return import("lib.detect.find_tool")("binarycreator", {check = "--help"})
- end
- end)
- on_install("@windows", "@msys", "@macosx", function (package)
- local host
- if is_host("windows", "msys") then
- host = "windows"
- elseif is_host("linux") then
- host = "linux"
- elseif is_host("macosx") then
- host = "mac"
- else
- raise("unhandled host " .. os.host())
- end
- local target = "desktop"
- local version = package:version()
- local installdir = package:installdir()
- local qtifw_version = "qt.tools.ifw." .. version:major() .. version:minor()
- if is_host("windows") and (not is_subhost("msys")) then
- os.vrunv("aqt", {"install-tool", "-O", installdir, host, target, "tools_ifw", qtifw_version, "--external", "7z"})
- else
- os.vrunv("aqt", {"install-tool", "-O", installdir, host, target, "tools_ifw", qtifw_version})
- end
- os.mv(path.join(installdir, "Tools", "*", version:major() .. "." .. version:minor(), "*"), installdir)
- os.rmdir(path.join(installdir, "Tools"))
- end)
- on_test(function (package)
- local function assertbin(name)
- if is_host("windows") then
- name = name .. ".exe"
- end
- local exec = path.join(package:installdir(), "bin", name)
- assert(os.isexec(exec), name .. " not found!")
- end
- os.vrun("binarycreator --help")
- os.vrun("archivegen --help")
- os.vrun("devtool --help")
- assertbin("repogen")
- end)
|