nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 pkg-config,
6 libgit2,
7 openssl,
8 stdenv,
9 curl,
10 git,
11 nix-update-script,
12}:
13
14rustPlatform.buildRustPackage (finalAttrs: {
15 pname = "cargo-release";
16 version = "0.25.22";
17
18 src = fetchFromGitHub {
19 owner = "crate-ci";
20 repo = "cargo-release";
21 tag = "v${finalAttrs.version}";
22 hash = "sha256-NFI7UIHbo1xcH+pXim3ar8hvkn2EdIFpI2rpsivhVHg=";
23 };
24
25 cargoHash = "sha256-RJfg11FyecDKFIsXx5c3R/qC5c81N3WYjd2pU4sw/ng=";
26
27 nativeBuildInputs = [
28 pkg-config
29 ];
30
31 buildInputs = [
32 libgit2
33 openssl
34 ]
35 ++ lib.optionals stdenv.hostPlatform.isDarwin [
36 curl
37 ];
38
39 nativeCheckInputs = [
40 git
41 ];
42
43 # disable vendored-libgit2 and vendored-openssl
44 buildNoDefaultFeatures = true;
45
46 passthru.updateScript = nix-update-script { };
47
48 meta = {
49 description = ''Cargo subcommand "release": everything about releasing a rust crate'';
50 mainProgram = "cargo-release";
51 homepage = "https://github.com/crate-ci/cargo-release";
52 changelog = "https://github.com/crate-ci/cargo-release/blob/v${finalAttrs.version}/CHANGELOG.md";
53 license = with lib.licenses; [
54 asl20 # or
55 mit
56 ];
57 maintainers = with lib.maintainers; [
58 gerschtli
59 progrm_jarvis
60 ];
61 };
62})