nixpkgs/pkgs/servers/mail/vsmtp/default.nix
2023-01-20 14:13:08 +08:00

54 lines
1.3 KiB
Nix

{ lib
, rustPlatform
, fetchFromGitHub
, fetchpatch
, installShellFiles
, testers
, vsmtp
}:
rustPlatform.buildRustPackage rec {
pname = "vsmtp";
version = "2.0.0";
src = fetchFromGitHub {
owner = "viridIT";
repo = "vsmtp";
rev = "v${version}";
hash = "sha256-uyu2NpHFDqJDcfQukG6TdRH7KuZnrYTULvLiABdvAog=";
};
patches = [
# https://github.com/viridIT/vSMTP/pull/952
# treewide: set GIT_HASH to unknown if git rev-parse HEAD fails
(fetchpatch {
url = "https://github.com/viridIT/vSMTP/commit/0ac4820c079e459f515825dfb451980119eaae9e.patch";
includes = [ "src/vsmtp/vsmtp-core/build.rs" "src/vqueue/build.rs" ];
hash = "sha256-kGjXsVokP6039rksaxw1EM/0zOlKIus1EaIEsFJvLE8=";
})
];
cargoHash = "sha256-A0Q6ciZJL13VzJgZIWZalrRElSNGHUN/9b8Csj4Tdak=";
nativeBuildInputs = [ installShellFiles ];
# too many upstream failures
doCheck = false;
postInstall = ''
installManPage tools/install/man/*.1
'';
passthru = {
tests.version = testers.testVersion { package = vsmtp; version = "v${version}"; };
};
meta = with lib; {
description = "A next-gen mail transfer agent (MTA) written in Rust";
homepage = "https://viridit.com";
license = licenses.gpl3Plus;
platforms = platforms.linux;
maintainers = with maintainers; [ nickcao ];
};
}