nixpkgs/pkgs/applications/version-management/git-series/default.nix

68 lines
1.4 KiB
Nix

{ lib
, rustPlatform
, fetchFromGitHub
, pkg-config
, stdenv
, curl
, libgit2
, libssh2
, openssl
, zlib
}:
rustPlatform.buildRustPackage {
pname = "git-series";
version = "unstable-2019-10-15";
src = fetchFromGitHub {
owner = "git-series";
repo = "git-series";
rev = "c570a015e15214be46a7fd06ba08526622738e20";
sha256 = "1i0m2b7ma6xvkg95k57gaj1wpc1rfvka6h8jr5hglxmqqbz6cb6w";
};
cargoLock = {
lockFile = ./Cargo.lock;
};
nativeBuildInputs = [
pkg-config
] ++ lib.optionals stdenv.isDarwin [
curl
];
buildInputs = [
libgit2
libssh2
openssl
zlib
] ++ lib.optionals stdenv.isDarwin [
curl
];
LIBGIT2_SYS_USE_PKG_CONFIG = true;
LIBSSH2_SYS_USE_PKG_CONFIG = true;
# update Cargo.lock to work with openssl 3
postPatch = ''
ln -sf ${./Cargo.lock} Cargo.lock
'';
postInstall = ''
install -D "$src/git-series.1" "$out/man/man1/git-series.1"
'';
meta = with lib; {
description = "A tool to help with formatting git patches for review on mailing lists";
longDescription = ''
git series tracks changes to a patch series over time. git
series also tracks a cover letter for the patch series,
formats the series for email, and prepares pull requests.
'';
homepage = "https://github.com/git-series/git-series";
license = licenses.mit;
maintainers = with maintainers; [ edef vmandela ];
};
}