diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix index d3c2fda9588f..5a94137ea2f3 100644 --- a/pkgs/applications/networking/mailreaders/neomutt/default.nix +++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix @@ -1,8 +1,38 @@ -{ lib, stdenv, fetchFromGitHub, gettext, makeWrapper, tcl, which -, ncurses, perl , cyrus_sasl, gss, gpgme, libkrb5, libidn2, libxml2, notmuch, openssl -, lua, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42, w3m, mailcap, sqlite, zlib, lndir -, pkg-config, zstd, enableZstd ? true, enableMixmaster ? false, enableLua ? false -, withContrib ? true +{ + lib, + stdenv, + fetchFromGitHub, + gettext, + makeWrapper, + tcl, + which, + ncurses, + perl, + cyrus_sasl, + gss, + gpgme, + libkrb5, + libidn2, + libxml2, + notmuch, + openssl, + lua, + lmdb, + libxslt, + docbook_xsl, + docbook_xml_dtd_42, + w3m, + mailcap, + sqlite, + zlib, + lndir, + pkg-config, + zstd, + enableZstd ? true, + enableMixmaster ? false, + enableLua ? false, + enableSmimeKeys ? true, + withContrib ? true, }: stdenv.mkDerivation (finalAttrs: { @@ -10,22 +40,38 @@ stdenv.mkDerivation (finalAttrs: { version = "20240425"; src = fetchFromGitHub { - owner = "neomutt"; - repo = "neomutt"; - rev = finalAttrs.version; - hash = "sha256-QBqPFteoAm3AdQN0XTWpho8DEW2BFCCzBcHUZIiSxyQ="; + owner = "neomutt"; + repo = "neomutt"; + rev = finalAttrs.version; + hash = "sha256-QBqPFteoAm3AdQN0XTWpho8DEW2BFCCzBcHUZIiSxyQ="; }; buildInputs = [ - cyrus_sasl gss gpgme libkrb5 libidn2 ncurses - notmuch openssl perl lmdb - mailcap sqlite - ] - ++ lib.optional enableZstd zstd - ++ lib.optional enableLua lua; + cyrus_sasl + gss + gpgme + libkrb5 + libidn2 + ncurses + notmuch + openssl + perl + lmdb + mailcap + sqlite + ] ++ lib.optional enableZstd zstd ++ lib.optional enableLua lua; nativeBuildInputs = [ - docbook_xsl docbook_xml_dtd_42 gettext libxml2 libxslt.bin makeWrapper tcl which zlib w3m + docbook_xsl + docbook_xml_dtd_42 + gettext + libxml2 + libxslt.bin + makeWrapper + tcl + which + zlib + w3m pkg-config ]; @@ -49,31 +95,38 @@ stdenv.mkDerivation (finalAttrs: { --replace /etc/mime.types ${mailcap}/etc/mime.types ''; - configureFlags = [ - "--enable-autocrypt" - "--gpgme" - "--gss" - "--lmdb" - "--notmuch" - "--ssl" - "--sasl" - "--with-homespool=mailbox" - "--with-mailpath=" - # To make it not reference .dev outputs. See: - # https://github.com/neomutt/neomutt/pull/2367 - "--disable-include-path-in-cflags" - "--zlib" - ] - ++ lib.optional enableZstd "--zstd" - ++ lib.optional enableLua "--lua" - ++ lib.optional enableMixmaster "--mixmaster"; + configureFlags = + [ + "--enable-autocrypt" + "--gpgme" + "--gss" + "--lmdb" + "--notmuch" + "--ssl" + "--sasl" + "--with-homespool=mailbox" + "--with-mailpath=" + # To make it not reference .dev outputs. See: + # https://github.com/neomutt/neomutt/pull/2367 + "--disable-include-path-in-cflags" + "--zlib" + ] + ++ lib.optional enableZstd "--zstd" + ++ lib.optional enableLua "--lua" + ++ lib.optional enableMixmaster "--mixmaster"; - postInstall = '' - wrapProgram "$out/bin/neomutt" --prefix PATH : "$out/libexec/neomutt" - '' - # https://github.com/neomutt/neomutt-contrib - # Contains vim-keys, keybindings presets and more. - + lib.optionalString withContrib "${lib.getExe lndir} ${finalAttrs.passthru.contrib} $out/share/doc/neomutt"; + postInstall = + '' + wrapProgram "$out/bin/neomutt" --prefix PATH : "$out/libexec/neomutt" + '' + + lib.optionalString enableSmimeKeys '' + install -m 755 $src/contrib/smime_keys $out/bin; + substituteInPlace $out/bin/smime_keys \ + --replace-fail '/usr/bin/openssl' '${openssl}/bin/openssl'; + '' + # https://github.com/neomutt/neomutt-contrib + # Contains vim-keys, keybindings presets and more. + + lib.optionalString withContrib "${lib.getExe lndir} ${finalAttrs.passthru.contrib} $out/share/doc/neomutt"; doCheck = true; @@ -111,9 +164,12 @@ stdenv.mkDerivation (finalAttrs: { meta = { description = "Small but very powerful text-based mail client"; mainProgram = "neomutt"; - homepage = "https://www.neomutt.org"; - license = lib.licenses.gpl2Plus; - maintainers = with lib.maintainers; [ erikryb raitobezarius ]; - platforms = lib.platforms.unix; + homepage = "https://www.neomutt.org"; + license = lib.licenses.gpl2Plus; + maintainers = with lib.maintainers; [ + erikryb + raitobezarius + ]; + platforms = lib.platforms.unix; }; })