summaryrefslogtreecommitdiff
path: root/gnu
diff options
context:
space:
mode:
authorHilton Chain <hako@ultrarare.space>2025-04-22 20:53:50 +0800
committerHilton Chain <hako@ultrarare.space>2025-08-21 19:08:29 +0800
commit141d39db98ed3eba64b405be4102c3a024eab475 (patch)
tree776fee697461b116d2770659f771f0dada0bb5a7 /gnu
parent8605db19fd72eacf0547aaaf9a979851615bdd9c (diff)
gnu: corrosion: Honor CARGO_BUILD_TARGET.
This change integrates Rust cross-compilation support from Guix. * gnu/packages/patches/corrosion-honor-CARGO_BUILD_TARGET.patch: New file. * gnu/local.mk (dist_patch_DATA): Register it. * gnu/packages/cmake.scm (corrosion)[source]: Apply it. Change-Id: I319f07f49e390ed84286f35aaa0bd3cad2ad70db
Diffstat (limited to 'gnu')
-rw-r--r--gnu/local.mk1
-rw-r--r--gnu/packages/cmake.scm4
-rw-r--r--gnu/packages/patches/corrosion-honor-CARGO_BUILD_TARGET.patch26
3 files changed, 30 insertions, 1 deletions
diff --git a/gnu/local.mk b/gnu/local.mk
index 88c3cfe88e1..a4264278d4c 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1157,6 +1157,7 @@ dist_patch_DATA = \
%D%/packages/patches/corefx-mono-5.4.0-patches.patch \
%D%/packages/patches/corefx-mono-pre-5.8.0-patches.patch \
%D%/packages/patches/coreutils-gnulib-tests.patch \
+ %D%/packages/patches/corrosion-honor-CARGO_BUILD_TARGET.patch \
%D%/packages/patches/cppcheck-fix-basedir-test.patch \
%D%/packages/patches/cppdap-add-CPPDAP_USE_EXTERNAL_GTEST_PACKAGE.patch\
%D%/packages/patches/cpulimit-with-glib-2.32.patch \
diff --git a/gnu/packages/cmake.scm b/gnu/packages/cmake.scm
index b269365d5a3..cbca15244a4 100644
--- a/gnu/packages/cmake.scm
+++ b/gnu/packages/cmake.scm
@@ -508,7 +508,9 @@ format (either JSON or XML).
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1bylfjji4yw88r00hgb69nfl9lz73bhc7q3n64myif4alr4b8ypx"))))
+ (base32 "1bylfjji4yw88r00hgb69nfl9lz73bhc7q3n64myif4alr4b8ypx"))
+ (patches
+ (search-patches "corrosion-honor-CARGO_BUILD_TARGET.patch"))))
(build-system cmake-build-system)
(arguments
(list
diff --git a/gnu/packages/patches/corrosion-honor-CARGO_BUILD_TARGET.patch b/gnu/packages/patches/corrosion-honor-CARGO_BUILD_TARGET.patch
new file mode 100644
index 00000000000..ecd2b3a9d22
--- /dev/null
+++ b/gnu/packages/patches/corrosion-honor-CARGO_BUILD_TARGET.patch
@@ -0,0 +1,26 @@
+From 0a6f23a404d1b972b1c5f0cf1d38500276f3c9d1 Mon Sep 17 00:00:00 2001
+From: Hilton Chain <hako@ultrarare.space>
+Date: Tue, 22 Apr 2025 19:43:00 +0800
+Subject: [PATCH] Support Cargo target from environment variable.
+
+---
+ cmake/FindRust.cmake | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/cmake/FindRust.cmake b/cmake/FindRust.cmake
+index fccfac3..e888149 100644
+--- a/cmake/FindRust.cmake
++++ b/cmake/FindRust.cmake
+@@ -734,6 +734,9 @@ if (NOT Rust_CARGO_TARGET_CACHED)
+ set(Rust_CARGO_TARGET_CACHED "${_RUST_OHOS_TARGET}" CACHE STRING "Target triple")
+ endif()
+ endif()
++ if(DEFINED ENV{CARGO_BUILD_TARGET})
++ set(Rust_CARGO_TARGET_CACHED "$ENV{CARGO_BUILD_TARGET}")
++ endif()
+ # Fallback to the default host target
+ if(NOT Rust_CARGO_TARGET_CACHED)
+ if(CMAKE_CROSSCOMPILING)
+--
+2.49.0
+