diff options
Diffstat (limited to '')
| -rw-r--r-- | pkgs/msmtp/default.nix | 80 |
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 |
