summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlyssa Ross <hi@alyssa.is>2022-02-10 20:28:49 +0000
committerAlyssa Ross <hi@alyssa.is>2022-03-22 21:18:10 +0000
commit37437c6eb0885057cbadcf40aa4cb03d5be1a76a (patch)
tree1133c7585ab72ba73e5987c527aa92f4c266a9cc
parent07bae67bd84fc97b397f8499fa5573291d50c9d8 (diff)
downloadnixpkgs-37437c6eb0885057cbadcf40aa4cb03d5be1a76a.tar
nixpkgs-37437c6eb0885057cbadcf40aa4cb03d5be1a76a.tar.gz
nixpkgs-37437c6eb0885057cbadcf40aa4cb03d5be1a76a.tar.bz2
nixpkgs-37437c6eb0885057cbadcf40aa4cb03d5be1a76a.tar.lz
nixpkgs-37437c6eb0885057cbadcf40aa4cb03d5be1a76a.tar.xz
nixpkgs-37437c6eb0885057cbadcf40aa4cb03d5be1a76a.tar.zst
nixpkgs-37437c6eb0885057cbadcf40aa4cb03d5be1a76a.zip
meson: add Rust cross support
We don't currently have any software in Nixpkgs that uses Meson's Rust
support that I could find (rather than just shelling out to Cargo from
Meson), but it's easy to test this works regardless, e.g. with the
following which uses Meson's built-in template for a Rust project.

	stdenv.mkDerivation {
	  name = "rust-test";

	  unpackPhase = ''
	    mkdir src
	    cd src
	    meson init -l rust
	  '';

	  nativeBuildInputs = [ meson ninja rustc ];
	}
-rw-r--r--pkgs/development/tools/build-managers/meson/default.nix2
1 files changed, 2 insertions, 0 deletions
diff --git a/pkgs/development/tools/build-managers/meson/default.nix b/pkgs/development/tools/build-managers/meson/default.nix
index 62e16516392..5cf357b0f51 100644
--- a/pkgs/development/tools/build-managers/meson/default.nix
+++ b/pkgs/development/tools/build-managers/meson/default.nix
@@ -2,6 +2,7 @@
 , stdenv
 , fetchpatch
 , installShellFiles
+, rust
 , ninja
 , pkg-config
 , python3
@@ -84,6 +85,7 @@ python3.pkgs.buildPythonApplication rec {
 
       [binaries]
       llvm-config = 'llvm-config-native'
+      rust = ['rustc', '--target=${rust.toRustTargetSpec stdenv.targetPlatform}']
     '';
 
   setupHook = substituteAll {