summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFrancesco Guastella <[email protected]>2025-10-02 14:09:46 +0200
committerFrancesco Guastella <[email protected]>2025-10-02 14:09:46 +0200
commit1b03d8e117a718965707d98b679eca2678dc02a1 (patch)
tree15af51d3386c65cff65972943b52f8391e9e25a7
parentc62972f4def074c8b0b433e557a48d313bf77a18 (diff)
fix(package): write manifest.pathenvs in deterministic order
-rw-r--r--xmake/core/package/package.lua12
1 files changed, 11 insertions, 1 deletions
diff --git a/xmake/core/package/package.lua b/xmake/core/package/package.lua
index db943815a..7be3278b1 100644
--- a/xmake/core/package/package.lua
+++ b/xmake/core/package/package.lua
@@ -994,7 +994,17 @@ function _instance:manifest_save()
manifest.mode = self:mode()
manifest.configs = self:configs()
manifest.envs = self:_rawenvs()
- manifest.pathenvs = self:_pathenvs():to_array()
+
+ -- ensure pathenvs are written deterministically: use ordered iteration
+ do
+ local arr = {}
+ for name in self:_pathenvs():orderitems() do
+ if name ~= nil then
+ table.insert(arr, name)
+ end
+ end
+ manifest.pathenvs = arr
+ end
-- save enabled library deps
if self:librarydeps() then