diff options
author | Andreas Rammhold <andreas@rammhold.de> | 2019-09-10 10:57:54 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-09-10 10:57:54 +0200 |
commit | a69a6c11176d6aa96ab7c8f7308be4b95206598e (patch) | |
tree | d34e074c089b5d441da71ad04780ad0c4dd48c46 /pkgs/build-support/rust/build-rust-crate/test/default.nix | |
parent | 9c171d29117f8b93f9f990938c3a18c42e13579c (diff) | |
parent | 85c6d720117f8207ba561804980b2452755170b8 (diff) | |
download | nixpkgs-a69a6c11176d6aa96ab7c8f7308be4b95206598e.tar nixpkgs-a69a6c11176d6aa96ab7c8f7308be4b95206598e.tar.gz nixpkgs-a69a6c11176d6aa96ab7c8f7308be4b95206598e.tar.bz2 nixpkgs-a69a6c11176d6aa96ab7c8f7308be4b95206598e.tar.lz nixpkgs-a69a6c11176d6aa96ab7c8f7308be4b95206598e.tar.xz nixpkgs-a69a6c11176d6aa96ab7c8f7308be4b95206598e.tar.zst nixpkgs-a69a6c11176d6aa96ab7c8f7308be4b95206598e.zip |
Merge pull request #68296 from danieldk/crateRenames
buildRustCrate: add support for renaming crates
Diffstat (limited to 'pkgs/build-support/rust/build-rust-crate/test/default.nix')
-rw-r--r-- | pkgs/build-support/rust/build-rust-crate/test/default.nix | 26 |
1 files changed, 20 insertions, 6 deletions
diff --git a/pkgs/build-support/rust/build-rust-crate/test/default.nix b/pkgs/build-support/rust/build-rust-crate/test/default.nix index f3f9ef377c8..4a90cf442a4 100644 --- a/pkgs/build-support/rust/build-rust-crate/test/default.nix +++ b/pkgs/build-support/rust/build-rust-crate/test/default.nix @@ -22,6 +22,13 @@ let } ''; + mkBinExtern = name: extern: mkFile name '' + extern crate ${extern}; + fn main() { + assert_eq!(${extern}::test(), 23); + } + ''; + mkLib = name: mkFile name "pub fn test() -> i32 { return 23; }"; mkTest = crateArgs: let @@ -34,12 +41,7 @@ let libTestBinary = if !isLib then null else mkCrate { crateName = "run-test-${crateName}"; dependencies = [ crate ]; - src = mkFile "src/main.rs" '' - extern crate ${libName}; - fn main() { - assert_eq!(${libName}::test(), 23); - } - ''; + src = mkBinExtern "src/main.rs" libName; }; in runCommand "run-buildRustCrate-${crateName}-test" { @@ -71,6 +73,18 @@ let }; crateBinNoPath3 = { crateBin = [{ name = "my-binary5"; }]; src = mkBin "src/bin/main.rs"; }; crateBinNoPath4 = { crateBin = [{ name = "my-binary6"; }]; src = mkBin "src/main.rs";}; + crateBinRename1 = { + crateBin = [{ name = "my-binary-rename1"; }]; + src = mkBinExtern "src/main.rs" "foo_renamed"; + dependencies = [ (mkCrate { crateName = "foo"; src = mkLib "src/lib.rs"; }) ]; + crateRenames = { "foo" = "foo_renamed"; }; + }; + crateBinRename2 = { + crateBin = [{ name = "my-binary-rename2"; }]; + src = mkBinExtern "src/main.rs" "foo_renamed"; + dependencies = [ (mkCrate { crateName = "foo"; libName = "foolib"; src = mkLib "src/lib.rs"; }) ]; + crateRenames = { "foo" = "foo_renamed"; }; + }; }; brotliCrates = (callPackage ./brotli-crates.nix {}); in lib.mapAttrs (key: value: mkTest (value // lib.optionalAttrs (!value?crateName) { crateName = key; })) cases // { |