From b51b43a54a3415c19fb6ce968f90b7c0137fe3ac Mon Sep 17 00:00:00 2001 From: ruki Date: Fri, 24 Jan 2025 10:33:46 +0800 Subject: [PATCH 01/48] Update arduinojson to v7.3.0 (#6226) --- packages/a/arduinojson/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/a/arduinojson/xmake.lua b/packages/a/arduinojson/xmake.lua index 520b05583c5..7b15c78b933 100644 --- a/packages/a/arduinojson/xmake.lua +++ b/packages/a/arduinojson/xmake.lua @@ -7,6 +7,7 @@ package("arduinojson") add_urls("https://github.com/bblanchon/ArduinoJson/archive/refs/tags/$(version).tar.gz", "https://github.com/bblanchon/ArduinoJson.git") + add_versions("v7.3.0", "e2b6739a00c64813169cbcea2d0884cbd63efe2223c0b1307de4e655d87730d8") add_versions("v7.2.1", "2780504927533d64cf4256c57de51412b835b327ef4018c38d862b0664d36d4f") add_versions("v7.2.0", "d20aefd14f12bd907c6851d1dfad173e4fcd2d993841fa8c91a1d8ab5a71188b") add_versions("v7.1.0", "74bc745527a274bcab85c6498de77da749627113c4921ccbcaf83daa7ac35dee") From 327049a727b7f63a2419bbb8128051c0de3fa91b Mon Sep 17 00:00:00 2001 From: ruki Date: Fri, 24 Jan 2025 11:13:33 +0800 Subject: [PATCH 02/48] Update ittapi to v3.25.4 (#6230) --- packages/i/ittapi/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/i/ittapi/xmake.lua b/packages/i/ittapi/xmake.lua index 85be8171cf7..87318ff7746 100644 --- a/packages/i/ittapi/xmake.lua +++ b/packages/i/ittapi/xmake.lua @@ -6,6 +6,7 @@ package("ittapi") add_urls("https://github.com/intel/ittapi/archive/refs/tags/$(version).tar.gz", "https://github.com/intel/ittapi.git") + add_versions("v3.25.4", "e32c760e936add2353e7e4268c560acb230dd1fdf2e2abb1c7d8e8409ca1d121") add_versions("v3.25.3", "1b46fb4cb264a2acd1a553eeea0e055b3cf1d7962decfa78d2b49febdcb03032") add_versions("v3.25.2", "1d76613b29f4b7063dbb2b54e9ef902e36924c5dd016fee1d7b392b3d4ee66c2") add_versions("v3.25.1", "866a5a75a287a7440760146f99bd1093750c3fb5bf572c3bff2d4795628ebc7c") From 2619d9f502d6ebb9cfaa025557f83c2a68f95348 Mon Sep 17 00:00:00 2001 From: Doekin <105162544+Doekin@users.noreply.github.com> Date: Fri, 24 Jan 2025 21:30:09 +0800 Subject: [PATCH 03/48] Qt: enhance cross-compilation support for desktop platforms (#6208) * Qt: enhance cross-compilation support for desktop platforms * fix: ensure all dependencies are fetched before proceeding * fix: ensure all direct dependencies are fetched before proceeding --- packages/q/qt-tools/xmake.lua | 32 ++ packages/q/qt6base/xmake.lua | 11 +- packages/q/qt6lib/xmake.lua | 19 +- packages/q/qtbase/xmake.lua | 607 ++++++++++++++++++---------------- 4 files changed, 389 insertions(+), 280 deletions(-) create mode 100644 packages/q/qt-tools/xmake.lua diff --git a/packages/q/qt-tools/xmake.lua b/packages/q/qt-tools/xmake.lua new file mode 100644 index 00000000000..5dff4572879 --- /dev/null +++ b/packages/q/qt-tools/xmake.lua @@ -0,0 +1,32 @@ +package("qt-tools") + set_kind("binary") + set_base("qtbase") + + -- Sync with qt5base and qt5lib + add_versions("5.15.2", "dummy") + add_versions("5.12.5", "dummy") + + -- Sync with qt6base and qt6lib + add_versions("6.3.0", "dummy") + add_versions("6.3.1", "dummy") + add_versions("6.3.2", "dummy") + add_versions("6.4.0", "dummy") + add_versions("6.4.1", "dummy") + add_versions("6.4.2", "dummy") + add_versions("6.4.3", "dummy") + add_versions("6.5.0", "dummy") + add_versions("6.5.1", "dummy") + add_versions("6.5.2", "dummy") + add_versions("6.5.3", "dummy") + add_versions("6.6.0", "dummy") + add_versions("6.6.1", "dummy") + add_versions("6.6.2", "dummy") + add_versions("6.6.3", "dummy") + add_versions("6.7.0", "dummy") + add_versions("6.7.1", "dummy") + add_versions("6.7.2", "dummy") + add_versions("6.8.0", "dummy") + + on_install("windows", "linux", "macosx", function (package) + package:base():script("install")(package) + end) diff --git a/packages/q/qt6base/xmake.lua b/packages/q/qt6base/xmake.lua index aa8fdd6e0a8..84611193199 100644 --- a/packages/q/qt6base/xmake.lua +++ b/packages/q/qt6base/xmake.lua @@ -2,6 +2,7 @@ package("qt6base") set_kind("phony") set_base("qtbase") + -- Sync with qt6lib and qt-tools add_versions("6.3.0", "dummy") add_versions("6.3.1", "dummy") add_versions("6.3.2", "dummy") @@ -22,6 +23,14 @@ package("qt6base") add_versions("6.7.2", "dummy") add_versions("6.8.0", "dummy") - on_install("windows|x64", "linux|x86_64", "macosx", "mingw|x86_64", function (package) + on_install("windows|x64,linux|x86_64,macosx,mingw|x86_64@windows,linux,macosx", function (package) + package:base():script("install")(package) + end) + + on_install("android|arm64-v8a,armeabi-v7a,armeabi,x86_64,x86@windows,linux,macosx", function (package) + package:base():script("install")(package) + end) + + on_install("iphoneos,wasm@windows,linux,macosx", function (package) package:base():script("install")(package) end) diff --git a/packages/q/qt6lib/xmake.lua b/packages/q/qt6lib/xmake.lua index e3daf964022..36183b801ba 100644 --- a/packages/q/qt6lib/xmake.lua +++ b/packages/q/qt6lib/xmake.lua @@ -7,6 +7,7 @@ package("qt6lib") add_configs("shared", {description = "Download shared binaries.", default = true, type = "boolean", readonly = true}) add_configs("vs_runtime", {description = "Set vs compiler runtime.", default = "MD", readonly = true}) + -- Sync with qt6base and qt-tools add_versions("6.3.0", "dummy") add_versions("6.3.1", "dummy") add_versions("6.3.2", "dummy") @@ -36,6 +37,12 @@ package("qt6lib") if not qt then return end + -- Ensure all direct dependencies are fetched + for _, dep in ipairs(package:plaindeps()) do + if not dep:fetch() and dep:parents(package:name()) then + return + end + end local libname = assert(package:data("libname"), "this package must not be used directly") @@ -88,7 +95,17 @@ package("qt6lib") } end) - on_install("windows|x64", "linux|x86_64", "macosx", "mingw|x86_64", function (package) + on_install("windows|x64,linux|x86_64,macosx,mingw|x86_64@windows,linux,macosx", function (package) + local qt = package:dep("qt6base"):data("qt") + assert(qt, "qt6base is required") + end) + + on_install("android|arm64-v8a,armeabi-v7a,armeabi,x86_64,x86@windows,linux,macosx", function (package) + local qt = package:dep("qt6base"):data("qt") + assert(qt, "qt6base is required") + end) + + on_install("iphoneos,wasm@windows,linux,macosx", function (package) local qt = package:dep("qt6base"):data("qt") assert(qt, "qt6base is required") end) diff --git a/packages/q/qtbase/xmake.lua b/packages/q/qtbase/xmake.lua index 809c6eb211d..54eb9b12450 100644 --- a/packages/q/qtbase/xmake.lua +++ b/packages/q/qtbase/xmake.lua @@ -1,278 +1,329 @@ -package("qtbase") - set_kind("template") - set_homepage("https://www.qt.io") - set_description("Qt is the faster, smarter way to create innovative devices, modern UIs & applications for multiple screens. Cross-platform software development at its best.") - set_license("LGPL-3") - - add_configs("shared", {description = "Download shared binaries.", default = true, type = "boolean", readonly = true}) - add_configs("runtimes", {description = "Set compiler runtimes.", default = "MD", readonly = true}) - - add_deps("aqt") - - on_load(function (package) - package:addenv("PATH", "bin") - end) - - on_fetch(function (package, opt) - import("core.base.semver") - import("detect.sdks.find_qt") - - local qt = package:data("qt") - if qt then - return qt - end - - local sdkdir - if not opt.system then - sdkdir = package:installdir() - end - - local qt = find_qt(sdkdir, {force = opt.force}) - if not qt then - return - end - - local qtversion = semver.new(qt.sdkver) - if not qtversion:ge(package:version()) then - return - end - qt.version = qt.sdkver - package:data_set("qt", qt) - return qt - end) - - on_install(function (package) - import("core.base.semver") - import("core.project.config") - import("core.tool.toolchain") - - local version = package:version() - local versionstr = version:shortstr() - - local host - if is_host("windows") or package:is_plat("mingw") 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 - if package:is_plat("windows", "mingw", "linux", "macosx") then - target = "desktop" - elseif package:is_plat("android") then - target = "android" - elseif package:is_plat("iphoneos") then - target = "ios" - else - raise("unhandled plat " .. package:plat()) - end - - local arch - if package:is_plat("windows", "mingw") then - local winarch - if package:is_arch("x64", "x86_64", "arm64") then - winarch = "64" - elseif version:lt("6.0") and package:is_arch("x86", "i386") then -- 32bits support was removed in Qt6 - winarch = "32" - else - raise("unhandled arch " .. package:targetarch()) - end - - local compiler_version - if package:is_plat("windows") then - local vs = package:toolchain("msvc"):config("vs") - if version:ge("6.8") then - compiler_version = "msvc2022" - elseif tonumber(vs) >= 2019 or version:ge("6.0") then - compiler_version = "msvc2019" - elseif vs == "2017" or vs == "2015" then - compiler_version = "msvc" .. vs - else - raise("unhandled msvc version " .. vs) - end - - if package:is_arch("x64", "x86_64") then - compiler_version = compiler_version .. "_64" - elseif package:is_arch("arm64") then -- arm64 support was added in Qt6.2 - compiler_version = compiler_version .. "_arm64" - end - else - local cc = package:tool("cc") - local ccversion = os.iorunv(cc, {"-dumpversion"}):trim() - local mingw_version = semver.new(ccversion) - if version:ge("6.2.2") then - compiler_version = "mingw" - elseif mingw_version:ge("8.1") then - compiler_version = "mingw81" - elseif mingw_version:ge("7.3") then - compiler_version = "mingw73" - elseif mingw_version:ge("5.3") then - compiler_version = "mingw53" - else - raise("unhandled mingw version " .. version) - end - end - arch = "win" .. winarch .. "_" .. compiler_version - elseif package:is_plat("linux") then - if version:ge("6.7.0") then - arch = "linux_gcc_64" - else - arch = "gcc_64" - end - elseif package:is_plat("macosx") then - arch = "clang_64" - elseif package:is_plat("android") then - if version:le("5.13") or version:ge("6.0") then - if package:is_arch("x86_64", "x64") then - arch = "android_x86_64" - elseif package:is_arch("arm64", "arm64-v8a") then - arch = "android_arm64_v8a" - elseif package:is_arch("armv7", "armv7-a", "armeabi", "armeabi-v7a") then - arch = "android_armv7" - elseif package:is_arch("x86") then - arch = "android_x86" - else - raise("unhandled arch " .. package:targetarch()) - end - else - arch = "android" - end - end - - local installdir = package:installdir() - os.vrunv("aqt", {"install-qt", "-O", installdir, host, target, versionstr, arch}) - - -- move files to root - os.mv(path.join(installdir, versionstr, "*", "*"), installdir) - os.rmdir(path.join(installdir, versionstr)) - - -- special case for cross-compilation since we need binaries we can run on the host - if package:is_cross() then - local runhost - if is_host("windows") then - runhost = "windows" - elseif is_host("linux") then - runhost = "linux" - elseif is_host("macosx") then - runhost = "mac" - else - raise("unhandled host " .. os.host()) - end - - local hostarch - if is_host("windows") then - local winarch - if os.arch():find("64", 1, true) then - winarch = "64" - else - winarch = "32" - end - - local compiler_version - local vs = package:toolchain("msvc"):config("vs") - if version:ge("6.8") then - compiler_version = "msvc2022" - elseif tonumber(vs) >= 2019 or version:ge("6.0") then - compiler_version = "msvc2019" - elseif vs == "2017" or vs == "2015" then - compiler_version = "msvc" .. vs - else - raise("unhandled msvc version " .. vs) - end - - if os.arch() == "x64" then - compiler_version = compiler_version .. "_64" - elseif os.arch() == "arm64" then - compiler_version = compiler_version .. "_arm64" - end - hostarch = "win" .. winarch .. "_" .. compiler_version - elseif is_host("linux") then - if version:ge("6.7.0") then - arch = "linux_gcc_64" - else - arch = "gcc_64" - end - elseif is_host("macosx") then - hostarch = "clang_64" - end - - -- download qtbase to bin_host folder - os.vrunv("aqt", {"install-qt", "-O", path.join(installdir, "bin_host"), runhost, "desktop", versionstr, hostarch}) - - -- add symbolic links for useful tools - local tool_folders = {} - if version:ge("6.0") then - tool_folders.bin = { - qmake = true, - qmake6 = true - } - - tool_folders.libexec = { - moc = true, - rcc = true, - uic = true - } - else - tool_folders.bin = { - qmake = true, - moc = true, - rcc = true, - uic = true - } - end - - for folder, tools in pairs(tool_folders) do - for _, file in ipairs(os.files(path.join(installdir, "bin_host", versionstr, "*", folder, "*"))) do - local filename = path.filename(file) - if tools[filename] then - local targetpath = path.join(installdir, folder, filename) - os.rm(targetpath) - if is_host("windows") then - os.cp(file, targetpath) - else - os.ln(file, targetpath) - end - - -- some tools like CMake will try to run moc.exe even on Linux, trick them (ln bin/moc.exe => bin_host/bin/moc) - if package:is_plat("mingw") then - os.rm(targetpath .. ".exe") - if is_host("windows") then - os.cp(file, targetpath .. ".exe") - else - os.ln(file, targetpath .. ".exe") - end - end - end - end - end - end - end) - - on_test(function (package) - local qt = assert(package:data("qt")) - - local function getbin(name) - if is_host("windows") then - name = name .. ".exe" - end - local exec = path.join(qt.bindir, name) - if not os.isexec(exec) and qt.libexecdir then - exec = path.join(qt.libexecdir, name) - end - if not os.isexec(exec) and qt.libexecdir_host then - exec = path.join(qt.libexecdir_host, name) - end - assert(os.isexec(exec), name .. " not found!") - return exec - end - - os.vrun(getbin("qmake") .. " -v") - os.vrun(getbin("moc") .. " -v") - -- rcc -v and uic -v seems to hang CI forever - --os.vrun(getbin("rcc") .. " -v") -- rcc -v hangs CI - --os.vrun(getbin("uic") .. " -v") -- uic -v seems to hang on CI - end) +package("qtbase") + set_kind("template") + set_homepage("https://www.qt.io") + set_description("Qt is the faster, smarter way to create innovative devices, modern UIs & applications for multiple screens. Cross-platform software development at its best.") + set_license("LGPL-3") + + add_configs("shared", {description = "Download shared binaries.", default = true, type = "boolean", readonly = true}) + add_configs("runtimes", {description = "Set compiler runtimes.", default = "MD", readonly = true}) + add_configs("exact_version", {description = "Require exact version match if Qt is system-installed.", default = false, type = "boolean"}) + add_configs("tools_only", {description = "Install only SDK tools, primarily for cross-compilation scenarios.", default = false, type = "boolean"}) + + add_deps("aqt") + + if on_check then + on_check(function (package) + local version = package:version() + -- Chech for 32bits support removal in Qt6 + if package:is_plat("windows", "mingw") and version then + if version:ge("6.0") and package:is_arch("x86", "i386") then + raise("package(qt6base): 32bits support was removed in Qt6") + end + end + -- Check for Visual Studio version requirements + if package:is_plat("windows") and version then + local vs = package:toolchain("msvc"):config("vs") + if version:ge("6.8") and tonumber(vs) < 2022 then + raise("package(qt6base): Qt 6.8+ requires Visual Studio 2022") + elseif version:ge("6.0") and tonumber(vs) < 2019 then + raise("package(qt6base): Qt 6.0+ requires Visual Studio 2019") + end + end + -- Check for symbolic link creation issues when cross-compiling on Windows + if is_host("windows") and package:is_plat("linux") then + wprint("It seems that you are installing Qt SDK on Windows for a non-Windows platform. If you encounter issues related to symbolic link creation, " .. + "please try enabling Developer Mode in Windows Settings or run xmake with administrator privileges.") + end + -- Check for WASM support + if package:is_plat("wasm") and version then + -- For more information on WASM support, visit: + -- https://doc.qt.io/qt-6/wasm.html + -- https://aqtinstall.readthedocs.io/en/latest/getting_started.html#installing-qt-for-wasm + if version:ge("6.8") then + -- TODO: Update this check when aqtinstall supports Qt 6.8+ for WASM + raise("package(qt6base): Qt 6.8+ for WASM is not supported by aqtinstall yet") + elseif (version:ge("6.0") and version:lt("6.2")) or version:lt("5.13") then + raise("package(qtbase): WASM support requires Qt 5.13+ or Qt 6.2+") + end + end + -- Check for ARM64 support + if package:is_arch("arm64.*", "aarch64") and package:is_plat("windows", "mingw", "linux") and version then + if package:is_plat("windows", "mingw") and version:lt("6.8") then + raise("package(qt6base): Windows on ARM64 support was added in Qt 6.8") + elseif package:is_plat("linux") and version:lt("6.7") then + raise("package(qt6base): Linux on ARM64 support was added in Qt 6.7") + end + end + end) + end + + on_load(function (package) + package:addenv("PATH", "bin") + if package:is_cross() then + local host_qt_depname = "qt-tools" + if package:version() then + host_qt_depname = host_qt_depname .. " " .. package:version():shortstr() + end + package:add("deps", host_qt_depname, {configs = {tools_only = true, exact_version = true}}) + end + end) + + on_fetch(function (package, opt) + import("core.base.semver") + import("detect.sdks.find_qt") + + local qt = package:data("qt") + if qt then + return qt + end + + local sdkdir + if not opt.system then + sdkdir = package:installdir() + end + + local qt + local version = package:version() + local find_opt = {force = opt.force} + if package:config("exact_version") and version then + find_opt.version = version:shortstr() + end + if not package:is_cross() then + qt = find_qt(sdkdir, find_opt) + else + local host_qt = package:dep("qt-tools") + if not host_qt then + return + end + local host_qt_data = host_qt:data("qt") or find_qt(nil, {version = host_qt:version() and host_qt:version():shortstr()}) + if not host_qt_data then + return + end + qt = find_qt(sdkdir, table.join(find_opt, {sdkdir_host = host_qt_data.sdkdir})) + if qt then + -- Avoid mistakenly identifying "host_qt" as the target SDK + if host_qt_data.sdkdir and host_qt_data.sdkdir == qt.sdkdir then + return + end + end + end + if not qt then + return + end + + local qtversion = semver.new(qt.sdkver) + if version and not qtversion:eq(version) then + if package:config("exact_version") or not qtversion:ge(version) then + return + end + end + qt.version = qt.sdkver + package:data_set("qt", qt) + return qt + end) + + on_install(function (package) + import("core.base.semver") + import("core.project.config") + import("core.tool.toolchain") + + local version = package:version() + local versionstr = version:shortstr() + + -- Usage of `aqtinstall`: aqt install-qt [] + -- options: {linux, linux_arm64, mac, windows, windows_arm64} + -- options: {desktop, winrt, android, ios} + -- + -- The `pseudo_host` variable (used as ) is determined based on the target platform + -- + -- Behavior: + -- 1. No cross-compilation (package:plat() == os.host()): + -- - Downloads Qt libraries and SDK tools specific to the host platform. + -- + -- 2. Cross-compilation (package:plat() ~= os.host()): + -- - Downloads Qt libraries and incompatible SDK tools. + -- - Usable SDK tools are retrieved from package:dep("qt-tools") or the "qt_host" configuration. + + local pseudo_host + local platform_map = {windows = "windows", mingw = "windows", linux = "linux", macosx = "mac"} + if package:is_plat("windows", "mingw", "linux", "macosx") then + pseudo_host = platform_map[package:plat()] + elseif package:is_plat("android") then + pseudo_host = platform_map[os.host()] + elseif package:is_plat("iphoneos") then + pseudo_host = "mac" + elseif package:is_plat("wasm") then + if version:ge("6.8") then + pseudo_host = "all_os" + else + pseudo_host = platform_map[os.host()] + end + else + raise("unhandled platform " .. package:plat()) + end + if package:is_arch("arm64.*", "aarch64") and package:is_plat("windows", "mingw", "linux") then + pseudo_host = pseudo_host .. "_arm64" + end + + local target + if package:is_plat("windows", "mingw", "linux", "macosx") then + target = "desktop" + elseif package:is_plat("android") then + target = "android" + elseif package:is_plat("iphoneos") then + target = "ios" + elseif package:is_plat("wasm") then + if version:ge("6.8") then + target = "wasm" + else + target = "desktop" + end + else + raise("unhandled plat " .. package:plat()) + end + + local arch + if package:is_plat("windows", "mingw") then + local winarch + if package:is_arch("x64", "x86_64", "arm64") then + winarch = "64" + elseif version:lt("6.0") and package:is_arch("x86", "i386") then -- 32bits support was removed in Qt6 + winarch = "32" + else + raise("unhandled arch " .. package:targetarch()) + end + + local compiler_version + if package:is_plat("windows") then + local vs = package:toolchain("msvc"):config("vs") + if version:ge("6.8") then + compiler_version = "msvc2022" + elseif tonumber(vs) >= 2019 and version:ge("5.15") then + compiler_version = "msvc2019" + elseif tonumber(vs) >= 2017 then + compiler_version = "msvc2017" + elseif tonumber(vs) >= 2015 then + compiler_version = "msvc2015" + else + raise("unhandled msvc version " .. vs) + end + + if package:is_arch("x64", "x86_64") then + compiler_version = compiler_version .. "_64" + elseif package:is_arch("arm64") then -- arm64 support was added in Qt6.2 + compiler_version = compiler_version .. "_arm64" + end + else + local cc = package:tool("cc") + local ccversion = os.iorunv(cc, {"-dumpversion"}):trim() + local mingw_version = semver.new(ccversion) + if version:ge("6.2.2") then + compiler_version = "mingw" + elseif mingw_version:ge("8.1") then + compiler_version = "mingw81" + elseif mingw_version:ge("7.3") then + compiler_version = "mingw73" + elseif mingw_version:ge("5.3") then + compiler_version = "mingw53" + else + raise("unhandled mingw version " .. version) + end + end + arch = "win" .. winarch .. "_" .. compiler_version + elseif package:is_plat("linux") then + if package:is_arch("arm64.*", "aarch64") then + arch = "linux_gcc_arm64" + elseif version:ge("6.7.0") then + arch = "linux_gcc_64" + else + arch = "gcc_64" + end + elseif package:is_plat("macosx") then + arch = "clang_64" + elseif package:is_plat("android") then + if version:le("5.13") or version:ge("6.0") then + if package:is_arch("x86_64", "x64") then + arch = "android_x86_64" + elseif package:is_arch("arm64", "arm64-v8a") then + arch = "android_arm64_v8a" + elseif package:is_arch("armv7", "armv7-a", "armeabi", "armeabi-v7a") then + arch = "android_armv7" + elseif package:is_arch("x86") then + arch = "android_x86" + else + raise("unhandled arch " .. package:targetarch()) + end + else + arch = "android" + end + elseif package:is_plat("iphoneos") then + arch = "ios" + elseif package:is_plat("wasm") then + if version:lt("6.5") then + arch = "wasm_32" + else + arch = "wasm_multithread" -- "wasm_singlethread" is also available as an option. + end + end + + local installdir = package:installdir() + local aqt_args = {"install-qt", "-O", installdir, pseudo_host, target, versionstr, arch} + + if package:config("tools_only") then + -- Attempt to reduce the installation size by specifying only the required archives + local archives = { + "qtbase", -- For qmake, moc, rcc, uic, windeployqt, androiddeployqt + "qttools", -- For lupdate, lrelease + "qtdeclarative" -- For qml + } + if is_host("linux") then + table.join2(archives, {"icu"}) + end + local available_archives = try { + function() + return os.iorunv("aqt", {"list-qt", pseudo_host, target, "--archives", versionstr, arch}):split(" ") + end + } or {} + local specify_archives = true + for _, archive in ipairs(archives) do + if not table.contains(available_archives, archive) then + specify_archives = false + break + end + end + if specify_archives then + table.insert(aqt_args, "--archives") + table.join2(aqt_args, archives) + end + end + + os.vrunv("aqt", aqt_args) + + -- move files to root + os.mv(path.join(installdir, versionstr, "*", "*"), installdir) + os.rmdir(path.join(installdir, versionstr)) + + end) + + on_test(function (package) + import("lib.detect.find_file") + + local qt = assert(package:data("qt")) + + local search_dirs = {} + if qt.bindir_host then table.insert(search_dirs, qt.bindir_host) end + if qt.bindir then table.insert(search_dirs, qt.bindir) end + if qt.libexecdir_host then table.insert(search_dirs, qt.libexecdir_host) end + if qt.libexecdir then table.insert(search_dirs, qt.libexecdir) end + + local function getbin(name) + name = name .. (is_host("windows") and ".exe" or "") + return assert(find_file(name, search_dirs), name .. " not found!") + end + + os.vrun(getbin("qmake") .. " -v") + os.vrun(getbin("moc") .. " -v") + -- rcc -v and uic -v seems to hang CI forever + --os.vrun(getbin("rcc") .. " -v") -- rcc -v hangs CI + --os.vrun(getbin("uic") .. " -v") -- uic -v seems to hang on CI + end) From 080d51a44a628d3ca44c20cc893b962a2f0f2b51 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B0=A2=E5=A4=A9?= Date: Fri, 24 Jan 2025 21:31:21 +0800 Subject: [PATCH 04/48] Add reckless log (#6222) --- packages/r/reckless/xmake.lua | 51 +++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 packages/r/reckless/xmake.lua diff --git a/packages/r/reckless/xmake.lua b/packages/r/reckless/xmake.lua new file mode 100644 index 00000000000..928b700d6bd --- /dev/null +++ b/packages/r/reckless/xmake.lua @@ -0,0 +1,51 @@ +package("reckless") + set_homepage("https://github.com/mattiasflodin/reckless") + set_description("Reckless logging. Low-latency, high-throughput, asynchronous logging library for C++.") + + add_urls("https://github.com/mattiasflodin/reckless/archive/refs/tags/$(version).tar.gz", + "https://github.com/mattiasflodin/reckless.git") + + add_versions("v3.0.3", "522656ded4aa72d2c465e48d43b9378c66108339fe3be4324ea0e601bf0537f9") + + add_deps("cmake") + + if is_plat("windows") then + add_syslinks("synchronization") + elseif is_plat("linux") then + add_syslinks("pthread") + end + + add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true}) + + on_install("linux|!arm*", "windows|!arm*", function (package) + io.replace("CMakeLists.txt", "add_library(reckless STATIC ${SRC_LIST})", "add_library(reckless STATIC ${SRC_LIST}) \n install(TARGETS reckless DESTINATION lib) \n install(DIRECTORY reckless/include/ DESTINATION include)", {plain = true}) + local configs = {} + table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) + import("package.tools.cmake").install(package, configs) + end) + + on_test(function (package) + assert(package:check_cxxsnippets({test = [[ + #include + #include + using log_t = reckless::severity_log< + reckless::indent<4>, + ' ', + reckless::severity_field, + reckless::timestamp_field + >; + reckless::file_writer writer("log.txt"); + log_t g_log(&writer); + void test() + { + std::string s("Hello World!"); + g_log.debug("Pointer: %p", s.c_str()); + g_log.info("Info line: %s", s); + for(int i=0; i!=4; ++i) { + reckless::scoped_indent indent; + g_log.warn("Warning: %d", i); + } + g_log.error("Error: %f", 3.14); + } + ]]}, {configs = {languages = "cxx11"}})) + end) From 145e30e0ee7576d42ca05f3c42dedf102e596460 Mon Sep 17 00:00:00 2001 From: apocelipes Date: Fri, 24 Jan 2025 21:32:10 +0800 Subject: [PATCH 05/48] cppitertools: update to v2024.10.19 (#6231) --- packages/c/cppitertools/xmake.lua | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/packages/c/cppitertools/xmake.lua b/packages/c/cppitertools/xmake.lua index be161ab3235..f665e745410 100644 --- a/packages/c/cppitertools/xmake.lua +++ b/packages/c/cppitertools/xmake.lua @@ -6,6 +6,7 @@ package("cppitertools") add_urls("https://github.com/ryanhaining/cppitertools.git") + add_versions("2024.10.19", "5a7f4aa357ed9b0ad59823e3d2acd57217d5beaf") add_versions("2023.07.04", "492c15aab96f4ca3938a6b734d6a08cb7feea75a") add_configs("boost", {description = "For zip_longest", default = false, type = "boolean"}) @@ -17,8 +18,12 @@ package("cppitertools") end) on_install(function (package) - os.cp("*.hpp", package:installdir("include/cppitertools")) - os.cp("internal", package:installdir("include/cppitertools")) + if package:version():gt("2023.07.04") then + os.cp("cppitertools", package:installdir("include")) + else + os.cp("*.hpp", package:installdir("include/cppitertools")) + os.cp("internal", package:installdir("include/cppitertools")) + end end) on_test(function (package) From c42fe3532ac3d323a2ffb711348bf89168a48c2f Mon Sep 17 00:00:00 2001 From: ruki Date: Sat, 25 Jan 2025 10:02:36 +0800 Subject: [PATCH 06/48] Update dispenso to v1.4.0 (#6232) --- packages/d/dispenso/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/d/dispenso/xmake.lua b/packages/d/dispenso/xmake.lua index b90344ea1ae..1bd603ac577 100644 --- a/packages/d/dispenso/xmake.lua +++ b/packages/d/dispenso/xmake.lua @@ -6,6 +6,7 @@ package("dispenso") add_urls("https://github.com/facebookincubator/dispenso/archive/refs/tags/$(version).tar.gz", "https://github.com/facebookincubator/dispenso.git") + add_versions("v1.4.0", "d1c84ba77d6d3a0da24010a930c81acb4c149532afd8ab352c9cae54c51b6f72") add_versions("v1.3.0", "824afe8d0d36bfd9bc9b1cbe9be89e7f3ed642a3612766d1c99d5f8dfc647c63") add_versions("v1.2.0", "a44d9cf2f9234f5cbdbe4050fd26e63f3266b64955731651adf04dbb7f6b31df") add_versions("v1.1.0", "581f95c16cd479692bc89448d0648f6ce24162454308c544c4d35bf5e9efe5c8") From f3b138854bf80754a8a52068e9cfccdc5ea8528a Mon Sep 17 00:00:00 2001 From: Shiwei Wang <4977975+wsw0108@users.noreply.github.com> Date: Sun, 26 Jan 2025 10:49:40 +0800 Subject: [PATCH 07/48] ufbx: install extra files to includedir (#6233) Install the files under the "extra" folder for convenient use in C++ project and others. --- packages/u/ufbx/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/u/ufbx/xmake.lua b/packages/u/ufbx/xmake.lua index 63b7f5e907a..72af043eab8 100644 --- a/packages/u/ufbx/xmake.lua +++ b/packages/u/ufbx/xmake.lua @@ -28,6 +28,7 @@ package("ufbx") end ]]) import("package.tools.xmake").install(package) + os.trycp("extra/*", package:installdir("include")) end) on_test(function (package) From 1b3d631fca37dec9e3139d87fd284fb54c26de28 Mon Sep 17 00:00:00 2001 From: Iiro Surakka Date: Sun, 26 Jan 2025 15:04:47 +0200 Subject: [PATCH 08/48] Fix box2d build when using commit hash as version (#6234) --- packages/b/box2d/xmake.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/b/box2d/xmake.lua b/packages/b/box2d/xmake.lua index 403fd00e76d..934e608e13a 100644 --- a/packages/b/box2d/xmake.lua +++ b/packages/b/box2d/xmake.lua @@ -19,7 +19,7 @@ package("box2d") if on_check then on_check(function (package) - if package:version():ge("3.0.0") then + if package:gitref() or package:version():ge("3.0.0") then if package:check_sizeof("void*") == "4" then raise("package(box2d >=3.0.0) unsupported 32-bit") end From f4cd9a69505405d4b72040449f2dbcfae0e77f06 Mon Sep 17 00:00:00 2001 From: Shiffted Date: Mon, 27 Jan 2025 07:09:01 +0100 Subject: [PATCH 09/48] Remove platform requirements for gcem (#6235) * Remove platform requirements for gcem * Enable required policy for android --- packages/g/gcem/xmake.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/g/gcem/xmake.lua b/packages/g/gcem/xmake.lua index 0010e7fc01c..50852cd55d2 100644 --- a/packages/g/gcem/xmake.lua +++ b/packages/g/gcem/xmake.lua @@ -13,8 +13,9 @@ package("gcem") add_versions("v1.16.0", "119c742b9371c0adc7d9cd710c3cbc575459a98fb63f6be4c636215dcf8404ce") add_deps("cmake") - on_install("windows", "macosx", "linux", "mingw", function (package) - import("package.tools.cmake").install(package) + on_install(function (package) + local configs = {"-DCMAKE_POLICY_DEFAULT_CMP0057=NEW"} + import("package.tools.cmake").install(package, configs) end) on_test(function (package) From 243f78df4dbc6f34ce7fafa0c490a3770a1e7e77 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 27 Jan 2025 15:08:55 +0800 Subject: [PATCH 10/48] Update yoga to v3.2.1 (#6236) --- packages/y/yoga/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/y/yoga/xmake.lua b/packages/y/yoga/xmake.lua index f935a74c9ed..a3b36f505e9 100644 --- a/packages/y/yoga/xmake.lua +++ b/packages/y/yoga/xmake.lua @@ -6,6 +6,7 @@ package("yoga") add_urls("https://github.com/facebook/yoga/archive/refs/tags/$(version).tar.gz", "https://github.com/facebook/yoga.git") + add_versions("v3.2.1", "86b399ac31fd820d8ffa823c3fae31bb690b6fc45301b2a8a966c09b5a088b55") add_versions("v3.2.0", "a963392c6c120a35f097b5b793d2b9b6684b94443ff873b0e521649a69a0b607") add_versions("v3.1.0", "06ff9e6df9b2388a0c6ef8db55ba9bc2ae75e716e967cd12cf18785f6379159e") add_versions("v3.0.4", "ef3ce5106eed03ab2e40dcfe5b868936a647c5f02b7ffd89ffaa5882dca3ef7f") From e40a554bbb0779a869ccb54e07e49e42f8d3d4b7 Mon Sep 17 00:00:00 2001 From: ruki Date: Tue, 28 Jan 2025 00:12:28 +0800 Subject: [PATCH 11/48] Auto-update stc to v5.0 (#6229) * Update stc to v5.0 * Update xmake.lua * limit wasm shared --------- Co-authored-by: star9029 --- packages/s/stc/xmake.lua | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/packages/s/stc/xmake.lua b/packages/s/stc/xmake.lua index bdfc3096faf..aef5a159bbb 100644 --- a/packages/s/stc/xmake.lua +++ b/packages/s/stc/xmake.lua @@ -1,5 +1,4 @@ package("stc") - set_kind("library", {headeronly = true}) set_homepage("https://github.com/stclib/STC") set_description("A modern, user friendly, generic, type-safe and fast C99 container library: String, Vector, Sorted and Unordered Map and Set, Deque, Forward List, Smart Pointers, Bitset and Random numbers.") set_license("MIT") @@ -7,13 +6,45 @@ package("stc") add_urls("https://github.com/stclib/STC/archive/refs/tags/$(version).tar.gz", "https://github.com/stclib/STC.git") + add_versions("v5.0", "d61353852b9d7ef69b56fa32edcbc7934f2153385f3778536234201ceebcc950") add_versions("v4.2", "f16c3185ba5693f0257e5b521f0b6b3c11041433a4abbbbc531370364eb75d0c") + add_configs("checkscoped", {description = "Build checkscoped tool for c_guard* blocks", default = false, type = "boolean"}) + if is_plat("windows", "wasm") then + add_configs("shared", {description = "Download shared binaries.", default = false, type = "boolean", readonly = true}) + end + + on_load(function (package) + if package:version() and package:version():ge("5.0.0") then + package:add("deps", "meson", "ninja") + if package:config("checkscoped") then + package:add("deps", "flex", {kind = "binary"}) + end + else + package:set("kind", "library", {headeronly = true}) + end + end) + on_install(function (package) - os.cp("include", package:installdir()) + if package:version() and package:version():ge("5.0.0") then + local configs = {"-Dtests=disabled", "-Dexamples=disabled"} + table.insert(configs, "-Ddefault_library=" .. (package:config("shared") and "shared" or "static")) + table.insert(configs, "-Dcheckscoped=" .. (package:config("checkscoped") and "enabled" or "disabled")) + import("package.tools.meson").install(package, configs) + else + os.cp("include", package:installdir()) + end end) on_test(function (package) - local defines = {"i_type=Floats", "i_val=float"} - assert(package:has_cfuncs("Floats_push", {includes = "stc/cvec.h", configs = {defines = defines}})) + local opt = {} + opt.configs = { + defines = {"i_type=Floats", "i_val=float"} + } + if package:version() and package:version():ge("5.0.0") then + opt.includes = "stc/vec.h" + else + opt.includes = "stc/cvec.h" + end + assert(package:has_cfuncs("Floats_push", opt)) end) From f47499005185003aad2c9c5b906180939b0bfadd Mon Sep 17 00:00:00 2001 From: Frityet Date: Tue, 28 Jan 2025 01:37:05 +0000 Subject: [PATCH 12/48] Update ObjFW (#5986) * Updated objfw * update objfw * use package:is_plat * Updated objfw * Update xmake.lua * remove debug message * add objfw v1.2-v1.2.2 --------- Co-authored-by: ruki --- packages/o/objfw/xmake.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/o/objfw/xmake.lua b/packages/o/objfw/xmake.lua index 735ab199fce..cdf4a47e133 100644 --- a/packages/o/objfw/xmake.lua +++ b/packages/o/objfw/xmake.lua @@ -23,8 +23,10 @@ package("objfw") add_versions("1.1.4", "f6bfdbab22008aae3e4b48d77ced1a04c5153961c6f7e5492891f90ae5131a78") add_versions("1.1.5", "9d45d2009a0bb9b1a0918918e454b47b8161670df8016b5f3a85eccea91d8988") add_versions("1.1.6", "c19a97a011e14780fb32cfbdbbd6a699a955b57124e4e079768cb8aad4430e1d") - add_versions("1.1.7", "5107d8a0627e2270d211abf1b4f6c50fd89c8d672d2179b50daa7d3b66d68a70") - + add_versions("1.1.7", "5107d8a0627e2270d211abf1b4f6c50fd89c8d672d2179b50daa7d3b66d68a70") + add_versions("1.2.0", "f1d92b64f524a1aaf8e8b572a0edf5817d589c3d3c60cab9bb182ccbac3ee405") + add_versions("1.2.1", "637fdeccae149cec236e62c5289450afad542fe930343918856e76594ab3fcfd") + add_versions("1.2.2", "4fe0bed1ec21561a184d804aa577ff630f1e3d20b1c3b973073e23ce829294a1") if is_host("linux", "macosx") then add_deps("autoconf", "automake", "libtool") end @@ -129,7 +131,6 @@ package("objfw") local ssl_incdir = find_path(is_gnu and "gnutls/gnutls.h" or "openssl/ssl.h", { ssl:installdir("include"), "/usr/include/", "/usr/local/include" }) if libssl then - print("Using SSL "..ssl:name().." from "..libssl.linkdir..", include dir: "..ssl_incdir) table.insert(configs, "CPPFLAGS=-I"..ssl_incdir) table.insert(configs, "LDFLAGS=-L"..libssl.linkdir) else From 07531784162894d6bbd86c6df42d04b3e027b9e9 Mon Sep 17 00:00:00 2001 From: star9029 Date: Tue, 28 Jan 2025 20:54:01 +0800 Subject: [PATCH 13/48] octree: add package (#6223) * octree: add package * set submodules false * limit arch * Improve test * Update xmake.lua * limit --- packages/o/octree/xmake.lua | 48 +++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 packages/o/octree/xmake.lua diff --git a/packages/o/octree/xmake.lua b/packages/o/octree/xmake.lua new file mode 100644 index 00000000000..aa010246fac --- /dev/null +++ b/packages/o/octree/xmake.lua @@ -0,0 +1,48 @@ +package("octree") + set_kind("library", {headeronly = true}) + set_homepage("https://github.com/attcs/Octree") + set_description("Octree/Quadtree/N-dimensional linear tree") + set_license("MIT") + + set_urls("https://github.com/attcs/Octree/archive/refs/tags/$(version).tar.gz", + "https://github.com/attcs/Octree.git", {submodules = false}) + + add_versions("v2.5", "86088cd000254aeddf4f9d75c0600b7f799e062340394124d69760829ed317fe") + + on_check(function (package) + if not package:is_arch("x64", "x86", "x86_64") then + raise("package(octree) only support x86 arch") + end + + local msvc = package:toolchain("msvc") + if package:is_arch("x64") and msvc then + local vs_toolset = msvc:config("vs_toolset") + if vs_toolset then + local vs_toolset_ver = import("core.base.semver").new(vs_toolset) + local minor = vs_toolset_ver:minor() + assert(minor and minor >= 30, "package(octree) require vs_toolset >= 14.3") + end + end + end) + + on_install(function (package) + os.cp("*.h", package:installdir("include")) + end) + + on_test(function (package) + assert(package:check_cxxsnippets({test = [[ + using namespace OrthoTree; + void test() { + auto constexpr points = std::array{ Point3D{0,0,0}, Point3D{1,1,1}, Point3D{2,2,2} }; + auto const octree = OctreePointC(points, 3 /*max depth*/); + + auto const searchBox = BoundingBox3D{ {0.5, 0.5, 0.5}, {2.5, 2.5, 2.5} }; + auto const pointIDs = octree.RangeSearch(searchBox); //: { 1, 2 } + + auto neighborNo = 2; + auto pointIDsByKNN = octree.GetNearestNeighbors(Point3D{ 1.1, 1.1, 1.1 } + , neighborNo + ); //: { 1, 2 } + } + ]]}, {configs = {languages = "c++20"}, includes = "octree.h"})) + end) From 104467255ca7b9bc791a198e8d7c5ee494ba6f06 Mon Sep 17 00:00:00 2001 From: apocelipes Date: Tue, 28 Jan 2025 22:20:34 +0800 Subject: [PATCH 14/48] CImg: update to v3.5.1 (#6238) --- packages/c/cimg/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/c/cimg/xmake.lua b/packages/c/cimg/xmake.lua index 161d0e0f946..e83dfc98876 100644 --- a/packages/c/cimg/xmake.lua +++ b/packages/c/cimg/xmake.lua @@ -9,6 +9,7 @@ package("cimg") end}) add_urls("https://github.com/greyclab/cimg.git") + add_versions("v3.5.1", "41930b9ab4627a87140bacee8f98e97332df3f60993bd568b89f6ac5b7186e1f") add_versions("v3.5.0", "e23205a75b640423fdac394bd77b5e36a56070743892656fe6705597f38bfc3a") add_versions("v3.4.3", "87dc0a945a350222253d61dc680fdca3878b92827d63a47a6cb1e1b3772050e0") add_versions("v3.4.2", "d427168370301f6d288d9e1c69fcc48d9d4919e977ac5c2ec013ae6ac5613efb") From 80b6e0bbd74cb635fece106df0b5a59c376edc8f Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 29 Jan 2025 10:16:34 +0800 Subject: [PATCH 15/48] Update aws-c-sdkutils to v0.2.3 (#6241) --- packages/a/aws-c-sdkutils/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/a/aws-c-sdkutils/xmake.lua b/packages/a/aws-c-sdkutils/xmake.lua index c62f8cc6da2..815f8f715ec 100644 --- a/packages/a/aws-c-sdkutils/xmake.lua +++ b/packages/a/aws-c-sdkutils/xmake.lua @@ -6,6 +6,7 @@ package("aws-c-sdkutils") add_urls("https://github.com/awslabs/aws-c-sdkutils/archive/refs/tags/$(version).tar.gz", "https://github.com/awslabs/aws-c-sdkutils.git") + add_versions("v0.2.3", "5a0489d508341b84eea556e351717bc33524d3dfd6207ee3aba6068994ea6018") add_versions("v0.2.2", "75defbfd4d896b8bdc0790bd25d854218acae61b9409d1956d33832924b82045") add_versions("v0.2.1", "17bdec593f3ae8a837622ef81055db81cc2dd14b86d33b21df878a7ab918d0e4") add_versions("v0.2.0", "5c73caa1c0ebde71b357d05a8f0ff6c1be09b32e0935b16d7385c9342f3e59c2") From 67c53a042bc6fa7ffb39f3fef3334184c5036338 Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 29 Jan 2025 10:16:36 +0800 Subject: [PATCH 16/48] Update cgns to v4.5.0 (#6240) --- packages/c/cgns/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/c/cgns/xmake.lua b/packages/c/cgns/xmake.lua index b2a7fae07b2..be2c5e26ce1 100644 --- a/packages/c/cgns/xmake.lua +++ b/packages/c/cgns/xmake.lua @@ -4,6 +4,7 @@ package("cgns") set_description("CFD General Notation System") add_urls("https://github.com/CGNS/CGNS/archive/refs/tags/$(version).tar.gz") + add_versions("v4.5.0", "c72355219318755ba0a8646a8e56ee1c138cf909c1d738d258d2774fa4b529e9") add_versions("v4.4.0", "3b0615d1e6b566aa8772616ba5fd9ca4eca1a600720e36eadd914be348925fe2") add_versions("v4.2.0", "090ec6cb0916d90c16790183fc7c2bd2bd7e9a5e3764b36c8196ba37bf1dc817") From ccef050bde16db3f45194d7ddc7dc73359375142 Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 29 Jan 2025 11:10:21 +0800 Subject: [PATCH 17/48] Update frugally-deep to v0.16.2 (#6243) --- packages/f/frugally-deep/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/f/frugally-deep/xmake.lua b/packages/f/frugally-deep/xmake.lua index bad06f878d3..f332f7e7b05 100644 --- a/packages/f/frugally-deep/xmake.lua +++ b/packages/f/frugally-deep/xmake.lua @@ -7,6 +7,7 @@ package("frugally-deep") add_urls("https://github.com/Dobiasd/frugally-deep/archive/refs/tags/$(version).tar.gz", "https://github.com/Dobiasd/frugally-deep.git") + add_versions("v0.16.2", "b16af09606dcf02359de53b7c47323baaeda9a174e1c87e126c3127c55571971") add_versions("v0.16.0", "5ffe8dddb43a645094b2ca1d48e4ee78e685fbef3c89f08cea8425a39dad9865") add_versions("v0.15.31", "49bf5e30ad2d33e464433afbc8b6fe8536fc959474004a1ce2ac03d7c54bc8ba") add_versions("v0.15.29", "032cd525d4a7b9b3ebe28fd5e3984ac3e569da496f65d52c81030aabd9d0c52e") From 626925f658e1e07ca00d46143c4451412a2f1d22 Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 29 Jan 2025 11:10:24 +0800 Subject: [PATCH 18/48] Update reflect-cpp to v0.17.0 (#6242) --- packages/r/reflect-cpp/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/r/reflect-cpp/xmake.lua b/packages/r/reflect-cpp/xmake.lua index fff604cf90a..cf28691a82e 100644 --- a/packages/r/reflect-cpp/xmake.lua +++ b/packages/r/reflect-cpp/xmake.lua @@ -6,6 +6,7 @@ package("reflect-cpp") add_urls("https://github.com/getml/reflect-cpp/archive/refs/tags/$(version).tar.gz", "https://github.com/getml/reflect-cpp.git", {submodules = false}) + add_versions("v0.17.0", "08b6406cbe4c6c14ff1a619fe93a94f92f6d9eb22213d93529ad975993945e45") add_versions("v0.16.0", "a84d94dbd353d788926d6e54507b44c046863f7bc4ecb35afe0338374a68a77d") add_versions("v0.14.1", "639aec9d33025703a58d32c231ab1ab474c0cc4fb0ff90eadcaffb49271c41cd") add_versions("v0.14.0", "ea92a2460a71184b7d4fa4e9baad9910efad092df78b114459a7d6b0ee558d3c") From cd3b5b53049227a7213fc409480a351cdbb39572 Mon Sep 17 00:00:00 2001 From: ruki Date: Wed, 29 Jan 2025 16:13:28 +0800 Subject: [PATCH 19/48] Auto-update kuba-zip to v0.3.3 (#6228) * Update kuba-zip to v0.3.3 * Update xmake.lua --------- Co-authored-by: star9029 --- packages/k/kuba-zip/xmake.lua | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/packages/k/kuba-zip/xmake.lua b/packages/k/kuba-zip/xmake.lua index c0a96fbc8b5..6d3bfad6416 100644 --- a/packages/k/kuba-zip/xmake.lua +++ b/packages/k/kuba-zip/xmake.lua @@ -6,6 +6,7 @@ package("kuba-zip") add_urls("https://github.com/kuba--/zip/archive/refs/tags/$(version).tar.gz", "https://github.com/kuba--/zip.git") + add_versions("v0.3.3", "89d28f37dbb3e21c3435a2ab34aff1b5ff75dd1ec1760d28577cc766bea06719") add_versions("v0.3.2", "0c33740aec7a3913bca07df360420c19cac5e794e0f602f14f798cb2e6f710e5") add_versions("v0.3.1", "775b8a44b53e72a55c13839bf507219c2cf30b26f62e70f1a20bb727db54438f") add_versions("v0.2.2", "f278b1da5e5382c7a1a1db1502cfa1f6df6b1e05e36253d661344d30277f9895") @@ -14,19 +15,16 @@ package("kuba-zip") add_deps("cmake") - on_install("windows", "macosx", "linux", "mingw", function (package) + on_install("windows", "macosx", "linux", "mingw", "msys", function (package) + if package:is_plat("windows", "mingw") and package:config("shared") then + package:add("defines", "ZIP_SHARED") + end + io.replace("CMakeLists.txt", "-Werror", "", {plain = true}) local configs = {"-DCMAKE_DISABLE_TESTING=ON", "-DZIP_BUILD_DOCS=OFF"} table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:is_debug() and "Debug" or "Release")) - if package:config("shared") then - table.insert(configs, "-DBUILD_SHARED_LIBS=ON") - if package:is_plat("windows", "mingw") then - package:add("defines", "ZIP_SHARED") - end - else - table.insert(configs, "-DBUILD_SHARED_LIBS=OFF") - end + table.insert(configs, "-DBUILD_SHARED_LIBS=" .. (package:config("shared") and "ON" or "OFF")) import("package.tools.cmake").install(package, configs) end) From a02d11fd4f7de53ce69e130429894b4c20c2850a Mon Sep 17 00:00:00 2001 From: apocelipes Date: Wed, 29 Jan 2025 21:48:47 +0800 Subject: [PATCH 20/48] CImg: update to v3.5.2 (#6244) --- packages/c/cimg/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/c/cimg/xmake.lua b/packages/c/cimg/xmake.lua index e83dfc98876..fd03a3352ed 100644 --- a/packages/c/cimg/xmake.lua +++ b/packages/c/cimg/xmake.lua @@ -9,6 +9,7 @@ package("cimg") end}) add_urls("https://github.com/greyclab/cimg.git") + add_versions("v3.5.2", "6ece3344b65cfcc30b286df9c621a66634c3a79da0b5041b4e01e3b33f2d22f1") add_versions("v3.5.1", "41930b9ab4627a87140bacee8f98e97332df3f60993bd568b89f6ac5b7186e1f") add_versions("v3.5.0", "e23205a75b640423fdac394bd77b5e36a56070743892656fe6705597f38bfc3a") add_versions("v3.4.3", "87dc0a945a350222253d61dc680fdca3878b92827d63a47a6cb1e1b3772050e0") From 1b23c7e73337fc656d634f9d633d1e568ab0dd99 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 30 Jan 2025 10:34:55 +0800 Subject: [PATCH 21/48] Update libassert to v2.1.4 (#6248) --- packages/l/libassert/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/l/libassert/xmake.lua b/packages/l/libassert/xmake.lua index 5772b8a6dd6..15a480b7160 100644 --- a/packages/l/libassert/xmake.lua +++ b/packages/l/libassert/xmake.lua @@ -6,6 +6,7 @@ package("libassert") add_urls("https://github.com/jeremy-rifkin/libassert/archive/refs/tags/$(version).tar.gz", "https://github.com/jeremy-rifkin/libassert.git") + add_versions("v2.1.4", "9fa5f5b69e24d020a72b706f05802bf0028587b93a43b59bc99b5bef305b0c72") add_versions("v2.1.2", "a7220ca354270deca08a7a162b93523c738ba3c8037a4df1a46ababfdc664196") add_versions("v2.1.1", "2bdf27523f964f41668d266cfdbd7f5f58988af963d976577195969ed44359d1") add_versions("v2.1.0", "e42405b49cde017c44c78aacac35c6e03564532838709031e73d10ab71f5363d") From 1e8d315bdd392c0c185d147775a34325cfd87969 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 30 Jan 2025 10:34:59 +0800 Subject: [PATCH 22/48] Update libxmake to v2.9.7 (#6246) --- packages/l/libxmake/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/l/libxmake/xmake.lua b/packages/l/libxmake/xmake.lua index 6ac2a316c4f..450c48e83f2 100644 --- a/packages/l/libxmake/xmake.lua +++ b/packages/l/libxmake/xmake.lua @@ -8,6 +8,7 @@ package("libxmake") "https://github.com/xmake-io/xmake.git", "https://gitlab.com/tboox/xmake.git") + add_versions("v2.9.7", "248e496a5a734c89e167f931e2620c0ea4109e7ca913dc1022735129a5ffe9d3") add_versions("v2.9.6", "47f6efcb00f90c98a02c395f973b4d55bdd3a8fe452676dce57b55c055759686") add_versions("v2.9.5", "03feb5787e22fab8dd40419ec3d84abd35abcd9f8a1b24c488c7eb571d6724c8") add_versions("v2.9.4", "75e2dde2bd2a48a332989b801ae65077c452d491fec517a9db27a81c8713cdc5") From 8fa841c7fe70c05fc2edc137cbdcab414a5ebd38 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 30 Jan 2025 11:09:33 +0800 Subject: [PATCH 23/48] Update tinygltf to v2.9.5 (#6250) --- packages/t/tinygltf/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/t/tinygltf/xmake.lua b/packages/t/tinygltf/xmake.lua index 1797d982a75..de37737a8a2 100644 --- a/packages/t/tinygltf/xmake.lua +++ b/packages/t/tinygltf/xmake.lua @@ -7,6 +7,7 @@ package("tinygltf") add_urls("https://github.com/syoyo/tinygltf/archive/refs/tags/$(version).tar.gz", "https://github.com/syoyo/tinygltf.git") + add_versions("v2.9.5", "7b93da27c524dd17179a0eeba6f432b0060d82f6222630ba027c219ce11e24db") add_versions("v2.9.3", "f5f282508609a0098048c8ff25d72f4ef0995bc1d46bc7a5d740e559d80023d2") add_versions("v2.9.2", "b34d1456bb1d63bbb4e05ea1e4d8691d0253a03ef72385a8bffd2fae4b743feb") add_versions("v2.8.22", "97c3eb1080c1657cd749d0b49af189c6a867d5af30689c48d5e19521e7b5a070") From 38b19e943dc84b1ec90997f48a4b66e61ecbdee2 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 30 Jan 2025 17:11:11 +0800 Subject: [PATCH 24/48] Update protobuf-cpp to 29.3 (#6227) --- packages/p/protobuf-cpp/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/p/protobuf-cpp/xmake.lua b/packages/p/protobuf-cpp/xmake.lua index 05ad8f3f579..3522b15a400 100644 --- a/packages/p/protobuf-cpp/xmake.lua +++ b/packages/p/protobuf-cpp/xmake.lua @@ -13,6 +13,7 @@ package("protobuf-cpp") end}) -- TODO: Use x.y.z version? https://protobuf.dev/support/version-support + add_versions("29.3", "e9b9ac1910b1041065839850603caf36e29d3d3d230ddf52bd13778dd31b9046") add_versions("29.2", "60c1ab4befe9d0a975c2344b5511bf6b44f91ec3e1426c878f56bf30a0589c43") add_versions("28.1", "0ac35978514f3e868181ea60237e695d892d4748ac03fb926a26ac7e2698aa29") add_versions("28.0", "979027233837dceaf927402e789261e46d4ff87ce45b3e38be8b15c4a1f696a3") From a1316845c3d26a797726e180577dfafd7e9602c3 Mon Sep 17 00:00:00 2001 From: ruki Date: Thu, 30 Jan 2025 20:16:51 +0800 Subject: [PATCH 25/48] Auto-update reactiveplusplus to v2.2.2 (#6199) * Update reactiveplusplus to v2.2.2 * Update xmake.lua * Update xmake.lua * Update xmake.lua * Update xmake.lua * Update xmake.lua --------- Co-authored-by: star9029 --- packages/r/reactiveplusplus/xmake.lua | 31 ++++++++++++++++++++++++--- 1 file changed, 28 insertions(+), 3 deletions(-) diff --git a/packages/r/reactiveplusplus/xmake.lua b/packages/r/reactiveplusplus/xmake.lua index 09e1285236b..dc388bbc5e8 100644 --- a/packages/r/reactiveplusplus/xmake.lua +++ b/packages/r/reactiveplusplus/xmake.lua @@ -7,13 +7,38 @@ package("reactiveplusplus") add_urls("https://github.com/victimsnino/ReactivePlusPlus/archive/refs/tags/$(version).tar.gz", "https://github.com/victimsnino/ReactivePlusPlus.git") - add_versions("v2.1.1", "0b962478d7c973a1f74062ce7f8d24c2fdcd2733031b1f014e65d252d59ebe6a", - "v2.1.0", "d84a194ef96b92201ea574f81780837c95e8956bbad09b3dc2dc5cef7c2eef98", - "v0.2.3", "9542419f8d7da98126ba2c6ae08fab287b4b3798d89cf75ed9bed2a9e3ec1678") + add_versions("v2.2.2", "54b2bf457996bd3d22e3b33fb98a8d0a3867dfa2d5e23991718dcd94ba6e4157") + add_versions("v2.1.1", "0b962478d7c973a1f74062ce7f8d24c2fdcd2733031b1f014e65d252d59ebe6a") + add_versions("v2.1.0", "d84a194ef96b92201ea574f81780837c95e8956bbad09b3dc2dc5cef7c2eef98") + add_versions("v0.2.3", "9542419f8d7da98126ba2c6ae08fab287b4b3798d89cf75ed9bed2a9e3ec1678") add_deps("cmake") add_includedirs("include/rpp") + if on_check then + on_check(function (package) + if package:is_plat("android") then + local ndk = package:toolchain("ndk") + local ndkver = ndk:config("ndkver") + assert(ndkver and tonumber(ndkver) > 22, "package(reactiveplusplus) require ndk version > 22") + end + if package:version() and package:version():ge("2.1.0") then + local msvc = package:toolchain("msvc") + if msvc then + local vs_toolset = msvc:config("vs_toolset") + if vs_toolset then + local vs_toolset_ver = import("core.base.semver").new(vs_toolset) + local minor = vs_toolset_ver:minor() + assert(minor and minor >= 30, "package(reactiveplusplus >=2.2.0) require vs_toolset >= 14.3") + end + end + if package:is_plat("android") then + raise("package(reactiveplusplus >=2.2.0) unsupported current platform") + end + end + end) + end + on_install(function (package) import("package.tools.cmake").install(package, configs) end) From 4b0acbed9271067c294565d4391abe52446c2c88 Mon Sep 17 00:00:00 2001 From: MicroBlock <66859419+std-microblock@users.noreply.github.com> Date: Thu, 30 Jan 2025 20:21:16 +0800 Subject: [PATCH 26/48] Update xmake.lua (#6245) --- packages/r/reflect-cpp/xmake.lua | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/packages/r/reflect-cpp/xmake.lua b/packages/r/reflect-cpp/xmake.lua index cf28691a82e..a3ea7bba6ba 100644 --- a/packages/r/reflect-cpp/xmake.lua +++ b/packages/r/reflect-cpp/xmake.lua @@ -120,10 +120,9 @@ package("reflect-cpp") table.insert(configs, "-DREFLECTCPP_UBJSON=" .. (package:config("ubjson") and "ON" or "OFF")) table.insert(configs, "-DREFLECTCPP_YAML=" .. (package:config("yaml") and "ON" or "OFF")) import("package.tools.cmake").install(package, configs) - else - os.rm("include/thirdparty") - os.cp("include", package:installdir()) end + os.rm("include/thirdparty") + os.cp("include", package:installdir()) end) on_test(function (package) From 6e75093a182a16b1ef18acde83c9fa3e26f1d794 Mon Sep 17 00:00:00 2001 From: ruki Date: Fri, 31 Jan 2025 10:33:15 +0800 Subject: [PATCH 27/48] Update libuv to v1.50.0 (#6253) --- packages/l/libuv/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/l/libuv/xmake.lua b/packages/l/libuv/xmake.lua index 69a6f2eeb0f..9374e0bf5fa 100644 --- a/packages/l/libuv/xmake.lua +++ b/packages/l/libuv/xmake.lua @@ -6,6 +6,7 @@ package("libuv") set_urls("https://github.com/libuv/libuv/archive/refs/tags/$(version).zip", "https://github.com/libuv/libuv.git") + add_versions("v1.50.0", "038f48e48b3d15c9341dfe1fa5099b83b52ac30f15c97a67269163f8f8ab99ac") add_versions("v1.49.2", "9050042ac6cbd85c644e38c23a67e9f8a9d32eafe71479bbea674b4125489141") add_versions("v1.49.1", "94312ede44c6cae544ae316557e2651aea65efce5da06f8d44685db08392ec5d") add_versions("v1.49.0", "99378c7911af3f0141b085aa59feb76ff54885e4bbc516be677c06c952fb9fa0") From 40df0b205767b82878688e59bbadfd8dc8d8ff65 Mon Sep 17 00:00:00 2001 From: Inari0 <42310255+xq114@users.noreply.github.com> Date: Fri, 31 Jan 2025 17:20:51 +0800 Subject: [PATCH 28/48] update cacert (#6257) --- packages/c/ca-certificates/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/c/ca-certificates/xmake.lua b/packages/c/ca-certificates/xmake.lua index 958c709e083..845d38acacb 100644 --- a/packages/c/ca-certificates/xmake.lua +++ b/packages/c/ca-certificates/xmake.lua @@ -9,6 +9,7 @@ package("ca-certificates") add_versions("20220604", "a56ded4677055bbf05d94c32bddd76b22a134cab764e1ed8da8e3c080ca80ca6") add_versions("20230306", "f9228e16c17b411de9d592e43242b4405568daad029380b2db7e3e4227d5a6a6") add_versions("20240207", "8f533c3791c6d3249eddb181ae4ff06b20facdefba1f514d9fed03f48ffc4c09") + add_versions("20250131", "d54be45156b2ad034f2ce582f85baefa157ab23142e8c2b75a1379d97cd16186") on_install(function (package) os.cp("cacert.pem", package:installdir()) From 754963fa4aa7ab873d4ff038102596cae7781863 Mon Sep 17 00:00:00 2001 From: star9029 Date: Sat, 1 Feb 2025 00:04:09 +0800 Subject: [PATCH 29/48] minja: add package (#6258) --- packages/m/minja/xmake.lua | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 packages/m/minja/xmake.lua diff --git a/packages/m/minja/xmake.lua b/packages/m/minja/xmake.lua new file mode 100644 index 00000000000..2cfc4228e16 --- /dev/null +++ b/packages/m/minja/xmake.lua @@ -0,0 +1,29 @@ +package("minja") + set_kind("library", {headeronly = true}) + set_homepage("https://github.com/google/minja") + set_description("A minimalistic C++ Jinja templating engine for LLM chat templates") + set_license("MIT") + + add_urls("https://github.com/google/minja.git") + add_versions("2025.01.31", "76f0d01779aa00b0c68f2117f6cb2c9afc3a0ca8") + + add_deps("nlohmann_json") + + on_install(function (package) + io.replace("include/minja/minja.hpp", "#include ", "#include ", {plain = true}) + + os.cp("include", package:installdir()) + end) + + on_test(function (package) + assert(package:check_cxxsnippets({test = [[ + using json = nlohmann::ordered_json; + void test() { + auto tmpl = minja::Parser::parse("Hello, {{ location }}!", /* options= */ {}); + auto context = minja::Context::make(minja::Value(json { + {"location", "World"}, + })); + auto result = tmpl->render(context); + } + ]]}, {configs = {languages = "c++17"}, includes = "minja/minja.hpp"})) + end) From bec4d660878489736cce870238650f09dfa34c37 Mon Sep 17 00:00:00 2001 From: ruki Date: Sun, 2 Feb 2025 00:20:44 +0800 Subject: [PATCH 30/48] Auto-update bzip3 to 1.5.1 (#6261) * Update bzip3 to 1.5.1 * Fix windows shared build --------- Co-authored-by: star9029 --- packages/b/bzip3/xmake.lua | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/b/bzip3/xmake.lua b/packages/b/bzip3/xmake.lua index a84b72b129d..055bffb9ea7 100644 --- a/packages/b/bzip3/xmake.lua +++ b/packages/b/bzip3/xmake.lua @@ -6,6 +6,7 @@ package("bzip3") add_urls("https://github.com/kspalaiologos/bzip3/archive/refs/tags/$(version).tar.gz", "https://github.com/kspalaiologos/bzip3.git") + add_versions("1.5.1", "1116c5984c87c2193f3981b53669c8cbb4ffd1b158de880be3c5ff27a35db400") add_versions("1.4.0", "d70334c19c7cce2cc6c823566b7d8968ff08a52043d518f55caebd2e407b2233") add_configs("native", {description = "Enable CPU-specific optimizations", default = false, type = "boolean"}) @@ -20,6 +21,10 @@ package("bzip3") local configs = {"-DBZIP3_BUILD_APPS=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")) + if package:config("shared") and package:is_plat("windows") then + table.insert(configs, "-DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=ON") + end + table.insert(configs, "-DBZIP3_ENABLE_ARCH_NATIVE=" .. (package:config("native") and "ON" or "OFF")) table.insert(configs, "-DBZIP3_ENABLE_PTHREAD=" .. (package:is_plat("linux", "bsd") and "ON" or "OFF")) import("package.tools.cmake").install(package, configs) From f92662442b09368dd71b5149c1605325c2aeb084 Mon Sep 17 00:00:00 2001 From: ruki Date: Sun, 2 Feb 2025 00:20:47 +0800 Subject: [PATCH 31/48] Update cpp-rotor to v0.33 (#6260) --- packages/c/cpp-rotor/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/c/cpp-rotor/xmake.lua b/packages/c/cpp-rotor/xmake.lua index fc898da32aa..55cc0cf3771 100644 --- a/packages/c/cpp-rotor/xmake.lua +++ b/packages/c/cpp-rotor/xmake.lua @@ -6,6 +6,7 @@ package("cpp-rotor") add_urls("https://github.com/basiliscos/cpp-rotor/archive/refs/tags/$(version).tar.gz", "https://github.com/basiliscos/cpp-rotor.git", {submodules = false}) + add_versions("v0.33", "0a57af1018e2ca89c9cd95ae134c4b2af2c8e803c81ebee5433495776830eea6") add_versions("v0.32", "b0b7a294704f1ab779b95ab433eb5f4a2859db3539108a0e08709fc97f6bccee") add_versions("v0.31", "c8d9b28083c7a9c32af2cbff1d90fe1e62def989f0f89baba1244c44fb8ec9e4") add_versions("v0.30", "d143bfce1d18d42ab0f072acfe239d1cc07a495411537579e02260673cbe8121") From 0bc0e303967608283309b523874fba92beb3e9d0 Mon Sep 17 00:00:00 2001 From: ruki Date: Sun, 2 Feb 2025 02:12:00 +0800 Subject: [PATCH 32/48] Update itlib to v1.11.5 (#6259) --- packages/i/itlib/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/i/itlib/xmake.lua b/packages/i/itlib/xmake.lua index 40c502dbdfa..a66972de0b9 100644 --- a/packages/i/itlib/xmake.lua +++ b/packages/i/itlib/xmake.lua @@ -7,6 +7,7 @@ package("itlib") add_urls("https://github.com/iboB/itlib/archive/refs/tags/$(version).tar.gz", "https://github.com/iboB/itlib.git") + add_versions("v1.11.5", "bc78b8f514dbeff2cb5a7d50dff5bc30c148ca23095838d54e6431828341fd5d") add_versions("v1.11.4", "09b155afcb9766fe36d0156294f6656956189235612eb7711903ebc22079c37e") add_versions("v1.11.1", "2c60e02660ea63dfb7a39237e29b30a066670cef228d22e8d0908e1fff2fa7f1") add_versions("v1.11.0", "871a96989b36560934ed86939e38ce8ff0a5a44303ed489dbde6444985702c73") From cf67f1f0ab241ee3ce9402274b1c8cf37f9f7728 Mon Sep 17 00:00:00 2001 From: Komo Date: Sun, 2 Feb 2025 08:39:33 +0800 Subject: [PATCH 33/48] libnyquist: new package (#6176) * libnyquist: new package * libnyquist: add -Wno-register patch * libnyquist: try -Wno-error=deprecated-register * libnyquist: fix input patch filename * libnyquist: try defining register * libnyquist: reduce tests * libnyquist: disable building example * libnyquist: explicitly set C++ standard * libnyquist: explicitly set C++ standard on tests * libnyquist: disable warning and determine arch endianness * libnyquist: disable warning on non-msvc compilers * libnyquist: block non-VS2017 from compiling * libnyquist: fix errors * Update xmake.lua * Update xmake.lua * Update xmake.lua * Update xmake.lua * Update xmake.lua * Update xmake.lua * Update xmake.lua * Update xmake.lua * Update xmake.lua * Update xmake.lua * Update xmake.lua * Update xmake.lua --------- Co-authored-by: ruki --- packages/l/libnyquist/xmake.lua | 51 +++++++++++++++++++++++++++++++++ packages/w/wavpack/xmake.lua | 13 ++++++++- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 packages/l/libnyquist/xmake.lua diff --git a/packages/l/libnyquist/xmake.lua b/packages/l/libnyquist/xmake.lua new file mode 100644 index 00000000000..5e71f944aae --- /dev/null +++ b/packages/l/libnyquist/xmake.lua @@ -0,0 +1,51 @@ +package("libnyquist") + set_homepage("https://github.com/ddiakopoulos/libnyquist") + set_description(":microphone: Cross platform C++11 library for decoding audio (mp3, wav, ogg, opus, flac, etc) ") + set_license("BSD-2-Clause") + + add_urls("https://github.com/ddiakopoulos/libnyquist.git") + add_versions("2023.02.12", "767efd97cdd7a281d193296586e708490eb6e54f") + + add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true}) + + add_deps("cmake") + add_deps("wavpack") + + if is_plat("linux", "bsd") then + add_syslinks("pthread") + end + + on_install("windows|!arm64", "linux", "macosx", "bsd", "wasm", function (package) + local configs = { + "-DCMAKE_CXX_STANDARD=14", + "-DLIBNYQUIST_BUILD_EXAMPLE=OFF", + "-DBUILD_LIBWAVPACK=OFF", + "-DBUILD_LIBOPUS=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")) + + io.replace("include/libnyquist/Common.h", "#if defined(__arm__) || defined(_M_ARM)", + "#if defined(__arm__) || defined(__arm64) || defined(__arm64__) || (defined(__aarch64__) && __aarch64__) || defined(_M_ARM64) || defined(_M_ARM)", {plain = true}) + + io.replace("CMakeLists.txt", "${wavpack_src}", "", {plain = true}) + io.replace("src/WavPackDecoder.cpp", "wavpack.h", "wavpack/wavpack.h", {plain = true}) + os.rm("third_party/wavpack") + import("package.tools.cmake").install(package, configs, {packagedeps = {"wavpack"}}) + os.cp("include", package:installdir()) + end) + + on_test(function (package) + assert(package:check_cxxsnippets({test = [[ + #include + #include + #include + + using namespace nqr; + + void test() { + NyquistIO loader; + std::string arg = "xxx"; + loader.Load(nullptr, arg); + } + ]]}, {configs = {languages = "c++14"}})) + end) diff --git a/packages/w/wavpack/xmake.lua b/packages/w/wavpack/xmake.lua index 1c264776c20..3703f53f388 100644 --- a/packages/w/wavpack/xmake.lua +++ b/packages/w/wavpack/xmake.lua @@ -36,7 +36,11 @@ package("wavpack") end end - local configs = {"-DWAVPACK_INSTALL_CMAKE_MODULE=OFF", "-DWAVPACK_INSTALL_DOCS=OFF", "-DWAVPACK_INSTALL_PKGCONFIG_MODULE=OFF"} + local configs = { + "-DWAVPACK_BUILD_PROGRAMS=OFF", + "-DWAVPACK_INSTALL_CMAKE_MODULE=OFF", + "-DWAVPACK_INSTALL_DOCS=OFF", + "-DWAVPACK_INSTALL_PKGCONFIG_MODULE=OFF"} 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")) @@ -47,6 +51,13 @@ package("wavpack") end import("package.tools.cmake").install(package, configs) + + if package:is_plat("windows") then + os.trycp(path.join(package:installdir("lib"), "libwavpack.a"), + path.join(package:installdir("lib"), "libwavpack.lib")) + os.trycp(path.join(package:installdir("lib"), "libwavpack.dll.a"), + path.join(package:installdir("lib"), "libwavpack.lib")) + end end) on_test(function (package) From 25c8a979323274ea0a9d910a349f9d9b8ec5def6 Mon Sep 17 00:00:00 2001 From: ruki Date: Sun, 2 Feb 2025 10:27:06 +0800 Subject: [PATCH 34/48] Update tinyexr to v1.0.10 (#6265) --- packages/t/tinyexr/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/t/tinyexr/xmake.lua b/packages/t/tinyexr/xmake.lua index 5218c6d7520..1221479028a 100644 --- a/packages/t/tinyexr/xmake.lua +++ b/packages/t/tinyexr/xmake.lua @@ -6,6 +6,7 @@ package("tinyexr") add_urls("https://github.com/syoyo/tinyexr/archive/refs/tags/$(version).tar.gz", "https://github.com/syoyo/tinyexr.git") + add_versions("v1.0.10", "d2e4cef7ec1ad48e5c363171d15458def77749221db8510bfdfd68cd927fe6cc") add_versions("v1.0.9", "f9e05127c3db23f9c4269c9a922ed0d3d911486efd884883e1f01b0ee19de91e") add_versions("v1.0.1", "4dbbd8c7d17597ad557518de5eb923bd02683d26d0de765f9224e8d57d121677") add_versions("v1.0.8", "b56446533f36496c3c76b8e4f664f04736b173c5e3f4903f6edff3753f363302") From d0fb307110b96fa5319b30bd0f8a71e197691738 Mon Sep 17 00:00:00 2001 From: Christian Kurz Date: Sun, 2 Feb 2025 04:04:47 +0100 Subject: [PATCH 35/48] Update capnproto to branch and with version 1.0.2 (#4780) * Update capnproto to branch and with version 1.0.2 * guess link order of capnproto libraries * add library mentioned in https://github.com/capnproto/capnproto/issues/1833 capnproto libraries as syslinks * limit capnproto library to x86 due to missing _popcnt & remove mingw as it is only supported in old versions * integrate suggested capnproto version by @mirageAlchemy * Update xmake.lua * Update xmake.lua * capnproto: use on_check instead of |x86_64 * capnproto: add dot for is_arch regex and not glob * capnproto: package:is_plat/package:is_arch * Update xmake.lua --------- Co-authored-by: ruki --- packages/c/capnproto/xmake.lua | 34 ++++++++++++++++++++++++++++++++-- 1 file changed, 32 insertions(+), 2 deletions(-) diff --git a/packages/c/capnproto/xmake.lua b/packages/c/capnproto/xmake.lua index 7ef45d774a5..20f4932c784 100644 --- a/packages/c/capnproto/xmake.lua +++ b/packages/c/capnproto/xmake.lua @@ -4,16 +4,41 @@ package("capnproto") set_description("Cap'n Proto serialization/RPC system - core tools and C++ library.") set_license("MIT") - set_urls("https://github.com/capnproto/capnproto/archive/v$(version).zip") + add_urls("https://github.com/capnproto/capnproto/archive/v$(version).zip") + add_urls("https://github.com/capnproto/capnproto.git") + + add_versions("1.1.0", "cefc757d4ee07acb17070b0c5c90bfa106b79468670869052246712bf8781fd9") + add_versions("1.0.2", "3c9afa5dffa4d81a3cbd0581a15a5b1633feaf43093a3b108aded0f636622752") add_versions("0.9.0", "18cf46aa4e05446a3d34bad8d56f9d0c73e72020a2b7548b6ec7cb7b1a828d5b") add_versions("0.8.0", "9a5e090b1f3ad39bb47fed5fd03672169493674ce273418b76c868393fced2e4") add_versions("0.7.0", "1054a879e174b8f797f1b506fedb14ecba5556c656e33ac51bd0a62bd90f925f") + add_links("capnpc", "capnp-json", "capnp", "capnp-websocket", "capnp-rpc") + add_links("kj-gzip", "kj-async", "kj-http", "kj", "kj-test", "kj-tls") + if is_plat("windows") then add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true}) end + if is_plat("windows", "mingw") then + add_syslinks("ws2_32") + elseif is_plat("linux", "bsd") then + add_syslinks("pthread") + end add_deps("cmake", "zlib") + + -- Add on_check to fail for version greater than 1.0.2 on Windows ARM and MingW + on_check(function (package) + if package:version() >= "1.0.2" then + if package:is_plat("windows") and package:is_arch("arm.*") then + raise("package(capnproto): Unsupported version on Windows ARM. Version 0.9.0 is the latest supported version on Windows ARM.") + end + if package:is_plat("mingw") then + raise("package(capnproto): Unsupported version on MingW. Version 0.9.0 is the latest supported version on MingW.") + end + end + end) + on_install("windows", "mingw@windows,msys", "linux", "macosx", "bsd", function (package) local configs = {"-DBUILD_TESTING=OFF"} table.insert(configs, "-DCMAKE_BUILD_TYPE=" .. (package:debug() and "Debug" or "Release")) @@ -23,5 +48,10 @@ package("capnproto") end) on_test(function (package) - assert(package:has_cxxtypes("capnp::MallocMessageBuilder", {configs = {languages = "c++14"}, includes = "capnp/message.h"})) + assert(package:check_cxxsnippets({test = [[ + #include "capnp/message.h" + void test() { + capnp::MallocMessageBuilder message; + } + ]]}, {configs = {languages = "c++14"}})) end) From 2317f11cedd775a26949e90c1362b101de5efb8d Mon Sep 17 00:00:00 2001 From: ruki Date: Sun, 2 Feb 2025 11:12:17 +0800 Subject: [PATCH 36/48] Update toml11 to v4.3.0 (#6269) --- packages/t/toml11/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/t/toml11/xmake.lua b/packages/t/toml11/xmake.lua index 9e9ad9a8c4e..2f1a0e56a95 100644 --- a/packages/t/toml11/xmake.lua +++ b/packages/t/toml11/xmake.lua @@ -7,6 +7,7 @@ package("toml11") add_urls("https://github.com/ToruNiina/toml11/archive/refs/tags/$(version).tar.gz", "https://github.com/ToruNiina/toml11.git") + add_versions("v4.3.0", "af95dab1bbb9b05a597e73d529a7269e13f1869e9ca9bd4779906c5cd96e282b") add_versions("v4.2.0", "9287971cd4a1a3992ef37e7b95a3972d1ae56410e7f8e3f300727ab1d6c79c2c") add_versions("v4.1.0", "fb4c02cc708ae28e6fc3496514e3625e4b6738ed4ce40897710ca4d7a29de4f7") add_versions("v4.0.3", "c8cbc7839cb3f235153045ce550e559f55a04554dfcab8743ba8a1e8ef6a54bf") From 7038d6ffe4ec018a916598cb31e09e7aba8f1329 Mon Sep 17 00:00:00 2001 From: kbz_8 Date: Sun, 2 Feb 2025 08:49:15 +0100 Subject: [PATCH 37/48] Adding patch for sol2 3.3.0 (#6251) * adding patch for sol2 3.3.0 * Disable wasm plat --------- Co-authored-by: star9029 --- packages/s/sol2/patches/3.3.0/optional.patch | 14 ++++++++++++++ packages/s/sol2/xmake.lua | 7 ++++--- 2 files changed, 18 insertions(+), 3 deletions(-) create mode 100644 packages/s/sol2/patches/3.3.0/optional.patch diff --git a/packages/s/sol2/patches/3.3.0/optional.patch b/packages/s/sol2/patches/3.3.0/optional.patch new file mode 100644 index 00000000000..815326b6956 --- /dev/null +++ b/packages/s/sol2/patches/3.3.0/optional.patch @@ -0,0 +1,14 @@ +diff --git a/include/sol/optional_implementation.hpp b/include/sol/optional_implementation.hpp +index 26f41d0c..e22226d6 100644 +--- a/include/sol/optional_implementation.hpp ++++ b/include/sol/optional_implementation.hpp +@@ -2191,7 +2191,8 @@ namespace sol { + static_assert(std::is_constructible::value, "T must be constructible with Args"); + + *this = nullopt; +- this->construct(std::forward(args)...); ++ new (static_cast(this)) optional(std::in_place, std::forward(args)...); ++ return **this; + } + + /// Swaps this optional with the other. diff --git a/packages/s/sol2/xmake.lua b/packages/s/sol2/xmake.lua index 5828ed6ff46..55132781e70 100644 --- a/packages/s/sol2/xmake.lua +++ b/packages/s/sol2/xmake.lua @@ -1,10 +1,9 @@ package("sol2") - set_kind("library", {headeronly = true}) set_homepage("https://github.com/ThePhD/sol2") set_description("A C++ library binding to Lua.") - set_urls("https://github.com/ThePhD/sol2/archive/$(version).tar.gz", + set_urls("https://github.com/ThePhD/sol2/archive/refs/tags/$(version).tar.gz", "https://github.com/ThePhD/sol2.git") add_versions("v3.3.0", "b82c5de030e18cb2bcbcefcd5f45afd526920c517a96413f0b59b4332d752a1e") @@ -14,6 +13,8 @@ package("sol2") add_configs("includes_lua", {description = "Should this package includes the Lua package (set to false if you're shipping a custom Lua)", default = true, type = "boolean"}) + add_patches(">=3.3.0", path.join(os.scriptdir(), "patches", "3.3.0", "optional.patch"), "8440f25e5dedc29229c3def85aa6f24e0eb165d4c390fd0e1312452a569a01a6") + if is_plat("mingw") and is_subhost("msys") then add_extsources("pacman::sol2") elseif is_plat("linux") then @@ -32,7 +33,7 @@ package("sol2") end end) - on_install(function (package) + on_install("!wasm", function (package) local configs = {} if package:config("includes_lua") then if package:version() and package:version():ge("3.3") then From 9e0ca520d8e002fde77d4b244fe0de6f0339c457 Mon Sep 17 00:00:00 2001 From: c8ef Date: Sun, 2 Feb 2025 21:40:46 +0800 Subject: [PATCH 38/48] update fmt to 11.1.3 (#6271) --- packages/f/fmt/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/f/fmt/xmake.lua b/packages/f/fmt/xmake.lua index 0a2ed41b2fa..637589398b4 100644 --- a/packages/f/fmt/xmake.lua +++ b/packages/f/fmt/xmake.lua @@ -6,6 +6,7 @@ package("fmt") set_urls("https://github.com/fmtlib/fmt/releases/download/$(version)/fmt-$(version).zip", "https://github.com/fmtlib/fmt.git") + add_versions("11.1.3", "7df2fd3426b18d552840c071c977dc891efe274051d2e7c47e2c83c3918ba6df") add_versions("11.1.2", "ef54df1d4ba28519e31bf179f6a4fb5851d684c328ca051ce5da1b52bf8b1641") add_versions("11.1.1", "a25124e41c15c290b214c4dec588385153c91b47198dbacda6babce27edc4b45") add_versions("11.1.0", "e32d42c6be8df768d744bf0e7d4d69c4ccdce0eda44292ba5265add817413f17") From 2064dbae961b644ca5449768ba18a47a5d2bf68e Mon Sep 17 00:00:00 2001 From: Inari0 <42310255+xq114@users.noreply.github.com> Date: Sun, 2 Feb 2025 21:41:43 +0800 Subject: [PATCH 39/48] update opencv and spdlog (#6264) --- packages/f/ffmpeg/xmake.lua | 13 ++++++++++--- packages/o/opencv/xmake.lua | 20 ++++++++++++++------ packages/s/spdlog/xmake.lua | 2 +- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/packages/f/ffmpeg/xmake.lua b/packages/f/ffmpeg/xmake.lua index 28de1cb6ef0..f189c29b1de 100644 --- a/packages/f/ffmpeg/xmake.lua +++ b/packages/f/ffmpeg/xmake.lua @@ -7,6 +7,7 @@ package("ffmpeg") add_urls("https://github.com/FFmpeg/FFmpeg/archive/n$(version).zip", {alias = "github"}) add_urls("https://git.ffmpeg.org/ffmpeg.git", "https://github.com/FFmpeg/FFmpeg.git", {alias = "git"}) + add_versions("home:7.1", "fd59e6160476095082e94150ada5a6032d7dcc282fe38ce682a00c18e7820528") add_versions("home:7.0", "a24d9074bf5523a65aaa9e7bd02afe4109ce79d69bd77d104fed3dab4b934d7a") add_versions("home:6.1", "eb7da3de7dd3ce48a9946ab447a7346bd11a3a85e6efb8f2c2ce637e7f547611") add_versions("home:6.0.1", "2c6e294569d1ba8e99cbf1acbe49e060a23454228a540a0f45d679d72ec69a06") @@ -15,6 +16,7 @@ package("ffmpeg") add_versions("home:5.0.1", "28df33d400a1c1c1b20d07a99197809a3b88ef765f5f07dc1ff067fac64c59d6") add_versions("home:4.4.4", "47b1fbf70a2c090d9c0fae5910da11c6406ca92408bb69d8c935cd46c622c7ce") add_versions("home:4.0.2", "346c51735f42c37e0712e0b3d2f6476c86ac15863e4445d9e823fe396420d056") + add_versions("github:7.1", "201fe5427412e0a0a0304a545f2aceb7e95e2ef1c26a7e486d3106fd156ed812") add_versions("github:7.0", "9ea4f1e934b1655c9a6dad579fd52fa299cd4f6a5f2b82be97daa98ff2e798d0") add_versions("github:6.1", "7da07ff7e30bca95c0593db20442becba13ec446dd9c3331ca3d1b40eecd3c93") add_versions("github:6.0.1", "2acb5738a1b4b262633ac2d646340403ae47120d9eb289ecad23fc90093c0d6c") @@ -23,6 +25,7 @@ package("ffmpeg") add_versions("github:5.0.1", "f9c2e06cafa4381df8d5c9c9e14d85d9afcbc10c516c6a206f821997cc7f6440") add_versions("github:4.4.4", "b0d16b48bd8ccb160e14291145294b0b12597e32b17175f7604288a8c73216de") add_versions("github:4.0.2", "4df1ef0bf73b7148caea1270539ef7bd06607e0ea8aa2fbf1bb34062a097f026") + add_versions("git:7.1", "n7.1") add_versions("git:7.0", "n7.0") add_versions("git:6.1", "n6.1") add_versions("git:6.0.1", "n6.0.1") @@ -48,7 +51,7 @@ package("ffmpeg") add_configs("libdrm", {description = "Enable libdrm hardware acceleration", default = true, type = "boolean"}) end - add_links("avfilter", "avdevice", "avformat", "avcodec", "swscale", "swresample", "avutil") + add_links("avfilter", "avdevice", "avformat", "avcodec", "swscale", "swresample", "avutil", "postproc") if is_plat("macosx", "iphoneos") then add_frameworks("CoreFoundation", "Foundation", "CoreVideo", "CoreMedia", "VideoToolbox", "Security") if is_plat("iphoneos") then @@ -59,7 +62,7 @@ package("ffmpeg") elseif is_plat("linux") then add_syslinks("dl", "pthread") elseif is_plat("android") then - add_syslinks("dl", "android") + add_syslinks("dl", "android", "mediandk") end add_deps("nasm") @@ -209,7 +212,11 @@ package("ffmpeg") if package:is_cross() then table.insert(configs, "--enable-cross-compile") - table.insert(configs, "--arch=" .. package:targetarch()) + local arch = package:targetarch() + if arch:match("arm64.*") then + arch = "arm64" + end + table.insert(configs, "--arch=" .. arch) end if package:is_plat("windows") then diff --git a/packages/o/opencv/xmake.lua b/packages/o/opencv/xmake.lua index b73cdf65b3b..0e07493b00e 100644 --- a/packages/o/opencv/xmake.lua +++ b/packages/o/opencv/xmake.lua @@ -6,6 +6,7 @@ package("opencv") add_urls("https://github.com/opencv/opencv/archive/$(version).tar.gz", "https://github.com/opencv/opencv.git") + add_versions("4.11.0", "9a7c11f924eff5f8d8070e297b322ee68b9227e003fd600d4b8122198091665f") add_versions("4.10.0", "b2171af5be6b26f7a06b1229948bbb2bdaa74fcf5cd097e0af6378fce50a6eb9") add_versions("4.9.0", "ddf76f9dffd322c7c3cb1f721d0887f62d747b82059342213138dc190f28bc6c") add_versions("4.8.0", "cbf47ecc336d2bff36b0dcd7d6c179a9bb59e805136af6b9670ca944aef889bd") @@ -18,6 +19,7 @@ package("opencv") add_versions("4.2.0", "9ccb2192d7e8c03c58fee07051364d94ed7599363f3b0dce1c5e6cc11c1bb0ec") add_versions("3.4.9", "b7ea364de7273cfb3b771a0d9c111b8b8dfb42ff2bcd2d84681902fb8f49892a") + add_resources("4.11.0", "opencv_contrib", "https://github.com/opencv/opencv_contrib/archive/4.11.0.tar.gz", "2dfc5957201de2aa785064711125af6abb2e80a64e2dc246aca4119b19687041") add_resources("4.10.0", "opencv_contrib", "https://github.com/opencv/opencv_contrib/archive/4.10.0.tar.gz", "65597f8fb8dc2b876c1b45b928bbcc5f772ddbaf97539bf1b737623d0604cba1") add_resources("4.9.0", "opencv_contrib", "https://github.com/opencv/opencv_contrib/archive/4.9.0.tar.gz", "8952c45a73b75676c522dd574229f563e43c271ae1d5bbbd26f8e2b6bc1a4dae") add_resources("4.8.0", "opencv_contrib", "https://github.com/opencv/opencv_contrib/archive/4.8.0.tar.gz", "b4aef0f25a22edcd7305df830fa926ca304ea9db65de6ccd02f6cfa5f3357dbb") @@ -34,7 +36,7 @@ package("opencv") add_configs("tesseract", {description = "Enable tesseract on text module", default = false, type = "boolean"}) local features = {"1394", "vtk", "eigen", "ffmpeg", "gstreamer", "gtk", "ipp", "halide", "vulkan", "jasper", "openjpeg", "jpeg", "webp", "openexr", "opengl", "png", "tbb", "openmp", "tiff", "itt", "protobuf", "quirc", "obsensor"} - local default_features = {"1394", "eigen", "ffmpeg", "jpeg", "opengl", "png", "protobuf", "quirc", "webp", "tiff"} + local default_features = {"eigen", "ffmpeg", "jpeg", "opengl", "png", "protobuf", "quirc", "webp", "tiff"} for _, feature in ipairs(features) do add_configs(feature, {description = "Include " .. feature .. " support.", default = table.contains(default_features, feature), type = "boolean"}) @@ -166,13 +168,19 @@ package("opencv") if package:is_plat("windows") then table.insert(configs, "-DBUILD_WITH_STATIC_CRT=" .. (package:has_runtime("MT", "MTd") and "ON" or "OFF")) if package:is_arch("arm64") then + -- https://github.com/opencv/opencv/issues/25052 + table.insert(configs, "-DCPU_NEON_FP16_SUPPORTED=OFF") + end + end + if package:is_cross() or (package:is_plat("mingw") and not package:is_arch(os.arch())) then + if package:is_plat("windows") or package:is_plat("mingw") then table.insert(configs, "-DCMAKE_SYSTEM_NAME=Windows") - table.insert(configs, "-DCMAKE_SYSTEM_PROCESSOR=ARM64") + elseif package:is_plat("macosx") then + table.insert(configs, "-DCMAKE_SYSTEM_NAME=Darwin") + elseif package:is_plat("linux") then + table.insert(configs, "-DCMAKE_SYSTEM_NAME=Linux") end - elseif package:is_plat("mingw") then - table.insert(configs, "-DCMAKE_SYSTEM_PROCESSOR=" .. (package:is_arch("x86_64") and "AMD64" or "i686")) - elseif package:is_plat("macosx") then - table.insert(configs, "-DCMAKE_SYSTEM_PROCESSOR=" .. (package:is_arch("x86_64") and "AMD64" or "ARM64")) + table.insert(configs, "-DCMAKE_SYSTEM_PROCESSOR=" .. package:targetarch()) end local resourcedir = package:resourcedir("opencv_contrib") if resourcedir then diff --git a/packages/s/spdlog/xmake.lua b/packages/s/spdlog/xmake.lua index f4a731c047a..0680d322f7a 100644 --- a/packages/s/spdlog/xmake.lua +++ b/packages/s/spdlog/xmake.lua @@ -5,7 +5,7 @@ package("spdlog") add_urls("https://github.com/gabime/spdlog/archive/refs/tags/$(version).zip", "https://github.com/gabime/spdlog.git") - + add_versions("v1.15.1", "322c144e24abee5d0326ddbe5bbc0e0c39c85ac8c2cb3c90d10290a85428327a") add_versions("v1.15.0", "076f3b4d452b95433083bcc66d07f79addba2d3fcb2b9177abeb7367d47aefbb") add_versions("v1.14.1", "429dfdf3afc1984feb59e414353c21c110bc79609f6d7899d52f6aa388646f6d") add_versions("v1.14.0", "2cd8a65885e7937fdd046b181eed7e95d61bab7006bd0fb7b9c766185ed3e0ae") From 47b0a321b39f51b79ad7bfbd549f0ea7cba38e66 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 3 Feb 2025 00:59:28 +0800 Subject: [PATCH 40/48] Auto-update libfswatch to 1.18.2 (#6268) * Update libfswatch to 1.18.2 * Update xmake.lua --------- Co-authored-by: star9029 --- packages/l/libfswatch/xmake.lua | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/packages/l/libfswatch/xmake.lua b/packages/l/libfswatch/xmake.lua index c7a15b8df09..b282799c95d 100644 --- a/packages/l/libfswatch/xmake.lua +++ b/packages/l/libfswatch/xmake.lua @@ -5,6 +5,8 @@ package("libfswatch") add_urls("https://github.com/emcrisostomo/fswatch/archive/refs/tags/$(version).tar.gz", "https://github.com/emcrisostomo/fswatch.git") + + add_versions("1.18.2", "698f21fe5489311dabe9e90463fb9d40796780abac8d207b857e86ade7345d86") add_versions("1.17.1", "bd492b6e203b10b30857778f4dd26f688426cd352937bd7779ee245139bafa2b") add_deps("cmake") @@ -15,12 +17,24 @@ package("libfswatch") add_syslinks("pthread", "dl") end + if on_check then + on_check(function (package) + if package:version() and package:version():eq("1.18.2") then + if package:is_plat("bsd") then + -- libfswatch/src/libfswatch/c++/kqueue_monitor.cpp:134:29: error: unknown type name '__darwin_time_t'; did you mean '__sbintime_t' + raise("package(libfswatch 1.18.2) unsupported current platform") + end + end + end) + end + on_install("linux", "bsd", "macosx", function (package) - local configs = {"-DUSE_NLS=OFF"} - 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")) io.replace("CMakeLists.txt", "add_subdirectory(test/src)", "", {plain = true}) io.replace("CMakeLists.txt", "add_subdirectory(fswatch/src)", "", {plain = true}) + + local configs = {"-DUSE_NLS=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) end) From da83ed0c85d56c1d7fc7732a0963357e5f7a9738 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 3 Feb 2025 00:59:30 +0800 Subject: [PATCH 41/48] Auto-update libmaxminddb to 1.12.2 (#6267) * Update libmaxminddb to 1.12.2 * Fix wasm --------- Co-authored-by: star9029 --- packages/l/libmaxminddb/xmake.lua | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/l/libmaxminddb/xmake.lua b/packages/l/libmaxminddb/xmake.lua index 761ead095d3..98b0da2bc65 100644 --- a/packages/l/libmaxminddb/xmake.lua +++ b/packages/l/libmaxminddb/xmake.lua @@ -6,10 +6,14 @@ package("libmaxminddb") add_urls("https://github.com/maxmind/libmaxminddb/releases/download/$(version)/libmaxminddb-$(version).tar.gz", "https://github.com/maxmind/libmaxminddb.git") + add_versions("1.12.2", "1bfbf8efba3ed6462e04e225906ad5ce5fe958aa3d626a1235b2a2253d600743") add_versions("1.11.0", "b2eea79a96fed77ad4d6c39ec34fed83d45fcb75a31c58956813d58dcf30b19f") add_versions("1.10.0", "5e6db72df423ae225bfe8897069f6def40faa8931f456b99d79b8b4d664c6671") add_configs("tools", {description = "Build tools", default = false, type = "boolean"}) + if is_plat("wasm") then + add_configs("shared", {description = "Build shared library.", default = false, type = "boolean", readonly = true}) + end if is_plat("windows", "mingw") then add_syslinks("ws2_32") From 8ecbb63d17e99b362cac9a6a7d0a7afab6621d02 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 3 Feb 2025 10:53:10 +0800 Subject: [PATCH 42/48] Update aws-c-cal to v0.8.3 (#6277) --- packages/a/aws-c-cal/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/a/aws-c-cal/xmake.lua b/packages/a/aws-c-cal/xmake.lua index 2c381f77389..5a39c016ccb 100644 --- a/packages/a/aws-c-cal/xmake.lua +++ b/packages/a/aws-c-cal/xmake.lua @@ -6,6 +6,7 @@ package("aws-c-cal") add_urls("https://github.com/awslabs/aws-c-cal/archive/refs/tags/$(version).tar.gz", "https://github.com/awslabs/aws-c-cal.git") + add_versions("v0.8.3", "413a5226a881eb2d7c7b453707c90b6ad1c0f63edfc15e87087f56d7d10c2a1b") add_versions("v0.8.1", "4d603641758ef350c3e5401184804e8a6bba4aa5294593cc6228b0dca77b22f5") add_versions("v0.8.0", "3803311ee7c73446a35466199084652ec5f76dedcf20452ebdbba8ed34d4230d") add_versions("v0.7.4", "8020ecbe850ceb402aa9c81a1ef34e3becdbcb49587a1b19eb5c7e040f369b58") From 48fa9f55abc7cc388edc229585e3a0954f3e0cfc Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 3 Feb 2025 10:53:13 +0800 Subject: [PATCH 43/48] Update google-cloud-cpp to v2.34.0 (#6275) --- packages/g/google-cloud-cpp/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/g/google-cloud-cpp/xmake.lua b/packages/g/google-cloud-cpp/xmake.lua index 540eff379dd..d73e235d215 100644 --- a/packages/g/google-cloud-cpp/xmake.lua +++ b/packages/g/google-cloud-cpp/xmake.lua @@ -6,6 +6,7 @@ package("google-cloud-cpp") add_urls("https://github.com/googleapis/google-cloud-cpp/archive/refs/tags/$(version).tar.gz", "https://github.com/googleapis/google-cloud-cpp.git") + add_versions("v2.34.0", "22deeb6c2abf0838f4d4c6100e83489bb581fa8015180370500ad31712f601ac") add_versions("v2.33.0", "e53ba3799c052d97acac9a6a6b27af24ce822dbde7bfde973bac9e5da714e6b2") add_configs("libraries", {description = "Enable subset of the libraries (default: google_cloud_cpp_common)", default = {}, type = "table"}) From bf0ee23c1aa347893dbf6af5b95d58812409106c Mon Sep 17 00:00:00 2001 From: star9029 Date: Mon, 3 Feb 2025 11:03:47 +0800 Subject: [PATCH 44/48] liboai: Add license (#6273) * liboai: Add license * Remove deleted version --- packages/l/liboai/xmake.lua | 15 +++++---------- 1 file changed, 5 insertions(+), 10 deletions(-) diff --git a/packages/l/liboai/xmake.lua b/packages/l/liboai/xmake.lua index 89be46927dd..80b3c19df59 100644 --- a/packages/l/liboai/xmake.lua +++ b/packages/l/liboai/xmake.lua @@ -1,20 +1,18 @@ package("liboai") - set_homepage("https://github.com/D7EAD/liboai") set_description("A C++17 library to access the entire OpenAI API.") + set_license("MIT") - set_urls("https://github.com/D7EAD/liboai/archive/refs/tags/v$(version).tar.gz", + set_urls("https://github.com/D7EAD/liboai/archive/refs/tags/$(version).tar.gz", "https://github.com/D7EAD/liboai.git") - add_versions("4.0.1", "abe127ae1cd3049f19976e31d8414e8130a73d7978552e863b767fe04b20697f") - add_versions("3.2.1", "9058bcc1485967061c9c33b2e7a109a254cdf71638b1448f21cfefd7ffd9c4fa") - add_versions("3.1.0", "4b3564740f7dbf099c785d5720327a4e7acaca2535d329f487d877ce17524a73") + add_versions("v4.0.1", "abe127ae1cd3049f19976e31d8414e8130a73d7978552e863b767fe04b20697f") + add_versions("v3.2.1", "9058bcc1485967061c9c33b2e7a109a254cdf71638b1448f21cfefd7ffd9c4fa") add_deps("nlohmann_json") add_deps("libcurl", {configs = {openssl = true, zlib = true}}) on_install("windows", "linux", "macosx", function (package) - local configs = {} io.writefile("xmake.lua", [[ add_rules("mode.debug", "mode.release") add_requires("nlohmann_json") @@ -30,10 +28,7 @@ package("liboai") end add_packages("nlohmann_json", "libcurl") ]]) - if package:config("shared") then - configs.kind = "shared" - end - import("package.tools.xmake").install(package, configs) + import("package.tools.xmake").install(package) end) on_test(function (package) From 2efb8ec0c2e63dac34099e0104df183c6a8446ca Mon Sep 17 00:00:00 2001 From: Chi Huu Huynh <73843190+Chi-EEE@users.noreply.github.com> Date: Mon, 3 Feb 2025 03:04:10 +0000 Subject: [PATCH 45/48] srell: update 4.063 (#6272) * srell: update 4.063 * srell: update description --- packages/s/srell/xmake.lua | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/s/srell/xmake.lua b/packages/s/srell/xmake.lua index 255d7a849ec..0371e02ab6e 100644 --- a/packages/s/srell/xmake.lua +++ b/packages/s/srell/xmake.lua @@ -1,17 +1,18 @@ package("srell") set_kind("library", {headeronly = true}) set_homepage("https://akenotsuki.com/misc/srell") - set_description("Unicode-aware regular expression template library for C++") + set_description("SRELL (std::regex-like library) is a Unicode-aware regular expression template library for C++.") set_license("BSD-2-Clause") add_urls("https://akenotsuki.com/misc/srell/srell$(version).zip", {version = function(version) return version:gsub("%.", "_") end}) + add_versions("4.063", "15aa0e193bace7677f1a4a7fe75071b1a95b64d45cd67ea2a23d0a48ce5911ff") add_versions("4.019", "b4281825c529c7f63b61917782b33066a93cd40b55efbcac13c1ef615cd29835") add_versions("3.018", "0cb7587b3613085204ed847259cb46a54f7328aef90a0ce85a1eaa895a755ccf") on_install(function(package) - os.cp("*.hpp", package:installdir("include")) + os.cp("single-header/srell.hpp", package:installdir("include")) end) on_test(function(package) From f9b0cbf44b204b089b3cb3344183ea8ee1f06ba0 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 3 Feb 2025 12:15:12 +0800 Subject: [PATCH 46/48] Update pdfhummus to v4.6.8 (#6279) --- packages/p/pdfhummus/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/p/pdfhummus/xmake.lua b/packages/p/pdfhummus/xmake.lua index f28ff5293bd..5103b007454 100644 --- a/packages/p/pdfhummus/xmake.lua +++ b/packages/p/pdfhummus/xmake.lua @@ -6,6 +6,7 @@ package("pdfhummus") add_urls("https://github.com/galkahana/PDF-Writer/archive/refs/tags/$(version).tar.gz", "https://github.com/galkahana/PDF-Writer/archive/refs/tags/v$(version).tar.gz", "https://github.com/galkahana/PDF-Writer.git") + add_versions("v4.6.8", "129706e0336e00deb6b2e80c4e92e1b30e3504ae9f8d5e5225b512fbd17a991a") add_versions("v4.6.7", "735c65d4685c5156f0876635f3bc1565700d0f648fbb1f384e46d186796c8bae") add_versions("v4.6.6", "8343820313e553052df68c75fe2bf35353da2719106e81eb2a8b026ff96c7d7c") add_versions("v4.6.4", "93b5f1dc88fd67fdebde409e927e828dfbae02efa44936e89728622411c6a047") From 296e3fa759d7325c152bf0305ed5adae1b5f50c3 Mon Sep 17 00:00:00 2001 From: ruki Date: Mon, 3 Feb 2025 14:12:03 +0800 Subject: [PATCH 47/48] Update cppfront to v0.8.1 (#6276) --- packages/c/cppfront/xmake.lua | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/c/cppfront/xmake.lua b/packages/c/cppfront/xmake.lua index cd37d2d8002..36945b8dc42 100644 --- a/packages/c/cppfront/xmake.lua +++ b/packages/c/cppfront/xmake.lua @@ -5,6 +5,7 @@ package("cppfront") add_urls("https://github.com/hsutter/cppfront/archive/refs/tags/$(version).tar.gz") add_urls("https://github.com/hsutter/cppfront.git") + add_versions("v0.8.1", "aff7c8106c1022d74dcd2e66452f8e7cbafeeecb61679f7116a383a1100cc4b5") add_versions("v0.8.0", "7fb573599960bc0a46a71ed103ff97adbf938d4a0df754dc952a44fdcacfc571") add_versions("v0.7.4", "028f44cc0cad26b51829e4abf7c5aedf8a31f852ab5dfbad54bb232f0a1d7447") add_versions("v0.7.2", "fb44c6a65fa19b185ddf385dd3bfea05afe0bc8260382b7a8e3c75b3c9004cd6") From a81e99d13867e050387b18710abbdc8668e2db58 Mon Sep 17 00:00:00 2001 From: Inari0 <42310255+xq114@users.noreply.github.com> Date: Mon, 3 Feb 2025 14:58:29 +0800 Subject: [PATCH 48/48] split wayland-protocols from wayland (#6274) * split wayland-protocols from wayland * restrict wayland to native --- packages/g/glfw/xmake.lua | 2 +- packages/w/wayland-protocols/xmake.lua | 7 ++++--- packages/w/wayland/xmake.lua | 29 ++------------------------ 3 files changed, 7 insertions(+), 31 deletions(-) diff --git a/packages/g/glfw/xmake.lua b/packages/g/glfw/xmake.lua index 33a61387d80..10daaf28337 100644 --- a/packages/g/glfw/xmake.lua +++ b/packages/g/glfw/xmake.lua @@ -44,7 +44,7 @@ package("glfw") package:add("deps", "libx11", "libxrandr", "libxrender", "libxinerama", "libxfixes", "libxcursor", "libxi", "libxext") end if package:config("wayland") then - package:add("deps", "wayland") + package:add("deps", "wayland", "wayland-protocols") end end) diff --git a/packages/w/wayland-protocols/xmake.lua b/packages/w/wayland-protocols/xmake.lua index ede18886c9f..b6b752be6de 100644 --- a/packages/w/wayland-protocols/xmake.lua +++ b/packages/w/wayland-protocols/xmake.lua @@ -3,8 +3,8 @@ package("wayland-protocols") set_description("Additional Wayland protocols") set_license("MIT") - add_urls("https://wayland.freedesktop.org/releases/wayland-protocols-$(version).tar.xz") add_urls("https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/$(version)/downloads/wayland-protocols-$(version).tar.xz") + add_urls("https://wayland.freedesktop.org/releases/wayland-protocols-$(version).tar.xz") add_versions("1.24", "bff0d8cffeeceb35159d6f4aa6bab18c807b80642c9d50f66cba52ecf7338bc2") add_versions("1.25", "f1ff0f7199d0a0da337217dd8c99979967808dc37731a1e759e822b75b571460") add_versions("1.26", "c553384c1c68afd762fa537a2569cc9074fe7600da12d3472761e77a2ba56f13") @@ -14,14 +14,15 @@ package("wayland-protocols") add_versions("1.30", "3c1498fb65fd2b80b0376d7e87cf215e6ae957b2ccdba5da45a448718831bc60") add_versions("1.31", "a07fa722ed87676ec020d867714bc9a2f24c464da73912f39706eeef5219e238") add_versions("1.32", "7459799d340c8296b695ef857c07ddef24c5a09b09ab6a74f7b92640d2b1ba11") + add_versions("1.39", "e1dcdcbbf08e2e0a8a02ee5d9a0be3a6aafc39a4b51fa7e0d2f1a16411cb72fa") add_deps("meson", "ninja", "wayland", "pkg-config") - if is_plat("linux") then + if is_plat("linux") then add_extsources("apt::wayland-protocols", "pacman::wayland-protocols") end - on_install("linux", function (package) + on_install("linux|native", function (package) local configs = {"-Dtests=false"} import("package.tools.meson").install(package, configs) end) diff --git a/packages/w/wayland/xmake.lua b/packages/w/wayland/xmake.lua index a53529ac557..9b93141560d 100644 --- a/packages/w/wayland/xmake.lua +++ b/packages/w/wayland/xmake.lua @@ -7,10 +7,7 @@ package("wayland") add_versions("1.18.0", "4675a79f091020817a98fd0484e7208c8762242266967f55a67776936c2e294d") add_versions("1.19.0", "baccd902300d354581cd5ad3cc49daa4921d55fb416a5883e218750fef166d15") add_versions("1.23.0", "05b3e1574d3e67626b5974f862f36b5b427c7ceeb965cb36a4e6c2d342e45ab2") - - add_resources("1.18.0", "protocols", "https://wayland.freedesktop.org/releases/wayland-protocols-1.20.tar.xz", "9782b7a1a863d82d7c92478497d13c758f52e7da4f197aa16443f73de77e4de7") - add_resources("1.19.0", "protocols", "https://wayland.freedesktop.org/releases/wayland-protocols-1.21.tar.xz", "b99945842d8be18817c26ee77dafa157883af89268e15f4a5a1a1ff3ffa4cde5") - add_resources("1.23.0", "protocols", "https://gitlab.freedesktop.org/wayland/wayland-protocols/-/releases/1.36/downloads/wayland-protocols-1.36.tar.xz", "71fd4de05e79f9a1ca559fac30c1f8365fa10346422f9fe795f74d77b9ef7e92") + add_versions("1.23.1", "864fb2a8399e2d0ec39d56e9d9b753c093775beadc6022ce81f441929a81e5ed") if is_plat("linux") then add_extsources("apt::libwayland-dev", "pacman::wayland") @@ -22,10 +19,8 @@ package("wayland") add_deps("epoll-shim") end - on_install("linux", "bsd", function (package) - -- imports + on_install("linux|native", "bsd", function (package) import("package.tools.meson") - import("lib.detect.find_file") -- set environment variables package:addenv("PATH", "bin") @@ -44,26 +39,6 @@ package("wayland") envs.ACLOCAL_PATH = path.joinenv(table.join(ACLOCAL_PATH, envs.ACLOCAL_PATH)) envs.ACLOCAL = ACLOCAL meson.install(package, configs, {envs = envs}) - - -- install wayland-protocols - local protocol = assert(package:resourcedir("protocols"), "wayland-protocols not found!") - local buildfile = find_file("meson.build", path.join(protocol, "*")) - if buildfile then - os.cd(path.directory(buildfile)) - meson.install(package, {"-Dtests=false"}, {envs = envs}) - else - import("package.tools.autoconf") - - local configfile = assert(find_file("configure.ac", path.join(protocol, "**"))) - os.cd(path.directory(configfile)) - - envs = autoconf.buildenvs(package) - envs.LD_LIBRARY_PATH = path.joinenv(table.join(LD_LIBRARY_PATH, envs.LD_LIBRARY_PATH)) - envs.PKG_CONFIG_PATH = path.joinenv(table.join(PKG_CONFIG_PATH, envs.PKG_CONFIG_PATH)) - envs.ACLOCAL_PATH = path.joinenv(table.join(ACLOCAL_PATH, envs.ACLOCAL_PATH)) - envs.ACLOCAL = ACLOCAL - autoconf.install(package, {}, {envs = envs}) - end end) on_test(function (package)