summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
authorJoachim F <joachifm@users.noreply.github.com>2017-11-22 04:08:10 +0000
committerGitHub <noreply@github.com>2017-11-22 04:08:10 +0000
commit7059c8829074d3940e3745107d6937d08e9e6c18 (patch)
treeb7dfcf12b8dc4e34d8d20ac0c39a6f3d0ab363eb /pkgs
parent7cfe20dc77b22f478a134fc4e63ac4cf28b9b180 (diff)
parent3daaf09c9efb30fc7e0b37b474b1c6a9c6db347d (diff)
downloadnixlib-7059c8829074d3940e3745107d6937d08e9e6c18.tar
nixlib-7059c8829074d3940e3745107d6937d08e9e6c18.tar.gz
nixlib-7059c8829074d3940e3745107d6937d08e9e6c18.tar.bz2
nixlib-7059c8829074d3940e3745107d6937d08e9e6c18.tar.lz
nixlib-7059c8829074d3940e3745107d6937d08e9e6c18.tar.xz
nixlib-7059c8829074d3940e3745107d6937d08e9e6c18.tar.zst
nixlib-7059c8829074d3940e3745107d6937d08e9e6c18.zip
Merge pull request #31207 from rnhmjoj/mutt-gpg
mutt: add option to configure S/MIME and GnuPG
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix32
1 files changed, 27 insertions, 5 deletions
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index b3a68a7fcb98..5d0ab27840bb 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -1,12 +1,15 @@
-{ stdenv, fetchurl, ncurses, which, perl
+{ stdenv, fetchurl, fetchpatch, ncurses, which, perl
 , gdbm ? null
 , openssl ? null
 , cyrus_sasl ? null
+, gnupg ? null
 , gpgme ? null
 , kerberos ? null
 , headerCache  ? true
 , sslSupport   ? true
 , saslSupport  ? true
+, smimeSupport ? false
+, gpgSupport   ? false
 , gpgmeSupport ? true
 , imapSupport  ? true
 , withSidebar  ? true
@@ -16,7 +19,9 @@
 assert headerCache  -> gdbm       != null;
 assert sslSupport   -> openssl    != null;
 assert saslSupport  -> cyrus_sasl != null;
-assert gpgmeSupport -> gpgme      != null;
+assert smimeSupport -> openssl    != null;
+assert gpgSupport   -> gnupg      != null;
+assert gpgmeSupport -> gpgme      != null && openssl != null;
 
 with stdenv.lib;
 
@@ -29,9 +34,10 @@ stdenv.mkDerivation rec {
     sha256 = "1c8vv4anl555a03pbnwf8wnf0d8pcnd4p35y3q8f5ikkcflq76vl";
   };
 
-  patchPhase = optionalString (openssl != null) ''
-    sed -i 's#/usr/bin/openssl#${openssl}/bin/openssl#' smime_keys.pl
-  '';
+  patches = optional smimeSupport (fetchpatch {
+    url    = "https://sources.debian.net/src/mutt/1.7.2-1/debian/patches/misc/smime.rc.patch";
+    sha256 = "0mdqa9w1p6cmli6976v4wi0sw9r4p5prkj7lzfd1877wk11c9c73";
+  });
 
   buildInputs =
     [ ncurses which perl ]
@@ -64,6 +70,22 @@ stdenv.mkDerivation rec {
     ++ optional gssSupport  "--with-gss"
     ++ optional saslSupport "--with-sasl";
 
+  postPatch = optionalString (smimeSupport || gpgmeSupport) ''
+    sed -i 's#/usr/bin/openssl#${openssl}/bin/openssl#' smime_keys.pl
+  '';
+
+  postInstall = optionalString smimeSupport ''
+    # S/MIME setup
+    cp contrib/smime.rc $out/etc/smime.rc
+    sed -i 's#openssl#${openssl}/bin/openssl#' $out/etc/smime.rc
+    echo "source $out/etc/smime.rc" >> $out/etc/Muttrc
+  '' + optionalString gpgSupport ''
+    # GnuPG setup
+    cp contrib/gpg.rc $out/etc/gpg.rc
+    sed -i 's#\(command="\)gpg #\1${gnupg}/bin/gpg #' $out/etc/gpg.rc
+    echo "source $out/etc/gpg.rc" >> $out/etc/Muttrc
+  '';
+
   meta = {
     description = "A small but very powerful text-based mail client";
     homepage = http://www.mutt.org;