1{
2 lib,
3 fetchFromGitHub,
4 rustPlatform,
5 installShellFiles,
6 asciidoctor,
7}:
8
9rustPlatform.buildRustPackage rec {
10 pname = "git-gone";
11 version = "1.2.5";
12
13 src = fetchFromGitHub {
14 owner = "swsnr";
15 repo = "git-gone";
16 tag = "v${version}";
17 hash = "sha256-4BhFombZCmv/GNG2OcNlWNKTk2h65yKn1ku734gCBCQ=";
18 };
19
20 # remove if updating to rust 1.85
21 postPatch = ''
22 substituteInPlace Cargo.toml \
23 --replace-fail "[package]" ''$'cargo-features = ["edition2024"]\n[package]'
24 '';
25
26 cargoHash = "sha256-VjnnrVN+uST99paImI1uNj34CNozid7ZiPslJqvmKCs=";
27
28 # remove if updating to rust 1.85
29 env.RUSTC_BOOTSTRAP = 1;
30
31 nativeBuildInputs = [
32 installShellFiles
33 asciidoctor
34 ];
35
36 postInstall = ''
37 asciidoctor --backend=manpage git-gone.1.adoc -o git-gone.1
38 installManPage git-gone.1
39 '';
40
41 meta = {
42 description = "Cleanup stale Git branches of merge requests";
43 homepage = "https://github.com/swsnr/git-gone";
44 changelog = "https://github.com/swsnr/git-gone/raw/v${version}/CHANGELOG.md";
45 license = lib.licenses.asl20;
46 maintainers = with lib.maintainers; [
47 cafkafk
48 matthiasbeyer
49 ];
50 mainProgram = "git-gone";
51 };
52}