forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
mail-client/mutt-2.0.0: version bump
Package-Manager: Portage-3.0.8, Repoman-3.0.2 Signed-off-by: Fabian Groffen <[email protected]>
- Loading branch information
Showing
2 changed files
with
270 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,8 @@ | ||
DIST mutt-1.14.4.tar.gz 5007437 BLAKE2B 89d4327ddd86ec320c63db6ee9d3c07b7540a74aba7efdcb9605e5c5c242dec99fb5137d1cfc62fd4401e2af7589f03ebce78dfa2deae262aef408b804544656 SHA512 86484f009ca8bd1e26206694e03609a16f8a4e8c83620a07a4376fe160535a838e8c918a8a30799fb3d9cf46c059d67124f7425c42093fb5e5bf8ea4ac310daa | ||
DIST mutt-1.14.5.tar.gz 5008208 BLAKE2B a7c2f7f63d2ee23e743114315cbb40903db720de7f2836f551739edb0b78857c525c40ebde083064dd2430b89b21d7a17745dfc1185672f86b15a9a082c3778e SHA512 950c8df3bdc552b41ba6209aed8d5ade6fff80fe4018a75856d0fdbcd6389bd995a6dee69e7badd05a9b40d2e2293ada9a9f9a96632e88af36b61162f226e2b9 | ||
DIST mutt-1.14.7.tar.gz 5009968 BLAKE2B f729412d3da97fe9bd76733705317660edfa3858a9eb1012179fb289b03da58d79b6e261dbdc4ab8b001e89ca455e9972bab8f270bac28e887afc7e0bd9fc8c1 SHA512 dc9739b5f0a99ca70fcbd495c71fbead23e3481f9c9e426feb827997c9c42e5f28355084f54788820c96a079dedb649fcc20e69436fb3c4df7e46f372b533e7c | ||
DIST mutt-2.0.0.tar.gz 5287742 BLAKE2B d45cae45e560548a3f278972e7bff820c860b194f06286a4e2c456141e7d421b1812f423e31594d0c4b0c82c8c9f597498888a8e127d41b8c172a5319a23cc8e SHA512 2f48bf7eb9bb79a477e3fb9bf4bcde6033d7aaa8922eee20b6e6a05f49a1aea152a7987b99f335343175d87180062064c90c5a7b5bfa82aed188eeab0ac4a90b | ||
DIST mutt-gentoo-1.14.4-patches-r0.tar.xz 31124 BLAKE2B a9774a5bb5af18a275f7ea171cb08a12a98d63cbff57320d5d3fb4f995aac16f409689ac0015f3b5d37cfc20004c9fca72a3f63663aaa679a129d5f3886bc5cc SHA512 05506399a471c262479db88ef11d2a95d79598fd696fe50de5f5c1c3cae5adf30a2806a1500ba94a62bcbf7deed99acc59a8afb903f50169e41b77010e0ad8cc | ||
DIST mutt-gentoo-1.14.5-patches-r0.tar.xz 31100 BLAKE2B 14525b54afa1414667ebe2dc0c58b9b5d5ad4dcc5dbae3c5db13cc23d33dbd9434fa929ad297625c891b2d690e34729a4f61c526fb94857e271ac85f5a07488e SHA512 fd8e473efa02e412aeaba258afee6dc02f9ca24f9edff643e4ef53c759a091e54c6a544e39cd7faa94cd680546bfcf845e282638045ae65a88d140ebb03a4631 | ||
DIST mutt-gentoo-1.14.7-patches-r0.tar.xz 31144 BLAKE2B 5a9806dec79f8a991e39464afde1faf2ba988e67ffd85ec16943432a83ee1d05ddcb839095a475ab56aa80a4bbe25de58835d6bde84c0c95e4487df139e16e82 SHA512 ca57af137bc5a2663724cb97a7ea04e4d62b2fe8a3864489f15552ef361c1fb8c881ebc783a4f3a6d82c5e9bb45e83fbe6cad59158c831c54361729ada24b458 | ||
DIST mutt-gentoo-2.0.0-patches-r0.tar.xz 26396 BLAKE2B 80db2456871208050e5cccbd8ba22024dc45ffc69e9b8cbb892904010f0521061f0755f62984502c2cee58bb74aa0c30fafa4613709d2e8a6d0fe291bbc86e27 SHA512 f9b8f9abded13de54d7fcf991d58fa45e68d6e059c807dcca1530bdb927d7301faa30e31798e5a3f2d25504cb9db81dfa26f8cde3946a14f540f54955add2828 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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="autocrypt 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 ) ) | ||
autocrypt? ( gpgme )" | ||
SLOT="0" | ||
LICENSE="GPL-2" | ||
KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~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:= ) | ||
autocrypt? ( >=dev-db/sqlite-3 ) | ||
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" | ||
|
||
# https://gitlab.com/muttmua/mutt/-/issues/294 | ||
sed -i -e 's/u_int32_t/uint32_t/g' mutt_random.c || die | ||
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 autocrypt) $(use_with autocrypt sqlite3) | ||
$(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 || use autocrypt ; 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 | ||
|
||
# similar for autocrypt | ||
if use autocrypt ; then | ||
{ | ||
echo | ||
echo "# enables autocrypt (via USE=autocrypt)" | ||
echo "# see http://www.mutt.org/doc/manual/#autocryptdoc" | ||
echo "set autocrypt = 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 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 | ||
fi | ||
} |