123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121 |
- package("ultralight")
- set_homepage("https://ultralig.ht")
- set_description("Ultralight makes it easy for C/C++ developers to seamlessly integrate web-content into games and desktop apps.")
- set_license("LGPL")
- local versions = {
- ["1.3.0"] = "208d653"
- }
- if is_plat("windows") then
- if is_arch("x86_64", "x64") then
- add_urls("https://ultralight-sdk.sfo2.cdn.digitaloceanspaces.com/ultralight-sdk-$(version)-win-x64.7z", {alias = "release", version = function (version)
- return versions[tostring(version)]
- end})
- add_versions("release:1.3.0", "4fa7aadd1e4ba4a7dc04d17b1d82b37b141c6e4e7196501150486fa6ac1635c5")
- add_urls("https://github.com/xmake-mirror/Ultralight/releases/download/$(version)", {alias = "mirror", version = function (version)
- local beta_version, count = version:gsub("-beta$", "b")
- if count ~= 1 then
- return version .. "/ultralight-free-sdk-" .. beta_version .. "-win-x64.7z"
- else
- return version .. "/ultralight-sdk-" .. beta_version .. "-win-x64.7z"
- end
- end})
- add_versions("mirror:1.4.0-beta", "6749c3d1aef49ba1c4ca783a453fe2f68b827b5935534751b68623b4b0eb91f1")
- add_versions("mirror:1.4.0", "136d5d166da07b2029d915cc3c809288e56dd0bce0f0e54c5102f3ed16ce385a")
- end
- elseif is_plat("linux") then
- if is_arch("x86_64", "x64") then
- add_urls("https://ultralight-sdk.sfo2.cdn.digitaloceanspaces.com/ultralight-sdk-$(version)-linux-x64.7z", {alias = "release", version = function (version)
- return versions[tostring(version)]
- end})
- add_versions("release:1.3.0", "1de6298b5ed3c5e0c22ac27e0e30fcb0ba6d195467a58ee44ef4e13dd1a6d352")
- add_urls("https://github.com/xmake-mirror/Ultralight/releases/download/$(version)", {alias = "mirror", version = function (version)
- local beta_version, count = version:gsub("-beta$", "b")
- if count ~= 1 then
- return version .. "/ultralight-free-sdk-" .. beta_version .. "-linux-x64.7z"
- else
- return version .. "/ultralight-sdk-" .. beta_version .. "-linux-x64.7z"
- end
- end})
- add_versions("mirror:1.4.0-beta", "1d5092bfd7d96417547872a5c5b5950207f495ea299d713fa105314f4185c760")
- add_versions("mirror:1.4.0", "75e3079a9bcae834e98607af0d8ec6ef8f8144abc674ce961cf878fb2d816ddd")
- else
- add_urls("https://github.com/xmake-mirror/Ultralight/releases/download/$(version)", {alias = "mirror", version = function (version)
- local beta_version, count = version:gsub("-beta$", "b")
- if count ~= 1 then
- return version .. "/ultralight-free-sdk-" .. beta_version .. "-linux-arm64.7z"
- else
- return version .. "/ultralight-sdk-" .. beta_version .. "-linux-arm64.7z"
- end
- end})
- add_versions("mirror:1.4.0-beta", "efa8f6c8b351daa42570f11bcb162f280cca2ce8e167f854a5e0687db854f268")
- add_versions("mirror:1.4.0", "7c577948493f52d7f647d3fd5fde6bee8c102b0448c74c460ccf695eab01a742")
- end
- elseif is_plat("macosx") then
- if is_arch("x86_64", "x64") then
- add_urls("https://ultralight-sdk.sfo2.cdn.digitaloceanspaces.com/ultralight-sdk-$(version)-mac-x64.7z", {alias = "release", version = function (version)
- return versions[tostring(version)]
- end})
- add_versions("release:1.3.0", "bbf81ed456a617a60a19e9a76946e4479d5bac877f859005c50f66e9ec3c77a2")
- add_urls("https://github.com/xmake-mirror/Ultralight/releases/download/$(version)", {alias = "mirror", version = function (version)
- local beta_version, count = version:gsub("-beta$", "b")
- if count ~= 1 then
- return version .. "/ultralight-free-sdk-" .. beta_version .. "-mac-x64.7z"
- else
- return version .. "/ultralight-sdk-" .. beta_version .. "-mac-x64.7z"
- end
- end})
- add_versions("mirror:1.4.0-beta", "ac2abd395a5080d35d36a482b7c8e2f4e7bb89bfb6705d35ec07d9dcb4528fa7")
- add_versions("mirror:1.4.0", "96c6fa7ad6ae46254fc13633cd04d1684f900028831666bea2f1b1618c12f87f")
- else
- add_urls("https://github.com/xmake-mirror/Ultralight/releases/download/$(version)", {alias = "mirror", version = function (version)
- local beta_version, count = version:gsub("-beta$", "b")
- if count ~= 1 then
- return version .. "/ultralight-free-sdk-" .. beta_version .. "-mac-arm64.7z"
- else
- return version .. "/ultralight-sdk-" .. beta_version .. "-mac-arm64.7z"
- end
- end})
- add_versions("mirror:1.4.0-beta", "3b8c71cf8e403738dcdb12cacc233838c168d48322c31d40ec1c6fcaa761a016")
- add_versions("mirror:1.4.0", "8f9b46a83d9fdeca5a9f67b7c7e59f1dbdcf3bb78d38a645ad33678199b4d9e7")
- end
- end
- add_configs("shared", {description = "Build shared library.", default = true, type = "boolean", readonly = true})
- if is_plat("linux") then
- add_deps("fontconfig")
- end
- on_check(function (package)
- if package:version():gt("1.3.0") then
- if package:is_plat("linux") then
- local distrib = linuxos.name()
- assert(distrib ~= "archlinux", "package(ultralight): Archlinux is not supported.")
- assert(distrib ~= "fedora", "package(ultralight): Fedora is not supported.")
- end
- else
- assert(not package:is_arch("arm.*"), "package(ultralight): version older than 1.4.0 does not support arm.")
- end
- assert(not package:is_arch("x86", "i386", "i686"), "package(ultralight): does not support x86/i386/i686.")
- end)
- on_install("windows|!arm*", "linux", "macosx", function (package)
- os.cp("include", package:installdir())
- os.trycp("bin/*.dll", package:installdir("bin"))
- os.trycp("lib/*.lib", package:installdir("lib"))
- os.trycp("bin/*.so", package:installdir("lib"))
- os.trycp("bin/*.dylib", package:installdir("lib"))
- end)
- on_test(function (package)
- assert(package:check_cxxsnippets({test = [[
- #include <AppCore/App.h>
- #include <Ultralight/platform/Platform.h>
- void test()
- {
- auto app = ultralight::App::Create();
- }
- ]]}, {configs = {languages = "c++17"}}))
- end)
|