From ce629e9b207ed5ca9dec6db96ba54fce422e3d13 Mon Sep 17 00:00:00 2001 From: Caleb Kiage <747955+calebkiage@users.noreply.github.com> Date: Thu, 13 Jul 2023 15:14:29 +0300 Subject: Try to get the mingw package prefix from the environment first --- xmake/modules/package/manager/pacman/find_package.lua | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/xmake/modules/package/manager/pacman/find_package.lua b/xmake/modules/package/manager/pacman/find_package.lua index 119a8169e..ccbb590cf 100644 --- a/xmake/modules/package/manager/pacman/find_package.lua +++ b/xmake/modules/package/manager/pacman/find_package.lua @@ -113,7 +113,9 @@ function main(name, opt) -- for msys2/mingw? mingw-w64-[i686|x86_64]-xxx if is_subhost("msys") and opt.plat == "mingw" then - name = (opt.arch == "x86_64" and "mingw-w64-x86_64-" or "mingw-w64-i686-") .. name + -- try to get the package prefix from the environment first + -- https://www.msys2.org/docs/package-naming/ + name = (os.getenv("MINGW_PACKAGE_PREFIX") or (opt.arch == "x86_64" and "mingw-w64-x86_64" or "mingw-w64-i686")) .. "-" .. name end -- get package files list -- cgit v1.3.1 From 186222d45dac082760ea4c2878e30a367dc66a24 Mon Sep 17 00:00:00 2001 From: Caleb Kiage <747955+calebkiage@users.noreply.github.com> Date: Thu, 13 Jul 2023 20:32:46 +0300 Subject: Use MSYSTEM to compute an alt package name in MSYS --- xmake/modules/package/manager/pacman/find_package.lua | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/xmake/modules/package/manager/pacman/find_package.lua b/xmake/modules/package/manager/pacman/find_package.lua index ccbb590cf..be14ee6e0 100644 --- a/xmake/modules/package/manager/pacman/find_package.lua +++ b/xmake/modules/package/manager/pacman/find_package.lua @@ -112,14 +112,29 @@ function main(name, opt) end -- for msys2/mingw? mingw-w64-[i686|x86_64]-xxx + local name_alt if is_subhost("msys") and opt.plat == "mingw" then -- try to get the package prefix from the environment first -- https://www.msys2.org/docs/package-naming/ - name = (os.getenv("MINGW_PACKAGE_PREFIX") or (opt.arch == "x86_64" and "mingw-w64-x86_64" or "mingw-w64-i686")) .. "-" .. name + local prefix = "mingw-w64-" + local arch = (opt.arch == "x86_64" and "x86_64-" or "i686-") + + local msystem = os.getenv("MSYSTEM") + if msystem and msystem ~= "MINGW32" then + local i, j = msystem:find("%D+") + name_alt = prefix .. msystem:sub(i, j):lower() .. "-" .. arch .. name + end + name = prefix .. arch .. name end -- get package files list - local list = try { function() return os.iorunv(pacman.program, {"-Q", "-l", name}) end } + local list + for _, n in ipairs({name, name_alt}) do + list = n and try { function() return os.iorunv(pacman.program, {"-Q", "-l", n}) end } + if list then + break + end + end if not list then return end -- cgit v1.3.1 From 8b2e8f568ad31fc2b27bd402a44c71d645cb5350 Mon Sep 17 00:00:00 2001 From: Caleb Kiage <747955+calebkiage@users.noreply.github.com> Date: Fri, 14 Jul 2023 04:49:01 +0300 Subject: MinGW64 has no environment suffix --- xmake/modules/package/manager/pacman/find_package.lua | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/xmake/modules/package/manager/pacman/find_package.lua b/xmake/modules/package/manager/pacman/find_package.lua index be14ee6e0..e1251e5ba 100644 --- a/xmake/modules/package/manager/pacman/find_package.lua +++ b/xmake/modules/package/manager/pacman/find_package.lua @@ -118,9 +118,8 @@ function main(name, opt) -- https://www.msys2.org/docs/package-naming/ local prefix = "mingw-w64-" local arch = (opt.arch == "x86_64" and "x86_64-" or "i686-") - local msystem = os.getenv("MSYSTEM") - if msystem and msystem ~= "MINGW32" then + if msystem and msystem ~= "MINGW32" and msystem ~= "MINGW64" then local i, j = msystem:find("%D+") name_alt = prefix .. msystem:sub(i, j):lower() .. "-" .. arch .. name end -- cgit v1.3.1 From f7d4e69192efa8355d097269436917cb20417c31 Mon Sep 17 00:00:00 2001 From: ruki Date: Fri, 14 Jul 2023 10:57:02 +0800 Subject: Update find_package.lua --- xmake/modules/package/manager/pacman/find_package.lua | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/xmake/modules/package/manager/pacman/find_package.lua b/xmake/modules/package/manager/pacman/find_package.lua index e1251e5ba..4daf30029 100644 --- a/xmake/modules/package/manager/pacman/find_package.lua +++ b/xmake/modules/package/manager/pacman/find_package.lua @@ -119,7 +119,7 @@ function main(name, opt) local prefix = "mingw-w64-" local arch = (opt.arch == "x86_64" and "x86_64-" or "i686-") local msystem = os.getenv("MSYSTEM") - if msystem and msystem ~= "MINGW32" and msystem ~= "MINGW64" then + if msystem and not msystem:startswith("MINGW") then local i, j = msystem:find("%D+") name_alt = prefix .. msystem:sub(i, j):lower() .. "-" .. arch .. name end -- cgit v1.3.1