diff options
| author | ruki <[email protected]> | 2023-12-21 23:04:56 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-12-21 23:04:56 +0800 |
| commit | 4296189fb104b1632c939b6bdef5cf86f610fd40 (patch) | |
| tree | 78ce07417d9412fef8abd43bdd1e375da34c9d84 /xmake/plugins/pack | |
| parent | 1976625c2296c156511922d6792df6f2da8a1b23 (diff) | |
add build requires
Diffstat (limited to 'xmake/plugins/pack')
| -rw-r--r-- | xmake/plugins/pack/srpm/main.lua | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/xmake/plugins/pack/srpm/main.lua b/xmake/plugins/pack/srpm/main.lua index a65f3b4f6..949b99516 100644 --- a/xmake/plugins/pack/srpm/main.lua +++ b/xmake/plugins/pack/srpm/main.lua @@ -21,6 +21,7 @@ -- imports import("core.base.option") import("core.base.semver") +import("core.base.hashset") import("lib.detect.find_tool") import("utils.archive") import("private.action.require.impl.packagenv") @@ -144,6 +145,28 @@ function _get_specvars(package) _get_buildcmds(package, buildcmds, batchcmds.get_buildcmds(package):cmds()) return table.concat(buildcmds, "\n") end + specvars.PACKAGE_BUILDREQUIRES = function () + local requires = {} + local programs = hashset.new() + for _, cmd in ipairs(batchcmds.get_buildcmds(package):cmds()) do + local program = cmd.program + if program then + programs:insert(program) + end + end + local map = { + xmake = "xmake", + cmake = "cmake", + make = "make" + } + for _, program in programs:keys() do + local requirename = map[program] + if requirename then + table.insert(requires, "BuildRequires: " .. requirename) + end + end + return table.concat(requires, "\n") + end return specvars end |
