Skip to content

Commit

Permalink
Merge branch 'xmake-io:dev' into dev
Browse files Browse the repository at this point in the history
  • Loading branch information
hahahahbenny committed Jul 17, 2024
2 parents 3e5af05 + 38d9af5 commit 8cb9dc8
Show file tree
Hide file tree
Showing 28 changed files with 430 additions and 76 deletions.
3 changes: 3 additions & 0 deletions packages/a/abseil/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,9 @@ package("abseil")
add_versions("20240116.1", "3c743204df78366ad2eaf236d6631d83f6bc928d1705dd0000b872e53b73dc6a")
add_versions("20240116.2", "733726b8c3a6d39a4120d7e45ea8b41a434cdacde401cba500f14236c49b39dc")

add_patches("20240116.1", "https://github.com/abseil/abseil-cpp/commit/3335e58f198e899a500b744163f9b883035a5217.patch", "f83278086b42bc997846d2b931a266678f96e2727fce6ffd98b2b58ce75fa0a3")
add_patches("20240116.2", "https://github.com/abseil/abseil-cpp/commit/3335e58f198e899a500b744163f9b883035a5217.patch", "f83278086b42bc997846d2b931a266678f96e2727fce6ffd98b2b58ce75fa0a3")

add_deps("cmake")

add_configs("cxx_standard", {description = "Select c++ standard to build.", default = "17", type = "string", values = {"14", "17", "20"}})
Expand Down
4 changes: 4 additions & 0 deletions packages/a/async_simple/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,10 @@ package("async_simple")

add_deps("cmake")

on_load("windows", function (package)
package:set("kind", "library", {headeronly = true})
end)

on_install("windows", "linux", "macosx", function (package)
if package:version():le("1.3") then
io.replace("async_simple/CMakeLists.txt",
Expand Down
1 change: 1 addition & 0 deletions packages/a/aws-c-io/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package("aws-c-io")
add_urls("https://github.com/awslabs/aws-c-io/archive/refs/tags/$(version).tar.gz",
"https://github.com/awslabs/aws-c-io.git")

add_versions("v0.14.13", "1c228b1ed327e3a8518b89702ac0d93265cf50788038091e187c697cace7fa5a")
add_versions("v0.14.9", "3a3b7236f70209ac12b5bafa7dd81b75cc68b691a0aa0686d6d3b7e4bbe5fbc9")
add_versions("v0.14.8", "d50e21fdbd5170a4071fe067ef4ce297b02cb058ad47e118305e25f6e07d9cf0")
add_versions("v0.14.7", "ecf1f660d7d43913aa8a416be6a2027101ce87c3b241344342d608335b4df7d4")
Expand Down
23 changes: 17 additions & 6 deletions packages/a/aws-lc/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@ package("aws-lc")
add_urls("https://github.com/aws/aws-lc/archive/refs/tags/$(version).tar.gz",
"https://github.com/aws/aws-lc.git")

add_versions("v1.31.0", "f2dfe0ef8fe21482b6795da01a1b226f826e9a084833ff8d5371a02f9623c150")
add_versions("v1.32.0", "67fbb78659055c2289c9068bb4ca1c0f1b6ca27700c7f6d34c6bc2f27cd46314")

add_configs("jitter", {description = "Enable FIPS entropy source: CPU Jitter", default = false, type = "boolean"})
add_configs("go", {description = "Enable go", default = false, type = "boolean"})
add_configs("perl", {description = "Enable perl", default = false, type = "boolean"})
add_configs("tools", {description = "Build tools", default = false, type = "boolean"})

add_deps("cmake")
if is_plat("windows") then
if is_plat("windows", "mingw") or is_host("windows") then
add_deps("nasm")
end

Expand All @@ -23,7 +25,16 @@ package("aws-lc")
add_syslinks("pthread", "dl", "m")
end

on_install(function (package)
on_load(function (package)
if package:config("go") then
package:add("deps", "go")
end
if package:config("perl") and package:is_plat() and (not package:is_precompiled()) then
package:add("deps", "strawberry-perl")
end
end)

on_install("!cross and windows|!arm64", function (package)
if package:config("shared") and package:is_plat("windows") then
package:add("defines", "BORINGSSL_SHARED_LIBRARY")
end
Expand All @@ -32,14 +43,14 @@ package("aws-lc")
"-DBUILD_TESTING=OFF",
"-DCMAKE_INSTALL_INCLUDEDIR=include",
"-DBUILD_LIBSSL=ON",
"-DDISABLE_GO=ON", "-DDISABLE_PERL=ON"
}

table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))

table.insert(configs, "-DBUILD_LIBSSL=ON")
table.insert(configs, "-DENABLE_FIPS_ENTROPY_CPU_JITTER=" .. (package:config("jitter") and "ON" or "OFF"))
table.insert(configs, "-DDISABLE_GO=" .. (package:config("go") and "OFF" or "ON"))
table.insert(configs, "-DDISABLE_PERL=" .. (package:config("perl") and "OFF" or "ON"))
table.insert(configs, "-DBUILD_TOOL=" .. (package:config("tools") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs)
end)
Expand Down
27 changes: 26 additions & 1 deletion packages/b/binutils/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ package("binutils")
add_versions("2.41", "ae9a5789e23459e59606e6714723f2d3ffc31c03174191ef0d015bdf06007450")
add_versions("2.38", "e316477a914f567eccc34d5d29785b8b0f5a10208d36bbacedcc39048ecfe024")
add_versions("2.34", "f00b0e8803dc9bab1e2165bd568528135be734df3fabf8d0161828cd56028952")

if is_plat("mingw") and is_subhost("msys") then
add_extsources("pacman::binutils")
elseif is_plat("linux") then
Expand All @@ -19,6 +19,31 @@ package("binutils")
add_extsources("brew::binutils")
end

on_fetch("@linux", "@macosx", "@msys", function (package, opt)
if opt.system then
if package:is_binary() then
local tools = {"ld", "ranlib", "objcopy"}
for _, tool in ipairs(tools) do
if not package:find_tool(tool) then
return
end
end
return {}
elseif package:is_library() then
local libs = {"bfd", "ctf", "opcodes"}
local result
for _, lib in ipairs(libs) do
local libinfo = package:find_package("system::" .. lib)
if libinfo then
result = result or {links = {}}
table.insert(result.links, libinfo.links)
end
end
return result
end
end
end)

add_deps("bison")

on_install("@linux", "@macosx", "@msys", function (package)
Expand Down
29 changes: 29 additions & 0 deletions packages/b/blake3/port/xmake.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
add_rules("mode.release", "mode.debug")

target("blake3")
set_kind("$(kind)")
add_files("c/blake3.c", "c/blake3_dispatch.c", "c/blake3_portable.c")
add_headerfiles("c/blake3.h")

if is_arch("x86_64", "x64") then
if is_subhost("msys", "cygwin") then
add_files("c/*x86-64_windows_gnu.S")
elseif is_plat("windows") then
add_files("c/*x86-64_windows_msvc.asm")
else
add_files("c/*x86-64_unix.S")
end
elseif is_arch("x86", "i386") then
add_files("c/blake3_portable.c")
add_files("c/blake3_sse2.c")
add_files("c/blake3_sse41.c")
add_files("c/blake3_avx2.c")
add_files("c/blake3_avx512.c")
elseif is_arch("arm64", "arm64-v8a") then
add_files("c/blake3_neon.c")
add_defines("BLAKE3_USE_NEON=1")
end

if is_plat("windows") and is_kind("shared") then
add_rules("utils.symbols.export_all")
end
46 changes: 9 additions & 37 deletions packages/b/blake3/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,49 +5,21 @@ package("blake3")

add_urls("https://github.com/BLAKE3-team/BLAKE3/archive/refs/tags/$(version).tar.gz",
"https://github.com/BLAKE3-team/BLAKE3.git")

add_versions("1.5.2", "1bc38cd3cc501458054c3bb473e5e00338d6175121424040079025ea305ddef3")
add_versions("1.5.1", "822cd37f70152e5985433d2c50c8f6b2ec83aaf11aa31be9fe71486a91744f37")
add_versions("1.5.0", "f506140bc3af41d3432a4ce18b3b83b08eaa240e94ef161eb72b2e57cdc94c69")
add_versions("1.3.3", "27d2bc4ee5945ba75434859521042c949463ee7514ff17aaef328e23ef83fec0")
add_versions("1.3.1", "112becf0983b5c83efff07f20b458f2dbcdbd768fd46502e7ddd831b83550109")

on_install("windows|x64", "windows|x86", "linux", "macosx", "bsd", "mingw|x86_64", "android", "iphoneos", "cross", function (package)
local configs = {}

io.writefile("xmake.lua", [[
add_rules("mode.release", "mode.debug")
target("blake3")
set_kind("$(kind)")
add_files("c/blake3.c", "c/blake3_dispatch.c", "c/blake3_portable.c")
add_headerfiles("c/blake3.h")
if is_arch("x86_64", "x64") then
if is_subhost("msys", "cygwin") then
add_files("c/*x86-64_windows_gnu.S")
elseif is_plat("windows") then
add_files("c/*x86-64_windows_msvc.asm")
if is_kind("shared") then
add_rules("utils.symbols.export_all")
end
else
add_files("c/*x86-64_unix.S")
end
elseif is_arch("x86", "i386") then
add_files("c/blake3_portable.c")
add_files("c/blake3_sse2.c")
add_files("c/blake3_sse41.c")
add_files("c/blake3_avx2.c")
add_files("c/blake3_avx512.c")
elseif is_arch("arm64", "arm64-v8a") then
add_files("c/blake3_neon.c")
add_defines("BLAKE3_USE_NEON=1")
end
]])

if package:config("shared") then
configs.kind = "shared"
end
if on_check then
on_check("mingw", function (package)
assert(package:is_arch("x86_64"), "package(blake3/mingw): Only suport x86_64 arch")
end)
end

on_install(function (package)
os.cp(path.join(package:scriptdir(), "port", "xmake.lua"), "xmake.lua")
import("package.tools.xmake").install(package, configs)
end)

Expand Down
1 change: 1 addition & 0 deletions packages/b/botan/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ package("botan")
set_urls("https://github.com/randombit/botan/archive/refs/tags/$(version).tar.gz",
"https://github.com/randombit/botan.git")

add_versions("3.5.0", "7d91d3349e6029e1a6929a50ab587f9fd4e29a9af3f3d698553451365564001f")
add_versions("3.4.0", "6ef2a16a0527b1cfc9648a644877f7b95c4d07e8ef237273b030c623418c5e5b")

add_configs("tools", {description = "Build tools.", default = false, type = "boolean"})
Expand Down
64 changes: 64 additions & 0 deletions packages/c/cserialport/xmake.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
package("cserialport")
set_homepage("https://github.com/itas109/CSerialPort")
set_description("CSerialPort is a lightweight cross-platform serial port library based on C++, which can easy to read and write serial port on multiple operating system.")
set_license("LGPL-3.0")

add_urls("https://github.com/itas109/CSerialPort/archive/refs/tags/$(version).tar.gz",
"https://github.com/itas109/CSerialPort.git")

add_versions("v4.3.1", "376f41866be65ddfed91f3d0fea91aaaf5ca7e645f9b9cfcdaa0a9182a0bb3ac")

add_configs("c_api", {description = "Build C API", default = false, type = "boolean"})

if is_plat("windows", "mingw") then
add_syslinks("advapi32")
elseif is_plat("linux", "bsd") then
add_syslinks("pthread")
elseif is_plat("macosx") then
add_frameworks("Foundation", "IOKit")
end

add_deps("cmake")

if on_check then
on_check("windows", function (package)
import("core.base.semver")

if package:is_arch("arm.*") then
local vs_toolset = package:toolchain("msvc"):config("vs_toolset")
assert(vs_toolset and semver.new(vs_toolset):minor() >= 30, "package(cserialport/arm): need vs_toolset >= v143")
end
end)
end

on_install("!cross and !iphoneos and !android", function (package)
local configs = {"-DCSERIALPORT_BUILD_EXAMPLES=OFF"}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs)

if package:config("c_api") then
io.replace("bindings/c/cserialport.h", "#define C_DLL_EXPORT __declspec(dllexport)", "#define C_DLL_EXPORT", {plain = true})
io.writefile("xmake.lua", [[
add_rules("mode.debug", "mode.release")
target("cserialport-c")
set_kind("static")
add_files("bindings/c/cserialport.cpp")
add_headerfiles("bindings/c/cserialport.h")
add_includedirs("include")
]])
import("package.tools.xmake").install(package)
end
end)

on_test(function (package)
assert(package:check_cxxsnippets({test = [[
void test() {
itas109::CSerialPort serialPort;
}
]]}, {configs = {languages = "c++11"}, includes = "CSerialPort/SerialPort.h"}))

if package:config("c_api") then
assert(package:has_cfuncs("CSerialPortInit", {includes = "cserialport.h"}))
end
end)
1 change: 1 addition & 0 deletions packages/f/flecs/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package("flecs")

add_urls("https://github.com/SanderMertens/flecs/archive/refs/tags/$(version).tar.gz",
"https://github.com/SanderMertens/flecs.git")
add_versions("v4.0.0", "6c9826c8602f797acd775269d143763adfb3d3a93031cc81bced2b6d267469d2")
add_versions("v3.2.12", "976551dabeecf3ae109648034b8dbc47f39f50226b6d71d76bace1d0b6e2d8ae")
add_versions("v3.2.11", "8ebc5f6f3ec7bbba30b0afe9d22f157437925772857ea1c6e4201eb5d31b4fe5")
add_versions("v3.2.10", "b799e85d47b3e5c2e631ebbd3b81cc6af4be574fccbe07099c58252182827a88")
Expand Down
7 changes: 3 additions & 4 deletions packages/f/fmt/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ package("fmt")
add_versions("10.1.0", "d725fa83a8b57a3cedf238828fa6b167f963041e8f9f7327649bddc68ae316f4")
add_versions("10.0.0", "4943cb165f3f587f26da834d3056ee8733c397e024145ca7d2a8a96bb71ac281")
add_versions("9.1.0", "cceb4cb9366e18a5742128cb3524ce5f50e88b476f1e54737a47ffdf4df4c996")
add_versions("9.0.0", "fc96dd2d2fdf2bded630787adba892c23cb9e35c6fd3273c136b0c57d4651ad6")
add_versions("9.0.0", "fc96dd2d2fdf2bded630787adba892c23cb9e35c6fd3273c136b0c57d4651ad6")
add_versions("8.1.1", "23778bad8edba12d76e4075da06db591f3b0e3c6c04928ced4a7282ca3400e5d")
add_versions("8.0.1", "a627a56eab9554fc1e5dd9a623d0768583b3a383ff70a4312ba68f94c9d415bf")
add_versions("8.0.0", "36016a75dd6e0a9c1c7df5edb98c93a3e77dabcf122de364116efb9f23c6954a")
Expand All @@ -22,9 +22,7 @@ package("fmt")
add_versions("6.0.0", "b4a16b38fa171f15dbfb958b02da9bbef2c482debadf64ac81ec61b5ac422440")
add_versions("5.3.0", "4c0741e10183f75d7d6f730b8708a99b329b2f942dad5a9da3385ab92bb4a15c")

add_patches("10.1.0",
path.join(os.scriptdir(), "patches", "10.1.0", "utf8.patch" ),
"3280569bced9ec08933f0ea37b6a4fef4538944d9046fe197ad63e22d1357cd4")
add_patches("10.1.0", "patches/10.1.0/utf8.patch", "3280569bced9ec08933f0ea37b6a4fef4538944d9046fe197ad63e22d1357cd4")

add_configs("header_only", {description = "Use header only version.", default = false, type = "boolean"})
add_configs("unicode", {description = "Enable Unicode support.", default = true, type = "boolean"})
Expand All @@ -40,6 +38,7 @@ package("fmt")
on_load(function (package)
if package:config("header_only") then
package:add("defines", "FMT_HEADER_ONLY=1")
package:set("kind", "library", {headeronly = true})
else
package:add("deps", "cmake")
end
Expand Down
1 change: 1 addition & 0 deletions packages/g/gdal/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ package("gdal")
set_license("MIT")

add_urls("https://github.com/OSGeo/gdal/releases/download/v$(version)/gdal-$(version).tar.gz")
add_versions("3.9.1", "46cd95ad0f270af0cd317ddc28fa5e0a7ad0b0fd160a7bd22909150df53e3418")
add_versions("3.9.0", "3b29b573b60d156cf160805290474b625c4197ca36a79fd14f83ec8f77f29ba0")
add_versions("3.8.5", "0c865c7931c7e9bb4832f50fb53aec8676cbbaccd6e55945011b737fb89a49c2")
add_versions("3.5.1", "7c4406ca010dc8632703a0a326f39e9db25d9f1f6ebaaeca64a963e3fac123d1")
Expand Down
21 changes: 21 additions & 0 deletions packages/h/hyperscan/xmake.lua
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package("hyperscan")
set_homepage("https://www.hyperscan.io")
set_description("High-performance regular expression matching library")
set_license("BSD-3")

add_urls("https://github.com/intel/hyperscan/archive/refs/tags/$(version).tar.gz",
"https://github.com/intel/hyperscan.git")
add_versions("v5.4.2", "32b0f24b3113bbc46b6bfaa05cf7cf45840b6b59333d078cc1f624e4c40b2b99")

add_deps("cmake", "boost", "ragel", "python")

on_install("linux", "windows|!arm*", function (package)
local configs = {}
table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release"))
table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF"))
import("package.tools.cmake").install(package, configs)
end)

on_test(function (package)
assert(package:has_cxxfuncs("hs_compile", {includes = "hs/hs.h"}))
end)
1 change: 1 addition & 0 deletions packages/l/libsvm/xmake.lua
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package("libsvm")

add_urls("https://github.com/cjlin1/libsvm/archive/refs/tags/$(version).tar.gz",
"https://github.com/cjlin1/libsvm.git")
add_versions("v333", "ee898ca11cef85b09e059b278b3ab4ff58cd38f70169829e75b4a3cb9ddc5013")
add_versions("v332", "e1d7d316112d199ebd69c9695f79226d236b86e2c8d88e70cfe35fd383954ed8")
add_versions("v325", "1f587ec0df6fd422dfe50f942f8836ac179b0723b768fe9d2fabdfd1601a0963")

Expand Down
Loading

0 comments on commit 8cb9dc8

Please sign in to comment.