nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 pkg-config,
6 bzip2,
7 xz,
8 zstd,
9 versionCheckHook,
10}:
11
12rustPlatform.buildRustPackage rec {
13 pname = "cargo-binstall";
14 version = "1.17.3";
15
16 src = fetchFromGitHub {
17 owner = "cargo-bins";
18 repo = "cargo-binstall";
19 tag = "v${version}";
20 hash = "sha256-8017nujJ/nHSy1xkzfObj30ffAsg7W2pbHzrto5ThH0=";
21 };
22
23 cargoHash = "sha256-NpnwtoTJs+xkedDEspDOQdZpIhuEhI3tRvH3hroIoIc=";
24
25 nativeBuildInputs = [
26 pkg-config
27 ];
28
29 buildInputs = [
30 bzip2
31 xz
32 zstd
33 ];
34
35 buildNoDefaultFeatures = true;
36 buildFeatures = [
37 "fancy-no-backtrace"
38 "git"
39 "pkg-config"
40 "rustls"
41 "trust-dns"
42 "zstd-thin"
43 ];
44
45 cargoBuildFlags = [
46 "-p"
47 "cargo-binstall"
48 ];
49 cargoTestFlags = [
50 "-p"
51 "cargo-binstall"
52 ];
53
54 checkFlags = [
55 # requires internet access
56 "--skip=download::test::test_and_extract"
57 "--skip=gh_api_client::test::test_gh_api_client_cargo_binstall_no_such_release"
58 "--skip=gh_api_client::test::test_gh_api_client_cargo_binstall_v0_20_1"
59 ];
60
61 nativeInstallCheckInputs = [ versionCheckHook ];
62 doInstallCheck = true;
63 versionCheckProgramArg = "-V";
64
65 meta = {
66 description = "Tool for installing rust binaries as an alternative to building from source";
67 mainProgram = "cargo-binstall";
68 homepage = "https://github.com/cargo-bins/cargo-binstall";
69 changelog = "https://github.com/cargo-bins/cargo-binstall/releases/tag/v${version}";
70 license = lib.licenses.gpl3Only;
71 maintainers = with lib.maintainers; [ mdaniels5757 ];
72 };
73}