mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2025-12-08 00:05:33 +03:00
dev-vcs/git: fix cross compat
Closes: https://bugs.gentoo.org/953122 Signed-off-by: Sam James <sam@gentoo.org>
This commit is contained in:
parent
68d0de9998
commit
83ae2fc044
@ -0,0 +1,33 @@
|
||||
https://bugs.gentoo.org/953122
|
||||
https://lore.kernel.org/git/20251202-toon-cross-compile-v1-0-cabc8bce529f@iotcl.com/
|
||||
|
||||
From 6437cb608c9c9894852499da36e22095adb57a8e Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org>
|
||||
From: Toon Claes <toon@iotcl.com>
|
||||
Date: Tue, 2 Dec 2025 11:48:08 +0100
|
||||
Subject: [PATCH 1/3] meson: ignore subprojects/.wraplock
|
||||
|
||||
When asking Meson to wrap subprojects, it generates a .wraplock file in
|
||||
the subprojects/ directory. Ignore this file.
|
||||
|
||||
See also https://github.com/mesonbuild/meson/issues/14948.
|
||||
|
||||
Signed-off-by: Toon Claes <toon@iotcl.com>
|
||||
---
|
||||
subprojects/.gitignore | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/subprojects/.gitignore b/subprojects/.gitignore
|
||||
index 63ea916ef5..2bb68c8794 100644
|
||||
--- a/subprojects/.gitignore
|
||||
+++ b/subprojects/.gitignore
|
||||
@@ -1 +1,2 @@
|
||||
/*/
|
||||
+.wraplock
|
||||
|
||||
base-commit: f0ef5b6d9bcc258e4cbef93839d1b7465d5212b9
|
||||
prerequisite-patch-id: b59f73a32b9910a2e72eb13797a0f9bd76ce4812
|
||||
prerequisite-patch-id: 9f1fdad38ca8082e13069df63de6af32599fe654
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@ -0,0 +1,38 @@
|
||||
https://bugs.gentoo.org/953122
|
||||
https://lore.kernel.org/git/20251202-toon-cross-compile-v1-0-cabc8bce529f@iotcl.com/
|
||||
|
||||
From 4f638a773a0f9f6961abe92226be9c23a486110d Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <4f638a773a0f9f6961abe92226be9c23a486110d.1764817376.git.sam@gentoo.org>
|
||||
In-Reply-To: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org>
|
||||
References: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org>
|
||||
From: Toon Claes <toon@iotcl.com>
|
||||
Date: Tue, 2 Dec 2025 11:48:09 +0100
|
||||
Subject: [PATCH 2/3] meson: only detect ICONV_OMITS_BOM if possible
|
||||
|
||||
In our Meson setup it automatically detects whether ICONV_OMITS_BOM
|
||||
should be defined. To check this, a piece of code is compiled and ran.
|
||||
|
||||
When cross-compiling, it's not possible to run this piece of code. Guard
|
||||
this test with a can_run_host_binaries() check to ensure it can run.
|
||||
|
||||
Signed-off-by: Toon Claes <toon@iotcl.com>
|
||||
---
|
||||
meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index f1b3615659..95348e69a4 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -1064,7 +1064,7 @@ if iconv.found()
|
||||
}
|
||||
'''
|
||||
|
||||
- if compiler.run(iconv_omits_bom_source,
|
||||
+ if meson.can_run_host_binaries() and compiler.run(iconv_omits_bom_source,
|
||||
dependencies: iconv,
|
||||
name: 'iconv omits BOM',
|
||||
).returncode() != 0
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@ -0,0 +1,48 @@
|
||||
https://bugs.gentoo.org/953122
|
||||
https://lore.kernel.org/git/20251202-toon-cross-compile-v1-0-cabc8bce529f@iotcl.com/
|
||||
|
||||
From 9e911f149088538f67ca9e8bf5cbfc95d3fe23fe Mon Sep 17 00:00:00 2001
|
||||
Message-ID: <9e911f149088538f67ca9e8bf5cbfc95d3fe23fe.1764817376.git.sam@gentoo.org>
|
||||
In-Reply-To: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org>
|
||||
References: <6437cb608c9c9894852499da36e22095adb57a8e.1764817376.git.sam@gentoo.org>
|
||||
From: Toon Claes <toon@iotcl.com>
|
||||
Date: Wed, 3 Dec 2025 15:53:31 +0100
|
||||
Subject: [PATCH 3/3] meson: use is_cross_build() where possible
|
||||
|
||||
In previous commit the first use of meson.can_run_host_binaries() was
|
||||
introduced. This is a guard around compiler.run() to ensure it's
|
||||
actually possible to execute the provided.
|
||||
|
||||
In other places we've been having the same issue, but here `not
|
||||
meson.is_cross_build()` is used as guard. This does the trick, but it
|
||||
also prevents the code from running even when an exe_wrapper is
|
||||
configured.
|
||||
|
||||
Switch to using meson.can_run_host_binaries() here as well.
|
||||
|
||||
There is another place left that still uses `not
|
||||
meson.is_cross_build()`, but here it's a guard around fs.exists(). That
|
||||
function will always run on the build machine, so checking for
|
||||
cross-compilation is still in place here.
|
||||
|
||||
Signed-off-by: Toon Claes <toon@iotcl.com>
|
||||
---
|
||||
meson.build | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 95348e69a4..00ad8a5c60 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -1492,7 +1492,7 @@ if not has_bsd_sysctl
|
||||
endif
|
||||
endif
|
||||
|
||||
-if not meson.is_cross_build() and compiler.run('''
|
||||
+if meson.can_run_host_binaries() and compiler.run('''
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, const char **argv)
|
||||
--
|
||||
2.52.0
|
||||
|
||||
@ -148,6 +148,11 @@ PATCHES=(
|
||||
# demand from developers. It's opt-in (needs a config option)
|
||||
# and the documentation mentions that it is a Gentoo addition.
|
||||
"${FILESDIR}"/${PN}-2.50.0-diff-implement-config.diff.renames-copies-harder.patch
|
||||
|
||||
# Backports for cross
|
||||
"${FILESDIR}"/0001-meson-ignore-subprojects-.wraplock.patch
|
||||
"${FILESDIR}"/0002-meson-only-detect-ICONV_OMITS_BOM-if-possible.patch
|
||||
"${FILESDIR}"/0003-meson-use-is_cross_build-where-possible.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
|
||||
@ -153,6 +153,11 @@ PATCHES=(
|
||||
|
||||
"${FILESDIR}"/${PN}-2.52.0-0001-rust-don-t-pass-quiet-to-cargo.patch
|
||||
"${FILESDIR}"/${PN}-2.52.0-0002-rust-respect-CARGO-environment-variable.patch
|
||||
|
||||
# Backports for cross
|
||||
"${FILESDIR}"/0001-meson-ignore-subprojects-.wraplock.patch
|
||||
"${FILESDIR}"/0002-meson-only-detect-ICONV_OMITS_BOM-if-possible.patch
|
||||
"${FILESDIR}"/0003-meson-use-is_cross_build-where-possible.patch
|
||||
)
|
||||
|
||||
pkg_setup() {
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user