diff options
| author | Lingfeng Fu <[email protected]> | 2023-06-11 21:22:28 +0800 |
|---|---|---|
| committer | Lingfeng Fu <[email protected]> | 2023-06-11 21:22:28 +0800 |
| commit | b4194846cb1cb140c93897aa07d70a3b5013c6c5 (patch) | |
| tree | 2899d1ea686e482bec8a7c141042fc062fa4163c | |
| parent | 02c2e064b27b6041a9f75890154a731d064b8618 (diff) | |
support version opt for zypper
| -rw-r--r-- | README.md | 2 | ||||
| -rw-r--r-- | xmake/modules/package/manager/install_package.lua | 1 | ||||
| -rw-r--r-- | xmake/modules/package/manager/zypper/find_package.lua | 3 | ||||
| -rw-r--r-- | xmake/modules/package/manager/zypper/install_package.lua | 3 |
4 files changed, 8 insertions, 1 deletions
@@ -326,7 +326,7 @@ Xmake can automatically fetch and install dependencies! * Portage on Gentoo/Linux (portage::libhandy) * Nimble for nimlang (nimble::zip >1.3) * Cargo for rust (cargo::base64 0.13.0) -* Zypper on openSUSE (zypper::libsfml2-2_5) +* Zypper on openSUSE (zypper::libsfml2 2.5) ### Package management features diff --git a/xmake/modules/package/manager/install_package.lua b/xmake/modules/package/manager/install_package.lua index 05e13ed27..71664aefe 100644 --- a/xmake/modules/package/manager/install_package.lua +++ b/xmake/modules/package/manager/install_package.lua @@ -40,6 +40,7 @@ function _install_package(manager_name, package_name, opt) table.insert(managers, "pacman") table.insert(managers, "portage") table.insert(managers, "brew") + table.insert(managers, "zypper") elseif is_host("macosx") then table.insert(managers, "vcpkg") table.insert(managers, "brew") diff --git a/xmake/modules/package/manager/zypper/find_package.lua b/xmake/modules/package/manager/zypper/find_package.lua index 53db5467e..d26f566de 100644 --- a/xmake/modules/package/manager/zypper/find_package.lua +++ b/xmake/modules/package/manager/zypper/find_package.lua @@ -27,6 +27,9 @@ import("package.manager.pkgconfig.find_package", { alias = "find_package_from_pk -- find package function _find_package(rpm, zypper, name, opt) + if opt.require_version and opt.require_version ~= "latest" then + name = name .. '-' .. opt.require_version:gsub('%.', '_') + end local result = nil local pkgconfig_files = {} local listinfo = try { function() diff --git a/xmake/modules/package/manager/zypper/install_package.lua b/xmake/modules/package/manager/zypper/install_package.lua index 8beb45ff1..8f2f60feb 100644 --- a/xmake/modules/package/manager/zypper/install_package.lua +++ b/xmake/modules/package/manager/zypper/install_package.lua @@ -34,6 +34,9 @@ function main(name, opt) -- init options opt = opt or {} + if opt.require_version and opt.require_version ~= "latest" then + name = name .. '-' .. opt.require_version:gsub('%.', '_') + end -- find apt local zypper = find_tool("zypper") |
