nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{ stdenv, fetchFromGitHub, fetchpatch, rustPlatform
2, openssl, cmake, perl, pkgconfig, zlib, curl, libgit2, libssh2
3}:
4
5with rustPlatform;
6
7buildRustPackage rec {
8 version = "0.9.1";
9 pname = "git-series";
10
11 src = fetchFromGitHub {
12 owner = "git-series";
13 repo = "git-series";
14 rev = version;
15 sha256 = "07mgq5h6r1gf3jflbv2khcz32bdazw7z1s8xcsafdarnm13ps014";
16 };
17
18 cargoSha256 = "16qjbvppc01yxk8x9jk7gs8jaag5nkfl30j3lyv3dc27vv9mckjv";
19
20 cargoPatches = [
21 (fetchpatch {
22 url = "https://github.com/Mic92/git-series/commit/3aa30a47d74ebf90b444dccdf8c153f07f119483.patch";
23 sha256 = "06v8br9skvy75kcw2zgbswxyk82sqzc8smkbqpzmivxlc2i9rnh0";
24 })
25 # Update Cargo.lock to allow using OpenSSL 1.1
26 (fetchpatch {
27 url = "https://github.com/edef1c/git-series/commit/11fe70ffcc18200e5f2a159c36aab070e8ff4228.patch";
28 sha256 = "0clwllf9mrhq86dhzyyhkw1q2ggpgqpw7s05dvp3gj9zhfsyya4s";
29 })
30 # Cargo.lock: Update url, which fixes incompatibility with NLL
31 (fetchpatch {
32 url = "https://github.com/edef1c/git-series/commit/27ff2ecf2d615dae1113709eca0e43596de12ac4.patch";
33 sha256 = "1byjbdcx56nd0bbwz078bl340rk334mb34cvaa58h76byvhpkw10";
34 })
35 ];
36
37 LIBGIT2_SYS_USE_PKG_CONFIG = true;
38 LIBSSH2_SYS_USE_PKG_CONFIG = true;
39 nativeBuildInputs = [ cmake pkgconfig perl ];
40 buildInputs = [ openssl zlib curl libgit2 libssh2 ];
41
42 postBuild = ''
43 install -D "$src/git-series.1" "$out/man/man1/git-series.1"
44 '';
45
46 meta = with stdenv.lib; {
47 description = "A tool to help with formatting git patches for review on mailing lists";
48 longDescription = ''
49 git series tracks changes to a patch series over time. git
50 series also tracks a cover letter for the patch series,
51 formats the series for email, and prepares pull requests.
52 '';
53 homepage = https://github.com/git-series/git-series;
54
55 license = licenses.mit;
56 maintainers = with maintainers; [ edef vmandela ];
57 };
58}