mail-client/mutt-1.13.5: version bump
authorFabian Groffen <grobian@gentoo.org>
Mon, 30 Mar 2020 07:17:20 +0000 (09:17 +0200)
committerFabian Groffen <grobian@gentoo.org>
Mon, 30 Mar 2020 07:17:36 +0000 (09:17 +0200)
- new release addresses security bug
- invalid USE-flags pgp_classic and smime_classic are removed

Bug: https://bugs.gentoo.org/715352
Bug: https://bugs.gentoo.org/695078
Package-Manager: Portage-2.3.89, Repoman-2.3.20
Signed-off-by: Fabian Groffen <grobian@gentoo.org>
mail-client/mutt/Manifest
mail-client/mutt/mutt-1.13.5.ebuild [new file with mode: 0644]

index 2a726abed65181d3167fe3a0bda0742a949cc48d..3c1a869e3d53bd21199cd6fe522dde5a49b18f5c 100644 (file)
@@ -1,6 +1,8 @@
 DIST mutt-1.10.1.tar.gz 4255890 BLAKE2B 2a0e7629c42ba11ec5c3686d9c17e283ed9cb1f9874decec9453cf01ae0780c7993ac0104db7987571f27c04e408c1eff47d3b73918eb9754c253b6249ad48f4 SHA512 13509ff159c65e23614696967b4bd8baf7b8e16c0e85cfd89e2df8201de2dc97e6c4a426f5919f05051dee2b14f847c7203e0b236931d3cdf81dbbb221551726
 DIST mutt-1.12.2.tar.gz 4675774 BLAKE2B 0b0a4695f31db97437e7d6e52ca8e131376bd0ae168195a4a73c3d2230f43460000c5b623e39b89c5cc7bf5253e7ffad8f007b844a864fcde94baef1aa7369f9 SHA512 a824a056edef0c320b7633a39ab2421646442132190c2b2bf788ac39aaf7a0143d12847eb27290913d8ae793810bb6353803977610045b36235579001a1096bd
 DIST mutt-1.13.4.tar.gz 4901222 BLAKE2B 70ab2dcd93d860a2a1bc31059230f034bc87780e423f6a7ccd3b464d67c59d0f547ad2ae2ddfa42f07dc3d5ec9dea2e7302f92eeb2f5b9f722798ea80bf2fe1d SHA512 59ae13d7cef052818f38f6d52e2cb42251f393ecf622eae113bfa29218b541195471de822efbdb072c6f74a4dc385bb94fe27c37b44c62eac7e2a0a4e0c6adc3
+DIST mutt-1.13.5.tar.gz 4902500 BLAKE2B 24c7f40ca177a64118f30d3ea1af95ebbf88c4e9b53a12bab058544350606b85d47ed659eab5f59e5bf17964843243ce175b6e0f0571baca93367ed1bc866a94 SHA512 f2ea863626e5dad4854c98a1797faa97c9f14fb5161c590e88ee02afbdde7f48493bd2cce6109f9839501cf38aa238dc804f4c98f17ac97c68b48cb0bc0e5b4a
 DIST mutt-gentoo-1.10.1-patches-r0.tar.xz 108396 BLAKE2B 86edca04154f96efce27543326f8610dffba0085c7d69e82a7ac5f48ae9cd6662bcf6afa0e55b3d83ec054ee2eb86dff70b0c15a5170f41cc57887e17a661406 SHA512 1e0675803abc2bc116ef6e726f5009c43b0fb7bbf9bd3141a7cbbded51033695ddcc5228612f228cd19dae4181719e756a85e3fa2c8c9a9a4a9aefb4170bd5f5
 DIST mutt-gentoo-1.12.2-patches-r1.tar.xz 106720 BLAKE2B 788735757dd4cf8c1d9fe09350eaf4780b1e90f1e1d9bf39c98ee03255b9b84847a387402940d1a05e4be2b8684688216ea62f564c40715cd6ccf4bebaeebdc0 SHA512 ec8c0989bff2008e6df0c43a8e833fb4f463993eacb1cbdd11722a6c49bb400804c80f74ac0073883a050f352a65d2743c4aebc882a2cd7db369a4e214a95701
 DIST mutt-gentoo-1.13.4-patches-r0.tar.xz 36084 BLAKE2B 80f508d55199b036d7ba2a5b848dc99a4d60acea5edbc5b582472ee61c89f477fe613c043c6abf6fd4c9ef6c70acc0c656c2e93430b2fbce0aa39a8e0a0ef480 SHA512 775b22b667d67d1ddc9b2c15d208c52f00bc8e42cabc2985eb5f2983589476d5fc6eaab38230aeafd7e4dbcb6165eef33ea2d5721cc973d406ca4f736afd4c32
+DIST mutt-gentoo-1.13.5-patches-r0.tar.xz 35932 BLAKE2B 7f4488e6478ba2a2593a58d9905fd8cb857d95a7c05dd90d7d08843bafc060c0560fc5061a85a0a91baf063f055139fa09e5a54ea353e0118418f73baa333928 SHA512 1ddad0550a9bc772247d5ca468efd044c9eeccb497cbe391b19382d598fd0ec8dbdb3d34d4297cc5cd3a8ff43c881155a5874db24e89c0f2a4702b6e0ba4f0d9
diff --git a/mail-client/mutt/mutt-1.13.5.ebuild b/mail-client/mutt/mutt-1.13.5.ebuild
new file mode 100644 (file)
index 0000000..ad8d65d
--- /dev/null
@@ -0,0 +1,268 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="6"
+
+inherit eutils flag-o-matic autotools
+
+PATCHREV="r0"
+PATCHSET="gentoo-${PVR}/${PATCHREV}"
+
+DESCRIPTION="A small but very powerful text-based mail client"
+HOMEPAGE="http://www.mutt.org/"
+MUTT_G_PATCHES="mutt-gentoo-${PV}-patches-${PATCHREV}.tar.xz"
+SRC_URI="ftp://ftp.mutt.org/pub/mutt/${P}.tar.gz
+       https://bitbucket.org/${PN}/${PN}/downloads/${P}.tar.gz
+       https://dev.gentoo.org/~grobian/distfiles/${MUTT_G_PATCHES}"
+IUSE="berkdb debug doc gdbm gnutls gpgme +hcache idn +imap kerberos libressl +lmdb mbox nls pgp-classic pop qdbm +sasl selinux slang smime-classic +smtp +ssl tokyocabinet vanilla prefix"
+# hcache: allow multiple, bug #607360
+REQUIRED_USE="
+       hcache?           ( || ( berkdb gdbm lmdb qdbm tokyocabinet ) )
+       imap?             ( ssl )
+       pop?              ( ssl )
+       smime-classic?    ( ssl !gnutls )
+       smtp?             ( ssl sasl )
+       sasl?             ( || ( imap pop smtp ) )
+       kerberos?         ( || ( imap pop smtp ) )"
+SLOT="0"
+LICENSE="GPL-2"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris"
+# yes, we overdepend on the backend impls here, hopefully one day we can
+# have REQUIRED_USE do what it is made for again. bug #607360
+CDEPEND="
+       app-misc/mime-types
+       virtual/libiconv
+
+       berkdb?        ( >=sys-libs/db-4:= )
+       gdbm?          ( sys-libs/gdbm )
+       lmdb?          ( dev-db/lmdb:= )
+       qdbm?          ( dev-db/qdbm )
+       tokyocabinet?  ( dev-db/tokyocabinet )
+
+       ssl? (
+               gnutls?    ( >=net-libs/gnutls-1.0.17:= )
+               !gnutls? (
+                       libressl? ( dev-libs/libressl:= )
+                       !libressl? ( >=dev-libs/openssl-0.9.6:0= )
+               )
+       )
+
+       nls?           ( virtual/libintl )
+       sasl?          ( >=dev-libs/cyrus-sasl-2 )
+       kerberos?      ( virtual/krb5 )
+       idn?           ( net-dns/libidn2 )
+       gpgme?         ( >=app-crypt/gpgme-0.9.0:= )
+       slang?         ( sys-libs/slang )
+       !slang?        ( >=sys-libs/ncurses-5.2:0= )
+"
+DEPEND="${CDEPEND}
+       net-mail/mailbase
+       doc? (
+               dev-libs/libxml2
+               dev-libs/libxslt
+               app-text/docbook-xsl-stylesheets
+               || ( www-client/lynx www-client/w3m www-client/elinks )
+       )"
+RDEPEND="${CDEPEND}
+       selinux? ( sec-policy/selinux-mutt )
+       smime-classic? ( || ( dev-libs/libressl >=dev-libs/openssl-0.9.6:0 ) )
+       pgp-classic? ( app-crypt/gnupg )
+"
+
+src_prepare() {
+       local PATCHDIR="${WORKDIR}"/mutt-gentoo-${PV}-patches-${PATCHREV}
+
+       if use !vanilla ; then
+               # apply patches
+               export EPATCH_FORCE="yes"
+               export EPATCH_SUFFIX="patch"
+               # http://hg.code.sf.net/p/gentoomuttpatches/code/file/mutt-1.10
+               local patches=(
+                       patches-mutt
+                       bugs-gentoo
+                       features-common
+                       features-extra
+                       gentoo
+               )
+               local patchset
+               for patchset in "${patches[@]}" ; do
+                       [[ -d "${PATCHDIR}/${patchset}" ]] || continue
+                       einfo "Patches for ${PATCHSET} patchset ${patchset}"
+                       EPATCH_SOURCE="${PATCHDIR}"/${patchset} epatch \
+                               || die "patchset ${patchset} failed"
+               done
+               # add some explanation as to why not to go upstream
+               sed -i \
+                       -e '/ReachingUs = N_(/aThis release of Mutt is heavily enriched with patches.\\nFor this reason, any bugs are better reported at https://bugs.gentoo.org/\\nor re-emerge with USE=vanilla and try to reproduce your problem.\\n\\' \
+                       main.c || die "Failed to add bug instructions"
+       fi
+
+       local upatches=
+       # allow user patches
+       eapply_user && upatches=" with user patches"
+
+       # patch version string for bug reports
+       local patchset=
+       use vanilla || patchset=", ${PATCHSET}"
+       sed -i -e 's|"Mutt %s (%s)"|"Mutt %s (%s'"${patchset}${upatches}"')"|' \
+               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"
+}
+
+src_configure() {
+       local myconf=(
+               # signing and encryption
+               $(use_enable pgp-classic pgp)
+               $(use_enable smime-classic smime)
+               $(use_enable gpgme)
+
+               # features
+               $(use_enable debug)
+               $(use_enable doc)
+               $(use_enable nls)
+
+               # protocols
+               $(use_enable imap)
+               $(use_enable pop)
+               $(use_enable smtp)
+
+               $(use  ssl && use  gnutls && echo --with-gnutls    --without-ssl)
+               $(use  ssl && use !gnutls && echo --without-gnutls --with-ssl   )
+               $(use !ssl &&                echo --without-gnutls --without-ssl)
+
+               $(use_with sasl)
+               $(use_with idn idn2) --without-idn  # avoid automagic libidn dep
+               $(use_with kerberos gss)
+               "$(use slang && echo --with-slang="${EPREFIX}"/usr || echo a=b)"
+               "$(use_with !slang curses "${EPREFIX}"/usr)"
+
+               "--enable-compressed"
+               "--enable-external-dotlock"
+               "--enable-iconv"
+               "--enable-nfs-fix"
+               "--enable-sidebar"
+               "--sysconfdir=${EPREFIX}/etc/${PN}"
+               "--with-docdir=${EPREFIX}/usr/share/doc/${PN}-${PVR}"
+               "--without-bundled-regex"     # use the implementation from libc
+               "--with-exec-shell=${EPREFIX}/bin/sh"
+       )
+
+       if [[ ${CHOST} == *-solaris2.* && ${CHOST#*-solaris2.} -le 10 ]] ; then
+               # arrows in index view do not show when using wchar_t
+               # or misalign due to wrong computations
+               myconf+=( "--without-wc-funcs" )
+       fi
+
+       # note: REQUIRED_USE should have selected only one of these, but for
+       # bug #607360 we're forced to allow multiple.  For that reason, this
+       # list is ordered to preference, and only the first is taken.
+       local hcaches=(
+               "lmdb"
+               "qdbm"
+               "tokyocabinet"
+               "gdbm"
+               "berkdb:bdb"
+       )
+       local ucache hcache lcache
+       for hcache in "${hcaches[@]}" ; do
+               if use ${hcache%%:*} ; then
+                       ucache=${hcache}
+                       break
+               fi
+       done
+       if [[ -n ${ucache} ]] ; then
+               myconf+=( "--enable-hcache" )
+       else
+               myconf+=( "--disable-hcache" )
+       fi
+       for hcache in "${hcaches[@]}" ; do
+               [[ ${hcache} == ${ucache} ]] \
+                       && myconf+=( "--with-${hcache#*:}" ) \
+                       || myconf+=( "--without-${hcache#*:}" )
+       done
+
+       if use mbox; then
+               myconf+=( "--with-mailpath=${EPREFIX}/var/spool/mail" )
+       else
+               myconf+=( "--with-homespool=Maildir" )
+       fi
+
+       econf "${myconf[@]}"
+}
+
+src_install() {
+       emake DESTDIR="${D}" install
+       insinto /etc/${PN}
+       if use mbox; then
+               newins "${FILESDIR}"/Muttrc.mbox Muttrc
+       else
+               doins "${FILESDIR}"/Muttrc
+       fi
+
+       # include attachment settings, it's mandatory and shouldn't harm
+       # when not being referenced (index_format using %X)
+       {
+               echo
+               echo "# mandatory attachments settings, not setting these is a BUG!"
+               echo "# see https://marc.info/?l=mutt-dev&m=158347284923517&w=2"
+               grep '^attachments' "${ED}"/etc/${PN}/Muttrc.dist
+       } >> "${ED}"/etc/${PN}/Muttrc
+
+       # add setting to actually enable gpgme usage
+       if use gpgme ; then
+               {
+               echo
+               echo "# this setting enables the gpgme backend (via USE=gpgme)"
+               # https is broken due to a certificate mismatch :(
+               echo "# see http://www.mutt.org/doc/manual/#crypt-use-gpgme"
+               echo "set crypt_use_gpgme = yes"
+               } >> "${ED}"/etc/${PN}/Muttrc
+       fi
+
+       # A newer file is provided by app-misc/mime-types. So we link it.
+       rm "${ED}"/etc/${PN}/mime.types
+       dosym ../mime.types /etc/${PN}/mime.types
+
+       # 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"
+
+       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() {
+       if [[ -z ${REPLACING_VERSIONS} ]] ; then
+               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 "   https://wiki.gentoo.org/wiki/Mutt"
+               echo
+       else
+               ewarn "The nntp and notmuch patches were dropped from this release."
+               echo
+               elog "Due to too much maintenance cost, the nntp and notmuch patches"
+               elog "were dropped from this release.  If you need support for any"
+               elog "of these features, please consider using mail-client/neomutt."
+               echo
+       fi
+       # try to warn user in case none of the crypto flags appear enabled
+       if use !pgp-classic && use !smime-classic && use !gpgme ; then
+               ewarn "Please note that crypto related USE-flags of Mutt have changed."
+               ewarn "To comply with PMS, the following USE-flags were renamed:"
+               ewarn "(see https://bugs.gentoo.org/695078)"
+               ewarn "  pgp_classic   -> pgp-classic"
+               ewarn "  smime_classic -> smime-classic"
+               echo
+       fi
+}