diff options
author | Cole Helbling <cole.e.helbling@outlook.com> | 2020-11-16 22:16:05 -0800 |
---|---|---|
committer | Cole Helbling <cole.e.helbling@outlook.com> | 2020-11-17 08:13:04 -0800 |
commit | 011ecb8f904daf95f238cc594f016f15a97cd7f3 (patch) | |
tree | 661a6e99cd0866dff64c6624c97b2a592ec7fccd | |
parent | 01816a4bf1fced485bff638fbbb1e96e22ac805f (diff) |
crate2nix: init at 0.8.0
crate2nix is a tool that "generates nix build files for rust crates
using cargo".
Co-authored-by: Sandro <sandro.jaeckel@gmail.com>
-rw-r--r-- | pkgs/development/tools/rust/crate2nix/default.nix | 47 | ||||
-rw-r--r-- | pkgs/top-level/all-packages.nix | 2 |
2 files changed, 49 insertions, 0 deletions
diff --git a/pkgs/development/tools/rust/crate2nix/default.nix b/pkgs/development/tools/rust/crate2nix/default.nix new file mode 100644 index 000000000000..a941d43bb9d8 --- /dev/null +++ b/pkgs/development/tools/rust/crate2nix/default.nix @@ -0,0 +1,47 @@ +{ lib +, rustPlatform +, fetchFromGitHub +, makeWrapper + +, cargo +, nix +, nix-prefetch-git +}: + +rustPlatform.buildRustPackage rec { + pname = "crate2nix"; + version = "0.8.0"; + + src = fetchFromGitHub + { + owner = "kolloch"; + repo = pname; + rev = version; + sha256 = "sha256-pqg1BsEq3kGmUzt1zpQvXgdnRcIsiuIyvtUBi3VxtZ4="; + } + "/crate2nix"; + + cargoSha256 = "sha256-dAMWrGNMleQ3lDbG46Hr4qvCyxR+QcPOUZw9r2/CxV4="; + + nativeBuildInputs = [ makeWrapper ]; + + # Tests use nix(1), which tries (and fails) to set up /nix/var inside the + # sandbox + doCheck = false; + + postFixup = '' + wrapProgram $out/bin/crate2nix \ + --suffix PATH ":" ${lib.makeBinPath [ cargo nix nix-prefetch-git ]} + ''; + + meta = with lib; { + description = "A Nix build file generator for Rust crates."; + longDescription = '' + Crate2nix generates Nix files from Cargo.toml/lock files + so that you can build every crate individually in a Nix sandbox. + ''; + homepage = "https://github.com/kolloch/crate2nix"; + license = licenses.asl20; + maintainers = with maintainers; [ kolloch andir cole-h ]; + platforms = platforms.all; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7a55699da1d0..6541b5fcbf94 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -9969,6 +9969,8 @@ julia_15 = callPackage ../development/compilers/julia/1.5.nix { inherit (darwin.apple_sdk.frameworks) Security; }; + crate2nix = callPackage ../development/tools/rust/crate2nix { }; + maturin = callPackage ../development/tools/rust/maturin { }; inherit (rustPackages) rls; rustfmt = rustPackages.rustfmt; |