summaryrefslogtreecommitdiff
path: root/pkgs/msmtp/default.nix
diff options
context:
space:
mode:
authorAlejandro Soto <alejandro@34project.org>2025-12-24 18:01:46 -0600
committerAlejandro Soto <alejandro@34project.org>2025-12-24 18:06:03 -0600
commit5365449cbbee823f7f947e146db1a588e17fa2e9 (patch)
tree8993bb75ca9d6ce0189cffc59f63676d40036f6b /pkgs/msmtp/default.nix
parentff11e502f5c5997581128254dd7843c9e90fd734 (diff)
pkgs/msmtp: update to 25.11
Diffstat (limited to 'pkgs/msmtp/default.nix')
-rw-r--r--pkgs/msmtp/default.nix80
1 files changed, 59 insertions, 21 deletions
diff --git a/pkgs/msmtp/default.nix b/pkgs/msmtp/default.nix
index 23559c5..c16ee3e 100644
--- a/pkgs/msmtp/default.nix
+++ b/pkgs/msmtp/default.nix
@@ -9,36 +9,41 @@
bash,
coreutils,
gnugrep,
+ gnused,
gnutls,
gsasl,
libidn2,
netcat-gnu,
texinfo,
which,
- Security,
withKeyring ? true,
libsecret,
withSystemd ? lib.meta.availableOn stdenv.hostPlatform systemd,
systemd,
withScripts ? true,
+ withLibnotify ? true,
+ libnotify,
+ gitUpdater,
+ binlore,
+ msmtp,
}: let
inherit (lib) getBin getExe optionals;
- version = "1.8.22";
+ version = "1.8.32";
src = fetchFromGitHub {
owner = "marlam";
- repo = "msmtp-mirror";
+ repo = "msmtp";
rev = "msmtp-${version}";
- hash = "sha256-Jt/uvGBrYYr6ua6LVPiP0nuRiIkxBJASdgHBNHivzxQ=";
+ hash = "sha256-ofyDtP7KgTKX/O1O4g3OcDwgihDveAiJ5s5GQtSqf28=";
};
- meta = with lib; {
+ meta = {
description = "Simple and easy to use SMTP client with excellent sendmail compatibility";
homepage = "https://marlam.de/msmtp/";
- license = licenses.gpl3Plus;
- maintainers = with maintainers; [peterhoeg];
- platforms = platforms.unix;
+ license = lib.licenses.gpl3Plus;
+ maintainers = with lib.maintainers; [peterhoeg];
+ platforms = lib.platforms.unix;
mainProgram = "msmtp";
};
@@ -51,15 +56,25 @@
];
configureFlags =
- ["--sysconfdir=/etc" "--with-libgsasl"]
- ++ optionals stdenv.isDarwin ["--with-macosx-keyring"];
+ [
+ "--sysconfdir=/etc"
+ "--with-libgsasl"
+ ]
+ ++ optionals stdenv.hostPlatform.isDarwin ["--with-macosx-keyring"];
buildInputs =
- [gnutls gsasl libidn2]
- ++ optionals stdenv.isDarwin [Security]
+ [
+ gnutls
+ gsasl
+ libidn2
+ ]
++ optionals withKeyring [libsecret];
- nativeBuildInputs = [autoreconfHook pkg-config texinfo];
+ nativeBuildInputs = [
+ autoreconfHook
+ pkg-config
+ texinfo
+ ];
enableParallelBuilding = true;
@@ -73,7 +88,10 @@
pname = "msmtp-scripts";
inherit version src meta;
- patches = [./paths.patch];
+ patches = [
+ ./msmtpq-remove-binary-check.patch
+ ./msmtpq-systemd-logging.patch
+ ];
postPatch = ''
substituteInPlace scripts/msmtpq/msmtpq \
@@ -112,10 +130,12 @@
binaries
coreutils
gnugrep
+ gnused
netcat-gnu
which
]
- ++ optionals withSystemd [systemd];
+ ++ optionals withSystemd [systemd]
+ ++ optionals withLibnotify [libnotify];
execer =
[
"cannot:${getBin binaries}/bin/msmtp"
@@ -123,11 +143,18 @@
]
++ optionals withSystemd [
"cannot:${getBin systemd}/bin/systemd-cat"
+ ]
+ ++ optionals withLibnotify [
+ "cannot:${getBin libnotify}/bin/notify-send"
];
fix."$MSMTP" = ["msmtp"];
fake.external =
- ["ping"]
- ++ optionals (!withSystemd) ["systemd-cat"];
+ [
+ "ping"
+ ]
+ ++ optionals (!withSystemd) ["systemd-cat"]
+ ++ optionals (!withLibnotify) ["notify-send"];
+ keep.source = ["~/.msmtpqrc"];
};
msmtp-queue = {
@@ -141,11 +168,22 @@
in
if withScripts
then
- symlinkJoin
- {
+ symlinkJoin {
name = "msmtp-${version}";
inherit version meta;
- paths = [binaries scripts];
- passthru = {inherit binaries scripts;};
+ paths = [
+ binaries
+ scripts
+ ];
+ passthru = {
+ inherit binaries scripts src;
+ # msmtpq forwards most of its arguments to msmtp [1].
+ #
+ # [1]: <https://github.com/marlam/msmtp/blob/msmtp-1.8.26/scripts/msmtpq/msmtpq#L301>
+ binlore.out = binlore.synthesize msmtp ''
+ wrapper bin/msmtpq bin/msmtp
+ '';
+ updateScript = gitUpdater {rev-prefix = "msmtp-";};
+ };
}
else binaries