# # spec file for package mutt # # Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # %bcond_with mutt_openssl %bcond_without mutt_gnutls Name: mutt %if %{with mutt_openssl} BuildRequires: pkgconfig(openssl) %endif %if %{with mutt_gnutls} BuildRequires: pkgconfig(gnutls) %endif BuildRequires: autoconf BuildRequires: automake BuildRequires: cyrus-sasl-gssapi BuildRequires: docbook-xsl-stylesheets BuildRequires: hunspell BuildRequires: iso_ent BuildRequires: libgpgme-devel BuildRequires: libxslt-tools BuildRequires: opensp BuildRequires: pkgconfig(gssrpc) BuildRequires: pkgconfig(krb5) %if 0%{?suse_version} > 1315 BuildRequires: pkgconfig(kyotocabinet) %else BuildRequires: libkyotocabinet-devel %endif %if 0%{?suse_version} > 1315 BuildRequires: pkgconfig(libidn2) %else BuildRequires: pkgconfig(libidn) %endif BuildRequires: pkgconfig(libsasl2) %if 0%{?suse_version} > 1315 BuildRequires: pkgconfig(ncurses) %else BuildRequires: ncurses-devel %endif %if 0%{?suse_version} > 1130 BuildRequires: pkgconfig(shared-mime-info) %endif %if 0%{?suse_version} BuildRequires: update-desktop-files %endif BuildRequires: w3m Url: http://www.mutt.org Requires(post): %install_info_prereq Requires(preun): %install_info_prereq Recommends: hunspell Provides: muttssl Obsoletes: muttssl Recommends: mutt-doc Recommends: mutt-lang Recommends: urlscan Recommends: urlview Recommends: w3m %if 0%{?suse_version} > 1130 Requires(post): shared-mime-info Requires(postun): shared-mime-info %endif Version: 1.11.3 Release: 0 Summary: Mail Program # ftp://ftp.mutt.org/mutt/devel/ # https:///bitbucket.org/mutt/mutt/downloads/%%name-%%version.tar.gz License: GPL-2.0-or-later Group: Productivity/Networking/Email/Clients Source0: https://bitbucket.org/mutt/mutt/downloads/mutt-%version.tar.gz Source1: Signature_conversion Source2: README.alternates Source3: mutt.png Source4: mutt.desktop Source5: skel.muttrc Source9: mutt.mailcap Patch: %name-1.10.0.dif # http://www.spinnaker.de/mutt/compressed/ Patch2: %name-1.5.9i-pgpewrap.diff Patch3: %name-1.5.20-sendgroupreplyto.diff Patch4: %name-1.5.15-wrapcolumn.diff Patch7: mutt-1.6.1-opennfs.dif Patch9: bug-676388-largefile.patch # http://www.wolfermann.org/mutt.html Patch11: aw.listreply.diff Patch12: patch-1.5.24.vk.pgp_verbose_mime # PATCH-FIX-OPENSUSE: bnc#813498 - mutt crashes in fgetwc in text_enriched_handler Patch15: widechar.sidebar.dif # PATCH-FIX-OPENSUSE: Be able to read signed/encrypted messsages even with CRLF Patch16: mutt-1.5.23-carriage-return.path # PATCH-FIX-OPENSUSE bnc#899712 - fallback mailcap for e.g text/html Patch18: mutt-1.5.21-mailcap.diff # PATCH-FIX-SUSE: bsc#907453 - CVE-2014-9116: mutt: heap-based buffer overflow in mutt_substrdup() Patch19: bsc907453-CVE-2014-9116-jessie.patch # PATCH-ENHANCE-SUSE: allow to list current imap folders Patch20: mutt-1.10.1-imap.patch BuildRoot: %{_tmppath}/%{name}-%{version}-build %global _sysconfdir %{_sysconfdir} %description A very powerful mail user agent. It supports (among other nice things) highlighting, threading, and PGP. It takes some time to get used to, however. This version is based on NeoMutt, that is it includes many enhancements. %package doc Summary: Additional Documentation about Mutt Group: Documentation/Other Requires: %{name} = %{version} Recommends: perl(Expect) Provides: %{name}:%{_docdir}/%name/COPYRIGHT BuildArch: noarch %description doc Some extend documentation about mutt together with muttrc examples for different environments and requirements. %package lang Summary: Languages for Mutt Group: System/Localization Provides: mutt:/usr/share/locale/en_GB/LC_MESSAGES/mutt.mo Requires: %{name} = %{version} BuildArch: noarch %description lang Provides translations to the package mutt. %prep %setup -q -D -n mutt-%version %patch -p0 -b .p0 %patch2 -p0 -b .pgpewrap %patch3 -p0 -b .sendgroupreplyto %patch4 -p0 -b .wrapcolumn %patch7 -p0 -b .opennfs %patch9 -p0 -b .largefile %patch11 -p0 -b .listreply %patch12 -p0 -b .pgp_verbose_mtime %patch15 -p0 -b .widechar.sidebar %patch16 -p0 -b .crlf %patch18 -p0 -b .mailcap %patch19 -p0 -b .cvw2014.9116 %patch20 -p0 -b .imap cp %{S:2} . %build %if %{with mutt_gnutls} echo 'set ssl_ca_certificates_file="/etc/ssl/ca-bundle.pem"' >> doc/Muttrc.head %endif autoreconf -fi cflags () { local flag=$1; shift local var=$1; shift test -n "${flag}" -a -n "${var}" || return case "${!var}" in *${flag}*) return esac set -o noclobber case "$flag" in -Wl,*) if echo 'int main () { return 0; }' | \ ${CC:-gcc} -Werror $flag -o /dev/null -xc - > /dev/null 2>&1 ; then eval $var=\${$var:+\$$var\ }$flag fi ;; *) if ${CC:-gcc} -Werror $flag -S -o /dev/null -xc /dev/null > /dev/null 2>&1 ; then eval $var=\${$var:+\$$var\ }$flag fi esac set +o noclobber } CC=gcc CFLAGS="-Wall $RPM_OPT_FLAGS -I. -D_GNU_SOURCE" cflags -fno-strict-aliasing CFLAGS cflags -fstack-protector CFLAGS cflags -fPIE CFLAGS cflags -g3 CFLAGS cflags -pipe CFLAGS cflags -Wl,--as-needed LDFLAGS cflags -Wl,-O2 LDFLAGS cflags -pie LDFLAGS export CC CFLAGS LDFLAGS export SENDMAIL=/usr/sbin/sendmail export ISPELL=/usr/bin/hunspell export PATH="/usr/lib/mit/bin:$PATH" export KRB5CFGPATH="$(type -p krb5-config)" $KRB5CFGPATH --cflags gssapi $KRB5CFGPATH --libs gssapi $KRB5CFGPATH --version %configure \ --with-docdir=%{_docdir}/%name \ %if %{with mutt_openssl} --without-gnutls \ --with-ssl=%{_prefix} \ %endif %if %{with mutt_gnutls} --without-ssl \ --with-gnutls=%{_prefix} \ %endif --enable-imap \ --enable-pop \ --enable-pgp \ --enable-gpgme \ --enable-nfs-fix \ --enable-mailtool \ --enable-compressed \ --enable-sidebar \ --disable-external-dotlock \ --with-kyotocabinet \ --with-sasl=%{_prefix} \ --with-gss=%{_prefix} \ --with-curses=%{_prefix} \ --enable-smtp \ --enable-hcache \ --with-regex \ %if 0%{?suse_version} > 1315 --with-idn2 %else --with-idn %endif make -C doc clean make make -C doc %install make install DESTDIR=%{buildroot} install -m 755 %{S:1} %{buildroot}%{_bindir} gzip -n -9 doc/manu*.txt rm -f contrib/Makefile* # datadir not automatically created: mkdir -p %{buildroot}%{_datadir}/mutt # INSTALL file should be removed: rm -rf %{buildroot}%{_docdir}/%{name}/INSTALL # mbox/mmdf manual page conflicts with the one from tin, so rename it mv %{buildroot}%{_mandir}/man5/mbox.5 \ %{buildroot}%{_mandir}/man5/mbox_mutt.5 mv %{buildroot}%{_mandir}/man5/mmdf.5 \ %{buildroot}%{_mandir}/man5/mmdf_mutt.5 %find_lang %name # We get mime.types from aaa_base rm -f %{buildroot}%{_sysconfdir}/mime.types # Mutt BTS is gone rm -f %{buildroot}%{_mandir}/man1/{flea*,muttbug*} rm -f %{buildroot}%{_bindir}/{flea,muttbug} rm -f %{buildroot}%{_sysconfdir}/Muttrc.dist rm -f %{buildroot}%{_sysconfdir}/mime.types.dist mkdir -p %{buildroot}%{_datadir}/pixmaps install -m 644 %{SOURCE3} %{buildroot}%{_datadir}/pixmaps/ mkdir -p %{buildroot}%{_datadir}/applications install -m 644 %{SOURCE4} %{buildroot}%{_datadir}/applications/ install -D -m 644 %{SOURCE5} %{buildroot}%{_sysconfdir}/skel/.muttrc install -D -m 644 %{SOURCE9} %{buildroot}%{_datadir}/%name/mailcap rm -vf %{buildroot}%{_docdir}/%name/manual.txt install -D -m 644 doc/manual.txt.gz %{buildroot}%{_docdir}/%name/ %if 0%{?suse_version} %suse_update_desktop_file mutt %endif %if 0%{?suse_version} > 1130 %post %mime_database_post %postun %mime_database_postun %post doc %install_info --info-dir=%{_infodir} "%{_infodir}/mutt.info.gz" %preun doc %install_info_delete --info-dir=%{_infodir} "%{_infodir}/mutt.info.gz" %endif %files %defattr(-,root,root) %config(noreplace) %{_sysconfdir}/skel/.muttrc %config(noreplace) %{_sysconfdir}/Muttrc %{_bindir}/mutt %{_bindir}/pgpewrap %{_bindir}/mutt_pgpring %{_bindir}/smime_keys %{_bindir}/Signature_conversion %{_datadir}/applications/*.desktop %{_datadir}/pixmaps/mutt.png %{_mandir}/man1/mutt.1%{ext_man} %{_mandir}/man1/*pgp*.1%{ext_man} %{_mandir}/man1/smime_keys.1%{ext_man} %{_mandir}/man5/mmdf_mutt.5%{ext_man} %{_mandir}/man5/muttrc.5%{ext_man} %{_mandir}/man5/mbox_mutt.5%{ext_man} %dir %{_datadir}/mutt/ %{_datadir}/mutt/mailcap %dir %doc %{_docdir}/%name/ %doc %{_docdir}/%name/manual.txt.gz %files doc %defattr(-,root,root) %doc %{_docdir}/%name/COPYRIGHT %doc %{_docdir}/%name/ChangeLog %doc %{_docdir}/%name/GPL %doc %{_docdir}/%name/NEWS %doc %{_docdir}/%name/README* %doc %{_docdir}/%name/TODO %doc %{_docdir}/%name/*.html %doc %{_docdir}/%name/*.txt %dir %doc %{_docdir}/%name/samples/ %doc %{_docdir}/%name/samples/*.rc %doc %{_docdir}/%name/samples/ca-bundle.crt %doc %{_docdir}/%name/samples/colors.* %doc %{_docdir}/%name/samples/mutt_xtitle %doc %{_docdir}/%name/samples/sample.* %doc %{_docdir}/%name/samples/smime_keys_test.pl %dir %doc %{_docdir}/%name/samples/iconv/ %doc %{_docdir}/%name/samples/iconv/*.rc %doc %{_infodir}/*.gz %files lang -f %name.lang %defattr(-,root,root) %changelog