#
+# TODO:
+# - gss/heimdal
+# - finish -folder_columns.patch
+# - update/drop -home_etc.patch
+# - update/drop -nntp.patch
+# - update/drop -imap_recent.patch
+#
# Conditional build:
%bcond_with slang # use slang library instead of ncurses
%bcond_with nntp # use VVV's NNTP patch
-%bcond_with esmtp # use esmtp patch
%bcond_with folder_column # build with folder_column patch
+%bcond_with imap_recent # show IMAP RECENT messages as new (instead of UNSEEN)
%bcond_without sasl # don't use sasl
-%bcond_without home_etc # don't use home_etc
+%bcond_with home_etc # use home_etc
+%bcond_with gdbm # use GDBM instead of BerkeleyDB
+%bcond_with qdbm # use QDBM instead of BerkeleyDB
+%bcond_with tokyocabinet # use TokyoCabinet instead of BerkeleyDB
#
+%if %{without gdbm} && %{without qdbm} && %{without tokyocabinet}
+%define with_bdb 1
+%endif
Summary: The Mutt Mail User Agent
-Summary(de.UTF-8): Der Mutt Mail-User-Agent
-Summary(es.UTF-8): Mutt, cliente de correo electrónico
-Summary(fr.UTF-8): Agent courrier Mutt
-Summary(ko.UTF-8): 텍스트 기반의 MUA
-Summary(pl.UTF-8): Program pocztowy Mutt
-Summary(pt_BR.UTF-8): Mutt, cliente de correio eletrônico
-Summary(ru.UTF-8): Почтовая клиентская программа Mutt
-Summary(tr.UTF-8): Mutt elektronik posta programı
-Summary(uk.UTF-8): Поштова клієнтська програма Mutt
+Summary(de.UTF-8): Der Mutt Mail-User-Agent
+Summary(es.UTF-8): Mutt, cliente de correo electrónico
+Summary(fr.UTF-8): Agent courrier Mutt
+Summary(ko.UTF-8): 텍스트 기반의 MUA
+Summary(pl.UTF-8): Program pocztowy Mutt
+Summary(pt_BR.UTF-8): Mutt, cliente de correio eletrônico
+Summary(ru.UTF-8): Почтовая клиентская программа Mutt
+Summary(tr.UTF-8): Mutt elektronik posta programı
+Summary(uk.UTF-8): Поштова клієнтська програма Mutt
Name: mutt
-Version: 1.4.2.2
+Version: 1.11.0
Release: 1
Epoch: 6
-License: GPL
+License: GPL v2+
Group: Applications/Mail
-Source0: ftp://ftp.mutt.org/mutt/%{name}-%{version}i.tar.gz
-# Source0-md5: 51a08429c5bd5c34af3f4268b8cbcda3
+# temporarily dead? (Jun 2014)
+Source0: ftp://ftp.mutt.org/pub/mutt/%{name}-%{version}.tar.gz
+# Source0-md5: b58fdddf76a880c6314c9d4df2c32efb
Source1: %{name}.desktop
Source2: %{name}.png
Source3: %{name}.1.pl
-Patch0: %{name}-paths.patch
-Patch1: %{name}-forcedotlock.patch
-Patch2: %{name}-muttbug-tmp.patch
-Patch3: %{name}-rr.compressed.patch
-Patch4: %{name}-cd.edit_threads.patch
-Patch5: %{name}-bj.status-time.patch
-Patch6: %{name}-devl.narrow_tree.patch
-Patch7: %{name}-vvv.quote.gz
-Patch8: %{name}-null_name.patch
-Patch9: %{name}-cd.trash_folder.patch
-Patch10: %{name}-cd.purge_message.patch
-Patch11: %{name}-cd.signatures_menu.patch
-Patch12: %{name}-folder_columns.patch
-Patch13: %{name}-nr.tag_prefix_cond.patch
-Patch14: %{name}-pgp_hook.patch
-Patch15: %{name}-manual.patch
-Patch16: %{name}-send_charset.patch
-Patch17: %{name}-xface.patch
-Patch18: %{name}-sasl2.patch
-Patch19: %{name}-nntp.patch
-Patch20: %{name}-esmtp.patch
-Patch21: %{name}-home_etc.patch
-Patch22: %{name}-kill_warnings.patch
-Patch23: %{name}-Muttrc_mbox_path.patch
-Patch24: %{name}-po.patch
-Patch25: %{name}-sasl-fixes.patch
+Patch0: %{name}-pl.po-update.patch
+Patch1: %{name}-bj.status-time.patch
+# http://mutt.org.ua/download/
+Patch2: %{name}-vvv.quote.patch
+Patch3: %{name}-null_name.patch
+Patch4: %{name}-cd.signatures_menu.patch
+# http://www.mutt.ca/patches/ (dw.crypt-autoselectkey)
+Patch5: %{name}-crypt-autoselectkey.patch
+Patch6: %{name}-manual.patch
+Patch7: %{name}-xface.patch
+Patch8: %{name}-Muttrc_mbox_path.patch
+Patch9: %{name}-po.patch
+Patch10: %{name}-Muttrc.head.patch
+Patch11: %{name}-smime.rc.patch
+Patch12: %{name}-db.patch
+Patch13: format-security.patch
+Patch14: %{name}-keep_to.patch
+Patch15: %{name}-vvv.initials.patch
+# applied during %%install
+Patch50: %{name}-Muttrc.patch
+# bcond-related patches
+Patch101: %{name}-home_etc.patch
+# http://mutt.org.ua/download/
+Patch102: %{name}-vvv.nntp.patch
+Patch103: %{name}-folder_columns.patch
+Patch104: %{name}-imap_recent.patch
URL: http://www.mutt.org/
-%{!?with_slang:BuildRequires: ncurses-devel >= 5.4-0.7}
-BuildRequires: autoconf
-BuildRequires: automake
+BuildRequires: autoconf >= 2.54
+BuildRequires: automake >= 1.6
%{?with_sasl:BuildRequires: cyrus-sasl-devel >= 2.1.0}
-BuildRequires: gettext-devel
-BuildRequires: groff
+%{?with_bdb:BuildRequires: db-devel >= 4.0}
+BuildRequires: docbook-dtd42-xml
+BuildRequires: docbook-style-xsl
+%{?with_gdbm:BuildRequires: gdbm-devel}
+BuildRequires: gettext-tools
+BuildRequires: gpgme-devel >= 1:1.1.1
%{?with_home_etc:BuildRequires: home-etc-devel >= 1.0.8}
-%{?with_esmtp:BuildRequires: libesmtp-devel}
+BuildRequires: libidn-devel
+BuildRequires: libxslt-progs
+BuildRequires: lynx
+%{!?with_slang:BuildRequires: ncurses-devel >= 5.0}
BuildRequires: openssl-devel >= 0.9.7d
-BuildRequires: sgml-tools >= 1.0.9-20
-BuildRequires: sgml-tools-dtd
+%{?with_qdbm:BuildRequires: qdbm-devel}
%{?with_slang:BuildRequires: slang-devel}
-%{?with_home_etc:Requires: home-etc >= 1.0.8}
+%{?with_tokyocabinet:BuildRequires: tokyocabinet-devel}
+%{?with_home_etc:Requires: home-etc-lib >= 1.0.8}
Requires: iconv
-Requires: mailcap
+Suggests: mailcap
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define specflags_ia32 -fomit-frame-pointer
les fils.
%description -l ko.UTF-8
-Mutt는 작지만 매우 강력한 텍스트 기반의 메일 클라이언트이다. Mutt는
-많은 설정이 가능하다. 그리고, 키바인딩, 키보드 메크로, 메일 스레딩과
-같은 진보된 형태와 정규표현식 검색, 메일에서 선택된 그룹의 내용에서
-강력하게 일정한 패턴을 찾아내는 것을 지원함으로써 메일의 파워 유저에게
-가장 적합하다.
+Mutt는 작지만 매우 강력한 텍스트 기반의 메일 클라이언트이다. Mutt는 많은 설정이 가능하다. 그리고, 키바인딩, 키보드
+메크로, 메일 스레딩과 같은 진보된 형태와 정규표현식 검색, 메일에서 선택된 그룹의 내용에서 강력하게 일정한 패턴을 찾아내는
+것을 지원함으로써 메일의 파워 유저에게 가장 적합하다.
%description -l pl.UTF-8
Mutt jest niewielkim programem pocztowym dla terminali tekstowych,
експериментальну) підтримку NNTP.
%prep
-%setup -q -n %{name}-%(echo %{version} | sed 's/i$//')
+%setup -q
+# pl.poupdate
%patch0 -p1
%patch1 -p1
%patch2 -p1
%patch9 -p1
%patch10 -p1
%patch11 -p1
-# breaks display if arrow_cursor is set
-%{?with_folder_column:%patch12 -p1}
-# disabled - changes default behaviour
-##%patch13 -p0
+%patch12 -p1
+%patch13 -p1
%patch14 -p1
%patch15 -p1
-%patch16 -p1
-%patch17 -p1
-%{?with_sasl:%patch18 -p1}
-%{?with_nntp:%patch19 -p1}
-%{?with_esmtp:%patch20 -p1}
-%{?with_home_etc:%patch21 -p1}
-%patch22 -p1
-%patch23 -p1
-%patch24 -p1
-%patch25 -p1
+
+%{?with_home_etc:%patch101 -p1}
+%{?with_nntp:%patch102 -p1}
+# breaks display if arrow_cursor is set
+%{?with_folder_column:%patch103 -p1}
+%{?with_imap_recent:%patch1043 -p1}
# force regeneration (manual.sgml is modified by some patches)
-rm -f doc/{manual*.html,manual.txt}
+%{__rm} doc/{manual*.html,manual.txt}
%build
%{__aclocal} -I m4
%{__autoheader}
%{__automake}
%configure \
- --%{?debug:en}%{!?debug:dis}able-debug \
- %{!?with_slang:--with-curses} \
- %{?with_slang:--with-slang} \
+ mutt_cv_groupwrite=yes \
+ mutt_cv_worldwrite=no \
+ %{!?debug:--disable-debug} %{?debug:--enable-debug} \
+ --disable-warnings \
--enable-compressed \
--enable-external-dotlock \
+ --enable-gpgme \
+ --enable-hcache \
--enable-imap \
- --without-included-gettext \
--enable-mailtool \
- --with-mixmaster \
- --enable-pop \
%{?with_nntp:--enable-nntp} \
- --with-regex \
- --with%{!?with_sasl:out}-sasl \
- --with%{!?with_home_etc:out}-home-etc \
- %{?with_esmtp:--enable-libesmtp --with-libesmtp=/usr} \
- --with-ssl \
- --disable-warnings \
+ --enable-pop \
+ --enable-smtp \
+ %{?with_bdb:--with-bdb=/usr} \
+ %{!?with_slang:--with-curses} \
--with-docdir=%{_docdir}/%{name} \
- --with-homespool=Maildir \
+ %{?with_gdbm:--with-gdbm} \
+ %{?with_home_etc:--with-home-etc} \
--with-mailpath=/var/mail \
- --with-sharedir=%{_datadir} \
- --prefix=%{_prefix} \
- --bindir=%{_bindir} \
- --datadir=%{_datadir} \
- --mandir=%{_mandir} \
- --sysconfdir=%{_sysconfdir}
+ --with-mixmaster \
+ %{?with_qdbm:--with-qdbm} \
+ --with-regex \
+ %{?with_sasl:--with-sasl} \
+ %{?with_slang:--with-slang} \
+ --with-ssl \
+ %{?with_tokyocabinet:--with-tokyocabinet}
+%{__make} -j1 -C doc
%{__make}
-%{__make} manual.txt -C doc
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},%{_mandir}/pl/man1}
+install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},%{_mandir}/pl/man1} \
+ $RPM_BUILD_ROOT%{_sysconfdir}/Muttrc.d
%{__make} install \
- DESTDIR=$RPM_BUILD_ROOT
+ DESTDIR=$RPM_BUILD_ROOT \
+ DOTLOCK_GROUP=
-%{__patch} -p0 -d $RPM_BUILD_ROOT%{_sysconfdir} < %{PATCH16}
+%{__patch} -p2 -d $RPM_BUILD_ROOT%{_sysconfdir} < %{PATCH50}
+
+install contrib/gpg.rc $RPM_BUILD_ROOT%{_sysconfdir}/Muttrc.d
+install contrib/smime.rc $RPM_BUILD_ROOT%{_sysconfdir}/Muttrc.d
+install contrib/colors.linux $RPM_BUILD_ROOT%{_sysconfdir}/Muttrc.d/colors.rc
install %{SOURCE1} $RPM_BUILD_ROOT%{_desktopdir}
install %{SOURCE2} $RPM_BUILD_ROOT%{_pixmapsdir}
install %{SOURCE3} $RPM_BUILD_ROOT%{_mandir}/pl/man1
+cat <<'EOF' >$RPM_BUILD_ROOT%{_bindir}/mutt_source-muttrc.d
+#!/bin/sh -e
+for rc in %{_sysconfdir}/Muttrc.d/*.rc; do
+ [ ! -r "$rc" ] || echo "source \"$rc\""
+done
+EOF
+
# keep manual.txt.gz, the rest is installed as %doc
-rm -rf $RPM_BUILD_ROOT%{_docdir}/%{name}/[!m]*
-gzip -9nf $RPM_BUILD_ROOT%{_docdir}/%{name}/manual.txt
+%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/%{name}/[!m]*
# conflict with qmail
-rm -f $RPM_BUILD_ROOT%{_mandir}/man5/mbox.5*
-
-rm -f $RPM_BUILD_ROOT%{_sysconfdir}/mime.types
+%{__rm} $RPM_BUILD_ROOT%{_mandir}/man5/mbox.5*
+# belongs to mailcap
+%{__rm} $RPM_BUILD_ROOT%{_sysconfdir}/mime.types
%find_lang %{name}
%clean
rm -rf $RPM_BUILD_ROOT
+%post -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
+%postun -p /sbin/postshell
+-/usr/sbin/fix-info-dir -c %{_infodir}
+
%files -f %{name}.lang
%defattr(644,root,root,755)
-%doc contrib/{*rc*,*cap*} ChangeLog README TODO NEWS README.SECURITY README.SSL README.xface %{?with_esmtp:Muttrc.esmtp}
+%doc contrib/{*rc*,*cap*} ChangeLog README TODO NEWS README.SECURITY README.SSL
+%dir %{_sysconfdir}/Muttrc.d
%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/Muttrc
+%config(noreplace,missingok) %verify(not md5 mtime size) %{_sysconfdir}/Muttrc.d/*.rc
%attr(755,root,root) %{_bindir}/mutt
+%attr(755,root,root) %{_bindir}/mutt_pgpring
+%attr(755,root,root) %{_bindir}/mutt_source-muttrc.d
%attr(755,root,root) %{_bindir}/flea
%attr(755,root,root) %{_bindir}/muttbug
%attr(755,root,root) %{_bindir}/pgp*
+%attr(755,root,root) %{_bindir}/smime_keys
%attr(2755,root,mail) %{_bindir}/mutt_dotlock
%{_docdir}/%{name}
-%{_desktopdir}/*.desktop
+%{_desktopdir}/mutt.desktop
%{_pixmapsdir}/mutt.png
-%{_mandir}/man*/*
-%lang(pl) %{_mandir}/pl/man*/*
+#%{_mandir}/man1/flea.1*
+%{_mandir}/man1/mutt*.1*
+%{_mandir}/man1/pgp*.1*
+%{_mandir}/man1/smime_keys.1*
+%{_mandir}/man5/mmdf.5*
+%{_mandir}/man5/muttrc.5*
+%lang(pl) %{_mandir}/pl/man1/*
+%{_infodir}/mutt.info*