From 8ce0f9e555fa6e7732573e2f61cddcab0178e354 Mon Sep 17 00:00:00 2001 From: Donnie Berkholz Date: Sun, 26 Jun 2011 20:33:37 -0500 Subject: mutt: add a version with courier-compatible sidebar & sendbar patches. --- mail-client/mutt/ChangeLog | 497 ++++++++++++++++++++- mail-client/mutt/Manifest | 14 +- .../mutt/files/1.5.21-resent-header-weeding.patch | 39 ++ mail-client/mutt/files/1.5.21-sendbox-bounce.patch | 119 +++++ mail-client/mutt/files/1.5.21-sendbox.patch | 125 ++++++ .../mutt/files/1.5.21-write_postponed.patch | 433 ++++++++++++++++++ mail-client/mutt/metadata.xml | 9 - mail-client/mutt/mutt-1.5.18.ebuild | 181 -------- mail-client/mutt/mutt-1.5.21-r3.ebuild | 242 ++++++++++ 9 files changed, 1461 insertions(+), 198 deletions(-) create mode 100644 mail-client/mutt/files/1.5.21-resent-header-weeding.patch create mode 100644 mail-client/mutt/files/1.5.21-sendbox-bounce.patch create mode 100644 mail-client/mutt/files/1.5.21-sendbox.patch create mode 100644 mail-client/mutt/files/1.5.21-write_postponed.patch delete mode 100644 mail-client/mutt/metadata.xml delete mode 100644 mail-client/mutt/mutt-1.5.18.ebuild create mode 100644 mail-client/mutt/mutt-1.5.21-r3.ebuild diff --git a/mail-client/mutt/ChangeLog b/mail-client/mutt/ChangeLog index 255ab92..204ae98 100644 --- a/mail-client/mutt/ChangeLog +++ b/mail-client/mutt/ChangeLog @@ -1,6 +1,499 @@ # ChangeLog for mail-client/mutt -# Copyright 2002-2008 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/mail-client/mutt/ChangeLog,v 1.121 2008/03/09 21:36:14 ricmm Exp $ +# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/mail-client/mutt/ChangeLog,v 1.214 2011/04/26 17:32:13 grobian Exp $ + +*mutt-1.5.21-r2 (26 Apr 2011) + + 26 Apr 2011; Fabian Groffen +mutt-1.5.21-r2.ebuild: + Revision bump with three fixes from upstream, added trash folder feature + patch for GMail users, bug #364379 + + 17 Apr 2011; Raúl Porcel mutt-1.5.21-r1.ebuild: + ia64/sparc stable wrt #357795 + + 27 Mar 2011; Kacper Kowalik mutt-1.5.21-r1.ebuild: + ppc64 stable wrt #357795 + + 27 Mar 2011; Tobias Klausmann mutt-1.5.21-r1.ebuild: + Stable on alpha, bug #357795 + + 26 Mar 2011; Christian Faulhammer + mutt-1.5.21-r1.ebuild: + stable x86, bug 357795 + + 22 Mar 2011; Brent Baude mutt-1.5.21-r1.ebuild: + stable ppc, bug 357795 + + 08 Mar 2011; Markos Chandras mutt-1.5.21-r1.ebuild: + Stable on amd64 wrt bug #357795 + + 08 Mar 2011; Jeroen Roovers mutt-1.5.21-r1.ebuild: + Stable for HPPA (bug #357795). + + 30 Jan 2011; Fabian Groffen mutt-1.5.21-r1.ebuild: + Add urls for our mercurial sources, don't compress files, fixes bug #352764 + + 07 Dec 2010; Fabian Groffen + -files/mutt-1.5.13-prefix-mailcap.patch, + -files/mutt-1.5.16-parallel-make.patch, + -files/mutt-1.5.18-bdb-prefix.patch, -files/mutt-1.5.18-interix.patch, + -files/mutt-1.5.18-solaris-ncurses-chars.patch, -mutt-1.5.20-r6.ebuild, + -mutt-1.5.20-r10.ebuild, -mutt-1.5.20-r13.ebuild, -mutt-1.5.20-r15.ebuild, + -mutt-1.5.20-r17.ebuild, + -files/mutt-1.5.20-crash-on-invalid-limit-pattern.patch, + -files/mutt-1.5.20-dont-reveal-bbc.patch, + -files/mutt-1.5.20-gpgme-1.2.0.patch, + -files/mutt-1.5.20-realpath-slowness.patch: + Drop old versions, 1.5.20-r6 can be removed per bug #347994 + + 07 Dec 2010; Matt Turner mutt-1.5.21-r1.ebuild: + Readded ~mips keyword, bug 290154. + + 10 Oct 2010; Raúl Porcel mutt-1.5.20-r18.ebuild: + ia64/sparc stable wrt #339040 + + 05 Oct 2010; Markus Meier mutt-1.5.20-r18.ebuild: + x86 stable, bug #339040 + + 05 Oct 2010; Jeroen Roovers mutt-1.5.20-r18.ebuild: + Stable for PPC (bug #339040). + + 05 Oct 2010; Jeroen Roovers mutt-1.5.20-r18.ebuild: + Stable for HPPA (bug #339040). + + 03 Oct 2010; Markos Chandras mutt-1.5.20-r18.ebuild: + Stable on amd64 wrt bug #339040 + + 03 Oct 2010; Tobias Klausmann + mutt-1.5.20-r18.ebuild: + Stable on alpha, bug #339040 + +*mutt-1.5.21-r1 (02 Oct 2010) + + 02 Oct 2010; Fabian Groffen -mutt-1.5.21.ebuild, + +mutt-1.5.21-r1.ebuild: + Bump, include aggregated fixes from upstream, add pdmef's progress bar + patch, add fixed sidebar patch from Stuart Henderson/OpenBSD, update url + to quickstart guide to Mutt + + 28 Sep 2010; Samuli Suominen + mutt-1.5.20-r18.ebuild: + ppc64 stable wrt #339040 + +*mutt-1.5.21 (17 Sep 2010) + + 17 Sep 2010; Fabian Groffen +mutt-1.5.21.ebuild: + Version bump. Masked for as long USE=sidebar is missing an updated sidebar + patch. + +*mutt-1.5.20-r18 (10 Aug 2010) + + 10 Aug 2010; Fabian Groffen +mutt-1.5.20-r18.ebuild: + Revbump, include latest bunch of fixes from upstream. + +*mutt-1.5.20-r17 (02 Aug 2010) + + 02 Aug 2010; Fabian Groffen -mutt-1.5.20-r16.ebuild, + +mutt-1.5.20-r17.ebuild: + Revision bump, drop mbox_hook patch as it breaks move messages on exit. + The patch seems to be very outdated and not in use by other distros. + Thanks Norman Yarvin. + + 23 Jul 2010; Fabian Groffen mutt-1.5.20-r16.ebuild: + Bump patchset to fix some misc compilation issues, most notably when + USE=-nntp, bug #329501 + +*mutt-1.5.20-r16 (22 Jul 2010) + + 22 Jul 2010; Fabian Groffen +mutt-1.5.20-r16.ebuild: + Bump, next to a little bugfix from upstream, this revision no longer has + USE=vanilla (because vanilla Mutt is simply useless these days), always + has the nntp patch applied (but enabled/disabled per configure), and has + (most people were longing for this) the sidebar patch applied on top of + all other fixes and features. + + 16 Jul 2010; Fabian Groffen mutt-1.5.20-r15.ebuild, + -files/mutt-1.5.20_ssl.patch: + Undo last commit, as it broke unpacking, since -r10 the patch is already + included. + + 15 Jul 2010; Markos Chandras mutt-1.5.20-r15.ebuild, + +files/mutt-1.5.20_ssl.patch: + Apply upstream patch to fix compilation with openssl-1.0.0. Bug #328487 + + 02 Jul 2010; Fabian Groffen mutt-1.5.20-r15.ebuild: + Cleanup logic for USE=sidebar. Add big fat warnings that USE=sidebar + implies USE=vanilla, and that USE=vanilla excludes the use of zillions of + bugfixes applied upstream since the last Mutt release. + + 12 Jun 2010; Fabian Groffen mutt-1.5.20-r15.ebuild, + +files/mutt-1.5.20-crash-on-invalid-limit-pattern.patch: + Add patch for bug #323613, needs to be taken upstream, works for me to + resolve the crash. Reorganise src_prepare such that we don't patch + anything other than what is strictly necessary with USE=vanilla. + +*mutt-1.5.20-r15 (06 Jun 2010) + + 06 Jun 2010; Fabian Groffen -mutt-1.5.20-r14.ebuild, + +mutt-1.5.20-r15.ebuild: + Bump for new bugfixes/patches from upstream HG, drop masked -r14 + + 12 Apr 2010; Fabian Groffen mutt-1.5.20-r14.ebuild: + Test drive fix for segfault with -r14 + + 12 Apr 2010; Fabian Groffen mutt-1.5.20-r6.ebuild, + mutt-1.5.20-r10.ebuild, mutt-1.5.20-r13.ebuild, mutt-1.5.20-r14.ebuild: + Fix up -r4 patch to fix compilation issue, bug #314785 + +*mutt-1.5.20-r14 (11 Apr 2010) + + 11 Apr 2010; Fabian Groffen + -files/mutt-1.5.19-libgnutls-test-15c662a95b91.patch, + -files/mutt-1.5.19-mutt-gnutls-7d0583e0315d-0b13183e40e0.patch, + -files/mutt-1.5.19-mutt_ssl-3af7e8af1983-dc9ec900c657.patch, + -mutt-1.5.20-r4.ebuild, mutt-1.5.20-r6.ebuild, mutt-1.5.20-r10.ebuild, + -mutt-1.5.20-r12.ebuild, mutt-1.5.20-r13.ebuild, +mutt-1.5.20-r14.ebuild, + -files/mutt-1.5.20-abort-prompt-ctrlc-c837ab790d2e.patch, + -files/mutt-1.5.20-copy-From-to-imap-b2b97c7a2ae6.patch, + -files/mutt-1.5.20-display-unsigned-pgp-7f37d0a57d83.patch, + -files/mutt-1.5.20-fix-mh-parsing-14bb498c6a1c.patch, + -files/mutt-1.5.20-gpgme-case-insensitive-domain-2c78b28027cc.patch, + -files/mutt-1.5.20-gpgme-keys-d41e043fa775.patch, + -files/mutt-1.5.20-hcache-restore-address-848f08512bf3.patch, + -files/mutt-1.5.20-hcache-uidvalidity-size-fix-a2a4286491b4.patch, + -files/mutt-1.5.20-header-weeding-f40de578e8ed.patch, + -files/mutt-1.5.20-imap-port-invalid-d6f88fbf8387.patch, + -files/mutt-1.5.20-imap-start-fatal-fe30f394cbe6.patch, + -files/mutt-1.5.20-leave-mailbox-no-new-mail-118b8fef8aae.patch, + -files/mutt-1.5.20-mailbox-save-message-double-free-57124ea5592e.patch, + -files/mutt-1.5.20-mbox-new-mail-bd59be56c6b0.patch, + -files/mutt-1.5.20-mbox-unchanged-new-mail-9ae13dedb5ed.patch, + -files/mutt-1.5.20-mhs-flags-leak-9f3053f75f27.patch, + -files/mutt-1.5.20-next-invalid-pattern-crash-6a08a5244d60.patch, + -files/mutt-1.5.20-no-hcolor-in-hcache-b7d2cb7c7ce1.patch, + -files/mutt-1.5.20-null-dptr-use-data-817c60d5da7d.patch, + -files/mutt-1.5.20-off-by-one-mailcap-736b6af3c5f1.patch, + -files/mutt-1.5.20-pop-port-in-url-6b057dc52222.patch, + -files/mutt-1.5.20-propagate-mh_read_sequences-2fc9348684fe.patch, + +files/mutt-1.5.20-realpath-slowness.patch, + -files/mutt-1.5.20-regexp-fail-crash-05cec973f0d9.patch, + -files/mutt-1.5.20-rfc-2047-decode-before-dequote-2a4ca6917fd0.patch, + -files/mutt-1.5.20-search-pattern-crash-053ef7bbaa72.patch, + -files/mutt-1.5.20-smtp-batch-mode-0a3de4d9a009-f6c6066a5925.patch, + -files/mutt-1.5.20-ssl-CVE-2009-3765-dc09812e63a3.patch, + -files/mutt-1.5.20-ssl-stack-compile-fix-1cf34ea1f128.patch, + -files/mutt-1.5.20-subject-mistruncation-31881f38ca1e.patch, + -files/mutt-1.5.20-tab-subject-questionmark-298194c414f0-cff8e8ce4327.patc + h, -files/mutt-1.5.20-ungroup-command-77ac8b5c2be6.patch, + -files/mutt-1.5.20-unmailbox-segfault-25e46aad362b.patch, + -files/mutt-1.5.20-yes-no-non-ascii-a6fddecdc5f5.patch: + - Drop unused ebuilds + - Drop keywords from mutt-1.5.20-r6: it is the last version for mips + - Drop HG patches from filesdir, all moved to jumbo patches from the + patchball + - Added mutt-1.5.20-r14 with latest fixes from upstream + +*mutt-1.5.20-r13 (11 Mar 2010) + + 11 Mar 2010; Fabian Groffen +mutt-1.5.20-r13.ebuild, + +files/mutt-1.5.20-abort-prompt-ctrlc-c837ab790d2e.patch, + +files/mutt-1.5.20-gpgme-case-insensitive-domain-2c78b28027cc.patch, + +files/mutt-1.5.20-mailbox-save-message-double-free-57124ea5592e.patch, + +files/mutt-1.5.20-null-dptr-use-data-817c60d5da7d.patch, + +files/mutt-1.5.20-pop-port-in-url-6b057dc52222.patch, + +files/mutt-1.5.20-regexp-fail-crash-05cec973f0d9.patch, + +files/mutt-1.5.20-rfc-2047-decode-before-dequote-2a4ca6917fd0.patch: + Bump du jour, add another bunch of patches from upstream, they really + should make a new release. Convert to EAPI=3, remove WANT_AUTOCONF + unsetting. + +*mutt-1.5.20-r12 (22 Feb 2010) + + 22 Feb 2010; Fabian Groffen -mutt-1.5.20-r11.ebuild, + +mutt-1.5.20-r12.ebuild, + +files/mutt-1.5.20-yes-no-non-ascii-a6fddecdc5f5.patch: + Revbump for upstream patch dealing with yes/no prompt + +*mutt-1.5.20-r11 (11 Feb 2010) + + 11 Feb 2010; Fabian Groffen +mutt-1.5.20-r11.ebuild, + +files/mutt-1.5.20-copy-From-to-imap-b2b97c7a2ae6.patch: + Add patch from upstream to preserve From when copying mail from e.g. mbox + to imap. + + 01 Feb 2010; Markus Meier mutt-1.5.20-r10.ebuild: + amd64 stable, bug #290660 + + 12 Jan 2010; Jeroen Roovers mutt-1.5.20-r10.ebuild: + Stable for HPPA (bug #290660). + + 09 Jan 2010; Raúl Porcel mutt-1.5.20-r10.ebuild: + alpha/ia64/sparc stable wrt #290660 + + 09 Jan 2010; Christian Faulhammer + mutt-1.5.20-r10.ebuild: + stable x86, security bug 290660 + + 08 Jan 2010; Brent Baude mutt-1.5.20-r10.ebuild: + Marking mutt-1.5.20-r10 ppc64 and ppc for bug 290660 + + 31 Dec 2009; Brent Baude mutt-1.5.20-r10.ebuild: + Marking mutt-1.5.20-r10 ~ppc64 for bug 290154 + +*mutt-1.5.20-r10 (29 Dec 2009) + + 29 Dec 2009; Fabian Groffen -mutt-1.5.20-r9.ebuild, + +mutt-1.5.20-r10.ebuild, + +files/mutt-1.5.20-subject-mistruncation-31881f38ca1e.patch: + Bump for patch to fix subject not properly being truncated when there are + tree arrows on the same line + + 17 Dec 2009; Fabian Groffen mutt-1.5.20-r6, + mutt-1.5.20-r9.ebuild: + update nntp patch to latest sources, thanks Michael Meyer + +*mutt-1.5.20-r9 (15 Dec 2009) + + 15 Dec 2009; Fabian Groffen -mutt-1.5.20-r8.ebuild, + +mutt-1.5.20-r9.ebuild, + +files/mutt-1.5.20-no-hcolor-in-hcache-b7d2cb7c7ce1.patch, + +files/mutt-1.5.20-off-by-one-mailcap-736b6af3c5f1.patch: + Bump to fix two bugs fixed upstream: don't store header colors in header + cache and fix off-by-one errors in mailcap parsing + + 08 Dec 2009; Fabian Groffen mutt-1.5.20-r8.ebuild, + +files/mutt-1.5.20-ssl-stack-compile-fix-1cf34ea1f128.patch: + Add patch from upstream for compiling against newer OpenSSL + + 30 Nov 2009; Raúl Porcel mutt-1.5.20-r8.ebuild: + Re-add ~ia64/~sparc wrt #290154 + + 06 Nov 2009; Jeroen Roovers mutt-1.5.20-r8.ebuild: + Marked ~hppa (bug #290154). + + 31 Oct 2009; Mounir Lamouri mutt-1.5.20-r8.ebuild: + Re-Keywording for ppc, bug 290154 + + 27 Oct 2009; Fabian Groffen mutt-1.5.20-r8.ebuild: + Remove mmdf.5 and mbox.5 manpages, bug #177605 + + 27 Oct 2009; Alexis Ballier mutt-1.5.20-r8.ebuild: + keyword ~x86-fbsd, bug #290154 + +*mutt-1.5.20-r8 (27 Oct 2009) + + 27 Oct 2009; Fabian Groffen -mutt-1.5.20-r7.ebuild, + +mutt-1.5.20-r8.ebuild, + +files/mutt-1.5.20-ssl-CVE-2009-3765-dc09812e63a3.patch: + Add patch to fix ssl security issue CVE-2009-3765, bug #290660 + + 27 Oct 2009; Fabian Groffen -mutt-1.5.16.ebuild, + -mutt-1.5.19-r1.ebuild: + Dropped vulnerable versions that won't get a backported fix, bug #290660 + + 26 Oct 2009; Tobias Klausmann mutt-1.5.20-r7.ebuild: + Keyworded on alpha, bug #290154 + +*mutt-1.5.20-r7 (22 Oct 2009) + + 22 Oct 2009; Fabian Groffen mutt-1.5.20-r6.ebuild, + +mutt-1.5.20-r7.ebuild: + Revert addition of tokyocabinet USE-flag to -r6, add it to -r7 and drop + keywords for arches that don't have tokyocabinet keyworded, bug #290154 + + 20 Oct 2009; Fabian Groffen mutt-1.5.20-r6.ebuild: + Add tokyocabinet support with USE=tokyocabinet, thanks Tim Harder in bug + #289010 + +*mutt-1.5.20-r6 (21 Sep 2009) + + 21 Sep 2009; Fabian Groffen -mutt-1.5.20-r5.ebuild, + +mutt-1.5.20-r6.ebuild, +files/mutt-1.5.20-dont-reveal-bbc.patch: + Add patch from Debian to fix upstream ticket 3337: mutt disclosing bcc + header to mta + + 15 Sep 2009; Joseph Jezak mutt-1.5.20-r4.ebuild: + Marked ppc stable for bug #275703. + + 15 Sep 2009; Jeroen Roovers mutt-1.5.20-r4.ebuild: + Stable for HPPA (bug #275703). + + 13 Sep 2009; Raúl Porcel mutt-1.5.20-r4.ebuild: + ia64/sparc stable wrt #275703 + +*mutt-1.5.20-r5 (07 Sep 2009) + + 07 Sep 2009; Fabian Groffen +mutt-1.5.20-r5.ebuild, + +files/mutt-1.5.20-fix-mh-parsing-14bb498c6a1c.patch, + +files/mutt-1.5.20-next-invalid-pattern-crash-6a08a5244d60.patch, + +files/mutt-1.5.20-search-pattern-crash-053ef7bbaa72.patch: + Bump, three more regression patches fixing a block when opening an MH + folder, a segfault on certain search patterns and a segfault after 'next' + when the previous search pattern was invalid + + 07 Sep 2009; Fabian Groffen -mutt-1.5.15-r2.ebuild, + -files/mutt-1.5.15-parallel-make.patch, -mutt-1.5.20-r1.ebuild, + -files/mutt-1.5.20-tab-subject-questionmark-298194c414f0.patch, + -files/slang.patch: + Drop old versions + + 31 Aug 2009; Brent Baude mutt-1.5.20-r4.ebuild: + Marking mutt-1.5.20-r4 ppc64 for bug 275703 + + 27 Aug 2009; Fabian Groffen mutt-1.5.20-r4.ebuild: + Avoid compilation errors when ncurses is not built with unicode (wide + character) support, bug #282834 + + 27 Aug 2009; Thomas Anderson + mutt-1.5.20-r4.ebuild: + stable amd64, bug 275703 + + 26 Aug 2009; Tobias Klausmann mutt-1.5.20-r4.ebuild: + Stable on alpha, bug #275703 + + 25 Aug 2009; Christian Faulhammer + mutt-1.5.20-r4.ebuild: + stable x86, bug 275703 + + 25 Aug 2009; Tobias Klausmann mutt-1.5.19-r1.ebuild: + Stable on alpha, bug #275703 + + 30 Jul 2009; Fabian Groffen mutt-1.5.20-r4.ebuild, + -files/mutt-1.5.20-hcache-uidvalidity-size-fix.patch, + +files/mutt-1.5.20-hcache-uidvalidity-size-fix-a2a4286491b4.patch: + Switch to using the real committed patch, which is codewise identical to + the suggested patch. + +*mutt-1.5.20-r4 (29 Jul 2009) + + 29 Jul 2009; Fabian Groffen -mutt-1.5.20-r3.ebuild, + +mutt-1.5.20-r4.ebuild, + +files/mutt-1.5.20-hcache-uidvalidity-size-fix.patch, + +files/mutt-1.5.20-propagate-mh_read_sequences-2fc9348684fe.patch, + +files/mutt-1.5.20-ungroup-command-77ac8b5c2be6.patch: + Bump to -r4 having the latest patches plus sparc64 hcache fix. Possible + fix for bug #278332, introduction of USE=doc, so we don't have to build + documentation all the time (it's on the web anyway) + +*mutt-1.5.20-r3 (23 Jul 2009) + + 23 Jul 2009; Fabian Groffen -mutt-1.5.20-r2.ebuild, + +mutt-1.5.20-r3.ebuild, +files/mutt-1.5.20-gpgme-keys-d41e043fa775.patch, + +files/mutt-1.5.20-hcache-restore-address-848f08512bf3.patch, + +files/mutt-1.5.20-mhs-flags-leak-9f3053f75f27.patch: + Revision bump for some new fixes from upstream. + + 21 Jul 2009; Fabian Groffen mutt-1.5.20-r2.ebuild, + +files/mutt-1.5.20-gpgme-1.2.0.patch: + Fix bug #278394, allow mutt to run correctly with gpgme-1.2.0 + + 21 Jul 2009; Fabian Groffen mutt-1.5.20-r2.ebuild: + Patch in Gentoo version on mutt -v for (upstream) bug-reports + +*mutt-1.5.20-r2 (20 Jul 2009) + + 20 Jul 2009; Fabian Groffen +mutt-1.5.20-r2.ebuild, + +files/mutt-1.5.20-leave-mailbox-no-new-mail-118b8fef8aae.patch, + +files/mutt-1.5.20-tab-subject-questionmark-298194c414f0-cff8e8ce4327.patch: + Apply follow-up patch for tab-subject-questionsmark patch, add new patch + for new mail in mailboxes just left, rename gpgme USE-flag to gpg, require + + +files/mutt-1.5.20-smtp-batch-mode-0a3de4d9a009-f6c6066a5925.patch, + -mutt-1.5.20.ebuild, +mutt-1.5.20-r1.ebuild: + Bump for patch to fix bug #276101, regarding smtp batching with authentication. + + 29 Jun 2009; Fabian Groffen + +files/mutt-1.5.20-tab-subject-questionmark-298194c414f0.patch, + mutt-1.5.20.ebuild: + Add another patch from upstream. Don't show tabs in the subject as question + marks in the index. + + 29 Jun 2009; Fabian Groffen + +files/mutt-1.5.20-imap-start-fatal-fe30f394cbe6.patch, + mutt-1.5.20.ebuild: + Add another upstream patch. Solve a partial hang on IMAP connection errors. + +*mutt-1.5.20 (28 Jun 2009) + + 28 Jun 2009; Fabian Groffen + +files/mutt-1.5.13-prefix-mailcap.patch, + +files/mutt-1.5.18-bdb-prefix.patch, +files/mutt-1.5.18-interix.patch, + +files/mutt-1.5.18-solaris-ncurses-chars.patch, +mutt-1.5.20.ebuild, + +files/mutt-1.5.20-display-unsigned-pgp-7f37d0a57d83.patch, + +files/mutt-1.5.20-header-weeding-f40de578e8ed.patch, + +files/mutt-1.5.20-imap-port-invalid-d6f88fbf8387.patch, + +files/mutt-1.5.20-mbox-new-mail-bd59be56c6b0.patch, + +files/mutt-1.5.20-mbox-unchanged-new-mail-9ae13dedb5ed.patch, + +files/mutt-1.5.20-unmailbox-segfault-25e46aad362b.patch: + Version bump to 1.5.20, with a bunch of post release regression fixes from + upstream. The pgp_timeout patch has been dropped for this release, since + it no longer applies. + + 20 Jun 2009; Fabian Groffen -mutt-1.5.13-r2.ebuild, + -mutt-1.5.14.ebuild: + Drop old + + 19 Jun 2009; Fabian Groffen mutt-1.5.19-r1.ebuild: + Avoid QA warning about --enable-{compressed,nntp} when USE=sidebar + + 19 Jun 2009; Fabian Groffen + files/mutt-1.5.19-mutt-gnutls-7d0583e0315d-0b13183e40e0.patch: + Remove mutt_read_line hunk from ssl_gnutls patch, thanks to Martin Jansa in + bug #274603 + + 18 Jun 2009; Fabian Groffen + files/mutt-1.5.19-mutt_ssl-3af7e8af1983-dc9ec900c657.patch: + Update patch to include parts that were non-local to the ssl-files. + Unfortunately the fix is non-straight-forward, and includes a lot of other + changesets, causing this to happen. Should fix bug #274603. + +*mutt-1.5.19-r1 (18 Jun 2009) + + 18 Jun 2009; Fabian Groffen + +files/mutt-1.5.19-mutt-gnutls-7d0583e0315d-0b13183e40e0.patch, + +files/mutt-1.5.19-mutt_ssl-3af7e8af1983-dc9ec900c657.patch, + -mutt-1.5.19.ebuild, +mutt-1.5.19-r1.ebuild: + Revision bump for CVE-2009-1390, add related patches + + 09 Jun 2009; Fabian Groffen + +files/mutt-1.5.19-libgnutls-test-15c662a95b91.patch, mutt-1.5.19.ebuild: + Add patch from upstream to fix libgnutls detection for the latest version of + the latter library. Bug #268456 + + 28 May 2009; Fabian Groffen -mutt-1.5.11-r2.ebuild, + -mutt-1.5.12.ebuild, -mutt-1.5.13.ebuild, -mutt-1.5.13-r1.ebuild, + mutt-1.5.19.ebuild: + Remove old. Update sidebar patch to fix 'wrong new mail notifications' + (http://dev.mutt.org/trac/ticket/3204#comment:2) + + 21 Mar 2009; Jorge Manuel B. S. Vicetto + metadata.xml: + Removing ferdy as a maintainer since he was retired. + + 11 Mar 2009; Fabian Groffen mutt-1.5.16.ebuild, + mutt-1.5.19.ebuild: + Fix QA warning about --disable-nntp, bug #262069 + + 09 Mar 2009; Fabian Groffen metadata.xml, + mutt-1.5.19.ebuild: + Upstream has updated the sidebar patch + + 12 Jan 2009; Fabian Groffen mutt-1.5.19.ebuild: + Drop wc-func bit for darwin, it doesn't change a thing on Darwin8 and simply + breaks Darwin9 + +*mutt-1.5.19 (11 Jan 2009) + + 11 Jan 2009; Fabian Groffen +mutt-1.5.19.ebuild: + Version bump. Added new patches in Gentoo patchset. Masked because sidebar + patch does not apply. + + 23 Aug 2008; Doug Goldstein metadata.xml: + add GLEP 56 USE flag desc from use.local.desc 09 Mar 2008; mutt-1.5.11-r2.ebuild, mutt-1.5.13-r1.ebuild, mutt-1.5.16.ebuild: diff --git a/mail-client/mutt/Manifest b/mail-client/mutt/Manifest index 4a50968..caeacbe 100644 --- a/mail-client/mutt/Manifest +++ b/mail-client/mutt/Manifest @@ -1,10 +1,12 @@ +AUX 1.5.21-resent-header-weeding.patch 1583 RMD160 2948ee174b3904590dd7339179700e7b1c0b0aeb SHA1 f48b04c1c0c4d6ebb1c55da247bb2277843a011e SHA256 8ecdfb01d755945cd2f37a4782d6a3d8fe3cbb00ac71594fdb3153ede4d34d24 +AUX 1.5.21-sendbox-bounce.patch 3305 RMD160 446d058cf632e7a9fe1ec348b186ef7953191355 SHA1 27b0bccfc5187db744f4da99bc39c4ce985ebe6d SHA256 ce67fe56695af26824d8a69c9b45327366b31e4e267285e72f6c85d0dba89c41 +AUX 1.5.21-sendbox.patch 4179 RMD160 80fddc24340c1cbfc7cce012faa842916ac736be SHA1 dde0b83ea1151c1e8b3a53b2bcc98087cfe19497 SHA256 346827552a37c636c194253108b692df5cf672e756a219308a9419341877deea +AUX 1.5.21-write_postponed.patch 13650 RMD160 eaa96e52253d880aeabfc382f15150e0a7f2f804 SHA1 a784652e5f168b2ad2fc482851fa3fb34efada38 SHA256 9c023419dd9f9512cdda17b5d5c4deda432f3717fc8cfea8770fc39549dfde6d AUX Muttrc 667 RMD160 0405e73c6a4122869ce9a9bd408068d316740b71 SHA1 e30c96e6f21a30fe576abcb3be65a34accf4e11f SHA256 932940db69c951caaa87a17ee98a8e2262aeadf1e978f6d671b642184c5d545f AUX Muttrc.mbox 486 RMD160 0f692c9d3a7591f3a0611529616aa94a5c62a641 SHA1 9e231303fe9fb2fe80542115ceefb972c7b11d5a SHA256 10b251f88ccc5d4c95c96ab17b6ab6a30a16d6590ab896a60037f869fc4d44a0 AUX mutt-1.5.17-parallel-make.patch 936 RMD160 f6a216d9ff06ae55d9569e05632b60332cf49ebe SHA1 0a9b98b37987ffa10039424bb6f5849a08dbb168 SHA256 3ecc199b83f6fa747d342694d8ffacf0aedd4590e0d9943c9b6004c31cbdb931 AUX slang.patch 493 RMD160 16dcedee86fe91ecac48ec5be8a6f67798ef7ac0 SHA1 f913e8c717f76186b0edc8856bf02a167d540c70 SHA256 040c8b63b2d805dae800fa9b1826d158b7104641339cee9a404985616b3502c7 -DIST mutt-1.5.18-gentoo-patches-r1.tar.bz2 59271 RMD160 c9afc88aa201262d65dcfd22c06a472b90f6a800 SHA1 79a06ea53466d0368f532eef1fcaeff3a640b232 SHA256 1f46ff04b2ce900087e30ab4d29a7b5e8b0156a1313da15330eafb3d1a5507e4 -DIST mutt-1.5.18.tar.gz 3602632 RMD160 1c8595f66eb9aa94c01a6020be20a75c0c8d2d14 SHA1 a835a1933297494f2c6c68b9a334cc1d71a95e5a SHA256 8bb6d69ea2c72030b66ec9bb4bd4007ba6d8dc5f60fdfde7b712e2784e08bfb3 -DIST patch-1.5.18.sidebar.20080611.txt 52201 RMD160 c1c27ea98786abd3fd44b85449dc84aab40ca58e SHA1 c5df4de9d2940a8420cfd66e9c191a0e5b1fdfdc SHA256 a94bc11072dbfe9a4a7d5a761105bf40a496bb2706e9940978de7b64d1555fa7 -EBUILD mutt-1.5.18.ebuild 4864 RMD160 93445f9eee19789103939498185b2c3706745ab4 SHA1 b5be605a803ce562b435c8a52acf31758cb5bb89 SHA256 d4be469a45dcafbc6cb36044a6522d2910b589e0b801776e7d475fc1e8aa3da2 -MISC ChangeLog 27479 RMD160 24bb07c2595a086165a1d109817f8c93c329b5c1 SHA1 f2c0da2d912b03844401ed85b2aa4f68827833f8 SHA256 0e3ca04e6170888f551983c374ad6ce74d2dd082dfa197ae7d798e764a7667ca -MISC metadata.xml 259 RMD160 ce66370016fba0ddf047802d9dc8463041b4a585 SHA1 9f7a04d0cab1654d39498db3f124fc755202adb7 SHA256 d0e8725b6ece5de6014dd4b18064854b993b1e3ab04d838370d7744756656ae5 +DIST mutt-1.5.21-gentoo-patches-r3.tar.bz2 73247 RMD160 5e658dce6e2e93193808f88490f83672f629e6d3 SHA1 e2a27668c6327597f90d9abe4ea2869fb216b397 SHA256 d61dccc0eb5179036d1108a70601ff43367dbe70d162c3042c376acd2a87daf0 +DIST mutt-1.5.21.tar.gz 3716886 RMD160 b235a42972ae410592253cdc117a90baf279f47a SHA1 a8475f2618ce5d5d33bff85c0affdf21ab1d76b9 SHA256 2141f36e8d0f4f71c9ca6780001e7cc679fe313e643953fc07f001223e67c4a0 +EBUILD mutt-1.5.21-r3.ebuild 7896 RMD160 a064a94b727c0fa3dbbae34492712d181fe4d140 SHA1 fc35d77ca790b67e082f27641e7221ac8d606e9b SHA256 0e8eefea56abfc5a8a2dad42d43943b94165410fb9acb7652653680536d419d5 +MISC ChangeLog 48499 RMD160 6e416e0da020639c4254c26a23c0e653241c5d7f SHA1 ed9c0af2c86b929ae363695790ae21234d854559 SHA256 8e3dd35c0f68d7474ddd71dd1e7f8cada79df3f59df1363a8b48a5bf6d156139 diff --git a/mail-client/mutt/files/1.5.21-resent-header-weeding.patch b/mail-client/mutt/files/1.5.21-resent-header-weeding.patch new file mode 100644 index 0000000..350b9c4 --- /dev/null +++ b/mail-client/mutt/files/1.5.21-resent-header-weeding.patch @@ -0,0 +1,39 @@ +Add resent header weeding, used by sendbox + +Signed-off-by: Aron Griffis + +diff -r bffd60d2ac16 -r 4119b2394228 copy.c +--- a/copy.c Tue Apr 28 11:17:28 2009 -0400 ++++ b/copy.c Tue Apr 28 11:17:31 2009 -0400 +@@ -65,7 +65,8 @@ + buf[0] = '\n'; + buf[1] = 0; + +- if ((flags & (CH_REORDER | CH_WEED | CH_MIME | CH_DECODE | CH_PREFIX | CH_WEED_DELIVERED)) == 0) ++ if ((flags & (CH_REORDER | CH_WEED | CH_MIME | CH_DECODE | CH_PREFIX | ++ CH_WEED_DELIVERED | CH_WEED_RESENT)) == 0) + { + /* Without these flags to complicate things + * we can do a more efficient line to line copying +@@ -194,6 +195,10 @@ + if ((flags & CH_WEED_DELIVERED) && + ascii_strncasecmp ("Delivered-To:", buf, 13) == 0) + continue; ++ if ((flags & CH_WEED_RESENT) && ++ (ascii_strncasecmp ("Resent-To:", buf, 10) == 0 || ++ ascii_strncasecmp ("Resent-From:", buf, 12) == 0)) ++ continue; + if ((flags & (CH_UPDATE | CH_XMIT | CH_NOSTATUS)) && + (ascii_strncasecmp ("Status:", buf, 7) == 0 || + ascii_strncasecmp ("X-Status:", buf, 9) == 0)) +diff -r bffd60d2ac16 -r 4119b2394228 copy.h +--- a/copy.h Tue Apr 28 11:17:28 2009 -0400 ++++ b/copy.h Tue Apr 28 11:17:31 2009 -0400 +@@ -53,6 +53,7 @@ + #define CH_UPDATE_IRT (1<<16) /* update In-Reply-To: */ + #define CH_UPDATE_REFS (1<<17) /* update References: */ + #define CH_DISPLAY (1<<18) /* display result to user */ ++#define CH_WEED_RESENT (1<<19) /* weed Resent-To: header */ + + + int mutt_copy_hdr (FILE *, FILE *, LOFF_T, LOFF_T, int, const char *); diff --git a/mail-client/mutt/files/1.5.21-sendbox-bounce.patch b/mail-client/mutt/files/1.5.21-sendbox-bounce.patch new file mode 100644 index 0000000..bd73b7d --- /dev/null +++ b/mail-client/mutt/files/1.5.21-sendbox-bounce.patch @@ -0,0 +1,119 @@ +Add support for sendbox (bounce path) + +This patch adds support for "sendbox" to the bounce path. +Additionally a bug is fixed: previously there would be no warning or error +emitted if mutt failed to create the temporary file when bouncing a message. + +Signed-off-by: Aron Griffis + +diff -r a1d30c527520 -r 0069fde2f491 sendlib.c +--- a/sendlib.c Tue Apr 28 11:17:31 2009 -0400 ++++ b/sendlib.c Tue Apr 28 11:17:31 2009 -0400 +@@ -2669,6 +2669,13 @@ + FILE *f; + char date[SHORT_STRING], tempfile[_POSIX_PATH_MAX]; + MESSAGE *msg = NULL; ++ int ch_flags; ++ char *msgid_str; ++#ifdef USE_SENDBOX ++ struct mutt_message_handle *mh = NULL; ++ CONTEXT sctx; ++ MESSAGE *smsg = NULL; ++#endif + + if (!h) + { +@@ -2685,28 +2692,65 @@ + + if (!fp) fp = msg->fp; + +- mutt_mktemp (tempfile, sizeof (tempfile)); +- if ((f = safe_fopen (tempfile, "w")) != NULL) ++ ch_flags = CH_XMIT | CH_NONEWLINE | CH_NOQFROM; ++ if (!option (OPTBOUNCEDELIVERED)) ++ ch_flags |= CH_WEED_DELIVERED; ++ ++ /* create a message which is the original message with Resent ++ * header fields prepended. For sendmail and smtp, the message is ++ * a tempfile. For sendbox, it's a newly created message in the ++ * Sendbox folder. ++ */ ++#ifdef USE_SENDBOX ++ if (Sendbox) + { +- int ch_flags = CH_XMIT | CH_NONEWLINE | CH_NOQFROM; +- char* msgid_str; +- +- if (!option (OPTBOUNCEDELIVERED)) +- ch_flags |= CH_WEED_DELIVERED; +- +- fseeko (fp, h->offset, 0); +- fprintf (f, "Resent-From: %s", resent_from); +- fprintf (f, "\nResent-%s", mutt_make_date (date, sizeof(date))); +- msgid_str = mutt_gen_msgid(); +- fprintf (f, "Resent-Message-ID: %s\n", msgid_str); +- fputs ("Resent-To: ", f); +- mutt_write_address_list (to, f, 11, 0); +- mutt_copy_header (fp, h, f, ch_flags, NULL); +- fputc ('\n', f); +- mutt_copy_bytes (fp, f, h->content->length); ++ mh = mutt_start_message (Sendbox, h, &sctx, &smsg, 1); ++ if (!mh) ++ { ++ ret = -1; ++ goto close_msg; ++ } ++ f = smsg->fp; ++ ++ /* Resent-To: headers will be unioned by the MTA to ++ * determine the recipient, so weed any old ones ++ */ ++ ch_flags |= CH_WEED_RESENT; ++ } ++ else ++#endif ++ { ++ mutt_mktemp (tempfile, sizeof(tempfile)); ++ if ((f = safe_fopen (tempfile, "w")) == NULL) ++ { ++ mutt_perror (tempfile); ++ ret = -1; ++ goto close_msg; ++ } ++ } ++ ++ /* prepend the Resent header fields */ ++ fprintf (f, "Resent-From: %s", resent_from); ++ fprintf (f, "\nResent-%s", mutt_make_date (date, sizeof(date))); ++ msgid_str = mutt_gen_msgid(); ++ fprintf (f, "Resent-Message-ID: %s\n", msgid_str); ++ FREE (&msgid_str); ++ fputs ("Resent-To: ", f); ++ mutt_write_address_list (to, f, 11, 0); ++ ++ /* copy original message */ ++ fseeko (fp, h->offset, 0); ++ mutt_copy_header (fp, h, f, ch_flags, NULL); ++ fputc ('\n', f); ++ mutt_copy_bytes (fp, f, h->content->length); ++ ++#ifdef USE_SENDBOX ++ if (Sendbox) ++ ret = mutt_finish_message (mh, Sendbox, h, &sctx, &smsg, 1); ++ else ++#endif ++ { + safe_fclose (&f); +- FREE (&msgid_str); +- + #if USE_SMTP + if (SmtpUrl) + ret = mutt_smtp_send (env_from, to, NULL, NULL, tempfile, +@@ -2717,6 +2724,7 @@ + h->content->encoding == ENC8BIT); + } + ++close_msg: + if (msg) + mx_close_message (&msg); + diff --git a/mail-client/mutt/files/1.5.21-sendbox.patch b/mail-client/mutt/files/1.5.21-sendbox.patch new file mode 100644 index 0000000..2686d4d --- /dev/null +++ b/mail-client/mutt/files/1.5.21-sendbox.patch @@ -0,0 +1,125 @@ +Add support for sendbox (primary send path) + +This patch adds support for Courier IMAP's Outbox feature. It adds the setting +"sendbox" which specifies a mailbox to which sent messages should be saved, +overriding the sendmail and smtp_url settings. This patch only affects the +primary send path, bounce is handled in a follow-on patch. + +Signed-off-by: Aron Griffis + +diff -r 4119b2394228 -r a1d30c527520 configure.ac +--- a/configure.ac Tue Apr 28 11:17:31 2009 -0400 ++++ b/configure.ac Tue Apr 28 11:17:31 2009 -0400 +@@ -652,6 +652,11 @@ + + dnl -- end imap dependencies -- + ++AC_ARG_ENABLE(sendbox, AC_HELP_STRING([--enable-sendbox], [Enable support for Courier-style Outbox]), ++ [if test $enableval = yes; then ++ AC_DEFINE(USE_SENDBOX, 1, [Define if you want support for Courier-style Outbox]) ++ fi]) ++ + AC_ARG_WITH(ssl, AC_HELP_STRING([--with-ssl@<:@=PFX@:>@], [Enable TLS support using OpenSSL]), + [ if test "$with_ssl" != "no" + then +diff -r 4119b2394228 -r a1d30c527520 globals.h +--- a/globals.h Tue Apr 28 11:17:31 2009 -0400 ++++ b/globals.h Tue Apr 28 11:17:31 2009 -0400 +@@ -114,6 +114,9 @@ + WHERE char *QueryFormat; + WHERE char *Realname; + WHERE short SearchContext; ++#ifdef USE_SENDBOX ++WHERE char *Sendbox; ++#endif + WHERE char *SendCharset; + WHERE char *Sendmail; + WHERE char *Shell; +diff -r 4119b2394228 -r a1d30c527520 init.h +--- a/init.h Tue Apr 28 11:17:31 2009 -0400 ++++ b/init.h Tue Apr 28 11:17:31 2009 -0400 +@@ -2464,6 +2464,18 @@ + ** In case the text cannot be converted into one of these exactly, + ** mutt uses $$charset as a fallback. + */ ++#ifdef USE_SENDBOX ++ { "sendbox", DT_PATH, R_NONE, UL &Sendbox, 0 }, ++ /* ++ ** .pp ++ ** Specifies a special mailbox that will ++ ** \fBsend\fP mail when written. When \fIset\fP, this variable overrides ++ ** \fIsmtp_url\fP and \fIsendmail\fP. ++ ** To make use of this, you probably want a Courier IMAP server configured for ++ ** sending, see ++ ** http://www.inter7.com/courierimap/INSTALL.html#imapsend ++ */ ++#endif + { "sendmail", DT_PATH, R_NONE, UL &Sendmail, UL SENDMAIL " -oem -oi" }, + /* + ** .pp +diff -r 4119b2394228 -r a1d30c527520 protos.h +--- a/protos.h Tue Apr 28 11:17:31 2009 -0400 ++++ b/protos.h Tue Apr 28 11:17:31 2009 -0400 +@@ -349,6 +349,9 @@ + int _mutt_save_message (HEADER *, CONTEXT *, int, int, int); + int mutt_save_message (HEADER *, int, int, int, int *); + int mutt_search_command (int, int); ++#ifdef USE_SENDBOX ++int mutt_sendbox_send (HEADER *); ++#endif + #ifdef USE_SMTP + int mutt_smtp_send (const ADDRESS *, const ADDRESS *, const ADDRESS *, + const ADDRESS *, const char *, int); +diff -r 4119b2394228 -r a1d30c527520 send.c +--- a/send.c Tue Apr 28 11:17:31 2009 -0400 ++++ b/send.c Tue Apr 28 11:17:31 2009 -0400 +@@ -984,6 +984,15 @@ + short old_write_bcc; + #endif + ++#ifdef USE_SENDBOX ++ /* Some imap servers can send mail by saving to a special folder. ++ * In this case, there's no need for the intermediate tempfile because ++ * we'll write directly to the folder. ++ */ ++ if (Sendbox) ++ return mutt_sendbox_send (msg); ++#endif ++ + /* Write out the message in MIME form. */ + mutt_mktemp (tempfile, sizeof (tempfile)); + if ((tempfp = safe_fopen (tempfile, "w")) == NULL) +diff -r 4119b2394228 -r a1d30c527520 sendlib.c +--- a/sendlib.c Tue Apr 28 11:17:31 2009 -0400 ++++ b/sendlib.c Tue Apr 28 11:17:31 2009 -0400 +@@ -2929,3 +2929,30 @@ + set_noconv_flags (hdr->content, 0); + return ret; + } ++ ++#ifdef USE_SENDBOX ++int mutt_sendbox_send (HEADER *hdr) ++{ ++ struct mutt_message_handle *mh; ++ CONTEXT ctx; ++ MESSAGE *msg; ++ short old_write_bcc; ++ ++ hdr->read = 0; /* make sure to put it in the `new' directory (maildir) */ ++ ++ mh = mutt_start_message (Sendbox, hdr, &ctx, &msg, 0); ++ if (!mh) ++ return -1; ++ ++ /* need to write the bcc in the headers */ ++ old_write_bcc = option (OPTWRITEBCC); ++ set_option (OPTWRITEBCC); ++ ++ mutt_write_rfc822_header (msg->fp, hdr->env, hdr->content, 0, 0, 1); ++ ++ if (!old_write_bcc) ++ unset_option (OPTWRITEBCC); ++ ++ return mutt_finish_message (mh, Sendbox, hdr, &ctx, &msg, 1); ++} ++#endif diff --git a/mail-client/mutt/files/1.5.21-write_postponed.patch b/mail-client/mutt/files/1.5.21-write_postponed.patch new file mode 100644 index 0000000..44dc99e --- /dev/null +++ b/mail-client/mutt/files/1.5.21-write_postponed.patch @@ -0,0 +1,433 @@ +diff -urN mutt-1.5.21.orig//compose.c mutt-1.5.21//compose.c +--- mutt-1.5.21.orig//compose.c 2011-06-26 20:17:58.671443063 -0500 ++++ mutt-1.5.21//compose.c 2011-06-26 20:16:57.061738838 -0500 +@@ -1370,7 +1370,7 @@ + if (msg->content->next) + msg->content = mutt_make_multipart (msg->content); + +- if (mutt_write_fcc (fname, msg, NULL, 0, NULL) < 0) ++ if (mutt_write_fcc (fname, msg) < 0) + msg->content = mutt_remove_multipart (msg->content); + else + mutt_message _("Message written."); +diff -urN mutt-1.5.21.orig//protos.h mutt-1.5.21//protos.h +--- mutt-1.5.21.orig//protos.h 2011-06-26 20:17:59.051441238 -0500 ++++ mutt-1.5.21//protos.h 2011-06-26 20:16:57.071738790 -0500 +@@ -367,7 +367,8 @@ + void mutt_update_num_postponed (void); + int mutt_wait_filter (pid_t); + int mutt_which_case (const char *); +-int mutt_write_fcc (const char *path, HEADER *hdr, const char *msgid, int, char *); ++int mutt_write_fcc (const char *path, HEADER *hdr); ++int mutt_write_postponed (const char *path, HEADER *hdr, const char *msgid, char *fcc); + int mutt_write_mime_body (BODY *, FILE *); + int mutt_write_mime_header (BODY *, FILE *); + int mutt_write_one_header (FILE *fp, const char *tag, const char *value, const char *pfx, int wraplen, int flags); +diff -urN mutt-1.5.21.orig//send.c mutt-1.5.21//send.c +--- mutt-1.5.21.orig//send.c 2011-06-26 20:17:59.051441238 -0500 ++++ mutt-1.5.21//send.c 2011-06-26 20:16:57.071738790 -0500 +@@ -1684,7 +1684,7 @@ + mutt_prepare_envelope (msg->env, 0); + mutt_env_to_idna (msg->env, NULL, NULL); /* Handle bad IDNAs the next time. */ + +- if (!Postponed || mutt_write_fcc (NONULL (Postponed), msg, (cur && (flags & SENDREPLY)) ? cur->env->message_id : NULL, 1, fcc) < 0) ++ if (!Postponed || mutt_write_postponed (NONULL (Postponed), msg, (cur && (flags & SENDREPLY)) ? cur->env->message_id : NULL, fcc) < 0) + { + msg->content = mutt_remove_multipart (msg->content); + decode_descriptions (msg->content); +@@ -1882,7 +1882,7 @@ + * message was first postponed. + */ + msg->received = time (NULL); +- if (mutt_write_fcc (fcc, msg, NULL, 0, NULL) == -1) ++ if (mutt_write_fcc (fcc, msg) == -1) + { + /* + * Error writing FCC, we should abort sending. +diff -urN mutt-1.5.21.orig//sendlib.c mutt-1.5.21//sendlib.c +--- mutt-1.5.21.orig//sendlib.c 2011-06-26 20:17:59.051441238 -0500 ++++ mutt-1.5.21//sendlib.c 2011-06-26 20:17:17.151642453 -0500 +@@ -2575,6 +2575,165 @@ + rfc2047_decode (&env->x_label); + } + ++static int count_length_lines (FILE *fp, LOFF_T *content_lengthp, int *linesp) ++{ ++ char sasha[LONG_STRING]; ++ int lines = 0; ++ ++ /* count the number of lines */ ++ while (fgets (sasha, sizeof (sasha), fp) != NULL) ++ lines++; ++ if (ferror (fp)) ++ return -1; ++ ++ *linesp = lines; ++ *content_lengthp = (LOFF_T) ftello (fp); ++ ++ return 0; ++} ++ ++/* state maintained between mutt_start_message and ++ * mutt_finish_message, opaque to callers. ++ */ ++struct mutt_message_handle ++{ ++ FILE *tempfp; ++ char tempfile[_POSIX_PATH_MAX]; ++ LOFF_T content_length; ++ int lines; ++ struct stat st; ++ int passthru; ++}; ++ ++static struct mutt_message_handle * ++mutt_start_message (const char *path, HEADER *hdr, ++ CONTEXT *ctxp, MESSAGE **msgp, int passthru) ++{ ++ struct mutt_message_handle *mh; ++ ++ if (mx_open_mailbox (path, M_APPEND | M_QUIET, ctxp) == NULL) ++ { ++ dprint (1, (debugfile, "mutt_start_message: unable to open mailbox %s" ++ "in append-mode, aborting.\n", path)); ++ return NULL; ++ } ++ ++ mh = safe_calloc (1, sizeof (*mh)); ++ mh->passthru = passthru; ++ ++ if (ctxp->magic == M_MMDF || ctxp->magic == M_MBOX) ++ { ++ /* remember new mail status before appending message */ ++ stat (path, &mh->st); ++ ++ if (!passthru) { ++ /* need to add a Content-Length field to avoid problems ++ * where a line in the message body begins with "From " ++ */ ++ mutt_mktemp (mh->tempfile, sizeof (mh->tempfile)); ++ mh->tempfp = safe_fopen (mh->tempfile, "w+"); ++ if (!mh->tempfp) ++ { ++ mutt_perror (mh->tempfile); ++ dprint (1, (debugfile, "mutt_start_message: failed " ++ "to open tempfile, aborting.\n")); ++ goto error_out; ++ } ++ ++ mutt_write_mime_body (hdr->content, mh->tempfp); ++ ++ /* make sure the last line ends with a newline. Emacs doesn't ensure ++ * this will happen, and it can cause problems parsing the mailbox ++ * later. ++ */ ++ fseek (mh->tempfp, -1, 2); ++ if (fgetc (mh->tempfp) != '\n') ++ { ++ fseek (mh->tempfp, 0, 2); ++ fputc ('\n', mh->tempfp); ++ } ++ if (fflush (mh->tempfp) || ferror (mh->tempfp)) ++ { ++ dprint (1, (debugfile, "mutt_start_message: failed " ++ "to write tempfile, aborting.\n")); ++ goto error_out; ++ } ++ ++ rewind (mh->tempfp); ++ ++ if (count_length_lines (mh->tempfp, &mh->content_length, &mh->lines)) ++ { ++ mutt_perror (mh->tempfile); ++ dprint (1, (debugfile, "mutt_start_message: failed " ++ "to count message length, aborting.\n")); ++ goto error_out; ++ } ++ } ++ } ++ ++ if ((*msgp = mx_open_new_message (ctxp, hdr, M_ADD_FROM)) == NULL) ++ { ++ dprint (1, (debugfile, "mutt_start_message: mx_open_new_message " ++ "failed in %s, aborting.\n", path)); ++ goto error_out; ++ } ++ return mh; ++ ++error_out: ++ /* error message already provided, just clean up */ ++ if (mh->tempfp) ++ { ++ safe_fclose (&mh->tempfp); ++ unlink (mh->tempfile); ++ } ++ FREE (&mh); ++ mx_close_mailbox (ctxp, NULL); ++ return NULL; ++} ++ ++static int mutt_finish_message (struct mutt_message_handle *mh, ++ const char *path, HEADER *hdr, ++ CONTEXT *ctxp, MESSAGE **msgp, int skip_buffy) ++{ ++ int ret = 0; ++ ++ if (mh->tempfp) ++ { ++ fprintf ((*msgp)->fp, "Content-Length: " OFF_T_FMT "\n", mh->content_length); ++ fprintf ((*msgp)->fp, "Lines: %d\n\n", mh->lines); /* NOTE double newline */ ++ ++ /* copy the body */ ++ rewind (mh->tempfp); ++ ret = mutt_copy_stream (mh->tempfp, (*msgp)->fp); ++ if (safe_fclose (&mh->tempfp)) ++ ret = -1; ++ ++ /* if there was an error, leave the temp version */ ++ if (!ret) ++ unlink (mh->tempfile); ++ } ++ else ++ { ++ if (!mh->passthru) ++ { ++ fputc ('\n', (*msgp)->fp); /* finish off the header */ ++ ret = mutt_write_mime_body (hdr->content, (*msgp)->fp); ++ } ++ skip_buffy = 1; /* only needed for file-based mailboxes */ ++ } ++ ++ ret |= mx_commit_message (*msgp, ctxp); ++ mx_close_message (msgp); ++ mx_close_mailbox (ctxp, NULL); ++ ++ if (!skip_buffy) ++ mutt_buffy_cleanup (path, &mh->st); ++ ++ FREE (&mh); ++ ++ return ret; ++} ++ + static int _mutt_bounce_message (FILE *fp, HEADER *h, ADDRESS *to, const char *resent_from, + ADDRESS *env_from) + { +@@ -2740,81 +2899,60 @@ + } + } + +-int mutt_write_fcc (const char *path, HEADER *hdr, const char *msgid, int post, char *fcc) ++int mutt_write_fcc (const char *path, HEADER *hdr) + { ++ struct mutt_message_handle *mh; + CONTEXT f; + MESSAGE *msg; +- char tempfile[_POSIX_PATH_MAX]; +- FILE *tempfp = NULL; +- int r, need_buffy_cleanup = 0; +- struct stat st; +- char buf[SHORT_STRING]; + +- if (post) +- set_noconv_flags (hdr->content, 1); ++ hdr->read = 1; /* make sure to put it in the `cur' directory (maildir) */ + +- if (mx_open_mailbox (path, M_APPEND | M_QUIET, &f) == NULL) +- { +- dprint (1, (debugfile, "mutt_write_fcc(): unable to open mailbox %s in append-mode, aborting.\n", +- path)); +- return (-1); +- } ++ mh = mutt_start_message (path, hdr, &f, &msg, 0); ++ if (!mh) ++ return -1; + +- /* We need to add a Content-Length field to avoid problems where a line in +- * the message body begins with "From " +- */ +- if (f.magic == M_MMDF || f.magic == M_MBOX) +- { +- mutt_mktemp (tempfile, sizeof (tempfile)); +- if ((tempfp = safe_fopen (tempfile, "w+")) == NULL) +- { +- mutt_perror (tempfile); +- mx_close_mailbox (&f, NULL); +- return (-1); +- } +- /* remember new mail status before appending message */ +- need_buffy_cleanup = 1; +- stat (path, &st); +- } ++ mutt_write_rfc822_header (msg->fp, hdr->env, hdr->content, 0, 0, 1); ++ fprintf (msg->fp, "Status: RO\n"); ++ ++ return mutt_finish_message (mh, path, hdr, &f, &msg, 0); ++} ++ ++int mutt_write_postponed (const char *path, HEADER *hdr, const char *msgid, char *fcc) ++{ ++ struct mutt_message_handle *mh; ++ CONTEXT f; ++ MESSAGE *msg; ++ int ret; ++ ++ hdr->read = 0; /* make sure to put it in the `new' directory (maildir) */ ++ set_noconv_flags (hdr->content, 1); + +- hdr->read = !post; /* make sure to put it in the `cur' directory (maildir) */ +- if ((msg = mx_open_new_message (&f, hdr, M_ADD_FROM)) == NULL) ++ mh = mutt_start_message (path, hdr, &f, &msg, 0); ++ if (!mh) + { +- mx_close_mailbox (&f, NULL); +- return (-1); ++ set_noconv_flags (hdr->content, 0); ++ return -1; + } + +- /* post == 1 => postpone message. Set mode = -1 in mutt_write_rfc822_header() +- * post == 0 => Normal mode. Set mode = 0 in mutt_write_rfc822_header() +- * */ +- mutt_write_rfc822_header (msg->fp, hdr->env, hdr->content, post ? -post : 0, 0, 1); ++ mutt_write_rfc822_header (msg->fp, hdr->env, hdr->content, -1, 0, 1); + +- /* (postponment) if this was a reply of some sort, contians the ++ /* if this was a reply of some sort, contains the + * Message-ID: of message replied to. Save it using a special X-Mutt- + * header so it can be picked up if the message is recalled at a later + * point in time. This will allow the message to be marked as replied if + * the same mailbox is still open. + */ +- if (post && msgid) ++ if (msgid) + fprintf (msg->fp, "X-Mutt-References: %s\n", msgid); + +- /* (postponment) save the Fcc: using a special X-Mutt- header so that ++ /* save the Fcc: using a special X-Mutt- header so that + * it can be picked up when the message is recalled + */ +- if (post && fcc) ++ if (fcc) + fprintf (msg->fp, "X-Mutt-Fcc: %s\n", fcc); + +- if (f.magic == M_MMDF || f.magic == M_MBOX) +- fprintf (msg->fp, "Status: RO\n"); +- +- /* mutt_write_rfc822_header() only writes out a Date: header with +- * mode == 0, i.e. _not_ postponment; so write out one ourself */ +- if (post) +- fprintf (msg->fp, "%s", mutt_make_date (buf, sizeof (buf))); +- +- /* (postponment) if the mail is to be signed or encrypted, save this info */ +- if ((WithCrypto & APPLICATION_PGP) +- && post && (hdr->security & APPLICATION_PGP)) ++ /* if the mail is to be signed or encrypted, save this info */ ++ if ((WithCrypto & APPLICATION_PGP) && (hdr->security & APPLICATION_PGP)) + { + fputs ("X-Mutt-PGP: ", msg->fp); + if (hdr->security & ENCRYPT) +@@ -2830,9 +2968,8 @@ + fputc ('\n', msg->fp); + } + +- /* (postponment) if the mail is to be signed or encrypted, save this info */ +- if ((WithCrypto & APPLICATION_SMIME) +- && post && (hdr->security & APPLICATION_SMIME)) ++ /* if the mail is to be signed or encrypted, save this info */ ++ if ((WithCrypto & APPLICATION_SMIME) && (hdr->security & APPLICATION_SMIME)) + { + fputs ("X-Mutt-SMIME: ", msg->fp); + if (hdr->security & ENCRYPT) { +@@ -2851,86 +2988,22 @@ + } + + #ifdef MIXMASTER +- /* (postponement) if the mail is to be sent through a mixmaster ++ /* if the mail is to be sent through a mixmaster + * chain, save that information + */ +- +- if (post && hdr->chain && hdr->chain) ++ if (hdr->chain) + { + LIST *p; +- + fputs ("X-Mutt-Mix:", msg->fp); + for (p = hdr->chain; p; p = p->next) + fprintf (msg->fp, " %s", (char *) p->data); +- + fputc ('\n', msg->fp); + } + #endif + +- if (tempfp) +- { +- char sasha[LONG_STRING]; +- int lines = 0; +- +- mutt_write_mime_body (hdr->content, tempfp); +- +- /* make sure the last line ends with a newline. Emacs doesn't ensure +- * this will happen, and it can cause problems parsing the mailbox +- * later. +- */ +- fseek (tempfp, -1, 2); +- if (fgetc (tempfp) != '\n') +- { +- fseek (tempfp, 0, 2); +- fputc ('\n', tempfp); +- } +- +- fflush (tempfp); +- if (ferror (tempfp)) +- { +- dprint (1, (debugfile, "mutt_write_fcc(): %s: write failed.\n", tempfile)); +- safe_fclose (&tempfp); +- unlink (tempfile); +- mx_commit_message (msg, &f); /* XXX - really? */ +- mx_close_message (&msg); +- mx_close_mailbox (&f, NULL); +- return -1; +- } +- +- /* count the number of lines */ +- rewind (tempfp); +- while (fgets (sasha, sizeof (sasha), tempfp) != NULL) +- lines++; +- fprintf (msg->fp, "Content-Length: " OFF_T_FMT "\n", (LOFF_T) ftello (tempfp)); +- fprintf (msg->fp, "Lines: %d\n\n", lines); +- +- /* copy the body and clean up */ +- rewind (tempfp); +- r = mutt_copy_stream (tempfp, msg->fp); +- if (fclose (tempfp) != 0) +- r = -1; +- /* if there was an error, leave the temp version */ +- if (!r) +- unlink (tempfile); +- } +- else +- { +- fputc ('\n', msg->fp); /* finish off the header */ +- r = mutt_write_mime_body (hdr->content, msg->fp); +- } +- +- if (mx_commit_message (msg, &f) != 0) +- r = -1; +- mx_close_message (&msg); +- mx_close_mailbox (&f, NULL); +- +- if (!post && need_buffy_cleanup) +- mutt_buffy_cleanup (path, &st); +- +- if (post) +- set_noconv_flags (hdr->content, 0); +- +- return r; ++ ret = mutt_finish_message (mh, path, hdr, &f, &msg, 0); ++ set_noconv_flags (hdr->content, 0); ++ return ret; + } + + #ifdef USE_SENDBOX diff --git a/mail-client/mutt/metadata.xml b/mail-client/mutt/metadata.xml deleted file mode 100644 index f13b107..0000000 --- a/mail-client/mutt/metadata.xml +++ /dev/null @@ -1,9 +0,0 @@ - - - - net-mail - - ferdy@gentoo.org - Fernando J. Pereda - - diff --git a/mail-client/mutt/mutt-1.5.18.ebuild b/mail-client/mutt/mutt-1.5.18.ebuild deleted file mode 100644 index 9c237e7..0000000 --- a/mail-client/mutt/mutt-1.5.18.ebuild +++ /dev/null @@ -1,181 +0,0 @@ -# Copyright 1999-2008 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Header: /var/cvsroot/gentoo-x86/mail-client/mutt/mutt-1.5.16.ebuild,v 1.12 2008/03/09 21:36:14 ricmm Exp $ - -inherit eutils flag-o-matic autotools - -PATCHSET_REV="-r1" - -SIDEBAR_PATCH_N="patch-${PV}.sidebar.20080611.txt" - -DESCRIPTION="a small but very powerful text-based mail client" -HOMEPAGE="http://www.mutt.org" -SRC_URI="ftp://ftp.mutt.org/mutt/devel/${P}.tar.gz - !vanilla? ( - !sidebar? ( - mirror://gentoo/${P}-gentoo-patches${PATCHSET_REV}.tar.bz2 - ) - ) - sidebar? ( - http://www.lunar-linux.org/~tchan/mutt/${SIDEBAR_PATCH_N} - )" -IUSE="berkdb crypt debug gdbm gnutls gpgme idn imap mbox nls nntp pop qdbm sasl -sidebar smime smtp ssl vanilla" -SLOT="0" -LICENSE="GPL-2" -KEYWORDS="alpha amd64 hppa ia64 ~mips ppc ppc64 sparc x86 ~x86-fbsd" -RDEPEND=">=sys-libs/ncurses-5.2 - qdbm? ( dev-db/qdbm ) - !qdbm? ( - gdbm? ( sys-libs/gdbm ) - !gdbm? ( berkdb? ( >=sys-libs/db-4 ) ) - ) - imap? ( - gnutls? ( >=net-libs/gnutls-1.0.17 ) - !gnutls? ( ssl? ( >=dev-libs/openssl-0.9.6 ) ) - sasl? ( >=dev-libs/cyrus-sasl-2 ) - ) - pop? ( - gnutls? ( >=net-libs/gnutls-1.0.17 ) - !gnutls? ( ssl? ( >=dev-libs/openssl-0.9.6 ) ) - sasl? ( >=dev-libs/cyrus-sasl-2 ) - ) - smtp? ( - gnutls? ( >=net-libs/gnutls-1.0.17 ) - !gnutls? ( ssl? ( >=dev-libs/openssl-0.9.6 ) ) - sasl? ( >=dev-libs/cyrus-sasl-2 ) - ) - idn? ( net-dns/libidn ) - gpgme? ( >=app-crypt/gpgme-0.9.0 ) - smime? ( >=dev-libs/openssl-0.9.6 ) - app-misc/mime-types" -DEPEND="${RDEPEND} - net-mail/mailbase - !vanilla? ( - dev-libs/libxml2 - dev-libs/libxslt - app-text/docbook-xsl-stylesheets - || ( www-client/lynx www-client/w3m www-client/elinks ) - )" - -PATCHDIR="${WORKDIR}"/${P}-gentoo-patches${PATCHSET_REV} - -src_unpack() { - unpack ${A//${SIDEBAR_PATCH_N}} && cd "${S}" || die "unpack failed" - - if ! use vanilla && ! use sidebar ; then - use nntp || rm "${PATCHDIR}"/06-nntp.patch - for p in "${PATCHDIR}"/*.patch ; do - epatch "${p}" - done - fi - - if use sidebar ; then - use vanilla || \ - ewarn "The sidebar patch is only applied to a vanilla mutt tree." - epatch "${DISTDIR}"/${SIDEBAR_PATCH_N} - fi - - #epatch "${FILESDIR}"/${P}-parallel-make.patch - AT_M4DIR="m4" eautoreconf -} - -src_compile() { - declare myconf=" - $(use_enable nls) \ - $(use_enable gpgme) \ - $(use_enable imap) \ - $(use_enable pop) \ - $(use_enable smtp) \ - $(use_enable crypt pgp) \ - $(use_enable smime) \ - $(use_enable debug) \ - $(use_with idn) \ - --with-curses \ - --sysconfdir=/etc/${PN} \ - --with-docdir=/usr/share/doc/${PN}-${PVR} \ - --with-regex \ - --disable-fcntl --enable-flock \ - --enable-nfs-fix --enable-external-dotlock \ - --with-mixmaster" - - # See Bug #22787 - unset WANT_AUTOCONF_2_5 WANT_AUTOCONF - - # mutt prioritizes gdbm over bdb, so we will too. - # hcache feature requires at least one database is in USE. - if use qdbm; then - myconf="${myconf} --enable-hcache \ - --with-qdbm --without-gdbm --without-bdb" - elif use gdbm ; then - myconf="${myconf} --enable-hcache \ - --without-qdbm --with-gdbm --without-bdb" - elif use berkdb; then - myconf="${myconf} --enable-hcache \ - --without-gdbm --without-qdbm --with-bdb" - else - myconf="${myconf} --disable-hcache \ - --without-qdbm --without-gdbm --without-bdb" - fi - - # there's no need for gnutls, ssl or sasl without socket support - if use pop || use imap || use smtp ; then - if use gnutls; then - myconf="${myconf} --with-gnutls" - elif use ssl; then - myconf="${myconf} --with-ssl" - fi - # not sure if this should be mutually exclusive with the other two - myconf="${myconf} $(use_with sasl)" - else - myconf="${myconf} --without-gnutls --without-ssl --without-sasl" - fi - - # See Bug #11170 - case ${ARCH} in - alpha|ppc) replace-flags "-O[3-9]" "-O2" ;; - esac - - if use mbox; then - myconf="${myconf} --with-mailpath=/var/spool/mail" - else - myconf="${myconf} --with-homespool=Maildir" - fi - - if ! use vanilla; then - # rr.compressed patch - myconf="${myconf} --enable-compressed" - - # nntp patch - myconf="${myconf} $(use_enable nntp)" - fi - - econf ${myconf} || die "configure failed" - emake || die "make failed" -} - -src_install() { - make DESTDIR="${D}" install || die "install failed" - find "${D}"/usr/share/doc -type f | grep -v "html\|manual" | xargs gzip - if use mbox; then - insinto /etc/mutt - newins "${FILESDIR}"/Muttrc.mbox Muttrc - else - insinto /etc/mutt - doins "${FILESDIR}"/Muttrc - fi - - # A newer file is provided by app-misc/mime-types. So we link it. - rm "${D}"/etc/${PN}/mime.types - dosym /etc/mime.types /etc/${PN}/mime.types - - dodoc BEWARE COPYRIGHT ChangeLog NEWS OPS* PATCHES README* TODO VERSION -} - -pkg_postinst() { - echo - elog "If you are new to mutt you may want to take a look at" - elog "the Gentoo QuickStart Guide to Mutt E-Mail:" - elog " http://www.gentoo.org/doc/en/guide-to-mutt.xml" - echo -} diff --git a/mail-client/mutt/mutt-1.5.21-r3.ebuild b/mail-client/mutt/mutt-1.5.21-r3.ebuild new file mode 100644 index 0000000..868d299 --- /dev/null +++ b/mail-client/mutt/mutt-1.5.21-r3.ebuild @@ -0,0 +1,242 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/mail-client/mutt/mutt-1.5.21-r2.ebuild,v 1.1 2011/04/26 17:32:14 grobian Exp $ + +EAPI="3" + +inherit eutils flag-o-matic autotools + +PATCHSET_REV="-r3" + +DESCRIPTION="A small but very powerful text-based mail client" +HOMEPAGE="http://www.mutt.org" +SRC_URI="ftp://ftp.mutt.org/mutt/devel/${P}.tar.gz + mirror://gentoo/${P}-gentoo-patches${PATCHSET_REV}.tar.bz2 + http://dev.gentoo.org/~grobian/distfiles/${P}-gentoo-patches${PATCHSET_REV}.tar.bz2" +IUSE="berkdb crypt debug doc gdbm gnutls gpg idn imap mbox nls nntp pop qdbm sasl sidebar smime smtp ssl tokyocabinet" +SLOT="0" +LICENSE="GPL-2" +KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~x86-fbsd ~x64-freebsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +RDEPEND=">=sys-libs/ncurses-5.2 + tokyocabinet? ( dev-db/tokyocabinet ) + !tokyocabinet? ( + qdbm? ( dev-db/qdbm ) + !qdbm? ( + gdbm? ( sys-libs/gdbm ) + !gdbm? ( berkdb? ( >=sys-libs/db-4 ) ) + ) + ) + imap? ( + gnutls? ( >=net-libs/gnutls-1.0.17 ) + !gnutls? ( ssl? ( >=dev-libs/openssl-0.9.6 ) ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + ) + pop? ( + gnutls? ( >=net-libs/gnutls-1.0.17 ) + !gnutls? ( ssl? ( >=dev-libs/openssl-0.9.6 ) ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + ) + smtp? ( + gnutls? ( >=net-libs/gnutls-1.0.17 ) + !gnutls? ( ssl? ( >=dev-libs/openssl-0.9.6 ) ) + sasl? ( >=dev-libs/cyrus-sasl-2 ) + ) + idn? ( net-dns/libidn ) + gpg? ( >=app-crypt/gpgme-0.9.0 ) + smime? ( >=dev-libs/openssl-0.9.6 ) + app-misc/mime-types" +DEPEND="${RDEPEND} + net-mail/mailbase + doc? ( + dev-libs/libxml2 + dev-libs/libxslt + app-text/docbook-xsl-stylesheets + || ( www-client/lynx www-client/w3m www-client/elinks ) + )" + +PATCHDIR="${WORKDIR}"/${P}-gentoo-patches${PATCHSET_REV} + +src_prepare() { + # Post-release hot-fixes grabbed from HG, this is what all following + # patches are based on in my Mercurial patchqueue (mq). + # If you ever take over or need to modify patches here, just check + # out the gentoo branch(es) of Gentoo's Mutt Mercurial clone, and + # the patchqueue as it'll save you a lot of work. + # http://prefix.gentooexperimental.org:8000/mutt/ + # http://prefix.gentooexperimental.org:8000/mutt-patches/ + for rev in $(eval echo {0..${PR#r}}) ; do + local revpatch="${PATCHDIR}"/mutt-gentoo-${PV}-r${rev}.patch + [[ -e ${revpatch} ]] && \ + epatch "${revpatch}" + done + + # this patch is non-generic and only works because we use a sysconfdir + # different from the one used by the mailbase ebuild + use prefix && epatch "${PATCHDIR}"/prefix-mailcap.patch + + # must have fixes to compile or behave correctly, upstream + # ignores, disagrees or simply doesn't respond/apply + epatch "${PATCHDIR}"/bdb-prefix.patch # fix bdb detection + epatch "${PATCHDIR}"/interix-btowc.patch + epatch "${PATCHDIR}"/solaris-ncurses-chars.patch + epatch "${PATCHDIR}"/gpgme-1.2.0.patch + # same category, but functional bits + epatch "${PATCHDIR}"/dont-reveal-bbc.patch + + # the big feature patches that upstream doesn't want to include, but + # nearly every distro has due to their usefulness + for p in "${PATCHDIR}"/[0-9][0-9]-*.patch ; do + epatch "${p}" + done + + # Add sendbox feature (Courier-IMAP's OUTBOX, which sends email if + # placed in that folder). Patches taken from + # http://pkgbuild.com/git/aur.git/tree/mutt-sendbox + epatch "${FILESDIR}"/1.5.21-resent-header-weeding.patch + epatch "${FILESDIR}"/1.5.21-sendbox.patch + epatch "${FILESDIR}"/1.5.21-write_postponed.patch + epatch "${FILESDIR}"/1.5.21-sendbox-bounce.patch + + # we conditionalise this one, simply because it has considerable + # impact on the code + if use sidebar; then + epatch "${PATCHDIR}"/sidebar.patch + # From http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=523774 + # sidebar-dotted handles Courier IMAP folders correctly + epatch "${PATCHDIR}"/sidebar-dotted.patch + # sidebar-sorted will sort IMAP folders instead of randomly + # displaying them + epatch "${PATCHDIR}"/sidebar-sorted.patch + fi + + # patch version string for bug reports + sed -i -e 's/"Mutt %s (%s)"/"Mutt %s (%s, Gentoo '"${PVR}"')"/' \ + muttlib.c || die "failed patching in Gentoo version" + + # many patches touch the buildsystem, we always need this + AT_M4DIR="m4" eautoreconf + + # the configure script contains some "cleverness" whether or not to setgid + # the dotlock program, resulting in bugs like #278332 + sed -i -e 's/@DOTLOCK_GROUP@//' \ + Makefile.in || die "sed failed" + + # don't just build documentation (lengthy process, with big dependencies) + if use !doc ; then + sed -i -e '/SUBDIRS =/s/doc//' Makefile.in || die + fi +} + +src_configure() { + local myconf=" + $(use_enable crypt pgp) \ + $(use_enable debug) \ + $(use_enable gpg gpgme) \ + $(use_enable imap) \ + $(use_enable nls) \ + $(use_enable nntp) \ + $(use_enable pop) \ + $(use_enable smime) \ + $(use_enable smtp) \ + $(use_with idn) \ + $(use_with !nntp mixmaster) \ + --enable-compressed \ + --enable-external-dotlock \ + --enable-nfs-fix \ + --sysconfdir="${EPREFIX}"/etc/${PN} \ + --with-curses \ + --with-docdir="${EPREFIX}"/usr/share/doc/${PN}-${PVR} \ + --with-regex \ + --with-exec-shell=${EPREFIX}/bin/sh" + + case $CHOST in + *-solaris*) + # Solaris has no flock in the standard headers + myconf="${myconf} --enable-fcntl --disable-flock" + ;; + *) + myconf="${myconf} --disable-fcntl --enable-flock" + ;; + esac + + # mutt prioritizes gdbm over bdb, so we will too. + # hcache feature requires at least one database is in USE. + if use tokyocabinet; then + myconf="${myconf} --enable-hcache \ + --with-tokyocabinet --without-qdbm --without-gdbm --without-bdb" + elif use qdbm; then + myconf="${myconf} --enable-hcache \ + --without-tokyocabinet --with-qdbm --without-gdbm --without-bdb" + elif use gdbm ; then + myconf="${myconf} --enable-hcache \ + --without-tokyocabinet --without-qdbm --with-gdbm --without-bdb" + elif use berkdb; then + myconf="${myconf} --enable-hcache \ + --without-tokyocabinet --without-qdbm --without-gdbm --with-bdb" + else + myconf="${myconf} --disable-hcache \ + --without-tokyocabinet --without-qdbm --without-gdbm --without-bdb" + fi + + # there's no need for gnutls, ssl or sasl without socket support + if use pop || use imap || use smtp ; then + if use gnutls; then + myconf="${myconf} --with-gnutls" + elif use ssl; then + myconf="${myconf} --with-ssl" + fi + # not sure if this should be mutually exclusive with the other two + myconf="${myconf} $(use_with sasl)" + else + myconf="${myconf} --without-gnutls --without-ssl --without-sasl" + fi + + if use mbox; then + myconf="${myconf} --with-mailpath=${EPREFIX}/var/spool/mail" + else + myconf="${myconf} --with-homespool=Maildir" + fi + + econf ${myconf} || die "configure failed" +} + +src_install() { + make DESTDIR="${D}" install || die "install failed" + if use mbox; then + insinto /etc/mutt + newins "${FILESDIR}"/Muttrc.mbox Muttrc + else + insinto /etc/mutt + doins "${FILESDIR}"/Muttrc + fi + + # A newer file is provided by app-misc/mime-types. So we link it. + rm "${ED}"/etc/${PN}/mime.types + dosym /etc/mime.types /etc/${PN}/mime.types + + # A man-page is always handy + if use !doc; then + cp doc/mutt.man mutt.1 + cp doc/muttbug.man flea.1 + doman mutt.1 flea.1 + else + # nuke manpages that should be provided by an MTA, bug #177605 + rm "${ED}"/usr/share/man/man5/{mbox,mmdf}.5 \ + || ewarn "failed to remove files, please file a bug" + fi + + if use !prefix ; then + fowners root:mail /usr/bin/mutt_dotlock + fperms g+s /usr/bin/mutt_dotlock + fi + + dodoc BEWARE COPYRIGHT ChangeLog NEWS OPS* PATCHES README* TODO VERSION +} + +pkg_postinst() { + echo + elog "If you are new to mutt you may want to take a look at" + elog "the Gentoo QuickStart Guide to Mutt E-Mail:" + elog " http://dev.gentoo.org/~grobian/guide-to-mutt.xml" + echo +} -- cgit v1.2.3-65-gdbad