summaryrefslogtreecommitdiff
path: root/xmake/plugins/pack
diff options
context:
space:
mode:
authorruki <[email protected]>2023-12-21 23:06:18 +0800
committerruki <[email protected]>2023-12-21 23:06:18 +0800
commit16271a7919d9ee12203f1ba5774d73f720b79451 (patch)
tree645d98803e6eeaefb80e3c8c0f4284c171a3cf7c /xmake/plugins/pack
parent4296189fb104b1632c939b6bdef5cf86f610fd40 (diff)
add buildrequires
Diffstat (limited to 'xmake/plugins/pack')
-rw-r--r--xmake/plugins/pack/srpm/main.lua42
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