Files

Ignoring revisions in .git-blame-ignore-revs. Click here to bypass and see the normal blame view.

59 lines
1.2 KiB
Nix
Raw Permalink Normal View History

2025-10-09 14:15:47 +02:00
{
lib,
rustPlatform,
fetchFromGitHub,
pkg-config,
cargo,
rustc,
clippy,
gcc,
makeWrapper,
}:
let
pname = "rustlings";
version = "6.5.0";
in
rustPlatform.buildRustPackage {
inherit pname version;
src = fetchFromGitHub {
owner = "rust-lang";
repo = "rustlings";
rev = "v${version}";
hash = "sha256-dUQIzNPxmKbhew9VjFIW7bY0D1IkuJ5+hRY2/CwmYhY=";
};
cargoHash = "sha256-AvwulWEqZMywaG7lEmT8nn9s2hda+bbIV1rnVXnKH8o=";
# Disabled test that does not work well in an isolated environment
checkFlags = [
"--skip=run_compilation_success"
"--skip=run_test_success"
"--skip=init"
];
nativeBuildInputs = [
pkg-config
makeWrapper
];
postFixup = ''
wrapProgram $out/bin/rustlings --suffix PATH : ${
lib.makeBinPath [
cargo
rustc
clippy
gcc
]
}
'';
meta = {
description = "Explore the Rust programming language and learn more about it while doing exercises";
homepage = "https://rustlings.cool/";
changelog = "https://github.com/rust-lang/rustlings/releases";
license = lib.licenses.mit;
maintainers = with lib.maintainers; [ luftmensch-luftmensch ];
mainProgram = "rustlings";
};
}