diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix index dbd5a41afd3..1cb7f298e20 100644 --- a/pkgs/applications/networking/mailreaders/mutt/default.nix +++ b/pkgs/applications/networking/mailreaders/mutt/default.nix @@ -1,63 +1,57 @@ -{ stdenv, fetchurl, ncurses, which, perl -, sslSupport ? true -, imapSupport ? true -, headerCache ? true -, saslSupport ? true -, gpgmeSupport ? true -, gdbm ? null -, openssl ? null -, cyrus_sasl ? null -, gpgme ? null -}: - -assert headerCache -> gdbm != null; -assert sslSupport -> openssl != null; -assert saslSupport -> cyrus_sasl != null; +{ stdenv, fetchhg, autoconf, automake, ncurses, which +, perl, gdbm, openssl, cyrus_sasl, gpgme, libidn }: let - version = "1.5.23"; + version = "1.5.23-rel"; in stdenv.mkDerivation rec { name = "mutt-${version}"; - src = fetchurl { - url = "mirror://sourceforge/mutt/${name}.tar.gz"; - sha256 = "0dzx4qk50pjfsb6cs5jahng96a52k12f7pm0sc78iqdrawg71w1s"; + src = fetchhg { + url = "http://dev.mutt.org/hg/mutt/"; + rev = "mutt-${version}"; + sha256 = "1m0aif066lsc0936ha9s1kfx63wsl1l1wiib7ax6xgzijawd80pp"; }; + enableParallelBuilding = true; + buildInputs = [ - ncurses which perl - (if headerCache then gdbm else null) - (if sslSupport then openssl else null) - (if saslSupport then cyrus_sasl else null) - (if gpgmeSupport then gpgme else null) + autoconf automake ncurses which perl + gdbm openssl cyrus_sasl gpgme libidn ]; - + + # This patch is necessary, because during the configure phase mutt + # searches for some paths to store mail in that do not exist on + # NixOS, like /var/mail, /usr/mail and similiar. This patch adds + # /tmp to the list. + patches = [ + ./mailpath.patch + ]; + + preConfigure = ''./prepare''; + configureFlags = [ - "--with-mailpath=" "--enable-smtp" + "--prefix=$out" - # This allows calls with "-d N", that output debug info into ~/.muttdebug* "--enable-debug" + "--enable-gpgme" + "--enable-hcache" + "--enable-imap" + "--enable-pop" + "--enable-smtp" - "--enable-pop" "--enable-imap" - - # The next allows building mutt without having anything setgid - # set by the installer, and removing the need for the group 'mail' - # I set the value 'mailbox' because it is a default in the configure script - "--with-homespool=mailbox" - (if headerCache then "--enable-hcache" else "--disable-hcache") - (if sslSupport then "--with-ssl" else "--without-ssl") - (if imapSupport then "--enable-imap" else "--disable-imap") - (if saslSupport then "--with-sasl" else "--without-sasl") - (if gpgmeSupport then "--enable-gpgme" else "--disable-gpgme") + "--with-idn" + "--with-regex" + "--with-ssl" + "--with-sasl" ]; - + meta = with stdenv.lib; { description = "A small but very powerful text-based mail client"; homepage = http://www.mutt.org; license = "GPLv2+"; platforms = platforms.unix; - maintainers = with maintainers; [ the-kenny ]; + maintainers = with maintainers; [ the-kenny _1126 ]; }; } diff --git a/pkgs/applications/networking/mailreaders/mutt/mailpath.patch b/pkgs/applications/networking/mailreaders/mutt/mailpath.patch new file mode 100644 index 00000000000..3fb9c7a5f7f --- /dev/null +++ b/pkgs/applications/networking/mailreaders/mutt/mailpath.patch @@ -0,0 +1,12 @@ +diff -r 8f62001989cc configure.ac +--- a/configure.ac Sat Feb 08 10:24:22 2014 -0800 ++++ b/configure.ac Wed Jul 02 12:34:40 2014 +0200 +@@ -473,6 +473,8 @@ + mutt_cv_mailpath=/usr/spool/mail + elif test -d /usr/mail; then + mutt_cv_mailpath=/usr/mail ++ elif test -d /tmp; then ++ mutt_cv_mailpath=/tmp + fi]) + ]) + if test "$mutt_cv_mailpath" = no; then