1{
2 lib,
3 rustPlatform,
4 fetchFromGitHub,
5 pkg-config,
6 stdenv,
7 curl,
8 installShellFiles,
9 libgit2,
10 libssh2,
11 openssl,
12 zlib,
13}:
14
15rustPlatform.buildRustPackage {
16 pname = "git-series";
17 version = "0.9.1-unstable-2024-02-02";
18
19 src = fetchFromGitHub {
20 owner = "git-series";
21 repo = "git-series";
22 rev = "9c5d40edec87b79db0c5bac1458aa0e2c8fdeb8e";
23 hash = "sha256-DtOR7+vX7efNzYMRJwJTj5cXlFHQwzcS0Gp2feVdea4=";
24 };
25
26 cargoHash = "sha256-hFiNK0MQmCPciflMwwR4gzU0Z+Q1WkPJrd4Hs33W8kw=";
27
28 nativeBuildInputs = [
29 pkg-config
30 installShellFiles
31 ]
32 ++ lib.optionals stdenv.hostPlatform.isDarwin [ curl ];
33
34 buildInputs = [
35 libgit2
36 libssh2
37 openssl
38 zlib
39 ]
40 ++ lib.optionals stdenv.hostPlatform.isDarwin [ curl ];
41
42 env = {
43 LIBGIT2_SYS_USE_PKG_CONFIG = true;
44 LIBSSH2_SYS_USE_PKG_CONFIG = true;
45 };
46
47 postInstall = ''
48 installManPage ./git-series.1
49 '';
50
51 meta = with lib; {
52 description = "Tool to help with formatting git patches for review on mailing lists";
53 longDescription = ''
54 git series tracks changes to a patch series over time. git
55 series also tracks a cover letter for the patch series,
56 formats the series for email, and prepares pull requests.
57 '';
58 homepage = "https://github.com/git-series/git-series";
59 license = licenses.mit;
60 maintainers = with maintainers; [
61 edef
62 vmandela
63 aleksana
64 ];
65 mainProgram = "git-series";
66 };
67}