diff options
| author | ruki <[email protected]> | 2023-12-21 23:06:18 +0800 |
|---|---|---|
| committer | ruki <[email protected]> | 2023-12-21 23:06:18 +0800 |
| commit | 16271a7919d9ee12203f1ba5774d73f720b79451 (patch) | |
| tree | 645d98803e6eeaefb80e3c8c0f4284c171a3cf7c /xmake/plugins/pack | |
| parent | 4296189fb104b1632c939b6bdef5cf86f610fd40 (diff) | |
add buildrequires
Diffstat (limited to 'xmake/plugins/pack')
| -rw-r--r-- | xmake/plugins/pack/srpm/main.lua | 42 |
1 files changed, 26 insertions, 16 deletions
diff --git a/xmake/plugins/pack/srpm/main.lua b/xmake/plugins/pack/srpm/main.lua index 949b99516..2c9a0cb1b 100644 --- a/xmake/plugins/pack/srpm/main.lua +++ b/xmake/plugins/pack/srpm/main.lua @@ -147,27 +147,37 @@ function _get_specvars(package) 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) + local buildrequires = package:get("buildrequires") + if buildrequires then + for _, buildrequire in ipairs(buildrequires) do + table.insert(requires, "BuildRequires: " .. buildrequire) 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) + else + 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 + if #requires > 0 then + table.insert(requires, "BuildRequires: gcc") + table.insert(requires, "BuildRequires: gcc-c++") end end return table.concat(requires, "\n") end - return specvars end |
