From 4ed08d8150e512a92931542844b963a0739cfd28 Mon Sep 17 00:00:00 2001
From: Fabian Groffen <grobian@gentoo.org>
Date: Mon, 30 Mar 2020 09:17:20 +0200
Subject: mail-client/mutt-1.13.5: version bump

- 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           |   2 +
 mail-client/mutt/mutt-1.13.5.ebuild | 268 ++++++++++++++++++++++++++++++++++++
 2 files changed, 270 insertions(+)
 create mode 100644 mail-client/mutt/mutt-1.13.5.ebuild

(limited to 'mail-client/mutt')

diff --git a/mail-client/mutt/Manifest b/mail-client/mutt/Manifest
index 2a726abed651..3c1a869e3d53 100644
--- a/mail-client/mutt/Manifest
+++ b/mail-client/mutt/Manifest
@@ -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
index 000000000000..ad8d65ddb60b
--- /dev/null
+++ b/mail-client/mutt/mutt-1.13.5.ebuild
@@ -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
+}
-- 
cgit v1.2.3-65-gdbad