diff --git a/pkgs/development/tools/rust/rust-script/default.nix b/pkgs/development/tools/rust/rust-script/default.nix new file mode 100644 index 000000000000..b13a1f66db2d --- /dev/null +++ b/pkgs/development/tools/rust/rust-script/default.nix @@ -0,0 +1,26 @@ +{ lib, rustPlatform, fetchFromGitHub }: + +rustPlatform.buildRustPackage rec { + pname = "rust-script"; + version = "0.17.0"; + + src = fetchFromGitHub { + owner = "fornwall"; + repo = pname; + rev = "v${version}"; + sha256 = "0jz8hlvl31c5h8whd6pnpmslw6w6alkxijd9lhgric1yypiym9x3"; + }; + + cargoSha256 = "sha256-hg0QtxR1qm/x8G6HoN7xAyOwh9jiQvX2wWYjUR8YvMs="; + + # TODO: switch to `cargoCheckType = "false"` after #138822 is merged + # tests only work in debug mode + doCheck = false; + + meta = with lib; { + description = "Run Rust files and expressions as scripts without any setup or compilation step"; + homepage = "https://rust-script.org"; + license = with licenses; [ mit /* or */ asl20 ]; + maintainers = with maintainers; [ figsoda ]; + }; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 7b56ef9bbf65..c741d0c68459 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -12508,6 +12508,7 @@ with pkgs; rust-cbindgen = callPackage ../development/tools/rust/cbindgen { inherit (darwin.apple_sdk.frameworks) Security; }; + rust-script = callPackage ../development/tools/rust/rust-script { }; rustup = callPackage ../development/tools/rust/rustup { inherit (darwin.apple_sdk.frameworks) CoreServices Security; };