From 63687905d99e4fa20c5e92c32a49b1cd020c7986 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 27 Jan 2024 09:50:38 +0000 Subject: [PATCH 01/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild From 9e517219f5f71f7893016bf99c947ab1a89a996a Mon Sep 17 00:00:00 2001 From: topazus Date: Mon, 26 Feb 2024 23:48:02 +0800 Subject: [PATCH 02/33] update to 2.8.7 --- .packit.yaml | 1 + sources | 2 +- xmake.spec | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/.packit.yaml b/.packit.yaml index 882dc81..7b516db 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -1,5 +1,6 @@ upstream_package_name: xmake upstream_project_url: https://github.com/xmake-io/xmake +upstream_tag_template: v{version} downstream_package_name: xmake diff --git a/sources b/sources index 270c06a..e0b07fe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.8.6.tar.gz) = d8cfb67f283c07d6fa1af0199111de09bf693741b3a18c127c5a053e8e67ea002b95c9b5a2cdbdb54c28acd4c252e917a4ab067bbcb98c67feebef56369927f9 +SHA512 (xmake-2.8.7.tar.gz) = fc9d66d915c261a2f842ec6c97507f62fc8b12a076f1b863f9d117ff2bc499d26da0f6f8bff59b21b47218c06ee635a8bc0346edbc14437dbb7ebfe677422dde diff --git a/xmake.spec b/xmake.spec index 02a3970..206b44f 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.8.6 +Version: 2.8.7 %global forgeurl https://github.com/xmake-io/xmake From 5eaef6a606f17e0cbb44cd4328c3a401b683b167 Mon Sep 17 00:00:00 2001 From: Packit Date: Mon, 26 Feb 2024 16:18:42 +0000 Subject: [PATCH 03/33] [packit] 2.8.7 upstream release - Resolves rhbz#2266055 Upstream tag: v2.8.7 Upstream commit: da279272 --- README.packit | 3 +++ sources | 2 +- xmake.spec | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 README.packit diff --git a/README.packit b/README.packit new file mode 100644 index 0000000..7553f6b --- /dev/null +++ b/README.packit @@ -0,0 +1,3 @@ +This repository is maintained by packit. +https://packit.dev/ +The file was generated using packit 0.92.0. diff --git a/sources b/sources index 270c06a..e0b07fe 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.8.6.tar.gz) = d8cfb67f283c07d6fa1af0199111de09bf693741b3a18c127c5a053e8e67ea002b95c9b5a2cdbdb54c28acd4c252e917a4ab067bbcb98c67feebef56369927f9 +SHA512 (xmake-2.8.7.tar.gz) = fc9d66d915c261a2f842ec6c97507f62fc8b12a076f1b863f9d117ff2bc499d26da0f6f8bff59b21b47218c06ee635a8bc0346edbc14437dbb7ebfe677422dde diff --git a/xmake.spec b/xmake.spec index 02a3970..206b44f 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.8.6 +Version: 2.8.7 %global forgeurl https://github.com/xmake-io/xmake From 3994f248dbd50f7b02f13d254bdc109d1c5a1831 Mon Sep 17 00:00:00 2001 From: Packit Date: Sun, 3 Mar 2024 14:50:42 +0000 Subject: [PATCH 04/33] [packit] 2.8.8 upstream release - Resolves rhbz#2267549 Upstream tag: v2.8.8 Upstream commit: d8e24825 --- README.packit | 2 +- sources | 2 +- xmake.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.packit b/README.packit index 7553f6b..31341b6 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.92.0. +The file was generated using packit 0.93.0. diff --git a/sources b/sources index e0b07fe..bc6e3ee 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.8.7.tar.gz) = fc9d66d915c261a2f842ec6c97507f62fc8b12a076f1b863f9d117ff2bc499d26da0f6f8bff59b21b47218c06ee635a8bc0346edbc14437dbb7ebfe677422dde +SHA512 (xmake-2.8.8.tar.gz) = 45eb1bc24ebd242742aae4315a838a7d3b8810094843f4409f96b26a1aec678575946d86c052079631755dc44ce3d6fdb839fdc5c197c39434a8738aa83ac173 diff --git a/xmake.spec b/xmake.spec index 206b44f..01f1702 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.8.7 +Version: 2.8.8 %global forgeurl https://github.com/xmake-io/xmake From cee827b06a1eb0efc3d55b4ea3a11557fd644de2 Mon Sep 17 00:00:00 2001 From: Packit Date: Sun, 3 Mar 2024 14:51:37 +0000 Subject: [PATCH 05/33] [packit] 2.8.8 upstream release - Resolves rhbz#2267549 Upstream tag: v2.8.8 Upstream commit: d8e24825 --- README.packit | 3 +++ sources | 2 +- xmake.spec | 2 +- 3 files changed, 5 insertions(+), 2 deletions(-) create mode 100644 README.packit diff --git a/README.packit b/README.packit new file mode 100644 index 0000000..31341b6 --- /dev/null +++ b/README.packit @@ -0,0 +1,3 @@ +This repository is maintained by packit. +https://packit.dev/ +The file was generated using packit 0.93.0. diff --git a/sources b/sources index e0b07fe..bc6e3ee 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.8.7.tar.gz) = fc9d66d915c261a2f842ec6c97507f62fc8b12a076f1b863f9d117ff2bc499d26da0f6f8bff59b21b47218c06ee635a8bc0346edbc14437dbb7ebfe677422dde +SHA512 (xmake-2.8.8.tar.gz) = 45eb1bc24ebd242742aae4315a838a7d3b8810094843f4409f96b26a1aec678575946d86c052079631755dc44ce3d6fdb839fdc5c197c39434a8738aa83ac173 diff --git a/xmake.spec b/xmake.spec index 206b44f..01f1702 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.8.7 +Version: 2.8.8 %global forgeurl https://github.com/xmake-io/xmake From ea1d639855311e74c062805b23408bf4021a12ac Mon Sep 17 00:00:00 2001 From: Zephyr Lykos Date: Thu, 21 Mar 2024 22:52:00 +0800 Subject: [PATCH 06/33] Update to 2.8.9 --- sources | 2 +- xmake.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index bc6e3ee..7e8e70d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.8.8.tar.gz) = 45eb1bc24ebd242742aae4315a838a7d3b8810094843f4409f96b26a1aec678575946d86c052079631755dc44ce3d6fdb839fdc5c197c39434a8738aa83ac173 +SHA512 (xmake-2.8.9.tar.gz) = 4eb4a8e607c9edb79409d805645669acbd2d676c572135b1a14356ed6b68b3501fdc120fcdcc69792a1389f0b1d643c1ed46ad705d172c26356f9975891e23a8 diff --git a/xmake.spec b/xmake.spec index 01f1702..d8ba380 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.8.8 +Version: 2.8.9 %global forgeurl https://github.com/xmake-io/xmake From 13ebbd6f208c30ad900149be64036c17f34f0ae5 Mon Sep 17 00:00:00 2001 From: Packit Date: Thu, 21 Mar 2024 21:28:49 +0000 Subject: [PATCH 07/33] [packit] 2.8.9 upstream release - Resolves rhbz#2270859 Upstream tag: v2.8.9 Upstream commit: cb1b6505 --- README.packit | 2 +- sources | 2 +- xmake.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.packit b/README.packit index 31341b6..4afa99b 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.93.0. +The file was generated using packit 0.94.0.post1.dev2+g7ce7e679. diff --git a/sources b/sources index bc6e3ee..7e8e70d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.8.8.tar.gz) = 45eb1bc24ebd242742aae4315a838a7d3b8810094843f4409f96b26a1aec678575946d86c052079631755dc44ce3d6fdb839fdc5c197c39434a8738aa83ac173 +SHA512 (xmake-2.8.9.tar.gz) = 4eb4a8e607c9edb79409d805645669acbd2d676c572135b1a14356ed6b68b3501fdc120fcdcc69792a1389f0b1d643c1ed46ad705d172c26356f9975891e23a8 diff --git a/xmake.spec b/xmake.spec index 01f1702..d8ba380 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.8.8 +Version: 2.8.9 %global forgeurl https://github.com/xmake-io/xmake From cc83e62ec8293f73610d5e5c4449a5e095dc923e Mon Sep 17 00:00:00 2001 From: Zephyr Lykos Date: Mon, 22 Apr 2024 19:51:38 +0800 Subject: [PATCH 08/33] Update to 2.9.1 upstream release Upstream tag: v2.9.1 Upstream commit: 0c79f616 Commit authored by Packit automation (https://packit.dev/) --- README.packit | 2 +- sources | 2 +- xmake.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.packit b/README.packit index 31341b6..60cc823 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.93.0. +The file was generated using packit 0.94.2. diff --git a/sources b/sources index 7e8e70d..78cdd21 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.8.9.tar.gz) = 4eb4a8e607c9edb79409d805645669acbd2d676c572135b1a14356ed6b68b3501fdc120fcdcc69792a1389f0b1d643c1ed46ad705d172c26356f9975891e23a8 +SHA512 (xmake-2.9.1.tar.gz) = 9e5bbab9c3025c522af5d4cd8e1349a641147fd53618ba6ab223491cc08bf3bf99b3e1d5d4910de55007dd575f79451d31806aa9d83d69c72b55b48c05e4c3a6 diff --git a/xmake.spec b/xmake.spec index d8ba380..3d404a0 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.8.9 +Version: 2.9.1 %global forgeurl https://github.com/xmake-io/xmake From 31646518743a9f6b1354ac223cefedb522c1ed48 Mon Sep 17 00:00:00 2001 From: Packit Date: Sat, 25 May 2024 10:11:33 +0000 Subject: [PATCH 09/33] Update to 2.9.2 upstream release - Resolves: rhbz#2283192 Upstream tag: v2.9.2 Upstream commit: 6b6557c5 Commit authored by Packit automation (https://packit.dev/) --- README.packit | 2 +- sources | 2 +- xmake.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.packit b/README.packit index 60cc823..97de583 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.94.2. +The file was generated using packit 0.96.0.post1.dev4+gc5b1ea8e. diff --git a/sources b/sources index 78cdd21..1a18f3b 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.9.1.tar.gz) = 9e5bbab9c3025c522af5d4cd8e1349a641147fd53618ba6ab223491cc08bf3bf99b3e1d5d4910de55007dd575f79451d31806aa9d83d69c72b55b48c05e4c3a6 +SHA512 (xmake-2.9.2.tar.gz) = b3fde837b818d1fc410dbee26dafc576b56f3d5da649762e7dbbd625cb7d3272804db3aea9f659db53c4d40552d1d574b6c017081cda258022f79d2c7ac91e15 diff --git a/xmake.spec b/xmake.spec index 3d404a0..7679aaa 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.9.1 +Version: 2.9.2 %global forgeurl https://github.com/xmake-io/xmake From c8efa53fb07a52d2cf43411eb73e25e62bcbb28a Mon Sep 17 00:00:00 2001 From: Packit Date: Tue, 25 Jun 2024 02:30:45 +0000 Subject: [PATCH 10/33] Update to 2.9.3 upstream release - Resolves: rhbz#2294131 Upstream tag: v2.9.3 Upstream commit: a5da06f3 Commit authored by Packit automation (https://packit.dev/) --- README.packit | 2 +- sources | 2 +- xmake.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.packit b/README.packit index 97de583..3dfd179 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.96.0.post1.dev4+gc5b1ea8e. +The file was generated using packit 0.97.3. diff --git a/sources b/sources index 1a18f3b..8c1d159 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.9.2.tar.gz) = b3fde837b818d1fc410dbee26dafc576b56f3d5da649762e7dbbd625cb7d3272804db3aea9f659db53c4d40552d1d574b6c017081cda258022f79d2c7ac91e15 +SHA512 (xmake-2.9.3.tar.gz) = 3cb36220c80e51d4dc8c53e5290dda281eb46b8f511f8b4362daa51b2437656b7243366770ba4356cf15bd3ffa9882ad7f028de7f439b7677d8d4bc6faab572c diff --git a/xmake.spec b/xmake.spec index 7679aaa..2858473 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.9.2 +Version: 2.9.3 %global forgeurl https://github.com/xmake-io/xmake From 3cabc5ed23a7bfc4d20e877834bd91e3d809143b Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 20 Jul 2024 10:11:35 +0000 Subject: [PATCH 11/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From 4610709952bea37b1d89b8ff0662585aab06f4f9 Mon Sep 17 00:00:00 2001 From: topazus Date: Sat, 3 Aug 2024 08:00:05 +0800 Subject: [PATCH 12/33] 2.9.4 --- .packit.yaml | 7 +------ sources | 2 +- xmake.spec | 2 +- 3 files changed, 3 insertions(+), 8 deletions(-) diff --git a/.packit.yaml b/.packit.yaml index 7b516db..c7cfc1d 100644 --- a/.packit.yaml +++ b/.packit.yaml @@ -1,16 +1,11 @@ -upstream_package_name: xmake upstream_project_url: https://github.com/xmake-io/xmake upstream_tag_template: v{version} -downstream_package_name: xmake - -specfile_path: xmake.spec - jobs: - job: pull_from_upstream trigger: release dist_git_branches: - - fedora-all + - fedora-rawhide - job: koji_build trigger: commit diff --git a/sources b/sources index 8c1d159..0269840 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.9.3.tar.gz) = 3cb36220c80e51d4dc8c53e5290dda281eb46b8f511f8b4362daa51b2437656b7243366770ba4356cf15bd3ffa9882ad7f028de7f439b7677d8d4bc6faab572c +SHA512 (xmake-2.9.4.tar.gz) = 0f29a6c1b96bbfc86c0fb00e82f94292b4d943311554f02010305b25cebb6c73b119acb8cb232ea6464b627a0c540f866c52e4d1c891f66abb09eb9a4de3fb1a diff --git a/xmake.spec b/xmake.spec index 2858473..563c740 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.9.3 +Version: 2.9.4 %global forgeurl https://github.com/xmake-io/xmake From 8dbafe26b49b7e6afcf7dffbc999aaaddd5c0d63 Mon Sep 17 00:00:00 2001 From: Packit Date: Sun, 15 Sep 2024 00:37:20 +0000 Subject: [PATCH 13/33] Update to 2.9.5 upstream release - Resolves: rhbz#2312399 Upstream tag: v2.9.5 Upstream commit: d30de52e Commit co-authored by Packit automation (https://packit.dev/) --- README.packit | 2 +- sources | 2 +- xmake.spec | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/README.packit b/README.packit index 3dfd179..459869a 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.97.3. +The file was generated using packit 0.101.0. diff --git a/sources b/sources index 0269840..2f2efad 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.9.4.tar.gz) = 0f29a6c1b96bbfc86c0fb00e82f94292b4d943311554f02010305b25cebb6c73b119acb8cb232ea6464b627a0c540f866c52e4d1c891f66abb09eb9a4de3fb1a +SHA512 (xmake-2.9.5.tar.gz) = eac40c2c498b9a37d4648ed1867a4d0910a075d2459114919d5f72a5ce99de075a0b3dcd0efd4acc68e97246d5f3251b63dca0888ec5b88b6cb786ce365c2e1f diff --git a/xmake.spec b/xmake.spec index 563c740..afefcb9 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,8 +1,9 @@ %bcond_with luajit Name: xmake -Version: 2.9.4 +Version: 2.9.5 +%global __requires_exclude_from ^%{_datadir}/%{name}/scripts/.+\\.ps1$ %global forgeurl https://github.com/xmake-io/xmake %forgemeta From ccb70eb253a986677471f9a002b38d9a64d729da Mon Sep 17 00:00:00 2001 From: Packit Date: Wed, 30 Oct 2024 21:04:07 +0000 Subject: [PATCH 14/33] Update to 2.9.6 upstream release - Resolves: rhbz#2322849 Upstream tag: v2.9.6 Upstream commit: abd15c25 Commit authored by Packit automation (https://packit.dev/) --- README.packit | 2 +- sources | 2 +- xmake.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.packit b/README.packit index 459869a..3d207b6 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.101.0. +The file was generated using packit 0.102.2.post1.dev2+gbdca14cb. diff --git a/sources b/sources index 2f2efad..6f3c2a8 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.9.5.tar.gz) = eac40c2c498b9a37d4648ed1867a4d0910a075d2459114919d5f72a5ce99de075a0b3dcd0efd4acc68e97246d5f3251b63dca0888ec5b88b6cb786ce365c2e1f +SHA512 (xmake-2.9.6.tar.gz) = 433b468619b40cba2d9cbbb51c07372d98c80b2f6538e09c074447ccb30160d2f82ff4734f814faeb8549266dfd49c1e13d81da596a7abdf71c690ef2c7204d0 diff --git a/xmake.spec b/xmake.spec index afefcb9..fed7f79 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.9.5 +Version: 2.9.6 %global __requires_exclude_from ^%{_datadir}/%{name}/scripts/.+\\.ps1$ %global forgeurl https://github.com/xmake-io/xmake From 017111b65272267b9875574cf042d296d65d01aa Mon Sep 17 00:00:00 2001 From: Packit Date: Thu, 19 Dec 2024 10:23:18 +0000 Subject: [PATCH 15/33] Update to 2.9.7 upstream release - Resolves: rhbz#2333300 Upstream tag: v2.9.7 Upstream commit: 2bb99e0c Commit authored by Packit automation (https://packit.dev/) --- README.packit | 2 +- sources | 2 +- xmake.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.packit b/README.packit index 3d207b6..3826605 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.102.2.post1.dev2+gbdca14cb. +The file was generated using packit 0.106.0. diff --git a/sources b/sources index 6f3c2a8..e1362db 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.9.6.tar.gz) = 433b468619b40cba2d9cbbb51c07372d98c80b2f6538e09c074447ccb30160d2f82ff4734f814faeb8549266dfd49c1e13d81da596a7abdf71c690ef2c7204d0 +SHA512 (xmake-2.9.7.tar.gz) = adff87977f9a9641ad73e24e5800b667471e553311d2eb4670f3cf9c7ba2603e5dc0d6030c44f6e4f608bbe53149bdaa72ce8acb5592d3dfb0bf8a2db4539aa1 diff --git a/xmake.spec b/xmake.spec index fed7f79..62473ec 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.9.6 +Version: 2.9.7 %global __requires_exclude_from ^%{_datadir}/%{name}/scripts/.+\\.ps1$ %global forgeurl https://github.com/xmake-io/xmake From 17c8f7db6254b00d47ce4e41081c9ee982d62d7f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sun, 19 Jan 2025 15:58:55 +0000 Subject: [PATCH 16/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From b78bce5b667e33d3e9cb84bd45be34e6e7741a81 Mon Sep 17 00:00:00 2001 From: topazus Date: Sun, 9 Mar 2025 11:36:46 +0800 Subject: [PATCH 17/33] 2.9.8 --- sources | 2 +- xmake.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index e1362db..66f21a1 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.9.7.tar.gz) = adff87977f9a9641ad73e24e5800b667471e553311d2eb4670f3cf9c7ba2603e5dc0d6030c44f6e4f608bbe53149bdaa72ce8acb5592d3dfb0bf8a2db4539aa1 +SHA512 (xmake-2.9.8.tar.gz) = 269e47456541fd14384421b348b440dd2c0a45b45dfd15c8ed3bcde999533d809dd1b04dbdc37645f5c0cc61853e6265ac07a5891e8bed34160ef57b546d8c8e diff --git a/xmake.spec b/xmake.spec index 62473ec..2e80afb 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.9.7 +Version: 2.9.8 %global __requires_exclude_from ^%{_datadir}/%{name}/scripts/.+\\.ps1$ %global forgeurl https://github.com/xmake-io/xmake From 558feb565b7f2334267b1014e235c26484dca8bd Mon Sep 17 00:00:00 2001 From: Packit Date: Tue, 8 Apr 2025 05:03:12 +0000 Subject: [PATCH 18/33] Update to 2.9.9 upstream release - Resolves: rhbz#2343768 Upstream tag: v2.9.9 Upstream commit: 40815a0e Commit authored by Packit automation (https://packit.dev/) --- README.packit | 2 +- sources | 2 +- xmake.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.packit b/README.packit index 3826605..807ffc6 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 0.106.0. +The file was generated using packit 1.6.0.post1.dev2+gd5a7662a. diff --git a/sources b/sources index 66f21a1..546bd79 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.9.8.tar.gz) = 269e47456541fd14384421b348b440dd2c0a45b45dfd15c8ed3bcde999533d809dd1b04dbdc37645f5c0cc61853e6265ac07a5891e8bed34160ef57b546d8c8e +SHA512 (xmake-2.9.9.tar.gz) = bf6477198614ebb9b349faa6c6e721e0278514fc1d86a5f1c0ee434c2d7fa1c96c1fff8413d8cb842e24ac55a9d6e5b7c9ed581c141fba1405e78a56f8e99f87 diff --git a/xmake.spec b/xmake.spec index 2e80afb..debea4f 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.9.8 +Version: 2.9.9 %global __requires_exclude_from ^%{_datadir}/%{name}/scripts/.+\\.ps1$ %global forgeurl https://github.com/xmake-io/xmake From 91a0d44aab2127b4f7f1299dbfad21cf0a7b4eae Mon Sep 17 00:00:00 2001 From: topazus Date: Tue, 17 Jun 2025 21:45:39 +0800 Subject: [PATCH 19/33] 3.0.0 --- sources | 2 +- xmake.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index 546bd79..dfc0295 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-2.9.9.tar.gz) = bf6477198614ebb9b349faa6c6e721e0278514fc1d86a5f1c0ee434c2d7fa1c96c1fff8413d8cb842e24ac55a9d6e5b7c9ed581c141fba1405e78a56f8e99f87 +SHA512 (xmake-3.0.0.tar.gz) = 9673df9602b143498035ca0625216315d00bcb7d4d5a2eb45984b5f07eda47dd44a1149399a5293e3b963de4ee4d6b242a56fa97ccc423f3f557e0c3faa917ae diff --git a/xmake.spec b/xmake.spec index debea4f..efd9aee 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 2.9.9 +Version: 3.0.0 %global __requires_exclude_from ^%{_datadir}/%{name}/scripts/.+\\.ps1$ %global forgeurl https://github.com/xmake-io/xmake From a656effd120fee5fba1d1c6a93114b204094c725 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 25 Jul 2025 20:54:54 +0000 Subject: [PATCH 20/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild From 4b008827085a2597353ba775ec3e3797de943eeb Mon Sep 17 00:00:00 2001 From: topazus Date: Sat, 18 Oct 2025 21:53:57 +0800 Subject: [PATCH 21/33] 3.0.4 --- sources | 2 +- xmake.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index dfc0295..d5fb219 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-3.0.0.tar.gz) = 9673df9602b143498035ca0625216315d00bcb7d4d5a2eb45984b5f07eda47dd44a1149399a5293e3b963de4ee4d6b242a56fa97ccc423f3f557e0c3faa917ae +SHA512 (xmake-3.0.4.tar.gz) = 9436972a182e97703706cc38a1099d164b74fa382bb15f935a0878f3e7dcc99c64751e019461f9888715453c116047639908f6199e7d5ae3db7357dfb65fb7bb diff --git a/xmake.spec b/xmake.spec index efd9aee..2aa68af 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 3.0.0 +Version: 3.0.4 %global __requires_exclude_from ^%{_datadir}/%{name}/scripts/.+\\.ps1$ %global forgeurl https://github.com/xmake-io/xmake From 440d622f4e0c8db8d1417d2e996b00f403961b5c Mon Sep 17 00:00:00 2001 From: topazus Date: Sun, 30 Nov 2025 12:55:20 +0800 Subject: [PATCH 22/33] 3.0.5 --- sources | 2 +- xmake.spec | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/sources b/sources index d5fb219..6d4c8d6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-3.0.4.tar.gz) = 9436972a182e97703706cc38a1099d164b74fa382bb15f935a0878f3e7dcc99c64751e019461f9888715453c116047639908f6199e7d5ae3db7357dfb65fb7bb +SHA512 (xmake-3.0.5.tar.gz) = 059c15d924a70d8eba8e3506837d39a5e98f6c3df6f3c42e94feb5a2600a7860c5de4235e1e5579a69586eb72d3899f9ab35c3d9ff49cd769e27c90846f2db4c diff --git a/xmake.spec b/xmake.spec index 2aa68af..92d61bd 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 3.0.4 +Version: 3.0.5 %global __requires_exclude_from ^%{_datadir}/%{name}/scripts/.+\\.ps1$ %global forgeurl https://github.com/xmake-io/xmake From ac800dae11177c2f0dc5cf5ca0e8ffdfe6b82b3e Mon Sep 17 00:00:00 2001 From: topazus Date: Thu, 15 Jan 2026 00:04:45 +0800 Subject: [PATCH 23/33] 3.0.6 --- 7213.patch | 344 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sources | 2 +- xmake.spec | 3 +- 3 files changed, 347 insertions(+), 2 deletions(-) create mode 100644 7213.patch diff --git a/7213.patch b/7213.patch new file mode 100644 index 0000000..42c7f8e --- /dev/null +++ b/7213.patch @@ -0,0 +1,344 @@ +From 5a41cf81382a49f1a88b613f2e6b10b8ce7223c7 Mon Sep 17 00:00:00 2001 +From: ruki +Date: Mon, 12 Jan 2026 22:41:16 +0800 +Subject: [PATCH 1/4] fix installdir of imporfiles + +--- + .../action/install/cmake_importfiles.lua | 31 ++++++++++--------- + .../action/install/pkgconfig_importfiles.lua | 3 +- + 2 files changed, 19 insertions(+), 15 deletions(-) + +diff --git a/xmake/modules/target/action/install/cmake_importfiles.lua b/xmake/modules/target/action/install/cmake_importfiles.lua +index 6b876922564..0b1195c68ab 100644 +--- a/xmake/modules/target/action/install/cmake_importfiles.lua ++++ b/xmake/modules/target/action/install/cmake_importfiles.lua +@@ -22,12 +22,12 @@ + import("core.project.project") + + -- get the lib file of the target +-function _get_libfile(target, installdir) ++function _get_libfile(target, libdir) + local libfile = path.filename(target:targetfile()) + if target:is_plat("windows") then + libfile = libfile:gsub("%.dll$", ".lib") + elseif target:is_plat("mingw") then +- if os.isfile(path.join(installdir, "lib", libfile:gsub("%.dll$", ".dll.a"))) then ++ if os.isfile(path.join(libdir, libfile:gsub("%.dll$", ".dll.a"))) then + libfile = libfile:gsub("%.dll$", ".dll.a") + else + libfile = libfile:gsub("%.dll$", ".lib") +@@ -37,7 +37,7 @@ function _get_libfile(target, installdir) + end + + -- get the builtin variables +-function _get_builtinvars(target, installdir, libdir) ++function _get_builtinvars(target, libdir) + local target_ptrbytes + if target:is_plat("cross") then + target_ptrbytes = target:check_sizeof("void*") +@@ -47,7 +47,7 @@ function _get_builtinvars(target, installdir, libdir) + return {LIBDIR = libdir, + TARGETNAME = target:name(), + PROJECTNAME = project.name() or target:name(), +- TARGETFILENAME = target:targetfile() and _get_libfile(target, installdir), ++ TARGETFILENAME = target:targetfile() and _get_libfile(target, libdir), + TARGETKIND = target:is_headeronly() and "INTERFACE" or (target:is_shared() and "SHARED" or "STATIC"), + PACKAGE_VERSION = target:get("version") or "1.0.0", + TARGET_PTRBYTES = target_ptrbytes} +@@ -55,18 +55,19 @@ end + + -- install cmake config file + function _install_cmake_configfile(target, installdir, filename, opt) ++ opt = opt or {} + + -- get import file path +- local libdir = opt and opt.libdir or "lib" ++ local libdir = opt.libdir and path.join(installdir, opt.libdir) or target:libdir() + local projectname = project.name() or target:name() + local importfile_src = path.join(os.programdir(), "scripts", "cmake_importfiles", filename) +- local importfile_dst = path.join(installdir, libdir, "cmake", projectname, (filename:gsub("xxx", projectname))) ++ local importfile_dst = path.join(libdir, "cmake", projectname, (filename:gsub("xxx", projectname))) + + -- trace + vprint("generating %s ..", importfile_dst) + + -- get the builtin variables +- local builtinvars = _get_builtinvars(target, installdir, libdir) ++ local builtinvars = _get_builtinvars(target, libdir) + + -- copy and replace builtin variables + local content = io.readfile(importfile_src) +@@ -83,15 +84,16 @@ end + + -- append target to cmake config file + function _append_cmake_configfile(target, installdir, filename, opt) ++ opt = opt or {} + + -- get import file path +- local libdir = opt and opt.libdir or "lib" ++ local libdir = opt.libdir and path.join(installdir, opt.libdir) or target:libdir() + local projectname = project.name() or target:name() + local importfile_src = path.join(os.programdir(), "scripts", "cmake_importfiles", filename) +- local importfile_dst = path.join(installdir, libdir, "cmake", projectname, (filename:gsub("xxx", projectname))) ++ local importfile_dst = path.join(libdir, "cmake", projectname, (filename:gsub("xxx", projectname))) + + -- get the builtin variables +- local builtinvars = _get_builtinvars(target, installdir, libdir) ++ local builtinvars = _get_builtinvars(target, libdir) + + -- generate the file if not exist / file is outdated + if target:is_headeronly() or not os.isfile(importfile_dst) or os.mtime(importfile_dst) < os.mtime(target:targetfile()) then +@@ -119,18 +121,19 @@ end + + -- install cmake target file + function _install_cmake_targetfile(target, installdir, filename, opt) ++ opt = opt or {} + + -- get import file path +- local libdir = opt and opt.libdir or "lib" ++ local libdir = opt.libdir and path.join(installdir, opt.libdir) or target:libdir() + local projectname = project.name() or target:name() + local importfile_src = path.join(os.programdir(), "scripts", "cmake_importfiles", filename) +- local importfile_dst = path.join(installdir, libdir, "cmake", projectname, (filename:gsub("xxx", target:name()))) ++ local importfile_dst = path.join(libdir, "cmake", projectname, (filename:gsub("xxx", target:name()))) + + -- trace + vprint("generating %s ..", importfile_dst) + + -- get the builtin variables +- local builtinvars = _get_builtinvars(target, installdir, libdir) ++ local builtinvars = _get_builtinvars(target, libdir) + + -- copy and replace builtin variables + local content = io.readfile(importfile_src) +@@ -142,7 +145,7 @@ function _install_cmake_targetfile(target, installdir, filename, opt) + end) + local libfile = path.filename(target:targetfile()) + local postfix = is_mode("debug") and "DEBUG" or "RELEASE" +- if target:is_shared() and (_get_libfile(target, installdir) ~= libfile) then ++ if target:is_shared() and (_get_libfile(target, libdir) ~= libfile) then + -- On DLL platforms, the import library is named differently from the target file + content = content:gsub("# IMPORTED_IMPLIB_" .. postfix, "IMPORTED_IMPLIB_" .. postfix) + content = content:gsub( +diff --git a/xmake/modules/target/action/install/pkgconfig_importfiles.lua b/xmake/modules/target/action/install/pkgconfig_importfiles.lua +index b96833071e7..cdeb42831bb 100644 +--- a/xmake/modules/target/action/install/pkgconfig_importfiles.lua ++++ b/xmake/modules/target/action/install/pkgconfig_importfiles.lua +@@ -30,7 +30,8 @@ function main(target, opt) + end + + -- get pkgconfig/.pc file +- local pcfile = path.join(installdir, opt and opt.libdir or "lib", "pkgconfig", opt.filename or (target:basename() .. ".pc")) ++ local libdir = opt.libdir and path.join(installdir, opt.libdir) or target:libdir() ++ local pcfile = path.join(libdir, "pkgconfig", opt.filename or (target:basename() .. ".pc")) + + -- get includedirs + local includedirs = opt.includedirs + +From 168fe49abe77fbf2a1c1ba865bf22d4d8cdd371d Mon Sep 17 00:00:00 2001 +From: ruki +Date: Mon, 12 Jan 2026 22:43:39 +0800 +Subject: [PATCH 2/4] fix libdir + +--- + .../target/action/install/cmake_importfiles.lua | 16 +++++++++++----- + 1 file changed, 11 insertions(+), 5 deletions(-) + +diff --git a/xmake/modules/target/action/install/cmake_importfiles.lua b/xmake/modules/target/action/install/cmake_importfiles.lua +index 0b1195c68ab..ae2155ec7cf 100644 +--- a/xmake/modules/target/action/install/cmake_importfiles.lua ++++ b/xmake/modules/target/action/install/cmake_importfiles.lua +@@ -37,14 +37,20 @@ function _get_libfile(target, libdir) + end + + -- get the builtin variables +-function _get_builtinvars(target, libdir) ++function _get_builtinvars(target, installdir, libdir) + local target_ptrbytes + if target:is_plat("cross") then + target_ptrbytes = target:check_sizeof("void*") + else + target_ptrbytes = target:is_arch64() and "8" or "4" + end +- return {LIBDIR = libdir, ++ local libsubdir ++ if libdir:startswith(installdir) then ++ libsubdir = path.relative(libdir, installdir) ++ else ++ raise("target(%s): libdir(%s) is not in installdir(%s)", target:name(), libdir, installdir) ++ end ++ return {LIBDIR = libsubdir, + TARGETNAME = target:name(), + PROJECTNAME = project.name() or target:name(), + TARGETFILENAME = target:targetfile() and _get_libfile(target, libdir), +@@ -67,7 +73,7 @@ function _install_cmake_configfile(target, installdir, filename, opt) + vprint("generating %s ..", importfile_dst) + + -- get the builtin variables +- local builtinvars = _get_builtinvars(target, libdir) ++ local builtinvars = _get_builtinvars(target, installdir, libdir) + + -- copy and replace builtin variables + local content = io.readfile(importfile_src) +@@ -93,7 +99,7 @@ function _append_cmake_configfile(target, installdir, filename, opt) + local importfile_dst = path.join(libdir, "cmake", projectname, (filename:gsub("xxx", projectname))) + + -- get the builtin variables +- local builtinvars = _get_builtinvars(target, libdir) ++ local builtinvars = _get_builtinvars(target, installdir, libdir) + + -- generate the file if not exist / file is outdated + if target:is_headeronly() or not os.isfile(importfile_dst) or os.mtime(importfile_dst) < os.mtime(target:targetfile()) then +@@ -133,7 +139,7 @@ function _install_cmake_targetfile(target, installdir, filename, opt) + vprint("generating %s ..", importfile_dst) + + -- get the builtin variables +- local builtinvars = _get_builtinvars(target, libdir) ++ local builtinvars = _get_builtinvars(target, installdir, libdir) + + -- copy and replace builtin variables + local content = io.readfile(importfile_src) + +From 3ffd904326d6a06f8f63a92bc1d2334a8d8441fd Mon Sep 17 00:00:00 2001 +From: ruki +Date: Mon, 12 Jan 2026 22:54:07 +0800 +Subject: [PATCH 3/4] improve cmake installdir + +--- + .../target/action/install/cmake_importfiles.lua | 15 +++++++++------ + 1 file changed, 9 insertions(+), 6 deletions(-) + +diff --git a/xmake/modules/target/action/install/cmake_importfiles.lua b/xmake/modules/target/action/install/cmake_importfiles.lua +index ae2155ec7cf..b4efecb0862 100644 +--- a/xmake/modules/target/action/install/cmake_importfiles.lua ++++ b/xmake/modules/target/action/install/cmake_importfiles.lua +@@ -21,6 +21,12 @@ + -- imports + import("core.project.project") + ++-- get install libdir ++function _get_install_libdir(target, installdir, opt) ++ opt = opt or {} ++ return opt.libdir and path.join(installdir, opt.libdir) or target:libdir() ++end ++ + -- get the lib file of the target + function _get_libfile(target, libdir) + local libfile = path.filename(target:targetfile()) +@@ -61,10 +67,9 @@ end + + -- install cmake config file + function _install_cmake_configfile(target, installdir, filename, opt) +- opt = opt or {} + + -- get import file path +- local libdir = opt.libdir and path.join(installdir, opt.libdir) or target:libdir() ++ local libdir = _get_install_libdir(target, installdir, opt) + local projectname = project.name() or target:name() + local importfile_src = path.join(os.programdir(), "scripts", "cmake_importfiles", filename) + local importfile_dst = path.join(libdir, "cmake", projectname, (filename:gsub("xxx", projectname))) +@@ -90,10 +95,9 @@ end + + -- append target to cmake config file + function _append_cmake_configfile(target, installdir, filename, opt) +- opt = opt or {} + + -- get import file path +- local libdir = opt.libdir and path.join(installdir, opt.libdir) or target:libdir() ++ local libdir = _get_install_libdir(target, installdir, opt) + local projectname = project.name() or target:name() + local importfile_src = path.join(os.programdir(), "scripts", "cmake_importfiles", filename) + local importfile_dst = path.join(libdir, "cmake", projectname, (filename:gsub("xxx", projectname))) +@@ -127,10 +131,9 @@ end + + -- install cmake target file + function _install_cmake_targetfile(target, installdir, filename, opt) +- opt = opt or {} + + -- get import file path +- local libdir = opt.libdir and path.join(installdir, opt.libdir) or target:libdir() ++ local libdir = _get_install_libdir(target, installdir, opt) + local projectname = project.name() or target:name() + local importfile_src = path.join(os.programdir(), "scripts", "cmake_importfiles", filename) + local importfile_dst = path.join(libdir, "cmake", projectname, (filename:gsub("xxx", target:name()))) + +From 6c20d1006e21b8fe6ac33f65f8600152b81830b1 Mon Sep 17 00:00:00 2001 +From: ruki +Date: Mon, 12 Jan 2026 22:55:01 +0800 +Subject: [PATCH 4/4] improve installdir + +--- + .../target/action/install/cmake_importfiles.lua | 13 +++++++------ + .../target/action/install/pkgconfig_importfiles.lua | 5 ++++- + 2 files changed, 11 insertions(+), 7 deletions(-) + +diff --git a/xmake/modules/target/action/install/cmake_importfiles.lua b/xmake/modules/target/action/install/cmake_importfiles.lua +index b4efecb0862..c9c45455466 100644 +--- a/xmake/modules/target/action/install/cmake_importfiles.lua ++++ b/xmake/modules/target/action/install/cmake_importfiles.lua +@@ -24,11 +24,11 @@ import("core.project.project") + -- get install libdir + function _get_install_libdir(target, installdir, opt) + opt = opt or {} +- return opt.libdir and path.join(installdir, opt.libdir) or target:libdir() ++ return path.normalize(opt.libdir and path.join(installdir, opt.libdir) or target:libdir()) + end + + -- get the lib file of the target +-function _get_libfile(target, libdir) ++function _get_libfilename(target, libdir) + local libfile = path.filename(target:targetfile()) + if target:is_plat("windows") then + libfile = libfile:gsub("%.dll$", ".lib") +@@ -59,7 +59,7 @@ function _get_builtinvars(target, installdir, libdir) + return {LIBDIR = libsubdir, + TARGETNAME = target:name(), + PROJECTNAME = project.name() or target:name(), +- TARGETFILENAME = target:targetfile() and _get_libfile(target, libdir), ++ TARGETFILENAME = target:targetfile() and _get_libfilename(target, libdir), + TARGETKIND = target:is_headeronly() and "INTERFACE" or (target:is_shared() and "SHARED" or "STATIC"), + PACKAGE_VERSION = target:get("version") or "1.0.0", + TARGET_PTRBYTES = target_ptrbytes} +@@ -152,14 +152,14 @@ function _install_cmake_targetfile(target, installdir, filename, opt) + local value = builtinvars[variable] + return type(value) == "function" and value() or value + end) +- local libfile = path.filename(target:targetfile()) ++ local libfilename = path.filename(target:targetfile()) + local postfix = is_mode("debug") and "DEBUG" or "RELEASE" +- if target:is_shared() and (_get_libfile(target, libdir) ~= libfile) then ++ if target:is_shared() and (_get_libfilename(target, libdir) ~= libfilename) then + -- On DLL platforms, the import library is named differently from the target file + content = content:gsub("# IMPORTED_IMPLIB_" .. postfix, "IMPORTED_IMPLIB_" .. postfix) + content = content:gsub( + "IMPORTED_LOCATION_" .. postfix .. " \"%${_IMPORT_PREFIX}/lib/.-\"", +- "IMPORTED_LOCATION_" .. postfix .. " \"${_IMPORT_PREFIX}/bin/" .. libfile .. "\"" ++ "IMPORTED_LOCATION_" .. postfix .. " \"${_IMPORT_PREFIX}/bin/" .. libfilename .. "\"" + ) + end + io.writefile(importfile_dst, content) +@@ -180,6 +180,7 @@ function main(target, opt) + end + + -- do install ++ installdir = path.normalize(installdir) + _append_cmake_configfile(target, installdir, "xxxConfig.cmake", opt) + _install_cmake_configfile(target, installdir, "xxxConfigVersion.cmake", opt) + _install_cmake_targetfile(target, installdir, "xxxTargets.cmake", opt) +diff --git a/xmake/modules/target/action/install/pkgconfig_importfiles.lua b/xmake/modules/target/action/install/pkgconfig_importfiles.lua +index cdeb42831bb..9a9b8ee8107 100644 +--- a/xmake/modules/target/action/install/pkgconfig_importfiles.lua ++++ b/xmake/modules/target/action/install/pkgconfig_importfiles.lua +@@ -30,8 +30,11 @@ function main(target, opt) + end + + -- get pkgconfig/.pc file +- local libdir = opt.libdir and path.join(installdir, opt.libdir) or target:libdir() ++ local libdir = path.unix(path.normalize(opt.libdir and path.join(installdir, opt.libdir) or target:libdir())) + local pcfile = path.join(libdir, "pkgconfig", opt.filename or (target:basename() .. ".pc")) ++ if not libdir:startswith(installdir) then ++ raise("target(%s): libdir(%s) is not in installdir(%s)", target:name(), libdir, installdir) ++ end + + -- get includedirs + local includedirs = opt.includedirs diff --git a/sources b/sources index 6d4c8d6..1596e58 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-3.0.5.tar.gz) = 059c15d924a70d8eba8e3506837d39a5e98f6c3df6f3c42e94feb5a2600a7860c5de4235e1e5579a69586eb72d3899f9ab35c3d9ff49cd769e27c90846f2db4c +SHA512 (xmake-3.0.6.tar.gz) = 4df25a29b3efbf24f6179500e536b8f3b2c4e8af9485003803a4e7e136e667002f8cb6b1a2c63056b6677ed6fba6f7a6114496a58bd77082ab618d7c22f6582a diff --git a/xmake.spec b/xmake.spec index 92d61bd..89b32eb 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 3.0.5 +Version: 3.0.6 %global __requires_exclude_from ^%{_datadir}/%{name}/scripts/.+\\.ps1$ %global forgeurl https://github.com/xmake-io/xmake @@ -18,6 +18,7 @@ Source: %forgesource Patch0: 0001-pkgconfig-fix-check.patch Patch1: 0001-system-include.patch Patch2: 0001-add-relwithdebinfo-build-mode.patch +Patch3: https://github.com/xmake-io/xmake/pull/7213.patch BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(readline) From bed54eef3f499cd06c5ab2489a0870e3b4589c9f Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Sat, 17 Jan 2026 20:44:32 +0000 Subject: [PATCH 24/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild From 100afa7aa5535884545222178882c74c39b64a0b Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Mon, 16 Mar 2026 19:10:56 -0400 Subject: [PATCH 25/33] update to 3.0.7, rebuild for lua 5.5, required noteworthy patching --- sources | 2 +- xmake-3.0.7-lua-5.5.patch | 1314 +++++++++++++++++++++++++++++++++++++ xmake.spec | 6 +- 3 files changed, 1319 insertions(+), 3 deletions(-) create mode 100644 xmake-3.0.7-lua-5.5.patch diff --git a/sources b/sources index 1596e58..767f247 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-3.0.6.tar.gz) = 4df25a29b3efbf24f6179500e536b8f3b2c4e8af9485003803a4e7e136e667002f8cb6b1a2c63056b6677ed6fba6f7a6114496a58bd77082ab618d7c22f6582a +SHA512 (xmake-v3.0.7.tar.gz) = 4225bd24195df470a47cd13635e463b6f567318e2e371c185cdaf9b72cff94caf841bb2d8e0cb2940fc1e236968b0831859f65b30a485425e33ff947715862a3 diff --git a/xmake-3.0.7-lua-5.5.patch b/xmake-3.0.7-lua-5.5.patch new file mode 100644 index 0000000..fdd104c --- /dev/null +++ b/xmake-3.0.7-lua-5.5.patch @@ -0,0 +1,1314 @@ +diff -up xmake-3.0.7/core/src/xmake/curses/curses.c.lua55 xmake-3.0.7/core/src/xmake/curses/curses.c +--- xmake-3.0.7/core/src/xmake/curses/curses.c.lua55 2026-03-16 17:25:50.062511107 -0400 ++++ xmake-3.0.7/core/src/xmake/curses/curses.c 2026-03-16 17:27:52.837019335 -0400 +@@ -228,8 +228,8 @@ static int xm_curses_window_tostring(lua + // window:move(y, x) + static int xm_curses_window_move(lua_State *lua) { + WINDOW *w = xm_curses_window_check(lua, 1); +- int y = luaL_checkint(lua, 2); +- int x = luaL_checkint(lua, 3); ++ int y = luaL_checkinteger(lua, 2); ++ int x = luaL_checkinteger(lua, 3); + lua_pushboolean(lua, XM_CURSES_OK(wmove(w, y, x))); + return 1; + } +@@ -276,7 +276,7 @@ static int xm_curses_window_addch(lua_St + static int xm_curses_window_addnstr(lua_State *lua) { + WINDOW *w = xm_curses_window_check(lua, 1); + const char *str = luaL_checkstring(lua, 2); +- int n = luaL_optint(lua, 3, -1); ++ int n = luaL_optinteger(lua, 3, -1); + if (n < 0) + n = (int)lua_strlen(lua, 2); + lua_pushboolean(lua, XM_CURSES_OK(waddnstr(w, str, n))); +@@ -333,7 +333,7 @@ static int xm_curses_window_getch(lua_St + // window:attroff(attrs) + static int xm_curses_window_attroff(lua_State *lua) { + WINDOW *w = xm_curses_window_check(lua, 1); +- int attrs = luaL_checkint(lua, 2); ++ int attrs = luaL_checkinteger(lua, 2); + lua_pushboolean(lua, XM_CURSES_OK(wattroff(w, attrs))); + return 1; + } +@@ -341,7 +341,7 @@ static int xm_curses_window_attroff(lua_ + // window:attron(attrs) + static int xm_curses_window_attron(lua_State *lua) { + WINDOW *w = xm_curses_window_check(lua, 1); +- int attrs = luaL_checkint(lua, 2); ++ int attrs = luaL_checkinteger(lua, 2); + lua_pushboolean(lua, XM_CURSES_OK(wattron(w, attrs))); + return 1; + } +@@ -349,7 +349,7 @@ static int xm_curses_window_attron(lua_S + // window:attrset(attrs) + static int xm_curses_window_attrset(lua_State *lua) { + WINDOW *w = xm_curses_window_check(lua, 1); +- int attrs = luaL_checkint(lua, 2); ++ int attrs = luaL_checkinteger(lua, 2); + lua_pushboolean(lua, XM_CURSES_OK(wattrset(w, attrs))); + return 1; + } +@@ -358,12 +358,12 @@ static int xm_curses_window_attrset(lua_ + static int xm_curses_window_copywin(lua_State *lua) { + WINDOW *srcwin = xm_curses_window_check(lua, 1); + WINDOW *dstwin = xm_curses_window_check(lua, 2); +- int sminrow = luaL_checkint(lua, 3); +- int smincol = luaL_checkint(lua, 4); +- int dminrow = luaL_checkint(lua, 5); +- int dmincol = luaL_checkint(lua, 6); +- int dmaxrow = luaL_checkint(lua, 7); +- int dmaxcol = luaL_checkint(lua, 8); ++ int sminrow = luaL_checkinteger(lua, 3); ++ int smincol = luaL_checkinteger(lua, 4); ++ int dminrow = luaL_checkinteger(lua, 5); ++ int dmincol = luaL_checkinteger(lua, 6); ++ int dmaxrow = luaL_checkinteger(lua, 7); ++ int dmaxcol = luaL_checkinteger(lua, 8); + int overlay = lua_toboolean(lua, 9); + lua_pushboolean(lua, + XM_CURSES_OK( +@@ -646,7 +646,7 @@ static int xm_curses_getmouse(lua_State + } + + static int xm_curses_mousemask(lua_State *lua) { +- mmask_t m = luaL_checkint(lua, 1); ++ mmask_t m = luaL_checkinteger(lua, 1); + mmask_t om; + m = mousemask(m, &om); + lua_pushinteger(lua, m); +@@ -656,22 +656,22 @@ static int xm_curses_mousemask(lua_State + #endif + + static int xm_curses_init_pair(lua_State *lua) { +- short pair = luaL_checkint(lua, 1); +- short f = luaL_checkint(lua, 2); +- short b = luaL_checkint(lua, 3); ++ short pair = luaL_checkinteger(lua, 1); ++ short f = luaL_checkinteger(lua, 2); ++ short b = luaL_checkinteger(lua, 3); + + lua_pushboolean(lua, XM_CURSES_OK(init_pair(pair, f, b))); + return 1; + } + + static int xm_curses_COLOR_PAIR(lua_State *lua) { +- int n = luaL_checkint(lua, 1); ++ int n = luaL_checkinteger(lua, 1); + lua_pushnumber(lua, COLOR_PAIR(n)); + return 1; + } + + static int xm_curses_curs_set(lua_State *lua) { +- int vis = luaL_checkint(lua, 1); ++ int vis = luaL_checkinteger(lua, 1); + int state = curs_set(vis); + if (state == ERR) + return 0; +@@ -681,7 +681,7 @@ static int xm_curses_curs_set(lua_State + } + + static int xm_curses_napms(lua_State *lua) { +- int ms = luaL_checkint(lua, 1); ++ int ms = luaL_checkinteger(lua, 1); + lua_pushboolean(lua, XM_CURSES_OK(napms(ms))); + return 1; + } +@@ -714,8 +714,8 @@ static int xm_curses_nl(lua_State *lua) + } + + static int xm_curses_newpad(lua_State *lua) { +- int nlines = luaL_checkint(lua, 1); +- int ncols = luaL_checkint(lua, 2); ++ int nlines = luaL_checkinteger(lua, 1); ++ int ncols = luaL_checkinteger(lua, 2); + xm_curses_window_new(lua, newpad(nlines, ncols)); + return 1; + } +diff -up xmake-3.0.7/core/src/xmake/os/sleep.c.lua55 xmake-3.0.7/core/src/xmake/os/sleep.c +--- xmake-3.0.7/core/src/xmake/os/sleep.c.lua55 2026-03-16 17:35:30.435501037 -0400 ++++ xmake-3.0.7/core/src/xmake/os/sleep.c 2026-03-16 17:35:57.104648050 -0400 +@@ -35,7 +35,7 @@ + */ + tb_int_t xm_os_sleep(lua_State *lua) { + tb_assert_and_check_return_val(lua, 0); +- tb_long_t interval = (tb_long_t)luaL_checklong(lua, 1); ++ tb_long_t interval = (tb_long_t)luaL_checkinteger(lua, 1); + if (interval >= 0) { + tb_msleep(interval); + } +diff -up xmake-3.0.7/xmake/core/base/interpreter.lua.orig xmake-3.0.7/xmake/core/base/interpreter.lua +--- xmake-3.0.7/xmake/core/base/interpreter.lua.orig 2026-03-16 22:31:58.326087623 +0000 ++++ xmake-3.0.7/xmake/core/base/interpreter.lua 2026-03-16 22:55:54.315884361 +0000 +@@ -119,10 +119,10 @@ function interpreter:_fetch_root_scope(r + for scope_kind_and_name, _ in pairs(root or {}) do + + -- is scope_kind@@scope_name? +- scope_kind_and_name = scope_kind_and_name:split("@@", {plain = true}) +- if #scope_kind_and_name == 2 then +- local scope_kind = scope_kind_and_name[1] +- local scope_name = scope_kind_and_name[2] ++ local lscope_kind_and_name = scope_kind_and_name:split("@@", {plain = true}) ++ if #lscope_kind_and_name == 2 then ++ local scope_kind = lscope_kind_and_name[1] ++ local scope_name = lscope_kind_and_name[2] + + -- we only fetch the root values to the target values, e.g. target@@ns1::ns2::bar" + -- and ignore root namespace values, e.g. target@@ns1::ns2:: +@@ -345,16 +345,16 @@ function interpreter:_api_register_xxx_s + assert(type(pattern) == "string") + + -- convert pattern to a lua pattern ('*' => '.*') +- pattern = pattern:gsub("([%+%.%-%^%$%%])", "%%%1") +- pattern = pattern:gsub("%*", "\001") +- pattern = pattern:gsub("\001", ".*") ++ local lpattern = pattern:gsub("([%+%.%-%^%$%%])", "%%%1") ++ lpattern = lpattern:gsub("%*", "\001") ++ lpattern = lpattern:gsub("\001", ".*") + + -- save script + if type(scripts) == "table" then +- scripts[pattern] = script ++ scripts[lpattern] = script + elseif type(scripts) == "function" then + scripts = {__generic__ = scripts} +- scripts[pattern] = script ++ scripts[lpattern] = script + end + end + scope[name] = scripts +@@ -460,13 +460,13 @@ function interpreter:_filter(values, lev + if table.is_dictionary(values) then + local results = {} + for key, value in pairs(values) do +- key = (type(key) == "string" and filter:handle(key) or key) ++ local lkey = (type(key) == "string" and filter:handle(key) or key) + if type(value) == "string" then +- results[key] = filter:handle(value) ++ results[lkey] = filter:handle(value) + elseif type(value) == "table" and level < 1 then +- results[key] = self:_filter(value, level + 1) -- only filter 2 levels for table values ++ results[lkey] = self:_filter(value, level + 1) -- only filter 2 levels for table values + else +- results[key] = value ++ results[lkey] = value + end + values = results + end +@@ -501,29 +501,30 @@ function interpreter:_handle(scope, dedu + -- remove repeat values and unwrap it + local results = {} + for name, values in pairs(scope) do ++ local lvalues = values + + -- filter values + -- + -- @note we need to do filter before removing repeat values + -- https://github.com/xmake-io/xmake/issues/1732 + if enable_filter then +- values = self:_filter(values) ++ lvalues = self:_filter(lvalues) + end + + -- remove repeat first for each slice with removed item (__remove_xxx) +- if deduplicate and not table.is_dictionary(values) then ++ if deduplicate and not table.is_dictionary(lvalues) then + local policy = self:deduplication_policy(name) + if policy ~= false then + local unique_func = policy == "toleft" and table.reverse_unique or table.unique +- values = unique_func(values, function (v) return type(v) == "string" and v:startswith("__remove_") end) ++ lvalues = unique_func(lvalues, function (v) return type(v) == "string" and v:startswith("__remove_") end) + end + end + + -- unwrap it if be only one +- values = table.unwrap(values) ++ lvalues = table.unwrap(lvalues) + + -- update it +- results[name] = values ++ results[name] = lvalues + end + return results + end +@@ -1665,32 +1666,33 @@ function interpreter:api_define(apis) + local definitions = self._API_DEFINITIONS or {} + for apitype, apifuncs in pairs(apis) do + for _, apifunc in ipairs(apifuncs) do ++ local lapifunc = apifunc + + -- is {"apifunc", apiscript}? + local apiscript = nil +- if type(apifunc) == "table" then ++ if type(lapifunc) == "table" then + + -- check +- assert(#apifunc == 2 and type(apifunc[2]) == "function") ++ assert(#lapifunc == 2 and type(lapifunc[2]) == "function") + + -- get function and script +- apiscript = apifunc[2] +- apifunc = apifunc[1] ++ apiscript = lapifunc[2] ++ lapifunc = lapifunc[1] + end + + -- register api definition, "scope.apiname" => "apitype" +- definitions[apifunc] = apitype ++ definitions[lapifunc] = apitype + + -- get api function + local apiscope = nil + local funcname = nil +- apifunc = apifunc:split('.', {plain = true}) +- assert(apifunc) +- if #apifunc == 2 then +- apiscope = apifunc[1] +- funcname = apifunc[2] ++ lapifunc = lapifunc:split('.', {plain = true}) ++ assert(lapifunc) ++ if #lapifunc == 2 then ++ apiscope = lapifunc[1] ++ funcname = lapifunc[2] + else +- funcname = apifunc[1] ++ funcname = lapifunc[1] + end + assert(funcname) + +diff -up xmake-3.0.7/xmake/core/base/linuxos.lua.orig xmake-3.0.7/xmake/core/base/linuxos.lua +--- xmake-3.0.7/xmake/core/base/linuxos.lua.orig 2026-03-16 22:31:58.316087555 +0000 ++++ xmake-3.0.7/xmake/core/base/linuxos.lua 2026-03-16 22:55:54.335884491 +0000 +@@ -149,22 +149,23 @@ function linuxos.version() + if os_release then + os_release = os_release:trim():lower():split("\n") + for _, line in ipairs(os_release) do ++ local lline = line + -- ubuntu: VERSION="16.04.7 LTS (Xenial Xerus)" + -- fedora: VERSION="32 (Container Image)" + -- debian: VERSION="9 (stretch)" + -- kylin : VERSION="V10(kylin)" +- if line:find("version=") then +- line = line:sub(9) +- version = semver.match(line) ++ if lline:find("version=") then ++ lline = lline:sub(9) ++ version = semver.match(lline) + if not version then +- version = line:match("\"(%d+)%s+.*\"") ++ version = lline:match("\"(%d+)%s+.*\"") + if version then + version = semver.new(version .. ".0") + end + end + -- is kylin? +- if not version and line:find("kylin", 1, true) then +- version = line:match("\"v(%d+)%(kylin%)\"") ++ if not version and lline:find("kylin", 1, true) then ++ version = lline:match("\"v(%d+)%(kylin%)\"") + if version then + version = semver.new(version .. ".0") + end +diff -up xmake-3.0.7/xmake/core/base/option.lua.orig xmake-3.0.7/xmake/core/base/option.lua +--- xmake-3.0.7/xmake/core/base/option.lua.orig 2026-03-16 22:31:58.396088111 +0000 ++++ xmake-3.0.7/xmake/core/base/option.lua 2026-03-16 22:55:54.345884556 +0000 +@@ -726,13 +726,14 @@ function option.show_options(options, ta + -- transform description + local desp_strs = table.new(#description, 0) + for _, v in ipairs(description) do +- if type(v) == "function" then +- v = v() ++ local lv = v ++ if type(lv) == "function" then ++ lv = lv() + end +- if type(v) == "string" then +- table.insert(desp_strs, colors.translate(v)) +- elseif type(v) == "table" then +- table.move(v, 1, #v, #desp_strs + 1, desp_strs) ++ if type(lv) == "string" then ++ table.insert(desp_strs, colors.translate(lv)) ++ elseif type(lv) == "table" then ++ table.move(lv, 1, #lv, #desp_strs + 1, desp_strs) + end + end + +diff -up xmake-3.0.7/xmake/core/base/os.lua.orig xmake-3.0.7/xmake/core/base/os.lua +--- xmake-3.0.7/xmake/core/base/os.lua.orig 2026-03-16 22:31:58.296087413 +0000 ++++ xmake-3.0.7/xmake/core/base/os.lua 2026-03-16 22:55:54.365884686 +0000 +@@ -422,9 +422,9 @@ function os.match(pattern, mode, opt) + if excludes then + local _excludes = {} + for _, exclude in ipairs(excludes) do +- exclude = path.translate(exclude) +- exclude = path.pattern(exclude) +- table.insert(_excludes, exclude) ++ local lexclude = path.translate(exclude) ++ lexclude = path.pattern(lexclude) ++ table.insert(_excludes, lexclude) + end + excludes = _excludes + end +@@ -925,7 +925,8 @@ function os.execv(program, argv, opt) + local shellfile = filename + local file = io.open(filename, 'r') + for line in file:lines() do +- if line and line:startswith("#!") then ++ local lline = line ++ if lline and lline:startswith("#!") then + -- we cannot run `/bin/sh` directly on windows + -- because `/bin/sh` is not real file path, maybe we need to convert it. + local host = os.host() +@@ -933,9 +934,9 @@ function os.execv(program, argv, opt) + filename = os._get_shell_path(opt) or "sh" + argv = table.join(shellfile, argv) + else +- line = line:sub(3) ++ lline = lline:sub(3) + local shellargv = {} +- local splitinfo = line:split("%s") ++ local splitinfo = lline:split("%s") + filename = splitinfo[1] + if #splitinfo > 1 then + shellargv = table.slice(splitinfo, 2) +@@ -958,31 +959,34 @@ function os.execv(program, argv, opt) + local envars = os.getenvs() + if setenvs then + for k, v in pairs(setenvs) do +- if type(v) == "table" then +- v = path.joinenv(v) ++ local lv = v ++ if type(lv) == "table" then ++ lv = path.joinenv(lv) + end +- envars[k] = v ++ envars[k] = lv + end + end + if addenvs then + for k, v in pairs(addenvs) do +- if type(v) == "table" then +- v = path.joinenv(v) ++ local lv = v ++ if type(lv) == "table" then ++ lv = path.joinenv(lv) + end + local o = envars[k] + if o then +- v = v .. path.envsep() .. o ++ lv = lv .. path.envsep() .. o + end +- envars[k] = v ++ envars[k] = lv + end + end + envs = {} + for k, v in pairs(envars) do ++ local lv = v + -- we try to fix too long value before running process +- if type(v) == "string" and #v > 4096 and os.host() == "windows" then +- v = os._deduplicate_pathenv(v) ++ if type(lv) == "string" and #lv > 4096 and os.host() == "windows" then ++ lv = os._deduplicate_pathenv(lv) + end +- table.insert(envs, k .. '=' .. v) ++ table.insert(envs, k .. '=' .. lv) + end + end + +diff -up xmake-3.0.7/xmake/core/base/path.lua.orig xmake-3.0.7/xmake/core/base/path.lua +--- xmake-3.0.7/xmake/core/base/path.lua.orig 2026-03-16 22:31:58.356087832 +0000 ++++ xmake-3.0.7/xmake/core/base/path.lua 2026-03-16 22:55:54.365884686 +0000 +@@ -342,13 +342,14 @@ function path.splitenv(env_path) + -- see https://git.kernel.org/pub/scm/utils/dash/dash.git/tree/src/exec.c?h=v0.5.9.1&id=afe0e0152e4dc12d84be3c02d6d62b0456d68580#n173 + -- no escape sequences, so `:` and `%` is invalid in environment variable + for _, v in ipairs(env_path:split(path.envsep(), { plain = true })) do ++ local lv = v + -- flag for shells, style `%` +- local flag = v:find("%", 1, true) ++ local flag = lv:find("%", 1, true) + if flag then +- v = v:sub(1, flag - 1) ++ lv = lv:sub(1, flag - 1) + end +- if #v > 0 then +- table.insert(result, v) ++ if #lv > 0 then ++ table.insert(result, lv) + end + end + end +@@ -366,11 +367,12 @@ function path.joinenv(paths, envsep) + if xmake._HOST == "windows" then + local tab = {} + for _, v in ipairs(paths) do +- if v ~= "" then +- if v:find(envsep, 1, true) then +- v = '"' .. v .. '"' ++ local lv = v ++ if lv ~= "" then ++ if lv:find(envsep, 1, true) then ++ lv = '"' .. lv .. '"' + end +- table.insert(tab, v) ++ table.insert(tab, lv) + end + end + return table.concat(tab, envsep) +diff -up xmake-3.0.7/xmake/core/base/private/match_copyfiles.lua.orig xmake-3.0.7/xmake/core/base/private/match_copyfiles.lua +--- xmake-3.0.7/xmake/core/base/private/match_copyfiles.lua.orig 2026-03-16 22:31:58.396088111 +0000 ++++ xmake-3.0.7/xmake/core/base/private/match_copyfiles.lua 2026-03-16 22:55:54.385884818 +0000 +@@ -50,17 +50,18 @@ function match_copyfiles(instance, filet + local srcfiles_removed = {} + local removed_count = 0 + for _, copyfile in ipairs(table.wrap(copyfiles)) do ++ local lcopyfile = copyfile + + -- mark as removed files? + local removed = false + local prefix = "__remove_" +- if copyfile:startswith(prefix) then +- copyfile = copyfile:sub(#prefix + 1) ++ if lcopyfile:startswith(prefix) then ++ lcopyfile = lcopyfile:sub(#prefix + 1) + removed = true + end + + -- get the root directory +- local rootdir, count = copyfile:gsub("|.*$", ""):gsub("%(.*%)$", "") ++ local rootdir, count = lcopyfile:gsub("|.*$", ""):gsub("%(.*%)$", "") + if count == 0 then + rootdir = nil + end +@@ -69,7 +70,7 @@ function match_copyfiles(instance, filet + end + + -- remove '(' and ')' +- local srcpaths = copyfile:gsub("[%(%)]", "") ++ local srcpaths = lcopyfile:gsub("[%(%)]", "") + if srcpaths then + + -- get the source paths +@@ -84,7 +85,7 @@ function match_copyfiles(instance, filet + table.join2(srcfiles, srcpaths) + + -- get the file info +- local fileinfo = extrainfo[copyfile] or {} ++ local fileinfo = extrainfo[lcopyfile] or {} + + -- get the prefix directory + local prefixdir = fileinfo.prefixdir +diff -up xmake-3.0.7/xmake/core/base/text.lua.orig xmake-3.0.7/xmake/core/base/text.lua +--- xmake-3.0.7/xmake/core/base/text.lua.orig 2026-03-16 22:31:58.346087764 +0000 ++++ xmake-3.0.7/xmake/core/base/text.lua 2026-03-16 22:55:54.445885209 +0000 +@@ -178,30 +178,30 @@ function text.wordwrap(str, width, opt) + for _, v in ipairs(lines) do + + -- remove tailing spaces, include "\r", which will be produced by `("l1\r\nl2"):split(...)` +- v = v:rtrim() ++ local lv = v:rtrim() + +- while #v > width do ++ while #lv > width do + + -- find word break chance +- local wbr = text._lastwbr(v, width, opt.wordbreak) ++ local wbr = text._lastwbr(lv, width, opt.wordbreak) + + -- break line +- local line = v:sub(1, wbr):rtrim() ++ local line = lv:sub(1, wbr):rtrim() + actual_width = math.max(#line, actual_width) + table.insert(result, line) +- v = v:sub(wbr + 1):ltrim() ++ lv = lv:sub(wbr + 1):ltrim() + + -- prevent empty line +- if #v == 0 then +- v = nil ++ if #lv == 0 then ++ lv = nil + break + end + end + + -- put remaining parts +- if v then +- actual_width = math.max(#v, actual_width) +- table.insert(result, v) ++ if lv then ++ actual_width = math.max(#lv, actual_width) ++ table.insert(result, lv) + end + end + +diff -up xmake-3.0.7/xmake/core/base/thread.lua.orig xmake-3.0.7/xmake/core/base/thread.lua +--- xmake-3.0.7/xmake/core/base/thread.lua.orig 2026-03-16 22:31:58.336087693 +0000 ++++ xmake-3.0.7/xmake/core/base/thread.lua 2026-03-16 22:55:54.455885275 +0000 +@@ -103,14 +103,15 @@ function _thread:start() + -- translate arguments (mutex, ...) + local argv = {} + for _, arg in ipairs(self._ARGV) do +- if type(arg) == "table" then ++ local larg = arg ++ if type(larg) == "table" then + -- try to serialize thread object (mutex, event, semaphore, queue, sharedata) +- local serialized = thread._serialize_object(arg) ++ local serialized = thread._serialize_object(larg) + if serialized then +- arg = serialized ++ larg = serialized + end + end +- table.insert(argv, arg) ++ table.insert(argv, larg) + end + + -- init callback info +@@ -927,14 +928,15 @@ function thread._run_thread(callback_str + if argv then + local newargv = {} + for _, arg in ipairs(argv) do +- if type(arg) == "table" and arg.caddr then ++ local larg = arg ++ if type(larg) == "table" and larg.caddr then + -- try to deserialize thread object +- local obj = thread._deserialize_object(arg) ++ local obj = thread._deserialize_object(larg) + if obj then +- arg = obj ++ larg = obj + end + end +- table.insert(newargv, arg) ++ table.insert(newargv, larg) + end + argv = newargv + end +diff -up xmake-3.0.7/xmake/core/base/winos.lua.orig xmake-3.0.7/xmake/core/base/winos.lua +--- xmake-3.0.7/xmake/core/base/winos.lua.orig 2026-03-16 22:31:58.296087413 +0000 ++++ xmake-3.0.7/xmake/core/base/winos.lua 2026-03-16 22:55:54.475885405 +0000 +@@ -162,8 +162,8 @@ function winos.cmdargv(argv, opt) + local limit = 4096 + local argn = 0 + for _, arg in ipairs(argv) do +- arg = tostring(arg) +- argn = argn + #arg ++ local larg = tostring(arg) ++ argn = argn + #larg + if argn > limit then + break + end +diff -up xmake-3.0.7/xmake/core/package/package.lua.orig xmake-3.0.7/xmake/core/package/package.lua +--- xmake-3.0.7/xmake/core/package/package.lua.orig 2026-03-16 22:31:58.436088391 +0000 ++++ xmake-3.0.7/xmake/core/package/package.lua 2026-03-16 22:55:54.535885798 +0000 +@@ -1147,18 +1147,19 @@ end + function _instance:envs() + local envs = {} + for name, values in pairs(self:_rawenvs()) do ++ local lvalues = values + if self:_pathenvs():has(name) then + local newvalues = {} +- for _, value in ipairs(values) do ++ for _, value in ipairs(lvalues) do + if path.is_absolute(value) then + table.insert(newvalues, value) + else + table.insert(newvalues, path.normalize(path.join(self:installdir({readonly = true}), value))) + end + end +- values = newvalues ++ lvalues = newvalues + end +- envs[name] = values ++ envs[name] = lvalues + end + return envs + end +@@ -1654,10 +1655,11 @@ function _instance:buildhash() + -- We cannot directly deserialize the table, so the result may be different each time + local configs_order = {} + for k, v in pairs(table.wrap(configs)) do +- if type(v) == "table" then +- v = string.serialize(v, {strip = true, indent = false, orderkeys = true}) ++ local lv = v ++ if type(lv) == "table" then ++ lv = string.serialize(lv, {strip = true, indent = false, orderkeys = true}) + end +- table.insert(configs_order, k .. "=" .. tostring(v)) ++ table.insert(configs_order, k .. "=" .. tostring(lv)) + end + table.sort(configs_order) + +diff -up xmake-3.0.7/xmake/core/package/scheme.lua.orig xmake-3.0.7/xmake/core/package/scheme.lua +--- xmake-3.0.7/xmake/core/package/scheme.lua.orig 2026-03-16 22:31:58.436088391 +0000 ++++ xmake-3.0.7/xmake/core/package/scheme.lua 2026-03-16 22:55:54.545885865 +0000 +@@ -172,12 +172,13 @@ function _instance:versions() + -- https://github.com/xmake-io/xmake/issues/6953 + local versions = {} + for version, _ in table.orderpairs(self:_versions_list()) do ++ local lversion = version + -- remove the url alias prefix if exists +- local pos = version:find(':', 1, true) ++ local pos = lversion:find(':', 1, true) + if pos then +- version = version:sub(pos + 1, -1) ++ lversion = lversion:sub(pos + 1, -1) + end +- table.insert(versions, version) ++ table.insert(versions, lversion) + end + self._VERSIONS = table.unique(versions) + end +@@ -191,15 +192,16 @@ function _instance:_versions_list() + local versionfiles = self:get("versionfiles") + if versionfiles then + for _, versionfile in ipairs(table.wrap(versionfiles)) do +- if not path.is_absolute(versionfile) then +- local subpath = versionfile +- versionfile = path.join(self:scriptdir(), subpath) +- if not os.isfile(versionfile) and self:package() and self:package():base() then +- versionfile = path.join(self:package():base():scriptdir(), subpath) ++ local lversionfile = versionfile ++ if not path.is_absolute(lversionfile) then ++ local subpath = lversionfile ++ lversionfile = path.join(self:scriptdir(), subpath) ++ if not os.isfile(lversionfile) and self:package() and self:package():base() then ++ lversionfile = path.join(self:package():base():scriptdir(), subpath) + end + end +- if os.isfile(versionfile) then +- local list = io.readfile(versionfile) ++ if os.isfile(lversionfile) then ++ local list = io.readfile(lversionfile) + for _, line in ipairs(list:split("\n")) do + local splitinfo = line:split("%s+") + if #splitinfo == 2 then +@@ -337,12 +339,13 @@ function _instance:patches() + else + -- match semver, e.g add_patches(">=1.0.0", url, sha256) + for range, patchinfo in pairs(patchinfos) do ++ local lpatchinfo = patchinfo + if semver.satisfies(version_str, range) then + patches = patches or {} +- patchinfo = table.wrap(patchinfo) +- for idx = 1, #patchinfo, 2 do +- local extra = self:extraconf("patches." .. range, patchinfo[idx]) +- table.insert(patches , {url = patchinfo[idx], sha256 = patchinfo[idx + 1], extra = extra}) ++ lpatchinfo = table.wrap(lpatchinfo) ++ for idx = 1, #lpatchinfo, 2 do ++ local extra = self:extraconf("patches." .. range, lpatchinfo[idx]) ++ table.insert(patches , {url = lpatchinfo[idx], sha256 = lpatchinfo[idx + 1], extra = extra}) + end + end + end +@@ -371,12 +374,13 @@ function _instance:resources() + else + -- match semver, e.g add_resources(">=1.0.0", name, url, sha256) + for range, resourceinfo in pairs(resourceinfos) do ++ local lresourceinfo = resourceinfo + if semver.satisfies(version_str, range) then + resources = resources or {} +- resourceinfo = table.wrap(resourceinfo) +- for idx = 1, #resourceinfo, 3 do +- local name = resourceinfo[idx] +- resources[name] = {url = resourceinfo[idx + 1], sha256 = resourceinfo[idx + 2]} ++ lresourceinfo = table.wrap(lresourceinfo) ++ for idx = 1, #lresourceinfo, 3 do ++ local name = lresourceinfo[idx] ++ resources[name] = {url = lresourceinfo[idx + 1], sha256 = lresourceinfo[idx + 2]} + end + end + end +diff -up xmake-3.0.7/xmake/core/project/config.lua.orig xmake-3.0.7/xmake/core/project/config.lua +--- xmake-3.0.7/xmake/core/project/config.lua.orig 2026-03-16 22:31:58.276087274 +0000 ++++ xmake-3.0.7/xmake/core/project/config.lua 2026-03-16 22:55:54.555885928 +0000 +@@ -61,8 +61,8 @@ function config._is_value(value, ...) + value = tostring(value) + for _, v in ipairs(table.pack(...)) do + -- escape '-' +- v = tostring(v) +- if value == v or value:find("^" .. v:gsub("%-", "%%-") .. "$") then ++ local lv = tostring(v) ++ if value == lv or value:find("^" .. lv:gsub("%-", "%%-") .. "$") then + return true + end + end +diff -up xmake-3.0.7/xmake/core/project/package.lua.orig xmake-3.0.7/xmake/core/project/package.lua +--- xmake-3.0.7/xmake/core/project/package.lua.orig 2026-03-16 22:31:58.266087204 +0000 ++++ xmake-3.0.7/xmake/core/project/package.lua 2026-03-16 22:55:54.565885994 +0000 +@@ -351,15 +351,15 @@ function _instance:rules() + -- make rule instances + rules = {} + for rulename, ruleinfo in pairs(ruleinfos) do +- rulename = "@" .. self:name() .. "/" .. rulename +- local instance = rule.new(rulename, ruleinfo, {package = self}) ++ local lrulename = "@" .. self:name() .. "/" .. rulename ++ local instance = rule.new(lrulename, ruleinfo, {package = self}) + if instance:script("load") then +- utils.warning("we cannot add `on_load()` in package rule(%s), please use `on_config()` instead of it!", rulename) ++ utils.warning("we cannot add `on_load()` in package rule(%s), please use `on_config()` instead of it!", lrulename) + end + if instance:script("load_after") then +- utils.warning("we cannot add `after_load()` in package rule(%s), please use `on_config()` instead of it!", rulename) ++ utils.warning("we cannot add `after_load()` in package rule(%s), please use `on_config()` instead of it!", lrulename) + end +- rules[rulename] = instance ++ rules[lrulename] = instance + end + self._RULES = rules + end +diff -up xmake-3.0.7/xmake/core/project/project.lua.orig xmake-3.0.7/xmake/core/project/project.lua +--- xmake-3.0.7/xmake/core/project/project.lua.orig 2026-03-16 22:31:58.256087134 +0000 ++++ xmake-3.0.7/xmake/core/project/project.lua 2026-03-16 22:55:54.585886127 +0000 +@@ -172,10 +172,11 @@ end + function project._api_add_moduledirs(interp, ...) + local scriptdir = project.interpreter():scriptdir() + for _, dir in ipairs({...}) do +- if not path.is_absolute(dir) then +- dir = path.absolute(dir, scriptdir) ++ local ldir = dir ++ if not path.is_absolute(ldir) then ++ ldir = path.absolute(ldir, scriptdir) + end +- sandbox_module.add_directories(dir) ++ sandbox_module.add_directories(ldir) + end + end + +@@ -184,10 +185,11 @@ function project._api_add_plugindirs(int + local scriptdir = project.interpreter():scriptdir() + local plugindirs = {} + for _, dir in ipairs({...}) do +- if not path.is_absolute(dir) then +- dir = path.absolute(dir, scriptdir) ++ local ldir = dir ++ if not path.is_absolute(ldir) then ++ ldir = path.absolute(ldir, scriptdir) + end +- table.insert(plugindirs, dir .. "/*") ++ table.insert(plugindirs, ldir .. "/*") + end + interp:api_builtin_includes(plugindirs) + end +@@ -196,10 +198,11 @@ end + function project._api_add_platformdirs(interp, ...) + local scriptdir = project.interpreter():scriptdir() + for _, dir in ipairs({...}) do +- if not path.is_absolute(dir) then +- dir = path.absolute(dir, scriptdir) ++ local ldir = dir ++ if not path.is_absolute(ldir) then ++ ldir = path.absolute(ldir, scriptdir) + end +- platform.add_directories(dir) ++ platform.add_directories(ldir) + end + end + +@@ -207,10 +210,11 @@ end + function project._api_add_toolchaindirs(interp, ...) + local scriptdir = project.interpreter():scriptdir() + for _, dir in ipairs({...}) do +- if not path.is_absolute(dir) then +- dir = path.absolute(dir, scriptdir) ++ local ldir = dir ++ if not path.is_absolute(ldir) then ++ ldir = path.absolute(ldir, scriptdir) + end +- toolchain.add_directories(dir) ++ toolchain.add_directories(ldir) + end + end + +diff -up xmake-3.0.7/xmake/core/project/rule.lua.orig xmake-3.0.7/xmake/core/project/rule.lua +--- xmake-3.0.7/xmake/core/project/rule.lua.orig 2026-03-16 22:31:58.266087204 +0000 ++++ xmake-3.0.7/xmake/core/project/rule.lua 2026-03-16 22:55:54.595886190 +0000 +@@ -405,20 +405,22 @@ function rule.new(name, info, opt) + -- + local deps = {} + for _, depname in ipairs(table.wrap(instance:get("deps"))) do ++ local ldepname = depname + -- @xxx -> @package/xxx +- if depname:startswith("@") and not depname:find("/", 1, true) then +- depname = "@" .. opt.package:name() .. "/" .. depname:sub(2) ++ if ldepname:startswith("@") and not ldepname:find("/", 1, true) then ++ ldepname = "@" .. opt.package:name() .. "/" .. ldepname:sub(2) + end +- table.insert(deps, depname) ++ table.insert(deps, ldepname) + end + deps = table.unwrap(deps) + if deps and #deps > 0 then + instance:set("deps", deps) + end + for depname, extraconf in pairs(table.wrap(instance:extraconf("deps"))) do +- if depname:startswith("@") and not depname:find("/", 1, true) then +- depname = "@" .. opt.package:name() .. "/" .. depname:sub(2) +- instance:extraconf_set("deps", depname, extraconf) ++ local ldepname = depname ++ if ldepname:startswith("@") and not ldepname:find("/", 1, true) then ++ ldepname = "@" .. opt.package:name() .. "/" .. ldepname:sub(2) ++ instance:extraconf_set("deps", ldepname, extraconf) + end + end + end +diff -up xmake-3.0.7/xmake/core/project/target.lua.orig xmake-3.0.7/xmake/core/project/target.lua +--- xmake-3.0.7/xmake/core/project/target.lua.orig 2026-03-16 22:31:58.256087134 +0000 ++++ xmake-3.0.7/xmake/core/project/target.lua 2026-03-16 22:55:54.625886388 +0000 +@@ -1410,14 +1410,15 @@ function _instance:pkgenvs() + local envs = pkg:envs() + if envs then + for name, values in table.orderpairs(envs) do +- if type(values) == "table" then +- values = path.joinenv(values) ++ local lvalues = values ++ if type(lvalues) == "table" then ++ lvalues = path.joinenv(lvalues) + end + pkgenvs = pkgenvs or {} + if pkgenvs[name] then +- pkgenvs[name] = pkgenvs[name] .. path.envsep() .. values ++ pkgenvs[name] = pkgenvs[name] .. path.envsep() .. lvalues + else +- pkgenvs[name] = values ++ pkgenvs[name] = lvalues + end + end + end +@@ -1875,9 +1876,9 @@ function _instance:filerules(sourcefile) + -- we can also get extensions from add_rules("xxx", {extensions = ".cpp"}) + local rule_extensions = self:extraconf("rules", r:name(), "extensions") or r:get("extensions") + for _, extension in ipairs(table.wrap(rule_extensions)) do +- extension = extension:lower() +- key2rules[extension] = key2rules[extension] or {} +- table.insert(key2rules[extension], r) ++ local lextension = extension:lower() ++ key2rules[lextension] = key2rules[lextension] or {} ++ table.insert(key2rules[lextension], r) + end + end + self:memcache():set("key2rules", key2rules) +@@ -1930,10 +1931,11 @@ function _instance:fileconfig(sourcefile + local results = os.match(filepath) + if #results > 0 then + for _, file in ipairs(results) do +- if path.is_absolute(file) then +- file = path.relative(file, os.projectdir()) ++ local lfile = file ++ if path.is_absolute(lfile) then ++ lfile = path.relative(lfile, os.projectdir()) + end +- filesconfig[file] = fileconfig ++ filesconfig[lfile] = fileconfig + end + else + -- we also need support always_added, @see https://github.com/xmake-io/xmake/issues/1634 +@@ -2027,28 +2029,29 @@ function _instance:sourcefiles() + local removed_count = 0 + local targetcache = memcache.cache("core.project.target") + for _, file in ipairs(table.wrap(files)) do ++ local lfile = file + + -- mark as removed files? + local removed = false + local prefix = "__remove_" +- if file:startswith(prefix) then +- file = file:sub(#prefix + 1) ++ if lfile:startswith(prefix) then ++ lfile = lfile:sub(#prefix + 1) + removed = true + end + + local results + if removed then +- results = {file} ++ results = {lfile} + else + -- find source files and try to cache the matching results of os.match across targets + -- @see https://github.com/xmake-io/xmake/issues/1353 +- results = targetcache:get2("sourcefiles", file) ++ results = targetcache:get2("sourcefiles", lfile) + if results == nil then +- results = os.files(file) ++ results = os.files(lfile) + if #results == 0 then + -- attempt to find source directories if maybe compile it as directory with the custom rules +- if #self:filerules(file) > 0 then +- results = os.dirs(file) ++ if #self:filerules(lfile) > 0 then ++ results = os.dirs(lfile) + end + end + +@@ -2060,33 +2063,34 @@ function _instance:sourcefiles() + -- + -- e.g. add_files("src/test.c", {always_added = true}) + -- +- if #results == 0 and self:extraconf("files", file, "always_added") then +- results = {file} ++ if #results == 0 and self:extraconf("files", lfile, "always_added") then ++ results = {lfile} + end + end +- targetcache:set2("sourcefiles", file, results) ++ targetcache:set2("sourcefiles", lfile, results) + end + if #results == 0 then +- local sourceinfo = self:sourceinfo("files", file) or {} ++ local sourceinfo = self:sourceinfo("files", lfile) or {} + utils.warning("%s:%d${clear}: cannot match %s_files(\"%s\") in %s(%s)", +- sourceinfo.file or "", sourceinfo.line or -1, (removed and "remove" or "add"), file, self:type(), self:fullname()) ++ sourceinfo.file or "", sourceinfo.line or -1, (removed and "remove" or "add"), lfile, self:type(), self:fullname()) + end + + -- process source files + for _, sourcefile in ipairs(results) do ++ local lsourcefile = sourcefile + + -- convert to the relative path +- if path.is_absolute(sourcefile) then +- sourcefile = path.relative(sourcefile, os.projectdir()) ++ if path.is_absolute(lsourcefile) then ++ lsourcefile = path.relative(lsourcefile, os.projectdir()) + end + + -- add or remove it + if removed then + removed_count = removed_count + 1 +- table.insert(sourcefiles_removed, sourcefile) +- elseif not sourcefiles_inserted[sourcefile] then +- table.insert(sourcefiles, sourcefile) +- sourcefiles_inserted[sourcefile] = true ++ table.insert(sourcefiles_removed, lsourcefile) ++ elseif not sourcefiles_inserted[lsourcefile] then ++ table.insert(sourcefiles, lsourcefile) ++ sourcefiles_inserted[lsourcefile] = true + end + end + end +diff -up xmake-3.0.7/xmake/core/sandbox/modules/import/core/sandbox/module.lua.orig xmake-3.0.7/xmake/core/sandbox/modules/import/core/sandbox/module.lua +--- xmake-3.0.7/xmake/core/sandbox/modules/import/core/sandbox/module.lua.orig 2026-03-16 22:31:58.006085390 +0000 ++++ xmake-3.0.7/xmake/core/sandbox/modules/import/core/sandbox/module.lua 2026-03-16 22:55:54.675886713 +0000 +@@ -168,15 +168,16 @@ function core_sandbox_module._load_from_ + -- save module + local scope = module + for _, modulename in ipairs(path.split(modulepath)) do +- local pos = modulename:find(".lua", 1, true) ++ local lmodulename = modulename ++ local pos = lmodulename:find(".lua", 1, true) + if pos then +- modulename = modulename:sub(1, pos - 1) +- assert(modulename) +- scope[modulename] = result ++ lmodulename = lmodulename:sub(1, pos - 1) ++ assert(lmodulename) ++ scope[lmodulename] = result + else + -- enter submodule +- scope[modulename] = scope[modulename] or {} +- scope = scope[modulename] ++ scope[lmodulename] = scope[lmodulename] or {} ++ scope = scope[lmodulename] + end + end + end +diff -up xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_directory.lua.orig xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_directory.lua +--- xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_directory.lua.orig 2026-03-16 22:31:58.206086786 +0000 ++++ xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_directory.lua 2026-03-16 22:55:54.695886845 +0000 +@@ -34,20 +34,21 @@ local xmake = require("base/xmake") + function sandbox_lib_detect_find_directory._expand_paths(paths) + local results = {} + for _, _path in ipairs(table.wrap(paths)) do +- if type(_path) == "function" then +- local ok, result_or_errors = sandbox.load(_path) ++ local l_path = _path ++ if type(l_path) == "function" then ++ local ok, result_or_errors = sandbox.load(l_path) + if ok then +- _path = result_or_errors or "" ++ l_path = result_or_errors or "" + else + raise(result_or_errors) + end + else +- _path = vformat(_path) ++ l_path = vformat(l_path) + end +- for _, _s_path in ipairs(table.wrap(_path)) do +- _s_path = tostring(_s_path) +- if #_s_path > 0 then +- table.insert(results, _s_path) ++ for _, _s_path in ipairs(table.wrap(l_path)) do ++ local l_s_path = tostring(_s_path) ++ if #l_s_path > 0 then ++ table.insert(results, l_s_path) + end + end + end +@@ -58,9 +59,9 @@ end + function sandbox_lib_detect_find_directory._normalize_suffixes(suffixes) + local results = {} + for _, suffix in ipairs(table.wrap(suffixes)) do +- suffix = tostring(suffix) +- if #suffix > 0 then +- table.insert(results, suffix) ++ local lsuffix = tostring(suffix) ++ if #lsuffix > 0 then ++ table.insert(results, lsuffix) + end + end + return results +diff -up xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_file.lua.orig xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_file.lua +--- xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_file.lua.orig 2026-03-16 22:31:58.206086786 +0000 ++++ xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_file.lua 2026-03-16 22:55:54.695886845 +0000 +@@ -35,24 +35,25 @@ local xmake = require("base/xmake") + function sandbox_lib_detect_find_file._expand_paths(paths) + local results = {} + for _, _path in ipairs(table.wrap(paths)) do +- if type(_path) == "function" then +- local ok, result_or_errors = sandbox.load(_path) ++ local l_path = _path ++ if type(l_path) == "function" then ++ local ok, result_or_errors = sandbox.load(l_path) + if ok then +- _path = result_or_errors or "" ++ l_path = result_or_errors or "" + else + raise(result_or_errors) + end +- elseif type(_path) == "string" then +- if _path:match("^%$%(env .+%)$") then +- _path = path.splitenv(vformat(_path)) ++ elseif type(l_path) == "string" then ++ if l_path:match("^%$%(env .+%)$") then ++ l_path = path.splitenv(vformat(l_path)) + else +- _path = vformat(_path) ++ l_path = vformat(l_path) + end + end +- for _, _s_path in ipairs(table.wrap(_path)) do +- _s_path = tostring(_s_path) +- if #_s_path > 0 then +- table.insert(results, _s_path) ++ for _, _s_path in ipairs(table.wrap(l_path)) do ++ local l_s_path = tostring(_s_path) ++ if #l_s_path > 0 then ++ table.insert(results, l_s_path) + end + end + end +@@ -63,9 +64,9 @@ end + function sandbox_lib_detect_find_file._normalize_suffixes(suffixes) + local results = {} + for _, suffix in ipairs(table.wrap(suffixes)) do +- suffix = tostring(suffix) +- if #suffix > 0 then +- table.insert(results, suffix) ++ local lsuffix = tostring(suffix) ++ if #lsuffix > 0 then ++ table.insert(results, lsuffix) + end + end + return results +diff -up xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_path.lua.orig xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_path.lua +--- xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_path.lua.orig 2026-03-16 22:31:58.216086857 +0000 ++++ xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_path.lua 2026-03-16 22:55:54.695886845 +0000 +@@ -34,20 +34,21 @@ local xmake = require("base/xmake") + function sandbox_lib_detect_find_path._expand_paths(paths) + local results = {} + for _, _path in ipairs(table.wrap(paths)) do +- if type(_path) == "function" then +- local ok, result_or_errors = sandbox.load(_path) ++ local l_path = _path ++ if type(l_path) == "function" then ++ local ok, result_or_errors = sandbox.load(l_path) + if ok then +- _path = result_or_errors or "" ++ l_path = result_or_errors or "" + else + raise(result_or_errors) + end + else +- _path = vformat(_path) ++ l_path = vformat(l_path) + end +- for _, _s_path in ipairs(table.wrap(_path)) do +- _s_path = tostring(_s_path) +- if #_s_path > 0 then +- table.insert(results, _s_path) ++ for _, _s_path in ipairs(table.wrap(l_path)) do ++ local l_s_path = tostring(_s_path) ++ if #l_s_path > 0 then ++ table.insert(results, l_s_path) + end + end + end +@@ -58,9 +59,9 @@ end + function sandbox_lib_detect_find_path._normalize_suffixes(suffixes) + local results = {} + for _, suffix in ipairs(table.wrap(suffixes)) do +- suffix = tostring(suffix) +- if #suffix > 0 then +- table.insert(results, suffix) ++ local lsuffix = tostring(suffix) ++ if #lsuffix > 0 then ++ table.insert(results, lsuffix) + end + end + return results +diff -up xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_program.lua.orig xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_program.lua +--- xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_program.lua.orig 2026-03-16 22:31:58.206086786 +0000 ++++ xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_program.lua 2026-03-16 22:55:54.705886909 +0000 +@@ -108,24 +108,25 @@ function sandbox_lib_detect_find_program + -- attempt to check it from the given directories + if not path.is_absolute(name) then + for _, _path in ipairs(table.wrap(paths)) do ++ local l_path = _path + + -- format path for builtin variables +- if type(_path) == "function" then +- local ok, results = sandbox.load(_path) ++ if type(l_path) == "function" then ++ local ok, results = sandbox.load(l_path) + if ok then +- _path = results or "" ++ l_path = results or "" + else + raise(results) + end +- elseif type(_path) == "string" then +- if _path:match("^%$%(env .+%)$") then +- _path = path.splitenv(vformat(_path)) ++ elseif type(l_path) == "string" then ++ if l_path:match("^%$%(env .+%)$") then ++ l_path = path.splitenv(vformat(l_path)) + else +- _path = vformat(_path) ++ l_path = vformat(l_path) + end + end + +- for _, _s_path in ipairs(table.wrap(_path)) do ++ for _, _s_path in ipairs(table.wrap(l_path)) do + + -- get program path + local program_path = nil +@@ -269,9 +270,9 @@ function sandbox_lib_detect_find_program + local ok, wherepaths = os.iorunv("where.exe", {program_name}) + if ok and wherepaths then + for _, program_path in ipairs(wherepaths:split("\n")) do +- program_path = program_path:trim() +- if #program_path > 0 then +- local program_path_real = sandbox_lib_detect_find_program._check(program_path, opt) ++ local lprogram_path = program_path:trim() ++ if #lprogram_path > 0 then ++ local program_path_real = sandbox_lib_detect_find_program._check(lprogram_path, opt) + if program_path_real then + return program_path_real + end +diff -up xmake-3.0.7/xmake/core/tool/builder.lua.orig xmake-3.0.7/xmake/core/tool/builder.lua +--- xmake-3.0.7/xmake/core/tool/builder.lua.orig 2026-03-16 22:31:58.426088320 +0000 ++++ xmake-3.0.7/xmake/core/tool/builder.lua 2026-03-16 22:56:22.206055416 +0000 +@@ -165,19 +165,19 @@ function builder:_add_flags_from_flagkin + local targetflags = target:get(flagkind, opt) + local extraconf = target:extraconf(flagkind) + for _, flag in ipairs(table.wrap(targetflags)) do +- flag = target_utils.flag_belong_to_tool(flag, self, extraconf) +- if flag then ++ local lflag = target_utils.flag_belong_to_tool(flag, self, extraconf) ++ if lflag then + if extraconf then +- local flagconf = extraconf[flag] ++ local flagconf = extraconf[lflag] + -- @note we need join the single flag with shallow mode, aboid expand table values + -- e.g. add_cflags({"-I", "/tmp/xxx foo"}, {force = true, expand = false}) + if flagconf and flagconf.force then +- table.shallow_join2(flags, flag) ++ table.shallow_join2(flags, lflag) + else +- table.shallow_join2(flags, self:_mapflag(flag, flagkind, target)) ++ table.shallow_join2(flags, self:_mapflag(lflag, flagkind, target)) + end + else +- table.shallow_join2(flags, self:_mapflag(flag, flagkind, target)) ++ table.shallow_join2(flags, self:_mapflag(lflag, flagkind, target)) + end + end + end +@@ -392,11 +392,11 @@ function builder:_add_items_from_target( + for idx, values in ipairs(result) do + local source = sources[idx] + local extras = target:extraconf_from(name, source) +- values = table.wrap(values) +- if values and #values > 0 then ++ local lvalues = table.wrap(values) ++ if lvalues and #lvalues > 0 then + table.insert(items, { + name = name, +- values = values, ++ values = lvalues, + extras = extras, + check = opt.check, + multival = opt.multival, +@@ -691,16 +691,17 @@ function builder:_sort_links_of_items(it + -- re-generate links to items list + if sortlinks or makegroups then + for _, link in ipairs(links) do +- if link:startswith("framework::") then +- link = link:sub(12) +- table.insert(items, {name = "frameworks", values = table.wrap(link), check = false, multival = false, mapper = framework_mapper}) +- elseif link:startswith("linkgroup::") then +- local key = link:sub(12) ++ local llink = link ++ if llink:startswith("framework::") then ++ llink = llink:sub(12) ++ table.insert(items, {name = "frameworks", values = table.wrap(llink), check = false, multival = false, mapper = framework_mapper}) ++ elseif llink:startswith("linkgroup::") then ++ local key = llink:sub(12) + local values = linkgroups_map[key] + local extras = extras_map[key] + table.insert(items, {name = "linkgroups", values = table.wrap(values), extras = extras, check = false, multival = false, mapper = linkgroup_mapper}) + else +- table.insert(items, {name = "links", values = table.wrap(link), check = false, multival = false, mapper = link_mapper}) ++ table.insert(items, {name = "links", values = table.wrap(llink), check = false, multival = false, mapper = link_mapper}) + end + end + end +diff -up xmake-3.0.7/xmake/core/tool/toolchain.lua.orig xmake-3.0.7/xmake/core/tool/toolchain.lua +--- xmake-3.0.7/xmake/core/tool/toolchain.lua.orig 2026-03-16 22:31:58.426088320 +0000 ++++ xmake-3.0.7/xmake/core/tool/toolchain.lua 2026-03-16 22:55:54.765887302 +0000 +@@ -241,10 +241,11 @@ function _instance:runenvs() + if toolchain_runenvs then + runenvs = {} + for name, values in pairs(toolchain_runenvs) do +- if type(values) == "table" then +- values = path.joinenv(values) ++ local lvalues = values ++ if type(lvalues) == "table" then ++ lvalues = path.joinenv(lvalues) + end +- runenvs[name] = values ++ runenvs[name] = lvalues + end + end + runenvs = runenvs or false +@@ -654,13 +655,13 @@ function toolchain.parsename(name) + for _, v in ipairs(splitinfo) do + local parts = v:split("=", {plain = true}) + local k = parts[1] +- v = parts[2] ++ local lv = parts[2] + requireconfs = requireconfs or {} +- if v then +- if v:find(":", 1 ,true) then +- requireconfs[k] = v:split(":", {plain = true}) ++ if lv then ++ if lv:find(":", 1 ,true) then ++ requireconfs[k] = lv:split(":", {plain = true}) + else +- requireconfs[k] = option.boolean(v) ++ requireconfs[k] = option.boolean(lv) + end + else + requireconfs[k] = true diff --git a/xmake.spec b/xmake.spec index 89b32eb..7bad729 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 3.0.6 +Version: 3.0.7 %global __requires_exclude_from ^%{_datadir}/%{name}/scripts/.+\\.ps1$ %global forgeurl https://github.com/xmake-io/xmake @@ -18,7 +18,9 @@ Source: %forgesource Patch0: 0001-pkgconfig-fix-check.patch Patch1: 0001-system-include.patch Patch2: 0001-add-relwithdebinfo-build-mode.patch -Patch3: https://github.com/xmake-io/xmake/pull/7213.patch +# I think this is all the places that need to be fixed for lua 5.5. +# It's a lot. +Patch3: xmake-3.0.7-lua-5.5.patch BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(readline) From ca742893d0a716a81a6ccdebd15888a54d5cf7fd Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Mon, 16 Mar 2026 19:11:20 -0400 Subject: [PATCH 26/33] update to 3.0.7, rebuild for lua 5.5, required noteworthy patching --- sources | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sources b/sources index 767f247..bc4912f 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-v3.0.7.tar.gz) = 4225bd24195df470a47cd13635e463b6f567318e2e371c185cdaf9b72cff94caf841bb2d8e0cb2940fc1e236968b0831859f65b30a485425e33ff947715862a3 +SHA512 (xmake-3.0.7.tar.gz) = 4225bd24195df470a47cd13635e463b6f567318e2e371c185cdaf9b72cff94caf841bb2d8e0cb2940fc1e236968b0831859f65b30a485425e33ff947715862a3 From 6ca325df1cdb8b81114bb4738e9ab36da3911657 Mon Sep 17 00:00:00 2001 From: Zephyr Lykos Date: Mon, 6 Apr 2026 16:45:47 +0800 Subject: [PATCH 27/33] Fix libsv include path https://github.com/uael/sv/pull/61 --- xmake.spec | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/xmake.spec b/xmake.spec index 7bad729..7a08842 100644 --- a/xmake.spec +++ b/xmake.spec @@ -15,12 +15,11 @@ License: Apache-2.0 URL: https://xmake.io Source: %forgesource -Patch0: 0001-pkgconfig-fix-check.patch -Patch1: 0001-system-include.patch -Patch2: 0001-add-relwithdebinfo-build-mode.patch +Patch0: 0001-system-include.patch +Patch1: 0001-add-relwithdebinfo-build-mode.patch # I think this is all the places that need to be fixed for lua 5.5. # It's a lot. -Patch3: xmake-3.0.7-lua-5.5.patch +Patch2: xmake-3.0.7-lua-5.5.patch BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(readline) From 25d4b42af6ebb755a03d7f8e436c37dc9f09671c Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Thu, 16 Apr 2026 22:41:19 -0400 Subject: [PATCH 28/33] rebuild From 5a981243263b5ba078cd9d01e90b352c3adb39ab Mon Sep 17 00:00:00 2001 From: Tom spot Callaway Date: Fri, 17 Apr 2026 13:43:05 -0400 Subject: [PATCH 29/33] revert 6ca325d Fix libsv include path, while libsv upstream has moved their header location, the libsv in fedora has not moved it yet as of 1.2-7 --- xmake.spec | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/xmake.spec b/xmake.spec index 7a08842..7bad729 100644 --- a/xmake.spec +++ b/xmake.spec @@ -15,11 +15,12 @@ License: Apache-2.0 URL: https://xmake.io Source: %forgesource -Patch0: 0001-system-include.patch -Patch1: 0001-add-relwithdebinfo-build-mode.patch +Patch0: 0001-pkgconfig-fix-check.patch +Patch1: 0001-system-include.patch +Patch2: 0001-add-relwithdebinfo-build-mode.patch # I think this is all the places that need to be fixed for lua 5.5. # It's a lot. -Patch2: xmake-3.0.7-lua-5.5.patch +Patch3: xmake-3.0.7-lua-5.5.patch BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(readline) From dfe25cf1870714998a9e1535b9eaaca957b2c514 Mon Sep 17 00:00:00 2001 From: topazus Date: Sun, 26 Apr 2026 23:09:03 +0800 Subject: [PATCH 30/33] Fix libsv include path; rebuild with libsv-1.2-8 --- 0001-system-include.patch | 13 ------------- sources | 2 +- xmake.spec | 9 ++++----- 3 files changed, 5 insertions(+), 19 deletions(-) diff --git a/0001-system-include.patch b/0001-system-include.patch index 2d89037..a67644d 100644 --- a/0001-system-include.patch +++ b/0001-system-include.patch @@ -11,16 +11,3 @@ index 9901f58f6..ef523c2d9 100644 /* ////////////////////////////////////////////////////////////////////////////////////// * implementation -diff --git a/core/src/xmake/semver/prefix.h b/core/src/xmake/semver/prefix.h -index 2112d73f1..9077b49ca 100644 ---- a/core/src/xmake/semver/prefix.h -+++ b/core/src/xmake/semver/prefix.h -@@ -25,7 +25,7 @@ - * includes - */ - #include "../prefix.h" --#include "semver.h" -+#include "sv/semver.h" - - /* ////////////////////////////////////////////////////////////////////////////////////// - * extern diff --git a/sources b/sources index bc4912f..40da1be 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-3.0.7.tar.gz) = 4225bd24195df470a47cd13635e463b6f567318e2e371c185cdaf9b72cff94caf841bb2d8e0cb2940fc1e236968b0831859f65b30a485425e33ff947715862a3 +SHA512 (xmake-3.0.8.tar.gz) = 1e921ea545e2d70423c21a53ab359ac6eb3107cbc326d00ff716ccfbadc299135ec689daef131e38eb50a5dd79039d544c4404c8829175f8cf99b5a7ed80ab4b diff --git a/xmake.spec b/xmake.spec index 7bad729..ba09f8a 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 3.0.7 +Version: 3.0.8 %global __requires_exclude_from ^%{_datadir}/%{name}/scripts/.+\\.ps1$ %global forgeurl https://github.com/xmake-io/xmake @@ -15,12 +15,11 @@ License: Apache-2.0 URL: https://xmake.io Source: %forgesource -Patch0: 0001-pkgconfig-fix-check.patch -Patch1: 0001-system-include.patch -Patch2: 0001-add-relwithdebinfo-build-mode.patch +Patch0: 0001-system-include.patch +Patch1: 0001-add-relwithdebinfo-build-mode.patch # I think this is all the places that need to be fixed for lua 5.5. # It's a lot. -Patch3: xmake-3.0.7-lua-5.5.patch +Patch2: xmake-3.0.7-lua-5.5.patch BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(readline) From 37128a5e2df5652c9e726b1b2d7a69c8fd4c37df Mon Sep 17 00:00:00 2001 From: Packit Date: Tue, 19 May 2026 01:28:39 +0000 Subject: [PATCH 31/33] Update to 3.0.9 upstream release - Resolves: rhbz#2450584 Upstream tag: v3.0.9 Upstream commit: 2b184e17 Commit authored by Packit automation (https://packit.dev/) --- README.packit | 2 +- sources | 2 +- xmake.spec | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.packit b/README.packit index 807ffc6..eb5cf90 100644 --- a/README.packit +++ b/README.packit @@ -1,3 +1,3 @@ This repository is maintained by packit. https://packit.dev/ -The file was generated using packit 1.6.0.post1.dev2+gd5a7662a. +The file was generated using packit 1.16.0.post1.dev2+ged481c62d. diff --git a/sources b/sources index 40da1be..58b76e0 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (xmake-3.0.8.tar.gz) = 1e921ea545e2d70423c21a53ab359ac6eb3107cbc326d00ff716ccfbadc299135ec689daef131e38eb50a5dd79039d544c4404c8829175f8cf99b5a7ed80ab4b +SHA512 (xmake-3.0.9.tar.gz) = 6cfe09b7c946e75bf844339fcf172a275caf3ec5b1aefd651b6c191aacea7c6a9b58d9a2b95f94df723368488cd7d616fc5b936156c66162e9926bdb62b08f76 diff --git a/xmake.spec b/xmake.spec index ba09f8a..00891b8 100644 --- a/xmake.spec +++ b/xmake.spec @@ -1,7 +1,7 @@ %bcond_with luajit Name: xmake -Version: 3.0.8 +Version: 3.0.9 %global __requires_exclude_from ^%{_datadir}/%{name}/scripts/.+\\.ps1$ %global forgeurl https://github.com/xmake-io/xmake From e922cf84d4726073d4a596bd9a01cd784fa0fe31 Mon Sep 17 00:00:00 2001 From: Zephyr Lykos Date: Thu, 28 May 2026 12:02:28 +0800 Subject: [PATCH 32/33] Update to 3.0.9 --- xmake-3.0.7-lua-5.5.patch | 1314 ------------------------------------- xmake.spec | 5 +- 2 files changed, 1 insertion(+), 1318 deletions(-) delete mode 100644 xmake-3.0.7-lua-5.5.patch diff --git a/xmake-3.0.7-lua-5.5.patch b/xmake-3.0.7-lua-5.5.patch deleted file mode 100644 index fdd104c..0000000 --- a/xmake-3.0.7-lua-5.5.patch +++ /dev/null @@ -1,1314 +0,0 @@ -diff -up xmake-3.0.7/core/src/xmake/curses/curses.c.lua55 xmake-3.0.7/core/src/xmake/curses/curses.c ---- xmake-3.0.7/core/src/xmake/curses/curses.c.lua55 2026-03-16 17:25:50.062511107 -0400 -+++ xmake-3.0.7/core/src/xmake/curses/curses.c 2026-03-16 17:27:52.837019335 -0400 -@@ -228,8 +228,8 @@ static int xm_curses_window_tostring(lua - // window:move(y, x) - static int xm_curses_window_move(lua_State *lua) { - WINDOW *w = xm_curses_window_check(lua, 1); -- int y = luaL_checkint(lua, 2); -- int x = luaL_checkint(lua, 3); -+ int y = luaL_checkinteger(lua, 2); -+ int x = luaL_checkinteger(lua, 3); - lua_pushboolean(lua, XM_CURSES_OK(wmove(w, y, x))); - return 1; - } -@@ -276,7 +276,7 @@ static int xm_curses_window_addch(lua_St - static int xm_curses_window_addnstr(lua_State *lua) { - WINDOW *w = xm_curses_window_check(lua, 1); - const char *str = luaL_checkstring(lua, 2); -- int n = luaL_optint(lua, 3, -1); -+ int n = luaL_optinteger(lua, 3, -1); - if (n < 0) - n = (int)lua_strlen(lua, 2); - lua_pushboolean(lua, XM_CURSES_OK(waddnstr(w, str, n))); -@@ -333,7 +333,7 @@ static int xm_curses_window_getch(lua_St - // window:attroff(attrs) - static int xm_curses_window_attroff(lua_State *lua) { - WINDOW *w = xm_curses_window_check(lua, 1); -- int attrs = luaL_checkint(lua, 2); -+ int attrs = luaL_checkinteger(lua, 2); - lua_pushboolean(lua, XM_CURSES_OK(wattroff(w, attrs))); - return 1; - } -@@ -341,7 +341,7 @@ static int xm_curses_window_attroff(lua_ - // window:attron(attrs) - static int xm_curses_window_attron(lua_State *lua) { - WINDOW *w = xm_curses_window_check(lua, 1); -- int attrs = luaL_checkint(lua, 2); -+ int attrs = luaL_checkinteger(lua, 2); - lua_pushboolean(lua, XM_CURSES_OK(wattron(w, attrs))); - return 1; - } -@@ -349,7 +349,7 @@ static int xm_curses_window_attron(lua_S - // window:attrset(attrs) - static int xm_curses_window_attrset(lua_State *lua) { - WINDOW *w = xm_curses_window_check(lua, 1); -- int attrs = luaL_checkint(lua, 2); -+ int attrs = luaL_checkinteger(lua, 2); - lua_pushboolean(lua, XM_CURSES_OK(wattrset(w, attrs))); - return 1; - } -@@ -358,12 +358,12 @@ static int xm_curses_window_attrset(lua_ - static int xm_curses_window_copywin(lua_State *lua) { - WINDOW *srcwin = xm_curses_window_check(lua, 1); - WINDOW *dstwin = xm_curses_window_check(lua, 2); -- int sminrow = luaL_checkint(lua, 3); -- int smincol = luaL_checkint(lua, 4); -- int dminrow = luaL_checkint(lua, 5); -- int dmincol = luaL_checkint(lua, 6); -- int dmaxrow = luaL_checkint(lua, 7); -- int dmaxcol = luaL_checkint(lua, 8); -+ int sminrow = luaL_checkinteger(lua, 3); -+ int smincol = luaL_checkinteger(lua, 4); -+ int dminrow = luaL_checkinteger(lua, 5); -+ int dmincol = luaL_checkinteger(lua, 6); -+ int dmaxrow = luaL_checkinteger(lua, 7); -+ int dmaxcol = luaL_checkinteger(lua, 8); - int overlay = lua_toboolean(lua, 9); - lua_pushboolean(lua, - XM_CURSES_OK( -@@ -646,7 +646,7 @@ static int xm_curses_getmouse(lua_State - } - - static int xm_curses_mousemask(lua_State *lua) { -- mmask_t m = luaL_checkint(lua, 1); -+ mmask_t m = luaL_checkinteger(lua, 1); - mmask_t om; - m = mousemask(m, &om); - lua_pushinteger(lua, m); -@@ -656,22 +656,22 @@ static int xm_curses_mousemask(lua_State - #endif - - static int xm_curses_init_pair(lua_State *lua) { -- short pair = luaL_checkint(lua, 1); -- short f = luaL_checkint(lua, 2); -- short b = luaL_checkint(lua, 3); -+ short pair = luaL_checkinteger(lua, 1); -+ short f = luaL_checkinteger(lua, 2); -+ short b = luaL_checkinteger(lua, 3); - - lua_pushboolean(lua, XM_CURSES_OK(init_pair(pair, f, b))); - return 1; - } - - static int xm_curses_COLOR_PAIR(lua_State *lua) { -- int n = luaL_checkint(lua, 1); -+ int n = luaL_checkinteger(lua, 1); - lua_pushnumber(lua, COLOR_PAIR(n)); - return 1; - } - - static int xm_curses_curs_set(lua_State *lua) { -- int vis = luaL_checkint(lua, 1); -+ int vis = luaL_checkinteger(lua, 1); - int state = curs_set(vis); - if (state == ERR) - return 0; -@@ -681,7 +681,7 @@ static int xm_curses_curs_set(lua_State - } - - static int xm_curses_napms(lua_State *lua) { -- int ms = luaL_checkint(lua, 1); -+ int ms = luaL_checkinteger(lua, 1); - lua_pushboolean(lua, XM_CURSES_OK(napms(ms))); - return 1; - } -@@ -714,8 +714,8 @@ static int xm_curses_nl(lua_State *lua) - } - - static int xm_curses_newpad(lua_State *lua) { -- int nlines = luaL_checkint(lua, 1); -- int ncols = luaL_checkint(lua, 2); -+ int nlines = luaL_checkinteger(lua, 1); -+ int ncols = luaL_checkinteger(lua, 2); - xm_curses_window_new(lua, newpad(nlines, ncols)); - return 1; - } -diff -up xmake-3.0.7/core/src/xmake/os/sleep.c.lua55 xmake-3.0.7/core/src/xmake/os/sleep.c ---- xmake-3.0.7/core/src/xmake/os/sleep.c.lua55 2026-03-16 17:35:30.435501037 -0400 -+++ xmake-3.0.7/core/src/xmake/os/sleep.c 2026-03-16 17:35:57.104648050 -0400 -@@ -35,7 +35,7 @@ - */ - tb_int_t xm_os_sleep(lua_State *lua) { - tb_assert_and_check_return_val(lua, 0); -- tb_long_t interval = (tb_long_t)luaL_checklong(lua, 1); -+ tb_long_t interval = (tb_long_t)luaL_checkinteger(lua, 1); - if (interval >= 0) { - tb_msleep(interval); - } -diff -up xmake-3.0.7/xmake/core/base/interpreter.lua.orig xmake-3.0.7/xmake/core/base/interpreter.lua ---- xmake-3.0.7/xmake/core/base/interpreter.lua.orig 2026-03-16 22:31:58.326087623 +0000 -+++ xmake-3.0.7/xmake/core/base/interpreter.lua 2026-03-16 22:55:54.315884361 +0000 -@@ -119,10 +119,10 @@ function interpreter:_fetch_root_scope(r - for scope_kind_and_name, _ in pairs(root or {}) do - - -- is scope_kind@@scope_name? -- scope_kind_and_name = scope_kind_and_name:split("@@", {plain = true}) -- if #scope_kind_and_name == 2 then -- local scope_kind = scope_kind_and_name[1] -- local scope_name = scope_kind_and_name[2] -+ local lscope_kind_and_name = scope_kind_and_name:split("@@", {plain = true}) -+ if #lscope_kind_and_name == 2 then -+ local scope_kind = lscope_kind_and_name[1] -+ local scope_name = lscope_kind_and_name[2] - - -- we only fetch the root values to the target values, e.g. target@@ns1::ns2::bar" - -- and ignore root namespace values, e.g. target@@ns1::ns2:: -@@ -345,16 +345,16 @@ function interpreter:_api_register_xxx_s - assert(type(pattern) == "string") - - -- convert pattern to a lua pattern ('*' => '.*') -- pattern = pattern:gsub("([%+%.%-%^%$%%])", "%%%1") -- pattern = pattern:gsub("%*", "\001") -- pattern = pattern:gsub("\001", ".*") -+ local lpattern = pattern:gsub("([%+%.%-%^%$%%])", "%%%1") -+ lpattern = lpattern:gsub("%*", "\001") -+ lpattern = lpattern:gsub("\001", ".*") - - -- save script - if type(scripts) == "table" then -- scripts[pattern] = script -+ scripts[lpattern] = script - elseif type(scripts) == "function" then - scripts = {__generic__ = scripts} -- scripts[pattern] = script -+ scripts[lpattern] = script - end - end - scope[name] = scripts -@@ -460,13 +460,13 @@ function interpreter:_filter(values, lev - if table.is_dictionary(values) then - local results = {} - for key, value in pairs(values) do -- key = (type(key) == "string" and filter:handle(key) or key) -+ local lkey = (type(key) == "string" and filter:handle(key) or key) - if type(value) == "string" then -- results[key] = filter:handle(value) -+ results[lkey] = filter:handle(value) - elseif type(value) == "table" and level < 1 then -- results[key] = self:_filter(value, level + 1) -- only filter 2 levels for table values -+ results[lkey] = self:_filter(value, level + 1) -- only filter 2 levels for table values - else -- results[key] = value -+ results[lkey] = value - end - values = results - end -@@ -501,29 +501,30 @@ function interpreter:_handle(scope, dedu - -- remove repeat values and unwrap it - local results = {} - for name, values in pairs(scope) do -+ local lvalues = values - - -- filter values - -- - -- @note we need to do filter before removing repeat values - -- https://github.com/xmake-io/xmake/issues/1732 - if enable_filter then -- values = self:_filter(values) -+ lvalues = self:_filter(lvalues) - end - - -- remove repeat first for each slice with removed item (__remove_xxx) -- if deduplicate and not table.is_dictionary(values) then -+ if deduplicate and not table.is_dictionary(lvalues) then - local policy = self:deduplication_policy(name) - if policy ~= false then - local unique_func = policy == "toleft" and table.reverse_unique or table.unique -- values = unique_func(values, function (v) return type(v) == "string" and v:startswith("__remove_") end) -+ lvalues = unique_func(lvalues, function (v) return type(v) == "string" and v:startswith("__remove_") end) - end - end - - -- unwrap it if be only one -- values = table.unwrap(values) -+ lvalues = table.unwrap(lvalues) - - -- update it -- results[name] = values -+ results[name] = lvalues - end - return results - end -@@ -1665,32 +1666,33 @@ function interpreter:api_define(apis) - local definitions = self._API_DEFINITIONS or {} - for apitype, apifuncs in pairs(apis) do - for _, apifunc in ipairs(apifuncs) do -+ local lapifunc = apifunc - - -- is {"apifunc", apiscript}? - local apiscript = nil -- if type(apifunc) == "table" then -+ if type(lapifunc) == "table" then - - -- check -- assert(#apifunc == 2 and type(apifunc[2]) == "function") -+ assert(#lapifunc == 2 and type(lapifunc[2]) == "function") - - -- get function and script -- apiscript = apifunc[2] -- apifunc = apifunc[1] -+ apiscript = lapifunc[2] -+ lapifunc = lapifunc[1] - end - - -- register api definition, "scope.apiname" => "apitype" -- definitions[apifunc] = apitype -+ definitions[lapifunc] = apitype - - -- get api function - local apiscope = nil - local funcname = nil -- apifunc = apifunc:split('.', {plain = true}) -- assert(apifunc) -- if #apifunc == 2 then -- apiscope = apifunc[1] -- funcname = apifunc[2] -+ lapifunc = lapifunc:split('.', {plain = true}) -+ assert(lapifunc) -+ if #lapifunc == 2 then -+ apiscope = lapifunc[1] -+ funcname = lapifunc[2] - else -- funcname = apifunc[1] -+ funcname = lapifunc[1] - end - assert(funcname) - -diff -up xmake-3.0.7/xmake/core/base/linuxos.lua.orig xmake-3.0.7/xmake/core/base/linuxos.lua ---- xmake-3.0.7/xmake/core/base/linuxos.lua.orig 2026-03-16 22:31:58.316087555 +0000 -+++ xmake-3.0.7/xmake/core/base/linuxos.lua 2026-03-16 22:55:54.335884491 +0000 -@@ -149,22 +149,23 @@ function linuxos.version() - if os_release then - os_release = os_release:trim():lower():split("\n") - for _, line in ipairs(os_release) do -+ local lline = line - -- ubuntu: VERSION="16.04.7 LTS (Xenial Xerus)" - -- fedora: VERSION="32 (Container Image)" - -- debian: VERSION="9 (stretch)" - -- kylin : VERSION="V10(kylin)" -- if line:find("version=") then -- line = line:sub(9) -- version = semver.match(line) -+ if lline:find("version=") then -+ lline = lline:sub(9) -+ version = semver.match(lline) - if not version then -- version = line:match("\"(%d+)%s+.*\"") -+ version = lline:match("\"(%d+)%s+.*\"") - if version then - version = semver.new(version .. ".0") - end - end - -- is kylin? -- if not version and line:find("kylin", 1, true) then -- version = line:match("\"v(%d+)%(kylin%)\"") -+ if not version and lline:find("kylin", 1, true) then -+ version = lline:match("\"v(%d+)%(kylin%)\"") - if version then - version = semver.new(version .. ".0") - end -diff -up xmake-3.0.7/xmake/core/base/option.lua.orig xmake-3.0.7/xmake/core/base/option.lua ---- xmake-3.0.7/xmake/core/base/option.lua.orig 2026-03-16 22:31:58.396088111 +0000 -+++ xmake-3.0.7/xmake/core/base/option.lua 2026-03-16 22:55:54.345884556 +0000 -@@ -726,13 +726,14 @@ function option.show_options(options, ta - -- transform description - local desp_strs = table.new(#description, 0) - for _, v in ipairs(description) do -- if type(v) == "function" then -- v = v() -+ local lv = v -+ if type(lv) == "function" then -+ lv = lv() - end -- if type(v) == "string" then -- table.insert(desp_strs, colors.translate(v)) -- elseif type(v) == "table" then -- table.move(v, 1, #v, #desp_strs + 1, desp_strs) -+ if type(lv) == "string" then -+ table.insert(desp_strs, colors.translate(lv)) -+ elseif type(lv) == "table" then -+ table.move(lv, 1, #lv, #desp_strs + 1, desp_strs) - end - end - -diff -up xmake-3.0.7/xmake/core/base/os.lua.orig xmake-3.0.7/xmake/core/base/os.lua ---- xmake-3.0.7/xmake/core/base/os.lua.orig 2026-03-16 22:31:58.296087413 +0000 -+++ xmake-3.0.7/xmake/core/base/os.lua 2026-03-16 22:55:54.365884686 +0000 -@@ -422,9 +422,9 @@ function os.match(pattern, mode, opt) - if excludes then - local _excludes = {} - for _, exclude in ipairs(excludes) do -- exclude = path.translate(exclude) -- exclude = path.pattern(exclude) -- table.insert(_excludes, exclude) -+ local lexclude = path.translate(exclude) -+ lexclude = path.pattern(lexclude) -+ table.insert(_excludes, lexclude) - end - excludes = _excludes - end -@@ -925,7 +925,8 @@ function os.execv(program, argv, opt) - local shellfile = filename - local file = io.open(filename, 'r') - for line in file:lines() do -- if line and line:startswith("#!") then -+ local lline = line -+ if lline and lline:startswith("#!") then - -- we cannot run `/bin/sh` directly on windows - -- because `/bin/sh` is not real file path, maybe we need to convert it. - local host = os.host() -@@ -933,9 +934,9 @@ function os.execv(program, argv, opt) - filename = os._get_shell_path(opt) or "sh" - argv = table.join(shellfile, argv) - else -- line = line:sub(3) -+ lline = lline:sub(3) - local shellargv = {} -- local splitinfo = line:split("%s") -+ local splitinfo = lline:split("%s") - filename = splitinfo[1] - if #splitinfo > 1 then - shellargv = table.slice(splitinfo, 2) -@@ -958,31 +959,34 @@ function os.execv(program, argv, opt) - local envars = os.getenvs() - if setenvs then - for k, v in pairs(setenvs) do -- if type(v) == "table" then -- v = path.joinenv(v) -+ local lv = v -+ if type(lv) == "table" then -+ lv = path.joinenv(lv) - end -- envars[k] = v -+ envars[k] = lv - end - end - if addenvs then - for k, v in pairs(addenvs) do -- if type(v) == "table" then -- v = path.joinenv(v) -+ local lv = v -+ if type(lv) == "table" then -+ lv = path.joinenv(lv) - end - local o = envars[k] - if o then -- v = v .. path.envsep() .. o -+ lv = lv .. path.envsep() .. o - end -- envars[k] = v -+ envars[k] = lv - end - end - envs = {} - for k, v in pairs(envars) do -+ local lv = v - -- we try to fix too long value before running process -- if type(v) == "string" and #v > 4096 and os.host() == "windows" then -- v = os._deduplicate_pathenv(v) -+ if type(lv) == "string" and #lv > 4096 and os.host() == "windows" then -+ lv = os._deduplicate_pathenv(lv) - end -- table.insert(envs, k .. '=' .. v) -+ table.insert(envs, k .. '=' .. lv) - end - end - -diff -up xmake-3.0.7/xmake/core/base/path.lua.orig xmake-3.0.7/xmake/core/base/path.lua ---- xmake-3.0.7/xmake/core/base/path.lua.orig 2026-03-16 22:31:58.356087832 +0000 -+++ xmake-3.0.7/xmake/core/base/path.lua 2026-03-16 22:55:54.365884686 +0000 -@@ -342,13 +342,14 @@ function path.splitenv(env_path) - -- see https://git.kernel.org/pub/scm/utils/dash/dash.git/tree/src/exec.c?h=v0.5.9.1&id=afe0e0152e4dc12d84be3c02d6d62b0456d68580#n173 - -- no escape sequences, so `:` and `%` is invalid in environment variable - for _, v in ipairs(env_path:split(path.envsep(), { plain = true })) do -+ local lv = v - -- flag for shells, style `%` -- local flag = v:find("%", 1, true) -+ local flag = lv:find("%", 1, true) - if flag then -- v = v:sub(1, flag - 1) -+ lv = lv:sub(1, flag - 1) - end -- if #v > 0 then -- table.insert(result, v) -+ if #lv > 0 then -+ table.insert(result, lv) - end - end - end -@@ -366,11 +367,12 @@ function path.joinenv(paths, envsep) - if xmake._HOST == "windows" then - local tab = {} - for _, v in ipairs(paths) do -- if v ~= "" then -- if v:find(envsep, 1, true) then -- v = '"' .. v .. '"' -+ local lv = v -+ if lv ~= "" then -+ if lv:find(envsep, 1, true) then -+ lv = '"' .. lv .. '"' - end -- table.insert(tab, v) -+ table.insert(tab, lv) - end - end - return table.concat(tab, envsep) -diff -up xmake-3.0.7/xmake/core/base/private/match_copyfiles.lua.orig xmake-3.0.7/xmake/core/base/private/match_copyfiles.lua ---- xmake-3.0.7/xmake/core/base/private/match_copyfiles.lua.orig 2026-03-16 22:31:58.396088111 +0000 -+++ xmake-3.0.7/xmake/core/base/private/match_copyfiles.lua 2026-03-16 22:55:54.385884818 +0000 -@@ -50,17 +50,18 @@ function match_copyfiles(instance, filet - local srcfiles_removed = {} - local removed_count = 0 - for _, copyfile in ipairs(table.wrap(copyfiles)) do -+ local lcopyfile = copyfile - - -- mark as removed files? - local removed = false - local prefix = "__remove_" -- if copyfile:startswith(prefix) then -- copyfile = copyfile:sub(#prefix + 1) -+ if lcopyfile:startswith(prefix) then -+ lcopyfile = lcopyfile:sub(#prefix + 1) - removed = true - end - - -- get the root directory -- local rootdir, count = copyfile:gsub("|.*$", ""):gsub("%(.*%)$", "") -+ local rootdir, count = lcopyfile:gsub("|.*$", ""):gsub("%(.*%)$", "") - if count == 0 then - rootdir = nil - end -@@ -69,7 +70,7 @@ function match_copyfiles(instance, filet - end - - -- remove '(' and ')' -- local srcpaths = copyfile:gsub("[%(%)]", "") -+ local srcpaths = lcopyfile:gsub("[%(%)]", "") - if srcpaths then - - -- get the source paths -@@ -84,7 +85,7 @@ function match_copyfiles(instance, filet - table.join2(srcfiles, srcpaths) - - -- get the file info -- local fileinfo = extrainfo[copyfile] or {} -+ local fileinfo = extrainfo[lcopyfile] or {} - - -- get the prefix directory - local prefixdir = fileinfo.prefixdir -diff -up xmake-3.0.7/xmake/core/base/text.lua.orig xmake-3.0.7/xmake/core/base/text.lua ---- xmake-3.0.7/xmake/core/base/text.lua.orig 2026-03-16 22:31:58.346087764 +0000 -+++ xmake-3.0.7/xmake/core/base/text.lua 2026-03-16 22:55:54.445885209 +0000 -@@ -178,30 +178,30 @@ function text.wordwrap(str, width, opt) - for _, v in ipairs(lines) do - - -- remove tailing spaces, include "\r", which will be produced by `("l1\r\nl2"):split(...)` -- v = v:rtrim() -+ local lv = v:rtrim() - -- while #v > width do -+ while #lv > width do - - -- find word break chance -- local wbr = text._lastwbr(v, width, opt.wordbreak) -+ local wbr = text._lastwbr(lv, width, opt.wordbreak) - - -- break line -- local line = v:sub(1, wbr):rtrim() -+ local line = lv:sub(1, wbr):rtrim() - actual_width = math.max(#line, actual_width) - table.insert(result, line) -- v = v:sub(wbr + 1):ltrim() -+ lv = lv:sub(wbr + 1):ltrim() - - -- prevent empty line -- if #v == 0 then -- v = nil -+ if #lv == 0 then -+ lv = nil - break - end - end - - -- put remaining parts -- if v then -- actual_width = math.max(#v, actual_width) -- table.insert(result, v) -+ if lv then -+ actual_width = math.max(#lv, actual_width) -+ table.insert(result, lv) - end - end - -diff -up xmake-3.0.7/xmake/core/base/thread.lua.orig xmake-3.0.7/xmake/core/base/thread.lua ---- xmake-3.0.7/xmake/core/base/thread.lua.orig 2026-03-16 22:31:58.336087693 +0000 -+++ xmake-3.0.7/xmake/core/base/thread.lua 2026-03-16 22:55:54.455885275 +0000 -@@ -103,14 +103,15 @@ function _thread:start() - -- translate arguments (mutex, ...) - local argv = {} - for _, arg in ipairs(self._ARGV) do -- if type(arg) == "table" then -+ local larg = arg -+ if type(larg) == "table" then - -- try to serialize thread object (mutex, event, semaphore, queue, sharedata) -- local serialized = thread._serialize_object(arg) -+ local serialized = thread._serialize_object(larg) - if serialized then -- arg = serialized -+ larg = serialized - end - end -- table.insert(argv, arg) -+ table.insert(argv, larg) - end - - -- init callback info -@@ -927,14 +928,15 @@ function thread._run_thread(callback_str - if argv then - local newargv = {} - for _, arg in ipairs(argv) do -- if type(arg) == "table" and arg.caddr then -+ local larg = arg -+ if type(larg) == "table" and larg.caddr then - -- try to deserialize thread object -- local obj = thread._deserialize_object(arg) -+ local obj = thread._deserialize_object(larg) - if obj then -- arg = obj -+ larg = obj - end - end -- table.insert(newargv, arg) -+ table.insert(newargv, larg) - end - argv = newargv - end -diff -up xmake-3.0.7/xmake/core/base/winos.lua.orig xmake-3.0.7/xmake/core/base/winos.lua ---- xmake-3.0.7/xmake/core/base/winos.lua.orig 2026-03-16 22:31:58.296087413 +0000 -+++ xmake-3.0.7/xmake/core/base/winos.lua 2026-03-16 22:55:54.475885405 +0000 -@@ -162,8 +162,8 @@ function winos.cmdargv(argv, opt) - local limit = 4096 - local argn = 0 - for _, arg in ipairs(argv) do -- arg = tostring(arg) -- argn = argn + #arg -+ local larg = tostring(arg) -+ argn = argn + #larg - if argn > limit then - break - end -diff -up xmake-3.0.7/xmake/core/package/package.lua.orig xmake-3.0.7/xmake/core/package/package.lua ---- xmake-3.0.7/xmake/core/package/package.lua.orig 2026-03-16 22:31:58.436088391 +0000 -+++ xmake-3.0.7/xmake/core/package/package.lua 2026-03-16 22:55:54.535885798 +0000 -@@ -1147,18 +1147,19 @@ end - function _instance:envs() - local envs = {} - for name, values in pairs(self:_rawenvs()) do -+ local lvalues = values - if self:_pathenvs():has(name) then - local newvalues = {} -- for _, value in ipairs(values) do -+ for _, value in ipairs(lvalues) do - if path.is_absolute(value) then - table.insert(newvalues, value) - else - table.insert(newvalues, path.normalize(path.join(self:installdir({readonly = true}), value))) - end - end -- values = newvalues -+ lvalues = newvalues - end -- envs[name] = values -+ envs[name] = lvalues - end - return envs - end -@@ -1654,10 +1655,11 @@ function _instance:buildhash() - -- We cannot directly deserialize the table, so the result may be different each time - local configs_order = {} - for k, v in pairs(table.wrap(configs)) do -- if type(v) == "table" then -- v = string.serialize(v, {strip = true, indent = false, orderkeys = true}) -+ local lv = v -+ if type(lv) == "table" then -+ lv = string.serialize(lv, {strip = true, indent = false, orderkeys = true}) - end -- table.insert(configs_order, k .. "=" .. tostring(v)) -+ table.insert(configs_order, k .. "=" .. tostring(lv)) - end - table.sort(configs_order) - -diff -up xmake-3.0.7/xmake/core/package/scheme.lua.orig xmake-3.0.7/xmake/core/package/scheme.lua ---- xmake-3.0.7/xmake/core/package/scheme.lua.orig 2026-03-16 22:31:58.436088391 +0000 -+++ xmake-3.0.7/xmake/core/package/scheme.lua 2026-03-16 22:55:54.545885865 +0000 -@@ -172,12 +172,13 @@ function _instance:versions() - -- https://github.com/xmake-io/xmake/issues/6953 - local versions = {} - for version, _ in table.orderpairs(self:_versions_list()) do -+ local lversion = version - -- remove the url alias prefix if exists -- local pos = version:find(':', 1, true) -+ local pos = lversion:find(':', 1, true) - if pos then -- version = version:sub(pos + 1, -1) -+ lversion = lversion:sub(pos + 1, -1) - end -- table.insert(versions, version) -+ table.insert(versions, lversion) - end - self._VERSIONS = table.unique(versions) - end -@@ -191,15 +192,16 @@ function _instance:_versions_list() - local versionfiles = self:get("versionfiles") - if versionfiles then - for _, versionfile in ipairs(table.wrap(versionfiles)) do -- if not path.is_absolute(versionfile) then -- local subpath = versionfile -- versionfile = path.join(self:scriptdir(), subpath) -- if not os.isfile(versionfile) and self:package() and self:package():base() then -- versionfile = path.join(self:package():base():scriptdir(), subpath) -+ local lversionfile = versionfile -+ if not path.is_absolute(lversionfile) then -+ local subpath = lversionfile -+ lversionfile = path.join(self:scriptdir(), subpath) -+ if not os.isfile(lversionfile) and self:package() and self:package():base() then -+ lversionfile = path.join(self:package():base():scriptdir(), subpath) - end - end -- if os.isfile(versionfile) then -- local list = io.readfile(versionfile) -+ if os.isfile(lversionfile) then -+ local list = io.readfile(lversionfile) - for _, line in ipairs(list:split("\n")) do - local splitinfo = line:split("%s+") - if #splitinfo == 2 then -@@ -337,12 +339,13 @@ function _instance:patches() - else - -- match semver, e.g add_patches(">=1.0.0", url, sha256) - for range, patchinfo in pairs(patchinfos) do -+ local lpatchinfo = patchinfo - if semver.satisfies(version_str, range) then - patches = patches or {} -- patchinfo = table.wrap(patchinfo) -- for idx = 1, #patchinfo, 2 do -- local extra = self:extraconf("patches." .. range, patchinfo[idx]) -- table.insert(patches , {url = patchinfo[idx], sha256 = patchinfo[idx + 1], extra = extra}) -+ lpatchinfo = table.wrap(lpatchinfo) -+ for idx = 1, #lpatchinfo, 2 do -+ local extra = self:extraconf("patches." .. range, lpatchinfo[idx]) -+ table.insert(patches , {url = lpatchinfo[idx], sha256 = lpatchinfo[idx + 1], extra = extra}) - end - end - end -@@ -371,12 +374,13 @@ function _instance:resources() - else - -- match semver, e.g add_resources(">=1.0.0", name, url, sha256) - for range, resourceinfo in pairs(resourceinfos) do -+ local lresourceinfo = resourceinfo - if semver.satisfies(version_str, range) then - resources = resources or {} -- resourceinfo = table.wrap(resourceinfo) -- for idx = 1, #resourceinfo, 3 do -- local name = resourceinfo[idx] -- resources[name] = {url = resourceinfo[idx + 1], sha256 = resourceinfo[idx + 2]} -+ lresourceinfo = table.wrap(lresourceinfo) -+ for idx = 1, #lresourceinfo, 3 do -+ local name = lresourceinfo[idx] -+ resources[name] = {url = lresourceinfo[idx + 1], sha256 = lresourceinfo[idx + 2]} - end - end - end -diff -up xmake-3.0.7/xmake/core/project/config.lua.orig xmake-3.0.7/xmake/core/project/config.lua ---- xmake-3.0.7/xmake/core/project/config.lua.orig 2026-03-16 22:31:58.276087274 +0000 -+++ xmake-3.0.7/xmake/core/project/config.lua 2026-03-16 22:55:54.555885928 +0000 -@@ -61,8 +61,8 @@ function config._is_value(value, ...) - value = tostring(value) - for _, v in ipairs(table.pack(...)) do - -- escape '-' -- v = tostring(v) -- if value == v or value:find("^" .. v:gsub("%-", "%%-") .. "$") then -+ local lv = tostring(v) -+ if value == lv or value:find("^" .. lv:gsub("%-", "%%-") .. "$") then - return true - end - end -diff -up xmake-3.0.7/xmake/core/project/package.lua.orig xmake-3.0.7/xmake/core/project/package.lua ---- xmake-3.0.7/xmake/core/project/package.lua.orig 2026-03-16 22:31:58.266087204 +0000 -+++ xmake-3.0.7/xmake/core/project/package.lua 2026-03-16 22:55:54.565885994 +0000 -@@ -351,15 +351,15 @@ function _instance:rules() - -- make rule instances - rules = {} - for rulename, ruleinfo in pairs(ruleinfos) do -- rulename = "@" .. self:name() .. "/" .. rulename -- local instance = rule.new(rulename, ruleinfo, {package = self}) -+ local lrulename = "@" .. self:name() .. "/" .. rulename -+ local instance = rule.new(lrulename, ruleinfo, {package = self}) - if instance:script("load") then -- utils.warning("we cannot add `on_load()` in package rule(%s), please use `on_config()` instead of it!", rulename) -+ utils.warning("we cannot add `on_load()` in package rule(%s), please use `on_config()` instead of it!", lrulename) - end - if instance:script("load_after") then -- utils.warning("we cannot add `after_load()` in package rule(%s), please use `on_config()` instead of it!", rulename) -+ utils.warning("we cannot add `after_load()` in package rule(%s), please use `on_config()` instead of it!", lrulename) - end -- rules[rulename] = instance -+ rules[lrulename] = instance - end - self._RULES = rules - end -diff -up xmake-3.0.7/xmake/core/project/project.lua.orig xmake-3.0.7/xmake/core/project/project.lua ---- xmake-3.0.7/xmake/core/project/project.lua.orig 2026-03-16 22:31:58.256087134 +0000 -+++ xmake-3.0.7/xmake/core/project/project.lua 2026-03-16 22:55:54.585886127 +0000 -@@ -172,10 +172,11 @@ end - function project._api_add_moduledirs(interp, ...) - local scriptdir = project.interpreter():scriptdir() - for _, dir in ipairs({...}) do -- if not path.is_absolute(dir) then -- dir = path.absolute(dir, scriptdir) -+ local ldir = dir -+ if not path.is_absolute(ldir) then -+ ldir = path.absolute(ldir, scriptdir) - end -- sandbox_module.add_directories(dir) -+ sandbox_module.add_directories(ldir) - end - end - -@@ -184,10 +185,11 @@ function project._api_add_plugindirs(int - local scriptdir = project.interpreter():scriptdir() - local plugindirs = {} - for _, dir in ipairs({...}) do -- if not path.is_absolute(dir) then -- dir = path.absolute(dir, scriptdir) -+ local ldir = dir -+ if not path.is_absolute(ldir) then -+ ldir = path.absolute(ldir, scriptdir) - end -- table.insert(plugindirs, dir .. "/*") -+ table.insert(plugindirs, ldir .. "/*") - end - interp:api_builtin_includes(plugindirs) - end -@@ -196,10 +198,11 @@ end - function project._api_add_platformdirs(interp, ...) - local scriptdir = project.interpreter():scriptdir() - for _, dir in ipairs({...}) do -- if not path.is_absolute(dir) then -- dir = path.absolute(dir, scriptdir) -+ local ldir = dir -+ if not path.is_absolute(ldir) then -+ ldir = path.absolute(ldir, scriptdir) - end -- platform.add_directories(dir) -+ platform.add_directories(ldir) - end - end - -@@ -207,10 +210,11 @@ end - function project._api_add_toolchaindirs(interp, ...) - local scriptdir = project.interpreter():scriptdir() - for _, dir in ipairs({...}) do -- if not path.is_absolute(dir) then -- dir = path.absolute(dir, scriptdir) -+ local ldir = dir -+ if not path.is_absolute(ldir) then -+ ldir = path.absolute(ldir, scriptdir) - end -- toolchain.add_directories(dir) -+ toolchain.add_directories(ldir) - end - end - -diff -up xmake-3.0.7/xmake/core/project/rule.lua.orig xmake-3.0.7/xmake/core/project/rule.lua ---- xmake-3.0.7/xmake/core/project/rule.lua.orig 2026-03-16 22:31:58.266087204 +0000 -+++ xmake-3.0.7/xmake/core/project/rule.lua 2026-03-16 22:55:54.595886190 +0000 -@@ -405,20 +405,22 @@ function rule.new(name, info, opt) - -- - local deps = {} - for _, depname in ipairs(table.wrap(instance:get("deps"))) do -+ local ldepname = depname - -- @xxx -> @package/xxx -- if depname:startswith("@") and not depname:find("/", 1, true) then -- depname = "@" .. opt.package:name() .. "/" .. depname:sub(2) -+ if ldepname:startswith("@") and not ldepname:find("/", 1, true) then -+ ldepname = "@" .. opt.package:name() .. "/" .. ldepname:sub(2) - end -- table.insert(deps, depname) -+ table.insert(deps, ldepname) - end - deps = table.unwrap(deps) - if deps and #deps > 0 then - instance:set("deps", deps) - end - for depname, extraconf in pairs(table.wrap(instance:extraconf("deps"))) do -- if depname:startswith("@") and not depname:find("/", 1, true) then -- depname = "@" .. opt.package:name() .. "/" .. depname:sub(2) -- instance:extraconf_set("deps", depname, extraconf) -+ local ldepname = depname -+ if ldepname:startswith("@") and not ldepname:find("/", 1, true) then -+ ldepname = "@" .. opt.package:name() .. "/" .. ldepname:sub(2) -+ instance:extraconf_set("deps", ldepname, extraconf) - end - end - end -diff -up xmake-3.0.7/xmake/core/project/target.lua.orig xmake-3.0.7/xmake/core/project/target.lua ---- xmake-3.0.7/xmake/core/project/target.lua.orig 2026-03-16 22:31:58.256087134 +0000 -+++ xmake-3.0.7/xmake/core/project/target.lua 2026-03-16 22:55:54.625886388 +0000 -@@ -1410,14 +1410,15 @@ function _instance:pkgenvs() - local envs = pkg:envs() - if envs then - for name, values in table.orderpairs(envs) do -- if type(values) == "table" then -- values = path.joinenv(values) -+ local lvalues = values -+ if type(lvalues) == "table" then -+ lvalues = path.joinenv(lvalues) - end - pkgenvs = pkgenvs or {} - if pkgenvs[name] then -- pkgenvs[name] = pkgenvs[name] .. path.envsep() .. values -+ pkgenvs[name] = pkgenvs[name] .. path.envsep() .. lvalues - else -- pkgenvs[name] = values -+ pkgenvs[name] = lvalues - end - end - end -@@ -1875,9 +1876,9 @@ function _instance:filerules(sourcefile) - -- we can also get extensions from add_rules("xxx", {extensions = ".cpp"}) - local rule_extensions = self:extraconf("rules", r:name(), "extensions") or r:get("extensions") - for _, extension in ipairs(table.wrap(rule_extensions)) do -- extension = extension:lower() -- key2rules[extension] = key2rules[extension] or {} -- table.insert(key2rules[extension], r) -+ local lextension = extension:lower() -+ key2rules[lextension] = key2rules[lextension] or {} -+ table.insert(key2rules[lextension], r) - end - end - self:memcache():set("key2rules", key2rules) -@@ -1930,10 +1931,11 @@ function _instance:fileconfig(sourcefile - local results = os.match(filepath) - if #results > 0 then - for _, file in ipairs(results) do -- if path.is_absolute(file) then -- file = path.relative(file, os.projectdir()) -+ local lfile = file -+ if path.is_absolute(lfile) then -+ lfile = path.relative(lfile, os.projectdir()) - end -- filesconfig[file] = fileconfig -+ filesconfig[lfile] = fileconfig - end - else - -- we also need support always_added, @see https://github.com/xmake-io/xmake/issues/1634 -@@ -2027,28 +2029,29 @@ function _instance:sourcefiles() - local removed_count = 0 - local targetcache = memcache.cache("core.project.target") - for _, file in ipairs(table.wrap(files)) do -+ local lfile = file - - -- mark as removed files? - local removed = false - local prefix = "__remove_" -- if file:startswith(prefix) then -- file = file:sub(#prefix + 1) -+ if lfile:startswith(prefix) then -+ lfile = lfile:sub(#prefix + 1) - removed = true - end - - local results - if removed then -- results = {file} -+ results = {lfile} - else - -- find source files and try to cache the matching results of os.match across targets - -- @see https://github.com/xmake-io/xmake/issues/1353 -- results = targetcache:get2("sourcefiles", file) -+ results = targetcache:get2("sourcefiles", lfile) - if results == nil then -- results = os.files(file) -+ results = os.files(lfile) - if #results == 0 then - -- attempt to find source directories if maybe compile it as directory with the custom rules -- if #self:filerules(file) > 0 then -- results = os.dirs(file) -+ if #self:filerules(lfile) > 0 then -+ results = os.dirs(lfile) - end - end - -@@ -2060,33 +2063,34 @@ function _instance:sourcefiles() - -- - -- e.g. add_files("src/test.c", {always_added = true}) - -- -- if #results == 0 and self:extraconf("files", file, "always_added") then -- results = {file} -+ if #results == 0 and self:extraconf("files", lfile, "always_added") then -+ results = {lfile} - end - end -- targetcache:set2("sourcefiles", file, results) -+ targetcache:set2("sourcefiles", lfile, results) - end - if #results == 0 then -- local sourceinfo = self:sourceinfo("files", file) or {} -+ local sourceinfo = self:sourceinfo("files", lfile) or {} - utils.warning("%s:%d${clear}: cannot match %s_files(\"%s\") in %s(%s)", -- sourceinfo.file or "", sourceinfo.line or -1, (removed and "remove" or "add"), file, self:type(), self:fullname()) -+ sourceinfo.file or "", sourceinfo.line or -1, (removed and "remove" or "add"), lfile, self:type(), self:fullname()) - end - - -- process source files - for _, sourcefile in ipairs(results) do -+ local lsourcefile = sourcefile - - -- convert to the relative path -- if path.is_absolute(sourcefile) then -- sourcefile = path.relative(sourcefile, os.projectdir()) -+ if path.is_absolute(lsourcefile) then -+ lsourcefile = path.relative(lsourcefile, os.projectdir()) - end - - -- add or remove it - if removed then - removed_count = removed_count + 1 -- table.insert(sourcefiles_removed, sourcefile) -- elseif not sourcefiles_inserted[sourcefile] then -- table.insert(sourcefiles, sourcefile) -- sourcefiles_inserted[sourcefile] = true -+ table.insert(sourcefiles_removed, lsourcefile) -+ elseif not sourcefiles_inserted[lsourcefile] then -+ table.insert(sourcefiles, lsourcefile) -+ sourcefiles_inserted[lsourcefile] = true - end - end - end -diff -up xmake-3.0.7/xmake/core/sandbox/modules/import/core/sandbox/module.lua.orig xmake-3.0.7/xmake/core/sandbox/modules/import/core/sandbox/module.lua ---- xmake-3.0.7/xmake/core/sandbox/modules/import/core/sandbox/module.lua.orig 2026-03-16 22:31:58.006085390 +0000 -+++ xmake-3.0.7/xmake/core/sandbox/modules/import/core/sandbox/module.lua 2026-03-16 22:55:54.675886713 +0000 -@@ -168,15 +168,16 @@ function core_sandbox_module._load_from_ - -- save module - local scope = module - for _, modulename in ipairs(path.split(modulepath)) do -- local pos = modulename:find(".lua", 1, true) -+ local lmodulename = modulename -+ local pos = lmodulename:find(".lua", 1, true) - if pos then -- modulename = modulename:sub(1, pos - 1) -- assert(modulename) -- scope[modulename] = result -+ lmodulename = lmodulename:sub(1, pos - 1) -+ assert(lmodulename) -+ scope[lmodulename] = result - else - -- enter submodule -- scope[modulename] = scope[modulename] or {} -- scope = scope[modulename] -+ scope[lmodulename] = scope[lmodulename] or {} -+ scope = scope[lmodulename] - end - end - end -diff -up xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_directory.lua.orig xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_directory.lua ---- xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_directory.lua.orig 2026-03-16 22:31:58.206086786 +0000 -+++ xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_directory.lua 2026-03-16 22:55:54.695886845 +0000 -@@ -34,20 +34,21 @@ local xmake = require("base/xmake") - function sandbox_lib_detect_find_directory._expand_paths(paths) - local results = {} - for _, _path in ipairs(table.wrap(paths)) do -- if type(_path) == "function" then -- local ok, result_or_errors = sandbox.load(_path) -+ local l_path = _path -+ if type(l_path) == "function" then -+ local ok, result_or_errors = sandbox.load(l_path) - if ok then -- _path = result_or_errors or "" -+ l_path = result_or_errors or "" - else - raise(result_or_errors) - end - else -- _path = vformat(_path) -+ l_path = vformat(l_path) - end -- for _, _s_path in ipairs(table.wrap(_path)) do -- _s_path = tostring(_s_path) -- if #_s_path > 0 then -- table.insert(results, _s_path) -+ for _, _s_path in ipairs(table.wrap(l_path)) do -+ local l_s_path = tostring(_s_path) -+ if #l_s_path > 0 then -+ table.insert(results, l_s_path) - end - end - end -@@ -58,9 +59,9 @@ end - function sandbox_lib_detect_find_directory._normalize_suffixes(suffixes) - local results = {} - for _, suffix in ipairs(table.wrap(suffixes)) do -- suffix = tostring(suffix) -- if #suffix > 0 then -- table.insert(results, suffix) -+ local lsuffix = tostring(suffix) -+ if #lsuffix > 0 then -+ table.insert(results, lsuffix) - end - end - return results -diff -up xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_file.lua.orig xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_file.lua ---- xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_file.lua.orig 2026-03-16 22:31:58.206086786 +0000 -+++ xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_file.lua 2026-03-16 22:55:54.695886845 +0000 -@@ -35,24 +35,25 @@ local xmake = require("base/xmake") - function sandbox_lib_detect_find_file._expand_paths(paths) - local results = {} - for _, _path in ipairs(table.wrap(paths)) do -- if type(_path) == "function" then -- local ok, result_or_errors = sandbox.load(_path) -+ local l_path = _path -+ if type(l_path) == "function" then -+ local ok, result_or_errors = sandbox.load(l_path) - if ok then -- _path = result_or_errors or "" -+ l_path = result_or_errors or "" - else - raise(result_or_errors) - end -- elseif type(_path) == "string" then -- if _path:match("^%$%(env .+%)$") then -- _path = path.splitenv(vformat(_path)) -+ elseif type(l_path) == "string" then -+ if l_path:match("^%$%(env .+%)$") then -+ l_path = path.splitenv(vformat(l_path)) - else -- _path = vformat(_path) -+ l_path = vformat(l_path) - end - end -- for _, _s_path in ipairs(table.wrap(_path)) do -- _s_path = tostring(_s_path) -- if #_s_path > 0 then -- table.insert(results, _s_path) -+ for _, _s_path in ipairs(table.wrap(l_path)) do -+ local l_s_path = tostring(_s_path) -+ if #l_s_path > 0 then -+ table.insert(results, l_s_path) - end - end - end -@@ -63,9 +64,9 @@ end - function sandbox_lib_detect_find_file._normalize_suffixes(suffixes) - local results = {} - for _, suffix in ipairs(table.wrap(suffixes)) do -- suffix = tostring(suffix) -- if #suffix > 0 then -- table.insert(results, suffix) -+ local lsuffix = tostring(suffix) -+ if #lsuffix > 0 then -+ table.insert(results, lsuffix) - end - end - return results -diff -up xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_path.lua.orig xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_path.lua ---- xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_path.lua.orig 2026-03-16 22:31:58.216086857 +0000 -+++ xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_path.lua 2026-03-16 22:55:54.695886845 +0000 -@@ -34,20 +34,21 @@ local xmake = require("base/xmake") - function sandbox_lib_detect_find_path._expand_paths(paths) - local results = {} - for _, _path in ipairs(table.wrap(paths)) do -- if type(_path) == "function" then -- local ok, result_or_errors = sandbox.load(_path) -+ local l_path = _path -+ if type(l_path) == "function" then -+ local ok, result_or_errors = sandbox.load(l_path) - if ok then -- _path = result_or_errors or "" -+ l_path = result_or_errors or "" - else - raise(result_or_errors) - end - else -- _path = vformat(_path) -+ l_path = vformat(l_path) - end -- for _, _s_path in ipairs(table.wrap(_path)) do -- _s_path = tostring(_s_path) -- if #_s_path > 0 then -- table.insert(results, _s_path) -+ for _, _s_path in ipairs(table.wrap(l_path)) do -+ local l_s_path = tostring(_s_path) -+ if #l_s_path > 0 then -+ table.insert(results, l_s_path) - end - end - end -@@ -58,9 +59,9 @@ end - function sandbox_lib_detect_find_path._normalize_suffixes(suffixes) - local results = {} - for _, suffix in ipairs(table.wrap(suffixes)) do -- suffix = tostring(suffix) -- if #suffix > 0 then -- table.insert(results, suffix) -+ local lsuffix = tostring(suffix) -+ if #lsuffix > 0 then -+ table.insert(results, lsuffix) - end - end - return results -diff -up xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_program.lua.orig xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_program.lua ---- xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_program.lua.orig 2026-03-16 22:31:58.206086786 +0000 -+++ xmake-3.0.7/xmake/core/sandbox/modules/import/lib/detect/find_program.lua 2026-03-16 22:55:54.705886909 +0000 -@@ -108,24 +108,25 @@ function sandbox_lib_detect_find_program - -- attempt to check it from the given directories - if not path.is_absolute(name) then - for _, _path in ipairs(table.wrap(paths)) do -+ local l_path = _path - - -- format path for builtin variables -- if type(_path) == "function" then -- local ok, results = sandbox.load(_path) -+ if type(l_path) == "function" then -+ local ok, results = sandbox.load(l_path) - if ok then -- _path = results or "" -+ l_path = results or "" - else - raise(results) - end -- elseif type(_path) == "string" then -- if _path:match("^%$%(env .+%)$") then -- _path = path.splitenv(vformat(_path)) -+ elseif type(l_path) == "string" then -+ if l_path:match("^%$%(env .+%)$") then -+ l_path = path.splitenv(vformat(l_path)) - else -- _path = vformat(_path) -+ l_path = vformat(l_path) - end - end - -- for _, _s_path in ipairs(table.wrap(_path)) do -+ for _, _s_path in ipairs(table.wrap(l_path)) do - - -- get program path - local program_path = nil -@@ -269,9 +270,9 @@ function sandbox_lib_detect_find_program - local ok, wherepaths = os.iorunv("where.exe", {program_name}) - if ok and wherepaths then - for _, program_path in ipairs(wherepaths:split("\n")) do -- program_path = program_path:trim() -- if #program_path > 0 then -- local program_path_real = sandbox_lib_detect_find_program._check(program_path, opt) -+ local lprogram_path = program_path:trim() -+ if #lprogram_path > 0 then -+ local program_path_real = sandbox_lib_detect_find_program._check(lprogram_path, opt) - if program_path_real then - return program_path_real - end -diff -up xmake-3.0.7/xmake/core/tool/builder.lua.orig xmake-3.0.7/xmake/core/tool/builder.lua ---- xmake-3.0.7/xmake/core/tool/builder.lua.orig 2026-03-16 22:31:58.426088320 +0000 -+++ xmake-3.0.7/xmake/core/tool/builder.lua 2026-03-16 22:56:22.206055416 +0000 -@@ -165,19 +165,19 @@ function builder:_add_flags_from_flagkin - local targetflags = target:get(flagkind, opt) - local extraconf = target:extraconf(flagkind) - for _, flag in ipairs(table.wrap(targetflags)) do -- flag = target_utils.flag_belong_to_tool(flag, self, extraconf) -- if flag then -+ local lflag = target_utils.flag_belong_to_tool(flag, self, extraconf) -+ if lflag then - if extraconf then -- local flagconf = extraconf[flag] -+ local flagconf = extraconf[lflag] - -- @note we need join the single flag with shallow mode, aboid expand table values - -- e.g. add_cflags({"-I", "/tmp/xxx foo"}, {force = true, expand = false}) - if flagconf and flagconf.force then -- table.shallow_join2(flags, flag) -+ table.shallow_join2(flags, lflag) - else -- table.shallow_join2(flags, self:_mapflag(flag, flagkind, target)) -+ table.shallow_join2(flags, self:_mapflag(lflag, flagkind, target)) - end - else -- table.shallow_join2(flags, self:_mapflag(flag, flagkind, target)) -+ table.shallow_join2(flags, self:_mapflag(lflag, flagkind, target)) - end - end - end -@@ -392,11 +392,11 @@ function builder:_add_items_from_target( - for idx, values in ipairs(result) do - local source = sources[idx] - local extras = target:extraconf_from(name, source) -- values = table.wrap(values) -- if values and #values > 0 then -+ local lvalues = table.wrap(values) -+ if lvalues and #lvalues > 0 then - table.insert(items, { - name = name, -- values = values, -+ values = lvalues, - extras = extras, - check = opt.check, - multival = opt.multival, -@@ -691,16 +691,17 @@ function builder:_sort_links_of_items(it - -- re-generate links to items list - if sortlinks or makegroups then - for _, link in ipairs(links) do -- if link:startswith("framework::") then -- link = link:sub(12) -- table.insert(items, {name = "frameworks", values = table.wrap(link), check = false, multival = false, mapper = framework_mapper}) -- elseif link:startswith("linkgroup::") then -- local key = link:sub(12) -+ local llink = link -+ if llink:startswith("framework::") then -+ llink = llink:sub(12) -+ table.insert(items, {name = "frameworks", values = table.wrap(llink), check = false, multival = false, mapper = framework_mapper}) -+ elseif llink:startswith("linkgroup::") then -+ local key = llink:sub(12) - local values = linkgroups_map[key] - local extras = extras_map[key] - table.insert(items, {name = "linkgroups", values = table.wrap(values), extras = extras, check = false, multival = false, mapper = linkgroup_mapper}) - else -- table.insert(items, {name = "links", values = table.wrap(link), check = false, multival = false, mapper = link_mapper}) -+ table.insert(items, {name = "links", values = table.wrap(llink), check = false, multival = false, mapper = link_mapper}) - end - end - end -diff -up xmake-3.0.7/xmake/core/tool/toolchain.lua.orig xmake-3.0.7/xmake/core/tool/toolchain.lua ---- xmake-3.0.7/xmake/core/tool/toolchain.lua.orig 2026-03-16 22:31:58.426088320 +0000 -+++ xmake-3.0.7/xmake/core/tool/toolchain.lua 2026-03-16 22:55:54.765887302 +0000 -@@ -241,10 +241,11 @@ function _instance:runenvs() - if toolchain_runenvs then - runenvs = {} - for name, values in pairs(toolchain_runenvs) do -- if type(values) == "table" then -- values = path.joinenv(values) -+ local lvalues = values -+ if type(lvalues) == "table" then -+ lvalues = path.joinenv(lvalues) - end -- runenvs[name] = values -+ runenvs[name] = lvalues - end - end - runenvs = runenvs or false -@@ -654,13 +655,13 @@ function toolchain.parsename(name) - for _, v in ipairs(splitinfo) do - local parts = v:split("=", {plain = true}) - local k = parts[1] -- v = parts[2] -+ local lv = parts[2] - requireconfs = requireconfs or {} -- if v then -- if v:find(":", 1 ,true) then -- requireconfs[k] = v:split(":", {plain = true}) -+ if lv then -+ if lv:find(":", 1 ,true) then -+ requireconfs[k] = lv:split(":", {plain = true}) - else -- requireconfs[k] = option.boolean(v) -+ requireconfs[k] = option.boolean(lv) - end - else - requireconfs[k] = true diff --git a/xmake.spec b/xmake.spec index 00891b8..5d3585e 100644 --- a/xmake.spec +++ b/xmake.spec @@ -17,9 +17,6 @@ Source: %forgesource Patch0: 0001-system-include.patch Patch1: 0001-add-relwithdebinfo-build-mode.patch -# I think this is all the places that need to be fixed for lua 5.5. -# It's a lot. -Patch2: xmake-3.0.7-lua-5.5.patch BuildRequires: pkgconfig(ncurses) BuildRequires: pkgconfig(readline) @@ -30,7 +27,7 @@ BuildRequires: pkgconfig(libsv) %if %{with luajit} BuildRequires: pkgconfig(luajit) %else -BuildRequires: pkgconfig(lua) >= 5.4 +BuildRequires: pkgconfig(lua) >= 5.5 %endif BuildRequires: bash From 15a0e7c66476c764e76feef71abf1bb679ffb628 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Fri, 17 Jul 2026 09:17:22 +0000 Subject: [PATCH 33/33] Rebuilt for https://fedoraproject.org/wiki/Fedora_45_Mass_Rebuild