Skip to content

Commit

Permalink
mail-client/mutt-1.13.5: version bump
Browse files Browse the repository at this point in the history
- 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 <[email protected]>
  • Loading branch information
grobian committed Mar 30, 2020
1 parent 4b1862f commit 4ed08d8
Show file tree
Hide file tree
Showing 2 changed files with 270 additions and 0 deletions.
2 changes: 2 additions & 0 deletions mail-client/mutt/Manifest
Original file line number Diff line number Diff line change
@@ -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
268 changes: 268 additions & 0 deletions mail-client/mutt/mutt-1.13.5.ebuild
Original file line number Diff line number Diff line change
@@ -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
}

0 comments on commit 4ed08d8

Please sign in to comment.