depot/third_party/nixpkgs/pkgs/by-name/ae/aerc/package.nix

103 lines
2.2 KiB
Nix

{
lib,
buildGoModule,
fetchFromSourcehut,
ncurses,
withNotmuch ? true,
notmuch,
scdoc,
python3Packages,
w3m,
dante,
gawk,
versionCheckHook,
nix-update-script,
}:
buildGoModule (finalAttrs: {
pname = "aerc";
version = "0.20.1";
src = fetchFromSourcehut {
owner = "~rjarry";
repo = "aerc";
rev = finalAttrs.version;
hash = "sha256-IBTM3Ersm8yUCgiBLX8ozuvMEbfmY6eW5xvJD20UgRA=";
};
proxyVendor = true;
vendorHash = "sha256-O1j0J6vCE6rap5/fOTxlUpXAG5mgZf8CfNOB4VOBxms=";
nativeBuildInputs = [
scdoc
python3Packages.wrapPython
];
patches = [ ./runtime-libexec.patch ];
postPatch = ''
substituteAllInPlace config/aerc.conf
substituteAllInPlace config/config.go
substituteAllInPlace doc/aerc-config.5.scd
substituteAllInPlace doc/aerc-templates.7.scd
# Prevent buildGoModule from trying to build this
rm contrib/linters.go
'';
makeFlags = [ "PREFIX=${placeholder "out"}" ];
pythonPath = [ python3Packages.vobject ];
buildInputs = [
python3Packages.python
gawk
] ++ lib.optional withNotmuch notmuch;
installPhase = ''
runHook preInstall
make $makeFlags GOFLAGS="$GOFLAGS${lib.optionalString withNotmuch " -tags=notmuch"}" install
runHook postInstall
'';
postFixup = ''
wrapProgram $out/bin/aerc \
--prefix PATH : ${lib.makeBinPath [ ncurses ]}
wrapProgram $out/libexec/aerc/filters/html \
--prefix PATH : ${
lib.makeBinPath [
w3m
dante
]
}
wrapProgram $out/libexec/aerc/filters/html-unsafe \
--prefix PATH : ${
lib.makeBinPath [
w3m
dante
]
}
patchShebangs $out/libexec/aerc/filters
'';
nativeInstallCheckInputs = [ versionCheckHook ];
versionCheckProgramArg = "--version";
doInstallCheck = true;
passthru.updateScript = nix-update-script { };
meta = {
description = "Email client for your terminal";
homepage = "https://aerc-mail.org/";
changelog = "https://git.sr.ht/~rjarry/aerc/tree/${finalAttrs.version}/item/CHANGELOG.md";
maintainers = with lib.maintainers; [
defelo
sikmir
];
mainProgram = "aerc";
license = lib.licenses.mit;
platforms = lib.platforms.unix;
};
})